 All right, wake up pay attention. Let's get this party started. Am I ready to go? Can I go? Can I go? Ooh, I'm timing. All right, I'm gonna give you very quick things. I made these slides just now so I haven't thought this through so it will show. Essentially I'm gonna talk to you about what originally started. I named it the BDSM project. It's now the SM framework as a subset of that project. The whole idea behind it is essentially that servers should be submissive. So essentially what is this? The SM framework? What is SM? Well, it's an acronym because I couldn't really figure out what the hell the name it. System Stack Scripting Management Framework. That pretty much sums it up. So what it is, it's got a core to it. It installs to opt SM if you install as root by default. It's got a command line interface that it supplies to you. It has modules that it supplies as well. We'll get to those in a few minutes. And the modules have an API. Get to that again. And then the whole point to it is that it enables you to write extensions. So you ask what the BDSM project does, what the SM framework does. The answer is whatever you need it to do. The idea is that it's a framework to enable you to write system level scripts and distribute and share and do all kinds of useful things with them. So what is an extension? Basically it is a directory. It's a named directory. It has a bin directory. You put executable scripts in this bin directory. That means that it's actually language agnostic. Language agnostic, but actually doing it in shell has some significant advantages. So you make a shell directory inside of your extension and you make a functions file in there and you can actually put shell scripting functions in there, which if you add scripts into your bin directory, executable scripts that are shell scripts, then they will automatically load in these functions in there as well as other things. So now what we have here is we have the core CLI. We have our extensions. But the point of the modules that I showed you earlier is that the modules API can be used by extensions. There's a lot to it. I'm not going to go into it, but basically you have an includes file inside of the shell and you can include the module APIs. And depending on what modules you included, you may have other auxiliary directories like configuration, templates, depending on what modules you include. And there's also this useful little CLI mapping file, which basically allows you to map command line actions, like I have a deploy extension I'm working on. You can type SM space deploy and in the bin directory of that extension, there is no files. So it's actually being mapped to a shell function in the functions path or runs my file. And then so if you're a good extension developer, you also have a version and you keep in version. You can install them easily by SM and ext install name URI. So you give it a name. This is what you're at, you know, SM space if you're installing an engine next one would be SM space engine X whatever give it a URI that can be a file system path of any valid URI. And then you can also have sets of extensions. So if you have a bunch of extensions that are related to your company or whatever, you'll make a set with a bunch of them. And you install them similarly. So what's the scope of this project? Well, the scope is you have your operating system. It has an underlying package manager. It manages your operating system and all that stuff. It does damn good job at it. Don't mess with it. Just use it. And then you have your application stack. So everything that defines your runnable application stack, use the SM framework to script that into submission. And then on top of that, you add a content management system like chef. And then on top of that, you have some distributed thing for managing multiple servers probably. So the scope of this is supposed to be a single system, scripting stack management framework. Again, it's the BDSM projects SM framework. I have a GitHub organization for it as GitHub.com slash SM. And it's just like the RVM website, but BDSM or if you're at work and they block stuff like that, you can actually do SM.beginrescuen.com as well. If you have questions on this, ask me later. Enjoy.