OK, I guess we'll get started now. So I'm Matt Trinich. I'm the QA Ptl. I work for HP on making OpenStack better for basically everyone. And I'm Andrea Frittoli. I'm on the QA team for OpenStack as well. And I work for HP. I'm responsible for QA for our Helium OpenStack distribution. And we're going to be talking today about the external plug-in interfaces we have in many of the OpenStack QA projects. So we'll just get into it. Yeah, so we are from the OpenStack QA team. So just quoting our mission statement, what is our team about. We care about OpenStack quality stability throughout the cycle at any point during the cycle. So we work and develop new tools, to maintain existing tools that are used for that, basically, so that the entire ecosystem can ensure quality throughout the cycle. We have a number of different projects that we care about. A few of them, they are related to syntax check tools, like Bash8, or hacking, or as laying the config as OpenStack. Yeah, for JavaScript. Yeah, for JavaScript. It's relatively new. Yeah, it's brand new. We have tools for setting up the test environment, deploying your cloud, like the DevStack or the DevStack Vagrant for the two nodes. It's relatively new as well. We have actual testing tools and frameworks, like the Tempest. Tempest leaves a library for building your own test, grenade for upgrade testing. And finally, we have tools that are focusing on the analysis, post-processing, and visualization of the test results, such as StackV, OS, TestStar, and the new OpenStack Health dashboard. So before we go into what the plugins are and how they work, how we use them, I thought it would be good to explain some of the rationale behind why we decided to go to a more modular approach for a lot of our QA projects. And to really talk about that, we have to talk about what QA was probably two years ago, a year ago even, and that our scope would be we would directly support all incubated and integrated OpenStack projects. And this worked great for five projects. When we got to 10, we started to see some of the things starting to get stretched thinly. So just to show the number of OpenStack projects over time, this shows releases and which projects were incubated, integrated, or existed, and were neither. And QA is a thing starting around Essex and was formalized during Grizzly, I think. Maybe it was Havana, but whatever. But you can see that we started with a small group, and then things started to grow really quickly, really fast. And the number of projects we had to directly support in tree was anything that was green or blue. And at Ice House, that's quite a lot. And it's a relatively small team. And we started seeing we couldn't keep up with the pace of things coming in. It was too difficult as an open source project to basically have a traditional QA approach, where the QA team is dictating the final steps for every project. It's something that just doesn't scale in an open source community like OpenStack. Another way to illustrate this, I find, is looking at tempest tests over time.  But it's just showing you the trend that there are some projects that have a lot of tests, and then at that bottom, there are a ton that have nothing. I find that's a good way to illustrate how we fail to scale after a certain point of doing everything by ourselves in one repo. And eagle-eyed people will notice that grizzly is missing. That's because it was impossible to run. So and then the next thing that happened was the big tent. And our previous scope completely went out the window. And the amount of projects that came in grew very rapidly. I think we've added about a dozen in one cycle. And we couldn't scale at what we had before in opening the floodgates to everyone just didn't work. So we had to come up with a new approach to doing the QA project in the open source community. And what we decided to do was QA will still support that direct base, those five core projects. Because that's what most of these OpenStack projects depend on, having that core infrastructure as a service with Nova Keystone Glance. And it's very important to ensure that that works. Because nothing else in this large ecosystem under that flaming tent will work, unless that core layer is there. But to support those other projects, to let them control their own destiny and do what they want, and ensure that they have the right level of quality they're looking for, we provide stable plug-in interfaces where it makes sense so that they can expand the core tooling that we're using on that base layer to include anything else in the wider ecosystem that we want. And we found that this fits the growth pattern in OpenStack because it's exponential. I don't think there's another trend that fits it. It's a much better fit. And it's also a better fit for the open source philosophy where people can do what they need to do. It's freedom. People have the ability to use these plug-in interfaces if they want to, but they don't have to. And we're upfront and honest about whether they're using them or not. And that's really how we ended up getting to these plug-in interfaces. For today, the current definition of that core set from the QA team perspective is Keystone, Nova, Glance, Cinder, Neutron, and Swift. These are the projects that we eventually want to be the only ones that are in tree direct support. So in Tempest, the only test in the Tempest tree will be for these projects. For DevStack, the only things in the DevStack tree will be for these projects. Any other projects that fall outside of this will be in a plug-in. And we advertise the plug-ins and make it as easy to run the plug-ins. And so that's a little bit about where we were and how we got to where we are today. And granted, this is still new, so we still have things in tree that we need to decompose into plug-ins still. That being said, I thought we should dig into going over different plug-ins. So, Andrea? Yeah, so there are three different projects that we support, like plug-ins framework. The first one is DevStack. So DevStack plug-ins actually serve kind of three different functions. So there are three different types, if you will. One is, I have my project. It's not one of the core six. And I wanted to actually be deployed in DevStack as part of the cloud that I'm deploying there for testing. And with the plug-in, I can hook my project into the deployment process. The other one is actually using different configuration in DevStack or in one of the existing services, like a custom driver, like a different hypervisor in Nova or different Cinder backend or so forth. Or some networking do that. Yeah. Yeah, there are quite a few of those. And there is a third use case that is deploying some service which relies on the cloud that was deployed by DevStack, so something that runs on top of the cloud. One example for which we have a plug-in is NotePool. So NotePool is a system, a tool which is used by OpenStack Infra to allocate test node from cloud. So to have a development environment for NotePool, you need to run NotePool and connect it to some cloud. So with the DevStack plug-in, you can set up a DevStack with a running cloud and a NotePool instance that is configured to work with the cloud that was deployed there. So what's the plug-in, in fact? It's several bits of bash code, in fact. And it is leaving outside of the DevStack tree. So it's maintained in a different project by the team responsible for it. It's called by DevStack by a strong contract. And yeah, so there is a registry of plug-ins which is maintained by the community. It's actually not so up-to-date. It's kind of stale. Right, and yeah, so you can see in the registry, there are probably 20 plug-ins or so. But this graph shows that what the actual plug-ins implemented since the beginning of the year until now. So we have quite kind of linear growth. It's basically linear, except for at Summit. Yeah, exactly. We were looking at it. It was like, oh, what's that? Oh, it looks like Vancouver. Yeah, so we have 57 different plug-ins right now, which is quite impressive. Yeah, I think quite impressive growth. So if you want to write your own plug-in, how do you go about it? So there is a cookie cutter project you can use to set up your basic template and files. So you don't have to use it, but I think it's quite useful. So I would recommend it. And it makes it easier also for people looking at a goal. They find things in the place they expect to be, and so forth. And there are two main areas that make the plug-in. One is the settings file, where the global variables are defined. This is a file which is sourced pretty early in the stack process. So if you want to impact the way the variables that are used in the DevStack process before your code is actually executed, you can set variables there and affect the behavior there. And the other part is the plug-in file, plug-in.sh. And there you implement the hooks for the different phases of the stack process as well as unstack and clean. If you use the cookie cutter, it actually creates a file for you in a lib folder where you have a template for all the functions that you need to implement to get your plug-in done apart from the settings. So you have the pre-install, install, and configure, and init are the four phases where you can intervene during the stack process. So you can have installation of West-level packages. You can have installation of your service if it is an open stack service that you're installing. Configuration and the init or extra is setting. If it's an open stack project that relies on a database, typically you do things like setting up the scheme of your database. Or Keystone, you have to do that admin token song and dance to that kind of thing. Right. And start your service. Shutdown is for shutting down when you do the unstack and clean up for removing everything. Yeah. Uninstalling stuff and everything. So the second project where we implemented plug-ins is Tempest. Tempest plug-in allow you to discover and run a set of tests that are maintained outside of the Tempest tree. And they allow you to combine the configuration option you get in Tempest, originally from the core Tempest, and configuration options that you may need for your plug-in and the access to both of them in your test code. We use Thiefdoor, their extension manager for discovery. So you just need to install your plug-in and then install Tempest. And Tempest will discover your plug-in. And the test code that you write should be built on top of Tempest lib. It doesn't have to be, but it helps make things a lot easier if it's using the same testing framework underneath. And yeah. This is where we are in terms of Tempest plug-ins. So Manila opened the way and the Tempest plug-in for Manila was the first one to be developed. It was the first one, yeah. And then we had three more ones, three more that were developed in the meantime. So Sahara, Congress, and Monasca one. It doesn't look like DevStack yet, but it was not nearly as impressive as the DevStack graph. Much more newer. And if you want to write your own Tempest plug-in and make that graph look nicer in the cycle. So there is a cookie cutter. Again, it's nice to use it because you get all the folders. And you don't have to, but I recommend using it. You can, again, host your plug-in code within the tree of your project if you want. You can have a dedicated repository. You don't need to do that. I mean, you can either. So how do you write your plug-in? So you have to extend the Tempest plug-in class from Tempest, which, yeah, it lives in Tempest at the moment. We might move it to Tempest Sleep in future, probably. Probably because it's a stable interface. That's what Tempest looks for. Exactly. So when you go and implement your plug-in, just check if it is moved to Tempest Sleep. Well, we'll have a backwards compatibility if we ever do move it to ensure that it works for legacy plugins. But it was just done in Tempest because we were evolving it organically. And that's what the Tempest we do that. And Tempest Lib is more for stable interfaces. Exactly. And then you have to implement the abstract methods for config option discovery and test discovery. If you do base your code on Tempest Sleep, you might find that if not everything that you need is in Tempest Sleep yet, well, feel free to contribute Filabag and help us migrate the things that you need from Tempest into Tempest Sleep and make them stable interface because that's what we're working on. But I mean, if you see some, yeah. It's a lot of work to stabilize the interfaces we have in Tempest because a lot of things weren't written assuming external consumption. So it takes some effort. And there are still gaps to write a good external test suite using Tempest Sleep. And we need to fill those. So if you're writing a plugin and you find gaps, you file a bug, push a commit, help us out with the migration. Right, of course, set up CI for it.  So this is how the Tempest plugin class looks like in Tempest. So there is a load test method that you need to implement, which is used by the plugin mechanism to discover the test. So when Tempest actually runs the test discovery phase, it uses the information, the path that you provide via this method to go and discover the test that you provided in your plugin. And there are two more methods, the register options that is invoked when Tempest is setting up its own config to make it available to test. So it will register the extra option that are defined by your plugin and make them available to the tests. And the get opt list. This is used when the Tempest conf is generated. So the mechanism that generates the Tempest configuration file on the fly requires a list of the option available. So if you install Tempest and do a Tempest in it in a folder to get your sample config there with some config preceded, you need to implement these so that it will contain all the options that you need for your plugin configuration. And the last project that we have a plugin interface implemented on is Grenade. Grenade is the upgrade test suite, which, for those who don't know, takes a stable branch of DevStack, deploys a cloud with it, then shuts down that DevStack after running tests on it and creating some resources, and migrates to a newer version of all the projects that it just deployed and starts them up using the old configuration files and checks that everything worked. So we have Grenade plugins to enable running upgrades on projects that aren't in the Grenade tree. It also enables adding additional services to the old DevStack. It gives you a phase where you can call plugins to add them to the old DevStack. And it also allows you to plug the resource creation phase. There is a phase after DevStack old is deployed that creates resources that are supposed to survive the migration. We use that to create a couple of servers, a sender volume, images. So we ensure that upgrading your cloud doesn't nuke all of your running instances, because that's kind of important. This is even less impressive of a graph. We've only got three plugins right now for Grenade. Grenade is one of those projects that a lot of people don't really know what it does, don't really know how it works. And it only applies to services, because those are the things we do the upgrade testing for. And so right now it's heat, salamander, and Sahara, which are actually things that were missing Grenade tests completely, because those teams, we didn't have the review bandwidth. There are three reviewers for Grenade. Used to be four, now there are three. And we didn't have the bandwidth to review every project's upgrade procedure. And these projects also didn't have interest in contributing. So now they can control their own upgrade story, which is really useful. The process for writing a Grenade plugin is a bit more involved than the other ones, because there's a lot of different stages that go on. And I just realized I put this in a bad order. But let's start with settings, which is in the middle. So settings is used to register any DevStack plugins that you want to deploy on the old side when you first spin up the cloud. So the typical way this works for the other projects, salamander has a DevStack plugin. They call that DevStack plugin to deploy salamander on the old side. And settings just sets the local RC file option to use that plugin. Then you also have to register the service to be upgrade tested, which tells Grenade to call the hooks in the other scripts that are listed here. So upgrade.sh is exactly what it sounds like. It's used to do the migration of the code repos that were deployed on old, and also rerun SQL database migrations or any other mandatory steps for every migration across every release. Shutdown.sh does exactly what it sounds like. If you write the bash code to shut down the service you've deployed, because you can't upgrade unless you shut it down. We don't. Different story. Resources.sh has the hooks to do the create resource, the check resource, and the tear down resource, which is the resources phase that I described a little while ago, where it will create a resource after old is deployed. Then in the middle of the upgrade, it will do check resource, and then it will check again after the upgrade to ensure that during each stage of the upgrade, you're not losing your VMs, losing your alarms, or whatever plug-in resources your service creates to ensure that it works. And then at the end, you want to make sure you don't leave anything dangling, so it bleeds them. And there are hooks in all of these. And then the last thing is a little weird. There are certain cases that should be rare. They actually kind of are, which is good, where you need to do a manual step for migration. If there's a backwards incompatible change in a configuration file, or a policy file, or something with the way the service is deployed, and you have to do an extra step as part of an upgrade, there is a provision in grenade plugins to call that. You create a directory that's from release, so from Kilo, from Icehouse. And you put your script in there, and that will be called as part of the upgrade when you're upgrading from one branch to the next. And as part of grenade entry, we're very strict about allowing that. You're never supposed to do that. It's a very severe exception, because the theory of upgrade we have in OpenStack is that you can use the old configuration, and all you need to do is copy the new code in, and run the database schema migrations to ensure your database is up to date, or whatever data store your random project is using. So anything besides that is not a good experience for operators, and we don't want to make that common practice. So when you write a plug-in for grenade, you should never do this unless you're very careful about documenting it, because it's not good for our users. And with that, we're to get some more information about things. So there's Tempest official documentation. That's up on docs.openstack.org. DevStack has a similar plug-in doc. Grenade has a similar plug-in doc. I just realized when I created these, I did one, them all plural except for Tempest, which I don't know why I did that. And then you can also reach out to the mailing list to ask questions, or if you have specific issues that you have around these plug-in interfaces. And also OpenStack QA channel on FreeNode, always willing to help people with writing plug-ins, questions about plug-ins, or anything else related to OpenStack QA. And with that, we're going to go to questions. We left a lot of time for questions, I think. There's a mic here. It's on, so just pass it to him, please. Thanks. Could you talk about the DevStack gate and how does the plug-in architecture enhances or changes the configuration that we need to make in the OpenStack infras, the Jenkins jobs on the DevStack gate? So to do that, you actually don't have to do anything in DevStack gate. In your job definition in Jenkins job builder, there is an option, I forget exactly what it's called, but it lets you pass through variables to your local RC when DevStack is run eventually as part of DevStack gate. You say enable plug-in and your Git repo for the plug-in. And that's it. It's a Jenkins job builder change. So as part of the self-service model and letting people do what they need to do to ensure quality of every project, it's self-contained when you add the job. When you push the change to project config to add a job that uses your plug-in, you just add this one line to it and your plug-in will just work. And there are plenty of examples everywhere for it because there's 57 plug-ins. Are there any other questions? There's one back there if you can just pass the mic, that'll. So I have two questions. One is any test that uses the Tempest plug-in as a base class is good to go as a Tempest plug-in, right? It will be discovered and... Yeah, the Tempest plug-in interface is just for anything external. It doesn't actually have to be a Tempest test. It's anything that complies to the Python unit test spec. It will be loaded as part of Tempest and then configuration will also be loaded as part of Tempest. So when you run Tempest and you have the Tempest plug-in installed, it will be seamless, except you'll see instead of Tempest.something being run, it'll be TempestPluginName.whatever. Okay, so one example, if we talk about the Trove project, if there's Tempest tests for Trove project and they would go in the Trove repository as plug-ins. It can go in the Trove repository or it can go into a separate repository for Trove Tempest tests. There are actually a lot of advantages to doing that by decoupling the tests with the code that enables testing the API across releases much more easily. We do that in Tempest entry. It's called branchless Tempest, that's what we call it, and that enables us to ensure API consistency between releases. If you include the tests in your code, you have to make sure that you always check out master even on stable branches if you're testing interoperability between releases. So there are advantages to doing it in its own repo. There's also install time benefits. You can have separate requirements and things like that because it's all Python install, but you don't have to do it in a separate repo. You can wait. Thanks, no problem. There are any other questions? One right there, just pass the mic down. Configuration, so if we're adding a bunch of tests as a plugin that have extra configuration values that are outside of what Tempest has, is that part of the plugin architecture? Yes. To normalize the configurations? So. I might have just missed it if I didn't apologize. So there are these two options.  That makes sense, you just extend it with whatever your own configuration. And then get ops list is for the Oslo sample config generator. It expects a tuple, a list of tuples with the group name and the object list or the group, the object options and that gets returned and then when you call the sample config generator either independently or as part of Tempest in it, that'll include all of your extra options. Awesome. And this works with arbitrary number of plugins too. So. And you can have your dedicated group of options so you can reach existing groups. Like if you want to add to the service available, say your service. No, that makes sense. Thank you. There's a question in the back if you can. I think it's for the video. So I'm just curious what was or is the use case for the per-police manual steps since they're highly discouraged, but they're still there for people to use? There are rare exceptions when there's a backwards incompatible change that has to be done. I don't remember any examples off the top of my head, but the procedure we use for doing it, I think there have been some keystone examples in the past related to like how they do some initial configuration stuff, for example, but the rule we use for the grenade entry is that you have to have PTL sign off from the project and you have to have it mentioned in the release notes already. Because it's not friendly to operators to expand on just updating the database schema and the code. Thank you. Yeah. Okay, are there any other questions? There's one right here. If you can just pass it forward to them. So I remember that sometimes ago we had a conversation about keeping only in the tempest tree scenario-like tests. And now you mentioned the C-score projects that we continue to live in the tempest tree. My question is if I'd like to push a brand new test that is only probing one project, is it better to put it in one of the core project timing? Is it better to push it in tempest or to push it as a functional test in the project itself? That's a tricky question because there's no hard and fast rule. There are advantages to doing it in either. Part of the reason we have those six core projects in tempest is because tempest is a self-contained test suite that can run against any cloud. And there are actually really strong advantages to that because it's black box only and it lets anyone validate any cloud anywhere. Functional tests don't give you that advantage, but they give you the advantage of being able to do more than black box. You can do some gray box or white box testing where you probe the internals. It also allows you to evolve things more rapidly at the same time you're adding features or fixing bugs in a project. And you have to weigh the weight of being in tempest. It's a little bit more heavy weight because it runs against all of the projects. And then there's also implications for people who run outside of the gate. They run it against their own clouds. You have to weigh that against how efficiently you can do it in tree and the advantages there. And some duplication is actually okay. It's actually expected for very important APIs and things like that. That answer your question. I know it's a bit nebulous and not exactly clear, but... Yeah, thank you. There any other questions? I don't know. How much time do we have left? 10 minutes? Okay, well, quite fast. Another question over here. Ref stack. Ref stack. Where does ref stack integration occur? I have... I don't think there's a session on it or I don't know if there's a session on it. Ref stack, for those who don't know, is a wrapper around Tempest to run tests for Def Core, Interop and Trademark. I don't... I have my personal opinion on it, which is part of the reason we have those six core projects in Tempest is because partly because of Def Core. We want everything to be in one repo. We don't want people to install and have to worry about plugins and configure it. I totally agree with you. There's a lot of political pushback because Def Core is a very political thing, you know? And a lot of projects, I won't name any names, want to control their own tests. And they want to leverage plugins. I'm opposed to that because there's value in keeping it separate, value in keeping it self-contained and keeping it simple for users because it's complicated enough to run anything against a cloud, not just Tempest. And so that's my personal view. I don't know what the Ref Stack team wants to do. I don't know what the Def Core... Because Ref Stack's decision will be influenced by the Def Core committee and the Def Core committee will do whatever they want, regardless of what I say. So... It's definitely not in this session, but I've expressed my opinion quite vocally about this. They don't like listening to me because of how vocal I am. Yeah. Yeah. And part of the reason, you know, I said six for now is because that definition of what we consider core will change over time. It might shrink, it might grow. I don't know, but it's not set in stone. That's part of... So we want to be able to support the Def Core use case and other external opinions change over time. Are there any other questions? Well, if there aren't any other questions, I'll be... I guess I'll stand here for 10 minutes. We don't have to put it on video. That's all. I don't want to subject that out. There's... Oh, the slides are already posted. I have a link. It's a big image. I have a link right there on the bottom. They're on my GitHub. They're LaTeX for people who like LaTeX, but there's also a PDF package so you don't have to install Tech Live and learn how to compile LaTeX projects. I probably should have included a make file, but I can fix that. The test cases. In Tempest, it's not designed to be unique. It's designed to be idempotent. That's why it's called idempotent ID. It's designed to track things across renames. It's not designed to provide uniqueness. Uniqueness is guaranteed by the test runner already. The test names are always unique. The UUID on top is added for ensuring that the test is recognizable if we move a file or rename a test. Well, if you want to be included as part of the Tempest suite, which is very strictly black box API testing, an external cloud, it assumes there's a cloud deployed somewhere with your service and you hit it with API requests. If you want to be your functional tests entry to be included in that, you use a plugin. If they're lower level or something different and the assumptions they make about the environment are different or you don't see the value in being included in the wider Tempest test ecosystem, then there's no reason to add the plugin. It's there for projects that want to consume it, but there's no, you know, yeah. Which is the whole point about doing the plugin decomposition to enable projects to succeed with the tools we use upstream, but they don't have to if they don't want to. Are there any other questions? Darryl. All right, it looks like the Tempest, so everything just appears to be part. Is it possible to run tests from a plugin at the same time you're writing tests from, say, something core? Like, say, you wanted to run the core set of NovaTest plus some extended set that we're coming from plugin? Yes, that's actually exactly how it works. The way we use SteveDor is it will, when you install your Python package, you add an entry point to your setup config if you're using PBR or if you're not using PBR, you have to write a lot of setup tools code in your setup PY to add an entry point with the Tempest test plugin namespace and that will be loaded when Tempest does test discovery or the test runner does test discovery on Tempest. There's a load test hook which will look at all of the entry points and find all of the Tempest plugin entry points and then those that will call load tests, that load test method to return where the tests are and how to call them. And then when Tempest is executed, the test runner will treat all of those external tests as if they were entry. And so you can have as many plugins installed as you want and they'll all be running in parallel if you're running in parallel, they'll be run serially if you run serially. And because your plugin may include a client for your own service. So you can install multiple clients and you can even build scenario tests if you will which will rely on multiple services. So if you want to have a hit test which works with Manila or something else, so you can do that. Yeah, and that's the advantage of using Python packages is that we have the requirements file which as messed up as Python packaging is a dependency handling, you can at least declare dependencies between plugins to stack them. There any other questions? Nope, there's one right there. I don't even know where the mic went. Yeah, for the Tempest, they generate test list and load test list. So it's the same way as the right now it is or such like I want to just generate a test list which include both the entry Tempest test case and the external test case. And I want to run later with load test with the test list that would include both the entry and the external test. Is it still the same way that work as it? You can work it that way. So the way it will work is when you install the Tempest plugins, when you do Tempest list tests, it will list all the entry tests and all of the out-of-tree tests. And in your test runner, you can use whatever selection logic you want. You don't have to make two calls if you don't want to, but you can do that to run entry and out-of-tree separately, but they'll be treated as if they were all entry. Does that make sense? Yeah, yeah. Another thing is for the test report, it's the same things as everything that they generate in the Tempest.log and then we pass the log and get a HTML report. Yeah, so everything will be run as it is today with Tempest. It will just be loading tests from another repository. So for test results, you'll still have a subunit stream with all of the test IDs and all of the data that's in subunit. You'll have the output filters we use, the console output will look the same, the logging will be the same, assuming the plugin does logging, things like that. It should all work seamlessly, so it looks like it's part of Tempest. All right, thank you. Well, I feel kind of funny asking if there are any more questions after every question, but are there any more questions? Well, I guess if there aren't, we'll end here. Thank you, everyone. Thank you.


So I want to start this topic with a small story on the Chinese experiment. So for those of you who haven't heard about this experiment, let me give you a short story on this. So it seems that there's a philosopher called Searle who did a thought experiment like there's a person inside a room and that person doesn't know to read or write Chinese. And then somebody from the outside of the room, they're given a piece of text in Chinese language. And this person's job is just to see the shape and the symbols in the Chinese language, get the information from what's available within the room and all the information will be available in the room. And this person's job is to just find the text that's matching according to the input that they received and then finally give the corresponding output for that input text to the output window. So the person on the other end understands or assumes that the person inside the room understands Chinese, whereas in reality, the person is just identifying and matching shapes and it's processing the output, whereas that person doesn't have to understand Chinese at all. So this is the Chinese room experiment. And the whole AI, in my opinion, is kind of very similar. With that being said, like I said before, I'm Siddhartha Longogan and I'm currently a senior technical product manager at Amazon. And before going into the presentation, I want to give you a disclaimer that all of the opinions here are my own and doesn't reflect any of the current or previous organizations that I am and I was part of a little bit of a background about me. I come from India and the southern part of India, Chennai. I did my undergrad in College of Engineering in India and did my post-grad in MBA in Arizona State University. I love photography and I love motorcycle riding and I also love drawing and computer design. As you can see, that's the Lamborghini I drew using AutoCAD. So a very creative person, which is why I really love doing product management. I'm passionate about the space. The next thing, my journey to product management so far. So I'm basically a very creative person and I'm also very empathetic. Like I identify myself as an INFJ, the introverted intuitive feeling and judging personality. So these are my core traits and because of this, I really loved working on designs of software products and I started off with mobile applications, which made me start on designing delightful customer experience. So I was doing this back in 2014 for a mobile application startup back home in India. And eventually I slowly graduated to translating user stories to product features. I really enjoyed solving a customer's problem in that way and translating all the customer requirements, the features into clear documentation and then handing them over to the engineers. Really loved working collaborative with the designers and engineers. Now, as I moved to my next row, I took on bigger scope within the product management where I'm now not only writing requirements or the specifications for the product or feature, but I'm also now solving problems. What could be the best solution to solve a particular problem? So I was doing this for quite a while before my MBA, before I came to the US. And I really loved working with multiple product managers, where we basically brainstorm and discuss how to best design a particular feature. Given there are multiple teams, multiple product teams, multiple designer, engineer teams, et cetera. So I was doing that for quite a while and then now here at Amazon, my scope is much larger in terms of as a senior product manager here where I not only solve problems, but also discover problems, define what the problem is and then more importantly, prioritize what problems to solve.  So that's a pretty much a snapshot of how I started my product manager journey, almost like 10 years back and where I am right now. And it also speaks about the why I'm doing this, which will form a large part of a presentation today, which you will know in some time. So today's agenda. Today we'll be covering three key topics. The first one is the product manager's value proposition and product management, and then the AI value proposition and product management. And then finally, the product manager powered by artificial intelligence value proposition and product management. So let's get started. What is the product manager's value proposition today? And if you see, I've tried to summarize conceptually how the PM ladder looks like. Someone might start as an associate for a product manager.  A product leader can be a director, a general manager, a vice president or a chief product officer. Anything that requires you to lead a group of teams or organizations, I defined it under this bucket. So if you start from the left to right, you have the associate product manager who translate user stories to customer experience and product features, which is, if you recollect my product journey map, I was doing as the initial stage. And then as one grows in their PM skill and role, they start taking on more responsibility in terms of writing user stories and coming up with new features of how they can fit into an existing product or how they can launch a new product to meet a specific demand. And once you do product management for a while, now you become a much more senior product manager in the space and then you take on more experience, more responsibilities in your workplace and where you just don't solve existing customer problem but also identify new problems and products and then you also work on product strategy. So now having done all these things for a while, people grow to become the leader in the product space and in organizations where they not only take care of, they are dollarly managed products but they also manage people. So a typical product leader identifies problem where the problem is not even identified yet. They are required to have a three to five year strategy or a conviction on what's the next biggest thing that's gonna happen where the company can monetize on that. And then they also have to manage a portfolio of products and people and cross organizational teams. Now if you see one pattern in this whole map, you see that there's a lot of clarity in the left side of the ladder where most of the things that you get to work on are already preset and predetermined and predefined. So you just come in as an associate product manager or a product manager and execute. So you need to have really good execution jobs and then you keep delivering results. Now as you move along the ladder, you take on more ambiguity. That's why you see the far end of the product leadership is all about ambiguity and nothing is clear over there. And as part of your job, you are required to drive clarity from that ambiguity. So leaders, most of the times they get involved with the strategy definitions, the three year planning, the architectural planning, identifying problems, prioritizing problems and all those things where it is like completely ambiguous. There may be a thousand things that you can go and do, but you need to be laser focused on what you wanna do and how you wanna prioritize, which is best for the company. So let's take that map and apply it in my product management journey so far and I'll break down the different elements involved in the journey so far. So if you look at who I am basically, I'm a very creative person. I'm an empath. I like, I mean, I'm really good at empathizing with people, their emotions, their feelings, why they are doing certain things, what are they here for, what are their goals, et cetera. So this has basically helped me to understand the customer from what are their needs, what are their culture needs, what are their emotional needs, et cetera. So these are my core human traits, creativity and empathy. And now if you look at the functional attributes of the product manager, you typically get to design customer experiences or user experiences. You have to write user stories. You have to translate the user stories to product specifications. A product manager typically solves problems and then like I said, the more senior they become, the more they work on strategy and problem discovery, problem definition and then prioritizing what problems to solve first. Now these are functional attributes of a product manager. Now, if you're a product manager, if you have been in the product management space for a while, you may have come across terms like a functional requirements and the non-functional requirements of the specifications. So this is more on that terms where functional attributes are what are your core part of the job, like what are you paid for you to do. And then there are other non-functional attributes of a PM, which means that there are some of your personal individualistic skills that you bring to the table, which is not directly related to how your product behaves but how you execute, how you work with others and how do you interact with your organization. And those I define as the non-functional attributes of a product manager. So some of the non-functional attributes of the product managers here are accountability, interpretability, ethics, leadership and influencing stakeholders. So by accountability, I mean, if a chief product officer is coming up and saying that, hey, we as a company, we need to focus on this space for the next three to five years and we need to invest all our resources into this space, then that person is accountable for that decision and the strategy. So if something goes wrong, then that person is responsible for the outcome. And interpretability means communicating to the stakeholders that I make this decision because of X, Y and Z. So that anyone in the future or anyone who's not available in all the meetings can easily read a piece of doc or a future hire can come and read a piece of internal wiki or something and then understand why a decision was made and what were the inputs and assumptions that were considered at that point in time which led to that outcome. Now that's interpretability. Ethics is something which you were more responsible for the broader community, earth, sustainability, et cetera. So as a leader, everyone is required to be ethical in nature so that again becomes a non-functional attribute. Again, the more hire you're growing the corporate ladder of a product manager, you need to demonstrate leadership and influencing the stakeholders in order to make the best decision for the customer and for the product. So now these are the non-functional attributes of the product manager. Again, I would like to, I trade that the more you move from left to right, your needle moves from clarity to ambiguity where you're more clear on what you're working on on the left side of the spectrum and on the right side of the spectrum, you have no idea what you're gonna be working on and there's a lot of data, quantitative and qualitative data that goes into the decisions that you make as a senior product person. So that being said of a product manager's value proposition, now let's talk about the AI value proposition. Again, now it's the same map here of someone who is from the junior PM to a product leader role. You have the clarity to ambiguity spectrum here. Now, revisiting some of the common things that product managers do according to their role is more tactical and as they are new or they are relatively in a junior position and as they move to a higher position or a senior position it's more ambiguous and more strategic. So for example, an associate product manager gets to work with the design. They may work with the designers to come up with the UX. They write the different documents like product requirement documents or the market requirement documents, the business requirement documents, et cetera and the product manager, they start writing user stories. They are expected to be aware of agile methodologies like scrum, et cetera and then they are expected to make decisions based on the trade-offs, et cetera and a senior product manager strategy and a product leadership is more of problem discovery and vision, et cetera. So now where does AI play a really good part? So if you look at the left end of the spectrum that's we have AI tools currently that do these things really well. That's why that's what I call the current state of AI. Like we have AI tools to convert what you prompt to beautiful mops AI can write documents for you the first draft of the documents at least. AI can give you a project plan of what your process should be based on your company data and it can also help you come up with the first draft of your marketing blogs or take notes for your customer research, et cetera. But the more right you go in the spectrum which is where the leadership and more ambiguity exist. It's an ambiguous area where AI currently may not be able to perform as good as it does on the left end of the spectrum. And that's because there are a lot of ways there's no one correct answer for executing the right strategy. There are so many ways people execute that people and companies execute strategy. So the way AI does cannot be like one right answer. And again, that comes to the interpretability where if you were to ask a person to execute a strategy you can understand what is their rationale and why they made the decision. Whereas if you feed a strategy into an AI model you might not be able to understand or decide for why that model predicted the strategy because there are like so many millions of nodes inside which is not practical for anyone to go and say it was because of this node within the model that made this decision. So AI lacks that kind of interpretability and that's why the more ambiguous, the more senior a decision is made you need people making those decisions. That being said, what are some great examples of how a product manager can leverage AI tools in today's world? A lot of product managers or almost every product manager has to conduct user researches and participate in user research. And AI can generate great questions for your user research. Again, automate node taking and insight generation for customer interviews where you just focus on talking to the customers. You can parse the usage analytics to automatically group users into new cohorts where you can find different new segments of users to monetize and for growth hacking. And when it comes to observability and application performance monitoring you can use AI to predict possible root causes for an event and the next one is the stakeholder management. So we currently can use AI to create a project plan based on the company architecture, capture project risks, assumptions, issues and dependencies and communicate to stakeholders by automating all these workflows. You can also use AI to create working prototypes for rapid experimentation which is a very fundamental and crux of efficient product management. And for me personally, the thing I love the most when it comes to using AI to the best of our productivity is overcoming writer's blog by using AI tools to come up with the first draft for with a framework of beautiful strategy doc or coming up with a great blog or launch announcement or go to market emails. And once we have this first draft now you no longer have this writer's blog and then you have inspirations and then you can tweak it to whatever language or whatever you wanna communicate with the value proposition of the work that you're doing. And moving on to the third and final section of this presentation is the product manager powered by AI value proposition. Now you may have seen a lot of these things posted all over LinkedIn and social media that AI is not gonna replace you but a person using AI is gonna replace you. And this is along the similar lines and I just wanna try to break down that line to what actually means in product management context. Now recollecting the spectrum diagram once again you see that these are the different skillset that a product person will need to do their job in their level of seniority. For example, an APM will have to do wireframing or write docs, might have to do system design and so on and so forth. So the blocks that are marked in orange they can be done by AI today. There are a lot of great tools to convert your what you say into wireframes. There are tools to generate text to write your product requirement documents, business requirement documents and market requirement documents. There are AI tools to design what should an efficient what should a great API design doc should look like what are the different parameters that an API design should take consideration of, et cetera. As I said before, AI can also help in user research, competitive intelligence and coming up with defining metrics. The next blocks which are the green blocks are the blocks which we have AI today but they are not that great in delivering those things. For example, insights, we still need a human person to with the contextual institutional knowledge to come up with that insight of why this metric is. So the same goes to new product launch. You may have a lot of obstacles when you're working towards a new product launch. So as a person you need to identify those blocks and resolve those conflicts that arise from a timeline perspective or from a dependency perspective. And this involves working with a lot of humans and communications and making sure that you address the needs of the stakeholders as and when they arise. Again, monetization. There's no one rule to do it, right? There are different strategies to do it based on what your customers are willing to pay for. What are your competition is asking for, et cetera. So again, there's more of ambiguity in that. So there may be AI that does these things well to some extent but still you cannot launch a product with a dollar value just based on AI. Now, the blocks in red are the ones where we need human beings to do those jobs. Like we are all the red blocks here identify are completely ambiguous in nature where you don't know what's out there. You just have to go understand empathize with the user be creative in your solutions and see what works and what doesn't work and then take the company forward one step at a time. For example, product discovery. There may be so many things what your customers might be doing. First of all, who is your customer? Who should be your customer? Who isn't your customer? AI cannot tell all these things at least in today's world. So given all that ambiguity, we need a human person who can be held accountable, who can understand why we are making the decision in that way, who can explain it to the stakeholders who can influence the customers, who can influence the stakeholders, et cetera, to make the product successful. Again, a product leadership areas which consists of ethics, leadership, culture, those things need humans to perform those areas in product management. So what this means to the product managers and the companies? So the left end of the spectrum has a lower dollar value of impact in the organization where it's more executional and transactional. Whereas the more right you go in the spectrum, the dollar value of the impact of the organization is really high. Like a company, a CPU or chief product officer identifying the next huge opportunity would be worth millions of dollars as compared to someone who's working on writing a product requirement document. So as you see, the dollar value of impact to the organization gets higher and higher as you move, as you grow from junior positions to the senior positions in the company. And what this means to product managers with the new AI wave that's coming in, product managers can grow to a senior position much faster than they could in the past. This means that they can use or leverage AI tools for doing their day-to-day jobs, but at the same time spend effort and learn some of the human-only skills. Like I mentioned earlier, like working with strategy and getting comfortable with ambiguity so that young product managers from early on in their career can focus that time in acquiring these high dollar value skills and get to that position faster than ever. So in short, the person who's, the product manager who's using the AI will grow in their career much faster than a person who is not leveraging AI in their product management discipline. Thank you, everyone. I hope you enjoyed the webinar.


hello guys today I'm gonna show you three apps of comment writer so the first apps is comment writer music battle game I'll show you like this one so just press start you can choose it for your song like in the song like played in the game so comment writer game so I just pick just leave more the theme song and you can play so that's it there are more so it actually is fun because it tests your dexterity okay your face you're cool okay now the second is the second apps is wizard wizard driver you can pick for a third time yeah you get era and then you want pension you can't so all you do you can do is this one our wizard driver and if I press on decay driver the car driver just press open and you can choose many comment writer just give it on like the real key you can change the power like changing the comment writer so like in comment writer decay many so we just take a final attack or let's take final attack for decay so if you want the this wizard driver or decayed driver I can put a link in this description so you just click it and you will directly download your the apps and enjoy it so thanks for watching and please subscribe subscribe for my channel thanks


Hey y'all, welcome back to my channel. Today's video, as you can see from the title, it is gonna be another Sheehan haul. This will be my third Sheehan haul belief on my channel. I am super excited to be doing another Sheehan collaboration. You know, Sheehan has my heart, okay? So as you can already see kind of in the frame, this is all from Sheehan, baby, okay? Y'all need to get on to them. Well, Black Friday is over now, but Cyber Monday is coming up. And then even after that, I believe they still probably gonna have some good sales going on, so you do not wanna miss. But I am gonna dive right into what I got from Sheehan because this video, I don't really want to be longer than like 20 minutes, but we're gonna go. Hey, I didn't get started. I don't know if I'm gonna like, I'm gonna have a video of me trying on the items probably like right here, over here. I don't know if I'm gonna like put a look together or just like try on that item. So Editing Akira will probably let you guys know that right so now. But I'm gonna go ahead and get into the shoes because I only got three pairs of shoes and since they're on top, we're gonna go ahead and get those over with. So these are the first ones. And everything that I have will be down in the description box below. I don't really know the names or anything right now because like I said, I picked these out about two weeks ago and then, yeah, just not getting them a few days ago. So these are the shoes that I got. Just needed another black pair of heels. The other heels that I got from them that was in my other sheen haul was not strapped. So I wanted a strapped black heel and particularly I wanted this to be clear. Me square heels flatter my toes with my feet a lot better than like, I guess stilettos or like pointed heels. I like these square bottoms. It just makes my foot look so much better. I did get these in a size 39 and they fit perfectly. I'm not gonna show you all because maybe my toes, I need another panty here, but yeah, they definitely fit pretty good. I haven't laced them up yet, but just trying them on to make sure my foot literally fits. It definitely fits. I give these a 10 out of 10. And I think they're gonna hold up pretty well because the quality of these look a lot better than some of the other shoes that I did receive from sheen before. The next one that I have are boots. These are in a size 39 as well. I forgot that I need to be getting boots in a size up. I do read all the reviews from sheen, but it might've been 39 was the only thing that was available, but I do need a size 40. These fit, but I like to wear socks, obviously with my boots. So with socks, I feel like these will be a bit snug, but they are just white long knee-high boots, period. I feel like every girl should have these in their closet. I am trying to get my boot game up because when I'm trying to wear stuff, I'm in my closet like, baby, I don't got no shoes. Okay, so I got the long knee-high boots. They definitely fit. I mean, this is my size. It's just with the socks. I feel like I'm gonna need a bigger pair, but for the time being, these are definitely fine. Now that I'm getting some weight, it literally fits around my thighs or like knees, calves, I guess, really, really well. And I really, really love that because maybe when I was 100, 115 pounds, 120 pounds, these boots did not used to fit me. So I'm definitely loving the weight game because of that.  Next is another pair of boots. I got these in a size 40. So I believe the size that I actually wanted was available. Like I said, I got these about two weeks ago. So they were literally already having crazy sales even before Black Friday.  I do already have a black knee-high boot, but the material isn't leather. It's more like suede. So I did want a leather knee-high boot. Okay, period. Super cute. These actually zip on the side. So it makes these 10 times easier to get in. The white ones that I just showed you guys, they do not zip on the side. So literally you just gotta stick your foot in there and scoot it all the way up. But definitely having this zipper on the side definitely makes it so much better to get them in. Like I said, I got them in a size 40. Fits perfectly with socks on. And I love that. So these I will give a 10 out of 10. The only thing that I don't really care for is the color on these. Like, do you see how you can see the lining of this? I'm not too fond of that. So go get in the bed. So this is the only thing that I'm not really liking because if I'm taking pictures, I don't really want you to be able to see facts. Okay, but whatever. 10 out of 10, definitely would recommend. So getting into the clothes, I'm gonna try to get a thumbnail real quick. First thing I'm gonna pull out, these are either size medium. These are some type of jeans that I ordered. I haven't tried these on. My packages came in three separate packages. So these top like five items, I haven't tried on yet. But hopefully these fit. I will tell you in the clip that's gonna be inserted. But I did get these in a size medium for weight reference. Now I am 146 pounds. I am 5'3. I am a triple, 32 triple D. And yeah, I'm used to wearing sizes small and extra small but it's kind of weird because I really don't know my size. I think I'm a medium now in majority of a lot of things. But some things, if it's like, if it got a lot of stretch to it, I can still get inside small. But these, I did get in a size medium. Look like I can be able to fit these. These are literally just the jeans that's been going around really, really viral with this cute little print on it. I don't know if this is like bones. I saw something that they had that was boned and this is kind of just, I don't know. The print was cute, it's super trendy. I like them. Hopefully these fit me really, really well. And like I said, I got them in a size medium. It does feel like there's a bit of stretch to them. So that's good. I can definitely keep these as I'm gaining weight continuously and I'll be able to fit these long term. So right now I am giving these a 10 out of 10 for the quality, but if I can't fit them, then I will let you know. The next thing that I got is in a size small. These are some more pants. Black pleather pants, if you will. They're in a size small. I got small because I said they're very stretchy and I can tell that they got some stretch to them. Hopefully they're long enough. I am only five three, but sometimes some she-in pants that I've gotten, they're kind of like got you blood and some hot water, since people like to say. But just looking them over, the quality looks really nice. I don't see any bad stitching or anything on them. So hopefully I can fit them. If I can't, I will let you know in the clip of me trying them on. But right now the material feels good. Quality feels A1. Definitely will give these a 10 out of 10. Next item that I have, I'm excited to try this on. I haven't even tried this on yet. It's in a size small. It's from, I guess they got this vendor of where they're getting clothes from because they don't say she-in, baby. This is somebody else's stuff right here, okay? But I got this in a small. This has been very trendy. I've been seeing this a lot on a lot of different websites. I'm pretty sure they're mimicking like a higher brand or whatever, but I think I'm gonna wear this on vacation. My family on Thanksgiving, we talked about having a family trip. So this will be really pretty. One of my uncles had said something about a cruise. I say it like Florida or somewhere, but I think this will be really, really pretty to wear on vacation. So definitely I'll be wearing this next year, but I'm pretty sure you guys saw this romper. And yeah, it's just been really trendy. I've seen a lot of people wear it on vacation. Can't wait to wear this. It feels really nice. It looks nice. And hopefully it looks good on me. It is backless though. So I'm not really fond of backless things just because my boobs are big. It's no secret. So I have to wear bras with stuff. Like I just have to keep the girls up and having something that doesn't have, you know, a bag on there, it kind of freaks me out sometimes. So hopefully that looks pretty okay. The next item that I got is just this shirt and the size of medium.   So I did get a medium. It looks like this will fit me perfectly. So yeah, cause I've been needing stuff to like cover my stomach a little bit more because some of the tops that I got from She-In has a size small. It literally stops right under where my bra ends like under boob. And I'm like, baby, I'm not trying to give under boob in a basic, you know, like crop top or a basic shirt. Like I just need this shirt to be able to layer things on. So, but this shirt is super cute. I have a super cute idea to wear with this. I want to pair it with the Bottega dupes. I didn't get those from She-In but they do have the Bottega dupes on there. So I'm going to pair them with that in either a skirt or some cute little pants. You can dress that shirt up or down. Me personally, I'm going to dress it up just because of the look that I have in mine. But yeah. The next thing that I got from She-In, I don't even know what this is, baby girl. It's in a size small. Oh, it's us. Getting this or picking this out is from the She-In sexy line. A lot of y'all, I see y'all always ask, what She-In y'all be shopping on? What She-In you found this on? You have to type in exactly what you're looking for or just type in She-In sexy. That's a little key or whatever. So She-In sexy, they spell it S-X-Y and it'll pop up all of the new trendy items, all of the stuff that we miraculously find that basically y'all say y'all can't find. So yeah.  So I like that to the size small. It feels like it can give off a little bit of stretch. So hopefully this fits like I want it to fit. I didn't have the idea to wear that white and green shirt with this. I had a look for that. So I'm excited to try this one. Hopefully it fits me really well.  I don't know why, because I gotta try this stuff on still because I would do want to do a tip top. All right, next item I got. This is a dress. Y'all've probably seen this before. I've seen a lot of my favorite, most of my like favorite influencers wear this dress. I did get it in the size small. It fits perfectly.   The only problem I have is just getting this over my head. Other than that, the dress fits perfectly. The material feels amazing. This is their better quality that Sheehan has to offer. Like, you know, some things run really thin. The stitching is, you know, coming apart, but this one is definitely on their better side of Sheehan. So I definitely love this. It feels amazing. And the quality is really, not really thick, but it's, you know, a thicker quality than normal Sheehan clothes. So I definitely rate that a 10 out of 10. It looks really, really good on me. If I do say so myself, the next item I have, I'm actually gonna wear this on Christmas. I've already tried this on. I got it in a size small just, it was only like, maybe like six or seven reviews on this. I literally went out on a whim to get this because it was two pictures. One picture of the girl, she kind of like took it, cutting off half her body. And the other girl who took a picture in it didn't, it didn't look too good. So I'm like, mm, I don't know. But baby, this is so cute. Like, everyone needs an oversized cardigan. I really like it. It feels amazing. It literally goes all the way down to my arms. It's not too oversized for me. So if I did want that very, very oversized look, I would go up to a medium. But I think the small is perfectly fine for me.  This is what made me get it. It's super cute, super different. Most people don't really get cardigans with all this extra stuff on the bottom. But I'm literally just gonna wear this over, just the black bodysuit at first. That's what I'm gonna wear for Christmas for a little art. But yeah, it's really nice quality. It's super warm, it's super soft. It's just one of those good finds that you find on Sheehan. So I definitely recommend getting this because it is starting to get cold now. You know, the beginning of November, it was like 80 degrees and then out of nowhere, it started to be like 40 and 30 degrees. So definitely recommend getting that cardigan. The next item that I have to show is that black bodysuit that I was telling y'all about that I'm gonna wear for Christmas. I did get this one in a size small. This one is very stretchy. I feel like I could have went down to an extra small. Everyone in the comments was saying how stretchy it is. So it has a very, very long zipper on the back that is turtleneck. I used to never like turtlenecks, but baby girl, I love turtlenecks now. Now I guess it's me getting older or whatever, but I don't know, but the long sleeves, they go all the way down to my arms. These go all the way down to my ankles. Like this is just a really, really good quality bodysuit that I feel like everyone need. It's a basic.  So definitely 10 out of 10. Definitely recommend. The next item that I have to pull out is some all white jeans. I got these in a size medium. They fit me perfectly. It's just, I don't know. I had a look in mind for this and I feel like everyone needs a pair of white jeans, but I don't know, white jeans. I just can't get what I'm like. The jeans themselves are cute. Like they're really good quality jeans and they definitely got some stretch to them. It's just wearing white jeans. It just, I don't know. It just don't give like on me per se. Like these on me, I wasn't really feeling. So I don't know. I had a look in my for these white jeans for Babe Girl. I don't know if I'm gonna wear them. Like I said, really, really good jeans, but I just feel like I don't like the white jeans on me. You know? Oh, they sent me that twice. I knew it wasn't tripping. I already tried this on. So they must, they missed one of my items there. So this is a size medium. It's the exact same shirt. I've already tried it on. There's something like, I know I tried this on. So this is how the shirt looks. I have two of them in a size medium. So he'll, I guess, I mean, I'm gonna have to give it away. If you want this shirt, Babe Girl, I got you. Okay, this is how it look. I got two of them. You can have it. The next item that I got, I'm excited about these. I'm probably not gonna wear these until like next year. I've seen a few girlies in these. These went viral a while back. I did get them in a size 27. They are part, excuse me, part of the Sheehan sexy line. It's the pants that literally kind of like lace up in the back. So I feel like I could have went down the size because they do give me boyfriend jeans vibes.  So that's a plus, but in the legs, like look how, sorry, look how wide these legs are. I don't know if that looks wide to you, but like to me, this is a bit wide. And they're definitely giving like boyfriend jeans. So I would definitely have to wear this with some kicks or something like kind of like dress it up, but dress it down in like a real chill vibe type of way. But I'm gonna have to wear something to where you can see the back of the pants, obviously. So maybe like some type of like letterman jacket, some type of something to where you can like see the back of it. Get out my kitchen. Sorry. So yeah, these, I'm gonna give them like a nine out of 10 just because I thought they would be a little bit more fitted in there, not as fit as I thought they would be. But nevertheless, they're still really pretty pants. Two more items to show you guys. I'm gonna go ahead and show you these first. These are in a size small. I probably could have went and got an extra small in size down. This is part of the sheen sexy line. These are like those cute, roost leggings that make your butt look good. Honestly, these look really good on other people like in the comments and stuff. But when I tried these on, I wasn't really feeling them. I don't know if it was because like I wasn't like done up. Like, you know, hair and makeup and stuff because sometimes me, I can't really envision an outfit unless I have like, you know, like my whole look going on if that makes sense. So these, they're definitely cute.  Like I don't really think they were doing it for me. So maybe if I would have got like an extra smile they would have hugged me a little bit more. But as of right now, that's all I got to say about them. And the last item that I got for this haul is this cute like a Letterman jacket. We're at 20 minutes, so we're good. Yeah, I obviously got the one that says A because hello, a curagen A. So I got it in black, in red, in white. I think this did come in pink and white if I'm not mistaken. But I wanted to get the black, red, and white.  I got it in a size medium. So yeah, like I said, I think my size just now is a size medium on she in. It's so crazy going from like an extra small to a medium. I'm sorry, I cannot stop saying that. It is insane that I'm not still 97 pounds, 110 pounds. Like, how do we get here? But yeah, so I got it in a size medium. It fits perfectly. This obviously isn't the jacket that you wanna wear to keep you warm. Like, I feel like you would need to like layer it if you are trying to wear a jacket to keep you warm. This is basically just trying to be cute, styling and profiling. That's what I get for this jacket. But I like it. It's super cute. Definitely give it a 10 out of 10. And yeah, that's all the clothes that I have to show you guys in this haul. I hope you guys enjoyed it and found something that you would like to purchase out of this haul. Don't forget to check out Shien and get all of their deals that's going on. Hopefully this is posted before Cyber Monday. So you can check out all these clothes and get these deals. I do have a personal coupon code that is to 15AkiraJ. It does save you 15% off at checkout. This is good year round. It's been good since like last year. So you can definitely use that code. I think they do have a certain code that they're like a promotional code going on. So if they do send me that, excuse me, I will have that down in the description box below and on the screen here for you. So yeah, don't forget to like this video, comment and share and subscribe. And into my next video, I will see you level these in. Bye guys.


This is the world's most famous Bible verse, and we've reduced it to a slogan. You pretty much go anywhere and you're gonna see John 3.16, football game, basketball game. You don't see it as much, but it's still there. And even non-Christians can quote it, not even really knowing where it's coming from, but as best if you're Christians. One of the first verses you taught, one of the first verses you are showing how to memorize. And oftentimes, many times we simply just misunderstanding or we neglect how rich it is. We miss what's actually being stated. I don't even have to put it on the screen and you can just quote it, for God so loved the world that He gave us only, but God and Son that who should have believed in Him should not perish, but have eternal life. I memorized that passage before I was even a Christian when I was a little knucklehead on the street running around and there was a Christian group that would come around and pick us up and take us play baseball and so forth and have Bible studies. I remember that passage and the problem was I memorized it, I didn't know what it meant and the only other problem is that too many Christians now are the same way. So let's go ahead and let's look at this particular passage. Let's look at it and let's see what's being missed. There is really a lot in there. And the thing is, John 3.16 doesn't take place in the middle, it's just out there by itself. We need to remember what's being stated in context. Remember, Jesus is making this statement while He's speaking to Nicodemus. We'll come back to that in just a little bit, but notice what He says, for God so loved the world. Notice how it starts off for God in our English and so there's a reason for the four. We'll get to that in a second. For God so loved the world that He gave His only Son and the word that's used here is the monokinesis. He gave the only one, the only one He gave so as the Son of His to give. And here's the reason why. Sometimes we think that God gave His only Son or the only one of His kind because He loved the world. That's not what the passage is saying. That's not what the saying is all. We find out why He gave Jesus, why He gave His Son because we have what's called in Greek this word henna. In Greek, henna is like a purpose clause. It tells us what the reason for something being stated is, what the purpose of it is. And so it says, in order that the believing ones are all the believing ones. And so we're gonna have to look at, I'm sorry for some people, for those that value the word, it's okay, but for other people, they may not like it, but we're gonna have to look at the Greek. This in order that pas, ha, pis, tu, and we talk about this a lot because it's important. This is how the Bible describes us as believers. We'll go back to that in just a little bit, but in order that all the believing ones in Him would not perish, may apolite, which is to not perish, but have life into the ages. So that, and by the way, this is present active. And so that means that they may have it right now going into the ages. That's vitally important to understand. Now, before we go to there, let's go back to the forgot so love because folks think that that is the reason why it's in it because he loves the world so much so. No, no. This word Hutos is saying in this way, look down at the bottom, this word Hutos means in this way, this is how. This is how God shows his love for the world. He sent his son, so that's how we take it. This is how God loves the world, how he shows his love for the world so that the son of his, the only one, he sent him in order of that. So the reason why he sent his son is that the believing ones will not perish, but have life. Now, remember, let's back up a little bit and think about the condition of the world at this time and even the particular dispensation, the rules or the economy that the world was under at this point in time, they're under the law. Jesus having a conversation with who? With Nicodemus, a Jewish Pharisee who understands the law and Jesus is trying to make the point and he has and will and Paul brings up also in Romans 10 that Jesus didn't come to destroy the law but to fulfill the law. Well, what did the law require? The law required that those of us, all of us, that we stand guilty, that we have a debt against us. And so what the law required was that there be a sacrifice to atone for sins. Our sins will be placed on the head of the scapegoat, sent away, and then the sacrificial offering would pay the debt that is incurred by us. And then for the people at that time who have afflicted themselves, humble their souls, in other words, they fasted and so forth. They have faith in what was done and then God receives the sacrifice and in doing so, they would stand in right standing. They would be justified. Now in this case, it was temporary. That's the whole point. In that case, it was temporary. And so what was needed was that sin would be taken away completely and that their atonement and justification would also not just be temporary but would be permanent, which is why he says that the ones that are believing in him would not perish but they have life. It's present in so they would have life right now into the ages. Won't go too much into that. We've covered that before. We may, I don't think we'll cover it at this point in time but notice what he says though. He refers to us as the believing ones.  It's called Greek Basics Beyond the, I'm gonna start Greek Beyond the Basics, Greek Grammar Beyond the Basics by Dr. Daniel Wallace.  He's one of the foremost Greek authorities that we have on the planet. And he brings up this participle that's being used for belief. Now, you can believe, you can have believe duh or in this case, if it's a participle, think ING, like I run or I'm running, it's telling us what we are, what we're doing. And so it's kind of the state that's ongoing. And so he describes John 360. Now this part gets a little bit nerdy but I want you to follow me because it's very important because I need you to know how God looks at us, how he looks at each one of us believers. He refers to us most often this way. So if we go to John 316 and look at the notes on this, he says, a spectral force of the present, high pistol one, the believing ones seems to be in contrast with high pistol size, in other words, believed. Believing ones, high pistol one is believing, pistol size is believed.  But believing obviously means this is what you're doing. You continue. And so this is how he most often describes us. So the heiress that's the past tense is used only eight times, plus two in the longer, and you get marks. So really we would say six times. And even in those times, once you look at him, he says, okay, that's the only, that's pretty much the only way but the best way to bring this out by using the heiress. But notice what he says. The heiress is sometimes used to describe believers as such and thus has a generic force. For the clearest examples, he gives us examples, Mark 16, 16, compared also with Second Thessalonians 2, 1, 10, also negatively of those who did not believe. And so in this case, so two of those, really two of the six, but two of those are negatively, so it's not even referring to an actual true believer. The present occurs six times as often 43 times, six times most often in so tier logical context, meaning in terms of salvation. And he gives some of the examples that they're used. Thus it seems that since the heiress participle was a live option to describe a believer, so you could have used the heiress to describe a believer, he doesn't, to describe a believer. It's unlikely that when the present was used, it was aspectually flat, meaning he's trying to make a point by using the participle. The present was the tense of choice, most likely because the New Testament writers, by and large, saw continual belief as a necessary condition of salvation. In other words, he's saying, you have to be believing. If you are believing, you're safe. If you believe it and stop, you're not now. The point is gonna be drawn out even more so, but let's continue. Along these lines it seems significant that the promise of salvation is almost always given to the hapistouan, almost never to the hapistousas, apart from Mark. So the point that he's making is we are described as believers as believing ones. So let's go back to John 3.16, and we go over to the Greek. He says that now in the English it says that whoever believes. In the Greek it says hapistouan. So the one who's believing. So there was a time where you would say whoever believes and it kind of gives the same, the same understanding, but again, English changes over time. And so the meaning might get lost a little bit for some people. So whoever it is believing, whoever is a person that's believing, that person, whoever that person might be, that's why the whoever is. But truth be told to give a better or a clearer understanding. It is, as the Greek says, hapistouan. The ones that's believing, the believing ones in him does not perish, but right now has life engaged, which is why John 6.47 says that, truly truly I said to you that whoever believes and by the way, the same word is, the hapistouan, the believing one has life right now. So if you're believing at this moment, if you are one of those ones that are believing, then you have life right now. Well, wait a second. How do you guarantee life right now if the possibility of you stop believing is there? Well, that's the point. The possibility of you stop believing if you are one of the believing ones, a true believer won't occur. It will not happen. Now, before we go any further, I want to remember what we're speaking of. In John 3, he's speaking to Nicodemus. He says that a person, in order to see the kingdom of heaven, in order to be saved, you must first be born again. Born again does not mean being saved. Being saved comes about of being born again, meaning your heart has changed. In order to be saved, in order to keep believing, you must have a regenerated heart. Does regeneration proceed faith? I'm not gonna talk about that now, but regeneration keeps faith. Regeneration keeps you believing. Think about what he says in Luke 6, the good heart, which is regenerated heart, keeps a person believing and causes them to remain and to bear fruit. That last, as Luke 8 tells us. And so he's speaking to Nicodemus about what must happen. First, the person must have a regenerated heart. He uses three ways to describe it. Born again, born of water and spirit, or born of the spirit. And he says the spirit, just like the wind goes where we don't know where it's going from, or where it's going to. So it is of everyone that's born of or born of the spirit. And John 1 lets us know that it applies not just the Jews, but to everyone, whoever it might be that is born of the will of God. That is a, so it's not born of will, born of flesh, but born of the will of God. So whoever it is, those are the sons of God. And so in this case, Jesus make a statement that he loves us so much so that he sends his son so that the ones that are believing in him would not perish. Whereas previously you could believe it could be temporary, you have the temporary atonement, but what happens the following year? And the following year. And so there was a necessary thing that had to be done over and over and over again. Now he brings this point, the same words as used is also used as he's describing in chapter.  And that's what he says. And I want you to follow this. Look, we have to look over at the Greek as well. He says, even as Moses lifted up the serpent, and this is where they grumbled and complained against God and against Moses. So God had these serpents come and bite them. And so he had Moses to fashion this serpent, put them on a stick, on a, or lift it up high on a stick. And then those that will look on it as trusting and believing, they will be saved. And so he says in the same way, even as Moses did that, he says, this is even so must the son of man be lifted up.  The same word is used in verse 14 and verse 15 is verse 16. But he makes this statement that even so the son of man must be lifted up. So that, now, why does the son of man must be lifted up in order that all the ones that are believing in him will not perish. So it is necessary that he be lifted up in order that they do not perish. Now, by the way, by the way, let's go back and look at something because he says that if he be lifted up early, I mean, another passage in John 12, Jesus says, and if I am lifted up from the earth, I will draw all men to myself. So what's gonna happen after that point as he's lifted up, how does he do the drawing? Well, that's where the regeneration of the heart takes place. The heart becomes regenerated and then people are drawn to him. I don't wanna go into that too much at this point. It's a, it's another four hour discussion, but this is what he's alluded to. All of this is kind of coming together and he's making his point that it is necessary for those things to happen. Why? Because someone can temporarily have a mental sense, have their faith, believe that God is who he says he is and so forth and all that's gonna happen. And then they don't leave, or they may turn around and leave the faith or we find out that they were actually believing. That's why Jesus makes a statement in John 7. I'm sorry, not John 7. Matthew 7, that many will say to me in that day, Lord, Lord, and he says, what's his final analysis? What he says, how do you know that you're not saved? He said, he makes a statement, I never knew you. Not that I used to know you, but I never knew you. We never had that point. And so even those people who were like in Matthew 7 or Luke 8 previously to having their heart or the good ground, those are the people that they thought they knew him, but he never knew them. If he did, they would continue with him. So now that part needs to be understood. Now, notice what he says though. Verse 16, so that the believing ones in him should not perish but have life. For God did not send his son into the world to judge the world, but that the world through him might be saved. He who believes in him is not judged. He who does not believe has been judged already because he is not believed in the name of the only regarding of the son. Now, by the way, this word that's still used here is a perfect active indicative. So this is something that who has been believing. By the way, I want you to notice what he says. For God did not send his son into the world to judge, but that the world through him might be saved. Well, let's think about something for a second. Let's think about why he actually came. Remember he says this statement in John 639. He says, this is the will of him who sent me.  So I will raise them as well, all the ones that he's given me. This is the will of him who sent me. Remember what we talked about in John 316 about the one that sent him, the one that sent him into the world. He didn't come to judge the world, but he came to save the world. Now, is the world going to be judged? Sure, because they have rejected him. They have not been believing in him.  Well, we know that, but he's trying to point out the reason why he's here and how men will be saved. So he says this is why he came. Matter of fact, Hebrews 10, to piggyback off of the old covenant way of atonement, you've got a high priest offering atonement for the people how? By confessing their sins of the people on the head of the scapegoat sitting in a way. And then the sacrificial offering on the blood of the sacrificial offering on the altar and God accepts that as payment. Well, the same thing happens or been brought up in Hebrews 10 where he says sacrifices and offerings you have not desired, but a body you prepared for me, that is for Jesus. And so the sacrifice and offerings, they don't do the job, but this sacrifice, this offering a better high priest that mediates for us, a better sin offering that makes perpetuation for us, that's Jesus. And also a better scapegoat that takes away the sins of the world, that's Jesus also. So we have to think better. So what does he do? He fulfills the law by as Roman says, Romans 10, Paul says that he also ends the law. And so this is this Jesus who sends his son, I mean, who God has sent him. He says, what the law could not do, Romans a three, weak as it was through the flesh, God did sending his own son in the light of the simple flesh. And as an offering for sin, he condemned sin to the flesh. So him sending him was a better offering to what? To nullify and to end or condemn sin in the flesh. He got rid of the effects of sin by this particular offering. And in doing so, what does Paul tell us? It is God who justifies. Look at verse 32 of Taperik. He who did not spare his own son but delivered him over for us all, how will he not also freely give us all things? Who will bring a charge against God's elect? Look what he says. It is God who justifies. Who is the one who condemns? Well, Christ Jesus is he who died. Yes, rather who was raised, who was at the right hand of God who also intercedes for us. And he says, who will separate us from the love of Christ? And he goes through a litany of things. And so he justified us by what Christ did. So Christ comes to save us. Christ comes to give us life at this very moment. And going back to John 3 16, keeping in mind what he spoke to Nicodemus by the fact that the spirit comes and does something to us, to our hearts. And then us believing by the spirit being in our heart, being regenerated, we will keep what? Believing the very part of simple that we're described as needing to be saved, as believing, continual faith. And so if someone says you have to keep believing, we have no problem with that. Because why? We are told that the spirit has come down and has changed our heart, has regenerated us. Our heart is now born from above, born of the spirit. And so now what? We will keep believing. And so in order that the believing ones will be saved, so that's why John 3 16 matters. God showed his love for us in this way that he gave his son to do what? To be an offering in order that all of us that are believing the spirit has regenerated our heart in order that all of us with this regenerated, believing heart will never perish. But instead we have life at this very moment into the ages. The power, the beauty of John 3 16 is there. That's why I wish we don't always sometimes limit it or reduce it to a slogan, a nice catchphrase, just put on a t-shirt. There's a whole lot more that would cause us or should cause us to rejoice. The beauty of John 3 16, again as I said before, it's not that salvation has come to Israel and it's not that salvation has come to the world. That is not the good news of John 3 16. It's not the good news period. The good news is not that it's come to the world but that it's come to the world permanently and we should never perish. Amen.