Python Bytes - #408 python-preference only-managed 3.13t
Episode Date: November 4, 2024Topics covered in this episode: GitHub action security: zizmor Python is now the top language on GitHub Python 3.13, what didn't make the headlines PyCon US 2025 Extras Joke See the full show no...tes for this episode on the website at pythonbytes.fm/408
Transcript
Discussion (0)
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.
This is episode 408, recorded Monday, November 4th, 2024.
I'm Michael Kennedy.
And I'm Brian Ocken.
And this episode is brought to you by Scout APM.
You can get Python and Django application performance monitoring.
And Codium, a free AI code completion and chat tool.
That's pretty awesome.
So be sure to check them out.
We'll tell you more about both of them later.
Links are in the show notes.
You can connect with us on the socials.
Best place probably is Fostedon or Mastodon.
Sometimes people confuse this like, oh, you have to be on Fostedon.
No, anywhere in Mastodon, anywhere in that social network is totally fine.
Doesn't matter where you are.
We'd be happy to chat with you there.
You can sometimes find us on X, sometimes on LinkedIn, but you know, mask it on maybe. Watch the show live at pythonbytes.fm
slash live, be part of the audience. Usually Brian, usually at 10 a.m. on Mondays, Pacific time,
but not today, a little earlier. Finally, if you want a artisanal handcrafted digest of everything
that we talked about written by hand for you by Brian Ocken. Just join our
newsletter list. Go to By Them By Side FM, click on newsletter. We won't share your stuff. Just
for us to talk with you. And with that, Brian, I believe we are ready to kick it off. It's both
earlier and slightly less early than you expected. Yes. Right. It's 730 for our time in the morning,
but actually that's is that
8 30 i don't know like time is weird it's been warped uh yeah time's on hold right now until
the end of tomorrow but we'll see uh no but time change but not we're not going to talk about time
change we're going to talk about uh github action security so um i ran across um let's uh let's pop this up i ran across ned batch elders github
action security zismore um ziz mor so it's not ned's tool but he came across it so we'll talk
talk a little bit about um what it does so it is uh i'm gonna pop over it says it's a tool for finding security issues with GitHub action setups.
So what are we talking about here?
Really, there's, action workflows are something that I don't actually look at very often.
I update when I think I need to, but I haven't done a security audit of them.
So I think it's a decent idea to think about that. And, um, and this article from
Ned says he, he went through a lot of, um, a lot of projects and did find some issues. Um, so I
think he said he found some issues, but he has, he has, I mean, Ned supports a lot of projects.
So there was, there was a bit of work. So in his, um, in his article, he also includes a, a script that he wrote to go through all of
his repositories and to, to audits on them for their GitHub workflows. So what do you do? So
this, this is more tool. It's, it's not a pip install. It is, it is something you can do cargo
installer brew install, I think. Yeah. Or you can get it from source, but hopefully one of those will work for you to install it.
And then you just point it at your YAML,
your workflow YAML file so that it does an evaluation.
And then it does, it's looking,
this is still sort of in,
I think they said that it was in alpha or,
it says it's beta.
So it's in beta.
They're still working on it.
But there's some things that they're looking for, like abandoned projects and things like that.
So I think this is kind of a cool thing.
I don't really pay too much attention to.
I have to admit, I find another project, a Python Python project that's doing something similar that I want to do.
And I kind of copy what they're doing in their GitHub action workflow.
So, like something like this is pretty good.
There is an audit rules page, so you can see what kind of things it's looking for.
And there's not much here yet, but I think they'll add more.
So, anyway, that's a new tool.
Yeah, it looks great.
It looks very good.
I think we want to stick with GitHub here.
So I want to tell you about some pretty exciting news, but also not just exciting news, a pretty powerful look into the open source world.
So the headline here, I ran across this and got a few plus ones from listeners, including Pat Decker.
So thank you, Pat, for sending this in.
This is the Octoverse report, a.k.a. GitHub.
AI leads Python to the top language as the number of global developers surge.
So we previously said Python is the number one language, according to Stack Overflow questions, right?
This is Python is the number one language as of usage on GitHub, which is, I would say more meaningful, maybe. I don't know. What does
it mean that to be number one of a language? Is that lines of code? Is that numbers of repositories?
Is that numbers of users? There's many metrics that could be used, right? Yeah. I don't know.
Yeah. I don't know. This article is, you know, know, when I first saw it, I thought, oh, this would just be like a little headline or something.
This is a 25-minute read according to Pocket.
So this is a serious beast.
And so I want to jump over to Pocket.
And why am I using Pocket in Omnivore?
Well, hang in for the extras at the end.
So let's see a couple of things here.
So first of all, this is for GitHub. We have 518 million total projects on GitHub.
Wow.
With 25% year-over-year growth.
That's pretty crazy.
Over a billion contributions to public and open source projects.
It's not private ones.
I think something like 75% or 80% of contributions are to private repos.
But of the public and open source ones, that's a lot.
That's a lot.
And Python overtakes JavaScript as the number one language, which is pretty interesting.
So I highlighted a couple of things here because there's just too much here for me to
keep in my head. A rapidly growing number of developers worldwide, especially in Africa,
Latin America, and Asia. This suggests AI isn't just helping more people learn to write code or
build software faster. It's also attracting and helping more people become developers.
First-time open-source contributions continue to show
wide-scale interest in AI projects.
Importantly, we aren't seeing signs that AI has hurt open-source
with low-quality contributions.
Again, what metric, but interesting, right?
That is interesting, yeah.
And the headline, at least for us, is
Python is now the most used language on GitHubithub as a global open source as global open source activity continues to extend
beyond traditional software development i've long thought that that's the magic of python as it's
not just wow this is a cool front-end framework or wow this is a cool server language that many
people coming from other areas that are not traditional developers really dive into it, right?
Yeah.
So we saw Python emerge for the first time as the most used language.
The rise of Python usage correlates with large communities of people joining open source community from across the STEM world
rather than traditional community of software developers, right?
No big surprise there.
They also talk about where people are, where their developers are in the world.
There's three places that notably stand out.
And again, what is the metric here?
I wish they were a little more clear.
If you look at their heat map thing,
then that would be the United States by far,
closely behind would be India and then China.
And then after that, it tails off fast.
But is that divided by, is that per capita, right?
Like just maybe there's more people in china than or in india or america but if you look at this they've got some cool projections
into i think this is they have over time but they also have projections into the future kind of like
stack overflow trends did when they came out with their big article so that's pretty interesting
and you can sort of see where your place lands i think there's there's a lot of interesting things
here yeah projecting into the future they're projecting that india is going to take over the And you can sort of see where your place lands. I think there's a lot of interesting things here.
Yeah, projecting into the future.
They're projecting that India is going to take over the United States.
And the U.S. is going to fall to number two.
But also, Indonesia jumps up three places.
A lot of interesting stuff there.
Let's jump over and grab a few more of them.
Oh, no, go away thing.
This thing is so hard to navigate.
It's so big.
Okay, so there continues to be an increase in first-time contributors.
We saw 1.4 million new developers globally join the open source community.
And yeah, notably, we didn't see, again, this is one of their metrics.
That was actually, they called out.
Notably, we did not see a rise in rejected pull requests.
So anyway, there is a bunch to see here.
I think one more I'd like to hit on is the rise of Jupyter Notebooks.
If you look at their graph of Jupyter Notebooks on GitHub, it is the most Silicon Valley hockey stick dream you've ever seen, right?
There's a little glitch.
Something in 2020.
I don't know what happened in 2020.
Nobody remembers that anyway, but no, just kidding.
Other than the pandemic, like this thing is just blasting off.
So this is really interesting to see.
Yeah.
And yeah.
And AI is maybe following a similar thing just ever so slightly behind.
Anyway, this is a deep article that has lots of insights across many, many aspects.
So that's my big item of the week.
And I think people should check it out.
It's pretty interesting.
Yeah.
That's interesting. A comment from item of the week. And I think people should check it out. It's pretty interesting. Yeah, that's interesting.
Comment from Liz from the audience.
My brother's a front-end dev and started learning Python last week
because he's feeling the need to become full stack.
So job security stuff,
some of the JavaScript people are learning Python also, maybe.
Yeah, thanks for sharing, Liz.
Awesome.
Let me tell you real quick about Scout APM.
They're big supporters of Python Bytes, so we appreciate that very much.
So if you are tired of spending hours trying to find the root cause of issues impacting your performance, then you owe it to yourself to check out Scout APM.
They're a leading Python application performance monitoring tool, APM, that helps you identify and solve performance
abnormalities faster and easier. Scout APM ties bottlenecks such as memory leaks, slow database
queries, background jobs, and the dreaded N plus one queries that you can end up if you do lazy
loading in your ORM and then you say, oh no, why is it so slow? Why are you doing 200 database
queries for what should be one? So you can find out things like that. And it links it back directly to source code. So you can spend less time in the
debugger and healing logs and just finding the problems and moving on. And you'll love it because
it's built for developers by developers. It makes it easy to get set up. Seriously, you can do it in
less than four minutes. So that's awesome. And the best part is the pricing is straightforward.
You only pay for the data that you use with no hidden
overage fees or per seat pricing. And I just learned this, Brian, they also have, they provide
the pro version for free to all open source projects. So if you're an open source maintainer
and you want to have Scout APM for that project, just shoot them a message or something on their
pricing page about that. So you can start your free trial and get instant insights today.
Visit pythonbytes.fm slash scout.
The link is in your podcast player show notes as well.
And please use that link.
Don't just search for them because otherwise they don't think you came from
us and then they'd stop supporting the show.
So please use our link pythonbytes.fm slash scout.
Check them out.
It really supports the show.
Yeah.
I want to talk about Python 313 again. We talked about Python 3 out. It really supports the show. Yeah, I want to talk about Python 3.13 again.
We talked about Python 3.13 quite a bit on the show so far.
And we even talked about 14 last week.
But there's an article that I ran across from Bytecode saying,
Python 3.13, what didn't make the headlines?
And there's a few things I want to call out that I actually missed also.
So I'm glad that they wrote this up.
So there's,
we had a whole bunch of nice
new additions to the REPL.
So like multi-line code block
or multi-line code editing
and some colors and stuff.
But a lot of those have trickled down
to PDB now.
So I didn't really,
possibly I didn't notice this too much because I usually debug within
VS Code or PyCharm, but sometimes I do use PDB. I'm glad it's around. It's a nice Python. PDB is
the Python debugger if you're unfamiliar. But what did PDB get? It got multi-line editing,
which is cool. It got code completion, just like the REPL.
What's some other things?
Break accepts dotted paths.
I don't really know what that means.
So you can easily add breakpoints to any lib dynamically.
Oh, that makes sense.
Is it maybe like dot dot slash this or dot dot,
you know, kind of the relative imports?
Yeah, probably.
Anyway, mostly the first
two i'm really pretty excited about code completion and multi-line editing within pdb that's a great
uh great addition so um cool to have those those go into pdb as well um some uh and uh yeah what
else i want to highlight there's a few other things in here that i thought were pretty cool um there's um pathlib had some um a lot of uh performance optimizations which is great um uh because i love
i use pathlib all the time now so um if it's a little bit faster great awesome um i like that
and shutil shell util yeah yeah do you use shell? Yeah, a little bit. Not a ton. When I want it, it's like very welcome.
Yeah.
The SH Util or Shutil?
I never know how to pronounce that.
It's probably SH Util.
Anyway.
Yeah.
What did we say about that?
The Shutil module providing high-level file system operations such as recursive delete and copy has seen tweaks.
Many, many bugs were fixed and options were added.
You can choose how to handle sim links.
Oh, that's cool.
Ooh, yeah, I'm going to have to check that out.
That's great.
And then one of the things about virtual environments,
which I did not know, scroll to the end.
So I've been enjoying this with, I've been, when creating virtual environments with UV, V, Envy, it creates a little dot get ignore so that the entire thing gets, your virtual environment directory gets ignored.
But Python dash M, V, Envy does that now.
The built-in virtual environment tool. Nice. Adds that as well.
Speaking of that though,
this is kind of a tangent,
but I just learned,
I can't,
I can't,
I think I,
I can't remember where I learned it from somebody on,
on Mastodon.
I think it may have been Jeff triplet,
but I'm not sure.
Said that one of the things I've noticed when I use a virtual environment created by UV is that it doesn't install PIP.
So PIP's not there.
So you use UV PIP instead.
But you can have it install PIP.
You could just, oh, what is it?
You add a flag.
Dash dash seed, I believe it is.
Dash dash seed.
That's it.
I'm glad I didn't write it down.
So if you miss PIP from a UV virtual environment, add it with dash SC.
So anyway, cool.
I'm glad that this article, ooh, RE functions such as find all, split, search, and sub,
which perform short repeated matches can now be interpreted by the user.
Interrupted.
Ah, interrupted by user.
I read that wrong um so some of these
could go off um go off and and do things that uh that are evil and stop uh your your code and now
you can control c it that's good so these are there there's lots of great new things in python
313 i've just jumped in to start using it and i think it just works great so wow that's very cool
yeah i switched these in it as well anyway all right and python bites the website's running on it too by the way so oh nice
why wouldn't why wouldn't it yeah all right shall we talk conferences brian sure let's talk
conferences so i saw you had an extra on this but i had already pipped it for the main one
okay for double meaning there so pycon us 2025 is now officially announced in terms of specific details.
It's pretty cool.
I'm pretty excited.
It's back in Pittsburgh because it's year two of the two-year deal.
So if you went last year, same deal.
If you didn't, well, we had a lot of fun there.
So you can check it out.
There's many interesting things.
The website doesn't make it incredibly clear. Oh,
yeah, here, you scroll down far enough. Perfect. The breakdown. So if you go down here to the
breakdown, I think this is probably the first question people have. There's two questions I
imagine many people would have straight up here. First one is, when is it? Because it has a huge
span of eight days that the conference is, but it's not really those dates, depending on what
you want to do. For example, tutorials are May 14 and 15, 2025, but the main conference is 16 to 18. There's a good chance that you will
find me at the main conference. I plan on going unless something comes up with family commitments
or something I can't make, you know, but the plan right now for me is to go to the main conference
and that's pretty much it. But how about you? Do you think you might go this year?
I have a hair appointment on that day. No.
Well, I understand.
Your hair is pretty amazing these days. So it doesn't need a lot of attention.
It's pretty far out. I'm not sure. I'm still on the fence with it.
This one. So, yep. Okay. So that's question number one. When is it?
Question number two.
Call for proposals.
No, that's number three.
Number two is, do I have to wear a mask all day?
Are we going to like a different time? Are we going to like, hey, let's pretend the world isn't the way it is, but it is a different way?
No.
In fact, that's exactly the policy that I hoped it would be.
And I strongly encourage it just like the policy is masks are strongly encouraged, but not required.
Please respect people who choose to wear a mask.
Great.
If you don't want to, you don't have to.
Yeah, that's great.
That seems reasonable.
That seems congruent with the world right now.
I might go extreme and wear like a mask and flight goggles and a hat.
And say, put on like some ski gear,
put on some goggles and a helmet and-
Snorkel.
No, this is, yeah, snorkel.
Well, just bring your Apple Vision Pro,
put on your snorkel.
Yeah.
That'd be funny to put like a COVID mask on the top of the snorkel at the end.
Yeah, a little.
No, this is really good.
So they're taking lots of precautions, you know, as you hand sanitizing stations.
Conferences are full of germs regardless of COVID.
Please have these kinds of things, right?
And things like, hey, we have outdoor areas where eating will be available if anyone's listening and they're in
charge of this. I want to encourage you. Yes, chairs, please. Last time there was a roof area
with like a cover and it was beautiful. You could see over the river and there were these tall
tables, no chairs. And my back just hurt so much after carrying all the recording equipment on
my back for half a day i'm like i just gotta sit down somewhere there was literally not a single
chair like could there just be a chair so chairs please some chairs but other than that i think
this is great so at least one chair with a tag on it that says for michael yeah exactly please
reserved the dude's back hurts a lot just look at him he's whinging over there all right and then
somewhere in here there's call for proposals under speaking yes uh here's in a talk important deadline uh we have
just over a month but it's open now you can start yeah yeah so there it is yeah there it is so
awesome excited i'm excited oh i'm okay now i'll be there super excited i mean i think i'll see a
couple talks yeah see look at that. Look at that.
Very good.
Plus, the website is beautiful.
I like that.
It is.
It's got a good fun vibe.
And I know you previously maybe still do skateboarding.
Look at that guy just riding that rail there.
I mean, already you want to go, right?
They're probably going to have skateparks at the conference, I guess.
Yeah.
I would say why not.
I imagine.
Why not?
Oh, the snakes. A sweet half pipe, I guess. Yeah. I would see why not. I imagine. Why not? Oh, the snakes.
A sweet half pipe.
Yeah.
What is the snake riding?
Anyway.
It's sort of a skate.
I think it's a skateboard with beans on the bottom.
Or no, those are just shot.
I don't know.
Those are just good wheels.
Yeah.
Well, we're trying to put a lot of meaning into this.
No.
Anyway. Okay. Anyway.
Okay.
All right.
Well, before we get to our extras, let's quickly talk about Codium.
This portion of Python Bytes is brought to you by Codium, the AI tool of choice for professional software developers.
That's C-O-D-E-I-U-M.
Codium removes tedium from your development through a suite of state-of-the-art AI capabilities available with extensions in all of your favorite IDEs.
Use Codium in VS Code, the JetBrains IDEs including PyCharm, Visual Studio Proper, Eclipse, Xcode, NeoVim, Jupyter Notebooks, and more. fully enterprise ready with over a thousand paying enterprise customers, including multiple regulated fortune 500 companies in completely self-hosted air gap deployments. Join over a
million developers and use Codium for free forever. Once you see the value, then it's time to ask your
company to consider a free trial of the enterprise plan. To learn more about Codium and get started today for free. Visit pythonbytes.fm slash codium.
That is pythonbytes.fm slash C-O-D-E-I-U-M.
Don't forget the E.
Or just click the link in your podcast player's show notes.
Thank you to Codium for supporting Python Bytes.
How about extras?
How extra are you feeling?
I only got one extra.
And that is to say, this is from Jeff, um, saying, please publish and share more.
And, um, he, he did talk about this on Mastodon a little bit.
Um, the, the, the thought is that he sees a lot of great ideas on Mastodon and people
posting and the thought process and research and stuff that goes into publishing a couple
of those ideas and maybe their threads. Um, you're almost to a post just write like just write it up and i totally agree
there's um um if uh it's great to post on social media but why not just write it on a blog and then
uh do a snippet of it and link to it from mastodon or whatever social you're posting it on totally
agree and um encourage people to do that more.
And there's a little bit around it,
like talking about,
he says he uses Grammarly because of dyslexia,
which is, I didn't know that about Jeff.
That's pretty cool.
And I don't mean to plug Grammarly,
but it did help one of my kids get through college.
This episode is sponsored by Grammarly.
But if you don't want to pay for something,
he's also recommending something called Language Tool.
There's a link to it in his post.
Pretty cool.
But also, you don't really need to do that.
It's fine to just, I mean, we're all nerds here.
Write up something you learned,
post it on a blog,
and link to it in a Mastodon post or something.
Let us know about it.
And if there's something glaringly technical,
technical editors or technical errors,
one of your readers will let you know to fix it.
But it's to be nice.
It's not to be mean.
And I encourage that too.
I actually don't use any grammar checkers when I'm writing blog posts. I just put it. Anyway. posts, my longer posts at least, on something like Google Docs where you get grammar checking
and help and auto-complete and all that kind of stuff. And I've found if you just control A,
control C, and paste it into TypePora, it will markdownify everything. Like H2s become hash hash
things and all the links become bracket links and folds, all that kind of stuff. Really, really nice.
So if you want a little bit of support, but then you're also doing markdown that's a pretty sweet one paste it to where app for type or type aura to thank for it
what ipora is an amazing markdown editor yeah the poor is really good i usually just use vs code and
it does enough grammar and spelling checking for me did you know that type or you can save as an
epub file if you want okay that'shmm. Okay, that's pretty cool.
All sorts of good stuff in there.
You can write an e-book.
Exactly, exactly.
Anyway, that's pretty cool.
All right.
All right, I got a couple extras, but I'll go quick.
I just recently had Stephanie Mullen on to talk about pre-commit hooks.
I think I talked about that.
That was going to be on, and now it has happened.
Now I'm talking about it having happened.
The reason I bring that up is one of the things that I just ran across is pre-commit UV.
So this is pretty cool.
From the talks dev group uses UV to create virtual environments and installing packages
for pre-commit rather than regular ones.
So this is pretty cool.
So, you know, that's something that talks and knocks and friends all do a lot of, so pretty cool. People can check that out if they like. Why, why Brian,
was I using pocket? Did you see how much I had to struggle with that thing? That's because my
favorite read later thing is shutting down omnivore, shutting down, not because they went
out of business because they were awesome, but because they got bought and they decided it's too expensive to run text-based highlights i don't know
it doesn't seem that intense uh not profitable enough it's not and i mean get on it folks because
one of uh one of people who started using it because we recommended it is pointed this out to me.
Omnivore will support exports of your data into JSON.
Because what are you going to do with that?
Until November 30th.
And then after that time, we will be deleting all of your data.
So, yeah, have fun with that.
There's a lot of options.
Readwise has been recommended.
Pocket is an option.
Instapaper.
I found some really cool open source self-hosted ones. I'm i'm like no michael you don't need more things to babysit just log back into pocket
i i'm i've been using pocket i think that works for me um it's not it's not great but it works
um it's it's pretty good i didn't realize insta paper was still around i was using that back in
the day but yeah i know me too back in the day, but yeah, I know me too. Back in the day, it was a good one. All right. The, the, the voices though, and that's what they were required by.
They were required by this thing called 11 labs, which is all about creating, give it audio. And
I was pretty excited. I'm like, Oh, this might just make it even better. Uh, free text to speech
and voice generated. I'm like, okay, I could just download that and check it out. Right. But if you
look at the pricing, it's ridiculous. I mean, you get for five bucks a month,
you get 30 minutes of speech.
I mean, that's like ebook, audiobook prices,
but they don't generate the book.
They just speak it.
For $11, you get an hour and a half per month.
Okay.
If your only purpose is to read stuff in audio to somebody
and say like, you only get 30 minutes of it per month.
I don't know.
It's kind of weird, but.
And the jump between that and 99 bucks,
11 to $99, that's a big jump.
That's a month.
That's not a year.
To have it read you text off the internet.
That's pretty steep.
So I was kind of excited, but I'm like not excited.
So the text in the show notes is curse you, Omnivore.
Curse you.
Hey, I talked about moving to Hetzner and some of the U.S. data centers, and I played around with that.
And you know what?
Python buys a run on Hetzner right now.
Oh, nice.
And TalkPython and all the things.
Because of the whole new Docker cluster sort of portable across cloud thing that I did before, it was pretty easy to just try it out.
And I'm like, hey, this works really well. I'm going to try it because you get really nice new CPUs like AMD Epic CPUs and stuff along those lines, which is great.
And this is not a massive concern, but wow, are the prices good for this thing. So for example,
check this out. We could go to the US and you could get it in Hillsborough or Ashland. Ashland
unfortunately makes more sense for consumers, but I wanted to run it locally
because Hillsboro is just outside of Portland.
Anyway, Ashland, but totally reasonable to run it
for $13 a month or something or $20 a month.
Like, for example, they have a $25 a month,
eight CPU, 16 gig server with 20 terabytes of bandwidth.
That is a $250 AWS server and a $300 Azure server for 25 bucks.
So anyway, pretty interesting stuff.
25 euro, but that's, yeah.
Yeah, it's true.
Euro, sorry.
They're pretty close.
Yeah.
E-bucks.
Euro bucks.
Okay.
Also, we've talked previously about free-threaded Python over and over,
but there is now a pretty awesome new thing that you can do with UV.
I know we're talking a lot about UV these days,
but that's because it's making a big splash and it's really cool.
UV Python install, dash dash preference, only managed,
and 3.13T will create you either
install or create you a virtual environment on free threaded Python. How cool is that? Okay, we've been waiting for that, so that's cool.
Yeah, that's really neat. So probably the quickest, you know, you can see I ran an example.
I'm linking to a Masson screenshot I posted in 2.53 seconds
to install free-threaded Python. It's that close to. And that's, of course, why the
pre-commit hooks want to use this to install their things and so on.
Yeah, that's pretty neat. Also, remember, if you're going to try something like that,
you probably need to do a UV self-update first.
Yes, that's a very good point, Brian, because it doesn't check remotely.
It just knows what's burnt into the binary of UV.
And if you don't UV self-update, it will only possibly know the old ones.
So, yeah, that's always the place to start with UV, it seems.
Yeah, I just updated just the normal 313 the other day and it wouldn't work. Like why not?
And it was cause I needed to self update. Yeah. Good, good, good deal. All right. That wasn't
very funny, but I have something that we'll see if it's funny or not, but I have something for you.
You ready? Ready to close out with a joke? Yes. All right. So we have different kinds of chairs
in life. Did you know, Brian, like you can have one of the gaming chairs.
You can have, I have a slightly uncomfortable chair, so I don't move around away from my
mic and go like this and then like this and like sort of keeps me fixed, but it's not
that comfy.
But I would like to present to you two types of chairs that are in opposition to each other
or, uh, no, this is a synergy.
Let's call this a synergy.
You have a coding chair, which looks like an office chair.
And you have the debugging chair, which looks like a toilet.
Just two of the different types of chairs you may try to sit in.
Yeah. Actually, you know, if it's just the thought process is take your laptop to the bathroom, I don't recommend it.
I can't leave the bathroom. My bug is still out there no but if it's just get away
from the keyboard for a while i agree um yeah it's yeah i think the message here the the underlying
reality of the joke is that sometimes if you just step away it unlocks yeah unlocks problems i know
when i was doing this migration of all my setup i i couldn't get let's encrypt the work and that
was midnight or something stupid let's encrypt i went to sleep i was couldn't get let's encrypt the work and that was midnight or something stupid let's encrypt i went to sleep i'd be like docker let's encrypt combo of not working woke up
the next day i'm like oh yeah that'll do and i just typed in something different boom off it went
you know what i mean but i spent half an hour banging my head against it i so if this has been
this hasn't happened to me for very long but it's been happened to me lately is i'll be stuck on an
issue and then and then i wake up early and i think and i think about the one of the possible a possible
solution something i want to try in the code and i'm like oh what time is it i mean if it's like
just only like an hour before normal it's fine but often it's like one in the morning oh no i cannot
get up right now i will be exhausted in the morning so just have to jot it down and go back
to sleep yeah yeah anyway cool well great show as usual thanks thanks again michael yeah you bet
thank you for being here and thanks everyone for listening see y'all later bye