Python Bytes - #497 Faster than light profiling
Episode Date: September 23, 2026Topics covered in this episode: Tachyon: A sampling profiler ships in Python 3.15's stdlib Python Workers are now generally available on Cloudflare Flet 1.0 - build cross-platform apps in Python ma...rimo-book: Build static books from marimo notebooks Extras Joke Watch on YouTube Sponsored by Logfire from Pydantic: pythonbytes.fm/logfire Connect with the hosts Michael: Mastodon / BlueSky / X / LinkedIn Calvin: Mastodon / BlueSky / X / LinkedIn Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am 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. Michael #1: Tachyon: A sampling profiler ships in Python 3.15's stdlib Python 3.15 adds the profiling package per PEP 799: profiling.tracing (where cProfile moved) and profiling.sampling, the new sampler called Tachyon py-spy and Austin exist but copy raw interpreter bytes with no API, so every CPython release risks breaking them; one in the stdlib is a contract to stop breaking profilers Defaults: 1 kHz, main thread, wall clock, and a -live top-like view for poking at a slow server Output is flexible: pstats, -flamegraph, -diff-flamegraph against a baseline, -heatmap on source lines, -opcodes for specialized bytecode, -gecko for Firefox Profiler with GIL and GC markers Profiling modes: wall, cpu, gil (which function is starving my other threads?), and exception, plus -async-aware to see the task graph instead of just select(), -all-threads, and -subprocesses forking a profiler per child Near-zero overhead for production; guidance is 10-30 second windows on representative load, and free-threaded builds divide the rate by thread count Attach to a running PID, same minor version only; ptrace permissions are the main friction. A 3.14 backport already exists on GitHub Caveat: it only sees Python frames, so 90% in calculate() hides NumPy underneath. For native stacks there's Cronon from HRT, 200k samples/sec over DWARF, not yet open source Calvin #2: Python Workers are now generally available on Cloudflare Python Workers are out of beta - now GA, "first-class" language on Cloudflare's Developer Platform No more manual JS interop: bindings (queues, R2, D1, Durable Objects) now work natively in Python, e.g. self.env.QUEUE.send({...}) Runs on Pyodide (WASM-compiled Python), with real TCP socket support for DB connectivity Frameworks supported: FastAPI, Django, Flask; AI libs like OpenAI SDK, LangChain, MCP Underlying platform work formalized as PEP 783 (PyEmscripten), after a year of discussion Bottom line: write real Python on Cloudflare's edge, no JS glue code required Calvin #3: Flet 1.0 - build cross-platform apps in Python Flet hits 1.0 - build Flutter-backed apps from pure Python, no frontend experience needed One codebase targets six platforms: iOS, Android, Windows, macOS, Linux, web 150+ built-in UI controls, plus support for custom controls / wrapping Flutter packages Mobile now supports real Python packages: NumPy, pandas, Pillow, cryptography Comes with pytest-based UI testing and an MCP integration for AI coding assistants Milestone lands 4+ years after its first PyPI release (Sept 2022) - signals "production ready," not experimental Michael #4: marimo-book: Build static books from marimo notebooks marimo-book is a Jupyter-Book-style static site generator built specifically for marimo .py notebooks. It ships polished multi-page sites with Material for MkDocs theming, full-text search, dark mode, and code copy, plus a content-hashed incremental build cache that drops rebuilds from 100+ seconds to roughly 3 seconds on real books. Standout extras include anywidget rendering without a kernel, static reactivity for discrete sliders via pre-rendered lookup tables, an opt-in WASM/Pyodide mode per chapter, and per-chapter launch buttons. If you've wanted to publish a marimo notebook as a real book or course site without hosting a kernel, marimo-book gives you the static, searchable, fast-loading output you'd expect from Jupyter Book. Alpha (0.1.x), but in production: pin marimo-book>=0.1.5,<0.2; the book.yml schema is stable for v0.1, and dartbrains.org is a real-world user. Two-stage build by design: a marimo-aware preprocessor emits plain Markdown + inline HTML, then mkdocs (Material today, zensical tomorrow) renders it. Not a mkdocs plugin, so the shell stays swappable. Interactive widgets without a kernel: anywidget Canvas/Three.js/Plotly mounts render statically, and mo.ui.slider with explicit steps gets pre-computed as a static lookup table. WASM escape hatch per chapter: set mode: wasm and the chapter routes through marimo's MarimoIslandGenerator, shipping the marimo runtime + Pyodide bundle for full reactivity where you need it. Per-chapter launch buttons and extras: readers can jump to molab, GitHub, or a downloaded .py; optional [social], [linkcheck], and [pdf] extras cover OG cards, htmlproofer, and WeasyPrint PDF export. Sandboxed notebooks: the sandbox mode reads PEP 723 inline metadata and provisions per-notebook envs via uv for portable builds, at the cost of slower first runs. Extras Calvin: Great overview of a new feature in Python 3.15 - frozendict Michael: Microsoft Plugs Nearly 1,000 Security Holes in Windows I’ll be speaking at PyBay 2026 PyCon NL on October 15 in Utrecht Heading to Europe in October? PyCon NL is October 15th in Utrecht. One day, three tracks, about 350 people. It's an hour by train from Schiphol. There's also a session just for community organizers from groups like PyLadies, PyData, and Django. And the location fits. The Netherlands is where Python itself was born. Joke: You have homework (no really ;) ) Watch Interview with Big Data engineer in 2026 by Kai Lentit
Transcript
Discussion (0)
Hello and welcome to Python Bites where we deliver Python news and headlines directly to your earbuds.
This is episode 497 recorded September 22nd in 2020.
I'm Calvin Hendricks Parker.
And I'm Michael Kennedy.
Excellent, Michael.
Well, I think you get a little message here you want to give.
This episode is brought to you by Logfire from Pydantic.
Check them out at Pythonbytes.fm slash logfire.
They are super.
They're a great company, you know, Samuel and team.
I tend to expend a good community member, and this is a really great way to add observability to your app.
I will tell you more about that later.
Perfect.
Right now, connect us, Calvin.
Yeah, I will.
You should connect with Michael and I and the show.
We are over on Macedon, Blue Sky, X, and LinkedIn.
And make sure you can, if you want to check out and be part of the fun, we do live stream this at Pythonbites.
FM slash live.
We want to be part of the live studio audience.
Usually it's on Tuesdays at 7 a.m. Pacific, but we're doing a little later today.
older versions are available on the YouTube as well.
And finally, if you want the artisan handcrafted digest of every week's show notes, an email form,
join our Friends of the Show List, and we will send you that email, Pronto.
Speaking of Pronto, things that go fast, usually you want to profile things that make them go faster.
What do you got for us, Michael?
You absolutely do want to profile things to go fast.
I want to tell you about Techion.
Now, this is interesting on a couple of levels.
So this is Python 315's new profiler, okay?
What's interesting about it is it's built in the Python.
So previously we've had profile and C profile, and it still is a bit of a mystery to me while we have two.
And they weren't the easiest to use either.
No, they were not that obvious.
And what I'm going to tell you about with this Tachian thing is going to literally be a game changer.
The game shall be changed.
All right.
So the other ones, it was basically the same details.
but one was implemented in C and one was implemented in Python.
So you kind of think of them at the same.
But for the most part, they were tracing profilers.
A tracing profiler instruments every function call, every stack change,
all that kind of stuff to say,
now we're entering this function, now we're leaving this function,
now this function is now calling that function.
Now that function, we're leaving that function.
You know what I mean?
Like it's really invasive.
And that can dramatically slow down your code.
And what's frustrating is it slows it down in an uneven way.
like some functions that are very shatty,
you slow down a lot.
And one that calls something external
that's really equally slow
might barely slow down at all.
So it also skews your results.
So people use sampling profilers, all right?
And I don't think the other one did sampling.
Maybe it did.
I don't have not used it that way.
But we now have this thing called Tachyon
from Pablo Helgato and Laslo.
Sorry, Laszlo, I'm forgetting your last name.
They're on the PEP for, for,
putting this together. They worked on, I had them on the podcast on Talk Python last week.
I had a really awesome conversation about this thing called Takion. So this is unique in a couple
ways. It has its own logo. How many subsections of the Python standard library get their own logo?
I think none. I know. And they usually don't get a code name. Now Pablo and Laslo would like this to be
addressed, referred to as tackion, not profiling. sampling. But they've redone the module layout.
So there's profiling dot tracing, which is C profile renamed, and there's profiling.
Sampling, which is a statistical profiler.
And it leverages the new features available in 315 that allow profilers to hook in externally
into C Python, the runtime.
Now you might think, okay, so fine, it's a sampling profiler, not a tracing profiler, whatever,
no big deal.
Let me call your attention to the left here, Calvin.
Do you see this attach?
Ooh, yes.
This means I might have a project running
on a server in a Docker container, processing real results, suffering some kind of problem
that I cannot reproduce in dev or QA. I can SSH and then Docker exec over into there,
and I can say Python, dash-in profiling sampling attached to this PID, let it go for 30 seconds,
detach, and it will have generated a production-level profiling P-Stap file that I can
flame graph and I can look at and so on. That sounds scary, but you very useful. It sounds scary.
And what I said about the degradation of performance with the tracing one, it would be.
This, they say this has like a 2 to 3% overhead.
Oh, wow.
That's not bad at all.
Okay.
That's neat, right?
Yeah.
It's really neat.
Yes, you're also got.
This is a big deal.
I mean, Python 315 is such a big deal.
Python 315 is going to be a huge deal.
It's going to be such a big deal.
It's so good.
There's also run, which is the more standard, like, just run this and profile it.
This attach is not just production, though.
Here's something that drives me out of my mind when I'm trying to do profiling.
I want to profile how long this web request that takes.
So I profiles run the app.
I go over and I click on the endpoint a few times and then I shut it down.
99.9% of all the profiling stuff is loading the web framework, connecting the database, doing this, doing like all the junk that is not what you're interested in.
No.
So you could start your app and get it just ready to profile, attach it, do the thing and detach it.
And you lose a lot of that noise.
I think it's really neat.
So, yeah, there's a whole section on profiling in production and how that might go.
There's also different profiling modes, wall clock mode, CPU mode, Gil mode.
You can understand Gill contention specifically if you're trying to do threading.
CPU is, imagine there was no weights in the world.
If I wait on a database, that doesn't count because that's external.
I can't address that.
It's not part of my program.
So let's pretend that the stuff I'm waiting on doesn't exist.
That's the CPU mode.
Wall mode is like traditional.
And exceptions is just how much time are you spending, handling exceptions and errors.
I think there's a bunch of stuff here.
like it's the check out the docs i link to the little toc on the left it's ridiculous it's really yeah yeah
i mean for people if you get down to the point where you need to profile you know you've got a
serious performance problem because you don't take profiling typically lightly but this is going to
be a huge boost for folks who are like oh python's just too slow and can't do the things it might
actually be your code and if you use this tool you may find uh you you can actually fix a problem
and be just as fast without having to switch off python like that a lot's amazing yeah i think this is
really neat it's a big i think it's a bigger step
than it initially sounds like for Python.
Yeah, they got its own name and logo in the standard Python dogs.
I mean, that's significant.
That's kind of significant.
I unheard of, definitely unheard of.
I'm surprised there weren't more boats rocked when that kind of went down.
I know.
Well, Pablo's a force in nature.
He got it done.
I guess so.
I'm glad they worked on that.
Yeah, me too.
Well, hey, I've got a new, it's been a big week in releases for the Python world
in kind of other areas.
So the first one I wanted to cover was Cloudflare.
has released Python workers that are now, it's now generally available.
So for the last two years, I believe it is, that you could actually try out Python workers in the Cloudflare space.
So if you're not familiar, you can use compute on Cloudflare.
And so it puts your compute at the edge.
And it's been generally JavaScript or TypeScript native because it does, it's all WASM.
So it compiles it, runs it at the edge, and it's pretty limited too.
So one of the things you had to always worry about was RAM consideration.
size of the container. It was pretty, you know, cranked down as far as constraints go.
They just released the Python workers out of beta. So it's now generally available. So now a first
class language. And one of the big holdups from before was there's no more manual JavaScript
interrupt. If you were using one of the other Cloudflare services and you were using the beta
version of the Python workers, like for example, if you using R2, which is their object store,
if using D1, which is their like mini like SQL Lite like database,
If you're using durable objects for web sockets, you had to convert all those data structures over into JavaScript first from Python and then use those services, which pain in the butt. It's just extra hoops. You'd forget how to, you know, overhead going along with that as well. But now they're all natively available in Python. So you can now just do self.m.m.cue.Send if you want to use their durable objects queue system. It all just works out of the box. It's all running on pyodide. So it's WASM compiled Python.
with another big thing that wasn't available in the beta first was the ability for real TCP socket support so in the beta you could not connect to other databases so for example if you wanted to use I believe it's called hyperscale which is their MySQL postgres hosted versions of those things that was a no go couldn't couldn't do it now it has support for that it also has support for frameworks so it more now natively supports fast API jango flask a bunch of AI libs if you want to do like a lying chain
or build MCP servers.
It's pretty cool.
So I've got the docs open right here,
which is a, you know,
the Python worker docs are pretty,
pretty nice, pretty clear.
I've been building lots of little fun,
unique tools for myself
using Cloudflare workers,
which is very handy.
So for example,
I've replaced a lot of my usage of like Zapier or make.com
just with like a little one-off workers.
And now I can write them on Python
because I was having to do them in JavaScript before.
Nice.
Yeah.
Now,
don't get too excited when I say the Django is available on fast API,
or on the Cloudflare workers, you still have some limits.
Actually, I'll pull that up right here.
The limits are still real.
You have a memory limit for free and for paid of 128 megabytes of memory.
I can tell you from my experience using Fast API Cloud, pretty regularly going up close to 512,
sometimes over.
And so you have to have a pretty slim app to be able to run in that small memory footprint.
It's got to be really, really stateless and be able to handle that kind of a little bit.
memory usage. So deploying a full-blown Django app probably not going to happen inside of these
Cloudflare workers, but it's really not the intention or what you should be using them for. Think about them
as, again, kind of a Zapier drop-in replacement instead of using Zapier, use Cloudflare, because you can write
the code. You have more control. Now you've got TCP sockets so you can connect real databases. You can
use their, I actually use their durable objects in some of my projects. Super convenient. I mean,
just the convenience to having some of these pieces all geographically distributed automatically for you
is a huge win. But just yet to again be aware of all the limits. Like another thing is worker size.
You're limited to 64 megabytes of disk space that you basically have available to you. This has
improved dramatically though since last year. Earlier this spring or late last 2025, these limits used to
be considerably smaller like three megabytes and 10 megabytes were the limits up until very
very recently. So that's another big change that has happened. That's across all workers,
not just the Python workers, but that definitely helps the Python folks be able to get our code
encapsulated down into something small enough that can run in there. This is all been done because
the underlying platform was formalized as part of like PEP 783, the Pye and Scriptum. So after a year of
discussion, we now have generally available Python workers. I mean, I'm really excited about this because
now I can do real Python at the Cloudflore Edge with no JavaScript required at all.
I'm excited about this as well.
No, no, but playing in a space tangentially near it.
I've not done anything with edge workers.
It looks super interesting to me, but I just haven't found the use case for me.
So, no.
I've got tons of like event-driven, like any place where I'd want a cron job to go off and do something,
I may put it into a Cloudflare worker.
I use it for Cloudflare pages quite a bit to publish quick little microsites to show off to a customer or to a prospect,
prospect to convey something to them that we've worked on because I can put authentication.
You can use middleware in the pages to actually cause authentication to trigger.
It's sweet.
Pretty slick.
Yeah, one thing that I do find interesting is the Cloudflare D1, and this is closer to where I'm
talking, which is basically SQL Lite on the edge, but somehow it sinks.
Maybe with maybe light stream behaviors, I'm not entirely sure.
But it sounds very cool.
And I'm actually all here for SQL light these days.
I've been doing some interesting stuff.
My number one item next week will be something trying to think about how dramatic I want to be here.
How dramatic is something pretty amazing on SQL Light next week.
Not DuckDB?
No, no, DuckDB is an option.
This is more of a transactional thing that's more well-shaded with row-level behavior than with columns.
But if it was data science, then, yeah, sure.
See, this is anticipation.
We'll just have to wait until next week.
I'm not even.
I'm going to literally be sitting on the edge of my chair.
It's going to be hard.
It's worse than Christmas. Let me tell you, but we're going to do it.
We're going to do it.
Now, before we move on, though, I do want to tell you about our sponsor,
Pidentic Logfire.
They've been sponsored in the last couple episodes, and we really appreciate that.
What a cool forum.
So if you run Python apps in production, especially if these are AI, running AI models,
using AI models, not necessarily executing the models, but using something you're talking to,
then you want to check out Logfire.
So here's the story.
It's 2 a.m.
You know where your kids are?
No, that was a different.
Your AI agent has failed.
Was it the model, a tool call, the database?
Most observability tools can't tell you because they only see part of your stack.
Pidantic log virus sees all of it.
One trace across your agents, LLMs, APIs, and database.
Down to the infrastructure, whether it's services, Kubernetes, and on the hosts.
It's built on open telemetry with SDKs for Python, TypeScript, and Rust,
and it works with any OTel compatible language.
Every prompt, cost right next to your vector searches and API calls.
You query everything with Postgres compatible SQL.
And so your coding agent can as well, it can use the Logfire MCP server, which is excellent.
Stop guessing, read the trace, Pythanic Logfire.
AI is still just engineering.
So visit Pythonbytes.fm slash Logfire today and sign up.
Get 10 million records for free every month.
No credit card required.
You can even click on board with your coding agent.
I love it so much to copy the prompt that you give to Clodder Codex and just say,
user wants to do this, help them.
And you and I, we got this.
And then you'll just have it all set up for them.
That's a really cool way to onboard your projects these days.
So thanks to Pidana for supporting the show.
It's a good thing we know them.
And we would trust them.
Exactly.
It's very unlikely to have.
True.
Very unlikely.
All right.
Over to you.
All right.
Another announcement this week was that Flett has gone 1.0.
So if you've not checked it out, it is a Flutter-backed app written in pure Python with no front-end experience need at all.
So you can basically write.
a web app, a mobile app for iOS and Android, because Flutter is basically this cross-platform framework
that allows you to do all that. And you get, so I can run on MacOS, Linux, and the web. Cool. I've never actually
tried it until today. I went and built a little quick demo from a previous app I had built and added a web app
basically to it by saying use Flut, make a web app, and then launch it so I can play with it. And so you get one
one code base that can target many platforms that's more the promise from flutter promise from flet is you get
to do it all just with python and you don't have to do any java or cotlin or you know javascript front-end
pieces to it that's a that's a tall order there's been a couple of different projects over the years
that have attempted to do what this says but this gives you 150 plus built-in ui controls
plus support for some custom controls, all wrapping native Flutter packages.
The mobile version now supports real Python packages.
So you can run real.
Python packages that might include things like C or Rust dependencies.
So NumPi, Pandas, pillow, cryptography.
Those kinds of things can actually be used as part of FLET 1.0 now.
It has a MCP server that you can use as part of the documentation to give your agent
knowledge about how to build a FLET app, which is kind of nice.
And I think it also has skills built into the repo.
So if you have your agent set up correctly,
it can use the skills that come with Flut to build fancy apps very, very quickly.
So it has first released back in 2022.
This kind of 1.0 is signaling that we're production ready and not experimental.
So actually, if you look at the, they have a blog post released on it today,
flot.1.0 is out.
Or no, it's not today.
It's from the 15th.
So Flut 1O is out means it's production ready to go.
So has a CLI and a library.
So you install the library to be able to use it to build your app and flet.
You install the CLI so you can use things like the FLUT build, flat test, flat run, and away you go.
I also, here's like I built a little calendar.
So this is all using Python under the covers.
And it's a real web app.
You can see you're running on my framework here in the house.
Yeah, it looks good.
Yeah.
I mean, those are all, I did nothing other than port FLET and told my agent to wrap the CLI app.
This is all a CLI app I'd written to make a little calendar and told it to give it next next
some previous buttons. And I wrote no JavaScript is harmed in the creation of this quick little app.
No, semi-colons were dropped. No, definitely not. But I've definitely considered it. We've had some
success with Flutter projects in the past. I wasn't happy about the Flutter part, but now I could maybe
tolerate it a little better if I'm not having to deal with it because Flett deals with it for me.
I thought a lot about to write the Talk Python courses app in. And I ended up choosing Flutter
and this is Dart, not Flet. It's been great. It's been going for a couple years. I really like it.
It's performant. It feels native.
It feels native.
Yeah, I like that.
Yeah, I just built a new version.
Sorry, guy.
Yeah, I would say when people get really real about it, I think you want to do native versions, but I think you tell you the Intel then Flutter is a great option.
I mean, there's native and then there's native, you know, like how, how native does it have to be?
Like, right?
That's true.
That's true.
Right.
But still, this, I just pushed a new version to the App Store last week.
So, I don't know.
All the App Store review times are getting so bad with so many apps being submitted to them.
and I mean Apple can timely.
Yeah.
I don't mind the new apps.
It's just Apple especially, they just, they don't have the money to hire enough reviewers.
It's really unfortunate, those poor souls.
No, they just don't hire enough people.
It's really frustrating.
Like, my review took a week or something like that.
And like, that's not normal for an app that's already out there.
For one that's already published.
It's definitely not cool.
Yeah, yeah, exactly.
Anyway, the download for the Delta was three megs for the new version.
So it was really, really good.
All right.
So there's that.
And then also I had, um,
Theodore Fitzner, the guy behind Fleck on the show, not too long ago.
So people want to check that out.
But I want to talk about books.
I like books.
Marimo books.
So if you wanted to make a book, let's imagine you wanted to use not exactly Jupiter,
but you want to use Marimo, Merrimo, and then you wanted to generate a book from it.
This is pretty cool, actually.
So I like Marimo a lot.
I don't know.
You said you do as well.
I do too.
Yeah.
Yeah.
It's got a really nice UI, really nice feel on what it does.
So they brought the guy behind any widgets in now works at Merimo.
And so you can imagine there's a really good support in Marimo now for any widgets,
which is interchangeable ways to have widgets for Bruner and Marimo and others, I believe.
And you can have interactive sliders in your book.
You need to pre-render it or whatever.
Or if you want to do it online, you can add, here we go, here's our tie-in.
Right.
Wasam renderer per chapter.
So you can just publish this right up to Cloudflare.
Yeah, yeah.
you could just take this and say here's your here's your book and by the way this part has a
cool physics animation that i want to show you so online we have the wasm version with all the dynamic
aspect of it material for mk docs they mean i wonder if it'll take on sensical eventually but who knows
you know because that's kind of the successor martin and crew over there are working on that
launch buttons per chapter for launch on githubb or on mo lab which is the marimo online cloud
hosted lab for notebooks, incremental build cache, so stuff goes nice and speedy, and goes straight
to GitHub pages. What do you think? This looks really cool. Yeah, it does. Yeah, bundle onto Merrimo.
I love it. This is from LJ. Cheng, not from the Morimo team. So it's not, it's, it's an emerging
project. But it looks neat to me. And so I thought I'd go ahead and shine a bit of a light on it,
nonetheless. I just love the idea of this being maybe the future of education where you have a book
that is fully interactive and the code works and it's published online and it works with the whole
sandbox and everything. That's just that's what's needed. I love it. That's really cool. Absolutely.
Michael, do you have any, I got one extra for us for this to go around. Run with it. Yeah. If you have not
checked out Python 315 has a new data type in it called Frozen Dict. So I wanted to just highlight this
link over to the real Python site on their overview of it. They did a nice overview. What's nice
about frozen dicts is that they are immutable. And they basically line up to their list and set
counterparts that have been around for years. Also means you can use a frozen dict as a key
in a regular dict because it is hashable. Oh, interesting. Yes. I would have never thought of
using a dictionary. It already blows my mind. You can use a tuple as a key and for sodium and stuff.
because it's immutable. But yeah, so that was just a quick little one I wanted to throw in there
because I think given the excitement that's now brewing around 315, I can't wait.
Yeah, same here. And yeah, I'm just another reason to be excited about 315, which, by the way,
my calendar exactly pulled up, but I believe that is next week.
October 1st is when that comes out per schedule. So that's great. All right, now I have a couple.
Yeah, exactly. A couple of things just to enter, better noteworthy here. I thought maybe worth chatting about a bit.
One, we went back 10 years and there was an update from Microsoft for Windows or something like that.
There'd be but what, 20 patches?
Yeah, maybe.
Maybe.
This year is on track to have just more patches.
No many more.
I think last month.
Last month was a record setting month with 500 security patches for Windows.
This year is a thousand.
Sorry, this month is a thousand.
That's two X the max of last month, which was an all-time record.
This is a serious endorsement, I guess, of using AI to find and solve security problems.
Microsoft has this MDASH program, which is kind of like their own way.
We're going to build our own glass wing.
Thank you very much sort of thing.
So, I don't know, I think this is just noteworthy.
And if you also look at the Golden Gate, Mac OS 27, there was just a wall of little tiny,
this is faster, this has improved, that's better things that kind of mirrored a similar thing.
So I think, you know, people ask, where is the explosion of software?
if actually have increased productivity with AI.
Well, tech debt.
Yeah, exactly.
We're still digging the hole,
digging out of the holes.
Anyway, I just wanted to throw this out here.
Not to bash on Microsoft.
This is actually a good thing.
No, I think it's a good thing.
I worry though still that for everyone,
they patched how many more to recreate along the way?
Hopefully less than they're being very,
they obviously are cognizant of that problem.
Yeah, there was a problem they introduced with Excel.
I think they broke copy and paste.
If they quickly fixed it, but there's not a new security problem, right?
I mean, if you freeze the software, it's been around for 30 years.
There's a finite set of problems, and the faster we can plow through them, the better generally.
As long as the attackers don't outrun the white hats.
Anyway, okay, so on to the next.
The next thing is I, in speaking of beginning of October, on October 3rd, I will be speaking at, right here I am.
Who is this character?
I will be speaking at Pride.
I recognize all those folks.
Yes, I don't know as well.
We'll go back to the list a second, but I'm basically doing a updated.
newer version based on my book, Talk Python and Production.
So how can you pick a simpler view of running and hosting your apps and not spend a ton of
money, have it simple enough that one person can run it.
And they're very much part-time efforts.
And yeah, still get a good outcome.
So that's what the talk is about.
I'm excited about that.
And we also have, let's see, Pamela Fox is going to be there.
Awesome.
Brian.
People may know him from the show.
I'm not sure.
Maybe.
Maybe.
So anyway, I hope to see.
see you all there for some of you. And I also want to give a quick shout out to PyCon
Netherlands. So this was sent over by Gareth together and just wanted me to give a quick bit of
background for people. So if you're headed to Europe in October, the good stuff is happening in
October 15th in Utrecht. So you can check it out. It's one day, three tracks, about 350 people,
and it's an hour by train from Shifold. There's a session for just for community organizers from groups like
Pi ladies, PiData, and Django. And yeah, this is a good, good place because this is where
Python was born in the Netherlands. So go back to its roots. Sometimes it only makes sense if you're
Dutch. That's right. Well, I'll tell you what makes sense. You got to be German for this to make
sense. Oh, okay. Yeah. You got a joke for me? I have homework. I have homework for you.
And I know that you've done your homework because you are a good student. You are a good student.
So this comes to us from Kailantit, otherwise known as programmers are human. And oh my gosh,
has he been killing it lately?
So this is actually one of two things I want to recommend to people,
and I'm not going to spoil it.
We're going to come back to it.
But there's a little hint right down here.
The bottom right, there's another video that I think is even better than this,
but this is what the one I grabbed for the show,
called Interview with a Big Data Engineer in 2026.
I love to have the intentional, like, gaps of, like, wording and stuff.
So this is a video, but how long is it?
It's eight minutes.
You should all go watch it.
It's very funny.
you will spend on YouTube.
There's some great one-liners and some serious gold embedded into this video.
Like, eventual consistency is hard.
So we went with immediately inaccurate.
One of my favorites from that video.
Yeah, and 70% of the records are accurate.
That's better than a weather forecast.
And Kai is just, God, he is good at these jokes, but he's really, really informed in just like the broader space of programming.
It sounds so real because many of us have experienced these things.
Yeah, yeah, it really is good.
And he has another good little section here.
Salary, Job Security, Holidays, Pick 2.
High salary, jobs, you can have any two of those you want.
Anyway, yeah, it's just like, I'm just clicking around every little place I click on this video.
I'm sure.
Yeah, that part was awesome.
So check it out.
This is my joke.
It's not a direct joke, it's homework, but trust me, you will enjoy it.
Click the link. It'll be worth it.
Yeah, well, and we'll come back to more stuff from Kai later.
All right, Michael.
Well, thank you so much again for this week's edition, and we will see you all next week.
You bet.
Goodbye.
