All right, next up we've got Tycho Anderson who's going to be talking to us about an operative centric way of updating application containers. Maybe. Yeah, all right. Cool. I can hear myself even. Hi, everyone. My name is Tycho Anderson. I work at Cisco on sort of a Linux slash container platform. And what I'm going to talk to you about today are basically some ideas we have about how to do this better, how to do updates better. And in particular, a lot of this is a work in progress. So there's a slide at the end where it's like, here's some links to GitHub. Please come help. But I'll try and point out what we're thinking about. And then I think the last thing I should say, my boss would be pissed if I flew all the way here and didn't say we're hiring. So we're hiring, check. So just a little bit of history. So first there were system containers, LXC used tar balls, OpenVZ had this runtime thing where you could do some fancy stuff with a thing called P loop. But it was mostly just a tar ball for, at least for image distribution. And building root FS is people generally found painful. There wasn't really a lot of tooling built around creating a root FS, LXC runs them, OpenVZ would run them with this fancy P loop thing, but if you as a user wanted to create your own root FS it wasn't super easy. And then application containers came along and there's kind of two application container formats which look mostly the same. And they sort of made building root FS's easy. And this is, people really liked Docker because it had the Docker file and you could install stuff in a nice way and it would give you an image at the end and that was very nice. And so that's sort of where we are today is we have both the Docker and OCI formats and people use them and they can build containers and that's very nice. But we sort of have a problem about updating and just general management of these things because tar is kind of an old format. So anyway just some basics before we move on so that I can kind of start the problem. This is, I'm going to describe all of this in the OCI format because that's the tooling that we've implemented has to do with the OCI format. But the Docker format, this is roughly the same. So anyway what it looks like is there's an index which has say a list of manifests. Oh, all my things are off because I had to switch from 16 to 9 to 43. So anyway the first OCI layout if you imagine the error pointing from index.json to the bottom thing. Basically what it is is it's a content-addressed hash of a JSON blob that describes information about the image. Then there's config, shift that in your mind up one. And the config describes properties about the image like what environment variables to set, what the entry point is, things like that. And then there's the two layers which are the actual bits on the disk in the container image. And in particular each layer is a tar or optionally a GZIP compressed tar file. And the image is basically made up of these sets of manifests, config layers, these sorts of things. And so one of the drawbacks actually, so there's basics and drawbacks, and one of the drawbacks is that it is indeed just a tar.GZIP file. And one of the reasons is there's no deduplication. So the way these things are typically constructed, you build one layer at the bottom and then you make some changes in the next layer. And for example if you make a one byte change in a one gigabyte file, OCI or the tooling says oh this is different, I'll recompress this whole one gigabyte file. So for that one byte change you basically end up with two gigabytes of data where you really only need one. So there's no deduplication like this at all of files or even similar bits across different files. The whiteouts are kind of painful so tar doesn't really have any concept of lower layers. So what happens is the OCI standard events this thing that's called .wh.foo. And so if a file in it, one of the upper layers has a prefix that's named this, then during the extraction process it deletes that file and anything underneath it if it's a directory. Which is fine but then you still have all that data in the lower layers even though you're never going to use it. So this is again it's not deduplication but it's not awesome. So large layers are painful. So in particular we have layers that are between 8 and 10 gigabytes and GZip you can compress it in parallel if you're clever but you really can't decompress it in parallel. And so that means there's basically one core that has to decompress 8 gigabytes of data because it's just one big long tar file. And so that's not ideal it can be slow. And turns out I'm not the only one who's observed this and this is like a gigantic blog post that goes into lots of details about what else is wrong. These are sort of major drawbacks from my perspective but there are others and there's also a lot of history about how tar evolved to be the way it is if you're interested in that sort of thing like a lot of Unix spelunking and whatnot. So let's take a step back and think about what would actually be useful. So in particular at Cisco we're interested in image provenance so basically when the build system builds an image it should sign that image and then from then on we can take the signature and validate it and we can figure out okay this is really the image that the build server built it's okay to run nothing bad has happened. We also want audit ability so basically we want some way to say the thing that's running on like if we have a running machine with a bunch of containers deployed we want to be able to ask that machine are you running what was signed at build time. And there's a number of ways to implement that I'll talk about in a little bit. And the last thing is or not the last thing but one other thing is update ability. So and this is sort of the work in progress part. We would like to be able to swap out some dependencies without actually having to go back to the developer and say hey can you rebuild us a new container because we need a new version because there's this CVE and lib SSL or whatever. So we'd like to be able to swap out SSL but still maintaining all this other stuff. And then the last one is sort of use less space so all the problems I was just talking about about deduplication and all this stuff if we have an image we shouldn't be shipping around these bits in production that nobody's ever going to use. So if we look at image provenance basically you can because of this clever thing you only have to sign the index.json you don't have to sign anything else and the reason for that is all these layers and everything else is content addressed. So if the index.json has a SHA256 hash of the content if somebody changes a bit all you have to do is go verify that the hash matches the file name and if it doesn't then things are bad and you can throw an error or whatever. So image provenance isn't really that hard and sort of the image format design supports it very nicely. And for audibility you'd sort of like to be able to do the same thing because the image format could lend itself to this except that you have to extract all these tar files and so as soon as you write that onto a file system you can't put the genie back in the bottle. And so what that means is there's no way to go from a file system that you've extracted back into the tar format so that you can check all of this stuff to make sure that this signature is valid and even if you could you would still have to keep another copy of the tar file around just to make sure that everything was there so that's not awesome. So there is a way actually to do this that's supported in Linux in the kernel today which is a feature called IMA or IMA depending on who you ask and it stands for integrity management architecture but what it really means is you can put a hash or a signature in the extended attribute of a file and then at run time the kernel will look for this special extended attribute and hash the whole file during the open call so that you can be sure that when the kernel hands you back a valid file descriptor that the hash is matched and none of the data has been tampered with and that's very nice because tar supports extended attributes so we could actually shoehorn use of IMA into the OCI image format without a lot of changes and it would sort of just work as long as you distribute a policy and there's a few other things but for the most part you can put the metadata in the existing format so yeah the check sums are stored on yes so the question is why don't we just do this because that seems easy the first reason is because then you have to use it and if you've ever dealt with this before it's sort of painful so the policy language is a little bit funky they use a lot of very specific terminology that really is only specific to them so they talk the way they talk about key rings and all this sorts of thing is kind of different than the way everyone else in the whole world understands it and also it's really not necessary so if we just sign that manifest if we had a better design we only need one signature we already have the information we need so we could do this for free and given that the tar file isn't really ideal for this sort of thing anyway if we're going to throw that away maybe we can be more clever and get this for free so we could use SquashFS instead of a tar file for this and that sort of gets us most of the way there so what is SquashFS? It's a mountable read only file system and in particular if you read the kernel documentation it says SquashFS is intended for general read only file system use for archival use in particular in cases where a tar gzip file may be used okay sounds good kernel developers wrote that they're smart people maybe we should use that so one of the advantages of SquashFS is that the metadata is stored separately so if you know how a tar file works it's basically just a concatenation of first there's a header and then the header describes if there's going to be any data there's the data and then there's another header and then there's another more data and so if you want to open the last file on a tar archive you'd have to seek all the way through the whole thing and then you figure out okay this is the file I want and then you open it and then if you know the next file that somebody tries to open is the second to last file then you have to seek all the way again to the second to last file you can imagine building some index but these guys already did it the metadata is stored separately with pointers into the various points where the file data is actually stored so it's seekable and the last thing is they support parallel compression so this problem I described earlier about because it's one big thing you have to decompress it all on one core you don't have to do that so how what would this actually look like so basically we just use a squash of his file system instead of the tar blobs and so then we can mount each layer as a as a squash of this thing just directly out of the image and then we can map the whole thing with an overlay fs and thus we only have one copy of the data it's seekable it's fast we can do the signature verification because the blobs aren't being extracted they're put on to some file system are really mutated in any way they're just mounted straight out of the image and everyone's happy except there's some issues so one issue with overlay is that the way that you pass directories the way that you describe put the layers in this order is with mount options and mount options are currently limited to 4096 characters or one page so I guess on arm probably this isn't a problem but if you're on x86 this is a problem and roughly what that means is you get about 55 layers so if your container has more than 55 layers the strategy won't work for you and it's I say approximately because it depends on you know kind of what the path you're mounting out of course if you're mounting at some very deep path then you get a lot less but if you're mounting at something reasonable var lib whatever OCI something something the math works out to be 55 layers roughly so again I don't know if anybody hears has containers or images that they're building with more than 55 layers but we have roughly 200 so we've we can work around this but it's kind of a limitation they also have a noncustom customizable whiteout format so in particular they do whiteouts differently than OCI does so the way they do it is with a device node that's of major minor type 00 whereas the OCI spec says do with this dot WH dot prefix and so if you generate an image like this it's it's not exactly an OCI image because A it's using squash if it's in the first place but B if you if you want to use squash if it's in this way you have to use these these device nodes instead of the whiteout prefixes so that's sort of annoying and that's hard coded in the kernel so it's difficult to change so that's not awesome this is a minor thing but it doesn't support exactly one layer so if you have a container with exactly one layer you have to do some some fiddling around with it in order to get it to work so the tooling I've written does all that but just it's a it's a thing to remember yeah and so this is relevant because base images have this format there's also some issues of squash if s so when we're looking at playing around with this the first thing is it's not really active and the last commit in the kernel tree was from August of 2018 so people are not sending a lot of patches and maybe that means it's done but I don't think so because there's also really no user space libraries for generating blobs in particular the way that you generate a squash if s is with this tool called make squash if s and basically there's just a whole bunch of command line arguments you can pass this thing so if you look in the code for what I've done to do this we basically build up this massive command line argument of exclude these files but include these ones so that we can generate exactly the layer diff that we want for a particular layer which isn't really awesome so it's yeah it's kind of a brutal hack so it doesn't support some file system primitives that containers use the biggest one is ACLs so for example we are sometimes we use CentOS and CentOS uses ACLs in various places to in order to so a classic example is Ping. Ping needs to have cap net raw in order to be able to send the right kind of packets out and everyone used to have it as set UID and then there's all this discussion about why the hell do we have Ping as set UID so they started using ACLs and capabilities and stuff so anyway whatever doesn't matter doesn't support ACL that's sort of annoying there are others yeah so there probably does need to be some work on squash if s if we work to continue down this path but we're doing this anyway even though there are all these problems and I guess one thing to say here is we're doing it kind of in the way I've described which is sort of trying to thread all these hacks together because we're really trying to see if this will work this is one of these places where other people's input would be appreciated I think I have a slide later but there's some talk about an OCIV2 and what was that look like I know there's been a lot of work in system D and this tool called CA Sync which is content addressable sync that addresses a lot of the deduplication issues but doesn't necessarily address the sort of signing and auditing issues so if you're interested in this sort of problem come talk to me we'd be interested in collaborating on potentially designing a new image format or I don't know exactly what that looks like but anyway I've sort of this is all size and sort of in the weeds but one of the things that we're really interested in is updating containers and sort of the original pitch of this talk is operator centric way to update containers so what does that look like if you think of sort of the ways to implement containers as a spectrum or implement rather I guess like code management as a spectrum on one end of the spectrum there's Docker or OCI images which are bit for bit exactly what the developer built you get exactly those same bits so in particular you get the same version of SSL you get the same version of Python you get the same version of Java you get the same version of all the dependencies in the whole world that the developer used so you know exactly that that's going to run and that's very nice but then you know you have all these problems where you have to go back hand to the guy and ask him can you build us another version with an updated dependency of SSL or whatever because while you got exactly the same bits that that guy had that means you have all the same bugs that he had and there's software bugs and security stuff and whatever so you got to patch stuff and at the other end there's traditional application packaging so that's like if the way we used to do it where you would build some container or you would build some thing outside of a container you would you know install it somehow or you'd you know build a dev package or something that dev package would list its dependencies you get some version that isn't exactly the right match because you know whatever you were using on your local machine is different when you built the dev than the production environment and so some little bug somewhere causes things to screw up and that's annoying and that's why we all switched to Docker in the first place so this is a continuum and I guess the insight here is that you probably want something in the middle in particular you may know that okay I really depend on this exact version of Python because you know we you know I don't know the garbage collector has this particular behavior and we really care about that because we're a cool HFT firm and we care about things like that so maybe you really know that Python is super important but you know if you're over here and you're talking about some library that nobody really I don't know isn't isn't that important or is mostly unused or whatever or you know is like SSL where there's maybe not a lot of functionality updates but there's definitely some security updates you don't necessarily care exactly what version of SSL you're using you just want the latest one so what you'd really like to do is in some cases you want to use the exact same version and in other cases you don't and you want to use kind of whatever the latest is and allow people to kind of update it out from under you and so one of the tools that I wrote is called Stacker and it has this it's sort of you can think of it like Docker for the purposes of this and this is sort of the basic format I'm not going to explain a lot of it but basically what you can see is there's two applications A and B and they both depend on open SSL and Python 3 and there's some you know way that you install them you clone the repo and you run some install scripts but the first thing that you do is you young install those two libraries and so in this in this world there's really not a great way to say I'm going to rip this layer out and I'm going to stick this other one in so when I when there is an open SSL bug there's not a great way to say oh this is the layer that corresponds to the open SSL package if I want to change the image as an operator I can yank out the SSL and stick in my new one that's patch so you might imagine thinking about this problem slightly differently in particular doing it like this so and the colors I'm going to do some diagrams of the layers layer the colors are relevant for that so anyway you might write your application install script like this where on the left hand side you have these two specifications for this is how to build something called SSL this is how to build something called Python 3 and then on the right you would say start from this base and then add this other thing that somebody built called SSL and then add this third thing that somebody built called Python 3 and then install my application on top of that and so what that looks like so the SSL layer is built the bottom two say are the CentOS base layer and then the SSL layer is built on top and then similarly the Python 3 layer looks identical because it starts from the same CentOS base but then we stick a Python layer on the top of there and then this end result of our total build so if you remember there's the apply syntax so we apply the SSL latest we see that the bottom two layers are the same so we just apply the layer that was different then we similarly apply the Python latest layer the only layer that was different and then we install our application on top so we end up with something that looks like this where the bottom was the base image we have these two layers that we layered on top that were just the deltas for SSL and Python and then we have application delta on top and the nice thing is then if I want to do Python latest plus one all I do is I... the only thing I have to do is I've changed this one layer here and then it's happy and so that's the idea is to build some tooling so we have some runtime tooling fortunately it's not open source to do this but anyway that's the idea and the last thing I'll just talk about is size that was another complaint and we basically punt on this so we just didn't think about this mostly because the problems are more important to us so yeah this is my call to action there's an issue about on some thing called an OCI implementation there's some discussion on that thread I guess there's some discussion on Twitter I'm not a Twitter user unfortunately so I can't help you there but I guess the question is what would a new container image format look like we're sort of doing this now because we're interested in it now but I can imagine that we can solve both the size problem and the and the provenance problem if we come up with a clever solution but we need help to come up with a clever solution that's where you come in so thank you if there's questions I think I have like three minutes or something you did not open source this what is the reason we have open sourced the tools for building it here so there's two the stacker is the tool to build images with this special apply syntax that I described and then AdamFS is the file system to mount the OCI images so that's part of the runtime but we have a bunch of code that actually is built on top of this even that also is not open sourced right now so one of the reasons that not everywhere but with that containers or this kind of things are used is for preserving software which obviously if you start specifying your layer as latest means that chances are you will actually get something completely different if you try to rebuild your numerical calculation platforms five years later so if you got thought about in a way of specifying what's like latest but the preferred versions was something like that or you really get what you mean yes so we mostly actually use semantic versioning for our layers and it functions exactly the same way you would think semantic versions function and then if you want to we don't actually do this now but you could presumably do some globbing like fancy package managers fancy package managers like cargo and the go module system and stuff do where they take the latest of some minor version you could do a bunch of math there but basically semantic version is the way we're handling it internally questions all right thank you I have a question did they understood correctly that Staker do something similar that section files from packaging do so calculate paths which for files we should be a part of this layer it's possible I don't actually know what section files do so just list the files or directors yeah I mean exactly so it's this idea of basically computing a binary diff over the layers yeah that's why I think one more maybe there was one more is it possible to use a squash inside user name species I don't think so I don't think it has fs user and s you can use squash views but you need to use yeah so you can do it through squash views but not squash fs proper yeah so we do in ubuntu and other distros we run squash fs based yeah and like I say squash fs isn't really the greatest format except for it's one that works for this use case right now today and we don't have to spend a lot of time inventing a new format but if we're going to do all this other stuff implementing ideas from ca sync or whatever potentially when we do that format we'll do better and also maybe make it safe for user name spaces but yeah come help thank you


When it comes to autistic people, good piece of advice here. A lot of autistic people do have quite an insensitivity to blunt pain. Some people do, some people don't. It's a good thing to remember when you're working out. Both it really does highlight your potential for pushing yourself hard intensely, but also when you're just starting out you may push yourself quite hard in comparison to other people, because you don't necessarily feel that. So if you're doing some exercise which requires quite a bit of balance in terms of if you're doing squats or deadlifts or bench press or overhead press, if you're doing any of those movements, just be aware that you may not be as sensitive to these feelings of fatigue than to perhaps other people. It can be a good thing, but when it comes to balancing, if your muscles become very fatigued, then I'm not trying to scare you or anything like that, but just maybe be aware of that, because it might be like in my case I can push myself really, really hard on pretty much every exercise, but can sometimes be maybe a little bit too much, I would say. With the intensity that I do. Are you autistic? Are you wanting to get into health and fitness, but don't exactly know how to do so? Well today we're going to be having a look at a very interesting video from Joffrey Verity Schofield, who is a fitness content creator over on YouTube, produces some really awesome videos, and throughout this video I'm going to be explaining some of the differences, some of the tips and tricks that I have used in order to manage my time at the gym, get into it. So if you are interested in learning a bit more about that, this is how to nail your lifting journey, beginner to intermediate to advanced. I'm going to look at it from all perspectives. I'm sure there's going to be some really interesting insights from this guy. Not the most popular fitness creator out there, but his content is top tier. Let's go for it. What's up, peeps? So today we're talking about how to navigate your beginner to intermediate to advanced journey. Now it's been said that some channels keep you small. They keep you novices. They keep you lifetime intermediate. They keep you in what revival fitness says is novice purgatory. And so this is going to be sort of like an overarching overview on how to navigate this journey. Now first, I think it's worth noting that you don't actually want to be advanced. Okay, because being advanced by definition means that your rate of progress is going to be very, very slow. A lot of very advanced letters would be thrilled with a pound of muscle growth per year. A lot of beginners, they can't even stick to the process and be consistent when they could gain 10, 15, or even 20 times that with a fraction of the work. One thing that they don't tell you about getting into the gym, which I think would change a lot of people's motivation to go is that when you start off, you hardly have to do anything at the gym. Like most of it is just doing like the compound movements. You could just do machines even and just building up your strength base. Your muscles at the point when you start as a novice are so sensitive to any sort of weight training to the point where you can do, as Joffrey said, a very, like a fraction of the amount of work that perhaps someone like me would do and gain muscle much, much quicker than I am at the moment. That is, that is a good thing to, to highlight for sure. It gets you in there with these relatively fast results. And then when things slow down, well, you already have the habit of doing it.   In this video, we're going to look at some things that beginners, intermediates and advanced should focus on, which will be different for each category of lifter. We're going to look at. I like that he's pointed that out because it is very, very true. Like the easiest time and the most productive time of your lifting journey is like the start and you don't need to do as much. And that's a really good thing to keep in mind. So even if you're not going five, six times a week like I am, that's not worry. You can go like twice a week and you can just do upper and lower body and you could you'd be fine or you could just do a mixture of lots of different things twice a week and you'd be good. You don't really need to do much. You can just work on the technique and the strength and it'll just naturally sort of come to you over time. Some trends that tend to happen along this journey, as well as some questions that you will have to answer before you become advanced. Also keep in mind that a lot of this I go into in more detail in my recent book. So if you want to just further reading, that would be an excellent resource as a full audio book. So if you enjoy hearing me proud along here, you'll probably enjoy that as well. Okay, so as a beginner, what do you need? The first thing would be consistency might sound obvious, but you have to keep going if you want to get results. And so definitely don't bite off more than you can chew. You don't need to be going to the gym seven days per week or six days per week, or even five days per week, three or four days per week is absolutely plenty, especially if you are even going two days a week. I think you could make some solid progress. I'd say in the context of consistency for autistic people, when we actually have a routine going, it's actually easier for us than perhaps most people in order to maintain that. The difficult part will necessarily be at the start. So what I recommend to anybody who really struggles with the gym environment, and also sort of starting things and adding things into their routine is to try and go for a very minimal amount of time. And for the first month, two months, don't necessarily focus too much on trying to like hit every muscle group and do it like optimally. Just go try out the machines that you want to do just give everything a go and go for a very short amount of time and do that for at least a month. You'll find that after that month, it starts to become something that you also somewhat look forward to. It doesn't have quite the energy draining effect that it did have at the start. And as you sort of go through and over the sort of the coming months, you can increase the amount of time that you go deadlift bench row, maybe squat. Just use the bar to do it correctly. And the movement is crisp. Yeah, I think one of the one of the things that I get told a lot whenever I talk about fitness for autistic people is that quite often we do tend to have joints and joint issues, particularly like hypermobility. If you do have those difficulties, highly recommend going going talk to a PT about it and learn how to do the techniques. Other than that, you can use some wrist and knee supports. You really want to focus on trying to get the technique as Tanwin, not Tanwin, as Johnny says, get the technique on point before trying to like exert yourself to it to any considerable amount. Ending up not going on the leg days of a push pull leg split. But seriously, the legs are hard. Yes, I'm talking to you. Consistency is what is going to be much more important. Now we're getting ready to launch the first full body. You also need to be tracking your training. Keep a training log. I'm always astonished by the number of people who contact me for coaching and then they just have no record of anything they did for the first few years. How can he not know? Oh, that meme is great. Yes. Definitely like logging.  I highly recommend a particular app called Strong. It has a free version and it also has a pro version as well. It's really, really good for logging different workouts and stuff. And it also has some inbuilt workouts that you can do. So this is what the app looks like, this Strong Work app. And so you can see the different sections, each of these things. They have their own exercise things that I do. And when you start the workout, as you can see, there's like different exercises and they have like reps and they have like weight. And there's also a little rest timer function in there as well. And whenever you finish like a set, if I like tick one of them, it basically starts like a little timer in the corner for my rest period. And it allows me to sort of keep track. You can't really see the green on the screen because of the filter that I'm using for my green string. But really, really helpful. It has been really, really helpful for me rather than using sort of like your notes pages. It can be quite, quite useful. This is valuable information. So anyone who says like, don't count your reps, don't count your sets, don't count anything. They are instantly exposing themselves and not in a good way. Next, you're also going to want to focus. Nathaniel says RP Hypertrophy app is awesome and it just you adjust the better as you get better. The RP Hypertrophy app is definitely a good one to check out as well. There's another channel on YouTube called Renaissance Periodization. That's a little bit more exercise sciencey kind of intermediate kind of advanced level. But I highly recommend checking them out as well because they have some really informative content. And when we're talking about sort of lifting, like we're talking about this, he's very much talking about bodybuilding. So about hypertrophy. I think one thing that people worry about, especially women I've found about sort of getting into fitness and sort of building muscle and things of that nature is that they don't want to get too bulky. And even guys might might might say it as well, like I don't want to get too bulky. And a lot of the time they're sort of thinking of bodybuilding as being like Ronnie Coleman, as like Arnold Schwarzenegger, like they they take a lot of exogenous compounds, steroids, things of that nature, which cause them to develop muscle like that. Most people, you probably won't get to that degree. And if you do, you are a genetic phenom and you'll probably be like one of the world's best athletes. You know, muscle gain is very relatively quite slow. So if you wanted to stop at any point and you wanted to lose muscle, you could do that. And so you don't necessarily have to worry about that. As you gain muscle, you're also gaining quite a bit of strength at these times. So even if you're going to build muscular strength and you're not really too bothered about gaining a lot of muscle, doing like a year of this this type of stuff, it's going to be going to be quite useful for you, like no matter what your goals are. Generally, when you increase muscle size, you tend to increase your strength and vice versa to a certain point. There is also aspects of your central nervous system involved in developing strength. But generally, when you get bigger muscles, you get stronger. And there is no way to tone. That's another fitness myth. Usually people use tone as sort of a marketing method for AFAB individuals for women because they don't want to get bulky. But tone is not a thing. You can either add muscle or you can lose weight. There's no there's no tone. Usually, when people see toning things, it's usually related to losing weight and perhaps gaining a bit of muscle in the process. Ignore that stuff. If you want to put muscle on, do this stuff. If you want to lose weight, obviously like cardio and diet is like the best way to do so. It's on the basics. Now, this seems to be a little bit controversial lately, but I do think that mastering the basics, just the, you know, the barbell movements, dumbbell movements, maybe a bit of, you know, machines, but don't think that you need ultra specialized training at this point. You absolutely do not learn to work hard. A lot of people are nowhere near as close to failure as they think. You might think it's zero or one reps and reserve when it's actually four or five, six or more. So just learn how to train hard. It is a skill and it can absolutely be improved. You don't actually need to do this stuff if you don't want to. First, first year of my lifting, pretty much just solely use machines. That can take a lot of the stress out of it. And if you do want to learn these barbell kind of dumbbell related exercises, you can do, you can do so, but you don't necessarily have to do them. It's just usually optimal. You know, if you're wanting to do it over the long run, these kind of compound barbell dumbbell movements can be quite good. What do you think about training sore? I just started out and skipped my second workout this week because I have terrible Dom. Sorry. I keep beating this question. I'd say you want to at least have a rest day or two in between the sessions that you do. So generally, what I would recommend is either is doing an upper lower split. You can do, you can also do push, pull, legs, split and upper body is basically, well, the upper part of your body and lower body is like your legs, obviously.  You could do the machines. You do some kind of bicep curl. You do some kind of pulling movement, whether it be from the top or as a row. And then on the next day or perhaps a day later, you do your legs and then you'd always have like a solid amount of time in order to recover between them. If you are still struggling with that even after two days, perhaps reduce the amount of workload that you have per session and consider doing cardio as well, because that can also help quite a bit. Johnny Crash says recovery takes forever after 45, like five to six days. Rest is important as the lifts. Yeah, you damage your muscles during the actual session and you build your muscles when you rest. Tried the gym years ago. I must admit it was not for me, but I do love swimming. That's fair enough for me. I don't think it's for everybody. Like there's definitely individual variation, you know, but I think strength training at least once a week has been shown to pretty much eliminate all risks of developing mobility issues in older age. So I'd highly recommend at least trying to do one day a week, sort of doing the basics of strength movement.  Also learn the skill of good techniques. Head and hand positions. So controlling the lowering. You don't have to count tempo, maybe a slight pause at the bottom of your presses at the bottom of your squats, just learning not ego lifting and doing a good job first and foremost. Not program hopping, not getting shiny. I would say again, adding to this in terms of the lowering part of it, I'd try and count count your reps. So like, for example, Geoffrey was doing the pull down thing for his back and his biceps. The actual concentric, the shortening of your muscles, the bit that sort of most people think is the most stimulatory of like growth is not the most impactful. It's actually the bit up, so the bit where your muscles are lengthening sort of at the end of sort of pulling something. So I try as hard as you can to, even if the weight, you have to cut down the weight quite a bit to really, really get that slow sort of lowering on the way up. It can be really good both for safety and also for like long term muscle growth. Doing whole body two days, Monday, Thursday and whole body still sore. So I decided to wait for a second workout on Monday. I feel kind of lame for it, but I feel like I'm doing what's best. I could barely walk for two days. Yeah, yeah, I understand. Ian says, Thomas, should I work on my balance first before weight training? Or can weight lifting help with this issue? Yeah, I mean, it's very difficult to work on your balance unless you are actively like trying to train that. But a lot of the movements that we do in the gym definitely incorporate aspects of balance. And when you do barbell and dumbbell movements, not machines, you're actually, you're training the actual muscles that you would do if you were on the machines, but you're also training these stabilizer muscles.  You're also training the the outsides of your leg, the adductors, the abductors, you're also training different smaller muscles sort of within your knee, you know. So it can definitely help with stability when it comes to balance. It's more of a skill, you know, so if you learn to do this skill over time, you did it in a safe way. Perhaps you started with instead of doing barbell squats, you started with a goblet squat.  And it was a very light dumbbell, you sort of focus on trying to get trying to get the movement properly, you know, sort of over time, you can progress that and then eventually, if you feel comfortable, you can move on to barbell squats, if you feel a bit more stable. But it's a skill and generally, if you practice that skill quite a bit and you're focusing, the coordination in my experience doesn't tend to be too much of an issue. It really depends, you know, your balance will improve as you wait, train, there you go, Nathaniel. Swimming is the best exercise, water is awesome. That is true. It's one of the best forms of exercise. It's also really good on your joints as well, if you struggle with that. Yeah, yoga. Yoga also helps the balance, sort of building your core muscles and your stabilizing muscles 100%. Object syndrome, not over consuming fitness content. Okay, there's a lot of people putting out information that as a beginner, you just won't need and very well might never need. A lot of stuff that you see on social media is stuff that I would never do and I would never recommend anyone doing. And as a beginner, you really need to learn how to sort out good and bad information. And often the bad information will look much better. As a beginner, a wide range of things should work. So if you're two months into lifting and nothing seems to be working, it might not be your program. It might not be your plan. It's probably something else. Could be you're just not eating enough food, it could be a lack of sleep, could be a lack of effort. But it's probably not your programming as a beginner, because hypertrophy specifically is a very forgiving adaptation where a wide range of things should work. Now, once you are an intermediate, which doesn't happen all at once, it's not like one day you wake up and you're like, today's the day I'm finally, no, it's not, it's a general gradual process. Okay, but once you're intermediate, I would say a little bit more variety and variation can be very, very helpful. You're going to want to experiment a little bit more. You don't have to have a cookie cutter plan. You want to focus on training. Was he just going to say training artistically? I think he might have might have just been about said that. I highly recommend experimenting with stuff, like trying different movements, you know, you don't have to take, like take it so seriously, like out of the gates, you can take your time. That is for sure. You can start introducing a bit like different variations of movements, like if you're getting really good at doing squats, you might want to try some split squats, which are definitely a lot more balance heavy, you know, you can try different movements and variations of the same things. But generally, like doing stuff that seems exciting, or seems interesting to you, and learning how to do it properly and being careful and, you know, taking it sort of seriously in terms of like safety. I think when you do that, and you sort of build up your skills in different areas, it also it makes the gym more fun, but it also gives you more skills, like in a lot of different areas nearly falling over in the shower, but can stand on one leg for 10 minutes. Is that when you're like closing your eyes to like wash your hair? I get that as well. Yeah, Tom often falls down in the shower, will not fall down, but almost slips in the shower, but can do like reverse turning kicks. Tonomy and making your own decisions, not just following cookie cutter stuff online. You might want and or need a little bit more training volume. By now, you should probably not be getting as sore. You are well equipped to handle a little bit more volume and you can actually benefit from it compared to a beginner. Set some goals, keep learning, keep tracking, keep the process processing, don't get distracted from goals that are implanted into your brain from other people and make sure that what you want is actually what you are working towards and vice versa. Also make sure that you stay humble. A lot of people who are intermediate think they are advanced because things have slowed down a lot when it's actually your lifestyle choices. Again, the sleep, the stress, et cetera, or it is your programming. Like if you don't know some very, very basic concepts like linear progression, linear privatization, double progression, these kinds of things. If these terms are just like, what are you talking about? You are definitely not advanced and you are maybe not even intermediate. On the other hand, stay optimistic. A lot of people hit intermediate, maybe early intermediate, mid-intermediate, whatever, and things slow down and they are like, genetic limit. If you guys are wondering what the intermediate, like whereabouts you would be like in your lifting journey when you get to intermediate, I think for a lot of people it can vary between about one and two years. For me, it was about two years because of my size. It takes a bit longer sometimes for taller people to sort of progress in terms of gaining weight and gaining muscle and such. I'm to TRT it up. No. Once you are advanced, which might be four or five, six years of very, very good lifting, patience is a big one. You're going to have to reframe success. If you're a beginner who gains five pounds of muscle the first year, not that great. If you're advanced and you do that, it's fricking amazing. A lot of people would be very, very happy to gain two or three pounds of muscle in a year. You just have to reframe where you are on that curve and what success actually is. By the time you are advanced, you probably have done a variety of different programs. You have training autonomy. You might have a coach. You might be coaching yourself, but you know generally what works for you because of that narrowing scope of what works. You've gone from beginner where a lot of stuff works, then you went through intermediate, which shrank what is going to actually work. And now you're advanced, so you have a lot more data and information through your journey on what is actually going to work for you. So yes. Yes. And I think that that's a really important thing that he's highlighting there. I think generally when you start, you should try and do things by the bulk. Try not to admit to vary exercises too much based on what feels good or feels more exciting. Definitely try and learn the basics and do sort of the stricter kind of technique as it be. But yeah, he's right. I mean, each person is very, very different.  With that movement, I find that doing paused bench presses works really, really well for me because if I do it quite quickly, like what you saw Joffrey doing, I tend to recruit more of my arms in that rather than yeah, this guy uses a lot of body English, no expert. Yeah. But this guy's been trading a long, long time and he's got some really, really good results. This is what works for him. It doesn't work for me when it comes to like bench press, as I was saying, like I utilize a lot more in my chest when it comes to pausing at the bottom and then exploding up rather than sort of being a bit more bouncy with it. But when it comes to my back, my back muscles, my pulling muscles, if I try to do that with my back, it doesn't tend to work as well. Like if I use a bit more body English and I go a bit more kind of intense with it, I guess, try not to be as strict, then I tend to get the most development of my back and my strength in that sense. So it's a very, very, very different person to person. And another example, take squats. So most people would say 10 to 15 reps is a good sort of rep range for like squats in terms of like getting some muscle on your legs. Although that would probably be good for me, I can't because it just doesn't work for me. Like I find it way too fatiguing and I end up sort of my technique breaks down. And so trying to go for like a lower rep range, but use more weight really works for me. And it's the same with bench press, like I use very, very strict sort of Paul's techniques when it comes to that, because I do have a history of like struggling with my lower back. What is body English? Okay, so if you were doing, don't know if you can see me, maybe the other arm, if you're doing a bicep curl, like doing it strict would be like it goes down and you go up and you curl it and you squeeze and then you down very slowly. Whereas if you're doing it with a lot of body English, you'd be like, like really just like moving your whole body and sort of contorting yourself in order to like get the weight up. That's what we describe as like, yeah, body English means extra moving that helps you advantage to complete the rep. But it's not generally the best thing to do. Unless that really you found that that really works for you after quite a while. But I try and stay away from the body English when you're just starting out a narrower, narrower range of things actually works. But you have information on what that is. And so you want to double down on dialing things in, you want to keep keep focusing on doing what has worked in the past, while also combining that with learning new things, which might actually be useful, because perhaps there's something else which you could add in, which could provide new results, but you don't want to completely leave behind everything else that has worked. So if you know you respond to, you know, moderate frequency, high volume or low volume, high frequency or something else, that's probably not going to change that much through your training career. You also might want to be a little bit more risk averse at this point, you're probably moving heavier weights, you're stronger, you might have a little bit more, you know, mileage on your body. You may have already experienced an injury in the past could be lower back shoulder and elbow and knee or whatever, but you've probably had to work around something at some point.  They really want to push this and maximize this who has never had any issues. And so you'll probably know yourself by now, and you'll know which areas tend to break down, which movements work for you, which should be avoided. I think for anybody out there who is just starting lifting, good, good piece of information here. If something is like really, really hurting, and it's like sharp pain, stop what you're doing, do not continue, go home, rest, recover, perhaps look into some physio if it's really bugging you after a while. The actual soreness, if you were to contract the muscle and it's kind of this dull, sort of achy feeling, that's normal. That's not something that you need to be concerned about. If you feel like you're unable to form the exercise without moving your body, then using too much weight and you're only risking injury while skating, nothing. I think it really depends. It really depends on the person, because if you can imagine the eccentric aspects of the lifting, so the lowering, so if you're doing this exercise that Joffrey is showing, they'll pull down if you were really body-englishing it down and then you were controlling the eccentric up, just to get more of that stretch aspect to the lift, then you could possibly argue that that's quite beneficial for some people. It really depends, because this guy is natural jacked. He really does train hard. I think it really depends. Also, if you're performing most of the exercise with that controlled, stricter tempo and form, I guess trying to find the word for it, then that's good, but maybe at the end of the set, when you can't do it, maybe using a little bit of body-english and trying to get the weight up, just a little bit could be okay for some people, but you're right, when you do tend to deviate towards that body-english side of things, you do potentially risk yourself, especially if you haven't been trained for quite a while. Some people go too hard of workouts, some don't go hard enough. Know thyself, I guess. I think for most people, if you are wanting to start off, you're not going to struggle to do enough. You're very stimulus, you're very highly, highly stimulated from the exercise that you're doing. You're probably still going to grow. You don't really need to get it perfect. You can take your time with it, but if you do find that you are getting overlapping soreness between workouts, consider dropping them out of days that you do or consider lowering the volume in which you should prioritize. So as a beginner, you don't know what you need to do. There's no way to A-V test stuff because you're just starting out and again, you have that broad scope of what is going to work. As an intermediate, you have a better idea of what you need to do, but it's hard to do it because you haven't quite cultivated those habits. When you are advanced, you know what you need to do and you actually want to do it. It's effortless. It just happens going to the gym is a habit and it's very, very hard to knock you off of your course. An object in motion tends to stay in motion. In other words, what you want versus what you need as a beginner, they're pointed in two different directions. During your journey, those things tend to converge. So during your beginner to intermediate to advanced journey, again, which the book will help on immensely, it's just a troubleshooting guide to get you headed in the right direction. Essentially, there will be a narrowing range of what works. There will have to be more precise exercise selection. There will be more focus on fatigue management because you are capable of generating more fatigue. If you're beginning your like stimulus to fatigue ratio, not focusing on the right thing, just focus on working hard, you know, and progressing essentially. Now training volume is kind of a tricky one because I used to think it would just go up and up and up and up and up. The more advanced you get, the more volume you have to do and you can do. But I think that actually once you are advanced, because you are stronger and, you know, the limiting factor will probably become injuries and soft tissue and structures, etc. that you might not be able to do as much volume because you can get more stimulus and more fatigue out of the set. Okay, so this is where you're really going to be bumping up against your. When it comes to autistic people, good piece of advice here. A lot of autistic people do have like quite an insensitivity to blunt pain. Some people do, some people don't. It's a good thing to remember when you're working out, both like it really does sort of highlight your potential for like pushing yourself hard intensely, but also when you're just starting out, you may push yourself quite hard in comparison to other people because you don't necessarily feel that. So if you're doing some exercise, which is requires quite a bit of balance in terms of like, if you're doing like squats or deadlifts or bench press or overhead press, if you're doing any of those movements, just be aware that you may not be as sensitive to these feelings of fatigue than to perhaps other people. It can be a good thing, but when it comes to like balancing, if your muscles become very fatigued, then you know, I'm not trying to like scare you or anything like that, but just maybe be aware of that because it might be like in my case, I can push myself really, really hard on pretty much every exercise, but you know, can sometimes be maybe a little bit too much, I would say. It turns out like the intensity that I do. Recovery capabilities, fatigue management becomes that much more important. When you're more advanced, you're going to need to have more individualized and personalized and customized training. This is where, you know, if I see an advanced dude doing like some quote unquote weird variation, zero criticism. Okay. By virtue of being advanced, they know what they need. The issue is when beginners start copying people who are like that or people start putting out content for everyone, most of whom are beginners, when it's not what they actually need. You might want to be a little bit more risk averse when you are more advanced. Again, because you are stronger and you have just a greater ability to injure yourself. You're also going to want more complex puritization and programming. When you are more advanced, you might have to take a more phasic approach, specialization phases. Your programming is not going to be as simple as it used to be. So here are some questions that you will need to answer during your beginner to intermediate to advanced journey. First, what do you need to track? Some people can get away with tracking less. Pretty much no one can get away with tracking nothing. Again, if someone says like, you don't need to track your sets or your reps or anything, hack. Diet is also a big one. So do you respond well to high carb low fat or vice versa? How many meals do you do well on? How much protein do you need, which is going to vary a little bit? People just say, oh, one gram per pound or point eight grams. When it comes to diet, I think maybe we will talk about this in sort of a later video because this can be somewhat of a difficulty, I think for autistic people when it comes to sort of like constructing a diet and things related to executive function like this. So we'll definitely have to do another video while we look into sort of the diet aspect a bit more.  You don't need to be so, you don't need to like count your protein so much, unless you want to be like completely optimal. But generally, try and eat a bit more protein heavy stuff. You should be good. What's per pound? Well, there is going to be a little bit of individualization there proximity to the workout. Do you better do better training fasted or do you do better with a small meal beforehand? A big meal? You know, how can you stomach food, etc. What foods do you like? What foods do you need that are those are all questions you're going to have to answer. How much volume do you need slash can you handle some people are super resilient and they're less sensitive to training. I would put myself in this category so I can handle a lot of training and I also need a lot of training at least at this point, where some people are more sensitive to training and they get beaten up easily. And so they just don't need as much volume but also can't handle as much volume. So for them, doing a lower volume approach makes a lot of sense. So try to find out where you are on that spectrum. You're also going to want to find out where you break down structurally. Everyone is a little bit different here.  Other people it's the hips. Other people it's the lower back.  Some people's elbows flare up. Other people it's their wrists. Other people it's their shoulder. So find out exactly what areas are resilient and what areas need to be sort of babied and worked around. And also what exercises are just not worth doing. So if you do behind the neck work and every time you do it, your shoulders are like, what is it? What is going on? This is not what we signed up for. We don't do this. Don't do them. It's not worth getting injured over. Whereas other people, they freaking love those movements. They do really, really well with them. So during that intermediate phase, I think it's worth experimenting with a pretty broad range of exercises at the very least to figure out which ones you prefer and respond. I just got on drinking ed whites and that's not too bad. Yeah, apparently they're quite sweet aren't they? I think in general if I was going to give any diet advice, like try and find some things that you can buy which are kind of pre-made if you can that have protein in it. You don't necessarily have to get these like really expensive protein bars or anything like that. Like this, if you're in the UK, you can go to like Aldi and get these protein puddings. There's so many options that you can go for. You can get like pre-made pancakes and you know, all sorts of things like that. There's a lot of options other than getting sort of a bit more into like cooking, sort of batch cooking and you know, things like that. So that's too slimy for me. Yeah. I love dandelion tea. I love tea's period. Dandelion tea can be quite, I think they can be quite quite dehydrating. I think that's one of the, like, I think some bodybuilders use dandelion tea to get like more dry, more dry appearance. It's enough protein and if all, and all else falls in line, if you find yourself tired, eat more carbs. Good way of going about it. Also, and this one might be a little bit controversial, you don't need to become advanced. Most people never do. The vast, vast majority of people in the gym are beginners. Some are intermediates. Most are not advanced. It's a long journey. It's not easy. Okay. There's a reason why most people are not advanced. And if you want to just go in and train for partly results and partly enjoyment, you know, you want to keep it casual, nice, nothing wrong with that at all. You don't need to maximize your physique. I get a lot of messages from people who have this anxiety about like, what is my potential or what can I do or what is my genetic limit is kind of stuff. You don't need to do that. You can work towards that if you want, if it's actually a passion of yours, but you can just go to the gym and enjoy it. Yeah. Crazy. I know. Which makes the sales pitch for my book a little bit tricky now that I've finished with that. Good job. Past self. Anyway, the entire behemoth of a book will be linked in a pinned comment below if you want to check it out. It includes a full seven hour audio book that I decided to record myself. I hope you guys have enjoyed that or found something that useful. Go and check out Joffrey Verity Scofields channel. A lot of really good stuff on there and also go check out Renaissance Periodization if you are wanting to learn a bit more about fitness. Try and stay away from channels like ATHLEANX or V-Shred. Those are notoriously quite pop sciency kind of not good places to learn from, I would say. But those two are really, really good. There are a few others on the top of my head. I can't remember the names. But yeah, I hope you have found this interesting and like, subscribe, do all that stuff and I'll see you later.


Yep, got y'all again, right bro. How you fall for that twice? But your face is going on the wall of shame, bro Like but it's for some of y'all that didn't fall for it right if this your first time fall for it Your face is still going on the wall of shame, but look for y'all that don't know who I am. It's your boy burn Yeah, I forgot it. I forgot it. Uh, can you help me out real quick? What? I ain't never heard of this chick. I don't I just still kind of don't know who she is but she popped on my TikTok doing an interview with Adam, you know, no jumper and You know what I got stuck at? She asked if her body count basically, right? This girl said well one night my body count went up 50 cuz I did a gang bang.  So Yeah, let's let's let's just get straight into it Okay, hold up y'all so straight off the bat. I just looked at the price $3 Yeah, three dollars. We got a 90% deal. We get this for three dollars right now You can I'm not even really gonna complain about buying this Well, I mean, I'm not getting my money back. So it's just the waste of three dollars But I know now that I think about it. I really could have got like three things off the dollar menu and McDonald's So now I need to stop thinking about it because that's making me mad But I mean for three dollars.  This is uh, let's just let's subscribe. Oh, you're not doing me. I'm gonna wait That's to his normally 30 dollars Whoa, I Just saw I just saw a thing that said $30 after this month's over. So this thing is normally $30.  Oh Yeah, yeah, let me go ahead and to make sure I'm safe. Let's go ahead and unsubscribe to this right now So I don't get charged now more. You know what I'm saying? Whoa, I'm already seeing teas Hold up. Wait a minute. We already see entities. She already wouldn't hold up. Okay. Let's just go Let's see what the first thing we got. It's the first thing we got. This is not her. Who is this? She's chained up She chained up this is too explicit this is too explicit. I don't Bro, she was spreading the What though? This is probably this is probably the best only fans we've ever I Would beat my Hey, she got a pair of melons. She got a pair of jugular. It's like I don't have a look at anything look at me my eye. Why are you looking me my other good? We got beef. It seemed like we got beef with each other.  She's she's throwing her sister. Look at that sister ship Look at that, but even thoughts got to stick together But okay, what else we got going on here? Am I your type check your deals? She sent me a DM What we don't feel save that we don't say that we don't say that to you We don't save that are you a loyal sub?  I am calm the king But you got my turn. I'll be dead if I turn on renewing get here with 30 That's what she that's what she doing when she had that $30 fee on cuz you know she buzzing right now She has a $3 because you know, she buzzing and then you ain't even gonna remember. Oh, man I got a new one. It bow $30 fee is making money. Yes, you ain't getting me. I'm I'm the king out here You know, I is what I do. I does this you know, you're not getting me out like this And whatever is doing the orgy with her new fans, but this ain't even okay See what I got on the video, but this ain't even her. We just got to see what it is just for Let me hi hi I like how she built though. She built right like she got our glass figure. She is the hourglass figure. She all oiled up here. Okay This looks like something I would see on the hub like this is like an ad you think about slid on her DM She would actually say something on here on Instagram. That's why I need y'all to follow me on Instagram Because the more follows I get I could be sliding to these gigs Geeks I could be whoa. I just say I could be sliding to these chicks DMs and making better content for y'all about that shit But I need more followers on Instagram. So follow me so I can make better content. Come on. Do it now I mean everything I'm seeing is kind of that blue face.  Then I'm gonna have a problem. Hey, we got the same camera. That's tough See, I'd be paying such a little thing.  Yeah, I am getting bored. Mmm. I don't see nothing. Oh There's a video. What's this video? I'm getting on. Let's just this is what we're gonna do Yeah, we gonna go to her top to be top and go to the media, right? Wait archived. What's your archive? That was that war. I can't even if I explain what I picture. I just saw I'm getting I'm getting blocked and Permanently blocked from YouTube. Oh, she got audio. Oh, no audio audio audio Cockrays Hi, baby.   Y'all doing that? And it imagine you pay the money and she was like, uh three your victim like Some of y'all need to go through that too. Well, maybe she won't cap and just get everybody hide That's funny though. I never know there was audio. Let's go to the video Like I said, let's see any video any interesting. Oh How do I say can I say videos? That was the best. I didn't expect it to okay she do Okay, hold up. Okay. Hold up. Wait. Okay. I'm getting I'm getting too excited. Okay, and that was like that wasn't even that That was real neat that she was like she was showing us real speed. Oh She has a lot of videos with No, she ain't finna do what I think she's gonna do Is that a I ain't allowed when I found out it was a dude. I was less impressed. I thought she was I thought she was bad You ain't bad. You ain't nothing.  I I I really do believe that story about the 15 niggas now if she doing this on our only fans And you know what's crazy?  I bro. I can't even explain these videos. I'm gonna get in trouble Hey in the comments below tell me what y'all hit something like be be real be real based off of what y'all see Yeah, I'm you know I'm saying would you hit say smash or pass say it on the comments, you know what I'm saying Based off of that I'm gonna say this was it worth three dollars? Yeah Is it worth 30 dollars?  I don't know just bro. Say say your favorite food, bro I like toast. Do y'all like toast tell me if y'all like toast in the comments.


Live from Las Vegas, it's theCUBE, covering UiPath Forward Americas 2019. Brought to you by UiPath. Welcome back to the Bellagio everybody. You're watching theCUBE, the leader in live tech coverage. It's day two of UiPath's forward three conference. And Courtney Bradbury is here, sorry. A R&D specialist at American Fidelity. She's joined by Michael Setikasi, who's the senior director of business development Boston based data robot, but Michael's from Seattle. Guys, welcome to theCUBE. Thank you. Courtney, let's start with you. I know you guys are kind of do benefits solutions, but maybe talk a little bit about the company and some of the big trends that are driving what you guys are doing. Absolutely, so I work with American Fidelity. It's an insurance company based out of Oklahoma, but our main focus is providing solutions to our customer's pain points. So we're a niche based organization that focuses mainly on education, so the public sector, so education and municipalities and providing solutions and benefits to our employers and our employees that we work with. Cool, and Michael, you guys obviously data science is your thing, but describe a little bit more about what you guys do. Yeah, we're an AI enterprise company. What we're really trying to do is democratize the use of AI machine learning within organizations. And we really appeal to both data scientists and business users that understand their business and data and want to do more.  RPA was on the hype cycle now, it's in the trough of disillusionment, but it's kind of an early play around with things. How did you get into RPA, where are you guys at? What's this R&D thing going on? Right, so with research and development, it gives us a lot of space to work with emerging technologies and AI and RPA and how those two things come together and anything new that we see and exciting, we're able to apply that technology. It's one thing to think, oh AI, let's cool, let's do that, but if it doesn't benefit your customer at the end of the day, if it's not driving decisions in your organization, then we don't want to do AI just because it's cool. We really want to do AI because it's what benefits our customer. So we got into RPA because when we saw a demo and it was like, whoa, if that's real, if that's what we think it's going to be, that's a game changer. So you have RPA and you have AI kind of coming up at the same time and whenever it was first coming out a few years ago, they're siloed, they're separate. What we started to do recently is to bring the two industries together and really bring together the RPA component and the AI component to really become an IPA or intelligent process automation so that way we can really start to transform businesses. So this is interesting to me, Michael, because as Courtney was saying, most people think of these things as separate and more aspirational down the road. You guys are AI experts, what are you seeing in terms of these two domains coming together? You hear about intelligent automation everywhere, right? And we are pushing it hard and we're seeing a lot of customers and potential prospects look at it, but I have to give credit to American Fidelity. They are ahead of the curve. They are combining this ability to use an RPA process and a machine learning model to really automate things and provide better customer service and get to the end point faster and more efficiently. So I think they're ahead of the curve, but you're going to see more and more of this in the marketplace. So Courtney, a lot of the customers that we talked to, this is kind of my observation, is they're automating obviously mundane processes, but frankly really crappy processes. They're really screwed up in a lot of ways and they're throwing RPA at the problem. It sounds like you have a little different philosophy around how to apply automation. Can you explain that? Right, so you don't want to automate something that's bad because then it's going to break a lot and it's just not a good idea. So what we've tried to do, you know, requests in the door, there's always a stopping, if somebody has to make a decision in the past, it's been okay, well we can automate the first part and the last part, but it's going to have to stop in the middle for you to make a decision. And what DataRobot has allowed us to do in the past, it was really hard to actually apply machine learning because you had to have these data scientists and they'd have to spend months trying to figure out what model fit the data and is it, you know, retraining the model is really difficult. DataRobot makes a data scientist's job so much easier and actually applicable to the workplace where you can scale, like it enables scaling because without DataRobot or without a service like that it's impossible to scale. So it allows us to implement AI with our RPA to then not just automate the mundane processes, but the small decisions that we make every day just because we do our jobs every day and we know how to do our jobs, AI enables us to automate those processes as well. And you're doing that in an unattended way or is it an attended automation? Both, so there's some processes that we have to have a human select things and make certain decisions along the way or there's some processes that are completely unattended. With any automation, you know, your goal is always to automate 100% but in reality you're usually going to get around 80% of a process automated. So what we try to do is we go for the 100% rarely get that but then you can kick out the 20% for human review and so maybe the 20% that's not fully automated maybe we can make stop points for human interaction there but there have been some processes that we have been able to fully automate. So Michael, data scientists complain that 80% of their time has spent on wrangling data and getting the data ready to actually build a model. I presume that's what you guys do, you solve that problem, right? So we definitely solve some of that, right? If you get the data all in one place, DataRobot takes care of a lot of the data preparation that's involved in data science. We've also have ways to kind of manage the best places you store your data so that if other people use the platform they can see where to get it to. But overall I would just say like when you look at UI path and the way it's growing it's such an exciting growing company like we heard Daniel yesterday mention like their growth from customer from year to year how they're the fastest enterprise software growing company out there. So you combine that RPA market with this growing machine learning market and there's a ton of excitement. And I mean that's what you're seeing at the conference today. So you guys have data scientists on staff, is that right? Correct, yes. And so what does this mean for them? Does it mean you just need less of them or they spend more of their time doing productive work? It means they spend more of their time doing more productive work instead of trying to figure out what model to fit.  What DataRobot enables us to do is not be stuck to those five models that we know. It enables us to combine models and choose models based on that data. So it really helps us with the modeling.  Are you in production or where are you at in terms of the maturity? Oh no, we're in production, we're in production. We have two IPA processes in production today and we're working on increasing that as we go. We have over 150 RPA processes in production as well as many, many just machine learning. So we're working on combining those now. So we have many machine learning, we have many RPA and we're working on increasing our IPA. What have you seen as the business impact? Do you have enough data yet to sort of secure? Absolutely, you know, we don't try to focus on ROI. What we try to focus on is how is this impacting our customer and how is this impacting our employees' lives? You know, there's obviously a lot of fear around automation but what at American Deli what we try to do is show how this is going to improve our employees' lives and we're by no means trying to cut jobs. We're actually going to have a net increase of jobs over the next five years. We're re-skilling our workforce and we're really focusing on how it improves our employees rather than focusing on ROI. So you're not on the ROI treadmill? So how did you get your CFO to sort of agree with all this? We do track ROI, it's not something we share publicly but humans and our employees then ROI. Is that because, I mean you're not, you know, virtually every customer I've talked to says, well, we're not firing people. We're just getting, you know, more productive, we're shifting them to more interesting tasks, et cetera, et cetera. And if you do the ROI calculation, you should say, oh, I don't need as many humans to do this anymore and so you'd say, okay, FTE costs and then you apply that and it's kind of a BS number because it's not like you're cutting people. So it's not a hard ROI. Is that why you don't focus on ROI or you just think it's a worthless metric or? No, actually I'm sorry, you said you do have it, you just don't share it publicly. Right, we just don't share our ROI publicly and I don't think it's, I don't think it's made up or it's fake. You know, I've never met an organization that says they have more people than they have worked for people. Like there's always work. I really enjoyed the first video opening of UiPath. It's since the beginning of time, humans have worked, you know, and everyone thinks that automation is going to like take, get rid of jobs. There's a lot of controversy over that but realistically, if you think about the first Industrial Revolution, that was after the Industrial Revolution hit, that was the biggest economic upturn but had seen since that time. We're in that same space now. It's just hard to see it with where we're at. So it's only going to increase, work is only going to increase. It's definitely going to change. I think it's naive to think that jobs won't change and there will be jobs that will be eliminated, jobs functions, but I don't think there's elimination of humans needed, if that makes sense. Well, yeah, it does. I mean, you guys sound like you're pretty visionary about how to apply technology to your business and Michael, I mean, Courtney's right. Machines have always replaced humans. This is nothing new. First time ever that it's in cognitive function so that scares people a little bit but what else are you seeing in the marketplace that you can share with us? We're just seeing increased use of automation. So like you might think when you talk to a robot, you're using us for the top 1% things that a company might do, right? If you're a bank, you might use us to help out, figure out how you can more efficiently lend customers money and make sure that you're making good investments but what we're finding is automation and machine learning models are being used everywhere. They're being used in marketing now, right? An example could be the show. We'll get leads from the show. Let's run some machine learning to understand what leads to follow up on first because we'll get the best result. We're seeing machine learning in HR, right? Making sure their employees are happy, tracking employee churn through machine learning. So I think what we're seeing is it's being adopted more broadly, which means you need more people. We're not replacing people. So why UiPath? Well, you know, whenever we started the vendor process and started looking at several vendors, the UiPath product just was unmatched, frankly. Their ability to, and there was the UiPath that we've chosen to go with. We have a COE, but we've also chosen to go with a democratized model where everyone in the organization will be able to build robots. We're training people to build robots. We have, each department has people that are dedicated. A certain portion of their time is built, building robots, and UiPath really made that available with their products for anybody to be able to work with. So you have a COE? Yes. It was interesting, Craig Leclerc this morning, I don't know if he saw his keynote, but he kind of made the statement, it was sort of an off-handed statement. It's that COE, maybe that's too asking too much. You know, he almost, you didn't use the term tiger team, but I inferred. Rather just kind of get a tiger team of some experts, but talk a little bit more about your COE. So we kind of go with a hybrid model. If you think about, you know, typical, it's weird because RPA is only a few years old, and we're thinking typical RPA, but people usually either go with a COE or completely democratized. We've really gone with a hybrid model. So we have a COE with governance where we've set a loose framework of what to follow, and we have code standards, and we say, you know, follow these things. We have a knowledge library that we share, a handful of full-time RPA developers teach and help grow that knowledge throughout the organization. So that way we have people in every area that can also develop. So our developers are not our only key developers. Our developers are focused on the IPA, on the AI. Other people throughout the organization are focused more on RPA, so we can really make a big difference more quickly. Do you have a software robot sort of that automates auditing and checks for compliance? Yeah, so we have one of our robots, what the function that it does is audit one of our inputs. So we do have robots in almost every area that, yeah, we do have audit robots. Has it cut the auditing bill? Is that part of the ROI? You don't have to answer that. Michael, last question for you is, where do you see this all going? This is very interesting to me because I've inferred from a lot of the conversations that the PepsiCo guy was up yesterday talking about an AI fabric throughout the organization, not just tactical projects. And that kind of interested me, but I expected it's much further off. I'm hearing from Courtney that it's actually real today. What's your sort of prediction or forecast for the adoption of this more advanced intelligent process automation? Is it kind of just starting now and it's going to explode, am I just missing the mark here? No, I think you're 100% on. I mean, first off, I think, like I mentioned earlier, RPA and machine learning separately are in these incredible growth stages, right?  And so you better get thinking about it. I think we're going to get to that level with intelligent automation, with RPA plus machine learning very soon. I do think right now we're in that infancy stage where people are looking for use cases and they want to hear great stories. And so I do think American Fidelity is ahead of the curve, but they're not going to be ahead of the curve for long. It's catching up. If you're not doing it, we're going to eventually get to that point where you'll have someone like Elon Musk or Masayoshi Sun say, if you're not thinking of intelligent automation, you're already going to be left behind. All right, well, congratulations on the work that you've done. It's a really awesome story. Thank you. Thanks so much for coming on theCUBE. Yeah, thanks for having us. Great, thanks for having us. All right, keep it right there, everybody. We'll be back from UI path forward day number two. You're watching theCUBE right back.


Internal elements of a 555 timer. A 555 timer is an integrated circuit that produces various types of timed signals, such as a simple pulse or a continuous square wave. The type of signals produced is determined in two ways. By which types of components are externally connected to the IC, and by how the external components are connected to the IC. To thoroughly know how a 555 timer operates, it is necessary to understand the internal elements inside the IC package. A 555 IC has five different types of internal elements. Let's examine how each element operates. Voltage divider network. Resistors R1, R2, and R3 are connected in series. Each resistor is 5k ohms, so one-third of the 5 volt supply voltage drops across each one. The function of these resistors is to form a voltage divider that applies two-thirds of the power supply voltage at the inverting negative input of comparator A. At the same time, one-third of the power supply voltage is applied to the non-inverting positive input of comparator B. Voltage comparator. Two voltage comparators are inside the 555 IC. Whenever the voltage at a non-inverting positive input is more positive than the voltage at the inverting negative input, a positive voltage is produced at the comparator output. Whenever the voltage at the inverting negative input is equal to or greater than the non-inverting positive input, zero volts is produced at the comparator output. Int. Whenever the voltage is higher at the positive input, the output value is positive. The output is zero volts under all other conditions. The outputs of both comparators are never positive voltages at the same time. However, there are times that they are simultaneously at zero volts. The non-inverting input of comparator A is connected to external pin 6, which is called the threshold terminal. The inverting input of comparator B is connected to external pin 2, called the trigger terminal. The voltages at the comparator outputs provide logic levels that control the flip-flop. RS flip-flop. The output of comparator A is connected to the R input of the flip-flop, and the output of comparator B is connected to the S input of the flip-flop. The Q output of the flip-flop is connected to the output buffer in the base of the NPN transistor. Whenever the output of comparator A is a positive voltage, the Q output becomes a positive voltage, which is called a logic high. Whenever the output of comparator B is a positive voltage, the Q output becomes zero volts, called a logic low. Whenever logic lows are at both R and S inputs, the output of the RS flip-flop remains unchanged. Logic highs at the RS inputs are never present simultaneously. NPN transistor. The NPN transistor acts like a switch. It turns on and passes current between the emitter and the collector when a positive voltage is present at the base. It turns off and blocks current between the emitter and the collector when zero volts is present at the base. The voltage applied to the base is from the Q output of the RS flip-flop. Output buffer. The output buffer produces a high current voltage, which provides sufficient output to power external circuitry. The output buffer receives its input from the Q output of the RS flip-flop. The buffer's output voltage goes positive when the Q terminal of the RS flip-flop is a logic low. The output of the buffer approaches zero volts when a logic high is produced at the Q output. You have completed this activity internal elements of a 555 timer.