#432: How To Fix Your Computer
About the show
Sponsored by NordLayer: pythonbytes.fm/nordlayer
Connect with the hosts
- Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)
- Brian: @brianokken@fosstodon.org / @brianokken.bsky.social
- Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky)
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Brian #1: pre-commit: install with uv
- Adam Johnson
- uv tool works great at keeping tools you use on lots of projects up to date quickly, why not use it for pre-commit.
- The extension of pre-commit-uv will use uv to create virtual environments and install packages fore pre-commit. This speeds up initial pre-commit cache creation.
- However, Adam is recommending this flavor of using pre-commit because it’s just plain easier to install pre-commit and dependencies than the official pre-commit install guide.
- Win-win.
- Side note: No Adam, I’m not going to pronounce uv “uhv”, I’ll stick with “you vee”, even Astral tells me I’m wrong
Michael #2: PEP 773: A Python Installation Manager for Windows (Accepted)
- via pycoders newsletter
- One manager to rule them all – PyManager.
- PEP 773 replaces all existing Windows installers (.exe “traditional” bundle, per-version Windows Store apps, and the separate py.exe launcher) with a single MSIX app called Python Install Manager (nick-named PyManager).
- PyManager should be mainstream by CPython 3.15, and the traditional installer disappears no earlier than 3.16 (≈ mid-2027).
- Simple, predictable commands.
- python → launches “the best” runtime already present or auto-installs the latest CPython if none is found.
- py → same launcher as today plus management sub-commands:
- py install, py uninstall, py list, py exec, py help.
- Optional python3 and python3.x aliases can be enabled by adding one extra PATH entry.
Michael #3: Changes for Textual
- Bittersweet news: the business experiment ends, but the code lives on.
- Textual began as a hobby project layered on top of Rich, but it has grown into a mature, “makes-the-terminal-do-the-impossible” TUI framework with an active community and standout documentation.
- Despite Textual’s technical success, the team couldn’t pinpoint a single pain-point big enough to sustain a business model, so the company will wind down in the coming weeks.
- The projects themselves aren’t going anywhere: they’re stable, battle-tested, and will continue under the stewardship of the original author and the broader community.
Brian #4: The Best Programmers I Know
- Matthias Endler
- “I have met a lot of developers in my life. Lately, I asked myself: “What does it take to be one of the best? What do they all have in common?””
- The list
- Read the reference
- Know your tools really well
- Read the error message
- Break down problems
- Don’t be afraid to get your hands dirty
- Always help others
- Write
- Never stop learning
- Status doesn’t matter
- Build a reputation
- Have patience
- Never blame the computer
- Don’t be afraid to say “I don’t know”
- Don’t guess
- Keep it simple
- Each topic has a short discussion. So don’t just ready the bullet points, check out the article.
Extras
Brian:
- I had a great time in Munich last week. I a talk at a company event, met with tons of people, and had a great time.
- The best part was connecting with people from different divisions working on similar problems.
- I love the idea of internal conferences to get people to self organize by topic and meet people they wouldn’t otherwise, to share ideas.
- Also got started working on a second book on the plane trip back.
Michael:
- Talk Python Clips (e.g. mullet)
- Embrace your cloud firewall (example).
- Python 3.14.0 beta 1 is here
- Congrats to the new PSF Fellows.
- Cancelled faster CPython
- bsky.app/profile/snarky.ca post
Joke: How To Fix Your Computer
Episode Transcript
Collapse transcript
00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.
00:05 This is episode 432, recorded May 19th, 2025.
00:09 I am Michael Kennedy.
00:10 And I am Brian Ucken.
00:12 And this episode is brought to you by NordLayer.
00:14 Awesome bolt-on security that you can add to all of your dev stations and servers and so on.
00:20 I'm going to tell you more about that later.
00:22 If you like social media things, you can stay up on a lot of announcements and follow the show.
00:27 follow us, Fosstodon, Mastodon, Bluesky, links that are at the top of the show notes in any
00:34 podcast player. Join us live most days, most days at 10 a.m. Monday Pacific time, just
00:41 pythonbytes.fm/live. Brian was being a world traveler, so we didn't do it last week,
00:47 but we're back at it. And our email list is getting better and better. So be sure to sign
00:53 up as the friend of the show. You'll get cool summaries and extra information to get more out
00:57 the episode like before as in pre not after Brian.
01:02 Yeah, as in pre like pre commit.
01:04 I'd like to cover an article that from Adam Johnson, pre commit install with uv and it's just a short little tip,
01:13 but I didn't know you could do this.
01:17 So pre commit normally, I've installed it before, but I can't really remember how to and Adam brings up that
01:23 the install guide is maybe not the friendliest, particularly for developers who don't use Python, but also anyway.
01:32 Hmm.
01:34 I guess pre-commits used for other stuff too, right?
01:36 So, but you can use uv.
01:39 So that's really the article talking about a couple of things.
01:42 Not only just use uv.
01:43 So you can use uv by saying uv tool install pre-commit.
01:47 And now you have pre-commit installed for all of your projects in one place.
01:51 And then, but the recommendation also is to use with pre-commit uv.
01:57 So this extra thing is this with you is pre-commit uv.
02:03 It says use uv to create virtual environments and install packages for pre-commit.
02:07 And also comments that why would you do this?
02:10 Because it speeds up the initial install.
02:12 And so the initial thing.
02:15 And so if you've got it loaded on your local computer, apparently the first run of pre-commit with all of your extras.
02:23 It'll probably be a little bit slower than later because there's a pre-commit cache that goes on.
02:28 But for instance, if you're doing like Docker images in your CI system, there might not be a cache there.
02:35 So the, and I might be just talking smoke because there might be a way to get around it with containers anyway.
02:43 However, if you really want that first initial one to be a little bit faster anyway,
02:47 So using uv might be a good answer.
02:49 So anyway, that's actually not why David, or David, Adam recommends this.
02:55 He recommends it just because it's an easier install.
02:57 And it sure is.
02:58 The other thing is you don't even need Python installed for that to work.
03:01 That's true.
03:02 Yep.
03:03 But uv tool install pre-commit with pre-commit uv, and then you've just got pre-commit working.
03:10 And yeah, you don't even need Python already installed.
03:14 little uv, the uv packaging manager and all that stuff and caching will just work. And I kind of
03:21 love, I've been using uv tool for a lot of stuff lately. It's pretty slick. So yeah, I just tried
03:26 this out this morning, worked like a charm. Love it. Yeah, that's super neat. And yeah, uv all the
03:32 way. I think they're doing great stuff. I actually have a couple of things tangential or directly
03:36 related to uv as well for the week. So let's get to it. The next thing that I have is kind of like
03:42 that but it's not uv hold on hold that thought here we go so this thing is PEP 773 has been
03:50 accepted by created by steve dower who does a lot of the windows plus python work core developer but
03:57 also works at microsoft so it is a python installation manager for windows so it's
04:03 maybe i'm not quite getting it right when i describe it this way but to me it feels very much
04:08 like an official Windows-based uv-like thing, at least for managing the Python side of stuff,
04:15 okay? So it's put there as a one manager to rule them all, PyManager. So it goes under the
04:22 colloquial name of PyManager, but I believe its official name is something like the Python
04:28 Manager for Windows type of thing, something like that. And the idea is there's right now multiple
04:34 ways to get Python onto your computer and they're unrelated and different. So I could go to python.org
04:39 and download it. That would give me a PY launcher that I can run and do things. Or I could go to the
04:45 Windows store and install it that way, which is another thing. Or I could use Winget or I could
04:50 use NuGet to install it. It's like, okay, what do I do? Right? So the idea here is that this is one
04:57 thing that does all the stuff that those do. You don't have to think about it. You can get it those
05:01 different ways. So if somebody told you to go to the Windows store and get Python, you would get
05:05 PyManager as an MSIX, which is the installer runtime for Windows, like the installer. It's like
05:11 a PKG for Mac. So you would get that there, or you could go to python.org and download it,
05:17 and you would get the same thing and the other ways you get it. So it's kind of a similar way to
05:21 get Python that's consistent across all of them. And what's cool about it is it's super easy to use.
05:27 So if you just type the word Python, it will launch the best, in quotes, the best Python
05:33 runtime that either is already there or like here's where the uv stuff comes in, or it'll
05:39 auto install the latest version of CPython if it's not there.
05:43 So at first, it's kind of like a shell of Python.
05:46 And they used to have that.
05:47 And I think it said something like, I don't know if you remember this, Brian, but in Windows,
05:51 the early days, it used to say, you don't have Python.
05:53 Go install Python.
05:54 If you type the word Python, you're like, great.
05:56 Could you help me out or just, okay, I'll just go do that, I guess.
06:00 So what this one now does, it says, okay, great.
06:02 Like uv virtual environment or uv tool, if you don't have Python, it just says, great, we'll get the latest one and we'll run that.
06:09 So that's pretty cool.
06:10 I thought there was for a while, there was like if you type Python, it'll like open a window to say, hey, do you want to install this?
06:16 And if you said, okay, it would take you to the store or something like that.
06:19 Yeah, maybe that's right.
06:19 It would take you to the store, wouldn't it?
06:21 Yeah.
06:21 Sometimes it just, yeah, there were some funky ways.
06:24 So it has, I believe py is still there, but it's going to have the same sub commands as well and so on.
06:30 So like install, uninstall, list, run.
06:34 And one thing that's kind of nice is you can also get Python 3 commands in Windows
06:39 if you just add something to your path.
06:41 Because traditionally, I believe it's been a while since I've played with it in real detail,
06:46 but I think it used to be you had to type Python only, like only Python to work.
06:51 Python 3 didn't work on Windows, but on Mac and Linux, only Python 3 worked.
06:57 Not Python by default.
06:59 You know what I mean?
06:59 It's like, why are they different?
07:01 And so this also brings a little bit of unifying there.
07:04 Okay.
07:04 Just in time for nobody to use Python 2.
07:06 Yes, exactly.
07:08 Exactly.
07:08 Yes.
07:08 Okay.
07:10 Yeah.
07:10 Maybe they're like, well, at least we should be consistent, but I'm here for it.
07:13 Like, I'd be fine to cancel Python 3 as a command and just go, you have to say Python 2 if you
07:18 want Python 2.
07:19 Don't make the thing you should be doing harder than the thing you shouldn't be doing.
07:24 Anyway, this should be mainstreamed by Python 3.15, and the traditional installers will disappear in 3.16, like 2027.
07:34 So it's not a huge change right away, but I believe, what does it say?
07:38 I believe it says the top.
07:40 Well, this is just a standard, right?
07:42 It's not one of those things that's in a version of Python.
07:44 So soon, soon, soon.
07:46 Yeah.
07:47 Yeah.
07:47 Two years. Be here before you know it.
07:50 Yes, it absolutely will.
07:52 Before we move on, yeah.
07:54 Yeah, I'd like to thank NordLayer for sponsoring this episode.
07:58 NordLayer is a toggle-ready network security platform built for modern businesses.
08:04 It combines VPN, access control, and threat protection in one easy-to-use platform.
08:09 There's no hardware and no complex setup, just secure connections and full control in less than 10 minutes.
08:15 It's easy to start with quick deploy, step-by-step onboarding, and 24-7 support.
08:20 It's easy to combine.
08:22 Works with existing setups and all major platforms.
08:25 And NordLayer is easy to scale, add users, features, or servers in a few clicks.
08:30 SSO and provisioning included.
08:33 NordLayer provides zero-trust network access-based solutions, adds threat protection to keep malware, ransomware, and phishing from reaching your endpoints,
08:42 increases your threat intelligence to spot threats before they escalate and helps businesses achieve
08:47 compliance. So if you are responsible for the security of your software data science team,
08:53 you should definitely give NordLayer a look. As Python Bytes listeners, you'll get an exclusive
08:59 offer up to 22% off NordLayer yearly plans plus 10% on top with a coupon. Just use code
09:07 pythonbytes-10. Try NordLayer risk-free with their 14-day money-back guarantee. Visit
09:14 pythonbytes.fm/nordlayer to get started. Again, that's pythonbytes.fm/nordlayer.
09:21 The link is in your podcast player's show notes. Thank you to NordLayer for sponsoring Python
09:26 Bytes. Indeed, indeed. Now, oh, I'm up next. So this one, this news broke last week, but like I
09:36 said, we weren't recording last week, so I'm going to announce it this week. Maybe you've
09:42 heard it by now, but unfortunately, it's very sad to me to hear this, but unfortunately,
09:47 Textualize, the company behind Rich and Textual, founded by Will McGugan, is shutting down.
09:55 So, you know, it's better to try something and fail than not try at all, right? So some
10:02 of the quotes from Will's post announcing this is bittersweet news the business experiment ends but
10:07 the code lives on obviously it's super popular right and if we go to GitHub somewhere what are
10:15 we looking at for stars yeah 28,000 stars super super popular but as a business it's no longer a
10:21 thing so Will says it began as a hobby project layered on top of rich but it grew into something
10:27 that looked impossible to do with terminals, and yet somehow it doesn't.
10:31 So despite the success, the team couldn't pinpoint a single pain point big enough to sustain a business model.
10:37 So the company is winding down probably about now.
10:40 I said in a couple weeks, but that was a few weeks ago.
10:43 Projects themselves aren't going anywhere.
10:44 They're stable, battle-tested, and will continue.
10:46 So I want to say thank you, Will, and everyone on the team for this.
10:50 It's a big contribution to the community.
10:53 And is it here? Let's see.
10:55 Oh, I don't even see a sponsor.
10:56 A sponsor option.
10:58 Will, put a sponsor option for us here.
11:00 So we can recommend people go and sponsor the projects.
11:02 Yeah.
11:04 At a minimum, help them keep it going strong.
11:06 No, I love what Will has done with Rich and Textual.
11:10 And we were all rooting for Textualize.
11:13 And I don't, I mean, yeah, it's not going to stay a company anymore.
11:17 But I think having it be a company while it was made Textual into something like super cool.
11:22 They were able to focus on it and make it awesome.
11:26 So I appreciate everybody's work on that.
11:27 Yeah, absolutely.
11:29 100%.
11:30 Over to you, Brian.
11:31 All right.
11:31 Well, let's see.
11:35 I'd like to, I heard about this a few weeks ago, actually, I think.
11:38 Also, here's an article, let's see, updated in April.
11:42 So yeah, a month ago.
11:43 It's an article by, I had the name, Matthias Endler, the best programmers I know.
11:48 And it's an interesting idea for an article.
11:52 He was just saying, I have met a lot of developers in my life.
11:56 Lately, I've asked myself, what does it take to be one of the best?
11:59 What do they all have in common?
12:01 And I kind of love this.
12:03 And I like the list.
12:04 I encourage you to go and read this article.
12:06 We've got a link in the show notes.
12:08 But I'm going to jump around and read some of the topics.
12:12 So read the reference.
12:14 If there's one thing that I should have done as a young programmer, it would have been read the reference.
12:18 And like the Python standard library, I admit I have not read all of the standard library.
12:24 Tumble spec, things like that.
12:26 I would add to this that if you're going to do something new, jump down into beginner mode and just read a beginner reference on something.
12:36 Even if you're an expert Flask developer and you want to switch to FastAPI,
12:41 go ahead and read the beginning tutorial and walk through the beginning tutorial for FastAPI.
12:45 Things like that are helpful.
12:47 All right, I'll go a little faster.
12:49 The topics, so read the reference, know your tools really well, Read the error message.
12:57 Getting good at reading error messages is totally a good skill.
13:01 Breakdown problems.
13:02 Don't be afraid to get your hands dirty.
13:04 Always help others.
13:05 Write.
13:06 Blogging, talks, open source.
13:08 Those help you get better.
13:09 Never stop learning.
13:10 Status doesn't matter.
13:12 Build a reputation.
13:13 Have patience.
13:14 Never blame the computer.
13:16 Don't be afraid to say, I don't know.
13:18 Very important.
13:19 Don't BS to people.
13:20 That's AI's job.
13:22 If somebody comes to you, give them what you know.
13:24 Don't guess.
13:25 Keep it simple.
13:26 Simple.
13:27 And that's it.
13:29 But really great commentary on each of these.
13:32 I love having this all put together as some good advice for software developers.
13:37 Yeah, it's easy to forget, right?
13:38 It's also easy to not really know and wondering, are they so productive?
13:42 How do they know how that is implemented or how that works internally in Python?
13:47 Like, well, they read it.
13:48 You know what I mean?
13:50 The status one is important, I think.
13:53 don't assume that if you're just because you're, I mean, it's, there's so much complicated stuff
13:58 in software that it doesn't, it really doesn't take long of focusing on something to become
14:03 really one of the better people that understand how to use something, especially within your
14:08 company. So even if you're a junior developer, you might be the expert in tool X or something
14:13 like that. And if you've got a company that's okay with it, you know, and hopefully you do,
14:19 that's okay with people getting advice from all layers, run with that.
14:22 So yeah, some great advice.
14:24 Yeah, definitely.
14:25 All right.
14:26 Well, that's it for our main item, Brian.
14:28 So let's talk about a little bit of security.
14:30 Okay.
14:31 So how do you access your server if you're running in the cloud and some sort of hosting,
14:37 maybe even a home lab that you somehow, for some reason, have it accessible to the internet,
14:41 things like that.
14:42 SSH, right?
14:43 That's almost universally.
14:44 Sometimes with Windows, you might be doing a remote desktop, but probably SSH.
14:48 Yeah, at least 80% of the stuff out there is managed that way.
14:52 Yeah, look at this little quick answer.
14:54 How many SSH attacks can a public Linux server expect per second?
14:59 Two.
15:00 Two attacks per second.
15:02 That's crazy.
15:03 No, sorry.
15:04 I multiplied it wrong.
15:05 Every two.
15:06 Every two seconds.
15:07 So that's like 30,000 attempts to hack your SSH.
15:11 And the reason why do I bring this up?
15:12 This is one of my extras.
15:13 I've been listening to some security podcasts lately and they're like, oh my gosh, here's
15:16 There's like people are coming up with all these crazy schemes to try to block their SSH.
15:21 Like, well, I know that I have like my business and my local house IP addresses are pretty stable.
15:30 They're not static, but they're pretty stable.
15:32 So I'm going to just set up a rule to only allow access from those two.
15:35 You know, what if the power goes out and like the thing resets around?
15:39 You know, I mean, that's super dangerous.
15:41 You might never, ever get back to there.
15:44 Other advice is, well, like go into, I mean, I don't even know how you do it.
15:50 Go into the server and just shut it off, but then like use some admin tools, like an admin
15:57 console, or maybe even go in and just turn off the thing.
16:00 So anyway, I have a much better suggestion, I think, for folks.
16:03 Almost everybody's hosting comes with what's called a cloud firewall.
16:08 You should log in from anywhere in the world using your 2FA and you have access to the
16:12 the dashboard for your cloud setup, right? There's console.aws.com. There's console.hetzner.com and so
16:21 on. And so just go in there and put your, you can just restrict access to your SSH to your current
16:27 IP address. And if for some reason your IP address changes or you're in a coffee shop and you want to
16:32 get access, just log in real quick and enter that IP address. Chances are, if you go back to that
16:37 coffee shop again, it's still got the same IP address. You only got to do it once. It's super
16:40 low effort and your tax go from 30,000 a day to zero because those are coming from all over the
16:46 world. They're not coming from within the house, right? They're not coming from your machine.
16:52 It'd be too late, right? It's just to prevent the public stuff. So embrace cloud firewalls,
16:56 folks. That's all I want to say. Okay. Next, this was last week, right? But
17:02 caveat is where I said Python beta one is here, 314 beta one. It is time for some beta pie.
17:09 tasty. So Python 3.41, come on. So people can check this out. This is the preview of the first
17:17 stable version. I guess it really is just the first stable version of Python 3.14, which is cool. So
17:22 check it out. Can't believe we're already here again. Yeah, I know. Here we are. Also want to
17:27 say there's a new batch of Python Software Foundation fellows. And I think there's like
17:34 10 folks or so in here. Charlie Marsh. Charlie Marsh. Yay. Obviously, like he's been doing
17:39 session. Frank Wiles. Yeah. A lot of cool folks, Ivy, Fung, and other folks. I don't want to read
17:45 off everyone's name, but congrats to everyone in there. That's super cool. Nice. Not super cool.
17:50 Post from Mike Dropbooms. Speaking on behalf or for many, many people here, he is, but it says,
17:56 I'll just read you a little bit of it, Brian. It's been a tough couple of days. Microsoft's support
18:00 for the Faster CPython project has been canceled yesterday, as of four days ago.
18:06 My heart goes out to the majority of the team was laid off.
18:08 I mean, that's actually a lot of people.
18:11 You look at the picture, presuming that all those people there are on the Faster CPython team.
18:15 I'm not entirely sure they are.
18:16 But I know that included, you know, Mike, some other folks.
18:20 It's not great, right?
18:22 I can't remember where I read it.
18:23 There's some conversations, but someone said, look, it's pretty short-sighted
18:27 to bet the company on AI as Microsoft is.
18:30 And at the same time, fire the team making the dominant language for that technology better.
18:36 You know, you got to maximize shareholder value, Brian.
18:39 But like, I don't know, 10 people or something.
18:42 How big of a deal is that on the scale of Microsoft?
18:44 Exactly.
18:45 So that's that.
18:46 And then also Brett Cannon says there were layoffs yesterday and three Python core devs from the FasterCPython team were caught in them.
18:53 If you know any jobs, please send them their way to help them keep going strong.
18:57 You know what I mean?
18:58 So I link to that as well.
19:00 These are some insane people.
19:02 You really can't find something else for these people to work on.
19:05 Yeah, exactly.
19:06 Exactly.
19:06 All right.
19:08 Back to better news.
19:09 So I just released, as in during this episode, push the go public button for something that was formerly known as Red Knot, but is now known as ty.
19:20 This is Astral's new type checker, equivalent of mypy.
19:23 But also maybe even more important than that is a runtime language server that handles very large code bases and is more lenient than PyLance and others.
19:33 Oh, interesting.
19:35 Another thing that's super interesting, the VS Code team, I don't think unreasonably, but I think they're starting to crack down on allowing a lot of these forks of VS Code access to some of the underlying infrastructure that are extensions.
19:50 right like for example pilance the runtime things and other tooling a lot of the extensions that
19:56 microsoft makes aren't available to say cursor or windsurf or the 150 000 other free ones so this
20:02 might be an even better high performance replacement of things like the language server for the vibe
20:08 coding platform as well anyway it's a super cool interview with carl carl meyer and charlie marsh
20:14 and people should check that out that's nice well so what's ty is that just because it's easy to
20:19 Type or is it?
20:21 Type?
20:21 I think it's for type.
20:22 Type.
20:23 Yeah.
20:23 I think of it as like, thank you.
20:25 Thank you.
20:26 Yeah.
20:26 We made a lot of jokes about that during the show.
20:30 Everyone says thank you to the astral folks for making it better every time they run it.
20:34 Yeah.
20:34 Yeah.
20:34 So that episode is literally hot off the presses.
20:36 Check it out.
20:37 Cool.
20:37 Can't wait.
20:38 And something I've been doing that's pretty fun, Brian, is I've been doing, I'm working
20:44 on making a bunch of shorts like TikToks and YouTube shorts and stuff from the Talk Python
20:50 So I'm going to play a 15-second video.
20:53 I think people are going to enjoy this.
20:54 This is not exactly the joke, but it's kind of like the joke.
20:56 Are you ready?
20:57 Yeah.
20:57 Yeah.
20:58 I guess if you use Postgres, you could just put it in a JSON field as well.
21:00 Something like that.
21:01 Oh, yeah.
21:01 They call that mullet schema, right?
21:04 It's business up front and partying back where the last column on the other table is a JSON field.
21:08 I've never heard that.
21:09 That's incredible.
21:10 It's like, yeah, we look real formal, but don't look back there.
21:15 Got it in the ponytail today.
21:17 Yeah.
21:17 Amazing.
21:18 Isn't that amazing?
21:19 Yeah.
21:19 So people should check out the channel.
21:22 Obviously, I'm doing some fun stuff there.
21:24 All right, that's it for my extras.
21:26 Maybe let me check.
21:27 Yes, that's it for my extras.
21:29 So I just got the joke left.
21:30 How about your extras?
21:31 Any?
21:31 Just a quick one.
21:32 I wanted to pull up a screen.
21:35 Let's see.
21:36 Picture of Munich.
21:37 I just wanted to mention the reason why we mentioned this at the beginning of the show,
21:41 but the reason why we didn't do it last week is I was in Munich, but I had a great time.
21:46 It was a work trip.
21:47 I was there to perform a talk or present a talk at an internal conference.
21:54 And the reason why I'm bringing this up is not just to humble brag that I was in Munich,
21:58 but yeah, it was fun.
22:00 Anyway, it was that I think it's just a really cool idea.
22:03 I was there for an internal company conference.
22:06 And I think this is an awesome idea just to allow, we didn't have everybody over there, but everybody could submit talks.
22:13 And if you got your talk accepted, you go, of course.
22:16 But it was like a two-day event with like three or four tracks.
22:23 And just like a normal conference.
22:24 We had talks and everything.
22:26 And it was great.
22:26 Everybody self-selected what they got to go through.
22:29 And what I really loved about this was it's difficult to get within a company all the people that care about something together.
22:38 And this allowed people to self-select into what they care about.
22:42 And so I had people coming up to me from different divisions that we would have never interacted with before.
22:48 Working on similar problems allow us to work together.
22:51 And I think it's definitely worthwhile for a company to actually reduce costs by spending a little to bring people together to talk about similar things.
22:59 Anyway, that's just my plug.
23:02 And then the other thing was flying back.
23:05 I couldn't sleep on the plane, so I had a ton of time to do something.
23:09 And I got started on a first draft for the second book I'd like to.
23:13 Ooh.
23:14 Right.
23:14 So.
23:15 I love it how just stepping away just a little bit.
23:17 Sometimes you'll be like, all right, that's it.
23:18 I'm working on this project or something.
23:19 It just gives you like that little bit of space from all the day to day.
23:23 That's cool.
23:24 Yeah.
23:24 Anyway, so it was good.
23:26 Great.
23:26 And if you look at that picture, just to the left of that castle church thing, I've had
23:31 a really nice beer brewery, Brau Haus evening one night over there in Munich.
23:36 It's a fun place.
23:37 Yeah.
23:39 Cool, cool. All right. Are we ready for jokes?
23:41 We are.
23:43 As a person who is known to be good with computers, sometimes you get dragged into tech support,
23:49 even though I don't know about you, I'm not especially good at tech support,
23:52 and I don't necessarily desire to make that skill better.
23:56 I present you the quick and handy manual on how to fix your computer.
24:00 You ready?
24:00 Yeah.
24:01 Let's see. I can't do any more than that.
24:02 Okay. So it gives you three options.
24:04 Do you have Windows? Do you have a Mac? Or do you have Linux?
24:08 So option one, it says Windows.
24:10 Step one, reboot.
24:11 Did that fix it?
24:13 No?
24:13 Well, then proceed to the next step.
24:15 All right.
24:15 Next step is format hard drive, reinstall Windows, lose all your files, quietly weep.
24:21 Okay.
24:22 Let's see if I can make this bigger.
24:23 There we go.
24:24 The Apple one.
24:26 Step one, take it to the Apple store.
24:29 Did that fix it?
24:30 No?
24:30 Proceeds to step two.
24:31 Step two is buy a new Mac, overdraw your account, quietly weep.
24:37 Okay, well, Linux is more DYI, so let's see about that one.
24:41 This is step one.
24:42 Learn to code in C.
24:44 Recompile the kernel.
24:45 Build your own microprocessor out of spare silicon you have laying around.
24:48 Recompile the kernel again.
24:50 Switch distros.
24:50 Recompile the kernel again, but this time using a CPU powered by refracted light from Saturn.
24:56 Grow a giant beard.
24:57 Blame Sun Microsystems.
24:59 Turn your bedroom into a server closet and spend 10 years falling asleep to the sound of worrying fans.
25:04 Switch distros again.
25:05 Abandon all hygiene.
25:06 Write a regular expression that would make other programmers cry blood.
25:10 Learn to code in Java.
25:12 Recompile a kernel again, but this time wearing your lucky socks.
25:15 Did that fix it?
25:16 No.
25:17 Proceed to step two.
25:18 Revert back using Windows or Mac and quietly weep.
25:22 What do you think?
25:23 Yeah, plus it's 10 years later, so the Macs are going to be zipping by then.
25:27 They definitely will.
25:29 Well, if anyone needs to do tech support for their family, I present the manual.
25:34 Step-by-step guide.
25:35 Step one and step two.
25:37 yeah yeah it's funny definitely all right well happy to have you back stateside even though you
25:42 had a good trip to germany and uh we'll see everyone next week huh good to be back thank you
25:47 Bye.



