Hi everyone, my name is Kelsey. This is my colleague, Nishila. We are software engineers over at Microsoft. We work on the Linux kernel team over there. So today we're wanting to help give an introduction to the Linux kernel, a little bit of a start of what it is, how you can get into maybe start customizing it and start contributing upstream. That's something that you're interested or even just interested in knowing how that works. The first thing to get into, of course, is what is the Linux kernel? It is the core component of the Linux operating system. All the operating systems are going to have kernels in it. It manages the hardware and software interactions, enables things like multitasking, resource management, input-output request, handling memory. A lot of workings go into what the kernel does. It's of course a very important part of every operating system. There's a lot to it. It can generally be very intimidating to get into. Lots of information. There is so much, it is something that you're never going to know all of it. That's a little bit exciting. It can also be a little intimidating, of course. So Linux kernel was created by Linux Torvalds back in 91. It has been growing a lot ever since then. Now with thousands of contributors around the world, lots of companies have Linux kernel teams, which is awesome. We all get to contribute towards a, it's what's called the upstream kernel. We'll get more into kind of that. And a lot of companies will have their own customized kernels as well. But it all is based on what we're going to refer to as the upstream, is this what everybody, most people collaborate towards, and then we bring it down and customize it from there. So we will dig into that more. So on this first part, we're going to get a little bit into the subsystem structure. initial is going to cover that. Just keep in mind, this is very high level as an introduction. We want to be able to give concepts, things that you'll be able to research later. There's a lot of information that we're going to be covering here too. Of course, it's not going to be a test. You don't have to remember it all. And we're going to provide resources at the end. So it gives you an opportunity to be able to dig into all of this later on your own. And of course, you're always able to check the resources, reach out to us if you have questions. And there's a huge community out there to help as well. So, bye. Thank you. So I'm going to be talking a little bit about the various subsystems in the Linux kernel. Mostly just high level overview of what each subsystem does. So like you can see in the picture, there can be multiple applications or multiple processes that are running on top of the kernel. And one of the first things that I want to talk about is the process subsystem, which basically manages processes life cycle. So it includes what happens when a process is created and how the processes are scheduled and how a process is terminated. So those things are basically what the process subsystem manages. And there's also the scheduling algorithms around when a process needs to be scheduled on a CPU. So process subsystem is kind of the main subsystem that manages anything around the process life cycle. And the second thing I want to talk about is the memory subsystem. So this is the subsystem that comes into picture when memory needs to be allocated. So this is basically physical memory and also virtual memory, which is basically the abstraction for different processes about the underlying resource that the hardware has, which is basically the RAM. So the next subsystem is the file system. So the VFS is the virtual file system, which kind of has a common, provides a common set of APIs for read, write, and other assist calls, which kind of trap into different file systems based on the underlying physical storage device. So VFS is like an abstraction before the calls go down to the file system specific calls. So the next thing is the networking stack. So the networking stack is basically what's responsible for how a packet is processed from user space all the way down to the kernel. So the kernel has basically a bunch of drivers which enable you to talk to the underlying network interface card. So the entire TCP IP stack, which is responsible for what happens when data is passed through a socket at the application layer, all the way down to the big card is kind of handled by the kernel itself. And the next thing is device drivers. So this is basically the subsystem that handles different kind of hardware that gets plugged into the computer, like the keyboard, the mouse, what happens when you have a display board attached to your computer. So device driver subsystem is kind of what manages how different devices are handled in the kernel. And the next thing is architecture specific logic. So this is basically processor specific logic that is present in the kernel tree, which is responsible for supporting different processes. So everything else that I spoke about earlier is processor independent and the architecture specific subsystem is basically what manages based on what kind of CPU the hardware is made of. So can we go to the next slide? Yeah, so this is kind of the structure of the kernel tree and I basically had this to kind of map what directories map to what subsystems. So there's the MM directory which is the memory managed subsystem and then there's the net directory which is the networking subsystem. And then there's the FS directory for the file system or the VFS subsystem. So that's kind of how the kernel is split. So this is actually the entire tree and Kelsey is gonna talk about where to extract this tree from and how to build a kernel and what's the process that needs to be followed in terms of getting the kernel and building it and compiling it. All right, so this page here is the linear kernel archives. So this is going to point you to what I was referring to as the upstream kernel. This is the one that a lot of us all contribute to. This is kind of the kernel rule them all like the upstream, the primary one and a lot of the distributions out there like if you're thinking you've gone to so forth there they're gonna be pulling from this tree and then generally adding customizations on top of that. So if you want the original source this is where you're gonna go to get it. Sometimes people prefer of course getting one stream you can go over to Ubuntu and they provide their kernels as well and you can download those. Even like, you know, at Microsoft I work on the Windows for sub system for Linux has its own kernel. You can even, you can get that we have our own GitHub page and it has its own customizations and this is where I pull updates from as well and we try to stay as close to the upstream as possible. So that is generally a lot of times in a lot of companies that's the goal is we wanna contribute to this kernel and then we're gonna be pulling that into our products and we wanna try to keep us true to upstream as possible. So this is where you go, go to kernels.org. You would be able to, as you see there's several options of how you can get different kernels. There's a long list here, mainline, stable, long-term you see bunch of fun numbers we'll get a little bit more into kind of the cycle of how these are released and I'll get into what each one is a little bit more later but just know if you wanna get started and just do a Git clone get one of these kernels to get started and save this website and this is where you're gonna go to retrieve that. Again, also anything we reference I have on a resource page and we do did upload the slides onto Sketch so you can access those, you wanna reference it later. So once you get your kernel a lot of times what you wanna do is play with it, modify it, have fun with it, break it, do the fun things. Super easy way to get into it is one thing I try to tell people is you don't have to have a huge understanding of C or Rust now or even how the kernel works to start playing with your kernel if you want to get some kind of benefit or customize your kernel really you just maybe know a little bit of Git is going to be your base that's gonna be wanting to get your tree downloaded and then you can get started and learn as you go so I know a lot of people are very intimidated getting into kernel work and once you get it started you just make little steps, right? It doesn't have to be intimidating you don't have to know all the things that's very okay so where I recommend anyone who's getting started to start playing with your kernel and customizing it is the config so there's a very large configuration file what this is gonna be is you see a little list of things you can do with that so you can enable or disable features optimize the performance a lot of things are gonna be like support for new hardware so a lot of people will customize their kernel to be lightweight as possible by disabling all this hardware support that a lot of people have but they don't have that hardware so that's a great way like maybe you want to have a quicker boot time so you can do that and then there's a ton of different debugging options maybe there's something you're trying to debug you're managing something you're trying to debug it like a file system maybe you want the file system debugging options and turn on this is where you're gonna go to turn that on so this is a great place to get started all these little make things all are gonna result to the same thing so it's kind of a pick your own adventure what are you comfortable with do you wanna change your configs through a graphical interface or a text interface this one that's pictured is make menu config this is the one I tend to go to it's pretty user friendly which is great the only one I don't really recommend for beginners is configuring the file manually some configs depend on other configs you change one config that something's dependent on you might break things so it's a fun way to play around or see what breaks things but I always recommend what these top ones are a little bit safer and you can always do a it's called a gift diff diff the files and sometimes it's fun to see like change the config diff old config in your new one and see what all changed so if you wanna just get started this is where I recommend to start playing with your stuff then obviously the next part is modifying code so you can either add your own code you can maybe get code from somebody else super common way something maybe somebody wants a feature or a fix that isn't a kernel you don't have maybe you are running an old version but you're happy with your old version and somebody released a version that you know or a feature that maybe not released even you can add that you can add your own and that's kind of things like doing like a security fix that's huge that's important that's actually really common for like whether it's us maintaining kernels like even like at your favorite districts a lot of what they do is going to be finding fixes that might not be they're gonna be on like a certain kernel version and pulling in updates but there might be an important fix that they need to it's called back porting where they're gonna go grab it from a different a future kernel and bring it in cause it's not always an option to be on the latest and greatest we need stability but sometimes we need to pull in some fixes so these are all things that you're able to do on your own so after you get used to the config files getting in and just messing with the code sometimes it can be fun delete code see what happens or add things and just kind of see how it alters or even like doing hardware control so there is lots of stuff you can do which is yeah it can be a lot of fun so the building or kernel I was a little skeptical to even play it in here but it feels important of course that is going to be an important step but it is we're gonna go through this a little quickly the reason being is depending on the distribution you're running these steps might vary a little bit it's gonna be a generous same as you can see here kind of says like on Ubuntu, on Red Hat based system, on SUSE so we're gonna go on the general basics just note depending on your distro you can go in reference there's gonna be generally the standard commands you're gonna run through it might vary a little bit so you'll wanna look up your distro and find but we're gonna go through the general steps to show you so first step is make sure your setup has the packages it needs to do the build so make sure your packages setup and by the way I actually I wanted to show an example of the documentation out there there is a lot of documentation out there sometimes it's just finding it this is from copied directly from a website called kernel newbies this is a common website to give out to anybody that's getting into kernel development to find a very wide array of instructions so this is a great website I also have it linked at the end and this is where I pulled the instructions from this reference point so step one make sure your system setup with the packages and dependencies it needs then you're gonna build the kernel it is as simple as you're just gonna be in a kernel tree and you're gonna run make you see a little flag here a dash j you can speed it up by adding more processors to it it does take a while it can take a while unless you have a lot of resources to give to it so do be prepared for that there's a lot that's building once it builds you make a little change it'll be a little quicker or remember that unless you clean it all out and make it start over again so it's not that bad instruction wise to actually get this build as you see here there's a little link that says read some comics I couldn't leave it out because it is one of I think the one of the better XACZ comics so how to put that in there but it does it can take a while so be prepared for that do new research go have fun do something I don't recommend just watching that and see what it's doing unless you are really into that once you have it built once you want to install it again this is kind of as simple as just running another make command what you see here is it's going to install there's a bunch of modules so there's going to be like different kinds of module supports wide variety what they do so going to do like a modules install and then and then the install so it's actually going to install the kernel to your system some distros be warning there are different instructions for this if they use like a type of packaging like Ubuntu uses like Debian packaging and sometimes they're going to be like oh put it into a Debian package and then you're going to install it that way so be aware there might be different instructions and it is kind of a sometimes choose your own venture find what's going to work for your distribution your setup and yeah your setup and then you're going to also need to update your grub so the grub is going to be for booting on this one it's going to be so letting your computer know this is installed this is going to be an option for booting anytime you restart you're going to update your grub and then from here you just restart your computer and it's going to boot with the latest kernel now I'm going to give a giant warning here always keep your old safe kernels at least one installed if your kernel doesn't work your system will not boot that is so always keep a safe kernel if you want to be extra safe especially where you're starting spin up a VM to get started that way you know if you're just lost you don't know what to do you know it's as much as starting up another virtual machine for you that's always a super safe way to to do this but keep a kernel a safe kernel as a backup always that you can default to because if you start customizing as a kernel at some point you're going to you're going to build one that's not going to boot for you all right so once you have your new kernel up and running next step you're going to want to do is know how to test and debug your kernel maybe you're either wanting to find a regression or you're running into an issue and you don't know where to check initial is going to take over this part so when it comes to testing the kernel it pretty much comes down to what is the change that we made and when I say what's the change it's not necessarily a single line or a hundred lines but it basically depends on the nature of the change right so let's say if you're changing the data type of a variable from un32 to un64 that's something that can be quickly verified by assigning values to the variable add a quick print k kind of look at the dmessage log so dmessage is basically the log that's that captures everything that's coming out of the kernel so print k messages are visible in the dmessage log so a quick way to check something small is add print ks and look at the dmessage log so when it comes to bigger changes like adding a new feature and let's say you add a new .c file and you want to test it through the automated framework there are a couple of frameworks that are available one is the LTP that's the Linux test project so the source code for that is available on github it's not a part of the kernel but it's basically a test suite that kind of tests the stability and reliability of the kernel itself so it takes about three to four hours to actually run the entire test suite so let's say for example somebody's changing the memory allocator for example right like somebody's changing a config flag associated with how body allocator works so that kind of change is scary and that needs to go through the entire test suite where everything else is allocating memory and you want to see how that changes impacting the rest of the kernel right so that's LTP and the other automated testing framework that we have is the case of tests so this one takes slightly shorter amount of time it takes about 20 to 30 minutes to run the tests and it's a part of the kernel although it is like a user space program meaning all the C code and the binaries are running as user space process so this is primarily used to test things that interact between the user space and the kernel let's say for example syscall so if you're adding a new syscall then definitely adding a new case of test is a good idea so that's the main tools that we have to test the kernel and other than that there are multiple tools for analyzing the code changes that we're making while in the development process so there's like the bunch of static analysis tools there's a script called check batch which is one of the basic tools that all of us use to kind of check the code style and fix things before sending it for review upstream and there's also bunch of dynamic tools like KMM check KMM leak and kernel address sanitizer which kind of helps understand if there are memory leaks and if there's use after free errors so it's a mix of testing tools that you can kind of plug and play based on the nature of the change itself I'm also going to be talking a little bit about debugging the kernel so other than printk and demessage there's basically a bunch of config flags available in the kernel they kind of start with config underscore debug and based on the subsystem that you're testing there's more configs that you can enable and rebuild the kernel to kind of see extra information to understand what's going on in the system so definitely play around with the additional debugging configs that are available and the other thing is function trace that's the F trace so basically it's a part of the debug FS file system where you could actually set a filter on the function that you want to trace and once that function is hit in the execution of the program you should be able to see a graph of who's calling that function so F trace is kind of useful for a lot of other things as well so that's something that's very handy to use one of my favorite is the dump stack function it basically prints the stack trace in the code so usually when there's a kernel panic or a kernel loops there's a nice stack trace that kind of tells us who's calling which function and what's the faulty address but dump stack is kind of handy when you don't want the kernel to crash but you still want to know who's calling who and that's like a lazy way of figuring out then navigating different files so on the right hand side is a picture of how dump stack works so basically there's a file that is being written into in the proc file system so we are echoing a number three into a proc file and it goes through this is called API so this is called write gets translated into the vfs layer and the vfs write further gets translated into the module specific writes this call so yeah that's one of the handy functions and other than that there's also object dump and there's also added to line so these are tools that kind of operate on addresses so basically once you have an address you can actually figure out which line in the kernel and which file in the kernel is causing the fault itself so both of them need VM Linux which is basically the statically linked kernel which has all the object files together so once you have VM Linux generated you can use object dump and added to line to kind of translate the faulty address that you have and just by running a single command you can figure out which is the line that's causing the crash so gdb as usual um just running gdb on VM Linux itself lets you get into the debugger and you can do a ton of things with gdb and there's also something something called list star programming which will let you inspect the kernel data structures and what the fields are so that's where gdb becomes helpful there's a lot more things to kernel debugging than just gdb so I have a little link there to kind of summarize everything that we have that could be useful so what happens after testing and debugging that's when we're kind of confident that whatever change that we made is upstream ready or we think about sending the patches upstream right so Kelsey is going to talk about what that process looks like so I'll hand it over to her so through kind of reference a couple times is sending stuff upstream it's important so even if you're messing around and you do a little change you want to see it maybe it's useful to other people you can send it upstream if it's a fix definitely like send it out send it upstream that's a huge part of the beauty about of course open source right is all kind of helping to a better product that's going to benefit everybody right so of course we want to encourage fix something and that is you can find it anywhere else send it somewhere so a huge part of where we're going to kind of cover is a little bit of the that process what what does it look like what does the release cycle look like upstream and then also ways that you can contribute and the resources to be able to do that so to get to kind of get started a little bit of the development process to see an outline of what it looks like is there is of course multiple steps like let's say if you you have a change you made a change you built a patch you're you tested it you're confident in it at this point you're the developer now Michelle had mentioned all these different subsystems that are in the kernel and different subsystems have maintainers so there's going to be a maintainer so think like memory management networks PCI so let's say you made a PCI change you're going to want to you're going to want to send that to the PCI maintainer and that maintainer is going to review it it's going to go into huge part we haven't covered yet is mailing lists my latest kernel is widely all the communications don't know mailing lists so you're going to be sending it to a mailing list and we will we will cover a little bit more in the mailing list here so what you do is you send it the patch to the maintainer it's going to be via this mailing list maintainer wants to say the community signs off on it maintainer says it's good they're going to send it what's called Linux Next this branch is like kind of think of it the experiment branch in a sense this is where we send things to get where people can access it test it it's a little risky if you're going to be trying to use this on your like dev machine or something but all the latest things that are going to be going into like a next kernel release generally we're going to go to Linux Nest for next for testing so that's why it kind of branches off there once there's confidence in it it's going to get sent into mainline so this is actually the linus history it is maintainers send it then to mainline this is going to be the primary the next like big release is where this goes and then once it mainline is released it's considered a stable kernel so that's where we go through lots of testing it's going to be stable and from we'll just jump to this next slide is there is a new stable kernel release about every was it like nine to ten weeks depending on how many bugs are found how much fixes have to go into it so you can kind of see like if say if we just had a new release today there's going to be a two week merge window and this is where all the maintainers going to send their patches that are ready into up for mainline to get merged this is going to be for that next release that's going to happen in that two to two to three months period so once everything is determined the merge window is closed that we go into what is kind of the testing period so these are patches that are kernels are called like they're pre-patch so a period you see pre-patch you actually I've always called them release candidates if you look at the kernel name it's like a dash rc with a number and these are sent it's always announced on a mailing list everything's done through mailing lists and it will it's going to be put out there for people to test and if a regression or a bug is found something is found that is wrong with it you report that if you are going to fix it or you fix it and then a new release candidate is put out until there's confidence in it and then that's when it's going to become a new the new stable release generally I believe there's about I think the goal is like generally around there's average like eight pre-releases before like within each of these cycles that can greatly vary of course because you never know how many fixes if we're going to find a new problem that's going to need to be fixed there are also release candidates for like once a kernel is released and it's stable there's no new features that go to that it is only bug fixes so they'll still get updates but it is only bug fixes nothing new will go to that like new feature wise but those still anything that's stable like right now I think the latest release was the six dot three that is only getting fixes now so there's still a once it gets a fix there's still a release candidate that gets sent out and we'll actually touch on that because it's a great way to contribute back upstream is to test those but those are actually a 48 hour window of where you have to test those a lot of times there's only one release candidate gets sent sometimes you see a go into that two to three if a if a problem is found all right so about in that like 10 week period we get a new stable kernel it kind of replaces that the old one but about once a year is there you're going to get a what's considered a long-term support kernel they're maintained for about two years so instead of getting replaced once a new release is there they're they're they're about two years they can't get extended that's not a hard set thing these are generally the ones like a lot of distributions will go with to be because it's going to be a little bit more reliable because it is getting maintained for longer so a lot of distros are going to be picking like what's called an LTS kernel because that is going to be maintained for a long period of time it's easy for you to pick up and continue to maintain and develop and have that consistency so as like I reference you know it's easy for me to reference WSL the windows the subsystem for Linux just because since I work on that like we always stick with the LTS so currently we were on 515 and we just jumped to 6.1 and then you know come next year when the next LTS we'll jump to that and that's a pretty common thing for like you'll see your a lot of your distros like Yvonne too and so forth to do as well so the mailing list I was talking about there are lots of mailing lists all the communication is done through mailing list there are things like IRC channels still or other communication forms but you're going to be mostly doing mailing lists I listed some of them here a lot of subsystems have a mailing list so it's kind of learning which mailing list do you want to participate on where are you going to go if you have a like a KVM fix you're going to want to send it to like the KVM and to that mailing list for the people to review if you see here in bold I have this one like Linux kernel one that is the primary mailing list that is like it's very active mailing list like you can subscribe to any of these if you're interested I only recommend subscribing to that one if you are ready to filter those messages somewhere else there are like hundreds a day it will flood your mailbox so very interesting there are archives so you don't have to subscribe to these to see them this website here if you go to this you can go through and view any of these mailing lists there's mirrors you can go through and see they're very updated active so that's a great way to do it without getting your mailbox over over flooded and you can see there's sometimes there's even like Linux newbie ones like sometimes there there is like a see yeah Linux C programming and you can go in there and sometimes it doesn't always have to be like patches and so forth sometimes there's there are mailing lists for conversations some are more active than others of course as you can see like number of subscribers there's quite the variety and if you do go to this website you'll see there is a ton more mailing lists so you kind of go to the ones you're interested in don't subscribe to all of them you'll get very overwhelmed maybe just like pick a couple and start with that so a huge part one of the biggest questions I think I get asked by anyone who's interested in checking things out is where do they get started other than of course what is like the downline so for like how do they actually contribute especially if they've been customizing a kernel and they want to like maybe get into a kernel job like how do they get experience or anything like that and there's a couple different ways you can do that one of them is testing the release candidates that I mentioned earlier so there is if you go on to the you can check like the Linux kernel mailing list or the stable mailing list and if you look I did a screenshot of one of them and what I always do is I just like I have a little check for this review I'll look for review or you can do it always starts off with this message with this is the start of the stable review cycle you can search that and that way you can find it these one this one specifically is for a kernel that is already stable so you can see it says yeah it gives you about a time if you check when it was sent to the timeline it's about two days and all you need to do is you download the kernel there's a good get source for it just download it build it and boot it and then you can do more tests for it any information is good information so sometimes I might only have time to literally build and boot the kernel and then I will check initially I brought up dmessage that's a very good log to check any for any errors and I keep a little log and I'll dip it and I'll see if anything new pops up or any critical errors and then you can just report that and that's a great way to just start giving back because you literally just need to build and boot built the kernel it's a great way to just get started find a good way to start contributing on the mailing list and also break that maybe that intimidation barrier of just sending those emails this is also super useful because there's a lot of hardware out there and it there's a lot of things and if you find it doesn't boot or you find a message you want to report that before this gets released that way if there's a commit that we can that can get dropped and then we released that is great because it's much easier to fix it in this stage then after it's already released then of course the next way that you can start contributing is it's always good to report bugs if you don't know how to fix something reporting things is that is super important do keep in mind if try to report it to the right place there are kind of I think three general places there's upstream there's if you're distro maybe you're running a distro kernel it might be distro specific if you're unsure you can always report it to both somebody's going to say this isn't relevant to us and can close it sometimes it's just good to let people be aware can also be like a testing issue like maybe if you're those are always opportunities like the test suite that initial I was talking about those are open source projects too that you can also contribute to or sometimes we'll find like maybe we'll think there's a regression but really it's just a test that needs to get updated and then going to the next is the fixing bugs if you found a bug or if you don't know where to look you can also go to this is bugzilla this is a common place to report bugs for upstream you see it down at the bottom there's like a little like bugs reported in last 24 hours last seven days you always look for bugs to fix so if you have no idea you just want to do something search search on here see if there's something that you feel confident starting to dig into you can also search the curl tree for to-dos and you can find a lot of fun ways to participate in there mailing list you can find work to do sometimes somebody's maybe sending something and it no longer applies to a tree and they need help they might not have time you can always get in and help people in the mailing list those are just can be a little more difficult to find unless you're already active on the mailing list and you're paying attention to them so these are generally a little bit more beginner friendly ways to find work yeah so yeah this is this is probably a good starting point I'm only going to touch on this part a little bit is if you're going to send something upstream there is there is some guidelines you want to follow to get your patch acknowledged to be successful in contributing so get is used everywhere so it is important to have a bit of understanding on how get you can use get to send to create and send your format and send your patches you always want to be detailed in your descriptions what are you doing what are you trying to accomplish basically think if somebody's good if you're going to review a patch what would you want to know imagine you're sending it to somebody who doesn't understand somebody doesn't want to take time to try to understand what your code is doing do a good description is always helpful and then especially there's a error later on and your patches somehow related they're going to see what that change why that change was so details are very important also doing small changes you don't want to do a massive say if you're adding like an entire driver you don't want to just put it all in one commit because it's really hard to review it's hard to debug if anything is wrong so try to break things into logical changes picking the right people to review your patch you don't want to send a networking text to the PCI right like unless they're relevant of course so there's actually a script you can use to help and there is documentation that is going to help guide you through this so these are just kind of key points I point out but all of this is I listed like this documentation here and this submitting patches here it's going to go over all of these points and it's going to be a good guide like as you're doing that just do it's almost like a walk through right and then that way you can make sure that you miss all the important parts and your patches taken seriously if you miss something it's okay somebody will probably respond to the mailing list and mean like hey you or your sign-off is missing you're going to we're going to need your sign-off on this or really can you add more description or maybe doing a suggestion on your code don't take offense if this happens if you on the mailing list everybody is having critiques or suggestions done that is very normal is that's part of the working together part I know that can be super intimidating of course when people are reviewing the code but it's all part of it and that's the great thing is like we're all working towards having better code and better contributions and helping so it's going to be okay if you end up missing a step there's lots of steps I've found a lot of people on the mailing list are very understanding to that and a lot of people just want to help so it is okay to forget things or to miss something we're all we're all learning so yeah just this last part here is documentation there is a widespread of documentation which is beautiful from everything we are covering to so you can just see a list here it is the development process of code of conduct if you want to learn about subsystem there is so much documentation so the beautiful thing is is this website linked here you can go there and find this plus so much more a lot of this documentation is also going to be in your kernel tree so if you clone any kernel tree down there's going to be you're going to find a documentation directory that has all of this for easy reference for you just keep in mind as you update your kernel the documentation does get updated as well so there might be a little difference the website is keeps up to date with one of the latest releases so there might be it could always be good but sometimes do keep in mind if there may be was a big change in documentation update on the latest kernel but you are running on an older kernel there might be a difference so try to always maybe reference the kernel that you are that you're working on but there's a lot of these are going to always stay relevant like submitting patches the essential guide so there is so much out there to help with this lots of documentation to reference and definitely lots of people in community to help so here are the resources lots of it that we've referenced the only thing that I don't think we talked about is going to be at the bottom here is this extra training this is this is done by the linux foundation beginner's guide to the linux kernel development this is wonderful I've gone through this I've said this is almost the first thing I send people and they do just like where do I start this is a beautiful guide it is free so anyone can do it and it's going to help you it's going to go through and as long as it hasn't changed since I've done it it's going to help you write a patch make a change walk you through building a kernel and also talking about the a lot of what we just covered is going to be taking you more in a hands-on journey through that so if you're interested in doing that highly highly recommend taking this training it is a wonderful wonderful resource I think that's it oh that was the last slide we did have a Q&A slide I think we opt to just get rid of it and sit on here so yeah that is that is it so does anybody have any questions for us how do you find a lookup maintainers of specific ports like ARM or RISC-5 or any any architecture is it in the same maintainer list yeah like oh like who to contact or like who to think should that do you want to take that one or do you yeah there was actually a script inside the kernel tree if you run that it kind of maps who maintains what subsystem so that's kind of the first thing that we usually look up to figure out whom do we send the patch to instead of just spamming it to a wider audience so that's what I'm aware of yeah yeah that's really that's generally definitely kept up to date and your first it's a wonderful little script and you just kind of signify like the directory and it's going to let you know kind of the people that you'll want to reach out to or who who touches that so yeah does that answer okay perfect all right any others is uml viable way to test the Linux kernel is what is it uml user mode linux user mode linux so it's it's been a while since I've looked at it I haven't done any kernel development but yeah it essentially allows you to run Linux kernel and and user mode oh okay yeah um I you know I'm user space sorry yeah no I think you're catching me and um want to either like a misunderstanding or maybe a um thing that I need more knowledge on as well but I mean really you said for testing right yeah yeah I mean it shouldn't be I imagine I would have think I'm gonna get help here that'd be wonderful so the question was if user mode Linux is useful for testing oh yeah uh there's yeah there's the k-unit framework that is the framework for unit testing inside the kernel Linux and he uses um uml as a platform so we can run tests without need to reboot or virtual machine it's very easy to very fast to test with uml I appreciate you thank you all right any any other questions that's it okay thank you thank you everyone appreciate you join us


This is about fatherhood. Why are you sharing this? This is about how to you know, keep joy and you know relations in marriage.  I want to talk about masculinity I want to talk about the entire man.   It's there's three parts to it There's masculinity, which is a third of my content.  I don't identify as a husband. I am those things I make those things fantastic and those are titles I wear with honor. I take pride in them But they don't define the path I live I live my path at my version of fatherhood my version of being a husband I make it mine because that's what we all have to do.       We need to reinvent it.     What's that one thing you're not avoiding? What's the one thing you don't want to handle it could be a relationship with your dad? It could be something that happened in your past. It could be something that you know is coming in your future What are you avoiding?      Well, you know, I had to go through this because it didn't have we didn't have money I had a broken family. That's fantastic.  So this speech is about authenticity All right, Ryan touched on frame to me frame is there is frame is reality frame everything comes from frame


it, man Couple bucks Yep Five bucks for shots below that no shots. All good. Thank you so much Go ahead and sweep that away In theory, I reject this money. It is only in practice that I accepted They've done studies, you know 60% of the time it works every time I literally just don't know what happened. I'm turning together trials ahead Oh There go back Where to the right We just did this one. Oh, well, then why is it standing there? I don't know. Let's go up here. It's a two star We need to get some more wonder seeds, so We could advance How has yulia been doing man?  Here she hasn't appeared for a bit. Hold on. There she is see She's right there She's giving me the look yulia's doing fine. She just she just doesn't want to be on camera even though It's like nothing. It's a little tiny mini yulia up in the corner It doesn't matter But she doesn't really want to be on camera. So But she is here. She is literally playing So I told you guys she'd be here. She said she'd play with me today, so You ate them. Nice. Eat the other one. Eat them Yes, yes Out of here Hey, there wasn't that I can't do this can't water this Just as you can So let me get water this flower here. It's gonna be better than that If we got a jump on these rip my eight ball provision Well, let me see if I can get eight ball working Sometimes it just works after I do it, but okay I guess eight ball is completely dead.  Yeah Beneath the waterfall the juices of state poof Yeah, I don't know why eight ball is not working It's all right guys I just legitimately don't have any idea why it's not working Yeah, we have to go down Make sure you expect all the purple ones Those balls that really help us Check it out What's up life will change. Yeah gray stream. Thanks, man And we're doing we did that one. So we're good. We gotta go back And this way and then Kind of wish there's an on-off option for collision Huh, I don't mind that the collision's not there. I know I'm so used to it from the other games But it's kind of nice because the the platforming and this is so tight That collision would really mess up like those five star ones Crouch and jump hold on Bad coming down. Here we go Come on. We just gotta beat the level all just died. Hold on. Hold on You did miss one of them. All right, come on You gotta do that press down enough thing remember throwing on the badge. That's all pressed. I just pressed down No buttons and then Apparently not virtual shot time. Well, thanks Lily. Enjoy your virtual shot Enjoy your virtual shot what I need is a Real-life meal Not a virtual one Uh, sure. I'm assuming we need that jump button for the next levels Or it'll be helpful Took me a long time to master that secret technique years and years. You learn just so quickly Find a challenge. Nice easy poof Up where Michael is now Michael with us right now All right, Michael's fire soul. Did he run away? He's around somewhere We've got Michael with us right now. What's up Michael? There's fire soul Michael joining Come on see this Michael coming in Michael coming you're just gonna chill out. There's Michael Michael hit it.  Well, I tried to give you a look trying to avoid the enemy You gotta defeat that enemy Whoops We gotta hit the power block on You gotta eat them Eat them. All right, you gotta eat this guy too. Come up here. A wonderful hour time. What do we got?  I'm already up here. Just chill up here. I'm honey to the right Come here come over here right here to Ryan. Okay. Stop jumping so fast I need to be player one so bad Okay, let me get back honey. Now stop for a second. Okay This is what you gotta do.  Ready jump Go away for me. Don't go too fast. We got a timer jump same time honey. We're gonna leave each other Okay, stop. Oh my gosh. I need to leave me behind Oh, I got the perfect She was going, she was like, nah, I got this I want to put on a studio on Disney plus. I don't even know what that is Here come get me. Let me see if I can get that effect Here here.  We got all three. We're good. Just gotta beat the little one. This is the top, but I'll take it right No, I don't watch once upon a studio on Disney plus. I've never heard of it I watched Loki on Disney plus Loki season two Playing Mario Kart 2 or Lily I was like, when are we into the stream? She's like, I don't know Do I watch Ahsoka? Uh, I don't know what Ahsoka is. So no Well, Nintendo America send you a Mario RPG copy next month. Maybe I don't know Dude, how can I tell you what Nintendo is gonna do? They sent me this so maybe but I do. I don't know. I don't get every game All right. We have a oh four star. Okay screw it. Let's go four star it is The sharp trial launch to victory.   We're trying to get to the left one over there This of this land there we go Like this Line that up and you just don't exist right now. So it's just me. All right, cool Doing all night or not We got we got kids and stuff guys. Oh, are we just getting on the super chat? Hold on. Hey taker 610 Given the effort has gone in the Metroid Prime and Paper Mario remakes. I think a 4k remake of Twilight Princess And more than like the ocarina time Majora's Mask. We'll see Ocarina time Majora's Master are a much greater ask But hey, that's five dollars And for some reason I cannot get is our internet down Our stream disconnect my laptop has no connection. Hold on You know, I got the shot thing hold on Why is my wi-fi not connecting? Yeah, exactly. I think I don't think we have internet, huh? I'm I'm being serious I don't think internet's up pretty sure we have no honey stop doing things right now We gotta make sure we're online Can you guys still hear me? It's hard for me to know because I have no internet on my computer. I think we're still alive Yeah, literally saying we're still alive Why is there no wi-fi on my phone around the in around the Computer So our internet's still coming to our house that if we're still alive I swear, it doesn't because I'm like drunk or anything. I'm literally staring at my computer saying no internet Apparently there's internet because it's yeah. Yeah, we're we're still well. This is wired in this is hard wired our wi-fi could be down though Are we doing this one then the internet this one? Uh, apparently Whatever one you clicked on no, there was somebody that was on it. So I you ain't michael. Was it michael? No Oh, you unlocked it. So screw it Well cheers. Thank you so much We're still alive. But my wi-fi is down. It's life I have no idea why my wi-fi is down I'll just reboot my laptop. See if that fixes it. You know, they always say When in doubt What are we doing? You're taking a while. Why you're taking a while. I'm trying to reboot my computer over here. All right. You coming? And what's this flower we're gonna see? Off you go. All right. This is a fast level Why you give me the middle finger because it didn't let me get in there honey. It doesn't stop moving Well, you just got ahead of me All right.   I'm still not connected I almost stand at the top but I got the very bottom. It's weird. What is going on? Yeah, I'm connected to wi-fi I can't unplug the router to disconnect this Can people not see us? Let me try this one. Hold on. I got multiple All right, I keep moving the table so it doesn't move the cameras. It doesn't move the cameras Yeah, I don't know why the why I don't know why our wi-fi is down But whatever our hardwired is in I'm just gonna have to read the chat the hard way Which is all right. I got a way to do it. I uh It's not the hard way. I just haven't had it up this whole time So I'm gonna bring this over here. Oh, thanks. I'm for a cold one. I appreciate it I know I still got some in there, but it's not cold, you know Soda not beer Um, it's a cold one I followed your advice to restart my tech if I needed. Yeah. Well, here's the thing if I restart my router to try to fix it Because clearly my internet my modem's working my router's not um What sucks is that means we can't play online anymore because the wi-fi is down on my switch too So you and I are just gonna keep going because if I disconnect that the stream will end So I guess sorry guys the rest of that is just gonna be me and julia I don't know Unless I can run a hard wire to my can to my switch. I don't think I can Oh, we gotta get down here hunt. How old are we gotta go back? We gotta go back. We gotta go back We gotta go back Or do we have somebody with us? What is going on? Okay, we we honey we gotta restart we gotta restart we need to restart go back to the beginning And we need to get down there. We gotta get the wonder flower. I was dead. I was doing good I was doing good You made it 10 feet in you made it 10 feet in I was doing good That's more than I usually get in length. All right. All right Down here down here. No, we're gonna here honey. We gotta go left. We gotta go left We gotta go left this way. Hold on. Do you see these guys? Okay. I'm dying Oh my Honey, all right this way We gotta go down and under yes Yes We gotta watch we gotta time it with the green Oh, honey this way. We gotta time it with with these things we can get to the flower All right now we can jump up Oh, we have stars. Nice. So we're invincible.  No, you're back Yeah, yeah, honey. You gotta let me live. Let me live Oh, wait. Oh my wi-fi is back up wi-fi is back up We might be able to set it up again. I don't know what happened.  I might my my streaming computer is wired in We gotta get back to whatever level we were on Or we can go to that too. I think that gives us extra lives if I remember We can do this quick. Oh, we're somewhere from japan. I've never moved so fast. We're playing.  I think it looks like All right, we got we got fans world over.  Oh, this is that coin thing. Remember that we get the free Yeah, we just gotta we just gotta collect everything we get extra lives Yeah, the more we collect the more lives we get Like we collected them all Yeah, we got like three or four lives. We win. Yeah, even my wife is still a little slow It took a long time for that to load in but at least I got the chat over here. I got the chat of multiple places We're good Yeah, five dollars five dollar shots. No back to where we were it was this way There's this man. No, no, no, no, no. We already did that one You don't need to do this one. There's nothing for us to gain here. Oh Yeah You'll just whisper me that kanicho is how you say hi in japanese as if the whole world doesn't know it's kanicho Well, I have no idea. It's a very common phrase kanicho aki wasabi This way left left left up Right Straight Okay, the one we this one this one Yes, it's the one we were working on that was four star. Oh wrong one Wait, wait, wait, I was on the right. I was on the right. I was on the right. Yes Right To the right. Yes, I understand what the right is. Are you sure? Yes I'm positive this one Do you know how we have none of it on This is the one we were working on. She's flicking me off right now Are you going to watch the new live-action avatar airbender movie? I have no idea. Maybe I'm not big into avatar. Okay. This is the one. I feel like we've done this already. No, we didn't we died This is the one we died on Um, stop. Stop. Stop. Yes. I know we need to go under Oh my gosh.  What are you welcome for? Just kidding I'm gonna try not to die at this point because I died last time you revived me so Oh, I got it. That's all you're flying there This is not I don't know who that this is not is what thanks for playing with us. Yeah, right? They're very good. Hello, uh Ni hao is hello in chinese apparently are you going to watch the new yeah? Yeah, what is it? Ni hao Ni hao. Ni hao. I feel like you're saying that wrong Well, I mean I'm not good at announcing anything said Right. Oh, look, where are you?  You're just excuse me. You're just online right now.  What it happens when you turn into a board Excuse me.  I don't think so Um, you just turned this into something that didn't need to be I'm just saying She's just going double double fingers What are you mr. Bean? You got double mr. Bean double mr. Bean. Yep Got it Yeah, remake the room got you I got you. Yeah, we're just playing with random people online. I got you That's okay. Well, yeah, but we'll we'll remake the room um Now that we're actually back online The wi-fi is working again. All right create room. So again, we're gonna make this real simple We're gonna redo the code. It's not gonna be 2255 Anyone who wants to join we're not even gonna set a password Just join It just means any one of my friends. Let's complain. I understand what it means Of course, you can't get out my friends list without being a member, but you know it happens Um, I don't want to be in your friends list. Thanks It's kidding. I need a player one at the moment. All right. Um Um Oh straight straight straight up the show It's the next spot Oh the royal seed Okay, is this like the final level You just didn't remake the room. I don't know if he's in yet Um shining falls rises the challenge.  We just get one Does that mean? Whoa, we didn't even go through a castle this time Interesting Julia's always gets on the friends list Dude, you don't even want to know those people from our channel that are on her damn snapchat for crying out Yeah, what is she doing here only she was the one that like wanted to make sure you're having fun college Yeah, she was the one that wanted to make sure you're actually having a good time I'm like she wouldn't still be here if she wasn't Isn't that true not necessarily you'd see oh, so you're not having fun It's all right. It's not as good as zelda. Yeah, she got I love zelda Yeah, I understand why you like zelda now It's just That's fun But I'm enjoying this but I've been playing mario a long time. She she has as well. But now she here think she was only playing like mario pickman Now she's like, oh man a more serious game and she's really into it Although she doesn't pay attention to the story at all. That's okay. Not a clue. Yep Well, I know a few things here and there. Yeah. Well, you just did the manuru part which retold a lot of the story so So she knows some stuff Like why did zelda go to the past? Why did she go to the past? Well, she didn't choose to but what what did she find out her purpose was? To bring back The sword There it is. Yep. Yep. You I was seeing if you remembered. Yeah, that's of course She realized that was our purpose Yeah, we can't play zelda together. That's that's the one thing but I know but but here's the it's nice though because No, it's nice because when she has some free time She can it's something for her to do for herself Which is nice because the whole time we've been together until zelda. It was pretty much She had nothing to do for herself and it was it's nice for her to find a game That clicks with her that she can just play without me around It's nice Like for me, it's like not a big deal, but Your player one Okay She's flicking me. I'm like, I know I'm player one. I already said I already reset. I already set up the room I don't know the Wi-Fi Johnny Hernandez. You might be behind in the stream. My Wi-Fi is working now It wasn't working for a bit my my router went down, but I won't graduate. I mean, that's usually how it goes. Yeah Sometimes you gotta retake stuff. I've had to retake classes in college That is what it is Uh map first. Okay Oh, where should we go first? Why don't you choose? All right We got a 10 one down there And a 12 one down there. So we need 22 Oh 15 man, we need a lot Okay We need a lot of scenes. Lily, are you enjoying anything other than classes? Like are you hanging out with people or boyfriend or girlfriend or Anything, you know, she doesn't have a boyfriend or a girlfriend. I know that the responsibilities of college life We don't have any friends of this right now. We're friends You have it, but but it's not a race with us We are Oh, I've never had this before Oh, look at this Drilling in No, I'm in the ceiling. Oh, I gotta come down here. Oh dang it. Oh my god You couldn't breathe buddy flower Oh, I gotta I gotta I gotta drill down. I gotta drill down on this way. I gotta drill down I gotta unlock this one. Oh Yep, so I'm the one you can't get the abilities. Is it can? No, because you don't take damage on So like if we want this thing down here, look everyone just I drill down I go under But hey, hey, don't race through don't race through We gotta like see we gotta save this flower See couldn't breathe Yeah, I want to try drilling the ceiling Is there anything up here? Nope. Okay. Okay. I'm coming. It's free twice. Yep. I'm coming Oh, there's something down here. Oh, I gotta come down here. I gotta come down here. It's right here.  It'll drag you down. I know Is that hidden pipe? All right.  Give me a second. I'll see how I get the ceiling Save the flower I'm coming. I'm coming. I'm coming Um, I dig. Oh, wait. She said streams have been your main social outlet I have called one friend at least two times a week who does in florida. I've been depressed for over a month I'm just glad I can get a ton of help at school. I did go camping this last weekend. It went good for the most part I'm in the ceiling Pitch to wonder seed maybe nope Maybe this one is Because we haven't done the wonder seed yet, so there's probably a wonder seed in this one Oh, you went up that thing, huh? Oh, all right.   I couldn't go under hunt.  I couldn't go under I needed to just the middle finger all the time getting mad at me. I'm like, uh, honey. I literally couldn't go under I had nowhere else to go Just in the middle finger. Oh, hold on. Let me get this coin Let me try it up here.  It's good both ways um See here, I passed everything in world three and I can't go past anywhere Well, then maybe you missed something Yeah, you gotta have enough wonder seeds Obviously like we we just got out of world three, so You just gotta have enough wonder seeds. Well, Lily camping is fun. So I'll let you did that. Yeah, it's something fun to do Yeah, you must have situational depression I'm gonna stop the shop here What can I buy?   Why are you dreading Christmas? Christmas is supposed to be like the best time ever Christmas is my favorite. That's why it's the best time for me What I understand Christmas is stressful very stressful Back up Um Okay, yeah Lily, how are your um siblings? I think you have a couple of siblings, right? I'm off to world four Sun baked desert Well, there's a castle here. So bowser juniors every boss That hasn't been around since 2020 When did I start playing uh at the beginning of this live stream? So look all on this one What eight? Yeah, so look at the big it's been five five hours Uh, I think the place here will have another royal seed if you would really hot press ellie No, sorry your dad hasn't been around You meant january 2022. Okay Not 2020.  It's just a free wonder seed Every one of these huts is a free one That's why I'm just running through because it's not that big a deal Um, my siblings are doing good. I'm glad they are both at the same school again. Makes it easier in my mom Well, that's good. Yeah, that is good. Now we have an open area. What are you urban over here? Friends the oasis has very last of the water left in the desert Yep, okay palace is obviously taken over Keep it on we only have one seed so okay The white sand Perfect for sand. What do you got here? Are your siblings doing better? So I guess last time we spoke I know I think your sister. I think was having a bit of a rough time since you were away from college lily Or away to college. I should say Come over here stand over here. I don't know if it doesn't contain with us both. I know nothing There's a bunch of secrets for this What if you stand on that hold on honey, you stand on that. Yeah Oh, see I made this pop up parachute I still see my family at least um once a week Grown-ass man playing and hold on hold on. Hold on. Hold on. Hold on. Hold on. Hold on. Hold on. Don't say Grown-ass man playing nintendo. Hey Hey, let me tell you something buddy. Let me tell you something buddy Did you know that 95 percent of nintendo switch order owner? Oh 95 percent of nintendo switch owners are over the What I would like are over the age of 20 Yeah, nintendo's own data. So grown-ass man playing nintendo Let me tell you more people play nintendo as adults and play grand theft auto Who's mostly played by 12 year olds. Have a good day, sir.  I don't know. Maybe you are. Maybe you're not I don't think he's 12. Maybe you're not either way.  I think the most happy adults are the ones who Sometimes do the things that kids enjoy example like video games like this one Okay, well, we're just gonna run in. Oh, we need the cap. That's why Hold on Wait, wait, this is the parachute cap So when we jump hold r hun So we got a sprint. We got a sprint and jump and then hold r.  Yeah sprint Jump I made it. I made it. We're good. We're good. I see we're supposed to float like this Where am I? Dead Fly your head No, I Thought that's what you did. No, this whole level is about Sprinting jumping and pressing r But coming down coming down to pop me before you So what are we doing then? Oh, you can eat those What I did do was correct me Come on honey. Honey. You gotta come up here.  It brought me back. Hold on. I'm over here.   That's right. Eat them.  Yeah, you're the you're the player one or not.   No, you're trying to eat the ones on the other side eat the ones in the middle first There you go I'll come back and do it again You're the only one that can do it. I can't do it.  Okay. You're okay. One to go I'll just sit here easy float down and land right here. I got you Okay, it's all on me, isn't it? Yes I've already gotten past this part that I can't tell you do Remember hold R and you can float so once you're up here now jump float down float No, no, no, you can float down and land on the other side then eat them Just gotta remember to float it All right. Now just just jump like this and float down.  Stay there. Stay there. Stay there for me. All right. We're good now Now this whole thing is about floating this whole thing's about floating not eating This whole thing's about floating not eating It's okay. Here we go Here we go. Ready? You just float you just float You just float Like this later Michael Lorenzo.  Well, I can't do anything. Well, it's because you I know you're player one I can't do anything. I just sit here. I'm not player one. I'm player two No, I'm here the king at the moment, which means that the camera follows you so I can't get past that's not my fault You have to get past it. Um, I'm excited to go to church in seven hours. All right Lily. That's cool I didn't do anything Jump over there and stick your tongue out. I'm just not used to this triple button bullshit Oh I understand I understand and I haven't used Yoshi yet. What button is it for his tongue? I don't know uh x or y. I mean y to be very You want me to try? No You're not trying Yeah, any any time Here the Yoshi's first Oh, all right switch.  You told me to float. I hold it and then all right. I'll just play Yoshi this whole level I'll be Yoshi the whole level You're too out. I'm getting too ahead of myself Why no, don't pop that right away neat. Come on Don't hit R. No, it is. I just keep hitting rp. Emptively trying to do it too quick No, it's not it's easy. It's just right on my back.  She gets so it gives me the angry face. I can't get over from there. Just ride my back, huh? Or don't just ride my back. I'm saying yo she's four Get over here. I gotta eat that plant I gotta eat that plant I gotta beat the stage I don't give up Never go up never surrender. I don't want to get pastels without even having me You just have to go back to the top. All right, you gotta come this way though It's gonna knock you down because I'm the camera's gonna follow me.  This is the part we fail at Okay, now let me eat some of these piranha plants. You just stay here. Okay Fine make it easier Little left. There you go. Just stay there and eat this plant. Okay, you can come over.  Just jump over. You can wall jump and cap. Yeah. Well, I didn't do that You really wanted to make sure she came with me and wasn't just left behind and being dragged That's why I switched over to Yoshi quick. So I took her controller so I could eat the plants quick Um, sure Over to the cap one. It's fine. All right.  Well, it is too Okay, so you want to be done? It's up to you. You decide how long the stream is Um yellow Yoshi equal best Yoshi You're in the right server. We need to link your youtube account. Oh, it's someone trying to play with us and there's stuff something Oh, yeah, why are we doing this one again, hun? I have no idea He's probably just spam day it happens Uh, so we did that one. We got our seeds Um, all right Probably this way left. Oh sure. What's this? What do you want? Nothing happened though. What's up down here?  Ready straight up hand up. There's something going on up there. We're too low Can we go down this pipe? I'll just smack it Maybe if I jump when you jump I think Mario or Donkey Kong is harder on average. Uh, Donkey Kong country is pretty hard on average It's like those kind of games are hard I thought it was easy Hey, here's Yulia talking about how easy it was Oh wonderful out right here Yeah, what's happening? Whoa, what is this?  This might be the last thing we do here We'll get this treasure vault done Uh, let's see what's here. Oh, okay. Hold on. Um Hold on hold on up here Okay, um, oh you can't I have to go forward. That's right because you can't use items Oh, how's that gonna work though? You might switch characters on I can't because you're the king So, uh, we got to exit and come back in you got to switch characters. So someone who can use power-ups I literally can't move forward.   Thank you so much for tuning in It's been a lot of fun. I do appreciate the support over 80 bucks tonight. You guys are awesome Plus we had this actually it's over 100 because of the gifted memberships. Thank you guys so much It was a lot of fun. Uh, I don't know if we're gonna do another mario wonder stream or not Apparently we're gonna keep playing another level Julia decides when we're done. She was like, we gotta go. Uh, uh, maybe not Can I grab this? Oh wait, it says why Wait, what is this on? Oh more drills Oh, we got a mummy. Look at that. Oh unravel unravel So there's a lot of these grab with why things Oh, man, I gotta go This way Oh, yeah, it stays up for a little bit You're okay. You can drop to the sand come over here to this platform Yep, oh Yep Oh, there's the coin That's it. We haven't died in a while. No, that's good. Yeah, we're A little slightly easier levels, of course I want to kill this bird because yep There's that blue pipe down there. Um Oh, I gotta come down this way No, oh I went down Let's say I figured that blue pipe was something we got here.  Oh Oh, we gotta pull this. Yeah, let's go pull it again. I'm sure we're gonna make that. Um after watching Okay, let me read this in a second. Let me finish this level for sure um Let me see here. Uh, are you getting princess peach showtime? That's that's next uh march probably After watching zeppela hq mt8 q capture arthur savix Matizekke azmongol block YouTube recommend to me your streams. Well, thanks ren Hey, dude, I don't know how youtube recommendations work. So all right. Are we done? All right, watch them do it guys Thank you so much for tuning in. Uh, this has been a blast. Let's make sure this saves quick I'm gonna double. I I think the spinning wheel is an automatic save. It's a saving, but we're just gonna I'm gonna hit the pause button here and hit the save And we're good to go No moment here. Yeah. Yeah. Yeah, you don't put up a new passage. Cool I know I know that's the thing That's all the game gets you is like keeps going until till it's over And it was all right progress to save cool. All right Oh, I want to thank you guys for tuning in that was me and julia playing so mario wonder Played with a couple of you guys tonight. Sorry more of you couldn't I don't know if we're gonna play it more this weekend I'll leave that up to her. Obviously we have the kids and other stuff going on But uh, thank you guys. I appreciate the support tonight. You guys are amazing And uh, we will catch it either the next time we stream this weekend or I'll see you guys on monday. All right Bye. Good night. All right. Good night guys


Have you struggled to find those pieces that strike the perfect balance between looking put together without going overboard? Like you want to look nice, but you don't want to overdo it. Maybe you're not a suit guy. A suit and tie could be too formal for where you work and definitely too dressed up for let's say a simple date. Well, I've put together a 15 piece capsule wardrobe along with 10 different outfit ideas to show you exactly how to do it. I'm Brian Sakawa. You're watching He Spoke Style where we give you the information and inspiration you need to dress well, have more confidence and unlock your potential. So what we're talking about here and what this capsule wardrobe is built around is a business casual dress code. Now you've probably heard terms like smart casual, sharp casual. For me, while there might be subtle distinctions between those and business casual, I'm not one to really get caught up in strict definitions. I think in any case, whether you're talking business casual, smart casual, or sharp casual, the bottom line is that the dress code means looking put together without appearing too formal. It's that simple. And the 15 pieces I'm about to show you could fit in any of those three dress code categories. So although you'll sometimes hear business casual equals no suit, I am including a suit here. A suit does not necessarily have to be formal. And that is especially true when the suit is in a hopsack fabric, a hopsack suit.  And because of the weave and texture of the fabric, it comes off as a more casual suit option and gives you a great standalone jacket as well. Also contributing to the casual feel, I recommend a jacket with patch pockets. Next, we're going to add in another jacket, a light gray sport coat. And I chose a second jacket in a solid color instead of a pattern because I wanted this wardrobe to be as versatile as possible and as simple as possible to style, especially for someone who might just be starting out in their style journey and maybe a little uncomfortable with a bolder plaid or check pattern. Onto shirts now we have an ice blue Oxford cloth shirt, a striped shirt and a denim shirt, which is in my opinion one of the best shirts for this kind of capsule wardrobe. A few pairs of pants now we've got navy chinos, khaki chinos, and then throwing into the mix a pair of dark denim jeans. Layering pieces, we've got a navy v-neck sweater and a tan crew neck sweater. I'm going with two ties here, a medallion print silk tie and a striped grenadine tie.  Those are my 15 must have pieces for a business casual capsule wardrobe. Now let's take a look at 10 different outfit ideas. First look here, very simple, very classic and laid back, great jacket, navy cotton trousers and the denim shirt really showing the way that it is able to temper the formality of a jacket and pants outfit. And for this look I decided to finish it off with the suede oxfords. For the second look I'm really taking what I would call a very classic business casual approach. We've got the navy v-neck sweater over the striped oxford shirt paired with the khaki cotton trousers and finished off with these suede oxfords once again. Super easy outfit that is not fussy at all. Third look, dressing it up a bit more by adding in the tie. I do think that there is a place for ties in business casual but they should be less formal in nature either via a texture or a pattern like we've got here. And then the pattern mixing between the shirt and tie also making it less formal. Another very classic super easy kind of what I would call textbook business casual look here, crew neck sweater over the ice blue oxford cloth shirt paired with some navy cotton trousers. I think this look just really shows you how simple business casual can be. You don't have to overthink it, three solid basics and a pair of suede lace-ups and you're done. Here we've got more or less a classic menswear uniform, navy jacket, ice blue oxford cloth shirt, khaki cotton trousers, such an easy look. You know you could add a tie I think medallion tie would look really good with this too but I wanted to keep it on the more casual side so I went without and then the loafers are a nice casual touch as well to finish it off. I know that this one is dressed up and maybe on the line of fitting within business casual but there are enough casual kind of elements that I'm going to point out to try and justify this. It's a hopsack suit with the texture and patch pockets contributing to that casual feel. Grenadine tie again, textural element and then the tassel loafers taking some formality out of the suit too. This is a more casual approach obviously with the addition of the dark denim but there really is that range that you'll find within business casual dressing it up with some simple layering of the tan crew neck sweater over the striped shirt and then the boots also kind of elevating the denim giving it more polish. Sport coat with dark denim definitely acceptable for business casual in my book but you got to make sure that your sport coat fabric pairs well with the denim. Hopsack works and flannel like we have here also a great option. I like the denim shirt because of the way it bridges the gap between the casual and dressy elements and then the boots kind of dressing up the jeans just a bit more. Another look with jeans here with a very laid back and casual approach. One of the things that I think makes this look work as a business casual outfit even with the jeans is that the two big blue elements we have here are very dark and it's monochromatic which gives it just a little more quote-unquote seriousness and this one I went with suede shoes instead of the boots. This look has a little bit more of a lighter and brighter feel it's not easy I would say to kind of match lighter tans like this and it might not be for everyone but I like it here I think there's enough contrast between the crew neck and the khaki cotton pants to make it work all basic pieces all incredibly versatile.


So let's get stuck into it Okay, here we are on the scratch project page for space value the level five six fashion That's for you down structures. See what we need to do. You have 30 seconds to use the mouse to pop as many space objects as you can You receive points for each popped object. Good luck space cadet. Great. So I'm just gonna go ahead and press this green flag And let's see what happens. Okay, I got some music playing. I've got these like things popping up on the screen My job is to pop them. Cool. So these red things They've got a number inside of them and that number is a hundredth There is a sun and that's a thousandth of these blue planets that have a tenth inside of them and these unit balloons Now you notice a unit is actually worth the most in our game So we won't be popping heat to those and as I pop one of them You'll see that our values update down the bottom here corresponding to which place value they refer to What's more is that we take our expanded notation here and we combine it into a decimal representation of the Top left hand corner, which is just ace now. I'm gonna jump across into our starter project to see what your entry point will be in Here I am in the project startup So the instructions are the same and I've got a link here to the original project So let's press the green flag and see what we need to do Okay, so we've got our objects appearing up on the screen again And I'm popping away as we did in the final game, but uh-oh My score isn't updating Nor in the top left hand corner So our job is to fix this game to fix the bugs currently our score down the bottom isn't updating That's all for this video in the next one We're gonna be exploring connecting all the place values down the bottom of the screen to all the popping space objects That'll be the first thing that we do if you like this video Give it a thumbs up and if you want to stay connected to when I release all of my content hit that subscribe button But until then I'm off to go find a wave. Take it easy