All right, so I think I'm gonna get started. It's 11.30, a few people might end up walking in, but that's all right. So I just wanna introduce myself to everybody. I'm Sterling. I'll be giving this talk with Will, who wrote the Nimble Controller. So we're both developers on the Apache Minute project, which is an open source operating system for MCUs. And I'll give a little bit of context on Minute here, but just by way of my background. So I'm CTO and a co-founder of a company called Runtime. And what Runtime's mission is, is to develop open source software for embedded microcontrollers. So not just Cortex-Ms, but think processors like Cortex-Ms, which traditionally haven't had operating systems or really a lot of good quality open source software that companies can adopt. Runtime was kind of founded to modernize development for the Cortex-M style of processor. So that includes MIPS and RISC-5 and a number of other architectures. And we started a project in the Apache Software Foundation called Apache Minute. Prior to working at Runtime, I worked at a company called SilverSpring Networks, which did large scale wireless mesh networking. So we networked power meters and street lights and distribution automation controllers. And we developed a completely proprietary networking stack that was layer one through layer seven on what was originally AVR at Mega Processor. So at Mega 128, we fit an IPv6 stack on there and then grew to be ARM7s and eventually Cortex-Ms. And what we found is, and kind of the background on Apache Minute, what we found was that every single company was building their own operating system. And so we started Apache Minute within the Apache Software Foundation to help address that. Since then we've also become members of the Zephyr project. So we're silver members on Zephyr. We're collaborating on LWIP and a number of other open source projects. So our vision and our goal in the space is really to get good quality open source software that companies can use and adopt. But, so this talk is on the Bluetooth stack within the Apache Minute operating system. Apache Minute is Apache Software Foundation project, which means it's not run or controlled in any way by Runtime, but rather it's a community-driven open source project. And the way that works is it's not corporations who control the direction of the project but it's individuals. So it's the people who commit code, who elect other committers, and then the project itself is run within the Apache Software Foundation, which is a 501C3 charity. And so there's really no corporate control, control is given to the individuals. And we decided that this was the right place to develop an operating system effort because what we saw in too many cases is you'd either have something like FreeRTOS which was owned by an individual company and licensed GPL or dual licensed, which made it really hard to build a large ecosystem around it. Or you would have other projects that were just a little too GPL'd for the space. So Riot would be an example of that where it was hard to adopt it into products because in the kind of sub-linux world, everything gets linked into a shared binary. So your application and your proprietary software would have to be GPL'd if it relied on efforts in the space. So Apache Minute was started about a year and a half ago and the idea is a completely open source operating system for these Cortex M devices. It's a real time operating system but it's more than what you would think of as a traditional operating system which is just the core of the RTOS. The idea is to give a Linux style effort for these Cortex M systems. So at the very base level, there's a secure bootloader and flash file systems and flash access mechanisms. There's a real time OS and a hardware abstraction layer. There's driver infrastructure and power management. There's a whole bunch of debugging data there and then kind of most remain to this talk, there's a completely open source Bluetooth stack in there called Nimble. And Nimble is both an open source controller that works on the Nordic NRF 51 and the Nordic NRF 52 as well as a completely open source Bluetooth host stack. And that's built directly into the operating system itself. So this talk is primarily focused upon Nimble but it's within the context of the Apache Minute project which is really designed to basically have completely open source software for Cortex M style microcontrollers. So why an open source Bluetooth stack? This was actually surprisingly one of the most common question we got when we started developing Nimble. And it was primarily asked to us by chip vendors but pretty much everybody in the space was like, well, you already have stacks from the various chip vendors themselves. So Nordic has a soft device which is stable and tested and everybody uses. So they wondered why an open source Bluetooth stack? Other vendors similarly buy stacks from companies like Mindtree and they license those stacks with commercial support. And so the big question we got was kind of why do your own stack when there's already a Bluetooth stack out there? And there's kind of a couple of reasons that we thought of doing it. One is in a lot of cases people who develop software for these Cortex M microcontrollers they don't actually have access to the source. So you're developing your Bluetooth application on a Nordic processor and you have no visibility into what's actually happening when you use the soft device. You have no source code for it. In addition to that we were working on a project it was a customer who was looking to use Minute was looking to use an RTOS and they were trying to figure out what the problems were using the soft device and the CPU would just mysteriously disappear because you have the Bluetooth stack is the highest priority thing running on that chip.  Now is that causing a bug in your system? Maybe, probably not but you're constantly wondering what's happening on the chip and that's really a artifact of the fact that if you look at kind of the early series of Nordic processors they were designed more as controllers or more as very simple application processors they weren't really designed to write complex applications on them so the NRF 51 has a Cortex M0 microcontroller M0 plus microcontroller on it and it has 128K of flash and 16K of RAM. Maybe you were blinking an LED or controlling a very simple motor but what you've seen over time is that as the kind of the process sizes for these chips have gone down they've been able to bundle in more complex processors and more RAM and flash into the chip itself. So the current generation of the NRF series has 512K of flash and 64K of RAM which for the Linux people here is like nothing but for us is more than you could ever need. And then if you look at Nordic's next generation processor it's about a mega flash and 256K of RAM and you're starting to see the chips in this space get to that kind of mega flash, 256K of RAM space and now you have a fairly complex application that you're developing within that footprint but you actually still have no access to the highest priority thing on the chip which is the Bluetooth stack that's running. So it's very hard to debug these stacks and that was one of the major reasons we decided to write an open source one. But then it also, what we found is it also became a real benefit to have a more flexible architecture. If you look at people who are developing these applications and you look as an example for the soft device, the challenge that people who are developing the soft device have is because they're shipping you a pre-compiled binary without source code access, they have to compile it for 90% of their users, right? So everybody who is using the Nordic platform or any of these platforms whether it be the KW41Z or another platform like that, they have a support issue which is they need to compile one binary that works for 90% of their users and so the 10% of their users it doesn't work for are kind of stranded and without luck and in addition, it kind of restricts what you can do with the stack. So as an example, Bluetooth 4.2 is something that our customers sometimes wanna run on NRF 51s. They wanna be able to compile out certain features but add other features so they might wanna run with data length extension but not with security. If you have an open source stack and it's configurable, it gives you the flexibility to choose what you wanna put in there. The other side of that, so we can get really small and we'll show you some of the code size numbers that we've gotten on the NRF series but the converse of that is also performance. So we support 32 simultaneous connections in our Bluetooth stack and the reason that a lot of proprietary stacks don't support that is not because they don't have the CPU or processing or ability to write that software but because it takes a lot of RAM. So people who often do applications like real-time location services where you're a lock or a light where you wanna track people or a lock where you wanna see where people are, it helps to have a lot of connections because you can constantly be connecting to people, seeing how far they are and tracking them in a place before you decide to open a door. So having that flexibility to either compile down to really, really small software sizes where you don't want certain features or increase the RAM and increase the code for more complex use cases is another big reason. And then finally, it just ends up being a more efficient process when it's open, right? We can have a unified buffering scheme, for example, across IP, today if you were to run an IP stack, there would have to be copies in and out of the Bluetooth stack itself whereas if you have it all open, you can have a unified buffering scheme that you manage and you can have zero copy from the controller all the way through your application. So it ends up being less wasteful. And then the last thing and this is one that's starting to become more of a big deal now that we're starting to add more platform support is that you can migrate your application across processors without having to retest and recertify the entire thing. So today, if you're using a Bluetooth chip from Nordic and you want to eventually switch to NXP's chip, for example, you would have to use a completely different Bluetooth stack on NXP than you would use on Nordic and you would have to completely retest your application when you make the switch between chip sets. If there are bugs that you've worked around on the Nordic chip, you would have to work around different bugs on the NXP chip and so it becomes very hard to switch between chip sets and choose the right chip set for you based upon power, performance, and price. And so by having an open source Bluetooth stack that works across platforms, it allows you to migrate between chip sets without having a massive software porting effort. So that's one of the reasons. So some of the highlights of Nimble. So it's a fully Bluetooth 4.2 compliant. We is runtime, show up and unplug Fests. We test with all of the other vendors. We've run PTS across the entire host and it passes all of the PTS suites in the next month or two where we'll be going for certification on the stack but it fully complies with PTS. It has a constrained footprint so we'll give you a bit more of the sizing numbers but on the NRF 51, we're able to fit the entire Bluetooth stack into about 80 K of code. As a comparison, the Nordic stack is 108 K of code. So it gives you a significant amount of code back. It's high performance. So when it comes to throughput numbers and throughput were 5x faster than Nordic in some cases. In addition to that, we support about 10x the number of connections from the Bluetooth. You have all the source, as I mentioned. We support low power operation mode. So it ties within our minute RTOS, has the concept of a low power mode and system states. The Bluetooth stack actually ties into those system states and there's now been a little bit more work to actually leverage low power timers on the Nordic chip and things like that. It's configurable. There's lots of different options that we've added to the stack that are all changeable through our system configuration interface. And then finally, it's debuggable. And by debuggable, A, you have the source, which is really the ultimate in terms of being able to debug things. But also, a large part of the effort that we've put into minute is to make things very easy when you have a device in the field to understand what's going on. And that was based on our experience at Silver Spring where we had to manage 22, 23 million devices. So everything in minute has a unified logging infrastructure that can go out to the console when you're debugging things, but that you can either write to multiple flash buffers or multiple RAM buffers when you go to production, you can control what gets logged on a module basis or on a level basis. And all of that is remotely accessible. Either you can pull that back over Bluetooth or any of the transports we support. There are also extensive statistics that we keep on the operation of a system. And we support core dumps within minute. So when things crash, we actually write those to flash and you can pull those back, which are not things that you have with any of the existing proprietary stacks. So there's really been a lot of effort put into making the minute stack very easy to debug and easy to debug remotely. One of the biggest things we hear from customers is I'm out in the field and an Android doesn't seem to work with this or even worse than that. In a lot of cases, it's not just Android, but it's a specific version of Android that's tied to a specific controller. So how do you understand what type of devices you're interacting with, what type of errors you're seeing in the field and how do you bring that back remotely? A lot of that effort has been put into Nimble. So I'm gonna let Will get up here. Will has been built the controller for our Bluetooth stack and has been one of the core developers of the Bluetooth stack. He's gonna talk a little bit more about the layout of the stack, the source code layout. I'll give you some examples on the details of it. So I'll hand it off to Will. You'll have to excuse me a bit. I think my voice is a bit out from talking at the booth a lot. So let's get over to the next slide. So a little background on myself. My name is Will. So I worked with Sterling at Silver Spring Networks and before that at a company called Metricom. We did sort of like the Ricochet wireless data network. So I pretty much spent most of all my time doing wireless frequency hopping MAC protocols and embedded firmware. So the Bluetooth stack was a good fit. So what we are not showing a lot of or talking about here is the package management tool called Newt that allows you to see a lot of configuration options that you choose, choose what build packages you want for your application. We'll talk a little bit about some of the sample apps that we have that do some things that folks can use as examples to do their own applications. So the basic layout of this and if you go to the source code and download it you can see the directory structure. We build a host only, controller only and a combined controller host. The way you sort of glue the two together are the transport layer and the Uarts and HCI transport layer and the RAM one is the combined host controller transport layer. And yeah, so the code's located if you go, it's all in a network directory. So we go to net nimble host, you'll find the host source code. We have services separated out in a underlying directory under there. And these are all packages, which is a good thing. So let's say you don't want to do, let's go back to, that was gonna happen. Let's go full screen, I don't know. Okay, it's good, okay, good. So you can choose what packages you want in the build like Sterling said, it's highly configurable. So if you want certain services, you can bring them in. If you don't, you don't have to include them. To the next slide here. So what we're showing here is sort of a sample configuration file. These are all in these files called sysconfig.yaml files and they're package based. So when you go to a certain package and you'll see there's like a package.yaml file which describes things about the package. You'll see this file in the directory as well. And you can go in there and it's text based. It's pretty easy to go in there and modify and see what configuration options that you want to include. And obviously these are all for saving code and RAM. And if you only want your device to be a peripheral, you'd choose peripheral. If you don't want it to, if you want it to be a central and peripheral, you would define both and that code gets included. And the package management tool also allows you to pretty easily view the configuration settings for your build. I don't have any examples of that, but it's a simple command line tool that you can use to display all. It's pretty, very easy to use. And after using make files for most of my life, this package management tool is actually really cool. I like it much better. And I guess, yeah, so some of the options here, if you only want a connection, you can choose one. I showed 16 here, but you can go up to pretty much, it's configurable. So if you have a lot of RAM, you can go to more than 32. So you just have to set it up and see what's right here. And yeah, and multiple roles can be supported simultaneously. We'll go a little bit more into that, but you can be a central and a peripheral at the same time and have multiple connections for each type. So this is a little bit about the code size for various features in the OS. So the boot loader is, there we have a secure boot loader, which is around 12K. And these are pretty much based on the Nordic platforms. You don't get too much different with others. The core RTOS is really small, it's about seven K bytes. So the controller base is around 20. And if you were to go to the controller package and look at the configuration options, you can choose things. If you look at 4.2 features, let's say you don't want data length extension, you would take that out and your code base will get smaller. There's encryption privacy. All the features are separately configurable through this file and you can decide which ones you want. We definitely still have a little bit more work to make it a little bit better. If you were to choose central and peripheral, not everything gets compiled out and we're gonna be working a little bit more on that. So we'll be able to better these numbers in not too far just in the future. The host base is not that much more. Actually the host can get quite large, like when we say the complete host that contains a whole bunch of debugging, statistics, logging, a lot of extra code to make it sort of like really easily testable. And we'll talk a little bit about the application that we have for that. So it's a, yeah, PTS testing was done with this app.  And I think when it all adds up, you can fit this anywhere like Sterling said, even 70 to 130, 140K. So for most processors these days, that's good. For some of the smaller ones, it's a little bit tricky, but a lot of times it's RAM. That's what you really have to optimize for. And we still have a little bit of work I'd say to do to optimize the connections for if you're doing just central or peripherals, but we feel pretty good about the total RAM usage for the stack. So supported platforms. So the host can run on a number of the different processors that we support. We plan to add a lot more processor support as we go along. And hopefully that's why we also have a community and anybody who wants to add process support, it'll be great. We love people contributing to the project and we have a few of them, like some of the major ones. And an upcoming one is gonna be some of the NXP chips, which we're gonna port the controller to. And the host pretty much just ports. That's pretty non-platform specific code. And yeah, so we have mentioned here for the controller, it's the NRI 51 and 52. We've also been playing around with their new chip, the 52840. So we have the stuff basically up and running there, but there's a number of features that processor that we'll start adding to as we go along. And the NXP KEW41Z is a work in progress. And we plan to add more as time goes on, but we'll see which ones get picked. And again, people who wanna add stuff to the community were totally psyched about that, so. So this is a little bit more about the controller specifics themselves. So this is, you know, most of my effort in the project has been doing the controller. And so we have, like I said, it is the only HCI interface we have currently is the UART one. We're planning to add some USB support upcoming, so there'll be a USB-based one fairly soon. And you could also run it combined with the Nimbl host. It supports all the 4.2 features. And I don't think there's anything that's not there. And if you wanna go a little bit more into how the code is sort of laid out and what we've done, so basically we have the basis of myNUDE is an RTOS, multitasking, preemptive, task base. You get to write your own tasks, choose priorities. Generally we want the link layer task to be the highest priority. You could not do that, but I don't know if I would suggest that. But it gives you the option to do that. And sort of the host and application use a task and the link layer uses a task. So in its smallest form, there's really only two tasks in the system. And for those of you who use to do this stuff, that stack, test, stacks can take quite a bit of RAM. So it's up to you, you can have other application tasks doing things if that's what you want, but we try to really make it so that, when it's very basic form, we're only using a couple of the OS tasks. As far as state machines go, we do have multi-advertising. So you can, there's a configuration option. You can choose how many advertising state machines that you want. There's only currently one scanning or initiating state machine. We may add to that as time goes on. And certainly we have multiple simultaneous connections. So you can configure the device to sort of try to tune it for your application. Do you want something that does a lot of connections very quickly and not a lot of data? Do you wanna just run one or two connections and you wanna push a lot of throughput through them? The scheduler is sort of configurable in a way and how you sort of allocate the base amount of time that gets scheduled for connections. And what you're trying to do is try to determine like how many connections I think I want, how much time do I wanna allocate them and you configure the system and hopefully it'll sort of optimize for your scenario. And it's a, the scheduler does sort of use this loose time slot-based approach. It's not, there's not fixed time slots for let's say advertising scanning connections. And there's a reason why we went about doing this. We think it's a little bit more flexible. You can have overlapping connection events because sometimes you really, if you're the peripheral you don't really get to decide. When you're gonna be scheduled for connection events. So in that case, what it'll do is it'll use a least recently use approach and it'll just round rob in the connections and hopefully pick the one that's not gonna time out on your supervision time out sooner. And it also uses a sort of, we took a sort of priority approach to it and if any, this is something that you wanted to change you could go in and change it but connections take priority over advertising events and over scanning events. And so, what obviously the schedule tries to do is tries to put advertising events where connection events are not and tries to move connection events so that if you're trying to do many of these it tries to schedule them all in such a way that all can work. And if they can't, one takes priority and the other one just gets round robbing in later. I think I've covered most of that stuff there. So now we're gonna move on to the host. So like I had said before the host and application share a task and you can split these up into many tasks as you want. Generally most applications probably don't need their own tasks to run it but if they do, you know, you can do that. And if you went in, so we don't have an example of this but it's a pretty simple approach. Basically the host uses this table-based approach to define services. And if you look at this service table, what you'll see is there's an easy way to define characteristics and descriptors. You have a user-defined callback if you want for every single, you know, each characteristic descriptor or service can have its own individual callbacks. You can wrap them all into one, deal with them that way. So you have a lot of flexibility there. And now GAP procedures are, there's a set of API to do most of the GAP procedures and I think this is common through most Bluetooth stacks. You know, we just chose a set and you can see a couple of the examples there. And again, with most of these, you have callbacks that you can, you know, your application can do what you want. If you sort of look, it's pretty easy to see, the VLE GAP event function callback and argument. We have a set of defined events for these things. So you register your function. You know, the function gets called with the various events and contexts, you know, for the attributes and the services you write your code to, you know, based on what you want to do for the reads and writes for that. It's pretty simple. And if you look at the examples, we do have a fair amount of examples to go through so you can look at the code, see the examples and it should be really pretty quick to get an application up and running if you're familiar with the spec.   There's a fair amount of documentation on the API and you can look and it describes it and it's pretty easy to use. So yeah, we have documentation. You could go check that out on the website. And, you know, we have a community and it's the Apache Minute community. And we're, you know, people are, I would say, extremely responsive. This is my first open source project. So I don't have a lot of familiarity with these things but, you know, there's really good support. So you can go there, ask questions. It's usually answered pretty quickly and thoroughly. And, you know, we love committers. We love people, you know, contributing to the project. So, you know, it's definitely something we're looking for. And you can also contact Runtime about consulting and commercial support for the OS and the stack. So, you know, we're available for that. And then, you know, if you go into the apps directory and it's pretty easy to see, you'll go through the tree and we have a sort of basic set of apps. You know, BLE perf is a peripheral. So it shows how to stand up a peripheral and do some basic services with it. BLE Tiny is now somewhat of a misnomer. It's not so tiny but it's sort of like a really good sort of command line test tool to test all aspects of the Bluetooth stack. So you can set up connections, advertise through its scan. And it's a pretty powerful command line tool to do a lot of testing and debugging with. You know, to sort of get yourself familiar with the stack and the code. BLE Cent is a central. So it gives a good example of a central. And BLE HCI is the controller only HCI.  It's great. You know, stick it on there. You know, you can use that as your controller to do testing with. And I think that's pretty much most of the presentation. Do you have any questions about the community, the stack or anything about runtime? Are you happy to, you know, answer them? Yeah, so I'm sorry about that. Yeah, so Newt is a build and package management tool. So it actually bundled, it's the build system we use with our OS and project. There is the ability to run Newt. So we're all, I mean, I think Will is, uses SlickEdit. The rest of us are Vi and Emacs for the most part. So Newt does actually build in, so for example, for every board and processor that we support, we include the debug scripts for download and debug and run and programming. So anybody who writes a BSP makes sure that they actually bring up Jlink or OpenOCD or any of those things. One of the things you can do is you can take Eclipse and there's a blog post that a company called CodeCoop wrote on this, we can send it out. And you can fire up Newt and then use it as a GDB remote. And then you can debug with an Eclipse and you can call out to the build system with Eclipse. So there's a whole set of instructions for configuring it on Eclipse. Actually, one of the nice things that we didn't really realize going into it about this approach is that often you have teams where some people use Eclipse, some people use Visual Studio, some other people use just VI and Emacs, and having been the guy who uses VI all the time, the problem you often get is that the make system is some Eclipse studio mess. And so the nice thing about having Newt build in package management and debug is that it works for people who use Eclipse, but there's also a very nice command line interface for people who are just VI and Emacs users, which is me. Yeah, the talk was mainly about the new tools, like a big part of what we're doing. You're in like a lot of people. There's a talk at 2 p.m. tomorrow on Newt. So if you want to come learn more. So yeah, that's a great question. We can always get better and we know we need to get better, especially as an open source project. But some pointers that I'd give you is the minute documentation. So that there has a tutorial on building a sample BLE application and it's a very basic one. There's also an example on how to hook in an air quality sensor and make the results of that CO2 sensor actually make the results of that CO2 sensor available as a BLE peripheral. So you actually go through the process of there's an iOS app along with it. All of that is in the core minute documentation itself. So there are some tutorials and then a bunch of detail in the documentation itself. And then there are, the sample apps are a really good way of getting that up and running as well. So BLE sent and BLE Perif and they work together. So you can, one of them starts up as a central, the other starts up as a peripheral. I don't know, Will, if you want to. I think also, I think something to add with, we wanted to get to the basics and we'll start adding a lot of profiles to the system. And so if you just want to use standard profile, don't want to do anything tricky, that will all be just right there for you. I mean, right now we have, I think there's only one or two profiles that we've added, but that's something we plan to start adding quite a bit more. So I think that would address a lot of concern. It just does it right out the box. You don't have to worry about anything unless you want to do something different. That's absolutely fantastic what you're doing and you just don't find coming in, you know, at the top and parachuting in. You know, what do I have to learn about? Even though it seems kind of crazy. Yep, no. I'm completely unfamiliar with Bluetooth when we, I think we were both unfamiliar with Bluetooth when we started and it's its own world, right? Like, Will had written wireless Macs for like 20 years and then you got a Bluetooth and it's not IP and it has all of its own terms and there's like a whole set of profiles that nobody who's developing connected products actually really even uses. It's mostly for keyboard guys and headphone guys. So there's really a, it's definitely a learning curve coming to it. So I totally agree. Well, so they have their own controller that was actually, the long story on that is that was actually contributed by Nordic slightly after we wrote our controller. But we also can interface with the Zephyr. So Zephyr has its own host stack that was developed by Johan right there. And he'll talk about it tomorrow. Zephyr can work with either the Nimble controller or the one contributed by Nordic. The one by Nordic is Nordic only, whereas we are moving to support the KW41Z from NXP as well. Yeah, I have a radio abstraction there. Yeah. The other thing you do is support the other radio. Yeah. Yeah, yeah. And the question is like more, yeah. Yeah, I mean, you know, from our perspective I think more open source options are good. We like Zephyr, so this is more of a runtime perspective. I can't speak for minute because we're runtime and we're involved in both Zephyr and in minute. So from our perspective, like, you know, the great thing about having a bunch of open source code is we can go look at it and steal it and vice versa. So for example, in my new, I don't know how much Zephyr has taken from us, but we certainly, a lot of the security manager, we took the implementation and the code, you know, we attribute Zephyr, it's pretty much all there from Zephyr, right? And if you look at the controller stuff, I'm not sure there's a lot of code sharing there. We like having our Bluetooth stack for a number of reasons within the My Newt project. One is we have a fair amount of customer usage on our stack. And so as runtime, you know, we came out with My Newt and it was a little bit, I'd say earlier, especially on the controller side than the Zephyr support came in. And so a number of customers have actually deployed this in production and we have a whole set of unit tests for that and a whole set of use cases that customers are using it on. So I think, you know, what you're gonna see in this space is going to be a lot of projects that hopefully over time will collaborate and hopefully coalesce. But it's actually compared to where it was, because I've been, you know, in embedded microcontrollers and then maybe that's caused brain damage for over 10 years. And everything was proprietary and if you wanted to do something, you had to do it yourself. So we, for example, at Silver Spring, we bought an IP stack. We spent probably two to three years of engineering effort on that IP stack and really, really good engineers that has never seen the light of day, right? And it's implementing things like IPsec, which are completely commodity, but we had to implement, you know, ICV2 and all of these things that were code that we just had that we try to upstream with a proprietary stack vendor that we worked with that was just actually absolutely a nightmare. So from a user perspective, I mean, I encourage you to download them, compare a number of connections, compare power usage, compare throughput, RAM and code sizes, all of those things that really, I think, go into your decision as well as community and all of those things. But in general, I think having a lot of open source code out there and it's all Apache licensed that we can share and collaborate on is actually a fairly good thing. We are actually working to break it out of minute and making it more useful for other people. So we've been working with other, we can't really say too much, but we essentially designed a build and package management system into minute. The problem is when you're kind of developing an operating system, it's really hard to change your OS APIs and have the separate Bluetooth stack that's constantly being developed and having to evolve those two at the same time is actually a fairly painful effort, especially for a small team, which we were. But the goal with Nimble is actually to eventually break it out of minute and have all of the operating systems in the space be able to use it. So that is certainly something that's been designed into minute itself. There's actually a talk tomorrow on something called MCU boot, which is one of the first things we've broken out of the minute operating system and it's a secure bootloader that works across both Zephyr and minute. So that's an example of where we are taking a component that's in minute and looking to share it. It's a little bit trickier on the Bluetooth stack side because Zephyr has one and we have one and we have customers on ours and so we need to support it and those type of things. So there it's more of a sharing in code access, but we certainly are looking to break Nimble out and make it cross OS. We think more sharing is better. Any other questions? All right, thank you very much. Feel free to come up to us. And. Thank you.


Hey, everybody, my name is Brian, and you and I are about to go on an amazing adventure together. We're going to cover Magic Ape Ball, the stock market prediction engine that I've been working on for years. We're going to cover what is it, how accurate is it, how do we use it, the differences between the free version and the subscriber version, and a live example. What is it? I mean, really fundamentally, what is Magic Ape Ball? Well, it is a stock market prediction engine, but really it's an advanced indicator. It's designed for options traders, and it uses the options chain. Currently, it's focused on zero DTE, but I'm going to in the future expand this out, maybe even as far as 90 DTE, depending on how accurate those long term predictions are. The predictions come in two flavors, soon and end of day. Now, how soon? Usually within an hour, but we don't know for sure, it's just what the market conditions are doing. And end of day, of course, is the end of the trading day. It also includes example trades in case you're a new trader and you don't really know what to do, and it has vibrant online communities. Notice that's plural. I've been trying to build a network of online communities. How accurate is it? That's the million dollar question, quite literally. Well it depends on a few factors, market condition, world news, entry time, and your individual trading style. I'll give you an example. If you enter a trade at say 10 in the morning, at the same time the Fed is going to speak and talk about how we're going into a recession, you're probably going to have a bad time, regardless of whether or not you're even using Magic Ape Ball, because the market's going to change very drastically as soon as he's done speaking. It may even change while he's speaking. So you have to be really conscious of what's going on in the world, what the market is currently doing. Entry time, everybody kind of focuses on, you know, what time should I enter a trade? I'm going to level with you. The system's designed to adapt with the market, so it kind of negates that. There really is no perfect entry time. We do have some key times that are better than others, but there's really no perfect time. Again, you have to watch the market and world news, and your individual trading style. Your profit or your loss is going to depend on your behavior. This is not financial advice. This is just simply an indicator. I wanted to take a moment and talk about the example trades, because people tend to rely on these as if it's some all-knowing magical oracle that's going to make them billions of dollars. You have to understand that each trade is completely independent. This system generates hundreds of trades every single day, but it doesn't look at all of the trades. It's assuming that you as an individual trader are not going to enter, say, 300 put credit spreads in one day. No, it's going to assume you're going to pick one trade and run with it. It's also ignorant of world events, meaning it's not sitting there scanning Fox News and CNN trying to figure out if there's a new COVID variant or anything like that. It's just simply looking at the market and using math in the background. Each trade also runs to expiration, meaning when I run the log at the end of the day, it's assuming there is zero stop loss and you just put the trade on and completely forget it. That is how I determine accuracy in the system. Did the trade expire full profit or not? So when we talk about percentages here in a minute, we're talking about full profit. Not some weird. I stopped out at 5% or I exited at 50% profit. It is either completely wins or completely loses. Now you as an individual trader, should you stop loss and should take profit when you see it? But of course, this is not financial advice. So this assumes that you are managing your trades. It will not tell you when to enter a trade. It will not tell you when to exit and it will not recommend stops. It's up to you, the individual trader and your trading style and technique, determine your risk factors and what you're willing to tolerate. Okay. Some of the example trades that this thing will generate are butterflies, verticals and iron condors. And we're going to talk about each one of these butterflies. Oh, I get butterflies just thinking about butterflies, but anyways. So a butterfly is a, well, directionally neutral trade. I'm sure you know what a butterfly is. It has a low entry cost, which is what makes it attractive, but it has a very low probability of profit. Some people are really, really good at butterflies, but mathematically, they are the lowest probability of profit. They are extremely hard to make money on. The best time to enter there really isn't one, but we've found that generally between 10 a.m. and 2 p.m. pretty much the entire day is when you can enter a butterfly. The accuracy of course ranges from 10% to 30%. Like I said, very underwhelming for butterflies, but remember, these are running completely to the end of day. You can definitely take these off and make profit when you see it, but this system assumes that it's just going to go to the end of the day, and that's how I'm tracking the metrics. So out of, you know, 100 plus butterflies, 10 to 30% of them expire within profit. That's actually not bad for a butterfly. Verticals. Okay, a vertical. We're talking about the call credit spreads and the put credit spreads. The pros, well, they're very simple to use. You just pick a direction and go. The cons is, well, you're picking a direction. It's directionally biased, meaning if you say the market's going to go up, well, the market can humble you and go down very rapidly, especially in these days. We've identified two best times to enter this trade, right around 10 in the morning and one in the afternoon. And here's why. At 10 in the morning, the market is kind of settling down a little bit from that early morning volatility, and it kind of gives you a good indicator of what direction the market's going to go, at least up until around lunchtime. Around lunchtime, everybody goes to lunch and enjoys their cheeseburger or pizza or Chinese or whatever you're into. And then they come back and they start trading again. And that's when the volatility picks back up. But by then, the market's pretty much picked a direction. And it's picked pretty much where it wants to go for the day, unless of course there's some crazy world event or news. Now, accuracy, remember, when we talk about accuracy, we're talking about running all the way to the end of the day. So verticals tend to be between 50% and 90% accurate. Again, that's going to depend on market news, where the market's going and your individual trading styles. This system runs to end of day. So the accuracy is actually probably much higher if you start using stop losses. And in future versions, I do want to bake stop losses into this system. Iron condors, if you're just looking to make money, I'm going to tell you right now, iron condors are probably one of the easiest ones to work with because condors in the system are huge. They are the most accurate in the system. The problem with this is because they're so big, they have big loss. So you really have to watch and maintain your stops because if the market moves against you, you're going to want to eject out of that condor so you don't take a huge loss. We found the best time to enter an iron condor is right around 10 in the morning, maybe even a little bit earlier so you can get the best profit. The accuracy of condors in the system is between 99% and 100%. That's right. So this thing's generating literally hundreds of iron condors and 99% of them are expiring in full profit. And it's just because the condors are so huge. Now, the problem with iron condors, of course, is if that market moves against you, it's going to move against you rapidly and you have to really maintain your stops. That being said, condors, if you just want to check the system out, they will pay for themselves. You win one condor and it's paid for an entire month of this system. We're going to cover how do you use this? There's three main components. There's a text wall, a prediction chart, and a quad chart. Let's look at each one of these. The first thing you're going to see in a prediction is the text wall and it is literally just a wall of text. But we're going to dive in and dissect this thing. The very first part of the text wall is, well, the prediction. In this case, we're saying SPX current price of $39.48 is expected to move up, closing near $39.49, but will range between $39.48 and $39.54. Really, there's some key elements there. We have the underlying, in this case, SPX, the current price, and the expected direction. We're saying, in this case, it's going to move up, where we think it's going to close at, closing near $39.49, and the range we can expect this price to move within. Remember, this is based off a snapshot in time, the current metrics within the market. So things can change. That's why the prediction is generated every five minutes for subscribers. The second part of the text wall is metrics. This is here to, well, really deep dive and elaborate on how the system came to this prediction, because we don't want to just blindly trust the prediction. We want some, well, hard facts to back it up. So metrics include the price, the direction, the closing, where we think it's going to close at, where we think it's going to range from and to, but then we have volume exposure, interest exposure, gamma exposure, and delta exposure. What are those four last things? Think of the market as a table with four legs. Each one of those is a leg in the table. Now, the volume exposure, interest exposure, gamma exposure, and delta exposure are all analyzer groups within the system, meaning each group is filled with different analyzers and each analyzer tries to become an expert in that specific subject. So for example, volume exposure is filled with a bunch of different analyzers, each one of them that inspects volume in different ways and tries to become an expert at it and they come up with a final number. So each group has a final number and each final number comes together to help form the prediction. There are other analyzer groups as well, but those are the four main pillars, as I call them, volume, interest, gamma, and delta. The final part of the text wall are the example trades and special note here, you can literally copy and paste these trades into Think or Swim. We're gonna talk about that in the live example. And remember that each trade generated is independent. So the trades are generated every five minutes and you may see the system say, well, the market's gonna go up and then suddenly it says, wait a minute, market's gonna go down. It's doing that because it adapts as the market shifts. So for example, if you have a Fed speaker who's gonna talk about how we're going into recession and the market's currently going up, guess what, after he's done talking, the market's probably gonna nose dive really, really fast. This system will adapt with those changes in the market. Each prediction also comes with two charts. The first chart is called the prediction chart. And really what you need to fundamentally remember here is follow green, green is good. Always follow the green lines. If you look at the legend off to the left, you'll see there is price prediction and then we have the four pillars, volume, gamma, delta, and interest. You'll notice the prediction is a dark green and gamma is a bright green. Remember, green is good or follow green. Typically, the prediction is the end of day prediction. It's a dark green. We're expecting that at the end of the day. Gamma, however, is the soon prediction, meaning we expect that very, very soon. The others help formulate what's going on in the market. For example, delta, you notice that's red. Typically the price tends to bounce away from the delta line. And interest is where everyone wants the market to go, but it hasn't quite gotten there yet. We also include tracking lines to show you historically what the price is done, what the prediction is done, and where those four pillars currently are, along with our blue volume profile. We put the volume profile there because volume is pretty indicative of where the market wants to go. The second chart is called the quad chart. And we take each four pillar, volume, interest, gamma, and delta, and we break them off into their own charts. Each chart has a profile, which shows you exactly what that individual pillar is doing under the hood. It has a high and a low range and a prediction line. So we know exactly where each pillar thinks it's gonna go and a small red tracking line so we can see historically what it's done throughout the day. You'll also notice that when you look at the quad chart, they're also very close to each other. So for example, in this image, volume as 3954, where open interest is 3939, but yet gamma is 3947 and delta is 3953. So they're all within a pretty tight range of each other, meaning these are not fluctuating wildly across the market. They all tend to stick to an individual range. That's how we're really formulating where this prediction's gonna go. It's based off these four pillars. Remember, there are other analyzer groups that really help the metrics and help the prediction, but these are what I call the foundation of the market. This comes in two flavors, the free version and the subscriber version. So the free version is, well, 100% free, but it comes with no text wall, no metrics, no example trades, and it only updates every 30 minutes. It has minimal support and, well, if you're interested, there's a link down below. Let's go ahead and take a look at it. If you click the link below, it will take you directly to this Discord server. It is completely free of charge. You don't have to give me a credit card or anything like that. It may pop up and say, give me your phone number. That's not me, that's Discord. I've locked this Discord server down as tight as it'll let me. So everybody joining has to have a verified email account and a verified phone number. All right, first thing you're gonna see is read me. And it is just a wall of text explaining how do you join the paid version? What are the benefits? What are the limitations of the free version? And how do you use this? It's gonna point right back to my YouTube channel. Special note for scammers. The reason why I've set the security level so high is to keep scammers out of here, but they will probably still be somebody in here trying to imitate me. I will never reach out to you directly. If somebody does, they're a scammer, they're not me. And legal disclaimer, of course, this is not financial advice, comes with no warranty or guarantee of any kind. There is a tip jar in case you made some money and you wanna just send me a tip, help me buy some pizza on a Friday night. And a full legal disclosure, I recommend you read that because guess what? If you're using this, that means you have read and you agree to this disclosure. Announcements, where I just make special announcements, a welcome channel. And you guessed it, the predictions. And let's just scroll down here. This is what the free version looks like. You can see it's got a very, very scaled down text wall. It just says, and at the time of this recording, today is March 2nd, 2023, and it is 10.49 in the morning. And it looks like the last update was at 10.31. Remember, the free version only goes every 30 minutes. And it's saying SPX current price of 39.43.22 is expected to move down closing near 39.29, but will range from 39.47 to 39.10. So you're getting the prediction, but none of the metrics and none of the example trades. There's a link in case you wanna subscribe. And if you click that, it takes you right to the subscription page. You get 30 day free access to change your mind. Then you have the two charts and let's just open one of these up. So this is the prediction chart for today. And you can remember, green is good. Now this gets a little bit confusing because you see the price is between the two green lines. So what are we expecting is going to happen here? Well, gamma or a short-term prediction is right here, meaning we're expecting this to go up a little bit, but not too much more. And over the course of the day, we're really expecting this to go down to our prediction. You notice our volume profile, this little blue line here is really pointing towards 39.00 or 39.10, meaning really the market's wanting to pull down is what's going on here. And you have the four pillars, volume, gamma, delta in interest, so you can see those metrics right on the screen. End of day prediction for today at 10.50 in the morning is 39.2888. Let's go ahead and look at the quad chart. I personally like the quad chart because it really dives into a lot of information here. So volume is pointing towards 39.09, meaning we're really expecting this market to go down. Open interest also pointing right around 39.09, meaning everyone else in the market thinks this is gonna go down too. Gamma is pointing at 39.46. You notice that's up a little bit, but not much. You see, we have this profile, we got this blue spike right here. So gamma's just got this intense motion to 39.50. Delta, on the other hand, is 39.34, so also down. So what we can take from this is, well, depending on which one of these pillars you really believe in, some people believe in volume, some people believe in gamma, others interest, others delta. Volume says down, gamma says slightly up, interest says down, and delta says slightly down. So we've got three out of four of these are saying down, meaning it's a good guess the market's gonna go down. So that's pretty much it. Now you may be asking yourself, is the free version good enough to trade with? Oh yes, it is. You just have to pick a direction, pick the trade style you want, and go for it. Now let's take a look at the subscriber version. It comes with a text wall, the metrics, example trades, and it updates every five minutes. This is critical right here. So if you enter a trade, you may be sitting there going, well, how do I know if my trade's gonna be successful or not? That five minute update is critical to watch because if the market moves, this is going to move with it and tell you exactly where we think it's gonna go. Also comes with support and a community. Now by support, I mean, we're not gonna tell you how to manage your trades because this is not financial advice, but it comes with a large community of people that can help you improve your trading habits. And we have mentors and experts. I'm not joking when I say mentors and experts. We have people in there that love to teach and we have people in there that are experts at options trading. I am not, so that's why I've invited them. And they're just doing an amazing job. I appreciate them so much. The link is down below, but the link is also available in the free version as well. Let's go ahead and take a look at the subscriber version. Okay, this is the paid version right here. It's this little icon. You notice it's a completely different server altogether from the free server. I separated these two so there's no what I call bleed through so people don't get confused on which server they're actually on. So to join, you would just go in through the link is down below. It's also in the free server. You give it your name, email, credit card number and all that and you get 30 days to try this risk free. Once you've joined, it will send you an activation code via the email address you use. You take that code and you simply give it to this launch pass bot. You just type in whatever code it gives you and hit enter and it will automatically join you. If you decide to cancel, it walks you through how to do that as well. You just open up launch pass, type the word cancel, hit enter. It'll walk you through on how to cancel it. Leaving the server does not cancel your subscription. And if you forget how to do any of that, there's just another section called cancel that walks you through how to cancel your account. There's a tip jar in case you've made some money and you feel like buying me a pizza. Huge welcome section announcements. This is where I say, hey guys, the system's gonna be down for maintenance or I'm releasing a new version and questions and answers. And once you remember, you get all of these paid channels. We have like general chat, technical analysis, risk management, options, tradings, options, bills, buy and hold, bugs and feedback. I hang out in here quite a bit. And developers, that's right. I'm trying to attract other developers into this system. We have a break room in case you just feel like blowing off some steam and talking about food and logs. Every day, this system posts logs. So you can see the actual accuracy here. So let's crack open and this is the logs for yesterday at 412. And I'm gonna open this all the way. You see there's two different logs. Yellow is the old version, green is the new version, which I'm about ready to release here. So we have SPX, the profit for the day would have been 36,000 on the old version. The new version would have been, wow, $71,000. The overall accuracy was 90% and 98%. Butterflies were 74%. You see, this was a fairly good day. Butterflies aren't usually that accurate. And 97% accuracy on butterflies.  Iron condors are usually right around 100% and verticals you can see 98%. Now, where's this percentage coming from? Let's dive through this log real quick here. So for SPX, there were 228 trades generated. 224 of them expired full profit and only four of them failed. But when they fail, they do fail full profit at least in the log. In the real world, you would use a stop loss. So the overall system accuracy was 98%. Butterflies, there were 76 of them, 74 of them expired, two of them failed for 97%. But then we break butterflies down, zero of them pinned perfectly, but 57 of them were over 50% profit and 19 were under 50% profit. So total butterfly profit, how much we risk, how much we would have made, the ratio of risk to reward, and the same thing for iron condors and verticals. Pretty powerful log, the whole community came together and helped me build this log, I'm super happy with it. But that is automatically generated every single day. Now, some days are better than others. So for example, the day before, let's open this up. The market really moved, I think there was a Fed speaker and you can see that the overall system accuracy of 228 trades was about 57, 58%. And that's because butterflies just horrendously sucked that day and only 20, 25% of them expired within profit, but the majority of them were under 50% profit. So butterflies really struggled. However, iron condors, 100% and 98%. Verticals, 53 and 50. You may be wondering why these two numbers are different. It's because as I dial in the system, I'm also changing the example trades. This whole log is based off those example trades only. These do not include anything that you would do on your own. What a lot of the experts do is they ignore the example trades and they just use the prediction. Speaking of experts, we have this education section. You see it is packed. We've got like Ernie from Zero DTE, Tom from Arama Trading. We have Amplified Investing. Love you guys, there's Vance, Axe Options, this is my home away from home. I mean, those folks are like becoming friends, really good friends with me. And by the numbers, of course.  Serto's doing some just mind blowing things. I'm in there like every day. Even I can trade and I can go on and on, option Sandy. And we have Sheepdog is doing his own SPX Vital Signs and he does a live stream, which is pretty cool. And we've invited the Gekspot in here as well. This is a separate group of folks, but they are developers that are also working towards similar things. So we're really just trying to build a huge community. Now each one of these folks in the education typically runs their own business, meaning if you like what they do and how they do it, you can subscribe to their courses, but they're also in here helping folks. I just love how everybody's come together in this giant community, it's pretty awesome. Now we have the predictions. Now we have two flavors of predictions. We have the current production system and the test system. I'm gonna just jump into tests because I like staying up to date with the newest, latest and greatest. And this is going to become production very soon. I'm gonna go down to the very bottom and you can see as of 1101, which literally just updated, SPX current price, here's our text wall, there's our metrics, and here's the example trades. And remember, I'm gonna demonstrate, you can just literally copy that and paste it into Thinkorswim. We have our current chart. Let's open that up. So we think that it's gonna go up here a little bit, but overall through the day, we're expecting this to go down to probably about 3932 and change. That's kind of scary. My 401k is gonna be really kind of nervous today. And then we have the quad chart that has the underlying metrics all beautifully placed on charts. Now, we don't just do this for SPX, we also do it for SPY.  The paid version gets many, many more. So here's SPY for the day. And you see it's a much simpler chart because it's, well, I don't wanna call it a smaller index, but there's less numbers for that to range around in because it's a smaller range. And then we have XSP, which is like a mini version of SPX, but it's cash settled. It's not like SPY. And then we have QQQ, in case you feel like trading QQQ. And you can see the quad chart for QQQ is much simpler to understand because there's a lot less action going on there. And then we have Apple. Apple's not traded today, but here was yesterday's Apple. Tesla, again, Tesla's not traded today, but here was yesterday's. And we have RUT, NDX, let me go all the way down to the bottom here. And we have our trade logs for the test center. We also have some voice and video channels where people will do live streams. And I am actually in the future looking at doing more of these underlines. Eventually I want to do the entire S&P 500, but remember, this is still in its infancy. The software's still in version 1.16, 1.17 at the time of this recording. So it's still very, very early in development. Okay, let's take a look and do a live trade. For reference, it is 243 Eastern Standard Time on Thursday, March 2nd, 2023. This is what the market's done today, kind of slowly ground up. And there's these little bumps and divots, like really good entry points for different types of spreads depending on which direction you wanted. And then suddenly, wham, market snapped way up. Okay, let's go ahead and let's take a look here. Now, because it is late afternoon, it's almost three o'clock. We're gonna have to be a little cautious here. So I'm gonna go into the paid server and let's see what Magic Ape All's kicking out. Okay, this is, wow, almost perfect. So look at this, the price is up here. And remember, green is good or follow the green lines. So gamma 39.54 and change right here is right near the prediction of 39.52, meaning short-term, long-term, we're expecting this price to snap down here and then down here. But we don't want to just trust this chart. Let's go ahead and let's also open up the quad chart. All right, so this is what we're seeing here. Volume is incredibly high right up here in this area at 39.60, but we're predicting 39.59.70. So where's that? 39.59 is right around here. So here's volume right in this range. And gamma is saying 39.54. So it's also right in this range, right at this ledge right here. We can actually just draw a line. I am not the best with thinkorswim, so bear with me here. I'm a developer. I'm not an options trader. So right at that line here, I'll make that a little bit easier to see. Bang. So that's right around where those two metrics are pointing. And then let's look at the others. 39.22 interest is even lower. And then deltas at 39.54. So pretty much everything's here and then interest is way down down here.  So I think it's gonna go down. I'm agreeing with Magic8Ball on this. So let's look at the trades here. And if you're a subscriber, you get these trades automatically in the text wall. We get a butterfly. Ernie was zero DTE, he loves butterflies. I have not mastered them. So let's just take a look and see what this is. I'm gonna go order entry and save tools, post this. Click this little unlock here so you get the actual price. And then let's just analyze this thing. I'm gonna have to uncheck some stuff here. Again, I am not an expert with thinkorswim. Bear with me. I'm gonna get rid of that vertical I was playing around with earlier and look at this butterfly. So this is what Magic8Ball would be recommending for today. And I'm trying to zoom this in here. Now, if you love butterflies, then you're probably saying this is probably the perfect entry point here because the price is here and I'll just put that line there and the price we're expecting it to drop right down into our profit tent, right into that prediction line right here. So this may be a perfect butterfly if you believe in butterflies. Mathematically, butterflies have the lowest probability and I am not an options wizard like Ernie from zero DTE. So I'm gonna look at either an iron condor. It's a bit late in the day for an iron condor, but they do have a very high degree of success in the system. So let's look at that. And let's paste that in there. I'm gonna lock for the current price and let's analyze this trade. This is why they have such a high degree of success. They are astronomically huge condors. I'm looking at this little black box down here with the two numbers. The magenta line, this is the profit curve or profit in time. So right now you'd make 16 cents or five cents.  You'd really wanna watch this. And this is what I mean by stop loss is critical, $25. Personally, and this is not financial advice, I would probably exit out here or here depending on which way the market goes. We think it's gonna go down. So if it went down too far, you'd really wanna watch your exit, your stop. All right, let's go ahead and get rid of that. I tend lately to follow more like ax options and what they do and vans. And a few other folks, actually I should say pretty much the whole world is using verticals but you know what I mean. We're gonna copy this and let's see what Magic 8 Ball is recommending here. Gonna paste that in.55, unlock it. And let's analyze in case you're wondering, you unlock it to get the actual price. Now this right here, this gives me some concern. Magic 8 Ball is thinking the market's going to stay above this 39.50 and I'm a level with you. I'm not comfortable with that because everything in Magic 8 Ball was saying it's gonna go right down to, let me open this up again, right down to the 39.52. So there's a degree of chance that this could stay above that but it will probably end up like right here at this line and I'm not sure I wanna risk that. So this is what I mean by, you have to kind of be your own expert. Don't just come in here and blindly take trades. Magic 8 Ball is trying to become an expert making predictions and the trade system is still a work in progress. All right, but what we can do is we can flip this around and do it ourselves, meaning all is not lost. Let's go ahead and get rid of that. We know it's gonna go down. Let's just put that line right where the current price is and we think it's gonna go down to about, what we say, 39.56 right here. So it's gonna go from here to here. So let's, and I'll show you how to do this off the free version just to prove you can make money with the free version. I'll go to the free version, go all the way down to the latest. Last update was 232, it is 249. But you can see, bang, pretty much the same thing. Open this up. It's up here, it's gonna drop here and then drop here. Now you notice Gamma's up here on the free version and on the paid version, it's here. It's because the paid version's updating more frequently. This is why you get that benefit of actually being a subscriber but regardless, we think it's gonna go down. So I'm just gonna note that we think it's gonna go down to about 39.56, but this is up here. So I would probably split the difference between these two. And I would say we don't wanna go any higher than really right around 39.66. Where did I get that number? How to finnair, I just, I'm guessing honestly. So I'm gonna go in here and I'm just gonna hunt for something that is in our price range here. So we could actually go here if we think it's gonna go down but I'm still newbie here. So I'm gonna hunt and pick for something. Again, this is not financial advice and all of you senior level options traders are probably laughing at me right now. All right, so this one looks good. 39.85, I'm confident this is gonna go down. Might go to 39.90, 25, there we go. No, take special note, it's at 25. I wanna show you something here. We're gonna confirm and send, I'm paper trading and I wanna show you how to paper trade as well. We're gonna hit send, when it filled automatically.  This one did fill at 25, I'm impressed but usually it's just garbage. So if it gave you like a .45 instead of 25, you just right click, go to analyze. And then in the analyze tab, you would adjust this where you actually got it filled at or where you thought it would have filled at like .20 for example. But it was actually fairly logical that time. So what I would do now is I would just ride this either to expiration, the end of the day is coming up in about an hour. So I'm fairly confident this will make full profit or I would set some sort of stop. So I'm looking at this little magenta number down or I'm sorry, the teal number down here 25. So me personally, and this is not financial advice I do a two X stop. And so I would hunt for right around here at 3980 is where I would set my stop. So if the market suddenly ripped up to 3980, I would just cut my losses and get out. Otherwise just sit back, watch Netflix and collect your profits at the end of the day. I'm gonna level with you. I may actually take this trade in real life. That looks like it's actually gonna be a really solid trade but I hope you found this educational and entertaining and I hope to see you in the room. I wanted to take a moment and talk about our mentoring system. You've noticed repeatedly in the video I've said that I am not an expert, I am not a professional options trader, I'm a developer. So what I've done is I've invited experts and professional options traders into this group and they are all in the education section. And let's just dive through some of these. So like zero DTE, this is Ernie, he really specializes in butterflies and some of his trades just blow my mind because I'm like, how did you even do that? Tom with Aramaic Trading, he's really, really great guy. And Amplified Investing, Vance Lorne and they also have buy the numbers in here as well. Great group of folks and I've learned a lot just from having them in this group. I think my knowledge has gone up 200%. I didn't have much to begin with but anyways, Axe Options with Arianne and folks, these are, I'm gonna admit, this is my home away from home. You can see I literally have them right under my discord. So if I'm not in my discords, I'm in Axe Options Chat in a way and watching and learning from them. Great group of professionals. And then we have Serto, he's one of our members and this guy is just completely kicking butt right now.  I mean, look at his win rate, 94% profit and loss. He's made 600% and he's very transparent about what he's doing. Even I can trade. This guy, man, hats off, he's taught me so much and it's just basic things that you'd think you would get off a standard YouTube video that I just can't seem to find out there that he's very patient, he's very willing to teach people. And then Option Sandy, another great individual. She's got her own service and I'm in there as well. Great service, great information, great group of people. And then we have some homegrown stuff like SPX Vital Signs. You have Sheepdog here who will actually run a live stream. And then I'm actually inviting other people. For example, Gekspot. I didn't write Gekspot. This is some other folks actually like jazz and team. They wrote this and I've invited them in here and said, hey, please show what you got to our folks. And this is just, I mean, this is gold. It's just really great to have this nice community of people where we all kind of work together to help each other make money. And I wanna grow this education section out even further. If you are a, I don't wanna say YouTube celebrity, but if you're like an options expert and you have a YouTube channel or if you have some sort of bot like Gekstream, just join right into the free server, hit me up. I'm Brian C, this guy right here. And just say, hey, I wanna join as a educator and mentor and I'll just hook you right up. Hope to see you there, bye.


the top item here, the DHS2 core can now be packaged as a Java archive instead of a web archive, which means that it's much slimmer and easier to deploy in containerized environments and those types of things because you don't need to include all of the static assets and web files that make the web archive much bigger than the Java archive. This is particularly for high-scale deployments, but it's an important new feature or new capability that has been added to the DHS2 core.


Live from Mountain View, California, it's The Cube at OpenStack Silicon Valley brought to you by headline sponsor, Mirantis. Here are your hosts, John Furrier and Jeff Frick. Okay, welcome back everyone, live here in Silicon Valley is the OpenStack SV event, special big tent event, really an ad hoc flash mob here because just the demand for OpenStack is so high, they sandwiched us some time in Silicon Valley with innovations happening between Paris and our recent event that we covered in Atlanta. This is The Cube, our flagship program, we go out to the event, cover all the signal and extract that from the noise. I'm John Furrier with Jeff Frick. Our next guest here is Josh McKenzie, co-founder and CTO of Pivotal Cloud Computing. Welcome to The Cube, again, Cube alumni. Great to be here again. We love the high energy chats, my brain's a little full from that last one, but I'll try to hold it together, but in all seriousness, a lot of action going on. So the first question I got to ask you is, a lot of commentary this morning on CrowdShat Around, direction of OpenStack, should be more product focused, general consensus across the board, growth is there, and there's some growing pains.  So it sets your take on it, you're involved and you've been there for the beginning. Where are we? Are we growing pains? These are growing pains. These aren't like teenager, seven-year-old growing pains. This is sort of like we've moved out, gone to college, we're remembering we got to do our own laundry. So the product management stuff came up at the last board meeting. Well, we're going to start checking out who is doing their laundry. That'll be the hint. Who's doing their laundry at OpenStack? Last board meeting, we had a lot of discussion around product management. Was that a role the foundation staff could support more? Was that something that the vendors involved could pony up and start providing some of those resources? The TC themselves have stepped up really nicely this release cycle to focus more on collaboration between those projects, which I think is where the sort of product focus fell down the most. And we're now looking at ways to open up the release cycle a bit. This is all part of that maturation. So I think these are all really positive signs. So I got to ask you about the networking piece. That's been something we just talked about with Juniper here. Is that, on a scale of one to 10, 10 being it's done, it's baked, it's cool. Two, one, it's a complete. That word you're not going to use on television. Show, something show. So a little disclaimer, I'm also on the OpenContrail advisory board with your last guest. So I have a little bit of a bias towards Contrail as being the way that I think. Contrail now Juniper. Yes, but now the project, the open source project is now called OpenContrail again. So it's been spun back out. I see that as really the open source solution that's going to win in the SDN space, in the same way that OpenStack has won at IaaS and Cloud Foundry is winning at Paz. It has all of the same ingredients. And as usual, I'm probably predicting this five years before it will come true. Two years before anyone else will believe me and a year before we should start drinking. Okay, so a question from Tim Crawford, our virtual host out there on the crowd chat. Does OpenStack need more distributions or fewer i.e. consolidation to help engagement? Sure, so we saw the acquisition of Eucalyptus by HP this week. We saw Inovance being picked up by Red Hat earlier this year. I think we're going to continue to see some consolidation. I was on Twitter yesterday, predicting that Apple would buy AT&T for their OpenStack team. I'm being a tiny bit facetious there, but I think it's equally likely. And I think the right number of distros is something the market is telling us as we go forward. You know, at the point at which my customers can't tell the difference between Piston OpenStack and the Cloud Scaling Open Compute System is the point at which you should probably just buy Cloud Scaling. We're not quite there yet. They still have different value props. They address different needs. And I think that's really still a pretty healthy number. So the private cloud is something that's not really panning out in some minds. Hybrid Cloud takes more of the marketing front line. I mean, private cloud exists. I mean, it's kind of kind of in the shadows, basically a data center. But Hybrid Cloud is where the action is. You look at VMware, like what everyone's talking about. Hybrid Cloud is definitely what everyone's pushing. How do you see that? And do you disagree or not agreeing? I think it's for sure where the market attention has moved, the media attention. I mean, it's kind of like the joke, just rub some docker on it, you know. People are excited about Hybrid Cloud because there are problems left to solve there. And a lot of the problems with private cloud have been addressed. I like to point out, this is the year that OpenStack got really boring, right? We've got lots of customers have been in production for a couple of years now. There's no exciting failures, you know. The rate of feature development is now way, way faster than the rate of media coverage. We've had our 15 minutes of fame and we've actually conquered everything there was to conquer. And now we're just down into the daily grind of helping people run infrastructure. And how do you balance the, some of the commentary we saw earlier online where the marketing war has won, OpenStack is now there, you can live to sell to HP, CloudStack's final chapters. Achieving the success now is there's a kind of a sentiment of did we over market and can 2015 be the year that they don't fall short? In other words, are we over promising under delivering the risk of that? Sure, well again, remember my other role is co-chair of the deaf core committee for the foundation board where we're really dealing with clarifying for the market, their perception of what does it mean for a cloud to be OpenStack? It's a very narrow, small core set of APIs. All of those work extremely well. And so when we're helping to get this message out of, here are the things you can expect in OpenStack Cloud to do and do really well. Anything that the vendors providing above and beyond that, your mileage may vary. You're really relying on that vendor to be delivering great differentiated value and it may or may not be there, but OpenStack itself, I don't think it has any distance to go. We've already arrived. I definitely already arrived. Now that when you say boring, you mean just get down to business and build out. Yeah, that's right. Just scale out and another hundred servers, another hundred servers, another data center, another two data centers. So the theme, other theme that's coming out, see James Ward from Cloud Foundry kind of pumping his fist. Yeah, we won, we're winning, we're big, the big boys are going to win this.  Is it a do it yourself OpenStack kind of guy out there? Just kind of trying to make a living or they're going to have to play around the stack, tooling, a lot of folks are scratching their head, not only from a standpoint of consolidation potential of how and where I could fit, but mostly how do I sustain myself in the ecosystem? So everyone's always trying to figure that out so they don't get rolled over. Well, you know, every startup is built and the nice term for this is hyper growth, right? But the reality is startups are mostly about get rich quick schemes. And so when you look at, oh, we're going to go jump into a new market where we can be an OpenStack consultant instead of a data center consultant and we can charge $1,000 an hour instead of $100 an hour. Those days are fading. I think we're going to see a lot of the professional services revenue dry up in this ecosystem as folks shift over to using mature products. I know there's some great analysts reports came out in the last couple of weeks highlighting where the revenue is projected to go as this market explodes in the next couple of years. And that certainly matches what we're seeing. There's always going to be room for great, I don't like the terms devop or agile or scrum or whatever, but helping folks, especially in larger traditional organizations, keep up with the pace of change, adopt new ways of doing things, adopt new languages, new tools, new processes. I think there's great opportunity for smaller businesses in that space. Are you worried about funding? I said piston? No. Revenue is the best source of funding. No, absolutely. It's two ways to raise money, get customers to pay you or raise you for the capital markets. But that's one of the things we're watching is companies that were founded a few years ago. You're two, three years in, a lot of other companies are in the space that were venture backed that might not have a revenue model. We had great conversation with Blue Box. They got revenue sustained on their own. But they were a company a long time before they were an OpenStack company. So let's see what they can do with OpenStack. So they had funding, sustainable funding. They weren't banking on a revenue stream with OpenStack. So some folks aren't really raking in the dough. So they looked through the capital markets. So you're saying you're fine for revenue, you're good on funding. I love revenue. I sort of feel like we're in the boring phase. We're four years into, well, six by my count, but let's say four years into OpenStack, three and a half, almost four years into Piston now. When companies are three or four years old, you better have some revenue. If you haven't figured out how to get people to pay you, maybe you're not doing anything important. Yeah, usually the two years in, you start to get the trajectory going. And in three years, you kind of figure out where you are in the inflection point. Exactly. And where's that hockey stick ultimately, right? So for you, what's your hockey stick moment? Where do you see that? What do you envision that preferred kick up to be? Not year, but like in terms of environment, landscape picture. How would you envision certain things being in place? Oh, it's already happening. And the big pull for us has definitely been application development. The partnership with Pivotal, which was a couple of years ago now, we're still the preferred mechanism for running OpenStack under Cloud Foundry. Our biggest customers are using it that way. Our most revenue producing customers are using it that way. And it's a very large percentage of new deployments. At the end of the day, what is IT infrastructure for? It's for running apps, right? Well, who writes those apps? Those are developers. Those are the people we're trying to serve. All of the rest of this is like, whose API talks to whose API and compare. It's all just noise. Just focus on solving real problems for developers. It's infrastructure to serve the purpose. Right. It's noise if it becomes the lead, optimized conversation. Yeah, exactly. If you optimize for the under the weeds. If you go home at turkey dinner and you talk about SSD performance to your mom, like that's not good Thanksgiving conversation. I've had a second in my conversations. That's all I do is talk about low latency and milliseconds, you know. And that was- How did we talk about this last time? Go to your room. Anyway, so let's go back down to the outcomes. One of the other things that came out of the event here and Rodriguez, when I was, Flores, when I was talking on Twitter about it, it's there's too much bits and bytes going on in the weeds and there's no senior level conversation. So you're actually doing revenue. So you're actually talking to customers, providing a service, getting cash for that service and put it in the bank and doing it again and again. Rinse and repeat. It requires you to have a senior conversation with senior executives to get the cash. It requires us to talk to somebody who's allowed to buy. And this is really the crossover for us. Most application development teams are allowed to buy whatever they want. This does not require a C level. So you don't have to go and sell the CIO on OpenStack. You can go and sell a senior director on OpenStack and he can stand it up for his FDF team and his project or almost any marketing organization now can buy their own infrastructure. It's amazing how many folks can buy even for private clouds even when it comes to rack and stack of hardware because shadow IT is a bad term but traditional IT is not designed to keep up with rapid pace of change. They're designed to do boring things really well at scale very securely over a long period of time but when you have rapid innovation like OpenStack is only four years old. It's very young. So let's talk about those conversations for the OpenStack community. Folks here, what is the senior level or buyer conversation for OpenStack that is just straightforward for those outcomes? So about app developers in particular, the buyers. Right. So we published a TCO calculator last week on the Piston website just comparing your AWS bill to the cost of building and running a private cloud including hardware, including sysadmins and power and data center and cooling and everything on Piston OpenStack. And it's a super simple conversation now even with startups in Soma, if you're spending $20,000 a month on AWS, you're paying too much. You could do this cheaper in-house. Almost anybody can have that conversation, right? There's a lot of small dev teams, a lot of small operations. And that's not hard to cross over on that threshold at all. Given order of magnitude, 20K a month, what kind of profile company is that? What kind of app they running, what kind of? It really varies but let's say it's 100 to 150 people as a sort of Soma tech startup.  Yeah, so they say, hey, I can save X, so cost of ownership right there, done. That's how you guys are winning? Yeah, absolutely. That TCO calculator has been a great tool for us. It's the hockey stick right there. Let's talk about Cloud Foundry. You said they're winning. James Waters says he's winning. Yeah. So people will debate that. Are they winning or are they not? So look at, look at, look at, how did we know that OpenStack was going to win in the early days, right? It was who joined? First, you look at the leading indicators, okay, who's signing on board?  There's not going to be anything else that matters in this ecosystem. So who's not a part of Cloud Foundry? The AWS, Amazon? I mean, Amazon, Azure? So Amazon's not a part of anyone but if you look at the software only, the open source past software, you've got the Docker ecosystem, which by the way is a great partnership with Cloud Foundry. We see a whole bunch of Docker integration going on there now. You've got OpenShift, which is really Red Hat by themselves, and then everyone else has doubled down on Cloud Foundry, right? IBM BlueMix is Cloud Foundry, HP's in there for Cloud Foundry, Pivotal, Piston, you've got a ton of customers, Swisscom up on stage at the last CF summit talking about what they're doing with Cloud Foundry in production. Like, it just, and now I'm going slowly, so I don't mention a bunch of customers I'm not supposed to talk about yet. Good catch. Yeah, it's a really exciting time. We'll get those customers. Josh, it's great. One of the things that's great talking with you is one, you have such great knowledge of what's going on and the relevance of right now, but also the historical perspective. Looking back now from the early days when we were all kind of hanging around pre-OpenStack, it was a handful of people, now it's thousands of people. At least here in Silicon Valley, it feels like a homecoming because everyone can see each other. Hey, we work together, we're going to show you that barrister. How do you feel about the current situation? I mean, I see you're an entrepreneur, you've got a business to run, you've got some good revenue coming in, you're part of the foundation, you're part of the ecosystem, you're one of the founding principles, the industry here, what's it, you ever reflect and go and pinch yourself and think, where am I? Who am I? It felt like that for a lot of the first couple of years, and at a certain point I made the Thanksgiving dinner joke. It really feels like family. I run into these folks all the time. Every single event I go to, there's OpenStack people there. I went, my kids are in Victoria, I live up in Victoria part-time, and I went to some local little tech event in Victoria, Canada, thinking nobody will have ever heard of OpenStack, I could just like hide out. I was wearing my piston hoodie, I went up to a table and the guy goes, oh, you're from Piston? And I looked down and his company was R2 OpenStack. And it's a one-man shop, just selling OpenStack in like small towns in remote parts of Canada have OpenStack distributors now. So it feels like we've actually just changed the entire landscape of IT. And it's just beginning too. I think this transformation, it's totally a game changer in terms of, we're changing computing. You guys are really done a great job. Josh McKenzie with Piston Cloud, great guy, great guest, Cube alumni, great to have you on another tech athlete as we say, we're here live in Silicon Valley extracting the data and sharing it out of their heads, right to you. Here on theCUBE, I'm John Furrier with Jeff Frick. We'll be right back after this short break.


The study found that primary care patients with prediabetes are less likely to meet the recommended amount of physical activity if they have certain characteristics such as being male, living in public housing or having osteoarthritis. However, those who had family members or friends to exercise with or who had a personal history of osteoarthritis were more likely to meet the recommendation. Additionally, the study identified several barriers and facilitators to physical activity at various levels of the social ecological model. At the individual level, participants cited lack of companionship from family members or friends, medical conditions that hinder physical activity, and lack of knowledge or skills to exercise properly as barriers. On the other hand, health and well-being concerns and education by healthcare professionals were identified as facilitators. At the interpersonal level, participants mentioned peer influence and healthcare providers advice as facilitators. At the organisational level, participants pointed out lack of access to exercise facilities in their neighbourhood as a barrier. Finally, at the community and policy levels, participants highlighted the importance of government policies and initiatives to promote physical activity. This article was offered by Raymond Buntalim, Waikiyom Wee, Wee Check For, and others. We are article.tv, links in the description below.