Transcript: Inverting the Testing Pyramid - Brian Okken
This episode is brought to you by Six Feet Up, the Python Django and AI experts who solve hard software problems.
Whether it's scaling an application, deriving insights from data, or getting results from AI, Six Feet Up helps you move forward faster.
See what's possible at sixfeetup.com.
Hi, welcome to another episode of Django Chat.
I'm Will Vincent, joined by Carlton Gibson.
Hey Carlton.
Hello, Will.
Hello.
And we're very pleased to have Brian Aachen back on the show.
Welcome, Brian.
Hey, welcome back.
I mean, welcome.
I'm glad to be back.
No, no, no, you host Brian.
That's really well.
Yeah.
So for those who don't know, Brian hosts two different pod uh podcasts and books, courses, we're going to get into all of it.
But I'm really excited to lean on you, Brian, to find out about the broader Python ecosystem.
So maybe I'll lead with that.
An open-ended question.
What do you see in 2026 in Python?
Again, you sit much broader perch than we do.
Okay, well, there's it's probably not going to be surprises.
So um I uh we in 2024 we got UV came out, and I can't believe it's only been that long.
It's it just seems like that's the world now.
Um, and uh probably you guys, but uh definitely Michael and I and a lot of early adopters grabbed a hold of it.
Like I probably I not right away.
I I played with it right away, but um using UV even professionally, like in a corporate setting, uh, probably the start of 2025, but by the end of 2025, I'm I'm seeing like my whole company is like interested in it.
So um I do see uh I think I see see more corporations just uh and and corporate settings using the UV tooling because it just makes sense.
Um you don't know Carlton that well then.
Well, tell us about the corporate setting because I don't work in what I would call a corporate setting, so it's important to prefix any discussion of my my choices with that.
But Brian, what you tell us about your day job.
Well, okay, so uh day job I'm uh well that actually changed over the last year, but it's fun now.
Uh it's always been fun.
But I I work for good, good, good, good recovery there.
Um I work for a rodent schwartz.
It's a um uh test and measurement um well they do a lot of stuff, but I'm in the test and measurement side.
And uh so that's like electronic test equipment.
And uh most of my career has been in cellular and uh and wireless and Wi-Fi test equipment.
Um and uh these are these are fun boxes, but they're very complex instruments.
And the uh what am I going at?
Oh, um a lot of the tooling around it, we don't there's I don't think there's I think there might be some Python inside some of the boxes, but not the ones that I know of that I work with.
Uh but we do a lot, like we do the testing with Python, we do and a lot of the the utilities and all the day-to-day stuff.
A lot of there's a lot of stuff that needs done and we use Python.
And there's um there um and be because of that, the the we try to, you know, maintain best practices and uh try to not jump on too many bandwagons, like because it we could be changing directions too quickly.
Um but um UV just seems like a direction there.
And because of this, the time savings.
I mean, savings saving time is faster.
But I I also see that like actually the corporate pickup of new stuff is happening faster than like say five, ten years ago.
Um it used to take it took used to take like a year or two or more, you know, or even cut a few years for like best practices to really meet reach corporations because they kind of move slower.
Um, but um, but I'm seeing that rapid uh that uptick go quicker.
So anyhow.
Have you got a little pet theory as to what caused that?
Is there a what what's changed in the world such that corporations are able to move faster?
I think Python Bytes brings a lot of uh good, good.
I like it.
Um I actually
A lot of credibility or information?
Uh I think a little of both.
I think it's um a common um credibility and information, but also I actually you know, it's as awful as it is, I think AI is bringing a lot uh because uh, you know, there's there's a lot of people that like to just do their job and don't they they use what they learned in college or something and and don't don't pick up a lot of new stuff.
Um, but um uh and there's you know I was always reading blog posts and listening to podcasts and stuff, but some people don't do that.
And so the people that just sort of now they're they're asking chat bots and the chat bots are paying attention to stuff.
So um, you know, the the the the fear I get though is there's less and less of us blogging about it because there's no money in it anymore.
So uh um um yeah, I I don't know where the new information is gonna come from.
So it's gonna come from the slop output, so they'll be they they'll be feeding themselves.
Well now I feel now I feel like you're tempting me because I've I've been on a little bit of a bugaboo about model collapse.
Or are you familiar with that term and the academic papers around that?
I can guess.
Um I
mean, yeah, basically you you train on AI slop and it just degrades and becomes, you know, the variance shrinks so much.
Um so there was an Oxford paper uh 2024 showing both uh training it and the maths behind it that in the absence of other things, um the models get worse over time.
So then there's the argument of okay, so we know that's the case.
Maybe somehow the training gets better, maybe synthetic data is better than we think it is.
Maybe at scale those things don't apply.
I mean, nobody knows, but I I'm in exactly in the same boat, right?
Like I could plug in things and the LM will spit out something I wrote or you wrote if we prompt it correctly, but like the search is dead, the business model's dead.
I don't feel any imperative to create that content, nor do many other people.
So how can they how can they auto-complete the next word when they're training on worse and worse data?
I don't know.
Maybe we go back to books.
I don't know.
Um uh
well the books, I mean, don't get me started on book.
Oh, you know, like Amazon, like some big percentage of it is just AI generated stuff there too.
So I mean I I half wonder if the snapshot of like mid-2022 internet is like this canonical uh corpus, and then we like fill in recent things, but we rely on that corpus of largely human content for the variants that we need.
I just I I think I just I have to be positive and I I I have optimism in the creativity of people, and we'll come up with ways to spread creative people's ideas regardless of the uh the global averager that is AI.
Um Well,
I I like um our previous guest, um Farhan, who's who's younger, was we're talking about AI usage, and he was mentioning how for him and uh he was making the distinction between people who love computer science and love to learn with AI are just super powered, but people who got a CS degree, you know, more for economic reasons or less for the love are less inspired to use AI and to keep up.
But you you just said maybe something of the opposite.
Maybe it's actually easier for people who aren't quite as in love with it to AI.
If you didn't love coding, why would you get a CS degree?
I just money.
Well uh I don't buy it.
You might you might fall out with uh of love with it during the course of getting the CS degree.
Maybe like three, four years ago, it was like, hey, you want six figures and you don't want to be a doctor?
Like coding's the only game in town.
Okay, mobile.
Maybe it's okay to get rid of those people.
Uh but uh but I think that there's I mean, there's just get you gotta find your passion somewhere.
I don't know.
I I I I couldn't work a job where I didn't enjoy it.
Um I really enjoy what I do.
So uh I don't know.
Uh but the and I think that like I'm writing a book, right?
We're gonna talk about that later, but I'm not doing it to get money because like that's that's like what I could if I wanted a few extra dollars, I could just go work at McDonald's up the street for a side job, I guess.
That'd be uh more cost effective than uh than writing a book right now.
Uh but but I'm gonna do it anyway.
But anyway, uh I don't need to transition into that anymore.
But the one thing I do while we're talking about AI, I want to say I think that um one of the neat things is that uh people code is using AI code assistance can go back to some of the old school good processes of come up with some ideas, generate a plan for how we're gonna do that, generate a few designs, um, look at alternative solutions.
Um, should we use that database or a different database?
Should we use that front end or a different front end?
Um, come up, bounce around those ideas and what are the trade-offs and why, and then uh iteratively build it up and put in some uh top level API level testing for the system and uh build it up.
That's what we thought good practices were, but it was too expensive.
So a lot of um, a lot of you know scrum houses and stuff and and and agile sl it was agile slop that was churning out garbage.
And I I think it's cool that we can maybe do the old school good practices, but we can do it faster.
It doesn't take months anymore, it takes days or weeks to go through that whole cycle.
So this this for me is definitely one of the the things that have come out of the the new LMs and that is people are now actually keen to write the specs that you've been asking them to write for you know so oh can we have feature X or what do you mean by feature out so how dare you ask me let's just implement it was the sort of attitude before.
Whereas now it's like no I will I will write it out not because I'm going to implement it because I'm going to feed it to a machine but at least it's like yes the explain what you're after before you touch to the keyboard.
That's progress.
Exactly but since it was so cheap to build the spec um we're not tied to it in the in the past one of the big mistakes was the spec was golden and we can't touch it.
And um and now we can go oh well we're like 10 days into it and it sort of seems like a dumb idea now.
Let's change direction.
And and we didn't do that before.
We would just be like well we spent like two months rewriting this thing we're gonna have to build it now.
And I think that I think that the the we're actually getting the agile part the agility part of agile I guess maybe okay interesting anyway optimistic good good good good good and I'm having fun still uh yeah I I you know what uh that's sounds smug though uh as one of the what uh people working software that still has a job um I I think that I think I'm still having fun that's good
Well we are I mean it's why we do this like I think step back from the like uncertainty like it's a really interesting time right like with all the AI stuff and it's nice to kind of know a little bit what a little bit about what you're doing and then see how AI fits in for work and I don't know for me like I work at an IDE company we're still sorting it out.
I see lots I mean it's it's more interesting than even I thought it would be without AI.
More more tumultuous but more interesting.
Now one of the things I just um and I actually heard this from a a video clip from Ben Affleck um and I don't have a link.
I just saw it on social media somewhere who's talking about AI um and having it be an averager like it it turns out garbage but it's average garbage.
Average is fine for me because I'm yeah that's a classic level.
Yeah um so if I can have the AI bot generate average that's way better than I can do by myself.
So um for skills that I don't have I'm gonna lean on it uh and uh and maybe that's okay um yeah uh and it's especially for projects that don't have a budget to hire experts in every field why not um so I don't know where I was going with that but
it's just a general AI rambling that we have each week now.
Yeah um but let's yeah okay one little more thing is we talked about the podcast a little bit um I started blogging about code and podcasting and writing not because I wanted to I mean the a little extra money is nice but that is what um I was burning out in CS and and in coding and that involvement in the community is what turned it around and I and I still do it not
because I'm still making money I'm doing it because it's keeping me from burning out so that's keeps
keeps a connection no it can be quite isolated just sat at home behind your computer or sat at work at your computer.
Exactly and also I'm passionate about crap and a lot of the people I work with are not and that is if you're in a setting where you really think you really want to love what you're doing but you're not working with anybody that has any sort of uh like uh heated feelings about it then you gotta find the people that do so that you can talk with them.
So anyway
definitely well let's um we we talked about books can we talk about lean test driven development?
Yeah um so the the book project I'm working on is uh lean TDD and it is uh um actually inspired by a lot of the AI stuff um there's I'm gonna probably throw in some A on the I in there there's no mention of AI in it right now but I've I've got the first draft done so lean test driven development I was way back in the early 2000s uh a few books really helped me out um uh pragmatic programmer uh and then there was a book called uh lean software
development and um and that was that was great those two those two books are great um especially for lean uh the lean software development especially like the first actually the introduction the introduction is all you need to read it but like the rest of it no
I mean it's a lean it's a lean book right yeah
it no it's pretty beefy but that's the sort of the thing in the book industry is like oh your idea is only like 40 pages no you're gonna have to make it bigger um and they put there's a bunch of stuff in the back that I don't may
be it works for some people maybe it doesn't and and to be fair they said that they said the principles are what you need to know the practices that we're gonna fill out the last two thirds of the book are our interpretation of how you could fulfill the principles.
So fair enough um and I like those but I wanted to take that so one of one of the things that Lean gives you is an idea of how to analyze processes for waste and waste being anything that doesn't directly add value to your customer not waste is in garbage but waste is in like like tests I think all tests are waste which is gonna tick a lot of people off but that's true.
Does a customer really care how how you're testing I don't know um but think of it as like what if you doubled it if I doubled the number of tests it's if the the product's already perfect and I spent ten thousand dollars more on testing do you want me to?
And they're like no it it's already good.
So uh incremental value sort of a thing um whereas like an extra feature value uh an extra test if it doesn't test anything I care about not value so anyway
I'm I'm chafing at the bit there Brian I'm chafing at the bit because like uh if I buy um you know I buy a product and two products they look identical on the shelf but one has come from a a a a reputable fact fabrica for reptile factory who's got quality control and all those things it's g
onna be more reliable it's gonna be it's gonna last longer it's gonna be something I can put my trust in and rely on whereas the thing that was put together in a sloppy manner is probably gonna break within you know a small period of time and it'll better break at a crucial moment and software testing's that kind of quality control right it improves it gives you a better product in that sense so I as a customer might
you know yes those things those qualities that you said that that it's gonna it's not gonna break um the things that you advertise it's doing it's actu
ally gonna do those things that's the actual value how we get there is we put in place testing um um so I guess what I'm saying is like the uh uh we used to say it's cheaper just to have people manually test stuff than to automate it.
Now the cycles are so fast that we can't rely on that because I want to be able to change a feature and ship it today.
So we have to have automated tests.
But it isn't the automated test that's the value it's the the the value that those tests create I guess.
It let's like management activities like that's one of the things that Lean Software Development throws in there and I think it's hilarious um is all management activities waste.
It's like the benefits of the world unite.
I was a manager for 10 years and um and I got I mean there's a lot of activity that we do that is just dumb but that's not what it's talking about.
It's talking about that there's there's essential work that you have to be done.
I guess think about it in a silly example I'm gonna cut circles out of a piece of paper.
If I slow down and and like do the circles really close together I can reduce the number of wasted paper so I can get the most circles out of a piece of paper.
But I have to slow down to do it.
So is it worth it?
You have to do trade-offs do it do I slow down or do I speed up and it there's there's either wasted time or wasted paper and you have to do those trade-offs and that's where testing and a lot of other stuff comes in
almost everything right as well
yeah there's trade-offs everywhere so um really what I did is I'm using all those lean principles and focusing on the test driven development process and looking at where the value comes from and I think the real value in a lot of automated tests are in
the customer facing tests.
The does this feature actually do what I want it to do those are valuable tests.
So those are the ones we keep the unit test does it do the thing that the developer wanted it to do uh only if the customer cares about it.
If it's just that a a developer thinks that a unit should do this because you they're gonna reuse the the something on a new product less valuable um those sorts of things.
So but
still value right I got to push back slightly right because there's also the value to the developer right like I don't feel comfortable hopping into a new code base with no tests.
Right.
And I'm sure you you talked about this right there's some like what but I we can't have infinite tests but like I want to have some tests even if the customer never sees them just so I can move faster without breaking stuff inadvertently all the time.
Oh I I mean I that's what I I mean I spend my day half more or more than half my day writing tests.
Um so I I do find the value in tests but it's the higher level ones.
I think um the API level tests and the component level tests are way more valuable than uh do my getters and setters work for instance.
Uh I think you've seen a lot of time spent on unit tests.
Like that's what I'm picking up which is fair right like maybe wasted time.
I I think I'm I'm I'm leak I'm swinging the other direction because the test pyramid did so much damage.
Um and it and because the test pyramid said gave the unit developers the permission to focus on unit tests and the rest of the pyramid is somebody else's problem.
Right.
And and there is and in most companies there's nobody else to take the rest of the problem.
There's no dedicated QA team anymore.
Uh there's who's gonna write the component tests it's it's a bunch of people building trying to build houses with very thoroughly tested nails and pieces of wood and nobody to make sure that the house is to spec.
And that's just the truth of it.
And that's where we see like we still see a lot of people um focusing too much on does my little widget work?
And I'm not and I and and there's there's I write a lot of unit tests too but it's focused ones of like this algorithmic bit that's confusing let's throw tests around it to make sure that it it always works the way we think it does.
Or if we're gonna throw a corner case in because we need it or there's a bug fix put a test around it so that nobody looks at it and goes oh there's a weird algorithmic our algorithmic bit in the middle here that that it'd be a lot faster if we took that out but if there's a reason for it there throw a test around it so that it doesn't break later.
This portion of Django chat is brought to you by Six Feet Up what's stopping you?
Maybe it's an application that won't scale or an AI initiative that just isn't delivering but that's where Six Feet Up comes in.
With deep expertise in Python Django and AI they solve hard software problems modernize platforms and get teams to market faster.
Their impact speaks for itself automating healthcare pipelines for hospitals helping NASA explore Pluto building severe weather prediction tools and applying AI to connect farmers with vital crop data.
When the stakes are high and the problems are hard six feet up is the partner that delivers see what's possible at six feet up is the partner that delivers
I I use um unit tests as kind of um scaffolding for while I'm developing code quite often so you know I'll know I'll I'll have a rough idea of what I need to build and I'll have broken it down into logical steps and I need a test for step one and okay I've got step ones passing I've got step built one built and that test remains useful while I'm building step two and step three and step four all the way to the
end.
But kind of once I've built the feature and I've got a test around the whole feature like an integration test around the whole feature it's questionable whether I need to maintain those unit tests or and sometimes they can become a barrier because later on you want to come back and refactor the that that implementation and you're kind of scared to because you've got all these tests that you're gonna throw in away it's hang on but they were just there for scaffolding while I was building it.
They're not really they're not adding the value as you say.
Well that's where the big the the rule of thumb is keep tests that test behavior throw away tests that test implementation.
Yeah pretty um because the scaffolding around your implementation doesn't help you if you try to take um so that like the a lot of the the the thing with test driven development was red green refactor but is the unit test again in the way of refactoring yeah um exactly so if a unit test if the behavior stays working and your unit test breaks then it's the pro the problem is you've got a unit test that shouldn't be there.
So that and there's I've seen too many projects not change things because they don't want to change a bunch of unit tests.
And that's
exactly or we can't change that the tests will break right yeah no no no no no no no yeah okay good the so I've got what so let's tie back to the AI question because I think test driven development sort of almost comes back into its own if you've got a you know a clawed code or a copilot CLI or a Gemini CLI or whatever your your favorite one is.
Yeah.
Because you need so the you need the agent that's doing its thing to have some way of knowing if it's if it's successful and without tests.
Exactly.
It's gonna eyeball it and the last thing you want to trust is an LLM
eyeballing it.
So what are you so you want tests that you're actually willing to review.
So just like you you'd have it like maybe you'd work with Claude to uh come up with your your uh your design plan you'd review it to make sure that you agree with it what what it's gonna do before you build it.
Same with your tests if you're not willing to review the tests then you shouldn't have the AI build it um whereas um and I think at the high level API level tests is is where we I'm I'm willing to review those tests to make sure that the product I'm building actually does the thing I want it to but if it's got some weird funky implementation down at the bottom I'm not gonna review the unit test for that um so uh I wouldn't even know what to review
and that's that's the that's the hard part as well even with people like not just not just AI stuff but people if you're if you're how do you review somebody else's unit tests um whereas you can review the API level test pretty easy you can go oh yeah that's testing the behavior of our system uh whereas lower level component lower level stuff is harder to review somebody else's project I
guess and re reading code reading tests so that you understand them so that you can give them a proper re
view.
That's hard work right that it's the first thing to acknowledge is this is not going to be easy.
You're not gonna get you're not gonna glance at the tests suddenly understand them and be able to say whether they work or not.
You've got to go through them
I mean well like you should you should try to get if you eve you should write readable tests and if you're gonna have somebody else or some other bot write it they need to be readable tests.
Yeah okay
I I think that's a nice thing to um aim for certainly
that that ties back to the first question of the what I do from a uh job right now uh I'm in a role to try to make sure all of the system level tests are at a highly readable level so that everybody in the project can read them.
So that's super
did I I feel like when I asked I started off asking about Python ecosystem in 2024 you mentioned UV did we talk about 2025 and 2026?
Do we get those in or did you have other things you wanted to mention there?
Just I think I think we're gonna see the the bigger shift of just more people everybody shifting to UV whereas whereas uh and PIP will be the corner case uh even in corporation settings and the and then not in I think twenty twenty five was the year of people uh gener fib coding and I think twenty twenty six is people g actually using it as an assistant to make developers um uh do the right thing maybe yeah or
uh or maybe we'll see how the business model holds up too.
Yeah well um I have no idea about that one that one just seems crazy.
I don't I don't know how you have a company valued so largely slow so large that it isn't making enough money to cover its bills.
That's whatever.
Well I mean not my problem I guess
to put my jet brains hat on and think about what I can say publicly I think there was a sense of a lot of companies were like oh we're gonna build tools on top of LLMs and we're gonna make money in you know extra money whereas now the sense is no just to like keep to be competitive we have to integrate AI but we have our existing business model.
It's not that AI is like another chunk of revenue it's just a necessary piece of the puzzle of our offering.
Well if you're already charging every developer on the planet $20 a month um and some of them $200 a month how do you make more money?
I don't know.
Um ads that's that's the joke that was going around right like they finally got AGI ad generated income.
I'm gonna put ads in your code that I generate.
By the way check out Pepsi no thanks
I I I'm the I'm going back member oh sorry Carlton you look like you wanted to say something.
Well no I mean it I was just gonna ask about the because uh lean TDD is your new book but we should talk about the old book I I was doomed thought thinking to myself oh we should talk about the second edition but and then I thought that was just last year and then I looked and it was actually 2022 and I was like oh wow how has it been three years since the second edition of
four years.
Okay.
Oh okay four years well 2026 that depends yeah how you
count but so that's um python testing with PyTest is what we're talking about.
And um the and it's it's um it's like it's actually still doing okay.
It's um the it's down probably with the rest of the industry, um, as far as sales go.
But I I keep up on it and keep I I keep getting questions.
So one of the great things about um I guess I don't know, was it last year?
Maybe it was last year or a year before.
Uh anyway, um I think it was 2024 where I went through the whole book and did the course.
So there's a the complete pie test course, just I walk through the entire thing.
And it's there's a lot because it's uh it's it's a book.
Um it's not a big book, but to to go to walk through everything is takes a while.
There's quite a lot in it.
Like, you know, the first couple of chapters fly by easy, but then it's like, oh, this goes on.
There's more, there's depth.
It's a substantial poem.
Um and and I think I did a decent job that um, especially with the second edition of of keeping it to things that are gonna stay relevant even in future editions.
So uh I think the book is still valuable now.
The the the I I am I don't I don't know if I'll do a third edition.
The the only problem right now isn't the content of how to use PyTest.
The problem right now is that the project that I used there, it it was it uses dependencies.
So those dependencies are out of date.
And I have to go, I should go back and uh update the project to with the new um updates from the dependencies.
That that would probably be the if I if I were to do a third edition, um the main thing I would do is take out the dependencies in the project um and uh just just do it uh not have any dependencies so that I don't I have complete control over it and it'll always work.
It just does I see stuff like that.
I see Will nodding in the background.
Oh I'm just I'm yeah, I'm not I I feel your pain.
I feel your pain.
And the dependencies are like not big deals.
Like I use what?
I use um a uh a a database layer.
Um the the that it's just a silly it's like mini db or I can't even remember what I use.
Tiny db, that's it.
Um and it's uh it's a it's like Mongo, but like small scale.
It's a single file uh document database.
And actually for it's kind of fun if if you're using it, but um but it's it's got an old version in there.
And if I would uh if I would redo it, I'd probably just go with like what's that the built-in SQL?
Uh SQLite.
SQLite.
Yeah.
I probably just have SQLite because that's that's always going to be supported.
Um and then uh and then I wasn't I used like I think I used click in the first edition and then typer for the CLI interface.
And um again, both of those are great projects, but they're dependencies.
So I probably just re-implemented in um in whatever the Arcbars.
Yeah, Arc Bars.
That's it.
Um and I'm also better at I mean I'm I'm better at testing with ArcPars applications right now, uh, than I used than I was when I did the 20 the second edition.
So um, but um I still I it's it was a good good idea to write that book.
Um and I I'm I'm glad that a lot of people have gotten value from it.
So it's an absolute cornerstone, I think.
It's you know, it it we think through the you know the classic books, the fluent pythons and things, and you know, the PyTest book, the PyTest book is gonna be a good thing.
Well you don't you don't have competition, which means you nailed it and maybe it's a s and it and we know it's not a small area, right?
Like everyone has like that's always the thing.
You're like, is it is it a tiny pond or am I a big fish?
Right?
It's yeah, a bit of both, I'd say.
One of the core developers did write a competing book, um, and that you don't remember it is a good uh good sign for me.
Um so
you're just seeing them off.
Well, uh so let's see, we're we're we're coming up a little bit on time.
I want to mention projects and books, but I want to get your t hot take on what do you see as the Python web framework space?
Because you're not a biased insider, you know.
So there's Django, there's Fast, there's Flask.
I think I'm
too much of an email.
Um I think
I'm still curious what you think.
What what do you make of what's going on?
Well, I like that okay.
I I have a project that's that's that I'm a side project that's using Django.
Um and so I'm hope I'm glad that Django's staying is keeping up to date.
And I I actually think Django's a safe bet now.
Um it just looks like you you don't have it's kind of you don't have to defend yourself if you're gonna say I'm gonna use Django or Fast API.
Um everything else I think you'd have to defend yourself as to why you were using using that.
Um but that's just it.
Uh um I I do it's I think it's interesting that Michael's rewriting a bunch of his stuff in court instead of something else.
Uh so
like the the the academic, he's got that the free the free reign to do what interests him.
So yeah.
PhD is Carlton, right?
PhD's gone wild.
Something like that.
But I'm I'm nobody should take my advice for him because I'm not really a web uh web developer.
So I
do want to ask, how is your Django project going?
Because last time you came on the show, you just started and you were like you've still exploring your way in Django, and that was a little while ago.
So you found your found your feet and oh
no, no, no.
It's still in the concept phase.
Um so uh it's a perpetual concept project.
Uh but uh like a painting.
You could spec it out with AI and you know, that's
get going.
That's the plan.
Um to to like Django's great
for it, right?
That that's the thing I always have to remember with my blinders of Python Django, like that's as good as AI gets because it's so well documented, both are so well documented, right?
Some other fringe language or framework, like you're not gonna get as good results.
It's kind of like the book.
So the Lean TDD book is a book I've been wanting to write for 20 years.
Um, and so I'm finally doing it so that it's out of my head and it and it can it's living rent-free and it needs to pay its own way.
Um, and this side project that I want to do is the same sort of thing.
It's a project I've wanted to do for probably 10 years, and I want to get it done so that it and it just it doesn't have to make me a ton of money, but it pro if I need to either see that it sinks or swims, and by swimming it just has to pay its own like hosting fees, yeah, exactly.
Uh and twenty dollars a year for like or whatever for its uh URL renewal.
Um, and that's about it.
Um, but yeah, um yeah, I'm a newbie there.
Um yeah, we are running short on time.
What do we do next?
Oh well, so we we've gotten the habit of mentioning project in a book, which we sprung on you last minute.
So Carlton and I are happy to go.
And if you feel inspired, um I'll I'll start.
So projects, I'm gonna shout out DjangoPackages.org, which is not a new project that Jeff Triplett has taken over, but he just r uh re-redesigned the whole thing.
So this is like the best place to go if you want to search through the thousands of Django uh third-party packages.
Nice.
And so the new redesign is really nice.
He used AI, he's talking, he's talked about it.
Um definitely check it out, give it a new look.
Carlton, you have one.
Okay, so the package I want to talk about is called Django Message Spec Field.
So it's uh it's a JSON field subclass that uses the message spec serialization um tool or library um to impose um schemas and validation on the data you store in a JSON field.
Um what I like about it, there's several of these um packages out there that are using different options.
What I like is it's another example of people in the Django community jumping onto these newer serialization options rather than you know just REST framework serializers that we've had forever and a day.
So there's a PyDantic version, now it's a message spec version.
And I think the more people in the Django community start using these things, the more they'll go, oh wow, this is actually a step up from what we're used to.
So um Django message spec field is my recommendation for the week.
Well, you you're used to doing yeah, recommending things.
Do you have something top
of mind?
One of the things I've been using a lot lately was is kind of an old tool, is uh is from uh Rough.
Um so it's another astral tool.
Yeah, I was gonna ask you about that actually.
Um but the the uh one of the the the check stuff is amazing.
So uh we like I mean we like linters in in software uh to to check stuff.
And linters really are just um static analysis tools.
Um so static analysis tools are very powerful as a starting point before you even run things to test them.
But um the rough checks are amazingly thorough.
It's not just it's not just uh simple things like, you know, did you you did, you know, if you use a variable or you have a you have an import that you're not using, it'll check for that.
But there's so many checks.
So you should go check out the rules at um at uh at Astral for the rough rules.
And and there's a lot of stuff you can turn on.
There's bug bear, there's uh there's even I've been using a a PyTest uh uh Flake 8 PyTest extension that you can turn you can just turn it on with Rough Check.
Um it's already built in.
It's it's amazing.
So uh if you if you even if you've played with Rough before, go check it out.
It's keeps keeps getting better.
So books.
Carlton, do you want to go first on books?
Yeah, I'll go first.
So I'm gonna recommend um the Python Polar's the definitive guide.
So Polars is like a a data frame library, a bit like Pandas, right?
But it's folks.
It's the new hotness, yeah.
Yeah, it's the new hotness.
It's so it's written in Rust and it's got Python bindings around it, and it's got an expressive, lazy API, and all sorts of things.
And so it's worth investigating.
Um Pandas has got a new version coming out, and Pandas is not by any means done and dusted, but Polars is, you know, another thing in that space.
And it's a good book.
It introduces everything very well and I it's going to live on my desk for a long time now because it's got a very good reference section and it kind of as you dig into it explains the kind of methods and then you're going to keep it on the desk to dig into the details as you need them as you're using them.
So um Python Polar's the definitive guide.
Cool.
Okay.
I will mention not a programming book but relevant which is How to Hide an Empire, which I actually read several years ago and I'm rereading.
So it's a history of the greater United States.
So without getting too political uh the US has a long history of acting like an empire.
And this book dives into that and talks about disabusing common myths that Americans uh tell ourselves about what we're doing and it's timely unfortunately so really well really well written and I don't say that lightly I'm a super snob with writing and this is excellent.
So strongly recommend it.
Okay another timely book and and I am getting political um is um is the the Little Brother series um or it there's a series uh called that starts with little brother by Corey Doctorow and it's an excellent series that uh yeah talks about in a hypothetical world in America that just sort of looks predictive it it was I I listened to the series on audiobook and it was excellent.
So Little Brother must be a play on big the idea of big brother.
Yeah okay um the other and it's it's uh targeted towards CS people so like or like there's a lot of programmer the the heroes are all programmers which is cool.
Good one.
As it should be right
yeah um another one uh that I just sorry we're only just supposed to do one but um no you
can do this but you can keep going
my daughter had to had to read a book she's having to read a book for um uh for English called They're There by Tommy Orange.
Oh yeah yeah yeah
and I I listened to the audiobook for that and it was phenomenally um it was very hard there's a lot of it's not an easy thing to get through because it's talking about um the way we've uh treated the native population in America um but from their perspective kind of um yeah it's uh it's but it's it's very very relevant as well and I I highly recommend it.
I've heard great things about that it's on my list so I'll have to push it up.
Uh yeah those those are my recommendations.
Any as we go out any things you wanted to mention we didn't ask you about you want to shout out I mean of course people I think will have links to all your various projects podcasts and books but anything else?
Uh one of the I just reminder for people to have fun um I I assume people got into software to have fun and not just to make money.
So I think just find out what you're still having fun with and double down on that.
Yeah there's a lot in that that's great advice.
Well thank you for taking the time thank you for waking up early to accommodate our schedule it's very early for you.
Yeah and I now we get to go to work.
Yeah yeah well same Carlton's done he's gonna go make
dinner yeah so where okay quickly where's everybody from I can't remember
well I'm from Britain but I'm based in Spain so I'm quite a few it's getting dark now and uh well it's been dark all day because the wet weather's miserable
but okay and I'm in Oregon and where's you where are
you based I'm based in Boston but I'm from Vermont big difference.
So okay but you're in Boston now yeah I love Boston so yeah yeah
I like Boston.
It's not Vermont but as US cities go it's where I've decided to hang my hat.
Actually I'm gonna get you a t-shirt well it's not Vermont
to to be clear I tried to see Boston and I couldn't find a parking spot so I had to move on.
Oh yeah well it's it's uh it's the most European of uh American cities so you shouldn't have a car you gotta walk
that's what I was told afterwards they're like why did you try to take a dark car into Boston?
That's yeah and Boston drivers it's like the aggressiveness of New York with a Byzantine one-way streets that are not laid out in a grid so if you just see Boston through drivers you're not gonna like it.
Yeah well I'm from the West Coast and the weather you can't you can't get anywhere without a car over here so
yeah yeah try it again without a car I think it's very you can walk the whole city in a day.
Carlton came to visit we walked a lot of it so
well I also want to thank you guys for keeping this up I really enjoy the uh Django chat podcast and it was it was I always miss it when it's on a hiatus so well
it's just over the summer you know we have to we have to keep our energy up
I appreciate it and I understand that.
Well again thank you for coming on we are DjangoChat comm we are on our YouTube channel and we'll see everyone next time.
Bye bye see you next time bye bye thanks again to SixfeetUp the Python Django and AI experts you call for the hardest software problems.
From scaling applications to simplifying data complexity and unlocking AI outcomes they help you move forward faster.
See what's possible at sixfeetup.com