Alrighty.
Good evening. This is the, monthly, general meeting of SLUG, SLUG, SLU, UUG, the St.
Louis Linux Unix users group. Our monthly meetings always on the second Wednesday of the month. It's a Oreo cookie style meeting.
The announcements and the introductions are in the middle and the back into the meeting is our main presentation and that.
That'll be probably in about 45 min to maybe an hour. And in the middle about half hour to 45 min is our gooey middle announcement and calendar entries general Q&A and on the front end we have our basic tutorial and that's what we're going to do right now.
So our main later tonight will be roundtable discussion about virtualization. Our basic tutorial on the front.
It'll be Sean Quihouse, frequent speaker and he's going to be talking to us about using screenshot an AI tool which will allow you to quickly make a code for your website.
With that, I'm going to share it over to Sean.
Thanks, Gary. Let me share my screen.
I've stopped mine. Go ahead.
How can I help?
Hey.
You got it. So as Gary suggested, I'm gonna be talking about screenshot to code. It's an AI.
It's a tool that uses AI to take a screenshot. And make a website. So.
I don't have a ton of slides for this one since it is just the base presentation, but let's go look at their website.
It's basically pretty bare bones, which is kind of interesting. Considering their whole. Their whole application is about making websites and then this is theirs.
So, Don't think they spend a lot of time here. But if you go to the GitHub, they have 48,000 stars.
That's, that's a lot. And, for a project like this. And they have some documentation and some examples.
And I thought we could start by taking a look at one of their examples here. So let me full screen this.
And what we'll see is they're taking a screenshot right now of Hacker News.
And they're uploading it to. Their application running in a web browser. And, so this is cell posted on there.
Looks like a Mac here. Self hosted on their local machine. And it's a web, application.
Self hosted on a local machine. And what it's doing is it's calling. Chat GPT specifically.
GPT 4 vision. To basically Upload the screenshot. And then converse with the model.
Until it outputs. Web code. That will make the website that you see there. And I'm gonna play it one more time, cause that was kinda fast.
But here, so here they are taking the screenshot of Hacker news.
They upload it to the application. And then you see here that it just starts generating. All of this, code here and you see it doesn't really look like the screenshot.
So then what they're saying is Mix the colors, they are not correct. So it's kind of telling.
The model to basically regenerate and fix the colors. And as you can see, it didn't really fix the colors.
So now I was telling it. The header color needs to be orange. And so now after the third prompt, it gets it closer to what the original screenshot was.
Still not really that close and that's been my experience using this tool as well is that it's pretty.
This kind of hit and miss. I was just playing around with it and it's not super great.
I am working on a project that I'll talk about later and it did save me a tiny bit of time.
But this is not something revolutionary.
So I said that on the back end it uses GPT for vision and GPT for vision is a multi modal model.
Oh, go ahead. I see hand up.
Okay. I see the hand went down. Gpt 4 is a multi. Okay.
Sorry, I was on mute. So this is just gonna be a static site that this is generating, right?
It's not gonna be any kind of dynamic.
Yeah, they have a beta. Right now, supposedly in beta right now, you can. Upload a video instead of a screenshot and it will try to create some kind of interactive application but judging by how well the screenshot part of it works I would not Hold my breath on that doing very well, especially since it's just in beta right now.
So yeah, as of right now, it's just a static site. So. What I used it for was to create like a basic layout of a website.
Cause I'm really bad at that. So it save me some time there a little.
Yeah so
Oh, it makes a CSS file or just a HTML file.
Yeah, it's got a few different options. The one that I've tested is using Tailwind, which is a, a fancy, CSS library.
And so we'll talk about that a little bit more later, but it's basically a bunch of utility CSS classes that are kind of pre baked that you can use to.
To do your styling.
I will play with it in a little bit. I'm just doing some basic explaining of how it works first.
So, GPC for vision is a multi modal model that allows the user to upload an image as input.
And engage in a conversation with the model after. So basically it's uploading the image and it's like prompting it like hey generate a website that's you know, that's like this or whatever.
And,
So when you, and I said, so in order to use GPT for vision. This is like an API, right?
And so this is like a the in the API portion of open AI so if you go to open AIs website this is open AI.
Dot com open AI is the company behind chat 2 pt. If you go to their website and you click log in, you'll see there's like 2 different doors here.
Okay, there's chat GPT. And this is the thing you've heard about on the news and all that.
This is where you just. Yeah, you type in chat prompts. And chat with an AI then on this side There's the API access.
And this is where. You get API keys you type those API access tokens or keys into an application like screenshot to code and then screenshot to code uses that API key or that access token to call open AI kind of authorizing on your behalf kind of thing.
And so don't make the mistake I did. I thought I had to sign up for the kind of subscription version of Chat GPT in order to use screenshot to code and that's not true.
Okay, separate. And the way the API works. After you log in It works by.
Basically, it's like a prepaid phone plan or something like that where like, What I did was I put my payment information in.
So I created an account. I put my payment information. It charged me $10 on my credit card.
And now I have $10 worth of API. Usage, whatever, available. And I think it's like by the token or something.
Is how it charges you. And so every time I use the screenshot to code, it's gonna call, this API.
And it's going to. Cost a little bit of money. I watched it a couple of times.
I think it's somewhere between like 10 and 30 cents. Per call or per screenshot basically so it's Not very much money.
As you can see, I uploaded $10 and still have $7 left. So. But anyway, that's how that works.
So, if you want to use screenshot to code, you're gonna have to log in to this API section.
Open AI and then you go here to the API keys and you can create a new key by clicking this button and then you type in whatever some name.
And you hit create secret key.
And this is gonna give you this. See secret key or access token right here and this is what you're going to give to the applications.
To basically run on your behalf. As if you were logged in. To chat GPT from those applications.
And let me just delete that one since I showed it on camera. Okay. Yeah and these are basically the same as your password so you don't wanna show them right you don't wanna show them at all And let's go back to the GitHub page and let's take a look at the documentation.
So. The way that I am running this is with Docker. So basically I have Docker installed.
I tried it with Podman. It didn't work. Real bummer. That's basically what my whole experience was Podman as I try it.
I want it to work. I want it so bad to work and it just doesn't and I get frustrated that I install Docker.
And that's what happened again here. So I'm using this with doctor instead of pod man.
And all you do is you clone down. This GitHub repository. You echo that open API key that I just showed you.
Into a dot ENV file and then you run Docker compose up dash dash build. And you can do the dash d flag if you want to.
For, basically to put in the background, Damon mode, I guess. And that's really all there is to it.
Once you clone the repo, once you have a doctor installed and you clone the repo, it's literally just these 2 commands.
To get it up and running. And, sir.
Hey Sean. Could you up the font size on your display a little? Oh, thank you.
Yeah, sure. Sorry about that.
Much better. Much better.
So here it is running on my machine. I've already done the token thing and all that.
I'm not going to show that on the screen because, I don't want to show my API key.
But, as you can see here, there's a lot of different options for the kind of code that'll ask chat GPT to generate or GPT to generate or GPT 4 to generate.
There's HTML plus tail end. Reacts plus tailwind, bootstrap, view, Ionic and SVG, which did not work.
That this. SPG did not work at all for me. But anyway, so the one that I've the only one I've test is HTML and tailwind because that's what I've used for the signed project I'm working on right now.
And as you can see, they recently added support for, cloud 3. I don't know anything about that one.
But it's like a competitor to Open AI and chat GPT. I'm just gonna use the GPT for vision one because that's what,
That's what I, have been testing with and stuff. And so This is a website for a podcast.
And so why don't we try this first and then if anybody has any. Web sites that they would like me to try go ahead and put a screenshot of the website and the chat and I'll try.
Any whatever websites get posted there. But all I'm gonna do is I'm just gonna take a screenshot here.
Of this untitled Linux show. Podcast a lot
It's not showing where my notification. Presenting. Okay. So here's a screenshot.
I'm gonna save this. As 0 0 1 a BC. There we go. Okay, and then I'll come over here.
Over here and I will upload 0 0 1 ABC And so here I've uploaded the screenshots of that website.
And what it should be doing right now is calling chat GPT. To generate the code. And so we can see it's starting to come in now.
To generate the code. And this code should just be basic HTML plus. Tail end and so we can see how it does here in a minute.
What would be the name? Of tail wind what type of software generically would that be called?
Good point. I don't know what they call it.
Is it like a CSS library or?
It's definitely a CSS library. Yeah, this person's calling it. Framework. It's definitely so basically the way that it works.
Is normally you write. Oh, thanks, Jamal. Jamal says is the CSS templating framework.
So he probably knows more about it than I do. But normally when you write CSS, yeah, like Bootstrap.
Yeah, that's good. You're writing, like different CSS properties and like a CSS file and then you'll give those properties like a group of those properties a name and you'll call that a class.
And what tailwind does is it has like hundreds or whatever of these classes like already done. And so instead of writing the CSS, you just literally write the class name kind of thing.
And so a lot of people are preferring this. Now in web development, I've not used it enough to really have a strong opinion about, about it one way or the other.
So far it's been pretty neat, from what I've used it, but Yeah, just something to play with.
And since this is an image, this is doing OCR too, right?
Vision, is yeah, it's like reading the image, understanding what is in the image and then And so this is what we got in the output.
So how does it compare to the original screenshot?
So I don't think it compares very favorably, right? I think the screenshot that we started with, which are or the page that we started with is much more visually interesting than what we got out of.
Screenshot to code like all this stuff up here That kind of has this big, section of the nav over here and then the smaller links over here.
All this is much more visually interesting, I think, than just. This basic white page that we got.
And then if we go to the
It's not including the media either, right?
Right, exactly. And if we go to the mobile version. I think that looks okay, but that's just because mobile sites are a lot simpler.
So there we can compare the mobile versions. So yeah, not amazing. Let's see if we can get it to tweak something.
So, change the header to be more. To include the fancy logo.
To include a circular. Logo like the Screenshot.
Let's see if this does anything. I guess it's gotta redo the.
Hey John.
I got a question.
Sure.
I got here late. My apologies. What exactly is the point of this?
Are you trying to take a screenshot of something and then come up with code that will generate that screenshot.
Yeah, you give the screenshot and it'll generate. Code to basically make a website.
Yeah.
Of the screenshot that you give it. So. Yeah, I'm not sure.
I was thinking about this too, right? Like why like websites are open source, right? Obviously the HTML has to be in plain text.
The JavaScript has to be in plain text. Couldn't we just use the Hey, to like de-manify the already They HCML that you download when you go to the site, you know?
But I guess they should
You know, when I was doing consulting and partners in the company did web work. They would receive a lot of hand- on paper or whiteboard.
We want something kind of like this. So if you had a picture of that and could feed it in and if it could take from a picture off of a whiteboard.
Okay.
And generate a basic framework. I could see some value in that.
Or you can consolidate from multiple websites images from multiple websites you know you want this header and this body in this Sidebar.
What about all the links that that original page that you had up here? Excuse me. What about the links that were in there?
That data is not going to be in the screenshot.
Yeah, and the links and stuff, that's like the easy part. Or that's the part that you want customized. And that's like really easy to do, right?
Yeah.
What's hard about web development is getting the layout right. That's the hard part. And so I think what most people would be looking for with tool like this is just getting the basic layout set up and then they can tweak it to their desired preference.
Alright, I can see that.
Let's talk. Yeah, let's try a different one here. That one didn't go so well.
Let's try. So this is Apple Podcast page for the waveform podcast. Which is not one that I listen to that often but I kinda like the layout.
And the reason why I'm doing podcast websites is because I So in my opinion, podcasts and lugs have like a lot in common because there's like recurring kind of.
You know podcast ups versus us having recurring meetings and stuff like that so that's why I looked at all these.
Yes.
Hey, Shawn. Take a screenshot of Slugs homepage.
Yeah, okay, I'll do that one next.
About just doing it just from a regular image without without a being a a web page previously.
We can try it. See what it can do with HTML. Just put.
Like maybe a magazine, you know, capture of a magazine page.
Yeah, put something in the chat, So, okay, so this isn't terrible right here. What does it look like on mobile?
Hmm. Excellent. I don't I don't hate this. Let's look at the code Let's go ahead and copy this code into my editor.
Whoa, can you bump that font size just a bit?
Yeah, well, hold on, let me copy this in first.
Sure.
That's slug page stuff is.
Old school. Written by a dinosaur.
More than one, Shan.
Talking about dinosaur equipment still being used earlier today. This meeting.
Okay. Hmm.
Yeah, see, so this is all the tail and stuff like background, 100. So 100 is like the shade.
So let's see if we can modify this a bit. Let's see what this looks like first.
So I've loaded this into an Astra application. So let me go, I think I have it.
Where is it? Oh, here.
Not save it. Although, might not save it.
Oh, there it goes. Okay. So this is what it looks like when I copied in into my app.
Looks pretty similar. The button didn't work. The background is not working either. I don't know why that is.
But see we could build this is something we could sort of build on here a little bit
So if you wanted a website that was something like this, you could probably save a little bit of time this way.
I don't know, I'm not really loving it.
Let's try one more.
Let's try just like a little piece of this website just like this little box here. Let's see what it does here.
Not the whole site, just like this one little component.
I'm thinking it would be a useful learning tool for somebody trying to learn how. A particular website did something.
Yeah, and they can just look at the source code.
I am inclined to agree, but I see too many people. That just want the minimum viable product to get the theme and don't actually do the effort to learn.
And improve it.
Yeah, I know how to look at the source code on the page. The HTML. But somehow this seems like it might be helpful to learn.
A little bit more. I don't know.
What's your opinion, Sean, on that?
So. So my opinion is This is not useful. Like when I do my next side project, I'm not gonna, I don't think I'm gonna use screenshot to code.
Right.
What was very useful for me was using this.
Sorry, I don't know how to exit out of this.
Oh, there we go. What was really helpful for me is using this AI assistant over here built into my IDE.
Let me see if I can pull up some of the chats that I. Was having, oh here, this chat here was incredible.
Can you bump it up?
So, let me, let me load it first and see if I can.
There we go. Let's see. Well shit, a presentation mode, that goes away.
Okay.
Control scroll, control plus control shift plus.
I don't know if I can. Anyway, I use this AI chat built into my IDE to create a slide out and have menu very quickly very easily worked first try I was very impressed.
Something that was took me, you know, probably an hour to figure out myself or. Something like that and I did it like 5 min with AI so I was very impressed so this having an AI assistant right in your IDE is way helpful.
Having oh
That's kind of interesting.
I got this the most correct, right? Compared to all the other things we've seen. So maybe this works better when you just do small sections of the site instead of a whole page.
Does this look like a mobile? Oh man, that's terrible.
What's the original site? Look like on mobile.
Also terrible.
Oh yeah, see this? This is a nice site here. This darknet diaries, I don't know nothing about this, but I'm about to also this podcast just cause their website so cool.
Do that.
I have found some of the darknet diaries to be good to listen to.
Look at that. That's so.
I agree. And that Rachel episode, I just finished it. 1 h ago, very much worth listening to for Pentester social engineering.
Expert extraordinaire.
Yeah.
Most women are.
Yes.
Well, sadly they tend to have to be better than. A lot of men because they have uphill battles.
What exactly is a social engineer?
Call the bank and convince them to let you into somebody else's bank account even though It breaches all the bank's policies of.
Sending email to a different account than is registered or sending a, you know, accepting a phone call from a different phone number and stuff.
You kind of have to get them sympathetic to your plight about how you lost your laptop and your phone was stolen and they want to help you out and you use that against them.
Or she even uses. She applies for jobs and uses a job screening process to hack the company.
Yeah.
I mean, social engineering goes back. 50 years, you know, the quintessential example from mid Nick days was Get some names of people that work in other buildings in the phone company and call a different building.
Yeah, this is Bob from the West Town CO. I'm having a problem with the line. I need you to put this loop on it.
So I can test something. Pure social engineering.
That's like hacking with just using lies, right?
Yes, it is hacking people using wise and disinformation.
Yeah, Rachel's very first.
Standard politics to me.
Her very first introduction to the world of it was her husband convinced her to go to Defcon. She applied and became one of the 14 people who got up on stage live in front of an audience of hundreds inside of a soundproof glass box and had to attempt to hack a company.
Through social engineering. In front of all these people. Thinking on her feet and she actually came in second place.
Wow.
Really cool picture, man. This guy's got like a Computer shaped hammer thing versus this guy's got like a USB bow and arrow.
Come on, man, that's a cool picture. Okay, just because they got such a cool website.
Okay, anyway, that's screenshot code. I don't wanna waste too much time.
I know it's been like a half hour already. It's not that good as we can see, but it is interesting, you know, using AI to like try to rebuild.
Websites just from a screenshot of them could be useful for rapid prototyping the code does mostly work when you put it in your browser or in your IDE.
Yeah, somewhat interesting. Sorry, go ahead.
Sorry.
Oh, okay.
Well, how we know it's not cheating and just looking up, trying to find the actual site.
And just fudging with the HTML that's already out there.
Right, right. Oh, I was supposed to do the slug site, right? I forgot about that.
Well, since you can tell it, hey, make the title bar more orange and it does it. I suspect that it's
Doing it live.
True.
Yeah, and like this should be would be a thing right because all website source code is like is you know it's like in plain text right but the thing is you know just to save every little bite from crossing the wire they minify everything to like you know until it's like completely unreadable basically obfuscated right for performance reasons And.
Yeah, but what you are gonna see with the screenshot to code is a reinterpretation.
It's not actually gonna de-enify.
Right. But could that be better though? Cause I don't think this is that good.
I think what you're gonna it's using screenshots because that's an easy place to start.
But think about sources that are not. Screenshots of a web page. Take like a picture.
Like an old computer shopper from. 25 years ago that has been uploaded to archive.
Dot org you take a screenshot of the page of the magazine and build something a reasonable facsimile.
Of that page as a website. In some ways it's like OCR that is more than just OCR.
It can actually get some structure.
I think for this website, chat GPT 4 is pulling out the old, just sketch.
Yeah, one.
I'm thinking maybe this might help make it better for viewing on a phone. Because I always found that redoing that was too much work.
For me. That looks kind of good.
Yeah, yeah, yeah. Okay, so let's.
It's head or wrong color.
Yeah.
Yeah. Let's see. So let's move on to why I was even messed with this in the first place.
So. I've been working a little bit on a new site. Well, something we could consider at least for, and I think the main benefit, the main thing I'm looking to get here is like a history.
The meetings right because our current site it just shows the one meeting and that's it.
It only shows the one meeting at a time, right? And so I've been thinking. I could, we have a site that shows more than one meeting, like maybe a whole history of meetings.
And then while I'm there you know, can we maybe put a YouTube in bed in the meeting so we can see watch the YouTube video of the meeting.
And then while we're here, could we link the presenter? So here is the presenter of this meeting.
This is back in 2021. But this is the presenter of this meeting, Robert Seintck.
If I click on his name. I get a not found URL. That was a bad example.
I guess I broke that recently. Let's try one more. Let's see if I broke them all.
I broke them all.
Okay, 2 is a small sample set.
Yeah.
What are you supposed to get like a list of all the meetings that they did?
Good is sorry I had to go a different way to get there, but here's Robert Saytex page and this is his bio and then this is all the presentations that he gave and I only have 6 months of data loaded in here from 2,021 so obviously he's given a lot more meetings than that I just don't have loaded in here yet.
But the point is, before I made it full out of myself, you can link. The presenters to the meetings.
And so that way if you're looking at a pastor. Or upcoming meeting and you want to see about the presenter not only can you see their bio which we can do on our current site but you can also see all the past meetings that they've.
Given and links to the YouTube video or whatever where they gave those meetings. And additionally, if we go here, I wonder if I broke this too.
We could.
Hey, are you doing this statically or no you're doing this?
There's no there's no back end
Exactly, yeah. And then. No, this is just HTML files on a web server.
And then I put tags on these meetings as well. So you could click like on this get tag and you can see all the meetings that were tagged with get.
And if you go here, you can see that even in just 6 months worth of meetings, there's quite a few.
Tags like we had a lot of meetings on like Kubernetes for example, right?
And so if you wanted to see all the meetings we had on Emacs, you know, you could look there or whatever.
So I don't know, I just think this is kind of interesting, kind of cool. Has some benefits over the current site.
Most of
Well, there's an archive now, right? So this is just a little bit more. Robust board instead of it or
Yeah, I think it's interesting. Also has an RSS feed. Let's.
You're talking a lot of updating if if you're not just updating a database. You're talking a lot of HTML updating.
Yeah, there's no database or anything. But basically, yeah, the history of the previous meetings, that's what I was trying to get out of this.
And then it's, I don't know if I showed that off, but I'd probably, that's probably how I broke it.
Is by doing the patchination, but let's see. So like here I have a paginated list because I'm only doing 2.
Limiting it to just 2 meetings per page. And you can kind of, through them all, which is something.
Okay. And then, we can put links between the presenters and the meetings. We can have the tags.
I'm gonna incorporate search very soon instead of the tag tags are fine or whatever but Search is much better.
So I'm gonna change the tags to be search. Instead, we might keep the tags, but search is what I'm gonna.
Focus more on. Oh, also, it looks pretty good on most.
I would. I'm assuming your tags. Are all local to the server. And how are you gonna do the search?
Is that gonna be like JavaScript pull in? Good. Google search or something else.
No, no, I don't want, I, is little JavaScript as possible.
So like this, JavaScript here to pop out this menu.
I actually know a way you can. Something without using JavaScript for that.
The menu.
Yep, go to grc.com. And that's 1 of the things that Steve has talked about.
Is the menu. On there is all CSS hovers and the likes, no JavaScript.
Okay, that's fine. I don't I'm not one of these JavaScript haters.
So I think a tiny bit to make this. Okay.
Okay.
No. Good morning. The reason I bring it up is There's like embed Google search in your site.
That relies on Google. A third party to do the search. Versus tags are you as the first party.
Type thing.
Okay.
Right. Right. So the tags or something I'm adding to each markdown post like manually, but this page find is what I was planning to use.
For the searching and basically it generates You know, this is a static site, right? So there's no back end or anything, but page fine generates the search indexes at build time.
So when you're building the HTML files from the markdown, it also builds the index for the search.
And so this is I think there is JavaScript for the actual search component or whatever, but like at runtime, but.
Actual building index and all that happens at build time.
Okay, building a static index that you host with the site, the code is on your site. It's all first party stuff.
Yeah, that sounds right. Yep.
Okay, that would the first versus third party is where I was wanting to go with not using Google.
Yeah, and so far, I don't think there's any third party JavaScript except for me with the YouTube embed.
I don't know if that has. I'm pretty sure that might pull in some but
Didn't that an I frame and you're not gonna get away from that really?
Yeah, it's an I frame. Yeah, so page finds it and written and rest.
Anyway. So yeah, and on mobile, it doesn't look too bad. I've been working a little bit on the mobile.
Doesn't work. It doesn't look too bad. You can switch between meetings and stuff. Not terrible.
I'm not really a designer. I don't like the colors, but I'm not really a designer or anything.
Let's see.
So what, what did you use to, The screen capture thing, what did you use to help you with the site?
I use screenshot to code this much. But then mostly I just used the
Just for the layout or what did you use it for?
Actually, what I used it for is probably the thing that I'm gonna replace next, which is the, the cards.
These like, you see these like little cards here, how it's got the shadow around the bottom.
And the sides to make it look sort of like a card. I used, I copied from like some NPR podcast website.
To do those cards. But I don't like the way these, the cars, the next thing I'm probably gonna overhaul.
Cause I don't really like the way they look. So. So anyway, I it also has an RSS feed.
So if somebody doesn't wanna subscribe to announce because they are an email hater like I am. We could do an RSS feed.
So people could have like a feedly or something. Also has site map and robots. That TXT for search engine optimization and you're probably wondering, you know, like how the heck did all these amazing features Get on this website.
In such a short time, you know, and that's just because Yeah, last month I asked for some volunteers.
Hmm.
And we've been literally inundated, okay? Steercom has been just pop in off.
Okay. People are like, you know, I'm normally back in, but I really want to get some new experience or hey I'm just learning to code I need to I need to have some open source under my belt and people have just been reaching out left and right and so if you didn't reach out to Von's last time, you are really missing out on a lot of fun.
Except I'm just kidding. Of course not. It's only been me, but of course if anybody wants to help, feel free to reach out on the Steercom site.
But yeah, it's only been me and that's why everything's kinda half finished and undone and the DNS name is some placeholder and all this so yeah still very much looking for volunteers.
I guess part of what I was thinking was what I asked for volunteers last time. Nobody reached out. And I guess I thought maybe that was because there was no.
Like project already started. The people could contribute to. And so this is me starting a project that people can contribute to.
If they want to help out.
There wasn't a web page called volunteer sign up for
Yes. Yeah.
Yeah, I volunteer to help test the accessibility for screen reader users.
Excellent. That'd be great.
This is Stan. At one time we did have a volunteer page and we had it for 5 or 6 years and nobody ever It did anything on that page.
Period. So I never incorporated it when I move stuck around. So I just left it out. It was just
Because
Oh, the page never worked because we had to cook spaghetti and last on by hand.
Yeah.
You never volunteered to give away a hundred dollars.
Yeah.
And nobody would do anything without beer and pizza. Regardless of the anchovies.
Would you?
Hey, anchovies can be good.
Anchovies are good.
About one
I vote for anchovies.
Yeah.
I don't.
Yeah.
We also will order 2 pieces.
That's what we used to do. We had 2 sides of the table. Remember that over at the Nick and Elena's?
Yeah. Yeah.
Yeah. That's the one thing wrong with Zoom Meetings.
No pizza.
Getty delivered to everybody.
Oh, you just have to order a whole bunch of them.
Maybe next month we can get. We can get Stan or Lee or somebody when they turn on the Zoom Meeting to send out 2 different links to the meeting one for the anchovy crowd or one for the no angel.
Oh god.
That's hilarious. I gotta tell you.
Yeah.
But you also have to explain that to the. Doordash delivery people that are you know following up on it which creates a very significant problem since we're not all in the same.
Yeah.
Italian restaurant.
Or geographic area for that matter.
Right.
Oh, But Uber, delivers them all for free. I get their ads all the time.
Hmm.
It's the same geographic area, it's planet Earth.
Yeah.
If that's not.
Oh, right. You're right, Yeah, I don't think we have anybody on the International Space Station that's tuning into us, but.
Yeah.
They could be. I mean, they have internet connection.
Well, I consider that part of planet Earth.
Okay. Okay, I stand corrected.
Okay.
You know, it's international water thing, international space part of it.
Yeah.
3 mile limit.
Okay, moving on to Astrojs.
If we have to, okay. So, so anyway, I, yeah, so I built this thing so far using Astrojs, which is a new trend static site builder and JavaScript framework.
I figured if I wanted to get contributors, I would need to do like a new and trendy thing.
And so Asterisk has been really good to work with so far. The Typescript integration is not.
As awesome, but for the most part it's been really great. Most of the content is marked down.
You can also put JSX inside and any React developer is going to be super familiar with JSX.
So we have a wide. Pool of talent that could possibly contribute because reactors the single most popular framework for front and development and has been basically the default for several years now.
Hmm.
But also anybody who's familiar with React angular solid quickspell, etc, will be very familiar with component based development, which is what this also kind of relies on for deployment.
I'm deploying it right now to, which is a static hosting provider. They do a lot of promotion around something called the jam stack, which I think is like.
JavaScript and markup or something I don't know they're really into static sites and I chose them because it literally was 5 clicks.
To set it up to where every time I push to the main branch, it automatically deploys the new version.
And that was only like 5 clicks to set up. So right now it's deploying to Netflix and it's got a very placeholder URL just whatever they assigned me when I click those 5 buttons.
But we do have help wanted for sure. These are all things that I'm gonna get to eventually, but if we get some volunteers, that'd be great.
So like the main thing we need is like to copy more meetings to the markdown format. That would be great for.
Proof reading or double checking links. Basically this and everything on this slide just requires like the ability to read and write English and use Control C and Control V on your keyboard.
So if you just want to. Help out and you don't know how to do development or anything.
This is a good slide for you Also, we could use help with web dev and design. I'm not a designer.
And so the colors on the site are pretty bland. And the logos and the art are. I'm not gonna say they're terrible because they, but they're like 99% AI generated and I just barely didn't mess them up.
Also the site navigations not that great all these things would be great for a designer all the stuff over here is more like what I'm consider web development so like right now there's no link to the calendar.
On the site, there's no link to the mailing list, all this kind of stuff. Tons of web development.
That still needs to happen on the site. If you're someone who's more into DevOps and not into development, there's a bunch of stuff that we could do here, like we could set up an actual GitHub organization.
Instead of just having it on my GitHub. We can establish like a PR workflow with like approvers and.
Require approvals on our PR prior to merge we could set up GitHub actions for some CI CD goodness you know also we could get like a real DNS name for the site and we could try to.
See if, you know, Netflix is really the right place or should we try somewhere else. Is there some kind of fancy like, we have a mirror on Bach and then have it like You're oh and and all that stuff
Is there a a host it somewhere other than
What?
Is there a reason to host it somewhere other than a
Like I said, I chose that because it was 5 clicks to set it up where every time I pushed to main it, deploy.
So if we're gonna host it somewhere else, I would want it to be at least that easy.
Like automatic deployment. So.
But by the way, what's BACH?
Huh?
It's a server that needs some attention that belongs to Slug.
Was that a nice fella? Hi.
Hey, it's short for Amber Bach as in BOCK.
Oh.
Yeah.
Okay, well good.
I.
We're everywhere.
We probably thought it stood for, you know, I'm a, a, Joanna Sebastian.
I'm an answer.
That's what I thought originally.
Okay, can we have a show of hands from the attendees? How many are beer drinkers and how many or symphony goers?
Okay.
Look, yeah, both.
Oh, yes. Well.
Are you?
Well, I, drink non alcoholic beer.
Especially if you get beer. Okay.
Okay.
Good. Yes.
I will drink things other than alcohol and participate, but alcohol bothers me. Shawn or anybody else I have recently set up.
Smart HTTP upload. So I have uploading. With get to a page I host on one of my servers.
Without much effort if you wanted to look at doing something like that to a site or a page on and I'd be willing to bet we could do.
Like a post commit hook. That would automatically cause a check out. Or at the very least, an email notification and something that.
When it receives that notification, it does a. Pull for the site route.
Yeah, but there's 1 problem with that. I can count the number of people in this group that can spell get on my 2 hands.
And that's being generous.
Fair enough.
I actually know both spellings.
Yeah. Yeah.
Yeah.
Alrighty, I've been going quite long enough, so I'm gonna hang up here. But yeah, if you gotta help with the new site, reach out to Steercom, let me know.
If not, I'm gonna get around all the stuff eventually, but it's gonna take me a while.
So appreciate it.
Ding me when you're ready to play Sean. I hope he gets upset up.
Okay.
So, so we can. You know push changes there inside of a post commit hook or something you know Just so we don't have to use all that.
Public GUI space out there.
Cool.
All right, the gooey middle speaking of which. Okay, thank you very much. That was Sean Pre house.
Sean's a frequent speaker here at Slug. We always appreciate his talks. When he's not speaking for us, he's been in a Linux about 10 years.
A decade and has been a sysadmin and more recently he's a software developer. But, he's a good guy on all sorts of shell scripting and answer.
Dot file CLI tools so and obviously Now also an expert on, or on, screen to, whatever.
Professional developer.
Yeah, screenshot today. Thank you again, Sean. So. Okay, as we said, this is the going middle of the meeting.
So, announcements and then a little bit of QA. Let's see, 8 days from now, our monthly, St.
Louis Linux user group meeting. We don't have a topic nailed down yet. You've got a possible, but we'll get that hopefully finalized.
I've got a possible but we'll get that hopefully finalized. I hope tomorrow or not at least in a couple of days.
So, if anybody does have an alternative, they'd like to suggest, all ears.
But, so we can send something to, send something to steercom and we'll find out If you're interested.
And do check the website or however you're finding out about this meeting and we'll publicize what the topic is.
There it'll be a meeting at 7 o'clock. 7 o'clock 6 30 for which the next Thursday is maybe 6 36 30.
Next Thursday so yeah 5 days after that the fourth Tuesday is the new Linux meeting. That's a group, primarily, towards, newer, users of Linux.
However, the rule is basically whoever claims to be the, the newest user gets to ask the first question and basically gets to hammer that question home until we give it the best answer we can and then we move on to whatever the next least senior member is.
And we hope a lot of senior people come who aren't new users because they're the ones who make for the interesting discussion of how things work.
So might be able to actually answer your question, might be able to answer the question. So please everybody.
So. Let's see, there's also a slack meeting which isn't on the overhead there.
That'll be coming up next month. The Slack meeting is, another one of our monthly meetings and it's more our more oriented towards the hardware end of it and so we'll even talk about Microsoft Windows at Slack meetings but Anyway, jumping back to the other slide, sorry about that, Stan.
I should follow the list. And there we go. Okay, any other announcements that anybody needs to make any changes in our schedule or anything else?
Okay Okay.
I have a, I have a. so the you guys know that I'm a big fan of New Shell and I've been working with them on the on the development of that project and they're they're getting close to their fifth year anniversary and they're also getting extremely close.
To 30,000 stars on GitHub. And, so we're trying to get them over that line.
And, you know, if you're so inclined, that you may not be a fan like I am a new show, but it's a nice project.
I think it deserves some support. There's, you know, there's no corporate backing.
There's no funding. There's nobody gets paid for this all 100% volunteers. It's an international effort.
It's cross platform, Windows, Linux, Mac, Android. So if you're inclined at all and you have a GitHub user ID.
Please run over there to gitub.com slash new shell slash new show.
And start the project for us. That would be wonderful.
It has a spell and any W or NU.
Okay, I just want
And you so it's like nutshell without the T. Which is like, like if you're gonna Google it.
Okay.
Do a minus nutshell at the end of your surgery because you'll get a lot of you get a lot of hey we think you just felt this
Cool.
But yeah.
Yeah, I'll put the link in the chat as soon as I get over there. It's a little bit more difficult for me to do that, but I will do that.
Sure. All right. Thanks for the suggestion, Smoke.
You guys hear me?
No, we can hear you, yes.
I share something.
Sure.
And
So I was deploying. Photopism and had it use tensorflow to choose through my
Fast collection of pictures that are saved to my NAS.
I came across this little chuckle, so. It used TensorFlow and tagged all these as baby.
Yeah.
I come down here and I'm looking, and, and, and, and, there, wait a minute.
That's me in 2,007.
Okay.
Oh, you look pretty young there.
Yeah
When you were just a baby.
Yeah.
So my thought was, do you guys want me to do a write up on deploying and using the software or?
A talk.
I don't know if it's gonna mistake you for a baby. Yeah, I mean, that's not too accurate.
Okay.
No, I think that would be a interesting, it's always good to learn a new, piece of software that could be cool.
Yeah. Sounds good.
I will write up how I deployed this to and if you guys want me to present it, then I can present it.
Great. Alright.
Okay.
How do I turn you off?
Okay, and let's see other This is, you know, besides these, short announcements.
Also, if anybody just has any general question. Something that they've been working on and they're stuck on something or.
Just wanna talk about as Tyler just did, hey, found this neat tool and I've been using it.
There we go.
So general Q&A, not necessarily app to tonight's topics. Ask away. Also be a period after, after a round table discussion tonight.
Where people can just, you know, if it's, it'll be later in the evening, but we'll do a few general Q&A's now just so people Want to get a question in before the crowd starts breaking up.
Okay, hearing no more, you can always stop me if you got one. Okay, presentation archives.
Obviously. One of the things that, Sean was just mentioning is doing, redoing the website to make these more accessible, but you can go to that URL that's on the screen right now.
And we've Try. We even we were trying to record things before the pandemic hit. One of the nice things about the pandemic, it's not often you hear people said just that.
Is we immediately back in 2,000 started going to zoom and gitsite and we started recording all of our meetings.
There are some meetings that were recorded when we were meeting physically in person. But everything since we've been beating remotely.
Has been recorded and we've been trying to keep an archive, keep it organized. So you can go back and look at that.
YouRL and try and find. Both the overhead slides and the actual recording of the meeting.
So. And, okay, the calendar. We've tried to keep a calendar for how many years now of originally it was just for all of the our events and then it became all of the technical events we knew of in the St.
Louis area. And, you know, once we got to the age of the of COVID. Obviously a number of people at the meeting tonight are not St.
Louis residents and so we've been getting more and more people from out of town. And so we freely put on our calendar.
Some of the meetings that are remotely available but write down the topics that we're usually interested in here so Oh, you can always go to our calendar and you can also if you wanna Help the add things to it so let us know.
We always are interested in new new things. We, put our, the, events we actually do.
Are in red. Distinguishing them from any other ones. So.
See what else do we need.
Stan, next slide.
I'm looking for the button. Word the button.
The Okay. Who got the button? We got the button.
Yeah, I don't wanna close the tabs. Never mind. Where are we?
We're in the GUI medal, Stan.
I'm lost. Let me try. Yeah, o go there, RAM. Mailingless.
Okay.
Okay, hold on, gonna kill something on my screen now. Mailing list, okay.
We've got, at least 3 mailing lists that are used by just about every easily accessible by everybody.
The announced mailing list, it's very limited traffic. Usually is not more than 1, 2, mailings on that a week.
And it's basically usually either meetings of ours that are coming up that week or something extraordinary that we feel that people might want to know.
So, the discuss and that's obviously moderated, since it's so, limited, since it's so, limited,
The announcement, the announcement is a moderated, not to discussed.
Correct, you know, this is moderating. The discuss is the exact opposite. It's unmoderated and anybody who joins the discuss list can post questions, comments, reacts, respond to other people's, queues.
Questions or comments. And sometimes there's really good stuff that comes out of that. Sometimes it's slow day, sometimes it's slow weeks, sometimes it gets very active.
Steering committee, we try and make it so people don't have to watch the sausage being made.
So the steering committee basically is who tries to get together to plan these meetings. Find the speakers, do the the work of making the websites so it's not a closed group.
You're welcome to come. So if you're not interested in seeing sausage being made.
Maybe you don't wanna be in that group, but. Okay, our monthly meetings, I think I mentioned them all, earlier when we're talking about the calendar.
The St. Louis Linux user group is our next one coming up that's next Thursday. We come tomorrow.
Slack is more, Just general computer hardware. And the software that runs it. So we include Microsoft and other proprietary software.
The new log is for new users to the Linux operating system.
Main topic. Okay, so yeah, it's our next thing on our list tonight.
And so the Thursday meeting next week only has one topic or every Thursday Linux meeting. But the general meeting of the free month has the main topic at the end.
So tonight we're going to talk about a virtualization. It's gonna be a little different rather than having a single speaker.
With a set of overheads taking us through step by step in a planned presentation. It's gonna be a round table discussion.
So, Lee Lammert is going to, start off leading the discussion and I think we have a couple other folks who are going to jump in and really any of you in the audience who have a question, comment, or you think you have some more information that might be good.
Please offer it up and jump in the discussion. With that, I think I will turn it over to Lee Lambert.
You, meet us on. Alright, Gary, thank you. Let's see.
I need to share.
One thing I hate about.
Zoom whenever you do whenever you move off that workspace you lose your window and you gotta go find it.
On the next space that you were when you did it.
So.
We've been throwing a bunch of comments about this. For the last week or so. And. Hmm.
I do know that a lot of You know, we've got a whole, we got a bunch of folks here that have been dealing for it's relation for years.
You know, I've been, I've been playing with it for at least 1213 years around here.
And, but I know there's a lot of people that also are not necessarily newbies, but.
May not be that conversion with some of the terminology. So I like to do first. Is let's just start with a quick review.
Some of those terminology involved. I found a halfway decent presentation here on slide player.
And I grabbed it and I cut out a bunch of stuff. That we didn't really need.
But this will be. Is basically an overview.
Start off with everybody thinks they know what virtualization is a lot of people have Again, play with it before.
But for people that may not be that familiar are. Want to review some of the terminology. You know, we're all used to this machine on the left.
Single processor, single system. Laptop or desktop you're working on right now is looks just like this physically.
You've got some sort of x. 86 architecture XX. 86 64 you got an OS on there most likely Linux in this crowd and you got a bunch of applications that run on top of it.
Okay. The other way to utilize that. Architecture which could be exactly the same are It could be a lot bigger or it could be different architecture.
You know, like an arm, 64 is raspberry pies. You know, they are very good for virtual applications nowadays, especially if you're building clusters.
One of my projects here sitting here on a shelf as a 1, 2, 3, 4, 5, 6.
PI for Kubernetes cluster. But unfortunately, I got a lot of projects. In the pipeline that are higher priority.
In that environment that that architecture has a virtualization layer on top of it.
This is the basic concept. We'll get to some variations here in a minute.
And then you have. Virtual resources. Sheep, you memory. Network hard, hard storage, disc storage.
These are all virtualized. In that the host resource. As this virtualization layer. To provide a number of virtual machines.
With the resources that make the virtual machine think like it's running on. Hardware like the left. Anybody have any question about this?
Another key point is that there's different types of virtualization. What we've been talking about so far is full virtualization.
You know, this is. Where each virtual machine sees what looks like the host system. And all those devices are repeated for every machine.
So basically this is a machine here, the top 2 layers operating system applications. That are exactly the same as what you have here on a workstation.
There also is a concept of para virtualized. You'll see that in virtual box you'll see that in most.
Tools when you build a virtual machine. Para virtualized means the OS has been customized. To Question.
The OS here has been customized so that it Again, pick up some of the work. Of accessing the hardware directly.
That's kind of the simplest, simplest way to put it.
The point is per virtualized is a special use case. You probably don't wanna select that unless you know the virtual machine you're building.
Will support a para virtualized interface. And then there's some hardware system virtualization.
They take a step beyond that, but. We don't need to worry about that right now. In terms of an architecture.
Most computer. A lot of designs conceptualize the concept of a ring. You've got an OS on the bottom.
Some sort of host. As well as the host computer has has some sort of OS whether it's Just the virtualization or a true kernel.
And then the X. 86 architecture for the virtual machine has. An operating system.
I'm sorry. And then on. There's typically a virtual machine, whatever that is, a guest OS.
And.
Yeah. There's different ways to virtualize memory. Again, that's specific to the platform you're on.
Virtualize I/O. Okay. In full virtualization mode then.
Like the machine I'm running on right now. Most of our servers in the back room. I never, I have typically do not use a fully virtualized host OS.
Like. Well, VM, where is, although it's a commercial system today, it's no longer.
It's been bought out. Prox MOX is another one. Zen server is another one.
There are a number of. Hardware base virtual virtualization systems. But there are a lot more that take a Linux kernel.
Add a virtualization layer. Do that Linux kernel. Which means that you can run native applications on the host as well as virtual machines with different applications.
That are totally separate. From the host. Now, We're talking about, remember, we're talking about virtual machines here, the whole concept of a container is totally separate.
I know we had some, courses or some. Talking about Docker here 6 or 7 years ago.
That is, you can conceptualize it as something similar. But from a hardware, from a actual.
Operational standpoint. It is not. Hey, virtualization of a of a workload. Means that you have some way to build another machine.
Inside a physical disk volume that is a partition totally separate from the host operating system. And then within that partition part, it's actually a file, it's not a hardware partition, but it is a file that is a disk image that the VM runs in.
So these are. Totally separate from the host except for the link is through the virtualization layer.
Any question on that?
We mentioned hardware virtualization before. Some servers run this way where the virtualization layer is the only, only.
Operating system. It isn't it is not a true operating system. The big difference is in a.
Parallel system that has a post operating system, you can run all of your normal normal host utilities. In a fully virtualized server, you're limited to whatever the virtualization, virtualization environment provides.
Typically a web. So you do not have any. User access to the virtualization of that machine.
This is one of one of the big improvements here is that. You have almost native performance, Gary. Would you watch the chats?
Very much higher performance on server, server based virtualization layer. As opposed to the host based.
Per virtualized in. Yeah, Zen is one example. They have domains. Dom 0, which is the host, MU, which is the multiple users.
Here's a little bit of a diagram for it.
This is Zen server, by the way, not to be confused with the Zoom virtualization technology that can be used.
And also host space virtualization.
It's inserted at his control interface. Multiple virtual CPUs. Vulture virtual memory management and then hardware interfaces to the system hardware.
And finally, The golden key to the whole environment is interface that allows you to talk to the virtualization machine.
If you have a host, you can use liver. There are other ways to use that with server based virtualization.
But this is what I use all the time to talk to our servers in the back room. Toolkit.
It is an open source toolkit. It's it supports almost all virtual virtualization environments.
Zen, KVM, QEMU. Lx containers open. Open VZ. Restore on any sort of discs any any sort of interface.
And it provides. Remote management. I believe I showed you example, we were talking about it a while back.
If you have shell access to the host system. I can have a console to any virtual machine.
Running on the system.
All right, quick review. Anybody have any questions about anything?
That, Box, an advert box that thing, that slide you were showing virtual. Virtually.
Whatever it was. Does that deal with Virtualbox?
I didn't think so.
No. I lived, libvirt.
That's what I'm not to ask.
Yeah, libird.
Okay.
As I understand it. And have used it as an abstraction layer that can manage multiple different aspects of virtualization.
Including multiple back end hypervisors. It can manage. Some disc front end it provides some interface it can also depending on PAM configurations, control who has what permissions.
In some ways it's kind of like an abstraction framework for many things virtualization related, rides a consistent interface and it translates to whatever is happening on.
The particular back end you're using.
Alright, anybody else want to comment on that?
Yeah, from practical. Applications. I've been to some Red Hat. Presentations with their open shift which is their flavor of Kubernetes with some of their extensions but they were using libvirt.
Right.
And I went to a presentation they had actually at a Microsoft the Microsoft Technology Center somewhere downtown. But libvirt gives you the ability to run.
Things that look like virtual machines in a Kubernetes like environment, which is really cool. It's kind of the merging of those technologies.
Thank you.
Because You know with Vmware being bought out by Broadcom, I believe you mentioned. Which I was aware of that.
That buyout was kind of part of the the motion to where all the virtualization for you know the Yeah, more of the big iron types things is moving towards the Kubernetes.
Type interface.
And that's a step in that direction to bring things that look like a virtual machine into a Kubernetes environment.
And it's actually very powerful. And very impressive. So.
Yeah, and actually I was just. Went to a seminar this week on new vector which is a security tool for the rancher environment, which is Sui's playpen.
And the stuff you can do with Kubernetes nowadays is just totally. Amazing. You know, if you think about Amazon Prime.
What did what do they need for a back end? You know, what do they need to serve? 50,000 users.
Watching the different, you know, each of them watching a different video.
You don't do, you don't do that a virtual machine. You do that with a small.
Piece of I'll call it code for lack of a better word. That is able to pull file out of storage.
And serve it up to that particular customer. Well, that piece of code. Would be totally, totally impractical to do with any, any sort of virtualization environment.
Right.
You need something that is leaner. And more efficient. That's where, and that's where a container comes in.
And yeah, go ahead.
Yeah. Yeah, and you're exactly right. It brings. Cause from what I, with virtual machines, you could have a Kind of a custom, it's something I've been doing.
At work up until about 9 days ago because I just retired. Minor announcement. But then you have this entire Virtue machine that does a specific, you know, in our environment.
To be okay, you can compile this.
Use this compiler tool to build the code for this specific product we had. Whereas when you start containerizing things.
Right.
You don't need an operating system anymore. You just need something that can support. Something containerized so you just have an application set that's in this you know, container image.
Right.
Yeah.
Okay.
So that shrink things down. You don't need another operating system, which You know, and then the liver allows you to kind of bring that virtual machine that you haven't really containerized or maybe you can't and bring it into this virtualization world or this containerization world.
So you kind of get the best of both worlds.
I have a knit to pick with the you don't need an operating system. You need enough.
To fulfill dependencies and containers actually get those dependencies from where the container is running. You can put additional files in.
But there's a running kernel and a library.
Right, you're right. You are correct and that if you if you the application set that you need is something, let's say, Debian specific, like you want to install a compiler tool set, which is something that I just did.
Shortly before retirement.
There was a specific compiler company that distributes their Containerizable things in a dot dev format.
So then you need a Debian. Base because
To also install things in a Debian base you need. You know, which is if you've got a debt.
Dot, the easiest way to do that is with something on Debian. Or maybe you want to.
But yes, in that case, you kind of.
To see if you're dealing with a dot. You need to kind of follow the rules to install something in that way, you know, like if you need.
The get application and some. You know, make utility and those types of things. That go along with a compiler.
Which is pretty typical. You'd start with a Debian. Image. But if you were doing something that installed as an RPM, something red hat ish You start with our Red Hat.
One. But. You're not really using the operating system. The containerization engines, you know, podman.
Or Docker very I'll say similar at the core. But that's the open, that's the OCI interface, the open computer are open.
Container interface. And that's the interface to the actual operating system that you're running on.
Which could be. You could run that on Windows using, WSL window services for Linux or on a Debian system that you've installed.
Docker and or podman which you follow different rules accordingly. We're on a red hat.
I can see. I can see don't need those inside the container, but it in some way that's almost like an interface where the BIOS.
On the old venerable XT computer. You have an API that does a translation and it accesses those features provided by.
The base system.
Right, I mean everything has to run on a computer at some point. That's what the OCI, the open container interface does for you.
Yeah, I mean, you're gonna have a network port on that on that. Operating system that's really running and there are The OCI allows ways of accessing if you install our startup a container that runs a web server.
Well, of course you need to have web access. And there are ways of opening the ports that are needed for that particular website and that kind of stuff.
Okay.
Good.
But it doesn't have, it doesn't have to be this operating system or that one. The OCI handles that for you.
So, and all this is in pursuit of issues that things that I run into. I don't know how many times I've had to patch my SQL Server.
And the patch has been for Internet Explorer.
You mean, You, you, you mean, you mean, an, an, exploder, right?
Why do I have an internet explorer? On a database server. Yeah. My sequel server.
Oh, that's right. I have. Co workers who can't run the command line. And it's running on a Windows box.
Yeah, because despite what happened in the nineties. Internet Explorer still integral. To the Windows operating system.
Right. It's always getting patched. I have to take down my SQL Server.
So the goal of the container from what I understood has been to Reduce. The operating requirements. Down to minimal.
Just what needs to you need to start most of these don't containers don't even have system D installed or the or the service team.
Okay.
Oh no, no, yeah, a container. Right. A container has only the code. Record to perform the function for which it is built.
There is no kernel, there is no operating system, there are no utilities. You might get cat and LS, but other and and maybe VI, if you're lucky, but other than that, forget it.
Also, since we're getting into the container discussion for though, you know, I know there are a lot of folks here that might not be that familiar with the environment.
What are the They're kind of combined. I sometimes think of a 2 or one. What is the biggest advantage of using a container in a production environment?
Well.
The ability to control the deployment. Every container is the same and the fact and then you can push the button.
Process isolation.
Hey, Cont. And bring it back up.
Well, yeah, what I was looking for is the fact that the container itself is immutable. You cannot change a container.
Okay.
That goes into a specific definition of container. I would argue. Jails and Solaris zones and various other things fall into the broad category.
Of container as in. Sub less than a full operating system virtualization.
Yeah, well that's that gets back to the whole C group. Technology underneath containers in the Linux world.
But yeah, that's true with the same kind of concept, but where I was going is A container is a mutable from the standpoint that No sir, no, no, no work on the container can change the container itself unless you have root privilege and that's a separate issue.
But if the container goes haywire, all you do is restart it. Because when you start it, you start with the version that you have saved in your repository.
Let's chat.
Which Say again.
Yeah, and.
Good. And if you and if you have to you can go back and Perched said cash and have it rebuild it again.
Well, that's. Lee is correct in that when you if you start a container from from scratch you're you probably pull it from a Container image repository, Docker.
No, no.
Being being one of them, but you can have like if you had a website that you've been managing with some database stuff.
I mean, you can mount those dynamically, but you are correct in that. If there were some from, let's think about it from security perspective, if something managed to break.
You know, for evil purposes. The HTTP server. On that, on that container image.
If you shut down that container and. Remove the image that's infected. And then restart it, which means it's going to pull.
Yeah, a new image of it. From the image repository, it's that.
Whatever infected the one that was running previously It's going to go back to a pristine state and then you mount your database which has your custom data in it as well as you know whatever HTML stuff you may have on a database or a web server thing So the infection goes away.
Alright, the
I also posit that the infection is gone. However, unless you changed versions. The vulnerability that allowed the infection remains.
Right, and that's a
Right, cause it's gonna rebuild it exactly the way that it was before because that's how the was instructed to do
Right.
Yeah, and that's a separate issue.
So for example, the photos I was showing you. That's running in a container on my NAS.
It has a mount. I told it, oh by the way, here's this folder inside of.
The Naz ZFS pool. Mount that as slash originals. And the software sees that if it were as if it was part of the system.
For power of the container and has I gave it a group ID that has the ability to write to. The originals folder.
So I can care down and rebuild that container as many times as I want. The originals folder just sits there in the Z of S pools going I'm not getting to read.
You know, potentially broken state you're saying.
Oh, okay.
No, the photos are there. The the container can do its work. If let's say photo prison was doing something stupid, I could stop it.
I could then tell
True NAS to purge the
Repository images. And then tell it to rebuild. And it will pull all the new images back down from the true charts report.
The source in the cloud.
I guess it's probably GitHub or talker, but. Yeah, the source in the cloud.
Yeah, wherever it may be.
Okay. And we deployed per the instructions. I gave it when I initially deployed it.
Also makes upgrades really easy.
And the big thing there is
Code control. I've had issues running upgrades before. This is, oh, this version of Sequel Light is not correct.
I'm sitting here going. Alright, I'll spend a day try to but figure out how to get that into my system.
Whereas this is it's in the image. He goes and pulls it off the web.
On the other hand, I have had containers that I tried to upgrade them and developer did something stupid and I See you there for half a day trying to figure out.
Why are you broken?
Yeah.
Yeah, there is kind of a mixed bag. I, some of the work that I was doing, it would
It's in that world, it's pretty common to where you would download configuration files from some website, you know, GitHub and in particular.
And then you want to do. You know, rebuild that container. Because of something. Pretty trivial, but then.
If you're container file. Included some things or some URLs. Out on wherever on the internet that changed.
Then your container file then when you go to rebuild your container it breaks And. So it's kind of a mixed bag for the most part.
It's incredibly powerful to be able to build containers but just the things you need. But if somebody changes something out there.
Then you end up having to figure out, okay, why did this break? Okay, if it's a So I've taken a container that worked built fine 2 months ago.
And then. But it built fine because the URL to a wherever some configuration files were. Was valid 2 months ago, then I go to build it.
You know, last week. And a break since like, well, Okay, it failed because the URL for these config files changed.
But I actually have these configuration files in the last image of the container that I made. So. I copied those.
Config files out of the running container from the last one I made. Check them into the.
Code repository for the the new container so that they no longer required The now broken URL.
And everything, you know, gives some back together. So you kinda have to know what's going on.
From a couple of different angles that you made not have needed to worry about before, but. You can get back into a corner, but you can get out of it.
Using what you did last time.
But you have to be aware of that kind of stuff.
Yeah, sounds.
Do you mean that you're participating in building that container with the developer? So what you mean?
Yes, in the world that I was in. Cause the container world, you have a lot of capabilities if you just wanted an HTTP server.
Or an engine X server.
You can find either on, you'll probably, you know, Docker or if you deal with the Red Hat stuff, you can go to quaid.
And if all you want to do is just run a plane, Jane. Web server You can do one of those and you don't have to do any container file work.
You just download the image. Run it with a big, honking command line.
From a server that has the container runtime engine on it or on a Sorry, a system that has that if you don't have Kubernetes.
And then you have a web server. And you don't need to worry about configuration of the web server.
Which although it's not that complicated for people in this group.
If you bypass even having to build the web server as you just download and run it.
But in like I was saying in the world that I was in to where we're making compiler tool sets for embedded system development, kind of robotics ish kind of thing.
You don't find a pre made container that has this specific compiler on it with this specific set of development tools like.
May can see make and you have to have get to be able to pull it. Pull code from a You know any repository and sometimes they have subversion because we have some old stuff.
So you're having to have, okay, here's. The compiler we're looking for, but we need these other tools with it.
You're not gonna find that online anywhere. It's something that only your company needs. And then you have to basically roll your own container.
And that's the world that I just Retired from. And if in the process of rolling your own, you come across a configuration file out in.
On a GitHub site. Which is exactly where it was where something You know, whoever actually own that configuration stuff I was talking about.
Decided they wanted to change it. Or remove those configuration files or rename them or whatever.
They when you go to rebuild your custom container that.
Then it breaks. But being aware of that you can fix it. You know, cause they're, they can, when you build a container, you can either pull stuff from an external site or if you got that file on your.
On your hard disk right there, which is basically what I did. You just copy that file into the container where it was.
Copy to from the web and it works just like it did before. It's just, to go around the basis, you know, first base, second base, third base, you go the other way, go third base base first base and you get to the same place.
I'm smiling at what you're saying because What you're describing. Sounds a whole lot like.
What needs to be done when doing a install of a Barry Unix on bare metal. To support applications.
Right, and basically what's what I What I've seen with the the Docker slash Kubernetes world is what we do, what this does is it gives it a common Language for lack of a better term of this is how you set it up.
And then you could feed it into the Docker engine and it will build it for you. And it's the same every single time.
And that's pretty accurate because what you're. What you don't want to do is
You know, if you were living in the virtual machine world, you could do the same thing by saying, okay, here's my checklist of things to do.
Okay, install, get. Install this, install that. Whereas the containers give you a Basically a script form of saying This is the list of things you need to do.
And it will do the build for you. Back in the old world where you were going down this checklist.
Along that way if any one of those things depended on a URL. Which is pretty typical.
And the URL changed when you manually, manually went down these steps. To reproduce it, you would come across, okay, this URL broke, how do I fix it?
And then you figure out, well, okay, Last time I did it, I got it from this.
Website. Now I've got this. FILE internally on a running container you can copy it in there.
But now that you have a container file, you just Tell your container engine to rebuild it. And it'll go through the same steps so that I have to redo it.
So it it moves your build system into code. I guess is the final home run you get out of it.
Yeah, code that the revision control. So yes, you're correct.
It was not as much code as it's in to get and it's being tracked. That's the other big thing that I I've seen with this before before and I would have notes on how to install something, to be sitting in something like Onenote or no pattern.
This is how you do this.
I feel like the version tracking is independent. Of doing the build.
It is, but it's something that just kind of follows. Automatically after if you've gone.
If you get your container file may that, okay, it works. On January first this Container for our work, worked, built my container and you can run it and everything is hunky-dory.
You check it in to get. Hmm.
Yeah, but even if you check it in to get and it's dependent on that external resource and that external resource changes or moves your process that worked last time you ran it may not work.
Yeah. Oh.
This time. Whereas if you have the piece I'm hearing you dancing around but not say. Is a repository, not necessarily a get repository, but just a collection of files.
That you build your, you create your script or configuration says I want this library, this version, this other library, the version and this package.
Put them into this container and by the way all the files for this are slash mount big external USB.
Type thing. That should function today, tomorrow, next year, the as lots.
Well, that's everything with build processes. That's the same as with a full VM versus a container.
Yes, I agree.
If you're if you're reliant on. Repository, you gotta make everything has to be an app to build.
The the service.
But once they're
After a lot more stable than random Joe's Gitlab. Instance.
Once they're built, aren't containers so much more annoying to troubleshoot the VMs like every time I have to exact into a container, I like sit there for like 5 min like, man, I hate this.
Yeah.
Cause you know, once you exact in, you're gonna have like cat and none of the utilities you're gonna, are gonna be there.
None of your dot files. It's gonna be like, okay, how painful is it going to be for me to find the logs and do all this stuff and I don't know, I just feel like when it comes to administration and troubleshooting.
VMs are just like the Cadillac of easily doing that stuff.
Well, you. What I do get paid to do day to day is using containers completely differently.
I have close to a hundred selects local zones. I'm a part of a small team that manage.
And each local zone is a full Solaris install running in a container. So I log in could and I know no difference.
When I'm in the container versus what I'm on the host. That speaks to how different containers can be.
Can you also grab and do inheritance with containers? So let's say you have true XYZ and there is a container.
Image that you can deploy. If you wanted to add on, let's say nano.
NCDU, a few other utilities. Can you also grab that? Say from this Then do this.
Yeah, that's very possible. In fact, what you would do is Set up your container build to add those key, add those extra components every time you build it.
Right.
But if you have a container that's built as Sean was talking about and all of a sudden it stops working.
Can you add those tools to an existing running container or do you have to stop it and rebuild it to pull in those tools?
You have to stop and rebuild it.
Okay.
That is correct.
No, no, you can add them. You can exact in and use the package manager to add whatever's in the repos, you know, or, you know, install anything, but.
Right. Yeah, you can do an app get or whatever your base. Repository is.
That is predicated on those tools being inside the container.
Yeah, there are some containers that are like.
And.
Right, which are they they might have to be in there to They built it too. You may have to tell it to install.
Yeah.
That's possible, but then it's not always necessary. For example, with Docker now, they have this, multi built.
Multi stage build thing, right? So you can build a minimal container. Where you build the first container as all your development tools, all your packages and stuff like that.
And then when you're ready, you, you That thing will then fork off to build. The real deployable.
Which just has a minimal minimal install. So it is possible that you won't even have a package.
Possible but have you like how much have you seen that in production versus having a package manager in the container because I've seen I've seen the package manager a lot more.
Yeah, it's very new. It's rather new and and and it depends on your use case, but it is starting to become more popular.
Yeah, cause I've done things to where I had. Had a container that I start up and run it and okay this something didn't work quite right if you have something that's a containers running Java that's expect it to not work quite right because Java's Such a pig.
But you can. Well, I'll do something kind of low tack and I'm I'm sure that there are some more, you know, better supported ways of doing it, but I'd say, okay.
Here. Here's the line of of the container file that adds this set of stuff that I really need or at least what I think I need.
To run this container with what I want. And then the next line in there, I'll say well, okay, but the troubleshoot what's going haywire I need to add this list of things.
Then rebuild it and it comes up running with this list of things. That I need just a troubleshoot.
And then I troubleshoot and find out, oh, okay. I really needed to also add this, you know, install this other thing.
In the required list. So yeah.
The, POFA and me would say, okay, this container is running. With its own mount names like on Linux.
It's running with its own mount namespace and various other things. I can identify that and from the root namespace.
I can issue commands to dynamically modify that containers mount namespace. And I could add.
A file system, or even multiple, like under a subdirectory inside the container so that could then exec into the container.
Altar path and get to the full suite of tools I'm looking for. But that completely breaks.
Containerization mentality. But is a BOFH Unix admin. The world is by oyster.
Alright, so I would basically do a similar thing by, you know, I would add. Extra tools that are for debugging and then once I figured out, okay, I really needed to also instead install this thing.
Do you do that?
And then comment out the line that included all these debugging tools, rebuild it from there.
I the difference about what I'm talking about is I can take that running container while it is running, I can add other file systems to its mount tree.
Without rebuilding anything. So if there's something corrupt in memory, even if I just restart the container, I would lose the corruption.
I can add tools. To that.
Right. I mean, that's certainly one way of doing it.
Yes.
Yes, debugging in C 2 versus in vitro. So.
Right.
I mentioned before using Podman versus Docker. And Podman is very security. Driven.
To where you know you And that kind of point you away from doing things that because you're saying you can do things in that container that a root user could do, which Podman doesn't by default lets you do.
That's because I'm on the host Colonel and I have full UID 0. We're talking about every container is its own set of C groups, mount namespace, network namespace, all these namespaces.
I can attach and modify. Those live namespaces? From outside as route. And then once I modify them as I want to.
I can go into them and work in them. These are on Linux in particular. These are all using base Linux kernel.
Structures. I'm just modifying those the way you would without Docker or Podman or anything else.
Like in a switch in a center in as clone whatever. All the way from the outside. I can change something in a running environment.
That Podman and Docker has no idea was done.
Yes.
Yeah, okay, so you're talking outside of what the container does well, I mean, that's cool, but
The direction I was taking was that the container has its permission. In fact, I intentionally, you know, for security reasons.
Right.
Explicitly limited what the container was capable of doing. You know, I did not look at it from out the out I was looking from the inside out.
You're looking from the outside in. And okay, that's some capability of capabilities, Linux, Unix that I'm not familiar with.
So I would Like I said, I would build a version of the container that had the debugging tools that I needed for the specific problem.
Fix it, get it running, and then comment those extra tools out so that the running container as what it needs.
Yeah, looking at it from the outside in wasn't really necessary, you know, kind of a different way of.
Skinny the cat.
Yeah.
Yeah, and that's, that's why I implied that the VMs are like the Cadillac, right?
Because in the VM. The VM so big and fat anyway that installing the debug tools is not a big deal, right?
You're not going to notice. That extra, you know, megabytes of hard drive space being taken up by a VM.
And so in the VM, all those tools are already there. Most likely. Whereas in a container, you know, they've done everything to take as much out as they can. And so they're not there.
And so that's why I think like Trouble shooting a VM is like the Cadillac.
Compared to troubleshooting a container is like a like a unicycle or something.
I would argue that the slur zones I'm dealing with or some of the. Zen virtual machines using pair virtualization.
Are even better than a traditional fat. VM where in you have your full independent file tree that is a full OS and everything you want.
It's just consuming disk space, but you get optimizations of it's not.
A full committed Chunk of memory, you're not necessarily burning even more CPU cycles for a task manager to be idle inside of it.
It's kind of the hybrid between a full fat VM. And just processes running on a single kernel.
And I think that is very nice. I'm thinking very seriously about after Lee. No, Replacing my Vmware, ESXI.
With Zen. With error virtualization for a number of systems. For the reasons I just mentioned. With some additional non per virtualized or full virtualization.
For a couple of things that do not support per virtualization. With that, I think I will be able to get more quote unquote virtual machines.
On this host. Using fewer resources.
Yeah, that's actually interesting because one thing I've my day job. I was using Vmware.
V Center, which allows you to merge multiple. Hosts as though they were one environment. But on my home system, which I still have access to.
It's a VM where ESXI and I've wanted to
But modernize it if you will. It's brought me a long way. I've learned a lot from it, but yeah.
Right. Prior to Broadcom's actions this year. Or maybe late last year. I could see and support that.
Given what Broadcom has done, I feel like their viability in the hobbyist home lab market.
Is dwindling quickly.
Yeah, they're certainly in the same spot like Oracle is with their databases, right?
Like they're not getting any new customers. So they're just trying to exploit their existing customers for every penny.
Okay.
They can get out of them, right? And so definitely a bad time to be a Vmware customer in my opinion.
Hey guys.
Yeah, actually another another thing that went on is, we were using,
Vmware's, what's the called the,
Workstation where you could build a bunch of VMs you could do quite it was pretty powerful 5 years ago.
Last time I used VM our workstation, or I'm sorry, I'm thinking of player, not workstation.
Yeah, but anyway, what they did with workstation, I believe also with player. Cause it's a subset of, one's a subset of the other.
But they changed the
Something pretty low level to where you needed. I went to do an upgrade because I was using it at home as well as at work with some other colleagues that I was working with but they changes such that you needed to install workstation and I want to say .
You needed to have an Uber-powerful CPU in your system or just would not have an Uber powerful CPU in your system or just would not install.
Yeah, Vmware has
And so that that broke the bank for me and so I kind of went to VM or not Vmware but.
Virtual box at work is I have a number of people that I was supporting that needed to run a virtual machine And so I switched to Virtualbox and that still works.
Pretty stinking well to this. Day as of a week and a half ago.
We. Has had a predilection of wanting
Almost bleeding edge hardware. I have a bunch of systems that and run 5 0 5 5 maybe 6 0 but cannot run anything newer because Vmware said, no, those boxes are too old.
We're not touching.
Yeah, and I think that that speaks to the market they're looking for supporting because I've somebody mentioned like the hobbyist things like you're kind of hosed.
And I think that's precisely correct. But I can see where they're going. They don't.
You know, they're not making money off the people that do the hobby of stuff and just, you know, cause you can download.
Well, you used to.
ESXI at no charge. And they're not making money off it. So why are they gonna?
Yeah, nobody's coming into work like, hey guys, I installed ESXI at my house.
Let me tell my job about this. Side thing that nobody's heard of. Like now everybody knows about.
Vmware by now, you know what I mean? And so it's not, they're not getting that funnel, right?
Wow.
Like the hobby is probably aren't doing them any good.
On the other hand, by having the free version, that means you can sit down and you can play with it and break it on your own hardware.
Then when you go and get that job in the system engineering groups. Yeah, I worked with the ASI.
No, how not to break it.
I've got this, this, this and this with it. They're going to miss out on all that.
And for Broadcom, I can attest That company that bought them is only interested in in clients that are trapped off.
On their software.
I day job in Weir has a very high priority project. Who can consolidate Vmware stacks.
Because we have. I won't say which digits in it, but 6 figure. Per month.
And yeah.
Licensing fees to Broadcom. Presently. We know trying to reduce that. Post fucking haste.
And right now I'm Right now, I'm actually rebuilding the box right now because Dumped on me forgot to turn on the UEFI BIOS in my 7 30 and I'm setting up open souses harvester.
Which is they're explicit. Go with it. Hobby guys go right ahead and hack at it.
Let's know what you can make it do.
And the biggest thing that it does is, instead of using KVM directly on the base elastic uses by system called Kubert.
Well, that's kind of Kubernetes ish there.
Okay, And I Yeah, so basically what it does is it starts up a Kubernetes docker with Cubert to run the virtual machine and I Haven't gotten that far because I've been trying to figure out how to get a Castle M.
40 through the but through a hypervisor to a machine.
And dum dum here forgot to turn on UEFI so that SR . I/O can do its job
I've done us our IOV or whatever. Without UEFI before.
I.
Everything I read is pointing at that. And then. Poked at him, a season, all the flags inside of the SUSIA operating system says it's there.
But I can't get it to show up so
I actually had best luck. With an old version of Vmware on a BIOS based system.
And what the Vmware provided in the management interface for the host. Was visibility and it made it the most clear.
Yes, if a card in a slot. Could be. Pass through and what I found
Right, I got it to pass through. I got to show up in the pastor interface I haven't got it to show up and that's our VIO.
Yeah, another thing that's
Which would allow me to take the 4, 24 gig of memory and break it up into smaller chunks so I can hand it to multiple machines.
Yes, I'm doing crazy shit.
Yeah.
Yeah. Yeah, I wanted to interject something, you know. Aside from these specific solutions here, one thing is going on for the.
I guess the bigger picture. The Linux community was very good. You know, go back in time a decade.
They were very good with supporting some of the older operating systems like if you had an old 32 bit PC that you wanted to upgrade.
Yeah, you couldn't run Windows XP anymore because it was dying. But you could get.
Back in that area you could get a Linux distribution that would run on a 32 bit hardware and you.
Buy yourself another 5 years on that. Ancient hardware. I mean that world is
I think for good reason, but it's intentionally being killed. And I mentioned a while ago that, you know, Vmware, they were they discontinued support for some of the older CPUs.
So that They can more effectively. Deal with the newer stuff. Yeah.
Linux kernel has historically. Not removed something from the kernel. Until its presence becomes a problem. Or it has been.
Pretend.
Well, in specific, you liver that we were talking about a while ago, I think at least You know, Lee brought that up and his presentation.
Libert I believe based on what I saw and heard from some of the Red Hat presentations. Intentionally does not include 32 bit.
Stuff because
Yeah, they're saying if you're running this kind of stuff If you are on some more want to run it on some old Ricky Dink PC.
You know.
Hi.
You should have saved your allowance and got you a newer 64 bit CPU in the last decade.
My question both about
I think it kind of a thing goes and it's like, okay, let's.
It's time to move forward. And It makes sense. A decade ago when there were a lot of old 32 bit hardware around
Yeah, okay. It was actually very good that the Linux community carried it, but in this day and age.
Yeah. You know, the hobbyists that have. You know, some 32 bit PC when you can go to micro center across town, at least if you in St.
Louis area. You can buy a raspberry pi for under 100 bucks. That is 64 bits.
It will kick ass on anything 32 bits you might have bought 15 years ago and are trying to support.
So. It's getting where there's not really much of a good reason to keep around the old stuff
Well, there's not necessarily a good reason to use the old stuff. My stepfather has a 1967 GTO convertible.
He's still keeping around as a hobby project that he enjoys. It's not his daily drive.
There's value, you know, I have a couple IBM PS twos. That I want because I want a PS 2.
I might happen to want to run Linux on it. But it's I'm wanting that specific thing.
I don't care what I can do with a pie. I want the original beige box type thing.
Well, I mean, that that's fine, but are you?
I'm not gonna host.
But what they're doing is separating. Okay, where's this technology going from? If you want a museum piece, okay, go to the museum.
Okay.
If you want to move forward with technology. Go to micro center and buy your raspberry pi and you've got the new stuff
We were talking earlier this before the recording started. A raspberry pi contemporary can outperform.
Emulating a mainframe, a completely different architecture in your software. Faster than the original thing. 50 years.
Right. So why would you force the Linux kernel to support?
I'm not.
Yeah.
I mean, I suppose you could go to GitHub and download an old, old version of Linux kernel.
Yeah.
Or you know maybe kernel.org. That would run on some 32 bit or maybe 16 bit.
I don't know how far back you want to go.
Linux started on 3 E sixes.
Yeah, but I mean, so but.
I play with some network technology. Old token ring that is no longer was removed from like 3.4.
That was their very few things Linux has actually removed and it's kind of been when it Starts being in the way of other things.
Is the most likely. Exactly. I would anticipate.
I don't know if I think the Linux kernel still supports PTM class or better machines. I haven't looked in a couple of years, but I would anticipate you could.
Download the most recent kernel that supports that class processor. Compile for it. Compile. I don't see why you could not take contemporary.
And compile everything from the ground up. You're not gonna find very many distros that target Pentiums anymore.
Right. You should be able to make it work if you want to. The physical.
Alright, I think we've diverged from what Lee was presenting quite a bit. But I.
Yeah, to the point of. Where this discussion is going. Yeah, I think the right decision in terms of what.
Containerization supports and virtualization is to allow moving forward. If you want to do the, if you want to run model T's, okay.
Other things.
Don't like stopping you but then
Other things I supported.
Go to, Facebook marketplace. And shop for your different parts that you need.
Yeah. In my day job. In addition to the old Solaris systems, I have some old AIX.
IBM, the current releasing hardware. Does not run the old software. But it will run contemporary in virtualization.
And inside of that virtualization, I run a container. That runs the old software.
Reading Carrie's comments. There is a person who has.
Pointing at files. Mapped on a NAS and his home. And has gone through revers proxies and I think you can actually see it.
On the web. Virtualization is great. For adding extra life to old software. That is redlocked.
And cannot move forward. That's. Part of what I do with the old Solaris containers.
I, Harry, I have found. Virtual boxed. To be decent support. Or OS 2.
Mainly work 4 4 4 5 2 the other maybe surprising place for support for that. Is virtual PC.
From Microsoft. I want to say 2,004. After. They bought it from whomever they did, but before they modified it too much, there's some.
Versions and there were still has good support, but it started coming out. If you're wanting to run a, or something that old.
I would probably recommend Box, BOC HS. Not to be confused with the.
Slovak server, though sounds the same. And that is much more emulation than virtualization.
But you can do so many different things with it.
But my current go to for Ninety's Windows, nineties, Unixes, nineties, and a little bit more, you name it.
Virtualbox. I have found that to be far easier to work with. Then Vmware or even KVM.
Most of that has to do with the emulated devices and Those OS's having drivers. Networking tends to be amd PC net 32 almost all of the things from the nineties.
Except maybe early Linux know how to talk to it. And then video.
Yeah, I second the motion for Virtualbox. I've learned everything from DOS to Windows, Linux.
Good, very few problems.
Kerry, if you have like I have taken. But 1 point my. 6 2 2.
Plus enhanced tools, the 4 floppy disks. I plug them into a USB floppy drive shows up as like Dev FD 0 under Linux.
And I use the data destroyer command to read those disks to an image. And then I can easily point virtual box at those images and it can work with them.
Boot off of them, no problem. Can do very similar with CD ROMs, DVD ROMs.
And once they're image files. I have a full suite of tools. To manipulate him.
Virtual box. Kind of has. 2 sides of the house. There's open source edition, which.
If Oracle does anything stupid, it's going to be forked that quick. If not already.
And then there's. Oracle extensions on top of it. Which pull in some other things.
And there's a lot of people that don't. Run those extensions, those extensions provide.
Enhanced they call it RDP. I'm not sure it's actually remote desktop protocol.
But add some other features that are nice to have. Which use an individual. Can use per the current license from Oracle.
On top of the regular virtual box. I would encourage you to spend some time with. Virtualbox.
I have found it to be Very, very, very nice. In fact, the only complaint I have with Virtual Box.
Is it is more a lab? System. It's not what I would want to install, you know, server farm to run a whole bunch of VMs in production.
Primarily because it has not yet targeted. Bare minimum installs automatic start and various things. But I virtual boxes network environment.
Has worked very well. It has been very flexible. I found the user interface. One of the least annoying to use.
LAY, I don't know about you, but I have done some installs that it's like 8 clicks to change floppy drives as opposed to 3 in virtual box.
Yeah, and I
Yeah, actually, virtual box is a lot, UI is a lot cleaner than anyone.
Absolutely runs BSD. You might even be able to emulate hardware that goes Back to BSDs in the early nineties.
But if you won't run any BSD variant that runs on x 86 from the mid nineties onward, Virtualbox is going to eat it like lunch and say, can I have another please?
Yeah, I agree with the usability of virtual box because when
Vmware workstation did their CPU horse power. You know, roadblock.
I switched over to Virtualbox and it's done very well. That I, it's a little, I guess, but once you, you know, you can.
Google around to find out how to work around the installing the guest editions because it kind of varies between What operating system you're really running on.
But in the end it works very well. The last oddity I came across was I was running,
Some rocky Linux virtual machines which
When you do an update on them. You know, they come up with new different drivers and stuff like that.
And I came across the instance where the, the display, you know, the virtual display would just like have this flickering thing.
It was like, I mean, which made it virtually unusable. But I wanna being a issue with.
One
Yeah, Wayland.
The red hat, you know, Fedora, Red Hat community changing. From the X Windows drivers to I forget the name of it but a different like I want to say Wayland Yeah, virtual, virtual, display driver.
Would you?
And, so I did some googling. It's like all you had to do was like get into a config file and say, disable it, you know.
Would you clarify?
And that flickering go away. And so you have a very usable system. And,
Yeah. Would you clarify what your host OS and what the guest OS Hey, ing was in that case.
Right.
Yeah, we are. In the company that I worked for. We had a specific version, you know, IS corporately distributed Windows 10.
And I was using the I kept it pretty updated, pretty new versions of Virtual Box.
And that specific instance with the flickering was like Rocky Linux version 9.3, I wanna say.
Okay, so it was. Something new introduced in a then contemporary rocky. Running a then contemporary virtual box on a then recently updated Windows 10.
Oh, Windows, version 10.
I'm not sure how those in in Got into that description, but it was a. Okay.
Yeah, Windows version 10. Right. Running. Virtual box 7 point something I want to say which was, may not have been the very, very latest version, but.
Pretty new. I mean, within the last 2024 I wanna say. 2024 or newer, you know, whatever that version would be.
And Rocky Linux. 9 point. May have started with 9.2, but they would need an update which effectively updated Rocky Linux to 9.3 or whatever the newest one is.
That's when the Wayland issues came into play like Leland. Or like what Lee mentioned. Yeah, there are some.
They made some changes to that. You know, the X driver, if you will.
Graphic stuff that made the screen flicker like crazy. But there I found, you know, a Google thing that said, here's how you fix that.
Change this config file, but it being bataboo, everything worked great.
So that's what I would present to. Cause as I wrote out these different containers
There are different developers doing some things in particular doing a you boot. Thing on NXP, yeah, I was in XP, something I forget the whatever alphabet soup came after that.
Embedded processor.
And we were making the a bootloader for that processor.
And that uses a lot of Linux components. So the build from that one from start to end is done in Linux.
Stuff because a lot of that you boot stuff is a Linux. Is Linux code. So it was the most reasonable way to go.
And so I built all of that up to run on Linux. And, We're using a CI system that would do all, you know, a lot of stuff for you because there were like 4 different repositories that came from GitHub.
And different places. Samad URLs on the web. So we download them into our private GitHub.
Internally.
And we used our CI to build them automatically, would pull down the right. Or check out the right versions and branches of the stuff we had internally.
But for the developers to build it on a local system, you know, which implies you're not using the CI system.
I wrote a Basically a big read me of here you check out this repository in this branch and so on which could be scripted.
But I retired and so it's like, well, if you guys want to script it. Here's what you do, but they could.
Copy and paste the code out of this read me into the. A shell on their. Rocky virtual.
VM that I was describing. And they could check it out, it would run a make file that did the build scripts accordingly and they would get a working.
SD card image they could put in the instrument and boot up and run.
Nice.
Yeah.
Pretty stink pretty stinking cool
10 min warning. Traditionally, we at 10 min to 9, we, because we used to have to be thrown out of the library or wherever we were.
Or wanted to get to the nearest restaurant before they shut down. We just. Other meetings.
I always throw out the 10 min warning. We don't have to shut it off. We can keep going.
But some people here had been here 3 h and it might be a little long for them, though just a reminder. Let's keep going if you want.
Thank you.
Has anyone heard anything? Positive. About Vmware since. The Broadcom did what they did.
To me, the elephant in the room is sticking with it as a hobbyist. I have not heard of anybody.
Doing that that isn't also doing Vmware professionally and wanting to have a lab environment at home.
That is the same.
Well, I do know that the hardware that I had at my day job. Which was some HP.
I forget the number, the effort, but, That hardware is 10 years old and so when you have servers that are 10 years old you're probably looking at You know, what do we wanna do after?
Hello.
A year from now And one thing that we identified was that. This hardware, it's running.
Yes, XI version 6.7 and the related version of the center And it was not compatible with updating to version 7.
Okay.
So in that. Instance to continue. Vmware much longer you need all new hardware and so they were talking about
Our offshore ask group of saying, well, okay, we'll just. Convert all this to the cloud.
And that discussion took. That was going on for like a year.
Yeah, I would. I've got a friend that has a 3 node Vmware cluster.
And right now when I Rebuild it next. Based on my experience I'm looking at taking a KVM unless I get some Zen under my belt.
My might explore that.
Well, and before we talked about the
The enterprise grade software which you know vmware is That's the arena they're in.
They were intentionally discontinuing like the older 32 bit kind of stuff. Which we had a little discussion about that a while ago.
And the fact that our you know, cause these servers that the systems were currently running. I weren't some little.
You know, dime store servers, they were, these were HP. Gen 8, I wanna say servers with.
Yes, a pro lion, Jen, a or gen 9 beta.
Yeah, well these were 8, and I would have been the next update, but you know, when I update them to where they have 96 gig of RAM, that kind of stuff to where they were.
Their performance. When I first got all that up and running, I was like utterly impressed with how they ran.
Yeah.
But even that class of hardware. Not compatible with the ESXI version 7. Which kinda goes with their If you want to be in this neighborhood, you have to.
Yeah, you walk with the big boys if you got old hardware. Sorry, you're not going to be in the club.
And so that's. I can see that, you know, since they're.
They have
If you're a hobbyist, that's fine. You have a neighborhood to play in.
But not necessarily theirs.
Yep. Yeah, they have enough market share they can dictate what they're gonna support.
Yeah. And Red Hat went with a, there's a company called, I wanna say. That some of their you know, open shift offerings, you can get.
Open shift the runs on Newtonics if you have your own hardware and that may have been a way of working around the
Vmware issue that.
I will likely never have to. Address myself.
Hey, we're starting to wrap up a little bit. I wanted to mention something. Because I'm up here in Michigan.
And from all the way up here in the northern latitudes. I can hear Gary's and Stan's wheel spinning.
Repeat that.
Repeat that last sentence. I'm sorry.
And Bye. I can hear Gary. And stands. Brain cells.
Gyrating furiously.
What are they gyrating about?
Okay.
There are girating about the fact that there was a whole bunch of they were being thrown around.
I don't think we really did a good job of clarifying them. So the thing I wanted to mention was that basically, you know, You've got images and containers.
And it's a little fuzzy. Between what an image and a container is and I'll explain that in a minute but the aforementioned Robert Seitech.
Has presented at this very meeting. In the past multiple sessions on Docker. With all.
A hands on, how do you get it running? How do you get it installed? What these various terms mean.
How do you, how do you interact with it? What are all like, how do you debug it?
Like all of these things are videos that are in our, I think they're videos. Pretty sure he's getting presentations on him.
Yeah. Recorded during the COVID era. So I think that they're up on the in the presentation archives.
So go check. Go check those out if, if you are a little bit, swimming in in the jargon.
What I wanted to say about containers and images. Was that the images it's kind of where we start we start with an image right and
A useful analogy is like. A file on your hard drive, although it's not. Not really a file, but it kinda looks like it is.
It's just like a named thing, right? So you could have like, 22 0 4 that could be an image right or Debian 11 or something like that right and a container well so you can you can tell docker to run this image but say docker run, go to colon, 22 0 4.
And it will like fire it up and that will create a container based on that image. That's like starting a program like a process on your system.
What's that containers running? You can stop it. You can. Pause and resume it.
You can even exec into it. I'm really alighting a whole bunch of stuff here, so, you know, don't come back at me and tell me that I'm, oh, you're missing this.
Yes, I know I am. But the reason I say that there's a little bit of fuzziness in here, right?
Is that there's 2 there's 2 aspects to think about. One is that
Can take our images themselves. They actually can. Be used to create more images, right?
So if you have an existing image. Maybe you've gotten an image that you've done a poll if you say docker all the go to 22 4 for example that give just base image right And then from that image.
Now it's on your system. You can write a Docker file. Think of that as kinda like a make file.
It's not really a make file, but just a little bit like a make file. And in there you can put a whole bunch of like script a whole bunch of installation and configuration things.
To be able to.
Build on top of that of that Ubuntu image. And every time you do one of these things, right, it builds a layer.
So you start with this base layer. And you keep adding layers on top. Right. And.
As you build these layers up or whatever, right? You get, you know, more configured system.
And you're maybe your final thing that you do is you set up the you know the the application you want to run let's say made that's a web server a database server or you know, I can take a million things, right?
Then, you know, you've built this image. So now you can, when you start that container, start that image.
A container from that image, right? It has all this new stuff you've got it, right?
The other reason I said it was a little bit confusing is because Once you've got a container running.
You could go into the container as they mentioned during the meeting. And add more stuff like I could say.
Ed, app, get install, nano, rapkin, install VI or something like that, right?
And you go, Hey, I got all this stuff running or whatever, right? Well, But at this point, you can literally commit that image.
And that will create. Excuse me, commit the container. And that will create another new image which is based upon the image that you were in.
So that gives you a little bit of. Flexibility in modifying your your image stored up post build.
So you know you built the image from the Docker. It doesn't create the Docker cloud for you.
But it does at least create another image that you can. Thank you. I've done it. I've gone in there.
I troubleshoot it something. I could. You know, I fixed the configuration. Now it's running again.
Now I'm going to commit it. Now this is the new. The new pristine image that I want I wanna run from here.
That's 1 aspect of it that makes it a little bit confused. The other aspect of it that makes a little bit confusing is the fact that If you have just Docker installed on your system, right?
And, you know, you can just literally say, you know, with nothing at all ever installed on your system.
Well, they give you like one image to start with, right? Which I think is the whole world image, but you probably don't even have that image, right?
So You just have doctor installed on your system, whatever, and you say, Docker run and then some image.
And voila. It's up and running. You got a new container. You can run it again.
It run another. Dr. Ron, one's another one. You can run a 5, 1015 0, right?
They're all just all running. And, So what happened there was that was sort of a combination.
Of a Docker pull. Followed by a Docker. Start. So like docker start is kind of like the.
The base art of a. Right. So I just wanted to, you know, just point out there's a couple of terms that.
You know, we're being thrown around and, I don't know that everybody was.
Was clean on the target. I'm not even sure that I'm entirely clean on the jargon.
But We want to learn more. We have the resources here at Luke.
I'd like to point out that the Presentation archives is displayed on all of our websites.
Yeah, at the bottom. Hello, right hand corner if you're using the pool. PC screen.
And tonight's presentation will be. Uploaded to the archive. And next day or 2.
8 that. Oh.
Hey, I just wanna say thanks for, summarizing the container process like that because One of the things that I found really valuable with what what I've done here over the last few years is maintaining my own repository here.
So once I get the container I like, I can check it in. And then I can always pull, I can always get it back if I, if I blow it up.
Or I can always update it and then every time I pull it the next time. I get the updates that I made last time.
So, you know, it works basically just like a Git repository.
Correct. And I think they modeled their or rather doctor did anyway. They modeled their their, you know, their terminology and their workflow on the get workflow, you know, you see your like for example if you if you say hey i've created this wonderful wonderful image Right.
And, I think the world would really enjoy this, right? Well, guess what? You can create an account on, on Docker Hub.
And, but you gotta count up there on a Docker hub. What did you have to do?
You just, you just do a push. You know, you give it a unique name. In my case, for example, if you go to.
Hook, docker or hub. dot.com slash Ed. Right?
You'll see a couple of images that I've got up there. None of them are useful for anything, but, they are up there.
So, you know, you could just do a or push of your image and it'll go it'll go right up there and that the whole world can now enjoy your image.
And all they have to do to run it, it's just like running it from your command line.
Right.
Just say Docker run in the name of the image and It's up and running. So that's kind of what like Lee was saying was that he does that.
But he does it locally. He doesn't do it, you know, with Dr.
This is Stan. I'd like to point out that I cannot spell Git. One
Okay.
I have watched more than 1,600 h of videos over the last 3. Years at IT Product TV and they're their presentations on Git is just confusing to me.
I cannot understand it.
Well, It's because you just don't get get.
I don't get it.
Yeah.
Hey, what amaze me is I'm watching the text down here on the Zoom transcription. And they spell get right?
Okay.
Come on.
Yeah. Okay.
Well, and to follow up with the whole image repository thing is that that's kind of part of the.
Dealing with containers, you don't.
While you want to be able to pull an image of the.
A specific image that you've made and that requires. Hey, image repository. Docker hub being one of them is kind of a.
No.
Pretty common. But that's that's what's that's what supports the ability to pull an exact image down like we talked a while ago about.
If there was something broken in a.
Running container. That you wanted to just revert the whole thing back to the original, you could pull a fresh image.
From the repository. And they once you start it. Then, well, that's a good point because once you start a container image.
Then it becomes a container. Which has a history and you can look, you can type history at the command line and see what's been done on it before.
Until that's happened, you just have a container.
Amy.
Period. You have an image, not a container.
But the point I was making is if you're building some Wizbang container for your company.
You are going to push it up to Docker Hub because it's not public domain.
You're gonna push it to your own local repository.
Right, in our case, we're using quay. Dot.
Well, that's, Oh
Which is similar, similar, privacy. I mean, you can you can make things private there.
I think, right, yeah, you can, I think even on Docker Hub, you, you can, you know, maybe you have to pay him for it. I don't know.
But you can make a private story.
Probably so. Which is the case with Quay?
What's the reason to use a public? I can't even stand GitHub. If I want to work something, I I have a repository server in the back room.
All my work is on that. It gets backed up twice once locally and once off site every night.
And nobody touches it but me or somebody working with me.
Right. Yeah, that's true in your case, but I think the private repositories both on GitHub and Docker hub right are.
For these like multinational teams, right? You know, where basically what you're doing is you're just paying them for hosting, right?
You're just saying, hey, I don't wanna pay the bandwidth.
I don't wanna pay the, storage, right? But, will you host my container for me?
And I don't want anybody else to get it. Just the people on my team. And so you give those people the credentials to be able to access these private repositories and only they could pull them.
But for your case, yeah, you're right. I mean, that's what I do here.
Okay.
I've got a raspberry pi. My Raspberry Pi is my backup server and I use get and Docker for that.
So.
Well, I'm kind of with Lee, not so much for the privacy. But I'm constantly convinced that.
We're gonna have some sort of catastrophic event and you know, solar panels the likes.
I still want to be able to run things. In my house or air-gapped network. With all these same features just hosting myself.
Right, belt and suspenders, right?
I hark from a time when internet connectivity was luxury. I want to be able to run my things without depending on internet.
Connectivity.
Right, I agree with Lee's philosophy, 100%.
But.
But we the the world I was in there the IS group offshore was saying, well, we're gonna.
Now, let me tell it to work on the
Yeah.
Do this from afar. Which never happened. But then ultimately. I do agree if you can bring it internally.
Yeah. Yeah, then you avoid. All the above.
Hi.
You
And the other thing to consider too, and I think a lot of people sort of forget this, right?
Companies come and go, right? And a good example. Which you you almost touched on when you were talking about how broadcom bought I'm sure that V and we were because they've got that enterprise business, they're gonna continue going and you know, same thing was true when Oracle bought Mysql or rather they bought some which kind of got granted them ISQL
but the, but there are some companies that are, I don't think they're going to be around a good example is Redis.
You might have been reading. The the kerfuffle about redis and how they went from being Only open source the being not open source anymore or source available as they call it.
So people are just starting to abandon them, as a company and, you know, they're probably doing a cash grab and you know, a few years they're not gonna be around anymore.
So having your own alternative is really good idea.
Or there's also Geopolitical issues. How many people in Russia? Are losing or have lost access.
2 things hosted. Outside of Russia. I have seen edicts from multiple employers. Where Microsoft is no longer like they're cutting off.
One Note, Onedrive. outlook.com, a whole bunch of things.
Hmm.
So the company doesn't even go away, but geopolitics means you can no longer get to it.
Right.
Totally isolated like China, Iran. You know, that have good tech resources, but the general populist has no access, anything outside the country.
Yeah.
Alright, so, and there's always, there's always that danger, so.
Or they may have access. But Okay.
Good backup plan, not just files, but also services.
But, good.
We were talking, were we early talking about next cloud on the chat?
Like wasn't that part of that?
Well, the next cloud is one own cloud is another one I've been using for 1520 years because it was the first one out there.
And I haven't had a reason to switch yet.
Right, so you're not like using AWS, right? You're just, you know, Yeah.
Right.
Being own Sure, next cloud servers. You know, if you want, just put it up on your own machine.
Our hardware is cheap. Hardware is easy to come by.
At half a dozen machines laying around here make a server out of all I do put some drives in them.
Yep, I think I started seeing a movement kind of away from the cloud. It seems to be like there's a big rush to the cloud.
And now we're going like, oh, hybrid cloud, you know. On prem and cloud.
Oh yeah, we saw what happened on January sixth. Ref.
What's the name of the company?
There's computer.
Tyler, what happened? I missed what you said.
Oh.
On January sixth, you know. Whole democratic AWS and Microsoft said they're colluding to run a per parlor.
A parlor ran on Amazon. Even though Amazon from what I understand have a Hey. Something like a 60 days like you have 30 days secure and 30 days to move on their determination in the contract.
We shut it down in 36 h.
Oh, wow. So they even honored their own.
Well.
Yeah, so it's like Well, if you run a foul of the community. Manager or whatever you wanna call it of of a big tech that's running your infrastructure.
Right now you probably should have at least The game plan that says, oh, come back up over here within an hour or 2.
Yep.
Yep. Cause those people play for keeps. And they couldn't care less about what's legal or not.
And I hate to say it. In the world of security on computers. Person has the ability to push the power button has ultimate control.
Yep.
Or the person that has the ability to disconnect communications to it.
Yeah, yeah.
If I can pull power from the box and bring it up. Oh, under my terms.
2 years.
You know, used to joke when I was living in Columbia before I moved to Colorado. I ran my mail server on an ancient server in my house.
Because for somebody to get to it. Legally, they had to have warrant to come into my house.
Oh yeah, the whole Google and Who else? A lot of the mail providers have said that they've had gag orders given to them.
About giving over people's email. I move back domain I created. It's just some bird on now, which sits in Switzerland.
I figured that will make the CIA and the FBI a little bit harder for them to say give up up Tyler's email.
Yeah, well Switzerland has Pretty good privacy laws and they're not overly impressed. With the US government or the Democratic Party, they just don't care.
You know, they.
The the problem.
Now, it's not bulletproof. I've heard of people's data being given up but it's like you had to go through and do something really horrible and they had you had to prove it in.
A Swiss coral blah.
Yeah. One of the things that I have problems with a lot of people saying, yeah, I'm using proton mail.
Is the email. That my wife who uses Gmail to send to you on proton mail. They don't have to go to proton male.
Oh yeah.
They go to Google and say, we want this as you're sending it. And there are plenty of ways with SMTP, unless you are extremely careful.
Which it's very, very, very difficult to be that careful. They can just get a copy of it as it goes inbound.
2 proton name.
Right, well, when I leaves are comes into Gmail. I don't think proton mail will give up those logs.
And that's all.
No, I'm talking about just look at like prism. With ATT? Was it the early 2,000 or the late nineties where they were tapping DS three's?
In the telco and siphoning traffic that was running between big providers.
You think they got the certificate keys to? Go to the
No, the certificates if somebody They don't need the certificates. If somebody is sending email, like an active man in the middle attack on email to You can say, no, proton mail doesn't support TLS.
That's weird. I shoved a whole bunch.
You have to send it the clear. Your most servers will send it perfectly fine. And they Proton male will encrypt what they received and you'll get it encrypted, but they've already got an unencrypted copy.
Well, see, that's weird. I thought I shoved a whole bunch of junk into DNS to tell the, SMTP servers that, oh yeah, this is only authorized domain users and Oh, certificate.
Yes, but that is predicated on. Sending spurs honoring that.
The others. Yes. Oh, 90% of the reason I moved it over there wasn't that.
Somebody was reading and it's more of somebody locking me out of it.
Sure.
One of the things that.
Has been known to. Cut somebody off of all Google services because they ran a foul of one of their services.
Yeah.
Or perceived. I've got a Google yelling at me. Well, not yelling, but mad at me with a file that is on my website.
They're trying to say it's a soft 4 or 4 and I say no it's not.
It is a description of an error message. The page talking about the air messages found. Your interpretation as well.
Happens.
Where are you from the day that I actually turn on my blog? I am highly tempted to go in and put a Custom 4 83 error for any.
In brown connections coming from Google or Amazon or Microsoft.
That for Google, I can tell you from my prior job that is going to be nigh impossible. Because Google has the IP space that they advertise, but they also have configurations as part of their GDC program, they can actually initiate programs from systems at your ISP if your ISP is participating.
So they could actually initiate that. From any GDC system around the world.
Including
No, Google. Google.
No, could they initiate that from Cloud Fair if I put the roll up in Cloud Fare that says, oh by the way, go through.
All these. What is it called? System numbers and
No. Least that was a that's the theory
The, no, I, my prior job, 18 months ago was helping support Google Global Cache, which is global or Google's CDN.
And part of the agreement with ISPs for the systems they could place at an ISP location.
To save the ISP bandwidth. Is they have the ability to initiate outbound traffic.
From those systems to anywhere they want. So those systems are located in ISPs around the world. They're part of the ISPs IP address space.
They're part of the ISPs ASN. Or ASN set. So, and it's.
Changing all the time. Realistically block those. Without blocking 0 slash.
And
You're just depressing me.
Okay.
Yeah.
I'm sorry. I can also tell you that Google. Tries exceptionally hard. To maintain.
A white hat posture. I can't tell you the number of trainings I had to go through that was what we were allowed to do or not allowed to do and various things.
So the
Shall I say the party line or song and dance was anything that could be construed or even misconstrued as negative.
Don't do it. Like.
Don't be evil, Matra.
Huh. Yeah, like we had a annual privacy training thing. They had something called the G shoe and it was a made up thing.
But it's like somebody wanted to put a camera on the G shoes and start connecting our collecting. Ants level view to augment street view How do we deal with this with privacy?
And it's like, don't do it. You don't have a business need or a service need for doing this.
So don't do it. There was a lot of Don't collect or do anything without an explicit.
You need it to support this other function. So they Google does go out of their way. Be very white hat.
But they also have thousands upon thousands of systems around the world that they can initiate outbound connections from.
ISP's IP address space that has nothing to do with Google.
No.
So all we're reliant on is the robots at TXT. This held Google. The Dock off.
Yeah.
Yeah. And Google will, as far as I know, honor that. They. Sincerely try to play above board and buy the rules.
Sometimes they fail. Once they realize it, they correct it. I would be willing to bet multiple people on this call.
Remember when Google accidentally recorded? Like while trying to see what Wi-Fi SIDs were being broadcast, they accidentally got the entire wireless frame, which potentially included some data.
There was a big curfuffle about which is a monumental feat considering the links they go to to protect.
Data and have it integrity. Actually destroying something inside of Google is very hard.
But accidents happen. They try to do the right thing.
Grant, you were saying that you were required to go through training and stuff. We working for Google or is this for some other employer that we're sending?
No, I, yes, I was working for Google proper. As part of the team that managed and supported the fleet of off-net Google Global Cache systems in support of YouTube.
And other things started using it. Basically, I was part of a team of like 40 administrators. That administered Linux boxes deployed around the world off Google's network.
That had specialized software. Or caching. Think a super, super, super special squid proxy.
Not squid, but that type of functionality.
Basically, you wanted a CDN as closest to the user as possible. Therefore you put these Linux boxes.
In the ISPs themselves so that when you follow up a super popular YouTube video instead of going coming all the way from wherever YouTube's data center is.
It's just going to your ISP and coming back.
Exactly.
Huh, well that's nice interesting now.
And the technology behind it I cannot go into but it is impressive and I mean, wateringly complex and oh my god the things it can do.
While ripping out the last bit of the ceiling, we found something. Very, very interesting. Which is this round.
It's here, this repair view. And it's from the former NAME. And here is the cut out.
On the deck. Wooden.
Sorry, guys.
Steve, I don't know where that drunk was coming from, but I had to mute you.
So.
That's fine. I accidentally clicked on something. My apologies.
Yeah.
I It's not.
Didn't even sound like anything you wanted to listen to either.
It's not the same. In intent or capability. But I would like it to. If Google wanted to be malicious, they could give the great firewall of China a run for its money if not overrun it.
Okay.
As in flooding it or as in filter.
Sure. Both.
Some of the equipment we were supporting. Could, source. 10 gigabit per rack unit.
10 years ago. We had. That's thousands of rack units. All around the world.
And we could aim that traffic wherever we wanted.
If somebody wanted to fire shots at the Great Wall of China. Google could from both sides.
Oh, I'm not surprised.
And the internet would just melt.
Yeah, especially for all, depending on Google for their email.
Yeah. Google could probably actually If you were not in the path of traffic to the target. You can probably access your Gmail just fine.
Okay.
Yeah, but what's a target gonna do? When the Google starts flooding. They're not going to strike that.
Yeah, but it's gonna be targeted at Google.
It.
We
So essentially you're saying that Google has a botnet that they could use outside of their own stuff.
What? Right?
I would not describe it that way, but I will not in that statement either.
It's probably a Macnet or What's the next biggest thing?
Well, it's a network of high capacity CDN servers, thousands of them spread across the world that If Google gets a wild hair up there, but they can do nefarious things with.
There depends on which side you're on.
Sure. Hey, these were some, but. Where's all the wire connecting all this stuff?
In Pittsburgh.
Where is it?
Gordon?
Not inside of Google data centers. Not. Inside of Google Data Centers, the off-net stuff.
It's located in your Comcast locations. It's located in your charter locations. It's located in your Bell Canada or MCI or take.
Okay.
You're like if an ISP had one gigabit or more of traffic. I think per public documentation if you have one gigabit or more.
Of YouTube bandwidth, you could apply for. A CDN note.
Yeah, the best example here would be charter. I'm sure there's 1 in the shorter knock.
Or I'm on ATT fiber, they could have something in ATT, multiple locations here in St.
Louis or a charter here in St. Louis. And the same thing in Kansas City. And just spread out.
All over the country and all over the world. Like 10 years ago, it was servers with 10 gigabit Knicks.
It's done nothing but getting faster and bigger. All over.
Yeah, really.
So yeah, it's wires that go from the servers in the cabinet to the switches in the cabinet that go to ISP core routers.
Although I'm sure they weren't wires at that point, Bye.
Okay. So, we're gonna. Okay.
Yeah.
Depending which piece it was and which connection it was a mixture of wire and fiber. We actually found that it was more economical.
To do direct attach copper like one to 2 meter to go from. Server to top of rack switch.
Because the price of the optics plus the like 2 optics plus fiber. Was more expensive than a direct attached copper cable.
Okay.
I can see that.
So to your economics, when you're buying thousands of these. Why the cheaper component?
Yeah. That makes sense.
But yes, the aggregate bandwidth. Had to be. Fiber based interfaces.
Just.
So just do the math at a 42 rack unit call it 40. Put a 0 behind that.
That's how many gigabit. That can produce. That was old numbers.
There'd be multiple of these. In a location for a data center.
Yeah, of course, I imagine somebody up in the Google management. Would have a cow pretty quickly if they realize they were doing that or somebody was doing that.
Yeah.
They probably paid for it.
Doing what?
Yeah, generating a Ddos attack from those servers against somebody else.
Yeah. That's them trying to keep that old. Do you know we are? You know, we're evil, but.
Yeah. I don't remember the exact phrase, but there was an accident. A white hat accident.
Years ago. With some big players like.
Think British telecom or somebody that size. I don't have any idea who it was, but they lost I wanna say like a transatlantic link and they were on their backup.
And it's like, I don't care who you are or what you do. You cannot shove 200 gigabit down a 10 gig link.
It ain't gonna happen.
Yeah.
Routing problems and equipment failure is a very real thing.
That's why we the world's going with Kubernetes. Did Google come up with Kubernetes and Docker.
They? I don't know about Docker, but didn't, isn't Kubernetes an evolution of something?
Okay.
Docker. Basically, Kubernetes take stocker and allows you to tag and Name space things out so that things stay up and things stay alive and when things die or need to scale.
Kubernetes spin things up and
Make sure everything's in a running state.
Without revealing. Things I probably shouldn't. I'll say it this way. Kubernetes as I understand it.
Was an evolution of something Google was running. That they gave to the world. Google did not run that at the time.
They migrated from what they were running to something else and since retroactively. Started doing some Kubernetes as part of people, hey, we're running Kubernetes.
We wanted to Kubernetes on Google. Compute platform or something. So now they have some Kubernetes.
But.
Okay
I thought it I thought Docker and Kubernetes were all not evolution of Google's attitude is we only run what we need to on, our machines.
Anything else that's super
Right. And I think Kubernetes is an evolution of something, I think. Google did not use Docker.
Kubernetes, my understanding is it can control multiple things or orchestrate multiple things. Docker being one of the most common.
Well, dockers, the, yeah, Docker, the Docker engine and then you have.
K 3 s. And there's another one, art. Our key S 2.
Which is the rancher R KS and
Our KS 2 is the rancher. Kubernetes and James. And then.
Like the node has their own flavor. I want it to be surprised. If Amazon doesn't have flavor of Kubernetes that's tuned.
To their infrastructure.
Yeah.
Virtual.
Okay.
I'm getting hungry and I need a bio break so I think I'm gonna Say good night.
Alright
I wanna I wanna ask a quick 2 part question. Hopefully I'll stay for just a minute.
Divide yourselves into a group of either those who are very familiar with virtualization and those who are relatively new to virtualization.
And I'm gonna ask the people who are new to virtualization first, just anybody who would care to just volunteer what you Got out of the evening real quickly.
What were the high whites? The most important points.
Please.
Okay.
This is Stan. I promote virtual box to new users. And I was impressed with the Additional high-level capability that the the speakers here have been talking about.
It seems like it's much more powerful. Even in their eyes even if they use something else predominantly.
Oh, I saw a number of additional positive things about Virtualbox is that impressed me.
Thank you. For what you've shared with us.
And quickly flipping it over to the. People who are more experienced with virtual box. Any of you care to throw out what you thought the highlights?
The most useful thing of evening work?
There's a lot to digest.
Yes.
There's replacements for Vmware. And Broadcom sucks.
Yeah.
The thing that Vmware has going for is the management on top of virtualization. And I'm hearing.
People say what I think is a relatively common form of Virtualization and containerization. Was a good thing.
There are many ways to do it. Pros and cons to each.
Many people were saying Virtualbox is very good user interface, which I agree with. I'm taking away that.
I'm not way out in left field. I there are other people that tend to think similar to me.
Lee, what taste your own medicine? Eat your own dog food. What's your takeaway?
You're muted or I don't hear anything.
No, he's thinking. I, I was thinking I was, closing a couple of windows when you met proposed the question.
Okay.
You know, number one. Well, I guess I if nothing else, Vmware to me never had.
Any usefulness except in a data center because that's where V Center was was a good tool. Other than that.
I play with it a couple times but never even considered it.
The options out there are. Maybe something that might work worth looking at of. Hardware based virtualization. You know, as we build more servers here.
Maintaining a host OS is just one extra. Colonel that needs to be updated on a Shimmy regular basis.
Also another question I heard I didn't hear anybody mention prox box there was a couple questions about that in the discussion.
I don't know if that's a good player or not. I'm not even sure, well let me ask you this.
Does anybody run true open source hardware based virtualization manager?
I think Zen is the only one, if If I remember correctly.
Without getting into politics is what's true open source. I am of the opinion. Yeah, it is on.
Particularly Debian. With stock repos. It is probably. Broadly open source.
So I'm going to include. KVM and derivatives. I'm going to include Zen.
And derivatives and I think even Debian has. Virtual box open source edition that is.
Not encumbered. By Oracle, not counting the Oracle add-on packs.
Well, by definition, you know, Debian has the full availability presented and KDM and the Colonel.
I was speaking of a hard work. Virtualization.
Or define what hardware virtualization is in this context.
No Linux kernel.
For the host. Or the virtual manager is the host level.
Yeah.
Server-based virtualization. No, no, no host OS.
Yeah.
Our I have a real problem with Pipe One versus type 2 hypervisors.
A lot of people want to tell me Vmware is type one, no host OS.
Yet I can install packages and I can run VIM on Vmware. I can copy other things and I can do all sorts of things on Vmware, like literally on ESXI.
The host, oh, there is. An OS there. It is just an extremely specialized.
S.
Yeah, they basically is their custom kernel, right?
It is their custom kernel. But it is. Still very much a Linux user land. And it script startup decompression.
Okay. Yeah.
Every Zen based on what you're saying. Might be it as in it's open source.
It is the lowest kernel hypervisor. It is not. Linux kernel as in from but you still have to have something.
2 apply or running configuration. And that is still something that is very much Linux derived. It's not open source, but, Microsoft, you have their hypervisor, but used to apply the configuration as those boots start manage VMs and orchestrate across.
That is Windows base.
Yeah. Yeah. Well, let me clarify one thing. There there is a Zen server out there.
Which is the type one hypervisor to my understanding. And it is open source but also has commercial support.
That is the only Okay, one hypervisor that I know of. That is actually at least fundamentally open source and Vmware isn't.
Kvm does not have anything like Zen server to my knowledge. Is that true?
Do you think? Is that valid or? Is there something else that I'm not, I'm not seeing?
No, my qualms. Are.
With like around the definition of what is type one versus type 2. People say type 2 is a full OS.
That does virtualization. Whereas type one is just virtualization. It's not open source, but I can take Vmware and I can add other things.
So it. Looks like a full OS. So if we pause it. Well, it's a type one that's a full less.
The definition of type 2 being a full list. And not a pipe one breaks down. I can't think of anything.
That I can't apply that same mentality to. Zen. We're certainly not open source Windows, not open source.
The open source component puts Zen. Far out in front. I'm not aware of anything else that's even remotely close.
Okay.
Well, along those, same veins, there are some things coming out of Open sushi.
I forget what they call it, but they have a a mutable OS. Which is basically a big, Fair sized container providing the always functionality.
Next, our KVM, I think. So I mean, that might be an option going forward, but I haven't, I haven't had a chance to play with it.
And they, and they were actually, there was actually some noise about dropping open Si. Leap last year in favor of a mutable OS version.
But it never went anywhere because there's too many people that are just hooked on a leap.
And, you know, if they, if they throw a grenade in that, they're gonna lose 2 thirds of their audience.
Which I like is that I got 25 or 30 instances around you running. 24 7 3 65.
Well, yeah, okay. So you ask me and I provide answer somebody else chime in here.
People are thinking I'm gonna mention that Brad Jones posted out on chat a few comments here. The recent 5 min things like Brox MOX has been a huge discussion on the Nobel TTP.
He also mentioned, claim that hyper v. Is type one and he disagrees with that.
Definitely not.
I, you would be interested to hear some discussion. Maybe that's a take it to. The mailing list, but my basis is I think the distinctions between type one and type 2.
Are nebulous or they there are ways to break. The distinction.
Oh yes. Leap 15 5 is mainstream now. 15 6 is in beta.
The original discussion was to stop with 15.
That was a question in. In the chat. There's a comment that Brad brought up.
About whether or not, they were going to abandon wheat. Yeah.
Again, this recording will be posted on our presentation archives in a day or so.
Alright.
It does sound like we're winding down, people probably. Desperate for that bio break or get something to eat.
Do a book in and shut it off.
I fear we're going to have to do that. This is Wednesday the tenth of April, 2,024.
This was the monthly general meeting of slum, the St. Louis Linux Unix users group. Our topics tonight.
The opening topic was screenshots, screenshot to code, using AI tools.
That was by Shawn Treehouse and our main presentation tonight was a roundtable on virtualization.
Which number of people contributed to but we lambert was kind enough to kind of be the main organizer of that.
We courses. Been a long time, treasure of our organization and he's the principal behind Omni-tech.
INTECT also greatly benefits our organization with a lot of contributed machine time. So as well as human effort.
So. Thank you all for coming tonight. You all were good participants and contributors to the conversation. So, wouldn't have been the same without any.
Thank you. Greg