Good morning, good afternoon, good evening, wherever you're hailing from, welcome to another edition of our developer experience, Office Hours here on OpenShift TV. We are back after quite the hiatus, Red Hat Summit and KubeCon have been a blur for me, as I'm sure many others, but we are back to our normally scheduled fun. And Serena, you have a very interesting topic on tap today. I find this fascinating. Would you like to tell us a little bit about what we're talking about and who's here? Yeah, definitely. Thanks, Chris. Hey everybody, glad to be back. So today we've got Evan and Ooth who are two members of Red Hat. And interestingly enough, they were both part of an intricate part of the keynote summit demo of developing different pieces. And through that process, we found out that there was different ways that developers were kind of developing and deploying onto OpenShift and testing. So we thought it would be a really cool series for one of our developer experience, Office Hours. So let me quickly let Evan introduce himself. Yeah, sure. I hope my mic's still on. So, hey, I'm Evan Chartis. I work at Red Hat on the managed services side of things. So if you're watching Summit, you would have seen us launch our Red Hat OpenShift Streams for Apache Kafka. So I work with the team behind that and our managed API management solution. And what I do is I'm a technical marketing manager. So I help enable our field and I get to make fun demos. Nice. Thanks, Anuka, how about yourself? Yeah, hi, my name's Ian Lawson. I'm a Domain Solution Architect, specializing in OpenShift. I've been at Red Hat for about nine years now. I basically evangelize about OpenShift and how good it is. I'm slightly different to most people at Red Hat in that I used to work for a living. I was actually a software developer for 25 years, which is one of the reasons why we're having this talk today because I'm an old school software developer who's happening to do new school software development. Okay. Does that make sense? It makes sense, yeah. No, this is gonna be an awesome show. Yeah, so I thought we would first try to do a little pull up front, if possible. And I don't know if somebody could possibly help me put something in the chat as well, Chris. I think I did put. I should be sharing. You are sharing. So here is the question for everybody and you should be able to have multi-select. How do you develop on OpenShift today?  Are you pushing to get with a webhook so the build's automatically kicked off in OpenShift? Are you building locally, pushing to your image registry, hopefully Quay, and deploying that image into OpenShift? Are you pushing to get building and pushing that image to Quay from CI? Another option might be using Red Hat Runtimes tooling, whether that's Fabricate and NodeShift or is there some other method? So I don't know how many people we have on right now, but hopefully we can get some people to add some answers there and we could see this possibly auto-populate. This will populate live. So let's see if we've got some, I think hopefully we've got visitors back in since we've been off for a few weeks, but it will be really interesting and I'm actually gonna leave this open for seven days so we can come back later on and kind of see where the numbers are, right? If people are watching the recordings. So definitely please take a second to answer that question. And then after this one, what we're also going to do is, which of these have you tried to date? So I am going to try to figure out how do I get out of this? And if I'm gonna remember how to do that. Just minimize it. You should be fine. Just minimize it. Or you can close it too if you're not gonna use it again. I think I might be able to go like this and then the second question will be, which of these methods have you tried to date? So the first one's, which one do you use? This one's have, which ones have you tried? And... Is it multiple choice? It should be. It's not? No. Oh no. Let me see if I can quickly change that. You can fix that, yeah. Hang on folks. Let me see. You never know. I can try. It does say, let's see. Dun, dun, dun. Let me quickly see if I can try to fix this. I wish I knew this interface. Multiple choice. It says it's a multiple choice. They must be. Which can only select one. It's very odd, isn't it? Well, go back to that screen that said multiple choice. Because we're making... Oh, I'm still sharing. Yes. It says multiple choice. Let's see. Right, but is there something else below? No. No. Wait, advanced question, scroll down. No. No. That's weird. That is weird, but you can't select. Is it actually like multi-select? Is that somehow... Yeah, is there like another definition in here? Like hit customize or something? No. That's weird. Really weird. Darn it. So we've already failed before even demoed. So those are hard. Okay. So then let's just stick with that initial question, which is how do you develop on a ship? And so, okay. So this is great. We got quite a variety here. And so I'm not sure who's going to be interested in demoing first, but we kind of have it set up where you guys are going to both be using the same application. We were going to have, maybe Evan, you can go first, explain which method you're going to share. And we can do a little timer. I don't think we have an online timer that we can show, but I'm going to time us. And then the long it takes for each of the methods for the heck of it. Okay. I'm trying to think like, if I go first, is my like Eames is far more flashy whereas mine's more archaic. So yeah, mine's going to, maybe not look so hot compared to his now. Mom, maybe we want you to start first. The flashiness will be. That's what I'm thinking. He's going to be awesome. Let me see. Where do I share my screen? There we go. Desktop to share. I don't want to do it on the start. So has everyone seen that on your screen? So you see my, we can see here. Do you mind just sharing the link within center here? Yeah. I can distribute it out. Chats. Oh, there we go. Zoom chat. Ta-da. Awesome. Okay. Yeah. So far the demo myself and Ian basically put together an application that's fairly straightforward. It's like kind of like a Hello World application. So if you use OpenShift before, you've probably seen some of these and this one is basically a fork of one of those. It's a node one, but I've added in a build step because I really like TypeScript. So that does add a build step which some people don't like but I like Type Safety. So that's what this app is. And Hello World of TypeScript on OpenShift. So let's see how I'm going to deploy it. So I'll give a quick overview. I have this phoned locally and how I plan to deploy it first. I have a few different ways actually, but the main one I'm going to show I think because this is what I was doing at Summit that had the disconnect between me and Ian is I'm going to build it locally. So here I have what's called an S2Y script in my folder or in my project and all that's doing is using S2Y. So that's a tool that Red Hat provides and it stands for source to image and what it does is it takes your source code and you give it a builder image. So in this case I'm giving it the Node.js builder image and it will transform your source code using kind of best practices like the standard procedure you'd expect with most of the runtimes the same. It does the same thing with Java and other languages too. And it's going to transform that source code from a local folder into a container image using Docker or if you use I guess a builder and podman it supports those two I'm guessing but it builds that container image on my local machine and I'm going to push that up to key.io or you can push it up to a different image registry if you use another one and then I'm going to deploy it on OpenShift. So I guess I'll do that. I'll dive right in. I have an OpenShift cluster over here by the way in Chrome. So I'm just going to deploy it into this dev project I have here. This is a free cluster by the way. You can get it on. This is the sandbox. Yeah, I love it. It's so cool. It's like how easy it is to get these clusters. So maybe we can show that in a minute although I'm sure you've shown it before on the channel. So yeah, let me dive right in. So we're going to run the script and you see it build. It should only take a few seconds and I'll deploy it on OpenShift. So I'm on my terminal right now and the script is going to do s2i.sh and this will invoke s2i and it's really quick actually. I have to copy my source over to the build container that it's spun up in the background. So if I like go to Docker PS, it's probably going to say, yeah, there you go. So I have this container spun up and it's building my source code and it's going to output another build image on my machine. So it takes a few seconds, but while I do that, maybe I should put the link to source the image in the chat for us. Would that be a good idea? Yeah, let's share with everybody what source the image is because there might be new people watching. So like if they've been using OpenShift for a while, I'll know this, but I'll put it in here. And yeah, you can see it's just a CLI you can download. I usually download it directly, but if you use package managers, it's in I think most of the major ones too, like Bru for Mac, for example, and probably DNF and Act for other platforms. So yeah, let me switch back over here. The build is almost done. So because this is a JavaScript project, someone's going to make an MPM joke, probably, download the internet. I have a meme for that. It's like Maverick. Yeah, pick your poison, right? But yeah, so that installed the dependencies and it ran the TypeScript compiler, which compiled my TypeScript to JavaScript. And I know if I do a Docker images here, there you go, right? So tag this with this really long tag name that I've given it, which is key.io. And then my username and the overshift example. So what I'm going to do now is push that. So Docker push. So this is quite manual as you can see. I'll push it to the latest tag and key.io. Nice. And hopefully it doesn't take too long. Awesome. The timer's going. No, I'm doing so much explaining here. I'm not helping myself. So if I refresh your key.io, you can see a few seconds ago, the latest tag was updated, which is awesome. It's ready to be deployed. So I'll go over here to OpenShift.  So you'll see that now. So I'll do an ad. I'm going to choose container image. And I know it's... Oh yeah, I can just copy it to my terminal. Right. Rather than typing. I've got to save time. So I'll do that. And I better say the latest. Just in case. I would say it's an OJS app. So OpenShift lets me select that label or icon. The application name. I'll just call it. Yes. And then I'll call it my OJS server. If I can type it. And I generally actually choose deployment config for this stuff. I don't know why it's just Havish. I know deployments are maybe better. But I'm just so used to the point configs and how to do the rollout. I just prefer to do that. And then forever. I'll make sure it's using HTTPS. Direct HTTPS. And now to create. And after a few seconds. The app is deployed. So I'm not sure when we stop. Stopwatch. Stop it when I open the endpoint and it like. It displays. Successful endpoint. Right. You can't have a 500 error or something. No. Yeah. Okay. Let's see. Okay. And I didn't start it until you ran your script. Ah, you're very kind actually. So. Yeah. You're being nice to me. It's good for explanation. Right. Let's see. There we go. All right. So you were about three and a half minutes. Just about. Just kind of cool. That's not the fastest. I think I think Ian. Ian's like got skills. He might beat me here and his. He's building on an open shift. So. It's probably going to build even faster. But it's going to be a little bit faster. So let's see. Let's see how long it takes. And then later on maybe we can do a, Hey, what are the pros and cons of the two? I think so. And I have a lot of other methods to show off. If we get there. But yeah, there we go. We have a nice little. Type script. No JS application. Awesome. Thank you. All right. You want to go next. No. That question. Let me share my screen a minute. So can you see it? Yes. Yeah. That's good. Yeah. So before you start the timer, because first of all, I didn't realize there was going to be a timer. Which is a little bit of a pain. A very quick introduction about why, why we want to do this in the first place. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. When we were developing on summit. I was just using the open shift side because that's what I'm used to, you know, I've been using open shift for so long and I really love the open shift user interface, you know, it's it brings my bells, you know, I'm a bit of a pattern fly addict. But I was very surprised that all the other developers that were involved with summit didn't use the actual open shift to do their builds, they were doing all the builds locally, they were using Docker, you know, the same way that Evan just did. Right. So I used Docker. I have a history with Docker, which I won't go into because I think a lot of us do. Yeah. Yeah. I'd be told not to swear. Fair enough. See group nightmares. Oh, it's not so much that I love my Mac and Docker doesn't love my Mac. So every time I try to put Docker on my Mac, they just didn't get on like a house on fire. So I don't run contours locally. If I want to do builds, which I had to do some builds like this at summit, I've got a virtual machine running for Dora and I use pod map rather than Docker for that. But for things with the applications where you can actually build within open shift itself, all those things that Evan showed you in terms of the source to image, they're all wrapped up as part of the developer experience within open shift itself. So, whilst it's nice to be able to download the S2, I use it on a kind of local machine. I like to run my builds elsewhere.  So I found myself using open shift to do everything. So what I'm going to do. And if I'm lucky, I can just sneak start starting without three actually starting with the timer on it. What I'm going to do is I'm going to do exactly what Evan did, but I'm going to do it all through the user interface. Nice. And also I'm going to I'm going to add Redis. Just just because. Yeah, we're all friends here. We're all honest. I didn't see this application till this morning. So so I've never built it. So so this this goes down. If this cat is fire then. This time. So I may have. I may have rigged the game here with this application in. I'm not going to tell you about all the secrets. Yes. The competition was real before we even started folks. Yeah. Yeah. I'd like to say I'm a fan boy of open shifts and people people who know me know I am a fan boy of open chip. But anyway, so I'm going to do it from scratch for the user interface itself. So the first thing I'm going to do is I don't have a project. So I'm not sure if you're going to start at the time. I'm going to start a project. I'm going to start. I'm going to start now. Let's see. Now counts. Let's call it. Hello there. Going to create it. If I pop it was the developer viewpoint. Same topology we had before. I'm going to do it from. Not the container image. I do it from the catalog. Now the application itself is based around node. So I'm going to use a NodeJS builder image. Okay. Create the application. I'm going to choose 14. Was it 14 or 12? You built it with. Evan. I did a 12 but it should work with 14. Yeah. I'll see here. You can house a slur if you want. One more time. Now we're being sneaky here. I'm going to take the GitHub repo. Copy it. Put it into the repo itself. Found the dates. I'm going to use the same thing. Deployment config. I prefer them to deployments. Give an application name. I'll call it demo app. That's for the application grouping. Not the application itself. We'll call it test because I love using the word test. Create a root. Yeah. Exactly the same. Hit create. So how this is different to the way that Evan did it. This is actually creating another pod. Before it even starts to do the application deployment itself. It's going to build. So all the things you saw Evan do on his command line, on his local machine are now being repeated, but they're being repeated within a pod, within OpenShift itself. So I'm using OpenShift resources to do the build. And we can actually look at the build going while it's doing it. And you'll see exactly the same kind of messages that you saw from Evan's side. Something about Husky. It complains bitterly about Husky. It's like, it got to the NPM stage and said, Husky is no longer supported and you're a person for using Husky and all those kind of things. So yeah. So what it's actually doing now is it's downloading the image, the base image on which it's going to build. So it's going to get what we call the universal base image. Universal base image is a very useful tool. It's a very useful base image that we've produced. That's designed as a kind of small, easy way to actually build applications on top of. It's going to get them. It's loading them into the integrated registry before it starts to do the build. When it's got the image down, when the image has actually been produced, it'll actually start to do the binary build side of the actual application itself. I'll hit resume stream so you can continue to watch it. It will bit about the NPM stuff. And someone complained about NPM timing. I used to do, you know, all the demos I did for about two years were based on Java. I used to sit and I used to have to make up things and talk to customers while they're downloaded for 40 minutes. You know what I'm saying? How fantastic the system is, how fast it is, and all these kind of things.  Anyway, that's what we're doing. The kind of stuff that Evan was talking about. And there should be an error at some point. It talks about Husky.  Yeah, I really need to look into suppressing, though. I thought I had a suppressed file. This is really interesting because we're at 308 right now. Oh, and? So it's finished the bill, but it's produced the image, the image has been pushed into administrative registry. It's now deploying it using the deployment config. There is something else as well because Evan cheated. Oh, it's done. Hit the link. Hit the route. Hit the route. See, Evan cheated. And the reason I was saying, Evan used off. Did he click the route? Sorry. Did you click the route? Okay. Well, I stopped as soon as. There we go. There we go. Which is the same thing I did on the other one. So it's 325 versus 332, which is just interesting. Seven seconds of savings over a year. That adds up. The first thing is, I forgot to press the open URL button, but the second one is. Evan is using the dedicated sandbox, this new sandbox we've got, which people can range, which is fantastic as a hosted system. It's a grunting, meaty system. Now I'm not allowed to use it. I am, but I'm not allowed to use it because I'm a red hat employee. So I've got this, this, this sort of lesser cluster, which I've run up on AWS, which I've got limit ranges, which means that all the pods run much slower and those kinds of things. But being serious for a second, you see that exactly the same functionality, but I didn't have to fire up a command line. I didn't have to do as much typing, which, you know, when you reach my age, you know, less typing, the better. But the nice thing for me was that I could track and I could see everything that was going on from a single point. I didn't have to go off to a different page. I didn't have to go off to a different command line. Didn't have to go in different sort of perspectives. The topology gives me a wonderful single point view over everything I need for this. And it's really, really nice. And if I got time to do a couple of additional things on this demo. Sure. Of course. We don't have a new show today, so please feel free to go over. Add the Redis. This is all Evan's coolness because he wrote this. So what this application does is it actually uses Redis to count the number of times of which the web page is an old school web page counter, which I haven't seen in about 25 years. That's what stood me while I looked at this. I thought, yeah, it's a page counter. It's like GeoCities or MySpace inspiration, right? Right. Now, I remember there was a site that, like, that was all the analytics you could get back then. It was just this little thing that just incremented as people loaded your page, which meant it was mainly you. Exactly. You refresh your own page, right? People still use Mosaic, right? I'll just check it. So what I've done is I've added Redis to it, but it isn't currently wired in. Now, one of the nice features that you get with OpenShift is when you add things in the namespace, add applications themselves, each of the applications can express environment variables into all the other pods, but they're not expressed until the pod is restarted because, of course, the environment variables are part of the container, part of the container spec when the actual pod starts. So I'm going to restart this now. It should pick up the Redis thing. And again, this is going to fail.  That kind of sort of wonderful thing we normally do, but no, no, no, this will fail, but I'll tell you why in a second. So I'm going to do it the old school way. Let's get it down to zero, get rid of the resources, scale it back up. Theoretically, it should start up and have the Redis database, the Redis sort of backend storage so it can actually record the number of things. And it's immediately failed. It's a lovely good old fashioned red, wonderful crash loop backoff that we're aware of. And the reason it's failed is that Redis is authenticated. It needs a password. So even though the actual configuration information, the connectivity information is expressed automatically into the deployment, we haven't got that piece of information. Now normally this will require me going away, following the command line, looking at the secrets, changing a config map, doing all those fiddly things. But another nice feature of the user interface is that I can change the aspects of the deployment of the application as well as the application itself. So what I'm going to do, and I'm going to watch Evan Wintz because I'm probably going to get it wrong, is I'm going to look at the deployment config, look at the environment, and I say I'm going to get it wrong because I got it wrong earlier. I'm going to add from a config map because the config map actually for Redis contains the password. It's part of the thing. There's a secret that's mapped into Redis that contains the base password for getting into it. So I'm going to create it with a name, and I'm going to get this wrong. I'm watching, I'm watching you. Can we just stop here or carry on? Oh, you've got too far. You've got too far. Right, sorry. Pass, not pass. Yeah, it's pass, yeah. Okay, got it. That keeps it beautiful. You see, with host and port, they're all four letter words. You've got to have, you know, your OCD. Right. It's got to be just right. This is another thing amazing about the Summit Development Teams because everyone on the development team is 30 years younger than me, right? And so, so I come from an old school where, you know, when I first started programming, I used Fortran, and Fortran was a horrific language where you had to tab and space, and you had a limit of six letters or whatever on the actual variable names. When I started to learn Java, I wrote the most verbose code you've ever seen because I could. I wrote sort of five pages of Java dot comments, you know, because it was just wonderful to be verbose. And yet everyone I dealt with on the Summit Team was writing these sort of four letter variable names. It's like, come on. Enjoy your typing. You're allowed to do it. I'll set the key from it. Database password. Database password expressed in the secret as part of the Redis distribution. Nice. I saved that. What's nice because it's a deployment config, it's going to detect the configuration change for that application and redeploy it. When it redeploys it, and I've got my camera on so you'll probably see my fingers across, it shouldn't crash. So it isn't crashing. And the reason it's not crashing is that it actually has those environment variables now. It actually expressed into it, including the password. I'll show you it very, very quickly to show I'm not faking. You should share the link as well, Ian, so we can all increase that view count for you. Ooh, yeah. What link? The link to the web page. Which web page? Sorry, sorry. I'm having one of those moments. Yeah, there we go. Okay. So send us that link or bump up the numbers. Yeah. I'm not sure I can. I don't have access to chat when I'm sharing a screen. No. Just drop it in the Zoom chat. I'm not on Zoom. You're not on Zoom. Let me unshare in a minute and I'll share it. Yeah. All right. I want to show you very quickly the environment variables that you see within the pod itself. So what has happened is when I've added another application into the namespace, there are certain number of environment variables that are automatically propagated into the environment of the other pods that are running. So when I actually installed Redis, you'll see if I do an environment and I grep Redis, I've got a set of wonderful connectivity information for that Redis pod. And that's not part of this application. That's not part of the image. It's actually being injected as part of the deployment config. And that's the wonderful feature about developing with the OpenShift user interface is that you can see all of this and you can interact with it directly. So does that make sense? I mean, I know I've gone over the three minutes or so. No, it does. It makes total sense. I've also got OCD. And this is where Serena starts to win. I love the topology page because I come from OpenShift 2 background. If anyone remembers OpenShift 2, if any of you are old enough to remember OpenShift 2. And I loved OpenShift 3. And then when we released OpenShift 4, we didn't have a developer user interface. And I thought, why does Red Hat hate me? And then we got this one, which is absolutely beautiful. But one of the nice things about this is the application grouping. And I think I'm one of the few people, especially on the Summit team that went out of my way to OCD the application groups. And it's all done through, interestingly enough, the labels. So if I go to the DC, for example, look at the details of the DC test, if I edit the labels themselves, you'll find there's one in there, which is app.kubernetes.io.partof. This one here. I'm going to cheat. I'm going to just go copy it. Sealing my mackerel at me. Come on, baby. If I go into the deployment for Redis, go to the details here. Edit this. Add a label. Add that one. You can also do that by like the drag and drop with a shift. I'm still getting used to using a mouse. This new fangle thing called a mouse. Yeah, I see that there's been a lot of enhancements lately with the topology page that I find really, really useful. I do love it. I think I may have asked for this. I love seeing the podcasts and I was missing it when we had the original topology page. Anyway, I'm aware that I've been talking for a long time. Is it someone else's turn? No, that was great. Actually, do you want to share the account? Did you want to share the account of that? I mean, the URL? Or have we lost that opportunity already? Well, as soon as I stopped sharing, I was going to run Siege. I was going to do exactly that when you were there. That's why I wanted the URL to like a patchy budget. But then I remembered it's my poor little cluster. That's exactly why I wanted the URL. So Evan, did you want to show another, an alternative method? Yeah, there was two more. Yeah, there was two more. I think a pretty cool more shown. So let me, I'm going to assume the screen. There we go. Okay, I think it's working, right? Perfect. Yes. So there's two other things I want to show. The first is the, so the tooling that we have a red hat for different runtimes, right? So red hat has runtimes. We support, as you can see, we have the supported container images that myself and Ian used, like the Node.js one, but we have those for different runtimes. And for, I know at least Java and Node are the two I use the most. We have, in Java, we have a thing called fabricate. And you can use that to deploy your Java apps really easily from using Maven. And for Node, we have the same thing. So I want to show that real quickly here. So if I go back to the code base here and in my dependencies, I have this Node shift CLI installed. So this is the Node equivalent. If you're familiar with fabricate, it's kind of similar. It lets you do some neat things with Node on OpenShift. So yeah, if I wanted to, for example, I can go to my terminal here and I'll just make sure that I'm logged into my cluster here. So yeah, I'm on eShark as dev. I'll change to a different project for this one. So I don't clutter things up. I'll do an npm run, Node shift. And this is actually kind of interesting because what? Uh-oh. Why did it break? Did I mistype it? Oh, I need to do an npm install. Oh, well, there you go. Yeah, I'll do it. Every time. And hopefully it's quick. But basically this is really interesting because what Ian showed using the CLI, sorry, using the UI where he did that, set up where he used a build config and that trigger to build and built the application on his OpenShift cluster. Node shift does the same thing with one CLI command. So it's another nice way to set up that whole workflow. So you can see here. Yeah, it's super cool. You can see here it creates the image stream. And then it's uploading the archive of my local directory, which has my source code. And you can see these logs that are really similar to what was on Ian's screen. So if we go over, yeah, it's really cool. So I love this. Like to go over to stage here in my other namespace, and I go to builds. There you go. Like there's a build created a few seconds ago.  And you can see it's only on the first build obviously, because I just created it. And I can go in here and take a look at the logs. And it's just working like that. It's so easy. So like we don't just have UI tools to do that. Either we've both, we've CLI and UI. So when you move or graduate to say, wanting to do this from a programmatic perspective, you can do that too. Or of course you can use QCTL and OC to apply YAML. If you're doing that in your CLI pipelines too. But it's really easy. So you can see the same logs that Ian was on about where he kind of gives warnings about some of the dependencies. This is an old template that I have from a while ago, but it will finish building. If I go with my topology view. Oh, wait, yeah. So what's interesting that this one is it doesn't build, or sorry, it doesn't apply the deployment convey come from the build finishes. So that's why you're seeing nothing in my topology. So what we have to do is we have to wait for this to change from status running to completers. And then also guessing you're on sandbox you said. And it's sandbox. That's right. So in, and which is, I think it's still for six. So in four, seven, you'd actually see the empty topology view rather than that. Add page as default. If anybody's interested. So there we go. That's it. Yeah. So that has been up in a moment once. The image is pulled. And there you go. So if I click on the link. It might take a second. Yeah, it's not. Yeah, you gotta wait for it. Doc blue. Yeah. Yeah. Oh, you're just trying to win now, Evan. I'm just trying to be really fast. Yeah. And you might. Yeah. There we go. There you go. So that was, so that was two 14. That was significant. Interesting. So that's significantly quicker. Yeah. Yeah. Because you're not like clicking stuff. I guess you can do it a little quicker. And that note shifts. If we go back here, you can see it output the same logs that we saw in the UI. So it's mirroring. The, the logs back to your terminal. So it's a nice little note shift in my life here. So that's very crucial, right? For real. This is awesome. And look, if you would feel like, so if you're familiar with node tooling, you have this nice MPX CLI. So that will call my local copy of no-shift in my node modules for this project. And you can see it has tons of options. Like you can specify your OCP credits or your credentials to login. But you can also, you know, manage if it uses, if it exposes an SSL endpoint instead of just playing HDTS or main HTTP, you can specify the image stream, all sorts of stuff. And also, you know, the pretty display name. So name space. So it's like, it's really powerful too. And it also supports, I haven't really looked into this one yet, but you can create a .nodeshift file in your project. I think it reads from there. So if you want to make customizations to your deployment config, you can do that. So it's really neat. Like you can put in custom environment variables and different things. So yeah, it's a lot of fun. The runtime scene, like the note team, they're doing cool stuff. The Java team, like Quarkus team, like they've all these cool, similar tools that really make it nice for a developer when they're either staying in local or going to UI, they can use these in conjunction. But for example, it's really quickly, if I was using node shift, for example, I can go to UI here and I have to confess, I do this all the time. So I go to the edit deployment config or deployment. When I go to this YAML view, I copy and paste this all the time as a template for my YAML when I want to do like CI deploy. So I always make, I don't know about you guys, but I can't write YAML. I just always make mistakes. I never know like, should I put a, you know, just- Base tabs, yeah. Whereas with XML or JSON, I'm like, okay, like I know where I put my brackets and I know where I don't put my brackets, but with YAML, I just have no idea. So I do this all the time. I deploy using UI, like in showed, or I use node shift or Maven, and then I copy the resources and then I recreate the project with those in the future in CI. So- So we have a question here. Can you use node shift to deploy node-based open shift crown jobs? That's the question. I'm not sure if I saw crown jobs on that list of options. I don't know. I don't think so. I think it's mainly like deployments I think- Great. And my job could be a future request though. You know, a crown flag, right? I dropped the link to the repo. So please open an issue. It's a good idea actually. It is kind of a good idea. Yeah, you can script something up in nodes so quickly to do, you know, a fetch, pull a resource, and check it for something. Yeah, anything, yeah. Yeah, so that's actually a good question. Something through here. No, I'm not seeking anything for crown, yeah. So that's cool, okay. One more thing if I'm left half the time. Yeah, we still have about 18 minutes or 20 minutes, yeah. Awesome. So what I'm gonna do is open the code base locally here. And I'm just gonna make like a trivial change. So I'm gonna go to the index file here. So I'm using handlebars for templating and we have a rocket ship here, which is a very cool emoji, but let's change it to like a rock star. How about that? Like a lady rock star, something like here, right? An easy change. I'll do a git status. I have to play a few things, but I'm just gonna get add the views for now so I don't break anything else. Commit that. So, yeah. Feature, use cooler avatar, cooler emojis. And so you can see husky here that we were getting mad at is being really good to me because it's formatting my code and keeping it consistent. So that's why I like husky a lot. It keeps me disciplined and keeps my code like format. So if I'm sloppy, it doesn't get checked in without this weird formatting issues. So husky is a new one on me. What is husky? So basically it's a library you can pull in from NPN. There's probably equivalent for like different runtimes, but what it does is it installs githooks in your project and you can link them to scripts in your package.json. So for example, I'm using husky and I have a block here in my palm or my package.json and I put in a pre-commit hook and basically what it does is I'm saying run my format script. So format my files. So, it's JavaScript. So you could leave out some of the colons or you might want to put them in or take them out or whatever. So it runs my formatting and then it adds those update files into my commit. So it's really nice. It basically, you can do other things. Forced it to run unit tests. So someone can't make a commission unless they run your unit tests and other things like that. So yeah, it's really neat. But weekly downloads, 5 million. Yeah, it's a lot of people using that. It's very popular, yeah. And actually the way I'm using it here is technically wrong, I shouldn't be using stage. The way I'm adding the files and format is not right. But what's really cool is I'm integrating github actions in this project. So we didn't talk about CI or CD much yet, but I have a workflow here that uses Red Hat's actions. So Red Hat has these really cool actions on github where if you go and check out this build, I have a sourced image action. So the sourced image I was doing on my own machine or myself and Ian both did on OpenShift, you can run it here in github actions too. So you look at these logs or the exact same logs because it's running the sourced image binary on github actions. And then after that, I can use the pushed to key or query action. So it's taking the build images from github or the github action pushing into my repo in key.io. So I didn't do a build manually at all. So you've so many options here to get this S2Y into your workflow, right? It's really cool. And these actions, I set them up last night because I've seen them before, but I've never used them. And I was like, it'd be really cool to finally use these. And it's so easy because we just copy a snippet from the action documentation that the Red Hatters have built and just worked basically, it was so easy. So if I go over to key.io now and refresh, you can see a few seconds ago, my latest tag got updated and I've a new tag here for that specific commission. So it's so easy. And then if I want to just redeploy this, I can go over to my dev project because I have my dev project pointing to the latest tag. And I can do a rollout, or I could delete the pod as well, I guess. But if I start this rollout, it's gonna pull in the new build and after a few seconds, spin off. And hopefully we've got a rock ceremony. Let's do a refresh. Oh no, did I mess it up? Maybe. Let's see it. Let me see. Let me make sure it was pointing to latest. Ah, it's off. So it imported an image from the new tag. Yeah, it did. Let me fix that. So that's just key.io slash my name and we'll pull that in and get the rock star emoji. Latest. Okay. So now it should like Ian showed earlier, do the old match replay, I hope, but if it doesn't, we'll just trigger a rollout. Oh yeah, nope. It's already doing its own thing. Look at that. Awesome. Refresh and hopefully we have a rock star now. If not, demos be demos. Ah, it's not working. I obviously made a mistake somewhere, but you get the idea that it did the build, right? And checked it into key demo. I'm just after making a mistake here where I'm pulling the wrong tag or something. But yeah, pretty cool, right? Very cool. That's very cool stuff. Yeah. So curious on what people think are pros and cons. Does anybody want to advocate for one over the other? Who do I think I know which one you would advocate for? Yeah, always. Which I love. It's a nice user interface. It's very rare as a developer you get to use a nice user interface. That's true. That's very true. I think so too. I've had years of Eclipse and Jbuilder and Visual Studio and Visual Ball and all those kind of wonderful things. So yeah, being serious for a second, I always found when I was using OpenShift 2 and OpenShift 3 that there were things I had to break out of the interface to do. And when you're actually trying to code something very quickly, when you're trying to get something done very, very quickly, you don't want to be shifting around. You want to have a nice single focus. You want to be able to focus on your code, focus on what you're doing. And I find it's much easier to sit with just a single webpage open. And I can go and I can see what's going on, find the problems, find the events. Was that the Rockstar? It was, but that was locally. So I know what's going on. Yeah. I just messed up my deployment on OpenShift. I was just trying to sort of feed it into you. I was like, ah, it's working now. I found, especially in the latest couple of releases of OpenShift, there's been a huge amount of functionality added that makes the developers' lives easier. I've had lots of conversations with Serene in the past about the kind of workflow, because oddly enough, most of us cheat. Most of us will develop locally, we'll go and build the images the same way that Evan was doing. And I think people need to be aware you don't have to do that anymore. You can do everything. You can dive right down. For example, the stuff that Evan's showing right now, literally before this, just before this stream, what the reasons were, I'm mildly confused, is I was dealing with a problem the customer had. And we were just diving straight into the amul. Literally straight into the amul to find the problems. And it was like, fix the amul, fix the amul, fix the amul. Needle and haystack, yeah. Yeah. And we didn't have to leave, we didn't have to leave the user interface.  You know, you're thinking of something else. Your context switching, yeah. Absolutely. And I had a similar problem when I was working on Summit and I can talk about it now because it's all done and dusted and it didn't catch fire. Where we would find a problem where we'd have to jump into another system, jump into another cluster, jump into another system. By the time we get to the root problem, the root cause of the problem itself, I'd forgotten what the problem was. You're something layers deep. Never good. You're too deep in the layers. I ended up cheating on having a post-it pad and I would write down sort of context to see where am I being or what I was doing. Because by the time it was like, oh, we've made it red. And it's like, what were we trying to make red? What was the goal here? I forget. Yeah. It's one of those things about OpenShift. OpenShift is all about efficiency and it just makes everything about it. The way you can deploy applications, the way you can use your infrastructure, the way you can write applications, but it makes a developer's life easy. Yeah, I think too, like there's different ways to do that too, right? We've got the visually guided methodology now and through the topology view, which makes a lot of things super easy and Evan had demoed some of that as well during the summit keynote where he was doing for the binding, right? To create the binding and stuff like that. But we have a lot of methods like that, but then there's still, for people who are more advanced and really want to still touch the end, well, they can, right? Because there's definitely people who are well knowledgeable. I mean, I'm like, yeah, exactly. I feel like, I also think it's interesting as a kind of like learning paths, maybe. I'm not sure is it like learning path, right, Char? But like, it's not even that you graduate from one to the other, but I find like the UI makes it much easier to like get these concepts solidified in your head, right? So like, why do I have deployment configs and how do the pods relate to those and the builds relate to the pods and the images? Like there's loads of moving parts when you start using Kubernetes and when you start using OpenShift, but having this UI and the fog view and those nice like labels, it makes it much easier to learn. So even just from a learning perspective, it's nice. But also when you need to make quick changes, it's so much nicer sometimes than having to like, you know, write some RK command with patches for labels and stuff. Like you just, you know, you can go in here, open up your build config, go to your YAML and make the change so much easier. Like I, OCPatch commands, I've messed those up far too many times. So, or like, you know, it just, I really like UI just from doing these administrative tasks and getting started on, I think the UI just, it's one of our nicer features in terms of just as a developer getting started with this stuff, making it feel less intimidating, I think for sure is really nice. And a couple other things that are coming in the future, because I am serene in the future. But we will be having form-based edits for deployments and deployment configs very soon. And then possibly the release after form-based edit for build configs. So again, like you're showing that and jumping right into YAML, but like if you prefer a form, we're trying to get some of that, some of that back into OpenShift 4.x because we did have form-based edits in three. So it's another thing we're trying to do from a parody perspective. So one thing I noticed that's interesting, Chris, is that the China is super quiet today. It is super quiet. Much more quiet than YAML. But there's a lot of people on. But there's a lot of people on. So are they so interested that they don't want to ask a question or what's going on? It would be interesting to hear if other people have different methods that they use or anything like that. And if not, I'm sure we can still talk, but. Yeah, Sahir asked a question about his having problems with a VMware install. Did Ian mention he also writes books in his spare time? Oh, for God's sake, that's Anthony, isn't it? Yeah. I love it. I love it. I love it. He's a fellow solution architect. Yeah, I write books when I'm not writing software. I also very like that. Oh. Sorry, I would talk more about it, but I'm getting some at flashbacks from looking at metrics. I desperately don't want that CPU on to rise. Yeah, yeah, that was a good time. Does a pro and con exist for most of the recommended new projects and add to projects? Could you, that's a question that's being asked. Groove CS, can you maybe elaborate on that? Like a cheat sheet? Okay, yeah, yeah, yeah. Do we have any cheat sheets about deploying to OpenShift or anything like that? I feel like this episode could spawn a few. So actually, that's a good idea. It is a good idea. Correct me if I'm wrong, sorry, but don't we have quick starts? We do have quick starts. We do have some quick starts that are limited yet right now, and actually the quick starts, if you go to whoever's sharing their screen, if you go up to the help menu on the top and the first item under there should be quick starts. So there are a number of quick starts that are there by default. And the really cool thing about quick starts in 4.7 is that they're a custom resource, so any admin can provide their own customized quick starts as well to ensure best practices or whatever they wanna recommend for their own developers. So that's kinda cool. And so this is interesting. So I think somebody just wrote, yeah. So should be using git versus dev file versus whatever and all great questions. And I think what we have tried to do inside of OpenShift on that ad page specifically is enable options and then allow that cluster admin to kinda lock down things when they see fit. When we get to 4.8, you're gonna be able to see that on the ad page.  But what I guess it would be interesting to have a conversation from a Red Hat perspective or from specific developers or essays, what do they think is the best practice? That is okay. Oh, don't ask essay. Well, I'm sure we could get a lot of opinions. Yeah, we're going to be. I said, I have a problem with that. I think that was beige. Ian was like baiting them into actually giving their opinions. I have a slight problem with that question because this is one of the things I talk a lot to customers about. OpenShift is a box of technical Lego. And one of the wonderful things about OpenShift is that if you want to do something, there's probably four or five ways you can do it. We don't push methodologies. We don't push opinionation on people when they're using OpenShift. It's designed to cater for other people or what other ways of doing it. I get asked all the time, what's the best practice for this? What's the best practice for that? And it's, well, what's the most efficient practice for the way you do things? Yeah. You know, it's much nicer to give people a box of technical Lego and let them build their own models and give them a model and allow them to change the lights. Yeah, having some blueprints along with the Lego I think helps a lot. So when you have options, you can build your own customisation from that blueprint, right? That works for your organisation. I say it's why I love templates so much and why I'm happy that templates didn't go away. Well, and somebody also mentioned Dev Files, which is another piece where, again, in the future, you're going to see that coming out a lot more inside of the Dev perspective, which is, again, another really powerful piece that we'll have in the portfolio. So maybe we can have a session dedicated to Dev Files, actually. Yeah, it might be good to do that again. Do we have any news on the forthcoming build stuff? Out of interest, this is out of curiosity, because, you know, I love build configs. I love the way the build configs work. We were talking about builds V2 at some point. Are you talking about support inside of the console for that? Yeah, well, I'm just worried about when I have to learn it. Yeah, you're going to have to start learning soon, but it will be phased. Yeah, there's no formal commitment out in the public for one that's going to be coming into the console yet. But we are working on it as we speak, so. Cool. It's password, by the way. Oh, is it password? Password, yeah, not password. Can't get me. So there's a question here. Can Dev Container, something from Microsoft, files be created? Can Dev Container, something from Microsoft, files be transformed into Dev Files or used as is? I have no idea what a Dev Container file is, to be honest with you, so. I don't either, and I'm wondering if we have anybody in the audience that might be from the App Services Team working on Dev Files that might be able to jump in. I don't know. I was going to give a pithy answer, but no, I won't. I mean, having been a development developer for five years, I really sort of, no, I love Microsoft. Yeah, I mean, I think it's great that Microsoft is doing everything they're doing in the open source space, but yeah, I've not heard of the Dev Container reference or something like that now. I think it's there, is it there, like, similar to the Code Ready Containers, right? Yeah, it looks a lot like a Dev File or whatever. I'm not sure, like. Yeah, I think it's very similar. Did you see it start, Evan? Yeah. I'll get it overnight. Over 9,000 now, right? You got to see it. You got to see how far you can go. How you can go before someone starts to complain that you're damaging the dedicated cluster. I know. So I think if it's okay, I'm going to share my screen super quickly, which is just going to say, hey, based on what we just showed now and what we've talked about, and just to get an idea based on after we talked and showed everybody. So let's see if I can actually find the screen that I want to share. There it is. Let's try to do a Presents here. And I think we only have two minutes left anyway, as Chris, but maybe we can get people to answer this question. And again, we'll leave this open for seven days just to get some feedback based on anybody watching this on YouTube later on. What was the link to this one? I forget. It should be the same link. Let me see. Give me one second. Oh, you're fine. I think I can come over here and say share and get the link. Yeah, I got it. You got it? Okay. All righty. That's not the right one. Let me know and I'll paste it into the chat. Yeah, go ahead. Okay. Looks like it's working. Did that one just vote for no chip? There we go. I promise I haven't voted. I want to keep the poll pure. Evan threw in a sneaky one at the end here. Now I'm just kidding. No, this was great. It was great to see the, you know, we only shared three of the methods, but it was really nice to see just the variation of options. If nothing else, it'll give people an opportunity to go think about maybe trying some of these. Yeah. Like, no shift as a game changer, I feel like. So, working with Node on OpenShift is now way, way easier. Yeah. Yeah. So I want to thank both Evan and Uth for coming. This is really great. I'm glad you guys joined us and glad we were able to bring this opportunity to share some of the work that you guys are doing and ways that you're accomplishing things. So thanks very much for your time. Yeah, I really appreciate it. And thanks to the audience for tuning in as well. Yes, as always. Yep. Yeah, this poll is going to run how long you said seven days? I keep it open for seven days. Yep. All right. So yeah, feel free to answer that poll if you're watching this afterwards. Okay, the 11th or the 18th is when it will close. So feel free to watch it until May or answer it until May 18th, folks. By the way, I should add, if anyone's wondering how to fix the error run into make sure you update your image stream. That's what I forgot to do. There you go. I just, I was like, I remembered when we were talking there I was like, I never did an OC import image to like update the image stream. So if anyone is saying awesome show, good session. Ian, there was a special shout out for you. Great, great to be here. You're so funny, Ian. That was from somebody named Linux Studio. So maybe you know them. I don't know, maybe that was a plant. Maybe. As always, thank you all for joining us and we really appreciate it. If you want to see more of us on a regular basis, please subscribe to our streaming calendar, which if my mouse would work, I could open that window and type in the shortcode. There we go. And you can catch us every week doing stuff like this, every day almost doing stuff like this if you so desire. So please tune in at the next available opportunity and let us know what you want to see. You can always email me at shortatredhat.com and your show ideas are useful to me and the rest of us. So thank you very much everybody. It was great to show today. It was really good. Did not know how it would go, if it would be a crash vest or what, but you all did great. So thank you very much for coming on. Thanks everybody. Stay safe out there. Bye bye.


Good morning, everybody. Welcome back for the second day of our fintech conference. I'm really excited for another great day of Panels and conversation. I Like you learned a lot yesterday And I am very pleased that we can start our second day With a guest appearance By our and executive vice president for academic affairs Martin Philbert Martin and I both started in our new gigs this year In August and it's been just a delight to work with him And Martin when he's not Serving as the chief academic officer of the University, which is just a little a little job Running 19 colleges and units around campus Martin is a professor of toxicology. He is the former dean of the school of public health He's an expert in nanotechnology And he is done really exciting and innovative work on policies related to differential toxicology on the basis of Demographics, so He's a serious guy We are Delighted to have him here to welcome you to the second day of the conference and please join me in thanking Martin Philbert for joining us today Thank you Michael. That was part who kind And just before I start with my formal remarks if anyone can help me understand the value of cryptocurrency and running a University I see you outside at the end I'd also like to thank the United States Office of Financial Research for its support in This third annual gathering I want to note with appreciation the contributions of Michigan faculty from at least six different disciplines and Salute the staff at the Center on finance law and policy and in the Ford school and in the law school for attending To the concerns large and small That make this conference a success It's a pleasure to add my welcome to those you've already received I Understand that yesterday's program included stimulating addresses and productive discussions all at the nexus of financial policy and technological innovation Having conference participants from several sectors of the economy has surely led to interesting conversations that mix policy and practice We are pleased that this gathering is being held here at Michigan The university has a long-standing commitment to bringing interdisciplinary expertise to bear on complex challenges disciplinary knowledge is critical to defining exploring and understanding a problem But interdisciplinary work is key to moving forward to solutions The parable of the street light is often cited and sometimes oversighted by academics But I think it's useful as an illustration here the story When told about economists and at least in England we refer to them as inebriated economists Can be told about sociologists biologists or philosophers goes like this a Policeman is out patrolling one night and comes upon The economist in whatever state they may be searching the ground under the street light The policeman asks what are you doing here? Looking for my keys the economist replies. I dropped them on my way home policeman drops to his knees and aids in the search and after Quite a few minutes of elapsed the policeman turns to the economist and says are you sure you dropped them here? Have no idea came the reply. I know I dropped them somewhere between here and the office So the policemen says what why are you looking here to which the obvious reply came back the light has better here The street lights are like disciplines. They illuminate they illuminate defined areas and sometimes well-trodden areas But many interesting questions lie beyond the circle of light between the areas illuminated by disciplines and So we turn to interdisciplinary work a Scott Page a faculty member here in political science Economics and complex systems are shown work drawing on the knowledge of a diverse group of experts is generally far better than work done by experts with similar backgrounds in His book the difference page suggests that progress and innovation depend less on brilliant individuals acting alone and more on diverse groups working together Building on each other's strengths He argues rather convincingly and with data at hand the groups with a range of perspectives outperform groups of like-minded experts As dean of the School of Public Health I learned very quickly and developed a keen appreciation for the value of diverse perspectives Indeed progress in the field depends on them your agenda throughout this conference includes time to consider the delicate balance between research and experimentation and policy My own experience as a toxicologist working in nanotechnology involved similar work How we move from bench science to appropriate public policies on the use of new technologies was the question that we addressed It's critical to have room for innovations in any field, but we have also a responsibility To consider larger questions of public good as we move towards the application of new knowledge Thank you very much for your attention. Thank you for being here. It's a privilege To have you here at the University of Michigan I look forward to hearing great things about this conference and as always go blue


Going on everyone Sam here with late in sports cards have been 22 23 P1 1 basketball hobby 10 box full case break number 23 shared random team style I'm looking at any random results as always you can find these all on the website under the results tab as well as the link in chat Let's do it One-on-one basketball time everybody. Thank you all again for filling this up. That was awesome guys killed it on this one It's always Got another one of these on Tuesday guys are interested in high-end basketball We have a really awesome 10 box Tuesday mixer. It's like $530 a spot. There's a box of flawless a box of impeccable Box of prism choice some other stuff as well. So here we go. Here. We go. Let's see a sick downtown, too We've got Max Christie nine of 99 on the rookie for the Lakers Big six Yep looks like it. Yeah And then we've got a for the Thunder Jalen Williams 93 a 99 congrats. Okay see going to Joel good stuff Joel Nice one there buddy. That'll work J Dubb Yeah, just the others and if there's like a town town or something too. Yeah That's cool that is a Hakeem Elijah one 1325 for the Rockets on the purple nice dream and Then that's awesome one of five Dominique Wilkins team Titan signatures for the Hawks the human highlight reel. I love it dude My guy this in 16 seconds away from a dub. Let's go Detroit Yeah, J Dubb has been hot the last couple of weeks. You're right on that Chris for sure You are right at Christian Wood for the maps for a 15 on the red Thunder Chet Holmgren 22 and 99 a little bit of white on there. So that's a two-colored rookie patch auto That is awesome. Congrats Joel Little bit of that white thunder Logo in there as well. We'll take a chat all day chat and a J Dubb. Not bad Is that rookie of your chat right there? Maybe Yeah, I came in a in a Dominique in one box is pretty sweet not a lot Oh Oh, downtown Palo Ben caro. Yes. Let's go man Wow this fire. That's so sick, dude Holy man, let's go. Oh, that's fire. Oh man Oh, man, there he is Ranchero Yeah, that's gonna that's gonna do just well there Larry congrats brother Good god, man, that's a monster All right, and then we've got a Who's mom shitting three autos for the thunder now 29 to 49 congrats. Here you go thunder They got the whole Harry Potter theme. Oh, yeah dragon and everything Hello, mr. Robert Poisson confidant get him out now keep him get him out The way to join the party for sure Joe. Yeah, we need an IV right here Joe What up, Joe? Hope you're doing well Joe 21 25 Lake Wesley Congrats on that one there spurs. I am doing well Joe. How are you buddy? The Joe's didn't got some all my act spots tomorrow as always Joe the almanac guy Joe the almanac guy and Jalen Green nice one there 1125 second year Jersey Auto for the Rockets. There you go, mr. Hoppa Game used on that as well. Good. Good to hear Joe. That is a Korean Abdul Jabbar 28 of 40 was on feed on Isn't the name? Congrats on that Lakers That's Kyle going at you now and Nicola Jovic two of 35 gonna eat Congrats on that Seguru Seguru s thinking Barry picking up an NT personal NT baseball personal Saw a number on that. I may like Saw a numbering. I do like I have to say That is a three jet nice one there congrats on that pelicans. Yeah, I'll look into that. I think that's that's Mike, right? Mike, I'll take a look at that for sure Absolutely, if not send us an email if not if I can't do anything right now send us an email Yeah, that is you could see that right there one of one Penny hardaway, man, that's nasty. Oh, that's nasty. Congrats magic. Damn. I know that's it That is Larry s killing it right there, man. Jeez. That's fire, man.  Hell, yeah Harper is a buyer if you're interested Larry. That's disgusting That's absolutely insane It's been nice a little that case here. It's a penny some Dominique Men Kimo Ajuan and cream up with your bar Alright That is a Jabara 299 the gris or the Grizzlies nice one there Congrats Memphis Then a Dyson Daniels on the RPI nice one there 88 of 99 for pelicans That's Pell's I'll see a timeless. Give me a timeless. Give me a timeless one time That's a redemption. So it could be Could be that is gonna be a Johnny Davis 299 Grats on that wizards. All right. Yep timeless moments autograph vertical purple number 16 Derek no whiskey. Let's go man. Yeah, congrats on that Dallas going to Thomas C fire case Yeah, really good case man. Really good case. Geez Well, it's autograph vertical Detroit area wing stops going nuts right now, man I would not want to be an employee at a wing stop in Detroit at this point in time. They're gonna be flooded with orders Fry it chuck it put it in the box. Come on You know, I guess I didn't think of it that way. Yeah We've got a Damian Lillard 299 blazes blazes And for the jazz oh shy Baji that is nineteen of forty nine and that little like scuff is that's all on the mag right there That's all in the mag Yeah, rich. Yes, they did rich All right quick recap here everybody pretty solid case overall. I would say We've got oh shy Baji Dyson Daniels Nicolay Yovic Um Jalen Green Usman Shane Dominique Wilkins Jalen Williams shut home grid got about the chat too Dirk no whiskey on the Thomas moments got a one-of-one penny hardaway The magic and then a downtown Palo Ben caro. That's awesome dude. Hell. Yeah, I'll do it for the break everybody Thanks again for the fill up next is certified football. I believe


Yo, what's up Titans fans? It's JD, aka Pope from Outer Banks, and I'm a Titans Super fan. I was born in Nashville. I've been playing football since I was probably about 12 years old.  My dad is a super huge Titans fan, and you know, as fan bases go, you know, your parents usually just pass on their teams to you.  It's not a choice.  I was an older fan first as a kid, you know, with Dan Pastarini, Earl Campbell, Warren Moon. My love for the Titans began as a kid. We always make time to watch the Titans eat in all Sundays. Luckily, Outer Banks shoots Monday through Friday, and we're off Saturday Sunday, so whenever they play Sunday, we'll catch them. I mean, if I'm on set and they're playing, I'm checking my phone, I'm looking at the score, and I'm looking at the highlights, like, what's happening? I can't remember a time in my life where we didn't have something, Tennessee Titans in the house or a game wasn't on, or we weren't talking about the season. You know, a huge fan now, a huge fan when I was a kid, just lifelong fans. What's special about the Titans for me is that they never say die attitude we have. We never give up, and we can always make a play. Ron Henry on the left side, he's got some room to the 45. He's to the end zone. Touchdown Titan.  And the game's not over until that whistle blows. This is a 36-yarder to win it. God, about these Titans, the impossible situation possible. I think establishing that winning culture and that winning feeling and that natural itself is just a tenacious city. So, you know, that just bleeds over into the team, and I think the team, again, bleeds over into the city. And you can see, like, more and more Titans fans, and we're getting stronger and stronger, and, you know, I hear more and more about our squad and about our organization every time there's a new season. Being a Titans fan is more than just about, like, you know, watching the games and seeing our players. It's a time for me and my dad to kind of come together and share something that we enjoy. That bond, that, that, with my entire family, that's the thing that draws me to love the Titans. Everyone that knows us, no matter what, they know we're Titans fans. They try to finish.  Titan up!


Think Tech Away, civil engagement lives here. Welcome back. This is the Cyber Underground. I'm your host, Dave Stevens, the Cyber Guy with me here. Andrew, the security guy. Hi, brother. Welcome back, brother. Thanks for having me. Oh, man. I like stopping here when I get a chance. So excited that you have your own show now every Friday, 10 a.m., when you can do it. Security matters. Security matters. Believe me. This is security. We love this. This is the other part of security. Yes. The deep dive into the binary edition. I don't want to talk about that. And when they do, they get all scared. Don't be afraid. We're going to talk about more stuff that could scare the piss out of you, unfortunately. Uh-oh. Everybody's got an Alexa? I don't. We had one for a long time. We thought, hey, this is really neat until I thought, hey, what's this thing really doing in the background?  It has control over my speakers. It could talk to my TV. And there's more and more apps come out for it all the time because people keep doing the third-party apps. And we have an Alexa over here, but we're not going to turn it on right now. Alexa is not really a bad device for the intended purpose. She does exactly what she's supposed to do. She's a personal assistant. She can look up recipes for you, play music for you. That was a really neat one in the kitchen. You're cooking up some food.  And it's a good speaker system. It works really well. You can have the Echo extensions in each room or buy another Alexa. It's a little more expensive that way. But it's kind of a centralized home as personal assistant. The problem is someone who wrote some code into Alexa that apparently not even Amazon was aware of. There's a little Easter egg in there and got caught this last week in Portland, Oregon. Someone said their conversation in their house was recorded. And the conversation was forwarded to somebody on their contacts list. Nice. Isn't that wonderful? Unbeknownst to them, of course. Unbeknownst. So the person that got the message said, why did you call me and give me this message? Yeah, they're talking about their flurry. You're getting some new flurry in the house. They thought it was a butt dial, right? It kind of sounds like that. I get a lot of those. That's kind of what Alexa. That's kind of what it was. But nobody was on the phone at the time. And it came from, of course, Alexa. This is disturbing. But for two reasons. One, if you can hack Alexa, which you probably can. It's an IoT device. And you can do this. That's disturbing enough. But if someone at Amazon actually wrote a subroutine to forward a recorded conversation to a contact number, that's going too far for a personal assistant. Really? I think you would want to do it. No. Wouldn't I say, Alexa, take a note, send that to Dave. And then say some stuff. Well, you might have a point there. Send that to Dave. I mean, it's a personal assistant.  I'm just saying that. Make a good point. So the functionality maybe was not unreasonable to have in a personal assistant. Take a note, send it to somebody, and then they send it to somebody. Now, what I read was this. Alexa is supposed to ask you, did you say Dave Stevens? Well, confirm the action. Confirm that it asked for this contact. And then, did you want me to send this to Dave Stevens? So what I read was that that lady had a bunch of them in the house, and potentially one of them misunderstood. And said yes. And misunderstood her as saying these things. Now, I don't know if that's just Amazon's, you know, whatever. But that I think is a bigger problem because this stuff's so new. We sort of got a lack of intelligibility there. Right.  So like say your location services on your phone, like I leave mine off, mostly to save battery. So then when I want to do something like open table, I got to go turn it on. So to me, restaurants in your area. Yeah. And so Alexa should be off from anything. Right. So that I actually have to go somehow, let it be able to forward messages. The problem is just having her plugged in right now. Right now you can see the little red ring around it and the red mute button. Supposedly it's muted. Right. But it's still listening. So it's still, it's just not responding. It's not going to respond. So the speaker works. It could be recording us right now. Yeah. Just like that paint that wall behind us can hear our sound waves. That speaker can hear those sound waves. So they're, you know, it's an interesting point. I don't think we've ever mentioned on the show that people can use low-powered lasers reflecting on a piece of glass. Sure. And the glass vibrates like an old-time speaker would. Yep. And because of the vibration and making the laser beam vibrate with the glass, you can actually interpret those sounds and hear recording from a laser beam on glass. That's why. From miles away. That's why secure places have double-pane glass. I think from outer space they can do that too. From outer satellites. From satellites they have lasers that can do that. I haven't heard that. I think they can zoom in right on your windshield. And when you're in there singing in your car in traffic, they find out if you can carry a freaking tune or not. I don't know. You've got to sing it flat. Yeah. This is disturbing that it's only been recognized in Alexa. But I think, by the way audience, I'm pointing to Alexa who's down here if you're wondering what I'm pointing to. It just looks like I'm pointing off camera. There's actually an Alexa right there. This is the only device we know of right now. Google Home. Wouldn't they all do that? We don't know yet, do we? No one's been caught. Aren't they all like PAs? They're supposed to be. Yeah. No one's been caught doing this. And I'm like, again, I think that functionality is required in a PA. But I do think that there should, I mean it shouldn't be happening if you don't know it does it. Like maybe there's no education. Yeah. And we were even saying, I think on previous episodes, you should presume that everyone's listening. Just like when you have your camera on, you better presume everyone in the world's watching. Yeah. Because potentially, if you're hacked, they are. Yeah. And you should never send new pictures of yourself to someone because they live forever somewhere. Yeah. So you know. You gotta be really confident of what you got. To put that out there. And what you say if you have Alexa in your house. That's true. I mean imagine, it's a cool spy device if you think about it. People weren't thinking in those terms. And for it to forward a message out. I mean if it took that for the world to understand that was possible. I presumed it does it. I just didn't. I don't think I've ever tried to send a message. We think different people. I had one at home. We gave them out to all of our employees. A Google home. Google something. You gave them. You run a security company. I know. You had it for like Christmas. I thought it was cool. I don't know what they did with them. Maybe they all threw them a brick them. I don't know. No. They're all running their whole house. And now everyone's Google. Yeah. It's a little thing. So we had one at home. I mean you know. And the same thing. Like you tell it to play some music. That's the ball we ever do it. I don't know what it does now. Is it convenient? So apparently Alexa you can give her your credit card. And say. No. I don't think I'd advise that. Oh Lord. I wouldn't do that. That's the functionality. Yeah. It goes pretty deep. It's a real PA. With some artificial intelligence. I don't think I'd give it a credit card. I mean it's a lot of boring plans. I mean it could forward out your credit card information to somebody. That's not a good idea. You know if you had a human PA. A lot of these mistakes can happen too. Not a new story. I trust him less. You trust him less less. Just do it yourself ladies and gentlemen. Just don't. Yeah when it comes to your money. I mean credit cards. You know like your bank accounts a different animal. So we have Google home. We have Alexa. We have our phones. I always. Cheer you up. to put the little cover on your camera, on the laptop. You can buy the little sliders. I give those out too. Yeah, we give those out and we got to buy some more. We ran out. Everybody loves them, right? I would advise even on your phones, put one of those little sliders on there. Because one of the most popular Android hacks is to get your location by taking pictures over and over and over again and they can find out where you are. And Robbie. Right. Well, for me, they look at the inside of my pocket 90% of the time. Do you have an Android phone? I don't. I wonder why. Yeah. You know, again, the only problem I have with Android phone is that when you need updates, you have to wait for that vendor's build of Android, the operating system. Samsung's got to make one. LG's got to make one. Is that what runs this? Alexa, is that an Android? You know what? I don't know. I think it is, actually. It's Java-based. So it's probably Android. Some Android of their own. It's an Android derivative. So it's an interesting point and I think it's worth sharing with people. I really do. I mean, I just think it's important that they understand that that's not a trusted device. What is? I mean, our TVs can be hacked. What is a trusted, now there's an episode question. What can we actually trust at the device? Because you can't trust your employees because they'll open the email links. You can't even trust your C-suite because they won't take the cybersecurity training seriously and they'll open their email links. Yeah, they will every time. You can trust Dave because he's here teaching. You can trust me because I'm here teaching and preaching and learning. But you know what the limitation of trust is? What about the stuff we don't know? The unknowns. The zero-day. The zero-day stuff that always gets through because you've never encountered it before. How do you defend? And so how? We would all probably fall for that one. Now historically, throughout the history of humankind, zero days have been out. I mean, you can go back to the days when cannons appeared in warfare. No one had ever seen those before. And the person that had cannons won all the battles because no one had any defense for cannons until they got their cannons. So you've got to go back in history and find out. This is a repeating event. So we learn from history. If people came out with all kinds of new weapons and won wars, cyber is no different. We're going to keep inventing new weapons. And the people that have the more resources available in the most time and the most money and the most people, they're going to be the ones to create the most tools in the United States, North Korea, Russia, China. Or the most dedicated, like somebody that just sits there and really figures how to hack your Alexa. Yeah. Like me. 12, 14 hours a day and they get paid for it. Yeah. Like you and I, we have to do banking and go speaking and teach. And but these guys can just. We don't have time. We don't have time. They got all the time in the world. So do you think that the manufacturer was remiss in sharing the full capabilities of that device? I know. You're like, Amazon maybe didn't even know this was doing this and you know, this might have been a feature that they didn't tell anybody about. And I agree with you that the feature is functional and useful. But when a user does not know the ramification of the usage of that feature, and it sounds like the confirmations might not have been there. I mean, yeah, some didn't have some didn't work right. There's two big bugs there that I would look at an user is a bug. It's a feature. Yeah. The user is a bug. The problem always lies between the chair and the keyboard. Right. That's the keyboard. Yeah. It's always between the chair and the keyboard. That's me, by the way. That's where I'm always between the chair and the keyboard. The problems are human. And then that's again with Cybertron. So again, humans, humans not sharing the manufacturer, not sharing this information properly. And then the human getting it, trusting it too much or not understanding its capabilities, not asking the questions. I don't know why you have them in all the rooms of your house. I guess, I guess if you're, I guess you have like an automated house and stuff that'd be cool. I don't know. You need to have an automated house. But we had the same thing with smart TVs just a little while ago. We found out that they can be hacked. Oh, yeah. Yeah. A lot of them are job based. Got a microprocessor. And they have a camera and they can listen to your voice commands so they can spy on you. Yep. And they are. And you can have one in every room of the house. You think you're watching a movie. The movie's watching you. The movie's watching you. How's that? Like, Alexa, you think you're talking to Alexa. Alexa's talking to you or talking to all your friends about you don't even know. That's ridiculous, right? Yeah. I don't know. What I love is I love the voice interface. I think the voice interface is going to solve a lot of problems for us, you know, as an analytical tool, as a research tool. It'd be interesting if just the ability for just data to capture all the stuff that we've talked about, right? And then categorize it and put it on the list and make sense of it because we oftentimes ramble on about all kinds of stuff. You know, I don't know what all the ground we cover in the show, but it's a lot of words. You know, I can't recall them all. Can you? We're going to show. But hopefully AI can. Yeah. Whoa. This show. No, I took notes. So, I think there's some power there and I believe that interface, this is a great example of how much work that we still need to do culturally and in the analytics side to play with it, right? Because we've got to figure out how is it, because it's not a human. It doesn't say, Dave, you really want me to send that check, right? It really doesn't pause you and stop you. It doesn't have context. It just acts. And so we've got to probably work on that a little bit because. It'd be nice if it said something like, you already did this, so you're going to send them another payment? Yeah, exactly. It'd be cool.  And you know, in a security world, this is a thing that's coming because we want that minority report idea, right? When we're doing research, trying to research an incident real quickly, find a missing child at the mall or whatever it may be. And so we need voice command. They're looking at that to be a part of our future. And to me, this is a good evidence of, you know, how some of the evolution that still needs to occur before that's going to be resilient enough to be useful. That's been happening in technology from time immemorial. We created cars and they went over 50 miles an hour. We still didn't have seatbelts. Because the users just weren't aware. You don't have seatbelts. No, but I have this chime in my car. It was the annoying chime. Yeah, until they regulated, right? Manufacturers wouldn't do it. They had to regulate that. Well, to get seatbelts. The argument at first was seatbelts caused death because they would trap you in your car at the wrong time. Oh, and you're burning. That was the manufacturer's argument until about Ralph Nader's time when we had some significant seatbelts. Crash dummies. The crash test dummies. They figured it out. That's my family. They figured out that you'd live. Only when they get in the car with you. When we come back, we're going to talk about a new hack that you cannot defend against, but there is a way you can get out of it. So it's against your networking devices. So until then, we're going to take a little break, pay a few bills, and be back in a minute. Until then, stay safe. Aloha. My name is Mark Shklav. I am the host of Think Tech Hawaii's Law Across the Sea. Law Across the Sea comes on every other Monday at 11 a.m. Please join us. I like to bring in guests that talk about all types of things that come across the sea to Hawaii, not just law, love, people, ideas, history. Please join us for Law Across the Sea. Aloha. Hello, everyone. I'm DeSoto Brown, the co-host of Human Humane Architecture, which is seen on Think Tech Hawaii every other Tuesday at 4 p.m. And with the show's host, Martin Despang, we discuss architecture here in the Hawaiian Islands and how it not only affects the way we live, but other aspects of our life, not only here in Hawaii, but internationally as well. So join us for Human Humane Architecture every other Tuesday at 4 p.m. on Think Tech Hawaii. Welcome back at Cyber Underground. I'm Dave Stevens. I'm here with Andrew, the cyber guy. And we're going to travel this summer. Everybody always travels a little bit this summer. You travel a lot. I'm traveling. And we have a few safety tips to give you from both ends of the spectrum, your security manners and cyber underground. You're always traveling with your smartphone. People forget your smartphone. Nowadays, it is basically a full-fledged computer. It is everything that your computer can do, your phone can do, and sometimes better, actually, which is unfortunate. The apps are getting powerful. Yeah, the processors, and there's a lot more memory, and they're a lot faster. But they communicate with everything, right? So the first thing I tell people, I know Bluetooth is convenient, turn it off. But turn it off if you're not using it. There's Bluetooth hacks all the time. And people can, well, when Bluetooth first came out, I could stand in line at the airport and actually pair my phone with anybody else. If they had it turned on. If they had it turned on, and there was no security at first. Now at least there's a pin verification, but there are hacks. There's blue snarling and a couple of other blue attacks. I won't go into them, but that's a problem. So turn off your Bluetooth.  This is a Bluetooth connected device. I turn off my Bluetooth when I'm at places like Def Con and stuff like that. You have to. You have to. Don't use a public Wi-Fi if you don't have to. Yeah, and keep it off.  Yeah. But if you're walking around and you've been on the Jimbo network, and somebody just happens to have the Jimbo network, your phone will connect to the thing. Right. Potentially. Potentially. Automatic connection could be a problem too. Some people feel a sense of safety when they install a VPN app on their phone, right? So the unfortunate thing about the VPN app is you wander from place to place, and if you have that automatic setting on, it's dropping your cell connection. It's creating a Wi-Fi on the public Wi-Fi. You go into Starbucks, McDonald's, and you get on your cell connection again. And it's always continuously changing networks, and every time it does, your VPN has to be re-initiated. Sometimes it can't do that fast enough, and if you're doing your banking during that transitional minute, you're wide open. You can be sniffed. You can be sniffed, and that's not that hard to do. We've proven it. At Starbucks, you pop up in your laptop, put in a wireless scanner, put it in promiscuous mode, use Wireshark, and then it's the Wild West. People can read your packets, so that's a very legitimate... There's people paid to do that, so just trust that's real. Yeah, so also... So don't use public Wi-Fi, especially while you travel. Don't fall for the email. You should always use trusted Wi-Fi. Trusted Wi-Fi. Yeah, like your home. Trusted Wi-Fi would be like my home. My employer has a trusted Wi-Fi, so that's a secure one. But that checkbox you were talking about, they automatically connect. Turn that off. Don't ever use that. I always ask, do you want me to connect to this? And if you say, no, you'll stay in your cell carrier. Cell carriers aren't perfect, but they're miles ahead in security. And if you are a criminal, boomerangs got your cell phone too, so don't worry about that. Now, there are devices that can fake cell carrier towers, right? Yeah. I always say slingshot. Slingshot. Yeah, on a boomerang. That was the one unfortunate jewel that leaked out. That's what I say.  Well, that's a couple of ways to do it. Give advice to criminals as well as the good guys. Well, you're a good guy. Thanks for doing that. In case they didn't know. In case they didn't know. In case they didn't know the whole ecosystem. All the stakeholders. All the stakeholders. All the stakeholders.  That's the hacker mentality, right, Decibey? The last thing is don't fall for the phishing scam. So phishing emails are huge, and especially the spear phishing ones. And I use this example. I like when you're traveling. I'm a gamer. People know I'm a gamer. I was a Sony hack couple of them. And my information from my PS4 registration got out. And I was spear phished saying, thank you for buying this game. If you didn't buy this game, click here. And I looked that way. Oh my God, no, I didn't buy this $60 game. You almost clicked it. I almost clicked it.  It's a Microsoft game. I'm making it for PS4, and I don't have an Xbox. So I went, wait, I want to buy that. That was a pretty good spear fish, but not good enough. Pretty good spear fish. I mean, it looked legit. And it almost got me in there. And those things, your phone's not immune. Those, they call them drive-bys, where you go to a website, and you don't know the codes downloaded to your phone. You can also get a text message with malware embedded in like a TIF file, which is a graphics file. It's an image file. And when your computer, your smartphone renders that image, so you can see it, it's actually running the code that's embedded within it. So it's executed. And then once it's on there, people can remotely attack your phone. Android's most susceptible to this, but iPhone is also susceptible. Now the thing that makes iPhone different is they have sandboxing of applications. So if someone hacks into your instant message with an image, they don't have access to your email or your web browser. Just your IM stuff. Just your IM stuff. But if they hack your browser, they can sit there and wait for you to go onto your bank account through a browser. And a lot of people do that because they didn't download their app for their OO. Really? So, and they can. Yeah, those apps are in containers. That's a good thing about that. Now the one, people attack the Wi-Fi, not the Wi-Fi, the browser the most on phones because they want to use that to build up the hits on their website, right? They're having you go visit their websites that they support. And that raises the ratings and of course makes them money. Every click means a couple of cents. I didn't even know that's just a remote money maker. Nefarious. And I know they're trying to put some mining malware and stuff on phones too now. Oh, to mine Bitcoin because you're a processor and if you do a broad spectrum of all these processes all working in consort, then you can actually mine Bitcoin. Yeah. So if your phone starts running out of power, it may be doing something. But we're talking about specifically when you're traveling. When you travel. You're super vulnerable when you're traveling. So if you can, our friends Rodney, some of these guys, they all carry a burner phone. They don't even write. So when they travel, they use an old, non-smart phone. Yeah, when I used to go to Japan, Hong Kong, and mainland China, I had an old flip phone, an Okia flip phone. And I'm telling you, it was from the 90s. But it worked great. And they're hard to get now. They're really hard to get. And people like them. And it only does that one CDMA frequency in that country. And you can only be on their network. And you can't get hacked. And it phones or texts. That's it. That's it. That's all it does. So it's a good way to do it. When you're traveling. It's a little bit more expensive for the calling because you can't use your plan, right? But it's better than risking you. So if you're not a confident user or if you're a, what is it like when you're just not responsible? If you're not a responsible user, your phone, or if you don't know what he's been telling you for the last five minutes, it don't make sense. And you understand it. Leave your phone home. You probably shouldn't take it when you travel. No. Yeah. Leave it home. And definitely stay off networks. And definitely don't go to your bank account. Just don't do any of that stuff when you're traveling, right? Just use it to call people if you have an emergency. Otherwise, you're on vacation for God's sakes. Put your phone down. People think they're safe when they plug into the Ethernet port in the hotel room. Oh, Lord. No. And it's the same thing. It's not trusted.  And you're plugged into the Ethernet port. At least make sure you have HTTPS. Yeah. But I mean, you should have a VPN for that. Very, very least. And then a VPN would actually be better than that. There's services you can buy. It starts from $1.50 a month and goes on up. But again, some, you think you're doing well. But Australia, the government did a study of the VPN services offered in that country. 18% of them did not encrypt the web traffic. Ah. Wow. I don't know. So the Australian officials could read it. They have a back door. Yeah. I don't know. Okay. Let's talk about this. VPN filters. VPN filter. This is another attack. Nasty little tool. From what I've read. It's probably state sponsored. I saw USRT put this out, huh? USRT and InfraGuard both put out. This is VPN filter. It affects the following systems. I'm going to read them now. Linksys, Microtik, Netgear, and TP-Link, as well as QNAP, NAS devices, Network Attacks, storages. And routers. And routers. So you got to be careful of this. Now, apparently it's a three-stage attack, but the first one is what we're going to talk about today because it's the one you can use to get rid of it. The first one is a persistent, even if you reboot the device, it stays in the main memory. So the only way to clear this thing out is to reset your device to the factory default.  You stick a paperclip in, hold that out for 30 seconds with the power on. And then you power it off for 30 seconds and power it back on. What you've done is you reset the firmware to factory defaults. Then when you pull the plug, you let the capacitors drain out so the energy is all gone and the memory, the fresh memory clears. So your volatile memory is clear.  No, first go download the most recent firmware for the most. Then reset all your settings. We should mention that. If you know how to do firmware... Update. Go do it. Now, most modern Wi-Fi routers have a web interface that you can log in locally from your little home network and they have a little button, Update Firmware. Yes. So if you're going to do that, I will tell you this much because I have multiple people on my network and if I click that Update button and my wife's on her VPN, I'm going to hear about it. Go around and ask people. Do it when everybody's on.  You kick everyone off the network first, especially because you're going to reset the router, which is going to be defaulted, which is a problem. So there's a process involved here. So if you're home, if this is your home device, which is kind of, these are basically consumer-grade type of devices available at Best Buy. You probably have one or two or some of these. I don't know what all you guys are doing at home, but blow it away. Yeah, blow it away. Reset. Get the latest firmware. Close all the ports. Go back, read the manual, understand what it does if you never did the first time. Get it right. And there's other tricks to use.  So get the Mac address of all your devices. Put the Mac addresses on there. Definitely use Mac filtering. Turn off the external ports so you can't get to it from the outside. You're never going to need to remote into your router. You're not a big administrator at your house. Get your home. What's the default that Linksys has? Remote management through WAN? Yeah, disable all that stuff.  Don't put that on the network with your banking and your workstation. Most routers have a guest network. You can put all your TVs and all that. You can put that on your guest network and then have computers. Your safe stuff should be on your primary network. Right. You don't have to let your guests on that.  That's right. Unless it's Dave. Now let me go through the list one more time before we're out of here. Linksys, Microtik, Netgear, TP-Link and QNAP. Now these are only the ones that we've discovered so far. Cisco says there's none of their devices affected. Don't know. But Linksys is actually a Cisco consumer grade product. Yeah. I know Asus is not on the list, but it might come up. Now there's some sophisticated products out there, but it might come up in the future. Yeah, this thing may be still hunting for victims. So we don't know. Actually, this is an extension from March. The first notifications of this came out in March. It was state sponsored in March and it's been going on. Now it's heavily researched as a three-stage attack. I hear Ukraine is really vulnerable. Ukraine has been covered. I haven't seen machines just crushed. We're not to that stage yet, thankfully. Okay, you want to wrap it up with a security matters plug? Security matters every Friday, 10 a.m. We're talking physical security because security matters. All right. All right, everybody. Thanks for joining us. We'll see you next week. Until then, stay safe.