All right. Good afternoon. Happy Friday to everyone. Welcome back After we did not make it too far through the stream last week Anybody who is watching will know that I got cut off My power went out It was about it was out for a little bit over 24 hours last week and then it came back thankfully And we're back this week knock on wood fingers crossed. There's no The armor any kind of issues hopefully for right now. So hopefully we're good to go And we're gonna give it a try again this week For anybody that is new or did not catch last week or you don't know what I'm talking about or who I am or anything else My name is Tim. I go by filming guy on GitHub and discord This is the deep dive live stream program, which is a weekly live stream where we are working on circuit python stuff You don't know what circuit python is You can learn more at the main website for the project circuit python org This is basically a version of python that runs on tiny computers called microcontrollers Such as for instance this one right here with this little display on it This little thing has a computer on it that can run circuit python What that means is when we plug it into the computer It's gonna show up like thumb drive and we can edit a code file on there with some python code in it and When we save that file the microcontroller the little computer that's on that device Will execute the python code for us and we can write code that interacts with various Hardware peripherals that are either built into the device like the display in the case of this device here Or other peripherals that are connected via the iopins that run along the edges typically Such as these neopixels down here at the bottom, which this is not actually live So let's fix the camera while we're here That's interesting though, I don't know why it wouldn't be live Looks like the server is dead. There's that how's it go and be autograph Dave Odessa over on YouTube Let's see was that the Dennis last Friday unexpected Dennis, but when smooth good nice to hear that went smooth Hoping for good weather tonight. Yep. So far. We're looking good. How's it go Michael Pekusa and see Grover? Yep fingers crossed here as well. Oh Interesting finally loaded But it's very Interesting so it's live in the preview on the screen, but it is Really slow here Did I mess up the oh, we may not be having too much of the top Okay, there we go. We got our Got our usual crash the first time we loaded or getting closer to I'm all even though it's for a crash. Yeah, the cameras definitely got something weird going on with it I'm gonna reboot it We'll do that. Hopefully that will Go far with the reboot. Anyway, where was that before I got distracted by the camera? Devices connected to them. Yeah, so we're writing Python code for these devices In particular today, I'm gonna be doing some testing on some library PRs, which is what I had in mind to do last week But we're kind of just picking up where I was intending to go last week Which is doing some testing on some submitted library PRs leave on airplane mode. I don't know You want Wi-Fi and we want the camera to go and we want to be able to touch the parts of the screen Important to make those things happen. I loaded way faster So I Kept that one Was that um, yes. Yes. Yes. Yes. Yes. Yes. So circuit Python Which is what we're working on is an open source project. Like I said, you can learn more about it circuit Python org That's the main website the open source anybody's allowed to use it Anybody's allowed to make projects with it. Anybody's allowed to add support to your own hardware for it So if you design your own hardware Microcontroller device you can add support to circuit Python for that device. You don't have to pay anybody to do that I mean, you might need a developer to help you so you may need to pay a developer if you're not, you know One yourself, but you don't need to pay like a licensing fee or anything to use it. It's it's open source Project the company who funds it is Adafruit. This is their website Adafruit comm They're the folks who pay the people who are working on the project There's a team of folks who work on the project full-time and are paid by Adafruit to do so There are some folks like me who are paid to work on the project part-time Including things like this live stream here as well as working on libraries and PRs and infrastructure and all sorts of other stuff So huge. Thank you to Adafruit for making it all possible And of course, thank you to anybody who wants to support Adafruit and circuit Python project by purchasing hardware from them at their website Adafruit.com We are gonna head right over to contributing page for those that don't know contributing page on circuitpython.org We'll list out all the open pull requests all the open issues So this is a good place to look if you're trying to find stuff to work on a Particular stuff in the library land in the Python layer of circuit Python in the libraries that are helper libraries and driver libraries and things like this and the ones I have off the top of my head in mind is Starting to switch over these I saw this come in a couple of weeks back And then I know there's a bunch in the wiznet They're on the newer side We will potentially get into some of the older ones as well. I have a This thing MLX 9640 thermal camera Which I intend to use to hook up and test some of the Changes or some of the stuff associated with the changes in this one so that we can get this one finished out as well Which is one of the older ones? I think we're gonna start in requests when API at a time Let's see contributions API examples are not included in learn guide secutation baby steps Yep web scrapers get the off key from Browser developer tools if it's the same key, maybe we got it before we'll have to see where we end up with the key I may need to grab the key off screen or something. I'm sure if I should embed Workflow credentials I'm not sure I follow what that means. Like is there a test settings file or Who interesting what is AP? Oh, oh, right the AP password. Okay Okay, yeah Whoa, oh, I see what happened SSID is a string up here and a variable here And in my mind that makes it to entirely different things that are unrelated whatsoever, but obviously to get It's the same string SSID That's interesting even though it was a string here and now it's not a string anymore and like Yeah, technically they're not the same but I didn't know what the emojis do to the emojis print out all right Yes, it depends on the platform you're free to choose Are you free to choose what you want to work on to an extent? Like there are times where I have more direct Stuff like go work on this project or go work on this piece of infrastructure Or stuff like that But then there's other times where yeah, it's just like for me It's kind of like there's a list of different tasks that I have been trained on how to do So I will check in on those tasks and then there's obviously like typically always going to be You know PRs open library PRs open library issues Which is always something that I will spend time working on as well either doing the reviews or going through and working on issues or You know anything related to all that stuff Helping helping people who like submitted a PR and it's failing actions or whatever right like working with them to figure out What's wrong with it if they abandon it like if they submit a PR and abandon it one of the things I've been doing lately is going back through the oldest PRs that are kind of inactive and either Figuring out if I can get them in-state where they're good enough to be merged or Get them closed off with a note that says hey You know if you ever get back to this and want to do it you can reopen it or start a new PR is fine as well So that's the kind of stuff I do most typically, but yeah, it's kind of a mixed mixed bag sometimes Sometimes directed Sometimes more so just working on whatever is open that I find in github And then some of it is just like weekly tasks checking in on this thing doing this task Writing up this little blurb for the newsletter Hosting the meeting every couple of weeks and in the rotation to host the meeting every couple of weeks Doing this live stream I'm not sure about this part get the web workflow credentials. I don't I mean, I don't think I don't think we want though I'm not sure I understand what that means per se, but I don't think we want the web workflow credentials If that's like the credentials you use to authenticate and use the web workflow If that's what that means, I don't think we want that we we want this the SSID and the password so that we can connect to the network and These happen to be the same keys that it will use for the web workflow network. So I Think like implicitly. This is the same network as that and therefore there's some carryover, but I Think there's a second set of credentials That's the prompts you when you first load it up Yeah, thanks for the question good question Plus one for whiznet just got to the 5,500 EVB ECO not familiar with that one. That's a sounds like a RP 2040 base thing or something. Oh interesting ECO The Pico with a jack on the end there Ethernet looks like You know, maybe somebody brought this one up During a stream before maybe we did look briefly at this one And I'm looking at it. I got a little bit of deja vu. I'm not positive though And even if I did see it before I definitely forgot about it. So Don't really count either way Interesting. It's like totally a stock Pico. It looks like on the whole top half here, right? Like the way the ground pins are laid out and everything There's kind of like a dead spot on the real Pico down towards the bottom end of the board and they've used the dead spot for the whiznet chip and then tacked on Enough extra in order to be able to fit the ethernet port. It's interesting any little device So you got one of these picked up it sounds like Which is this thing said I guess shouldn't be that expensive, right? Maybe 20 or 30 bucks tops something like that be by Purchase maybe we try somewhere else. Oh 50 Not even yeah, not even 20 or 30 nice It'd be cool for a little hardwired IOT like temperature sensor or light sensor or any kind of thing like that if you want to defeat it into some kind of Home automation or something like that Maybe garage door some other basic on-off switch type stuff like that Um, let's get the requests a branch Quest branch that we're working on here, which we're gonna go open requests Maybe find in this list right there There's a 5100 earlier. Ah, okay, both our circ python supported nice Backward so we want Let's go like this. What are our remotes? Okay, ghpr list ghpr check out six and the changes are All api discord I don't remember if I do have the discord token Not But I can also take a look. We don't have a different. Oh wait, this is not it. Is it? Quest api discord, yeah, port authorization We run this we probably don't want to print that Oh, it's not printing back to the wi-fi If we got a connection print connected Well true get the data This could maybe be outside. Is this part new? It doesn't really matter either way, truthfully In my mind, I think of it as like outside the wow loop since you would be setting it once and then it stays the same It doesn't really matter and I will say it down here does put it like physically closer to the code where it matters, which is also kind of convenient Okay, full api. So this is this gonna have the uh Well, it's false. Okay, so it's not gonna happen. So that's good. I'm assuming that is going to maybe have Token no token looks like it's gonna go in the header. Okay. So interesting. We changed it through here Oh debug keys wait, what is that a different one? Yeah debug request bug response Okay, that's kind of cool They saw this would be all the data debug Keys and I I'm thinking keys It sounds like keys It would be like tokens or passwords or something like that, but I'm thinking this just means keys of the dictionary, right? And in our case the keys of the dictionary that we're looking up is approximate member count and approximate presence count That's printing both of those finished board uptime next update If we fail sleep continue to go again and also sleep for sleep time which is 900 seconds 15 minutes Uh, I need to come over here for a second Make sure that we're actually over here. Yes. Okay Do we have a discord token before? Actually, that's the wrong version of patch arm Really, we need to come over here with this one Of course, who knows what device I would have done that on probably not this one if I did run it So this does have like steam A couple api tokens on Not discord Okay, what does this say does it have? I think there's instructions maybe Much better than wi-fi We should think about most industrial grade stuff. Yeah, ethernet for sure wi-fi is Super convenient, but very spotty should not be relied upon 247 mostly for part of my work we Resells some hardware that has the option for wi-fi and ethernet and I'm like Always trying to preach ethernet to people if they really care about their thing Being connected and getting updates and all kinds of stuff Um This thing tells you how right So basically I if I recall right, this is just like stealing the auth token from developer tools When you go to discord age So you cannot do on camera So you'll have to bear with me Does the flower cover up the youtube chat In the bottom right of the stream. Was it like that before that must be like an overlay that youtube is putting in interesting I might want to Try to shift around the chats a little bit maybe Developer tools. Wow. That is a lot of My goodness. What's the token name? It's called um Resition I'd request that or what's strangely below responsive have to be specifically surprised That doesn't seem to be in this request. Now. Let's look in the cookies Maybe but not name so Those are particularly helpful these might be but I find So I guess let's try what it actually says which is go to slash messages. What? All right. I know this is uh, not the most riveting world since you can't see what I'm doing but The nature of uh, trying to get a token panels at me. Okay. Why wish they would have put the full url in this thing channels At me almost there. Hopefully Doesn't have the authority method path scheme accept Accept encoding accept language This has office authorization The mind does not it has cookie We can see is the next one down here Last commit was two years ago Guessing it's just different now Honestly, the fact that it's not here as authorization makes me wonder if it's gonna fail from inside Here since that's how we're attaching it How's it going axle? 51 55 and 6100 work all about the same just different the number of sockets and internal memory 50 100 is the One with a hat took on the pico w for for example double network going on there Well, I don't know if we can get the I don't know. How do we get the token? I kind of honestly, I kind of wish we had like instructions to get Like whatever the plan a for getting the token is from discord. I suspect You look in the discord docs plan a is not look in the developer tools and find It it's probably go to your discord developer dashboard portal thing somewhere and find a token Slash api into the field filter field the filter field There's a filter field first thing. I just can't seem to find what you're looking for Go log in to discord honor browser open developer tool. Oh Filter in the developer tool to wait what? Okay slash api All right open the developer tools. I'm gonna clear this I'm gonna refresh once I'm gonna Filter on slash api that Here I'm gonna put that into settings toml under the key name of Something Scored authorization capital D capital a They've closed This uh, yes Read thank you for the heads up. Well, I didn't you didn't see me show it. Did you? Okay So we can go to code file, which is this which is currently An example from htp server. We don't need to keep that and grab this we can put this in code Uh, let's still check that we're not printing anything crazy here. In fact, why don't I just run it once over here I do need to save it before it will run turns out It's fair I'd say it's fair Yeah, no that doesn't print anything crazy. So we're good to go there Okay, so that worked. We got 37 599. So we're one away from 37 600, which school and there's 49 32 online currently Uh board's been awake for 37 minutes The next update is in 15 minutes because it was set to sleep 900 seconds All looking pretty good to me Um, we could maybe let's control f secrets. Let's just make sure we have no more secrets. Okay Good to me Um, I guess maybe it might be good to update this, but I don't know. I still think it'd be nice to point someone to the real documentation anyway Maybe there's not good real documentation During the top result on google was third party One of these are like docs Let's not just put it in their own docs for some reason just kind of awkward I'm caught got changed to a function here Did load up the tunes today? Is that a new line? Who doubts? Is there something newer than that at this point? I don't actually know Well, there's the full release I guess but And then there's commits in main But no no newer actual release releases Okay Or even like depth releases I'd say thanks. Let's say thanks 20 oh One we are gonna do Because this is only a minor update that doesn't Add any new functionality Or break any functionality. I think the v's are above Make this lowercase since it matches the file Um, this was from a while ago dev odessa But if you're still around and you are I didn't think to say this before but each week all the folks who work on the team write up a little Couple sentences or so that end up in the newsletter that talk about what we did for the week So you could find all of those for me in the newsletter archives as well as all the other folks who work on the team regularly Pull those in usually each week. That's another good way to see kind of a window into the stuff that we end up working on Okay Next isn't that ones? I think yeah, let's look at some wiznets In a little while since I messed around with wiznets to fix the hcp socket leak that sounds good Nobody wants a leaky socket, right? closes 121 moved all references to hardware sockets in dhcp to handle the hcp message receive response added try finally Walk to ensure that the hardware socket is always closed made the socket number a local method Attribute since it doesn't need to be stored Moved unused methods to initialize and release hardware sockets refactored the hcp module to use higher level calls to wiznet 5k instance We named several methods in wiznet 5k as they are private and no longer called from outside Added read socket reservations and read Send port That's stand for any sense Ender No, I don't know what's sin port would stand for Uh methods to wiznet 5k You help dumping of socket state for trouble shooting All right, that's it with the dhcp server without and without a force of time matter hardware socket closed in both cases tests carried out with wiznet simple test on 5155 156 6100 chips I have only one of those I'm not even sure which one it's the one on the feather wing Uh, and I will certainly test that one to the best of my ability. I Don't think I have the ability to easily Turn this on or off or use a different router that does or doesn't have it without impacting My actual pc and thus the stream and everything else So we'll be testing on one that does have the hcp and I will not be able to do the Negatory side of that test But we can test happy path at least leading underscore These are good. I think leading underscores on these actually help Make it optimized out by mpy. I'm pretty sure If these have a leading underscore, I think then If they have a leading underscore and the name, I mean and it's a const Both of those things. I think both of those things have to be true. I could be misremembering Um, I think though if both of those things are true, then I think mpy strips the name so like The amount of bytes that this name occupies gets crunched smaller because it strips out the actual name and uses I don't know a number I guess or something small to refer to it instead Internally liking the compiled mpy code Whatever it's compiled to I don't know if it's that might not be technically a correct way to call it mpy code but this is basically changing a lot of these over from quote-unquote public with no leading underscores to quote-unquote private with leading underscores I think it's right I think that's right So I got to remember there's a delay to You Ah, okay, right the underscores that substitutes the value inside const nice I remember doing the test and seeing the size grow with that in one library I changed a bunch of them just to see what would happen Also, what's up scott? Nice to see you Hope you're having a nice day. What do we have static method? I think this is a new one Return socket reserves though, so I guess the old code probably just did this directly Suck is none No more release no more setup. Okay, so we pass in the number now It's available. Well, this must be a number of available bytes. I guess We're comparing here This one's interesting. I want this one. I hopefully this gets caught somewhere else and turned into a timeout You might guess Is they even said back here? Raise the timeout right in both cases. Yeah timeout Okay, follow that If we can find although um Well return zero bytes Okay, I guess the crux in this case is that we did not time out Well I guess it depends how you think about it No bytes received I don't know if that implies we received the response, but it had an empty body or If that could also be the case if we received like literally nothing And like if we receive literally nothing then I think it's more so a timeout and should raise the exception If we got a response, but our response is an empty body That's probably going to break our ability to dhcp But it's also not really a timeout error per se So I can see and that's what it looks like this is supposed to be returning The number of bytes stored in the global buffer, which is I guess whatever we read Okay, those Makes sense to me and I mean honestly even if that was zero, so I guess in the case where we got an empty body Uh, this would be set to zero or I'm just meaning bytes count and bytes read. Oh, well one of them is the length and one of them is the actual data No, maybe branches Pilot happy pylons not uh doesn't care for ifs inside of ifs inside of tries inside of wiles But Sometimes you got a lot of things to check You try to structure it as multiple checks sequentially instead of nesting, but sometimes they're like Additive, so if you do it sequentially then you're gonna end up with a bunch of like and ors into logic, so So Response after x number of retries I wonder where do we call okay from this I guess are finally here. Okay Okay, let's grab this one open Here open wiznet Then oh, that's not what it wants. Okay That would be cool if you could just tell it the remote there I would forget to do that Honestly though, if I would have just read what it told me in the line before then I would have done the right thing 122 copy that Go to board. I wonder what's whiznet edited and This one Probably an older pr. I guess We can delete codepie. We can grab the test test Do this and it should totally fail this time because I don't have the feather wing plugged in I do have my auto reload turned off so I have to do ctrl c ctrl d. All right. We have to fix that too That is the thing that happens in this code. That would be a a good opportunity for another thing to pr into this would be comment this out Um, or if there is there a stemma ethernet thing, I don't think so, right? No, because this is spy not itc So it can't be stemma We want board. Yeah, right now. We have no That wing plugged in because it's right here We'll plug it. I can't see very well So off this side, which seems nice It's probably not plugged in actually so we'll get to see a different failure mode now. I think Yeah, nice, which I don't I'm not a hundred percent positive, but I'm thinking that that's actually a better error message than before I think whatever we used to get was Not that I have forgotten to plug in the ethernet cable before It's not new in this one though. Okay. Let me plug it in I don't actually know if this switch that I plugged it into works Oops back on top back to here try again We shall see on this one. This is like a secondary switch that is near my desk here, but Yeah We got I do have some blink Very possible that the switch is just not actually connected to anything else or Having the ability to dhcp, so Let me plug it into a different one You're at max capacity on the main router. So I had to find You can get innocuous enough to unplug Now we got a connection We got our responses We are looking good. So we tested Something that can't dhcp Properly We got connections down. We tested not plugged in at all Like the ethernet cable not plugged in at all. We got connections down We tested no wiznet module Connected to the spy bus we got no failed to initialize which is good Is there any other There a second example that got touched or no Oh, okay, right. Yeah, none of the examples got touched just two of the files wiznet and wiznet dhcp Maybe let's try one or two more of the examples So Simple server He also Will need board And we will also need the Thing that connects to it go seven client Support with the Oh, right. Right. Yeah. No, we needed to enter here on this And we should see it print from both sides. So we sent We sent a bunch of a fives to it. We received a bunch of a fives back because the server is just a echo thing But we should be able to see it on both sides. So we see it getting received here Then on the actual microcontroller Serger python code we see it getting received here as well Another dhcp connection we were able to start up the server just fine. Let me undo the change here And let's see. Is there anything else we want to test for now Two lights is like a third party api. I think you can just fetch the current color That's how that works Pretty much more or less the same as simple test As far as our tests are concerned really, but I think it did not I think I restarted it before I saved the code file There we go. Oh Library fancy led Turn in now. Thanks. Good night. Oh, yep. Take it easy. Deborah. So I see hope you have a good night No module named fancy lady. Here we go Yeah, there we go. Got a color cool So this would be I think uh technically like like big number I think because it is non backwards compatible however the portions that it's non backwards compatible with are Stuff that is unlikely to have been used externally But it might be worth a quick check to verify. So let's go Maybe Is here somewhere, but I don't see it. There it is Don't think there's very many learn guides that do ethernet stuff at all truthfully I think it's very unlikely we find any of these but a quick check Then the exception type changed from timeout to connection Down exception to breaking Uh Potentially I don't Uh, yeah, I guess that one place where we got the zero. I don't know exactly how to test that. So I'm not sure I'm not sure how to test that zero response to tell if the old version Uh, like what the exception type was in the old version versus the new version I don't know a great Or really anyway To check on that. So it is possible that that changed and that would be another Potentially breaking change Which is also more I guess Incentive to change the major number these are repeats How's it going DJ Devin? Getting DHCP timeout errors Uh in Arduino so half noticed I gotcha Yeah, I was uh a couple of versions back like maybe five or six versions back On the ethernet library a couple of folks have done A fair amount of work on it in the past couple of months maybe But a few versions back it was in a state where my network was not really playing so nice with it I was getting a lot of that DHCP Error not being able to get the IPs and stuff, but there was a PR Within the last couple that Fixed the uh reliability quite a bit in a way that really really helped it on my network at least for sure If there's anything interesting in here DHCP client module is not releasing the socket It'd be good to know I don't know another way really to check If like the release is working properly. I don't know how to How to like Make the leak do something problematic I presume if we were to use the socket Afterwards It would be wonky or something maybe um You get to have sample that actually showed what the Like what the ramifications would be of that but Whoops. Whoa simple server simple server and the what cheer light one cheer light Need a DHCP server code pie that fires bad packets or deliberately doesn't respond That's a little before Thing this case I do not Know enough about the hcp myself probably HCP is kind of in my mind a black box that I depend on to just work and get an IP and Not really ever thought much more about it. I got this. Yeah, well, I should have mentioned That already kind of does prove, right So If I would say too though if you know how to make that Best case and are interested in submitting a pr that is definitely Would be an appreciated contribution. I would say So I think we'll go three. No, we'll go four. Yeah, we're gonna go to 400 Is it is backwards? Uh, it is breaking change. It is not backwards compatible even though it's like Perhaps unlikely to be a thing that a person Was doing in a way that would not be backwards compatible If this still technically like if they were then we'd need to change the code so I'm gonna get actually a difference. Oh, I see. Okay less complex please Move the ntp client Friends already looked at this one and approved. Come on. I wonder you just use ntp library or Move to is not ntp Remove the client module by deleting the file build the docs Build the docs with sphinx references the ntp client do not appear in docs Client is not access access any of the example files Modify the sphinx conf to build up the docs. You just reverted it before Move ntp from here move use More requirements Any of these talked about Why we want to remove it guessing that it can be used with the library client not working with crony My point of view was that ntp clients not working for crony and probably ntpd are What's to do with pack above Stuff wise the length of the request expanded to 56 bytes The request should have a length of 48 bytes Change it to this then it works for example That's on the ntp library it does in fact use 48 PR This regards maybe not sure An ntp client there receives out of stock. It's fairer after some time. Can you tell if it's? Oh Hey, did that one Close the issue Sometimes these are linked and they close automatically, but sometimes they're not Yeah, 121 Okay, I did It'll sound like the same thing though. Maybe Two threads using dockets and implementation to make sure that's an issue with ntp. I wrote ntp thread using ntp library and that eliminated the problem that leads me to believe that's an issue with the library That's are they compatible enough to deprecate good to be a mitigated the function Following hasn't thrown any errors has kept the correct time for the last week It's using ntp library now instead of anything from wisnet Have a look at the error handling if it's incompatibilities They likely are Different ntp doesn't trap any exceptions. So it will work with wisnet Best way to deprecate the Maybe you know what I should have done is maybe done a couple of these prs together And then one major release then we wouldn't have been because this is probably going to be a major release as well but Oh, well Police numbers are free as they say exception Who explains the change that explains? If you're any examples or you change this can As delete the code or make it raise non implemented and do a major version bump We want to is is there a That one won't be That computer right now Interesting that there was no code that used it It was an f5a underscore ntp. I would be pro having an example somewhere of how to use it with ntp library Doesn't exist over it would be nice to have an example that does show how to to use ntp library one of those One with the longer chain So this one they just changed Okay, this is sample code that was using it old way This is Sample code that's using it the new way, but it is also async Okay, tell you what let's make a new issue separate thing wisnet 5k with it for In order to fetch the current time Let's see. They said they built the docs and it worked fine. Also it passed actions, which would have built the docs That should be fine cost us anything to give it a quick try Get it back You gotta run to the restroom too actually so you just one minute Okay, we're back. Here's a start nice for the wisnet ntp example That the one is that the async io one or is this a different one do not copy The async io one nice Automatic time zone offset just one line of code very simple might start using that I'm gonna have to get headphones if that keeps going. There's like the squeaking of brakes on a big truck or something But I did not see a big truck out there I don't know where it's at but it keeps squeaking It will take it for too much longer Just on the next week. We're gonna grab the uh Bluetooth Earbuds real fast very Doesn't matter really. I think we need parentheses here Let's say any code any code that was using the built-in ntp module from this library Will need to be changed over to use a to fruit ntp instead tp is required for wisnet and I don't think so You can't hear it. No problem. Oh, yeah the no I yeah for For what it's worth. I am selfishly concerned with my own sanity more so than coming through the stream I am glad that you don't hear it, but I figured I have a I have a noise gate set up inside of obs I figured it probably wouldn't make it past that since it's like Somewhere else. I'm not sure where it's coming from, but my microphone is also very directional pointed pretty much right at my mouth so Any sound that comes from any other direction does not hardly get picked up at all by the microphone and then Even after the microphone picks it up if it does there's a noise gate filter inside of uh Yeah, so it's pretty good at dropping out anything from the background usually Um Yeah 4.0 0.0 Did that automatically close one 14 and one weird Is it ntp required? Who's not ntp example just because the ones who isn't it ntp feature Is required for wisnet. I don't think it's required for wisnet unless if you Like unless if you want to know that the current time then and you want to find it through an ntp server Then you're like using it but if you just want to make a like htp request to the aterfruit simple test thing or to a standard api um If it's htpp only then I don't think you need ntp for it If it is ssl i'm not sure I don't know Might need to set the time somehow ntp would be one way that you could set the time But i'm also just not sure at all Of course if idf does have feature for getting the time behind the scenes, we don't expose it to circupython or more effective It would tell me what the uh Can add in youtube that's A full song Song I probably would listen to again, but I have no idea who it is or what song it is because it doesn't say I'm not gonna click the thing to open the link for the advertiser so We'll listen to it now and let's see if it comes up again ever To be honest for home projects turn off certificate validation Defense yeah defense if it's like exposed on your network Making requests out to the world depending on what it's fetching I probably would not recommend doing that if you have any option not to now if it's if it just doesn't work Then you don't really have an option, but some projects might be required but not always Just gonna if it's required for the pack timing the best of my knowledge now to the best of my knowledge It's completely optional like you could you could choose to Do an ntp request and figure out the time or you could choose to just not and do your other stuff and as far as I know Just we'll keep working Do a request on this one Anybody is so inclined wants to take a look at a VR But appreciate it some eyes on that one We have here fixed swap in socket connect best daddy Those are on 29 prevents listening for connections on hardware socket zero and making unused socket as Reserved when accept is called on hardware and hardware sockets zero is available Oh C1 Raspberry Pi Pico Internet with net hat 5100 50 socket visual Well, that's fancy. We run this.  I think If we can run this it's a bit of a detail If we can run this it's a bit of a detour, but this looks like a cool thing. I'm happy to Try this out because it looks cool Show it off to more folks You might find it useful. So let's see. Let's grab this This isn't the community bundle Probably not doesn't have a Doesn't have a release yet. So if it were in the bundle, I think it would break. It's the actual repo. It's I don't know. Isn't that socket visualizer let's encrypt Oh, that's a couple of these Yeah, let's encrypt is awesome. By the way, I use let's encrypt for uh It's certificates on servers also, um associated shout-out slash hug report goes to CERT bot c-e-r-t-b-o-t CERT bot is a tool A command line tool for interacting with let's encrypt in order to issue and renew your certificates Uh, which is super helpful So a thumbs up to both let's encrypt and CERT bot. Yep. You'd have to renew it renew it 90 days. That's true You can set it up to happen automatically though run I wonder about terminal colors from jp and did a parsec on it. Nice. I must have missed that one I saw that jp has uh made a new repo Uh to store the parsec code snippets I might I don't know If he has the old ones or if he's planning on going back and putting the old ones in I kind of suspect maybe not Like they might have just spent something you worked on at the time and they're maybe not around anymore Some of them also would have been need to be updated for new apis and stuff like that um Maybe at some point we might spend some time going through the older parsecs though and working through them And rewriting the sample code to submit to that repo because I think it would be Super awesome if that repo was loaded up with all of the code from all of the parsecs Um all the relevant code right like if it's like a an off-handed thing That's not necessarily something you can run yourself. Then maybe it won't make as much sense, but Any kind of sample that's in there That other people might want to run I think it'd be great to get into that repo And I'd be willing to spend some time to go through some of the older ones So maybe we'll do that one of these days. All right, we're gonna get the uh I'll just copy this Do we need anything else? Do we need this? No, I don't think so, right? Copy this I'm gonna drop it onto my device I'm gonna put it just on the root, but I'm gonna rename it from main to something else. We're gonna name this uh whiznet socket biz And we're gonna make some tweaks to get it to run. We need to Have cspn be correct word.d10 I'm just gonna Not do any of those I think. I don't wear reset Seem like reset comes into the mix anywhere here spy bus there Let's not do this reset pin I commented out One's actually done Keep that Interesting. It looks like we need to connect to the server Maybe not Maybe so. I don't know. We got some stuff. We got definitely lots of pretty output Oh geez. We got colors. We got links. All right board Other s3 python 820 beta zero Uh, that would be I guess driver version which it doesn't know about because I copied it from the repo instead of the bundle This would be filled in if we got it from the buzz bundle. I think 5500 has seven sockets Zero can't be reserved. So I guess we have six or maybe eight I suppose is the total but zero's We can out dead beef go seven Got an okay listening for connections on socket one So right now socket zero is closed two through seven are closed and one is listening and I don't know of a very easy or convenient way to connect to this I guess, uh the c python But I don't know what Is it like sending? Is it receiving? Does it do anything when you send it data? server accept Up to incoming connections Doesn't look like it ever reads. So if we connect to the socket then it should Maybe send us back some data as we connect Doesn't look like it ever reads what gets sent So theoretically maybe we can go into this one This one Put this back to how it was Change the port also 3 1 And we don't really want to just send all this stuff Okay, so in our while true, I think we want to connect I don't think we want to send anything We do want to try to receive to see if we receive anything and print it if we did and then we close and then we sleep And then we loop and do it again We got some more print going here. We got some we did get a response here But this thing sure does not really seem to know how to print it out Instantly if it's intended to be doing so Oh interesting this time it seems like it's switched to zero Kind of established in there as well It is switching between zero and one which is kind of interesting. I thought it said what zero couldn't be used I guess maybe it does it for you sometimes. I don't know Or maybe that was a different device. Maybe that's 5100. I'm not sure that could be We're about for the win got lazy use virtual min gpl auto renews for lots of crypt and Set up new sub servers in seconds. Nice Using checkmark and x for connection status and rebel lately. It's much easier to spot Audrey sports proven to be a lot more helpful than I originally thought. Yeah, just nice to have stuff that stands out really well Let me give you that Want to close for something so let's stop Uh that is Fast 8516 cigarette python ways net socket visualizer isn't that 5k socket visualizer Interested in ethernet and sockets and stuff. Check that out Oh, maybe we got zero because we didn't actually use the New version that could be I can't say as though I fully understand the issue. I guess of Going on really maybe the way that it was bouncing back to zero and one was Actually the issue. Maybe we were seeing the issue Import file names with emoji. I don't know you could do emoji and file names at all Pretty crazy I just I think scott at one point played with like emoji like you could make an emoji a variable name I remember seeing somebody do that. I'm pretty sure scott as a file is pretty crazy Hopefully I don't really know the particulars of like which sockets are reserved or not reserved or Frankly, I don't even really know what is reserved versus unreserved I mean, I kind of get it means that something's going to use it or not be able to because it's reserved, but I don't really know what would be Doing that in this case specifically Make it should work Won't necessarily show up on the display. Oh Yeah, yeah, yeah. No, I don't think it would do that either. Yeah with tile grid Is the built-in font has no emojis now The built-in font had emojis, but then it would probably be way bigger And they would probably only be single color. I assume but there are there are like monocolor emoji sets out there Probably the size is the biggest problem for them. I guess if we wanted to have Even remotely medium sized set of emojis, I guess it would make the font bigger than it is today We get another one So Need audio and all factory emoji Okay, so for this one, let's grab the pr version and then We'll try it out with simple tests and we can try it out with that visualizer, which is already running anyway So drop it to here. I'm going to delete the other one Was that size varies in the unifont? 16 by 16 have monochrome emojis nice Going down a lot of json data from an api a quick emoji can help Looking into emoji font stuff serenity. Oh s serenity. Oh s this cling Nice. Oh, wow. I love the uh Oh, wow I love the the xp vibes are like 98 even almost Yeah, blinka and then blinka I think is a bit mapped instead of a font Like it kind of sort of looks like a snake emoji, but it is a separate bit map. I'm pretty sure Get inside there. What's that stuff? lever I recently added ansy color codes to my usb debugging helps a lot even with just one color implemented Oh, yeah, that's pretty sweet Do you use the logging library for that or you have a separate Logging solution does look like the login library the timestamps look the same If you are so inclined it'd be awesome if you want to submit a pr to the logging library I think other people would probably find that pretty useful as well Even if it's just the one color like you say that would point people in the direction to being able to use it Which would be pretty sweet Dialess I always do that wrong copy message link. That's going to be the link Do the message not the link that's in the message? Well, correctly. Oh, there we go. Yeah, got a nice small set of emoji Back to serendios nice. Okay, so this is the tweet where they're talking about having it or it's not a tweet obviously, but Hey, that looks familiar Well, we can did I okay, so I deleted it. I paste the new one. We're good to go there Let's let's rerun the visualizer. I guess let's see it. Maybe this time it won't be bouncing between zero and one Let's see if that's the case I can't just import it again, or I mean I could but it won't work We need to do this control c control d I could go arrow up, but I can't One of these days I'm going to look through to and see if there's a way to can save my history Seems like a thing it might be able to do Actually, no, I'm an up arrow abuser and tab also I see this time we got udp on zero Every time and then established and then we did we did change the two though But but zero is always udp, so that's the main difference here Now it does it is going back and forth, but now it's going back and forth between one and two instead of zero and one and zero is marked as reserved effectively for udp. It looks like I'm not sure the particular is what that means exactly to us, but You get the output, which is pretty cool Let's stop that. Let's do simple test real quick also, which is Well, currently we have this which is a cheer light just run that one real quick That should be setting our neopixel Yeah, oh, but it's so close. Oh so close to white right now. Oh timed out. Yeah, that's the wrong thing It is setting our neopixel. Oh, it's not even close to white. It like is white actually right now I think if you tweet or something with the right hashtag you can Uh Cause this to change inside their server basically To turn it on and it is working. Let me do simple test also real quick And I'll do the server one as well real fast. I think that's a that's a good three Three of them to check simple test cheer light and simple server Gives you two different Different requests based ones In one server Excuse me Oh wow, I had no idea I had that many colors Are those all different? UDP being stateless means you don't have to connect. You don't have a connection receipt event You always listen to LC miss messages. Oh, okay. That makes sense. Does make sense. Yeah UDP Like a broadcaster or whatever broadcast packet across the network where Everybody's kind of inherently listening all the time Although wait, no, that's multicast. Is that the same thing or is that a different thing? Maybe it's like a subset. Maybe that's one thing you can do with UDP. Okay. Yeah I messed with this a little bit once So maybe that's what that socket is then that socket's waiting for these multicast things potentially That zero number socket Could be end up on simple test. Did I run it? Say You just got both simple server. Let's do real fast Empty stringer zero zero zero zero zero Okay, I think it means just bind all interface Yeah, I do use zero dot zeros like that sometimes on my pc when I want to run a server that listens on all listens on my ip such that other computers on the network can access it Rather than just local host only Never I don't think I've ever messed with zeros on the microcontroller We're awaiting so we can go run our Original one of these ones The thing underneath run which is debug I don't really use that much Stop that I'm a I am a printer more than a debugger Oh the port changed It's good I don't know why I can't stop this with control C. It's kind of interesting So we used to have new socket num which got returned by socket accept along with address We now Just put it in the kind of like throw away variable underscore We used to set that to new listen sock num which we got from there And instead now we have client sock sock num Getting created like that Makes sense to me. I mean, I don't know I mentioned the internal kind of like particulars the difference between these but I could see the difference in the output And I can see that our examples all still work. So 500 I think we decided was on there, right? Yeah, because that thing printed it out, didn't it? We didn't really Maybe not not the best to say we decided that So I get printed out I'm pretty sure Yeah Wasn't actually sure about that before Socket swap in socket accept. So I think we're gonna go with socket accept fix The name of the release on this one And I think that's probably minor number because that was not Breaking change I don't really make any difference to anyone Really the only person that would make a difference to is if anyone was trying to use that zero Socket for its intended purpose, I guess if it was Previously sometimes not being reserved successfully, but I don't know if that's that might be like Misunderstanding of how it works In my mind possibly as well fun They all do uppercase because it's in a title but in this case it's a It's kind of like also part of the api so Which I guess it would be a variable socket. So it depends on what you call it, but lowercase is customary this is for a fix In socket accept Reservation for the wrapper Reservation of socket number zero So that's probably gonna freak out get hub because it's gonna think we're talking about a okay. No, there's not one. Okay. That's good Maybe maybe we luck out because there is no zero. Maybe they start on one Kind of funny if that's the reason why it's working It was fast eddy's 586 I think something like that Yeah, 516 Zero one. I always like to double check 00501 is definitely newer. Yeah, if you accidentally put a lower number here than the previous one We'll get in trouble It will not be happy Well, get hub will be fine But the way that our actions are set up will not do what they're supposed to I think or at least they used to Not I've done it a while. Luckily so um, all right, we're coming up on Time so I think I'm gonna stop there We got one more of these that's not mine So there's one more that I could ultimately look into Um, but that I think we'll save for a different day Uh, if folks are interested in more Streaming circuit python content like this, uh, you will be pleased to know that I am typically around on saturday mornings as well I was not last week because I was still without power, but Most weeks I am streaming on saturday mornings at 10 a.m. Central time working on circuit python stuff I do anticipate that I should be around and streaming tomorrow morning Um, that's definitely the plan as of right now. So unless anything goes horribly wrong, then I'll be back tomorrow morning I am not a hundred percent certain what I'm gonna work on For a hundred percent certainty But I will leave you with the teaser that I think The plan is Playing with something that the ate a fruit fairy delivered to me today, which was the New matrix portal s3 Uh, just got mine delivered today. So I have not even unpacked it yet, but I think I will bust that out and maybe Start playing without a bit tomorrow on the stream So if you're interested in that you could tune in tomorrow morning 10 a.m. Central time Like I said, I'll drop off links here in the discord when I get going Uh, and because that is over on my own accounts on twitch and youtube So it will be a different place than the current stream Thank you to everybody who is watching this stream I hope you all have a good rest of your evening and a good weekend and all that stuff Thanks to all the folks in the chat who were helping out Thanks to our pr authors, uh, biffle bear fasteddy dj devon I think that was all the prs we looked at if I missed anybody. I apologize, but thank you to everybody who submits Any prs or does any work on circuit python? I appreciate all of you. Um, yeah, so long for now. I will see you


Scott is so afraid that I'm going to pillage his caravan that before we did the show He actually threatened me and he threatened serious war if I pillage his caravan So you can't see it now But what happened over the last couple turns is he's got a caravan coming out of his capital Which is as best I can it's got to be in one of these two spots But he's got a caravan that comes right up here to Lhasa and it's a big part of his economy as far as I can tell And I saw it go in this way So I just let my scout in because I've got my unit slowly moving up to be ready to assault him Now he had a couple units here ready to fight me and We'll get back to that so independently because garrison units are free My economy is not great. I just spent a ton of money to buy this spot So I waited for my culture to expand made here. I immediately spent money to buy this wonder not this wonder this uh Like it's a wonder of the world, but not in the traditional sense of a human making it But anyway, so I got this thing primarily because of the science Like it's just a great place to have and I'm pretty sure her was gonna expand over to take it So I wanted to get it first so I spent like 65 gold on this which was a significant chunk of the money I have so I'm a little low on money But because barbarians are gonna be a constant threat on this kind of map because I won't have troops stationed out here Watching all this nor am I gonna build cities out here. They'll just keep coming in for the whole game So I built a couple extra military units to just station for free in my cities And I'm gonna make sure I have a garrison in every single city just to be able to defend it from barbarians But I'm not gonna keep any other troops out this way Now these barbarians just appeared and I'm gonna take care of them as for these barbarians Oh, I thought they were a city-state quest.  That's not a great thing to attack right away So I'm gonna come all the way around so I'm flanking with my other guys So the caravan has got to come back up this way and I've got another unit here and Scott has retreated because it looks like the cavalry arrived I did not know there was I wonder where that barbarian was because this guy's complaining They want me to defeat barbarian units that are invading them and truffles gonna get truffles when I build my settlement here But now that there's this barbarian I'm not gonna attack it because I don't it's scaring Scott away Scott said and threatened that he's got plenty of units here He's gonna take out my hop lights that are quote-unquote quote low on health and now he's retreated a little bit Things aren't looking great for scots.  It's got can't come across There's two there's no room up here. You'd have to really fight to move a unit through and I know There's barbarians up there.  I'm not gonna be arrested.  This guy's building roads I'm gonna build a road to connect these two and then I'm gonna build a road to connect Jerusalem Because they also want this which will make them my ally and then that road is gonna come right out of Jerusalem to my city here I'm gonna build a city here. I'm gonna make one pretty big empire actually So what can I build here if I'm doing this domestic policy? I could build more military But I kind of don't want to right now my economy. I'd rather not push it Even though I could easily build a giant army. I'm going to build more things to stabilize I'd build this if I was gonna attack him. I know he's not gonna build it all this would get me I'd want to build a composite bowman first because if I built it now I just get one hoplite one scout and one companion cavalry if I built a composite bowman and a Chariot archer I'd get those as well and a catapult Let's see. What is the best economic or this might be good. Well, I get any great people and I've been making great people I am not making great people. I haven't built any other wonders So That would slowly make great merchants, but otherwise a stone would get me two extra gold source of marble or stone Well, that's stone Only marble the marbles up here so that wouldn't help so that would actually if I build that even though It's only one stone here That would get me Two extra gold which is half of my deficit. That's actually not that bad Otherwise though, it just gets me a culture. It's not that great It's touch you a Zeus will be good for finishing Scott off. He hinted that he's building stonehenge. I don't know if he's bluffing or not Temple of Artemis might just be good to grow Hang gardens temple of Artemis are both growing. I haven't done the math to figure out which one's better I suspect the hanging gardens a little bit better Free garden in the city which built which would be good if I was making great people But I'm not and it will not help me make great people so it would be useless temple of Artemis is much simpler culture engineering and Significant boost I could build this and then when I need to build my range units The time would be right or I could just say fuck it and build a settler I'd like to get a little more here I'd like to have filled this out But I don't really need to because as soon as I start building more cities it gets harder to get this stuff But I got the most important ones. I got this and I got both of these This one is moderately important, but it's not super important. This one's really good So I kind of want to get to more of these I could skip these for the immediate term. We'll see I haven't decided what to do there So what to actually build? I'm getting plenty of faith from my city-states So I think that's fine. I'm gonna have plenty of happiness as well, though I could bolster that By building this and this and then I'd be ready to build like the Circus Maximus all that other nonsense Cannot do this. Maybe if I can't build a caravan a Surrey yet. Oh, yeah, I can Increase the range by 50 percent, which would be good. That might mean I could get out over here But it would also Not get me any gold ever because I will never have a trade route with another civilization just for city-states Huh horses and sheep and cattle produce plus one production. I want horses It's pretty much it. It's not great grain or it'd be okay. It's also not great This is just happiness. I guess I could do this first to bolster my happiness a little more even though I've got one Two with the truffles down here, I've got multiple avenues for more happiness down the road But while they're cheap and easy to build maybe I'll just bang this stuff out instead of focusing on any wonders Yeah, let's get ahead on the happiness game just in case I could leave this guy here And I probably will may I can start moving him across later as well But for now I'm just gonna leave him in the garrison We'll see how Scott deals with this. He can't be as aggressive as he wanted These guys are in a very well fortified position. They're very strong.  I'd actually wanted I definitely want to lose a unit But I'm gonna capture Two barbarian encampments in short order, which will get me some money and I'm gonna capture this too So actually as much as I was gonna build that circus. Let's bang out another companion cavalry first Because why not? My deficit will sort itself out. Oh He's moving the units in Well, I kind of want to finish that barbarian off But I think the city state might do it on its own which is actually really annoying I might just leave these guys set up because he's not that strong if he's Let's see So the city state is probably gonna finish these guys off as much as I want to finish them off I can't easily go around and get after them without compromising my position here against Scott These guys are both pretty strong I might just leave them set up here and let Scott try to attack me So I don't think he's gonna be able to handle it Meanwhile, let's just keep this road going over here and let's mess up these barbarians nice Let's see is anyone close to a level This guy is pretty good. He's got two levels of shock and open terrain This guy is real close, but he's the healer. I know he's not real close That's his life One of these guys are particularly close. I'd rather the companion cavalry level up So let's Yeah, I get some culture in Sky up move this guy in And that guy's good I'm just gonna leave him there to heal because I want to be full strength when I suddenly come around and start Well, Scott plus you might have another trade route coming over here, which will be a mirror of the last game That's looking good. Where are these barbarians all the way up there? This guy I guess can come up and defend it'll be finals ignored for now My mind's in look at this Look at this My deficits a little higher for now. I'll have to deal with that at some point But I guess I could I could deal with the deficit pretty easily. So I'm not going to right now It would be pretty bad actually 10 turns. I'm gonna stay on the gold science focus This doesn't hurt the city that much and all that extra science is gonna be real useful Maybe I should send this guy out now even though I'll lose the money to take this barbarian out. Yeah, just in case It increases my deficit a little bit, but I will deal with that as the time comes Come on. I just need the care. I just need to hold out until the caravan comes back and I'm good Oh, it appears that Scott has not moved in on me for some reason. I wonder what's going on I will just continue to dig in Stay nice and fortified and wait it out This guy's gonna head up here to see what's going on with these barbarians Keep building my road A little bit of money. Ooh, that was for her Which is already my ally now. They're just like crazily my ally Guess they were uneasy about it this turn and now I got it. Nice Well Guess I should finish this business Not ideal to attack for the companion cavalry, but might as well level them up Now I got a heal up and then burst across This companion cavalry will immediately go off maybe in to either go this way or If this guy can't defeat it for whatever reason if he has trouble they'll pincer it And then this hoplite is actually going to march right back around Athens while the companion cavalry goes on to join the front think I'll probably build a settler next and I can do this one later Iron and stone and marvel up there. There's a decent city to be had like here actually Yeah, look right here next to a mountain so I could build Oxford University if we get to that or the observatory I'm within range of these guys this stuff These that not bad. I think I'm gonna build here first cuz I'm gonna road I'll deviate just to at least improve these things and then road onward to Jerusalem Everybody else just heal up. Yeah, he's not a medic. No one's a medic.


from Seattle, Washington. It's theCUBE, covering KubeCon and CloudNativeCon North America 2018. Brought to you by Red Hat, the CloudNative Computing Foundation and its ecosystem partners. Okay, welcome back everyone. We're live here in Seattle. It's theCUBE's coverage of KubeCon, CloudNativeCon and part of the CNCF CloudNative Computing Foundation. The rise of Kubernetes, this is what the show's all about, three days of wall-to-wall coverage. We've been there from the beginning, covering this KubeCon effort from the beginning. I'm John Furrier with Stu Miniman. We're here to analyze and break down the event with our guest analysts for the segment, Steve Herrod. Kube alumni, he was there. The first day we ever did theCUBE in 2010 has been a good friend of theCUBE. Now he's a venture capitalist managing director at General Catalyst, premier VC in the industry. Steve, great to see you. Good to be here. It feels like the early days of some of the other conferences too, doesn't it? It feels like AWS, seven, eight years ago where it tips over, there's a tipping point, we seem to see that doubling. So it's kind of that tipping point where there's more demand for theCUBE and we can fill it, so it's great content. But it's a bigger picture and I want to break through that. I want to get your thoughts and let's have a shared conversation around what's really going on here. You're talking about a disruption in the industry with cloud computing. You got Amazon, just a freight train, just taking all the beach, the wave is coming in this is an opportunity, in my opinion, the industry to kind of say, hey, it's a multi-cloud world so you're not going to take all of it.  This is a way to create an open source way to fill the gap. Your thoughts, you agree? I totally agree and I think what's interesting, this conference does not have a corporate, like at least an explicit corporate sponsor. It has four or five that are all trying to have their play in it. Microsoft's not one of them, which is sort of interesting. But it was, I think a very bold thing this year to have this big of a venue and invite this many people and then hope that you're going to get the sponsorships and all the other stuff that follows. In Seattle. In Seattle, yeah, our weather is a little bit interesting. But just to your point, I do think this is really interesting because it is more open than a lot of these conferences where people are coming together, both open source but also so much focus on how do you do functions in a way that works across places? How do you do service meshes? Like everything is, it's both good and bad because there's so many choices that people are being seen right now. You were the CTO of VMware. Stu, you worked in the CTO office at EMC back in the day. You're seeing a systems kind of vibe going on in cloud and you got application renaissance kind of almost like the app server days. Think web sphere or whatever that movement in the 90s and 2000s that kind of grew quickly. All kind of being modernized. So you have cloud scale. AI has been around for a long time because of the cloud as a renaissance. Video's been around for a long time but because of the cloud, things like theCUBE is happening. So the cloud is enabling a rebirth of a lot of things and enabling a lot of new things. How do you guys view that systems view application renaissance? Jassy talks about it at re-invent as a new kind of persona developing. As a buyer and IT investments are changing, you're making startup investments. It's crazy. What do you think? Yeah, so first of all, John, I like what you're saying about that systems view because too often we kind of focus on a specific tool. So virtualization was great but big thing, I took a bunch of servers, I made it smaller servers but I took the same old application and I shoved it in there and I left it running for another five or 10 years when I probably should have modernized it. Today, we just had Cheryl on talking about the ecosystem and customers and what I want to focus on is how the users get value. What are we building on top of this? Not the next cool thing to build but how do I run my business? How do I do cool things with Genomics? How do I improve healthcare? And in many ways, we're seeing some of these top down things. I mean, what's gotten me so excited about things like serverless and been really poking and teasing it how that fits in with this ecosystem is it's not just about a way to kind of turn the crank on making things a little bit more efficient or get, I can manage more machines with fewer people but it moves up thing. And for someone like myself who I'm a networking guy with an infrastructure background it's a little out of my comfort zone and that's okay. We talked to Lou Tucker. Lou's really excited about where AI is going and what's there. So I think we're in a real renaissance here and it's a big influence. Well, I think to your point, what's interesting, whenever I do a teacher course to college or when I'm talking to startups or even in the old days, it's really easy to forget that infrastructure is not a thing in its own right. It's solely there to enable applications and to enable other things. So whenever you get really deep in the weeds on this is a new security model for this type of container or this, it's important and you're thinking about the best way to do it but you really, right, you have to abstract it out to can I ship value faster? Can I save customers money? Can I do something safer? You really have to think about it in that context and thus there's so much activity here. You have to really make sure you're thinking about where it all fits together. And you know, the computer science conversation changes too, the nature of what is computer science is evolving. And I want to get to that in the next kind of discussion point but I want to just Steve ask you, you know, you were on the VMware side when VMware kind of entered in with virtualization, it was a desktop, it was app, it was like you loaded it on a machine and then that ended up transforming a massive industry. And so a lot of people compare what VMware did in its growth and its impact but saying the cloud has got certainly more orders of magnitude, you mentioned security. How is, where's the VMware moment in this cloud transformation impact? I mean, your thoughts there, because you've been on both sides, one as a driver of CTO at VMware and now as an investor. Where do you see cloud? I've kind of thought of it as two different angles. One is appealing to developers and then that taking you all the way through operations which is, I mean that is DevOps is sort of looking at that. VMware's first product was a workstation product that made developers have a bunch of environments right in front of them. And we always had a vision for getting into the operations center but we knew we had to kind of come up through that path. And I think likewise a lot of this tooling that we see here is developer first and it's them saying I like this tool and I can make my job be more enjoyable this way. But what you're really seeing, especially at this one is how do you start in the developer tools and then not be detested by developers but then actually be paid for by the operation side. And so if you look at the type of vendors that are here you start having venture capitalists here. You have a few people wearing suits here. It is about making this more enterprisey, more production ready. And that's kind of the natural progression of any major impact like this. And Heptio certainly, Stu was reporting earlier the number was embedded in the filing of an EM where a half a billion dollar acquisition for talent and a position in the marketplace. There's liquidity. So there's investment opportunities. We talked to Jerry Chan about this at AWS and one of the gear thoughts. How is the investment thesis going on? Because what are you investing in this? The notion of a stack is kind of transformed into Lego blocks and services. So the notion of a stack is kind of changing although people say, I've heard people say the Kubernetes stack. I'm like, well, what does that mean? Which one? So there's a lot of kind of stack derivatives. But how do you invest in this? What are you looking for? Where is the value? Where are you sniffing out the deals? Where's the white spaces? And where should entrepreneurs go? Yeah, and I have several companies presenting here. So I've certainly done in some investments around the space. But I focus on a few things very specifically. I've been around this a little while. I really like to think about not tools that go to the new hot new companies. I really try to think about what is more mainstream company going to adopt? And that usually means a few things. It has to have enterprise capabilities. It has to fit into the rest of the things. But I look at like how are you going to digest this with your other tools and the other processes that you have in place? So if it's a security solution, I look at, I don't want really something that only protects the brave new world. I want it to fit in somehow with security policies and other things that are happening. So mainstream adoption, IT kind of impact? I like a tool that actually works across environments and lets you go from here to there. You have talked to Elumio several times. They're trying to do micro segmentation for physical machines all the way through containers. The other thing I'm keeping a close eye on is this is chaos in terms of the number of startups doing very specific point solutions. And you have to really think about how does that grow into a big enough chunk of a budget or a big enough problem? So every single time I make an investment I ask how does this do something 10 times better than something else? And is that important to the company? And that's really hard to answer sometimes. Yeah, Tosti, and what's your take on the kind of open source, open core business model today? To be honest, I go around, I talk to some of the founders there and everybody wants to contribute to open source, but maybe I don't want to build a business around it because actually monetizing that is really tough. Is it just, I look for to get acquired by one of the big players here or can I actually build a business with open source? That's literally the billion dollar question. But I do think, like on the positive side the number of exits are big things recently with Magento, with Cloudera doing great, with obviously Red Hat. But we've seen in MuleSoft a lot of big acquisitions and some good IPOs, but on the flip side you definitely have to think about it differently now. There's a growing license that is very careful about allowing clouds to host your open source project without contributing back. Hopefully that'll allow this hosted model to play out. But I personally, I certainly look to open source, you can see what's going on from traction. But when you see it as a great lead generation engine which it often is for folks, I think that's a really healthy way to avoid spending a bunch of marketing money. Yeah, it's been fun. A lot of different shows we go to. Love your analysis, thanks for coming on, appreciate it. Just in general, as not a VC, but as a tech person and in the industry, I want to ask you and Stu, where's the, what wave are we on? I mean obviously Kubernetes is now kind of front and center, but we still got cloud native. Is it cloud, you got IoT and Amazon re-invent, we saw a lot of conversations around Edge. They had some interesting announcements around satellite telemetry coming in to regions.  Is it, the rich get richer? Is there going to be a new second tier cloud service provider? Where is this going? How is it going to reshape the industry? I mean just big picture, what's your thoughts? This is literally what I get paid to do is figure out where things are headed. I'd say just at a top level, this is a super fun time to be in this lower level of the stack. You mentioned already AI gets, it's sort of AI washing goes on a lot right now, but the very core of it is literally changing every application in interesting ways. And for me, I was a former hardware designer. The fact that you can now build and have really cool new hardware that's accelerating this stuff is really exciting. You saw Amazon's announcements, not only an ARM based server, but Inferentia chips. Google's been doing this with TPUs. 100 gig networking in there, like high speed, it's a cluster configuration, it's amazing stuff. So I love the fact that we can actually have very big innovation at each stage of the stack and it's because the combination of every company becoming an app, digital company, coupled with the power of AI to transform things means you need DevOps to be faster, you need these platforms that let you do more self-service. And then I just sprinkle on top of that is just the ridiculous demand for high quality engineers. And if you don't give them an environment where they feel productive, they're just not going to stay at your company. And so all that mix comes together. I don't think they're going to be, they'll be some giant companies that already are, but I think the ability to create a new company that becomes large quickly, or becomes small quickly if you screw up, is bigger than ever. It's total acceleration. Everything's faster. Values accelerate, but it's also failure too, right? Exactly. Everything is accelerating. You have an option to abandon in your NPV calculations and IRRs in your portfolio. Exactly. The word pivot comes from... Everything is faster, that's the right way. What's your take on it? Yeah, so we're an interesting point in the industry. It's a bit of a paradox. On the one hand, the challenge of our time, we've been talking on theCUBE since the early days, John, is it's about distributed architectures and we're decomposing all of the pieces. Even Kubernetes itself, we're going to talk about how decomposing. On the other hand, everything's consolidating. I've seen more vertical stack integration from the chip and hardware level all the way through. You see Apple, Microsoft, Google, and Amazon all have chip companies and they're doing really interesting stuff there, but it is such a complex individual that no one company can do it all. So there is opportunity for people to build on top of that. We have new marketplaces. We have new ways of doing it. So, yes, there's going to be some really big winners and we have seen changes, but there are still opportunities and yeah, John, it keeps us busy always. Here's my take, here's my take. I want to get you guys' reactions to my video on this. So obviously we're in the media business. We're disrupting media with theCUBE. So we look at the market and it's kind of matched the music industry. The power curve, the power law is very flat and straight and then a very long tail and with the head of the power law is the big players. But then when media came out, it kind of created a fatter tail and a bigger torso. I think that I see in the cloud, I see the rich getting richer. Amazon, Google, Microsoft, Alibaba, and maybe a couple of players underneath there, IBM, Oracle, those big guys. And then it's going to be a second tier of cloud service provider, someone who's going to package all these awesome sets of features in the long tail. So you're going to start to see a growth because the big guys cannot be winning all the mid-range business. I think, you're right. I think there's going to be a lot of solutions that are just exceptional. And I think the scale of the cloud is going to create an opportunity for new kinds of service providers.  I'm going to package this differently. I'm going to assemble a cloud solution on either one or all the clouds. Why wouldn't I use the accelerated Amazon or the power of Google? I think that's well thought. And I do think, we've talked about this for a while too, but I do believe there's going to be specialization by industry where you have certain algorithms and data that's unique to it, by geography. There's still going to be sovereignty issues, even by just like what type of things am I trying to build? So I do think simultaneously there's commonality on the platform, but that allows you to do specialization and to really serve a specific industry quite well. And machine learning is a great specialty thing. The metadata to power machine learning. So Steve, you have any further questions you want to ask us before we run out of time? Well, I would just say, I mean, you see a lot of these conferences. I actually like to show up at these and say what point in time does this look like the AWS reinvent for me? What point in time does this look like the maybe the VMware event in my case? But I don't know, this feels to me like we've jumped over, we're sort of at that point where this is going to keep going and growing for the foreseeable future. How do we make sure we've hit the inflection point but not jump the chart? Yeah, I mean, do you think we are here? And do you think, how does this feel versus some of the other events that you spend time on?  And you know, my resounding answer so far is no. While there might be 35 main projects here, each one of those was started for a reason. They stand on their loan. We've got Matt Klein on from Lyft as our next guest here. And Envoy, if Kubernetes didn't exist, Envoy would probably still exist. So there's a lot of these pieces that are good but it is complicated. It is very complicated. All these pieces, but that's a real opportunity for a lot of companies. The SI is the big platforms to be able to help put this together and the customers are thrilled with what's going on. So there's interesting things there. This ecosystem, the only ecosystem I've seen probably grow faster is the Amazon one. So it is doing well and we've been looking for years as to like a nice vendor independent ecosystem to grow because some of the ones in the storage industry and things like that all died. So there were vendor shows and the Linux foundation's done a nice job. We bet early on it. Well, we bet early on it was a good bet but here's the challenge that they have. They have lightning in a bottle and it's definitely arrived. So there's a little bit of jump to shark moment. You got some things happening that's kind of glam oriented but absolutely it's arrived. I think the challenge that they have is open source community is a core constituency of this event and the Linux foundation is structured to be kind of a very tight top, thin at the top pyramid of management and this scale of this event and this movement is too big for them. I think the handle, I think that either you have to have a sub brand or start segmenting out because if they lose the open source community then they're going to lose the vibe of the event and that's the core of what it is. The downstream benefits kind of an open source parlance is the IT impact and the developer impact and inherent in that is the business benefits. So you're going to start to see more suits coming in and you're going to start to have a melting pot and that is a risky proposition if they don't get out front on that. So yes, it's arrived but there's so much time that can be devoted just to the projects, just to the innovation. You're going to have to wear hoodies next time. There's a money making aspect of it. Yes, the money making aspect of this is huge and I think that's what we're watching as the business people come in saying, look, this is billions and billions of dollars. Maybe just one more thought on that. I like that the notion is really important. This is a distributed not really owned by one person, one company and there's the chaos that comes with that and so how do you do the balance between these two things? It's like when Amazon announced their blockchain thing it's like blockchain is supposed to be distributed and now we have a company running it in one cloud. It's like that balance between the push and pull of centralization that we're going to see. We'll have to put some computer science architecture together and maybe put an operating system around it. Fresh from DevOps, Steve, thanks for coming on theCUBE. Great to have you on as a guest panel. It's great to see you. Legend in the industry, Steve Herrick, CUBE alumni from 2010, been on every year now at Venture Capital as former CTO of VMware with Stu Miniman. I'm John Furrier, analysis of CUBECon. Stay with us for more coverage after this short break.