Transcript: DjangoCon Europe Recap + Other News - Jeff Triplett
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 with Carlton Gibson.
Hey Carlton.
Hello, Will.
And we're very pleased to have back on the show Jeff Triplett, Django President, Django News Newsletter Co-author, and general man about Django.
Welcome, Jeff.
Thanks for having me.
It's good to be back.
Yeah, welcome back.
Well, so now my circle is complete.
You are the two who outside of friends and family, I text with the most day to day.
So we can share that with everyone.
But maybe the main point of this episode, we want to talk about current workflows.
And Jeff, you're doing some really exciting things, and there's some news about Django.
But Carlton, DjangoCon Europe just completed.
Yes.
Yes, give us give us the Jeff and I couldn't attend.
Give us the quick take.
It was phenomenal, to be honest.
Um so uh there were like 300 people there, um 300 more than 300 people there in person, and then I think uh 60, 70 online attendees, something like that.
Um talk talk lineup was just amazing, really strong talks all day, all day, every day, just wonderful.
To be in Athens was you know fantastic.
I was, you know, I got there a day early.
Um I had the the flights weren't great, so I had to go a day early.
And so I had the day before as a tourist, and I was like, okay, I'll get up early and I'll go up to the Acropolis.
And I thought it was like 30 euros to go up, and you think, oh, I bet it's not gonna be that great.
And you get up the top, and you're like, No, okay, well played, Athens.
This is this is yeah, it's pretty cool.
Yeah, it is pretty cool up there.
And then um, so I was walking down and um I came past the uh the prison of Socrates.
Now I studied philosophy, so the prison of Socrates is like, wow, that's pretty cool.
And then the next morning going to the to the venue, and you know, I I was I I I was walking by myself because I was giving the opening talk, and I was a bit, you know, I wanted to get in the zone.
And um just next to the venue is um the archaeological site of Aristotle's Lyceum, which was like Aristotle's school in Athens.
And it was just like, oh my word, um I you know, so I was just massively touched to be around you know, all of this stuff that's just there.
And it anyway, Athens was wonderful, and the food, the just one, yeah, what a venue, what a place we should go back.
Um PyCon Greece is gonna be there for the first time this year.
So, you know, if you're up up for that, fly in and and do that.
That Athens was great.
Venue was great.
I've just got to give you know massive congratulations to the organizers, they did a wonderful job.
And uh what more can I do?
I can emote positively about the whole thing, you know, at length.
It was wonderful.
Okay.
Well, tell us about your keynote.
Okay, so yeah, so this was like the director's cut.
I I gave um but I did the the thing in Amsterdam back in March, which was um the PyTV unplugged, and I gave a sh a short version of the same topic, which is um static islands dynamic C.
So it's talking about Django's dynamic nature.
And Python is a dynamic programming language, and um uh Django predates uh type hints in Python by about a decade, and um Django's design philosophies like state explicitly that Django should make full use of Django's um uh of Python's dynamic um uh abilities, including introspection and things like that, which makes typing it not a non-trivial thing.
Like there is a reason why, you know, this time later we haven't just oh, let's type the ORM.
Um and there's a reason why that.
So, okay, well, my take is that um that gives us lots of power, and um Jang uh Python is a dynamic language, and we you know we need to accept that it it is.
Um and then, well, okay, if we want static things, what do we do with that?
What do we do on top of that?
Well, we build static islands.
I introduced my package Django Mantle, which is how I um you can build um basically type safe um pure Python classes on top of Django and then map from ORM queries into these classes, um, which gets rid of N plus one problems, it gets rid of overfetching problems and all sorts of things.
And I presented all of that, and it was a sort of director's cut, slightly longer version of the the talk I'd given in Amsterdam.
And it was quite nice.
I I went to got to go into a little bit more detail about um the problems like with uh when the active record pattern, when your models get too big and they grow a bit too large and whatnot.
And I got to talk a little bit about REST framework and how I see that going and you know Django's REST story.
And it was nice and it was well received, and um, you know, the that's exciting.
Um and so it was fun.
Uh I was pleased.
The talk was the talk went well, and um people no one thought I was totally crazy, which is you know
that's the goal.
The litmus test, yeah.
Yeah.
Well good.
Yeah.
I mean I mean, Jeff, you're amongst other things, you know, was a DEFNA what chair or you know, president for many, many years, which runs the
president and co-founder, yeah.
Yep, DjangoCon US is.
But it's been a minute since you've been to Europe, I think, Jeff, right?
For just edition?
It was called Django Under the Hood.
So that's how many years ago.
I got to think it was the last two editions of it.
Yeah.
Okay.
Well, good.
And I know uh I forget.
I know um uh with the fellows, Sarah Boyce was there, Jacob was there.
Was did Natalia make it?
I'm not sure.
No, so didn't know.
Oh, I thought so.
Yeah, that's right.
Jacob was there.
Jacob Walls, since there's like three Jacobs.
Yeah, sorry.
Yeah.
Fellow Jacob, yes.
Yeah.
Jacob Walls was there, and um, you know, members of lots of three members of the steering council were there.
Uh Paolo is on the board, he was there.
Who else is on the board?
I don't I I can't remember at the moment actually.
Um, but there were you know uh lots of people from the community, um accessibility team members, the um uh Django Con what's it called, the event support group members were there, um uh security team members were there.
It it was awesome.
I mean, we we had the sprints as well.
The first day of the sprints was I was there for the first day of the sprints, and it was packed.
We had a we had a whole offices, and it, you know, there was hardly a spare seat to be had.
Um did your um so DEP 20, something new that you've pushed, Carlton, did that come out after the event?
Yeah, I put um I managed to publish that this um this this last week.
Um so it was on my on my list to get those written up.
So this is the the proposal for to move January to Django to an annual release cycle and to um so there's two a few things going on there.
One is to um tie in better with um Python's annual releases.
Um so Python's now got an annual release cycle, and that has meant that with our old eight-month cycle, the old LTS was supporting five versions of Python by the time it gone end of life.
And so Python 4.2 has just gone end of life and it was supporting five versions of Python, including Python 3.8, which has been end of life for 18 months now.
And it's like, hang on, we we can't we need to adjust that somehow.
Um, so that's one uh goal of it is to give us a better um matching with Python support, um, Python version support.
The other goal is to get rid of the gap between LTSs.
Um so what we find is that um folks are sticking on the old LTS right until the end of life date because they can't update to the next release because it's not an LTS.
Oh, so we don't update.
So they wait till the new LTS, and that only gives them a kind of six months overlap window, and it's like, hang on, it's not enough, or um six, eight months overlap window.
And so what we were seeing um was that as the old LTS goes uh out of date, the the downloads for a supported Python version go from about 70% down to about 30%.
And it's like because all those people are still on the old one, it's only then that they started updating.
And you know, and then so another factor of that, another aspect of that is because it's only the latest version that gets bug fixed backports.
So, you know, so we fix something on main and we'll back we'll backport it to the latest release version.
Well, because that's not an LTS, people aren't getting those bug fixes, and and there's no they can't update dates them.
Whereas if if the the latest version is an LTS, if there's a bug fix they need, well, they there's a there's a real case there for yeah, we can update because we've got the same three-year support policy there.
So this is this is a proposal that I published on the stack my Stack Report newsletter probably six months ago now, and I've been waiting to waiting for the time and the capacity to write it up.
And I finally got it written up.
And so I I put that up and I I got it done, and there's been really constructive discussion over the last week.
So this weekend or you know, next next week or so, I will pick up the various points that people have made, make the clarifications that are obvious, and then draw up the to-be-decided, because there's lots of you know, there's lots of like little questions like for instance, do we support Python support?
Do we support um only the last the latest two versions when a new one comes out and then the next one the following year?
So a net a version of Django would support three versions of Python, or do we go for the the the that one extra and give it four versions of Python, which is more is more forgiving, but then it's obviously more burdened on CI and things like that.
So there'll be back and forth on those decisions.
But I think thus far, um the the the sort of the core idea is very well res very well received, and so I'm I'm really quite pleased about how that's that discussion's gone.
And then the rest is like, well, what shade should we paint the bike shade?
You know, should it be this blue or that blue?
And we can settle that those are all important questions, right?
But we want to get the shade right.
But they're not they're not the substance of the proposal, which you know, we can all live with any of uh of the answers that are proposed for the questions that are to be decided.
And I think that's really positive at this stage.
So that's lovely.
Yeah.
And as you sorry to
intergewin from a usability perspective.
I work with clients all the time and just trying to equate because right now Django cycle, I think it works a lot better than it did before with the zero, one and two LTS releases.
But when you're talking to somebody, we sound weird trying to tell people like well Django 6.2 is going to be out nine months after 5.1 but if I can just say Django 2027, Django 2028, um and I know there'll be some alignment when that would start, but it's just so much easier.
And also Python has learned so much from Django and Django from Python.
They've floated a similar proposal but I dream of the day that we can say that Python 2028 and Django 2028 and that have some relevance and some meaning of knowing that like these two things can work together and work at the same time versus some arbitrary like I think where Python's up to like 314, 315's coming out and there was always a joke that Python would hit that Pi release, which we've done.
The joke wasn't that funny but it was cool.
Now it'd be awesome to have that alignment though and just have a little bit more sanity back in talking about version numbers because people can understand with a year roll over there's a you know that's when breaking changes could happen.
Yeah go ahead
I think if the if the Calva proposal had gone in after 3.14 then you know maybe it would have had better success.
But um I I'm told it will be back at some point.
The the the goal there I think um is to understand Django's release um versions you kind of have to be inside Django you have to be a member of the community.
So it's really hard to communicate it outside that and I think the clearer we can be here the absolute the better.
It's like I want to be able to explain to someone who's never heard of Django when it's out and when the end of life is and it's it's well it's out the year it says and it's end of life plus three.
I'd love that.
It would be it
would make easy math yeah yeah
anyway so that anyway that's going on the c discussion's going on there and we'll see you know what happens um there with like any change to Django it's always a bit though.
But you know well this is a good post right like every when you have a post-conference energy right you're talking to people and they're like Carlton you should do that thing you're like okay fine I'll go home and I'll I'll have the courage to put a dep out and do the do the whole process.
Yeah I mean well and to go to the conference and be able to have those discussions with people about it.
Because I knew you know because I I I published the essay about it you know months ago and people knew about it.
I've been talking about it I've been sort of th threatening to write the the dep up and then to have the conversations and and you know be able to have those discussions with people face to face about well what are their concerns or what are their what are the features that they think are most important there.
And I think that's makes all the difference to be honest.
Yeah.
You know Jeff I want to
I want to hang on
before we go on I just got to plug Django on the med there so this is why we do Django on the med just oh yeah yeah just three days sprint events which we're gonna do again in September um last week of September in Pescara It lead uh Django Med.eu if you want to see that folks um it's because that time that quality time together it's it's really um irreplaceable um and so it's the same with the conferences as a sprint event like Django on the med.
Anyway, go on.
Oh I oh I wanted to have you know Jeff give us a bunch of updates on Django Software Foundation stuff but I want I wanted to quickly mention and so we're recording this on April 28th Tuesday and unusually for us it's going to come out tomorrow.
Normally there's a little bit of lag until May 1st uh the annual or now biannual uh PyCharm promotions happening so 30% off PyCharm for a year 100% goes to Django uh this has historically been by far the biggest fundraiser for Django so if you're curious about it you should take a look we'll put a link it's also all over the Django project.com website but um don't want to not mention that and then I'll turn that over to you Jeff as Django president there's a whole bunch of things to update us on about what's happening.
Yeah sure and uh thanks to JetBrains for sponsoring us because uh they're also doing renewals now and so I think that's on the website now and historically it's been new um trying out the service now if you've renewed and I believe that's good for 12 months so even if you renew at the end of the year you can get the renewal in and extend it.
So we'll have more details about that.
Maybe a blog post too on the DSF website.
Can I just say they they they literally give all the money to Django right it's yeah
all of it and they round free.
And they round up historically I mean just not a shock to listeners but the reason I'm at PyCharm JetBrains is because I was treasurer of Django and I saw how they treated things and they would regularly round up and just the Django survey and a Python survey across the board.
So um they handle that stuff right I would say of course I'm biased but
I it's a good group a lot of good community members over the years work there too.
So yep.
And if we uh segue the DSF news because there's a bunch of small things I'll try to get through so that's not just DSF.
Um we do have a call of for venues for DjangoCon Europe up as well and I believe that expires at the end of the month or June 1st I guess.
So maybe there's a little bit more time than I'm doing the math on.
And that's great.
Take that DjangoCon Europe Energy and let's get a new group of organizers or same group of organizers.
Let's get uh you know we we want there to be a DjangoCon Europe next year and this is how we put it out the community to run it.
Some of the other stuff too from the foundation there's a lot of invisible work that goes on behind the scenes.
If you've been to some of the DjangoCons sometimes that's where we talk about some of that invisible work.
I think it's exciting uh Carlton doesn't get enough appreciation for helping last year help us go through this process of hiring a new fellow with Jacob Walls.
So Sarah Boyce has recently come back from maternity leave and this is the first time we've had three fellows working together and stress levels, I think security release levels um and you know we're not quite we're basically one full-time fellow and two part-time fellows that will continue to build up but uh it's amazing having that third person what I've seen as the SF president and working with the fellows week to week and I think it's tremendous so fundraising is really big on our list so we can continue to fund them uh we want
to keep expanding the program too as we go I'll talk a little bit more about about that in a minute.
This is also the first time we've had a this is a whole new board and I don't think people realize that we have four new officers.
This is my first time being in an officer position for the DSF um and everybody's doing a wonderful job.
But it's also because we're new uh we are also taking on things that needed to get done for a while like we've been doing a lot of work on renewing our trademark that comes up over 10 years.
We we changed our fundraising goal from 300,000 last year to 5000 this year.
The new board members have come in and looked at some of the way things are done and said let's automate some of the boring work and the hard work.
And so Priya and Afi have been doing a wonderful job doing lots of automations to make board meetings run smoother, to make membership run smoother.
I hope to do you know a little bit more writing about that too in the future so we can you know explain that.
We've had some bylaw changes too we're looking at trying to get elections and memberships because we want to make sure that we're in compliance when we say we have um enough people voting every year in elections that you know we're we're following U.S.
laws for how nonprofits should work.
So some of those or all of those have been going through the Django forum too so you can see the changes we're proposing.
We recently redid the code of conduct it's been 14 years since it's been refreshed.
Dan Ryan did a wonderful job.
It's really funny because when you look at all the code of conduct they're all based on Django's original ones in some way.
And so we recently readopted the contributor um I lost it in my notes.
Let's see contributor covenant uh a dyslexic person trying to say two words with the same letters is really hard when you're on there so uh Dan Ryan led that effort it took about a year to do it um but we it's funny we are using a code of conduct we've rewritten that was based on Django originally so seeing that come full circle is really pretty cool.
With changing our fundraising as well we are very very close to announcing that we're gonna begin our executive director search.
We also want to fundraise for that we've had a half a dozen or more uh sponsors actually put money into that fund and we'll be writing about that as soon as I can but I want to spill the beans on that too.
So we do want to raise more money because we want my job as president I do not get paid to do it.
I will not get paid to do it but I'm spending eight to 12 hours a week just talking to lawyers about trademarks and I'm not the only person doing a lot of work but we have a full time job worth of work that could be done better if somebody has a chance to check the email outside of me checking on Wednesdays, Mondays and Fridays to try to stay stay abreast of everything.
Yeah um the other exciting thing to me, and speaking of invisible work, is we recently, I think every team, but maybe one, is transitioned to a Django work group.
This is a GitHub repo that you can go to and propose a team, a work group, a group of people who want to work on something for Django.
And the board can help you with guidance.
They can give you money if you need money to accomplish things.
And work groups can be a couple of months, they can be years.
Tim Schilling has done a wonderful job trying to organize and work with groups and try to get these people switched over to this model.
It's more transparent, it defines how you join these groups.
Before you had to talk to Carlton or talk to somebody on the side, how do I get in security?
And we don't want that to be the case.
Um, just because you apply for something doesn't mean you automatically get to be a part of it, but at least it's a little easier to see who's a member.
Um, how does the board know things are going on?
Uh, we sometimes have like uh board members who are on those groups too, to help with guidance and communication.
So that this has been pretty exciting and um it it's it's been very invisible in the past, and there's no reason for it to be.
Well, it's because you're exhausted from the work, and then to promote the work is the Stroud that breaks the camel back.
Sorry to interrupt, Carlton.
No, I was interrupting too.
We just spoke at the both times.
At the same time, it was we always have people come up turn up and being like, How can I contribute?
And if you haven't got um like actual um ways of contributing signposted, it's really hard to answer that question in the given moment.
It's like, uh, I don't really know how you can contribute.
So you you have you you've got to set up these pathways for contribution in advance.
And yeah, you mentioned you called that Tim.
Yeah, he I've been watching as he as as he's done a phenomenal job on you know helping coordinate that.
Yeah.
We also did a small thing too with the board where we post our minutes in a repo.
Um, I'll try to find a bunch of links for all this stuff too.
Um, and so you can subscribe to board minutes via RSS, which is a very simple thing.
It's not part of the Django Project website.
We'll try to get that pulled back in at some point, maybe in the community feed.
Uh, but this is the tip of the iceberg of what we've been doing just in the last five months.
And I'm missing dozens of things, but it's been really tough to keep up.
Every start of the board meeting feels like we can spend 10, 15 minutes just getting back into everything the directors and myself have been doing.
But it's not just me.
They're doing a wonderful job.
Well, and
there's a blog post, I think was it yesterday about the Django project redesign that um Sarah, Abdramain, and I'm sorry, I'm forgetting the other off the top of my head, are leading that working group, I guess.
Um, so we'll we'll put a link to that.
But that's a long, long, long, long running goal of Django to do something about the website.
And um, this is the structure to make it happen.
So it's exciting to hopefully see that happen.
And because they're a work group, that was news to me too.
So I haven't had a chance to read it myself.
So yeah, yeah, good, good.
Well, and I I wanted to just on the executive director point, just highlight how important that is and you know, at DjangoCons for years now, that's been a huge thing.
And, you know, Jeff, you didn't mention it, but you were on the board of Python, the Python Software Foundation, and were deeply involved with the search that led to Deb Nicholson.
And so I'm excited for that because you you just in particular bring a lot of experience to that.
And I know from our discussions, you've been talking to possible executive director people for a while now.
Um, so I'm really excited to see who we get because it's a small pool of people who have the skills to do it.
But but on the other hand, Django is a pretty good gig if you want to do this kind of thing.
So I think it could be excellent.
And, you know, we still have to figure out can we afford somebody part-time, full-time, but what does it look like?
And it really has to do with our fundraising goals.
The reason we moved it from 300 to 500 was to try to afford an executive director, too.
So it's all part of that plan.
We just have to do a better job communicating it.
Um, we had a small change to the Django project website where we can post banners now without going through a pull request system.
So the most exciting features that nobody knows about in Django but us, I could actually edit the text five minutes before this uh, you know, our our interview, our our podcast, and uh make a change.
And that's nice.
No, I used to have to bug Carlton and Mariush, be like, hey, can you uh flip the banner for the promotion, please?
And that's a deploy.
Probably Natalia was involved in that.
Yeah, it was not I not ideal.
So yeah, get they get a Christmas card for that.
So great job.
Using Django as
a as a CMS, amazing.
Who'd have thought?
That's that's the other invisible work they don't tell you about till you join the board, and then you're like, we really we're we're a content manager.
We we're we built websites, like we can we can make this process better.
So super.
Any anything else on Django?
I know we want to talk about workflows and AI and stuff too, but uh, I want to make sure there's time for all the Django things
because as soon as this is over, I'll think of five other things I should have said.
So I apologize for not highlighting those, but that's why.
Blogs mast it on.
We'll give a plug to so the Django Forum is probably the single best place to look.
If you want more curated, the Django news newsletter that Jeff and I have been doing for seven years now, which has a new home on um we switch from curated to button-down.
And so if your email didn't show up last week and it's in check your spam folder, there's a whole bunch of work.
Uh Jeff in particular has done on that.
So that's uh yeah, what to say.
That's a lot of work, and it's powered by uh Justin Duke, uh, so Django site, and he's been a good member of the community and some jagged edges there, but I think we're mostly there.
The website is flipped over and we're getting used to the new flow and also the Django Knots program.
People have been, since Sarah Boy started it, doing the updates to Django section.
So it's also providing them access.
And um, just as a shout-out, if you want to stay up to date quickly and concisely, I would recommend the Django News newsletter.
That's the easiest way to do it.
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 workflows?
What what else, Carlton?
Before we start talking about AI, do you what else do you want to mention?
Before we start talking about AI, I don't know.
Let's just talk about AI.
Well, so let's let's pick as an example.
So, Jeff, you're with your client work and you know, your very tip of the spear.
I think if for me, you and Simon Willison are sort of the two people out there blazing a trail.
Maybe just talk about so the notes that you the Django minutes that are now on a website.
I'm pretty sure you use Claude for that.
Is that a good way to talk about how you're, you know, one way you're tackling stuff?
I use Claude to create the website for it.
Uh Priya, our um uh secretary, um, she does them by hand.
I don't know if she uses AI to do that.
So if it was the get a GitHub uh GitHub Actions, what do you call it?
GitHub Pages website up pretty quickly.
But they're markdown files.
Yeah, they're in a GitHub.
Yeah.
Well, so I remember just because you sort of quickly shared it with me, and I thought that was super cool.
So the you know, by hand, the notes were all in a GitHub repo in markdown format, and then you with not too many prompts were able to kind of whip up a site.
Um, but it was it was interesting to me because I I sometimes think of either go doing going into an existing code base and like fixing problems or just greenfield stuff.
But this was a case where you had a bunch of data formatted, and so you were able to prompt it differently to say, hey, build a Jekyll, Jekyll uh GitHub Pages site based on these markdown files.
And it it worked really, really well.
It's just sort of a third approach I hadn't thought of of, oh, if you have this data sitting somewhere, that's like the easiest way to actually create a website because Claude or whatever agent knows kind of how to
structure it.
Yeah, and and you're right.
So there was a bunch of markdown files, I think three to five years of markdown files in a GitHub repo.
And all I really did is um had Claude code as kind of my preferred CLI tool.
And I had it um, you know, these things tend to be non-deterministic.
And the way you make them deterministic is to tell them to write a Python script to do something.
And so it very quickly went through, create a Python script, they just added front matter to the top of the markdown files, and then that just gets rendered by um uh by GitHub pages.
And I'm not even sure if they have full front matter now that I say that, but I I did have it write some Python to do it.
It took maybe 30 minutes.
The design looks like it took 15 minutes.
Um, it's fine.
It's fine.
It's it's totally good enough for our for our purposes.
So yeah.
Okay.
But yeah, it's just a couple of one-shots and didn't take very long to do just because you know it's just GitHub Pages, it's just a blog.
You get RSS for free by using, I think it was Jekyll, is what GitHub Pages is default.
Yeah, it's Jekyll.
Yeah.
But but but the I think the point is you know what you're doing.
So I was having this conversation with Carlton earlier.
So I which I just had spring break.
And so, you know, on the one hand, Carlton's Carlton's son is going through Python books and now doing Rust and kind of doing fundamentals, which is amazing.
And then a friend's son, who's also a teenager, no knowledge of anything, built this cool prototype to, I guess, like sports cards to get the rating and it ties into eBay and so it's image upload and all this stuff.
And he built this prototype he was showing me on his phone, but doesn't know anything, you know, doesn't know what localhost is, doesn't know, you know, which programming language he's using, let alone which framework, let alone how anything was being done.
Didn't even, what's amazing to me is didn't even know what an IDE or a text editor was.
Because I said, Oh, can I look at the code?
And he was like, here it is.
You know, so he's he's going through just a uh Git bash, you know, terminal in Windows, and just it's just sort of mind-blowing that he gets something to work with less than zero knowledge.
And so what I wonder is um, you know, that's really cool that he can build that.
But then when he wants to piece together how to actually do something real with it, that's a much bigger hill to climb than, you know, not grinding through, but do it like learning what a function is, you know, learning what a variable is, learning what a data type is.
I sort of wonder what is what's the better approach, right?
Because I want people to be empowered to build stuff, but if they build this colossus of code that's not great, like good luck, you know, it'd be hard for me to go through it, let alone someone who doesn't know anything.
Uh I think it depends.
I think we've hit a couple of inflection to point points with AI.
Like I think with uh somewhere around December, I I think the I kind of see that's kind of the inflection point where a lot of the things I hear people talking about, which are kind of myths about AI, everything changed in December.
And I've been using them for years, probably four or five years, but they just got to the point of like we're we're kind of good enough.
Um sometimes when I'm working with RDBs, our devs are pretty mixed.
Some of them really like it, some of them don't like it as much.
Um, and what's really interesting though is maybe you code something, you know, where you let the agent do too much for you.
But you can also have that any topic you run into that you don't understand, you have an on-demand blog writing machine too that can write you a blog post for what you're not understanding.
Yeah.
You can pop into voice modes and it can tell you, you can listen to it if you're more of an audible listener or learner.
Um, we've all assumed that like reading books and just reading text, walls of text is the best way to learn.
And not everybody learns that way.
And so just to have that on demand, like uh Marlene, I'm forgetting her last name because I'm terrible with last names.
Yeah.
But she's been on your podcast before.
Yep.
Or Microsoft, maybe GitHub now.
Um, but she was she's doing some interesting work with local models where she's running through the Django Girls tutorial.
And instead of hitting these inflection points where you don't know what to do next because maybe you don't have as much experience with Python, like learning web is so hard.
Like you have to be able to know a little bit of Python, and Django's been very good at teaching people Python while you learn Django.
But then you have HTML, you have CSS, you have opinions of what a real CSS designer is, don't use Tailwind, use CSS, which I don't agree with.
You have, you know, real programmers don't use Python, they use Rust or they use whatever.
You have all this stuff just just slung at you, and it's so hard to learn because you can't just learn Django.
You have to learn all this stuff at the same time.
So some people probably grasp HTML very, they can pick that up pretty quickly because you really need to know like seven things.
Uh, CSS is this whole like, you're gonna hit every limb on the way down of that tree as you fall out of it.
And so just the ability to say, I really want to learn Python, I really want to learn Django right now, just just tag.
Just I'm gonna tag out and you go do this for me or explain it to me.
Uh, I've never seen a tool like that before.
And that's the part I think is really interesting.
And so not everybody does that.
It's kind of like, well, let's age ourselves.
What are the old cheat books people would get for their essays and stuff in college, little blue books or something?
Oh no, yellow.
Yellow, uh, oh, Cliff Notes.
Cliff Notes, yeah.
So you get your Cliff Notes.
And that's one approach.
You're probably not gonna get as far.
But I think the people who can learn with AI, you can learn at an incredible rate.
And I think part of that is because that technology has opened up.
And it used to be this weird, like, let's stump the AI, but there were always these use cases that like how many arms does Ursula have from the Little Mermaid?
Or yeah, rather, like, is Ursula an octopus or a squid?
Strawberries, strawberries,
yeah, yeah.
All these old things.
Yeah.
I had somebody, a good friend that worked at Git, it works at GitHub even say, well, LLMs can't can't write to uh one, they can't they can't count from one to a hundred.
And it's like, that's been a solid problem for two years.
Like, let's get into the things where they're very, very, very good at doing things.
And so if I tell it to do things, um, it's brilliant and it can save you a lot of time.
Um, if you uh have not the best luck telling it to write something for you and you're very critical of it, um, I I and there's this weird hype bubble.
Sorry, I'm getting a little scattered.
There's a hype bubble, which I think is interesting because the hype to me, when I hear people talking about the hype, it's more that they're disappointed in the result that they're seeing.
And it's less about is this a useful technology that can do stuff for you?
And so a friend of mine that's had a lot of problems with like not getting the exact code that they want because they're writing frameworks and are writing lower level Python code.
And maybe it's not trained on the best examples to do something the way that they want to do it.
And I've told them, have it generate three versions of it and see which one you like the best and see if if that ups the bar a little bit.
And sometimes that works.
Like it's really great for Neapolitan.
I've had it do hundreds of Carlton's Neapolitan project, and it's it's brilliant at doing it.
And I don't have there's not like a lot of code there that I don't understand because it's doing mostly like 90% vanilla Neapolitan code.
It's showing me like which fields to list.
Um, I do guide it and tell it don't ever write a template tag again.
Just define, you know, override the functions because it'll try by default sometimes to create custom template tags for 50 different models.
And no one has time for that.
But you know, just a couple of examples you give it, and it's brilliant.
Maybe, Carlton, maybe you need to update the docs and just like address it to the LLMs, be like, just so you know LLMs.
I mean, and I'm I'm actually serious about this.
Pretty sure there's an LLM.txt file somewhere on there that they might want.
Um, I mean
Yeah, so yeah, as you get it, sorry.
Just thinking about what you were saying.
I think that the the thing with the hype is that um we're told that um by obviously the people with a vested interest in in selling such things that they're gonna replace all engineers and they're gonna, you know, be able to do things at human level totally unassisted with, you know, within six months and six months, but you know, wh whatever model, the next model will be the one.
And we're told all these things, and that's just not that doesn't match up to reality.
But that doesn't mean they're useless in you know, it doesn't mean that they have no out that no value at all.
I mean, I think that's key.
And we've heard this about lots of things, both good and bad, in society, like uh electric cars are gonna replace all gas engines in 10 years.
And we've heard that
service teams are gonna, you know, do the well.
And it's a cycle for sure.
Yeah.
But like unless you two want to be online 24-7 to answer questions, and nobody can do that.
Um, I do see a lot of good for people who are learning when they realize that they can just ask it and they can do more of that uh custom custom learning um as they go.
Um, I don't think anybody I know, I I I've signed in DAs with some of these companies.
Sometimes I get to check out new stuff, but I can say I don't like these companies from what they've done and how we've gotten here.
And I think when it comes to, you know, this big IP grab that's happened, um, that will be litigated for a long time.
And I can agree with the best of them.
Uh, Mario is at Munas, has some really good writing about data centers and companies.
And I really appreciate Mario's work because he's focusing in on the evils or the things that we can agree on and don't like about how we got here.
But like, you know, a year or two ago, I've used this analogy a lot where there's the dinosaur meme where the dinosaurs are looking up at the comet.
And even a year or two years ago, people were looking at that and posting it saying, like, we need to avoid this technology because that, or this comet's asteroid rather is going to hit the earth.
And it's like, I hate to tell you, the this asteroid hit four or five years ago, and there's no avoiding it at this point.
So there's a point that you don't have to use it.
That is fine, but you can leverage it and you can do a lot of interesting things with it.
And I've told Will this recently and others, I believed, and I was wrong about it.
I believe by the end of the year the local models were gonna be good enough that we could just use those, and you don't have to use these big frontier models.
The last couple of months, I think we're almost there for local models, and we're not even gonna make it past summer before we've hit that good enough model point.
Um, we've even seen this with like the later versions of Codex, later versions of uh Claude Code.
Like I'm using last generation's models versus the new ones because they're less buggy, um, they're easier to control every
time there's a new model.
Good argument there, they go either way, but yeah, uh on paper it is.
But white, yeah, okay.
Yeah.
That's a longer design.
Yeah.
They've got thinking modes and stuff.
You book no much more here, Jeff.
So uh I read um things about that it's not necessarily the um the model per se, but the harness around it, like the the ability to um use tools and the loop that you put around it to to control how it functions.
They're good open source ones that are worth you know trying with a with a local model?
I ironically, one of the best ones is Pi, the PI uh project.
And it's not nothing to do with Python.
Uh, but it has it's just a harness.
It's what open claw, if you've heard of open claw, is built on top of it.
But it's something that ships that has no system prompt, and you have to write plugins for it in TypeScript.
And so it's a good one to start because there's still a system prompts, there's still prompting around the models when stuff gets submitted to the providers.
And so, but it's the closest one to just saying, go do something.
I don't like what you're doing, do it this way next time.
And um, Frank Wiles, uh, one of my colleagues' business partners, uh, I keep pointing over there because that's where his office is.
Uh, he loves Pi and he's using it more and more.
And I think he spent like uh a couple hours, Friday or Saturday, like playing around with telling me about extensions that he wrote that he thought was pretty cool.
That seems like a pretty good one to try out, I think.
I think uh the you know,
what kind of RAM do you need to run a decent local model?
Because if if we all got if we all gotta have 512 gigabytes of RAM to host a decent one, or you
know, yeah, you need uh terabytes of RAM that we can't buy for four or five years.
Uh, you know.
I mean, no, realistically, I mean I don't know maybe if you can say or not.
Realistically, I think 32 gigs of RAM is the height.
You could go better than that, but I've had some really interesting projects done with Quinn 3.6.
There's smaller models too, I'm told take closer to like eight gigs of RAM.
Um, I tend to get, because I've got a studio here, a Mac studio that's got 64 gigs of RAM on it, and my laptop has 32 gigs.
And so I played with th with Quinn36 a lot.
Um, I think Simon Willison has been writing a lot about local models too, and I do believe those are closer to like an 8 to 16 gig machine, which seems reasonable.
If we can get if we can get down to eight, then that's sort of realistic that a lot of people would have that.
Even in, you know, even the 64 and 32s is still that's still a lot of RAM.
And there's like advances with like Llama server is an open source project.
I like OLAMA the best, but Llama server is interesting because they've got a I think it's called an Mmap mode where it uses your SSD like it's RAM.
Okay, yeah.
And so you can run the big models on it at decent, reasonable performance using that Mmap mode.
Simon may have wrote about that too a week or two ago.
So I follow his.
I I think it's funny because even though you say like I'm the tip of the spear, I think Simon's kind of another world over where I'm just a power user and I use this stuff, and I spend zero thought on like when it comes to like recommending tools, like UV is an incredible tool, has nothing to do with AI other than probably AI.
They joined an AI company, so they have that.
But like that was a tool that just hit like a decade plus of annoyances I had with existing toolings, and they just did stuff.
And so when it comes to AI, like I'm very quick to try something and I'm very quick to move on if it doesn't work for me.
But like, we kind of the topic was getting into workflows.
You know, I use cloud code a lot.
It's probably 90% of my code is written with with CLI tools like it.
And then I'm reviewing stuff anymore.
I have it pushed off to GitHub and a pull request, and I'm reviewing there.
I don't use Copilot, I don't use any of the code review tools.
Like I am the human in the loop.
Um, I cut my projects down to the point where, like, yesterday I had a pull request that was a one-line file change.
I can quickly see that.
No, this works.
I will have it write a little bit of tests with things, but I mostly have tests I've already written and it's extending and it's using those patterns as it goes.
Codex has gotten pretty good.
Uh, that's open AIs.
It's a reasonable, I think they've jumped as far as performance model goes.
But what I think is ironic is what I like about Cloud Code is its ability to just do things like I've mentioned.
So if I tell it, go to GitHub, read an issue, open a pull request, um, once I've approved it, I want you to merge.
I want you to check the deployment.
I want you to use whether like I had a project that was using Fly.io, monitor Fly I.O.
let me know when it's deployed, or use Kubernetes and let me know when it's deployed.
Uh, or use the Coolify API and let me know when it's deployed.
I'm doing very, very high-level language.
I'm I'm doing very short sentences telling to do a lot.
And it knows and it understands and it can do things like run this management command once this code is changed, or let me know so you can do something new.
Uh, Mac Whisper is an app I really like that just lets me have a little, I made my own little keyboard that I can hit.
It's a four button that I bought off Amazon.
But I use it because I can invoke Mac Whisper if I just feel like talking to it.
I can just give it voice commands to do stuff.
Um, some of the new tools have things like loops, and so I can say slash loop two minutes, and it will check things for, you know, because sometimes with deployments, with processes, it may take 20 minutes for something to get deployed, uh built, tested, deployed, approved.
I can have a loop and then I can go get my lunch and come back and know that things are going to happen.
And while I take lunch, I can keep working.
Um, stuff like that's just incredible to productivity.
10% of my time that's left, I'm doing stuff on my phone.
So if I go to lunch, I can get an alert.
No, I need to just, you know, hit that next cog to get the next thing to go.
But we're so rigid in our processes and what we do.
I I feel like most developers spend a lot of time waiting on GitHub or waiting for something to hit production or waiting for somebody to review stuff.
Well, that's when you have to minimizes that wait time.
That's when you're waiting.
That's where you play with the lightsabers.
You got cooler toys than I do then.
Yeah.
So yeah, those are my tools I tend to use.
Go ahead.
To your point, Jeff, like, I mean, and again, I I'm at a company, we're integrating all these tools, right?
We talk about this, you know.
I think the I think the UX around models is gonna is the biggest area to improve, you know.
So not it that's a separate discussion.
What I was gonna say is what's really cool to me to do a positive spin on AI is uh just recently there was an Airdos problem solved with GPT 5.4.
So Paul
Airdos was a famous mathematician, has a bunch of these famous problems.
And a 23-year-old, almost one shot prompted with a little bit of guiding, I think Terrence Tao, the mathematician, helped, and solve this open problem.
And it was able to do that.
I think it took uh an hour and 20 minutes of spinning.
It was able to do that because it reviewed all the math literature and saw there was a technique in another realm that it could apply to this program.
And often that's what mathematicians do is learn, oh, this thing over here, let me scaffold it over there.
And so that to me, and again, it needed professional mathematicians to like guide it and verify, but that's such an amazing use case for for AI and math.
And Terence Tao in particular, if people, if you haven't seen, like he's been much more open about talking about AI.
He makes the case that scientists, mathematicians, there's so many problems out there, and so few scientists or mathematicians in all the like lower level or mid-level stuff, AI can now kind of try to try to do.
And it's not really worth like you're not gonna get a PhD dissertation or get tenure based on solving all these small, grinding little problems, but they're useful if someone can throw AI at it and then review it.
And so he's very optimistic around let's just clean up all this low-level stuff that we know is there that there just aren't enough people to go around.
Um, and so that's that's pretty interesting to me.
And it's pretty interesting that he's he's also, again, just making the case.
Like mathematicians still are almost like chalkboards and pencil and paper and small groups of one or two people.
Meanwhile, you know, physicists and stuff are hundreds, thousands of people together.
So I would anyways, just long way of saying I'd recommend checking out what he has to say about AI because he's not, you know, he knows what he's talking about and he's being very open-minded and trying to find ways to use it.
But Carlton, you you're triggered there.
Yeah, no, this this seems to be the posit like you know, the positive case is quality problems aside and you know, all of those things.
If if software were cheaper to develop, there would be much more of it.
There's a lot of things that we still do in offices and in businesses and in day-to-day life, which would be scripted if only it didn't cost so much to have a programmer.
Um, and in theory, you know, the positive case is that AI can step into that use case and liberate a whole load of productivity gains, which hopefully aren't all captured by you know um AI foundries.
But you know, can liberate those productivity gains, which is the same thing.
That's what trickle-down economics is for, Carlton.
Yeah, well, exactly, exactly.
But sorry, don't
give me fine.
I I think you're right though, about like the jobs are gonna shift and people will lose jobs, and there's nothing we can do about that.
But I think the person we there there's this weird thing I see on social media about people saying, um, I'm uh my if my skill set is not a developer and I spend a weekend vibe coding something, and you think that's really cool, that is a shiny, bright toy, and you're gonna think that's really cool.
But when it comes to maintaining it, you're not gonna wanna spend, you wanna be on your yacht or your boat doing what you think is fun.
It's not gonna be sitting in front of a keyboard and doing this kind of code.
So, like, developers, what you do has the ability to shift.
There will still always be non-AI jobs, but like the kind of things you can build with AI too is what I find to be really fascinating.
I think that we get really caught up on the the models and the ethics of everything.
And I hate to tell you, billion-dollar company, I don't care who they are, not ethical.
Probably a hundred million dollar company, you lose a lot of ethics along the way.
And I hate the way that the world works, but I we can't change that on a podcast.
But I do think there's some positive use cases for using them that help you leverage it for your job, your community.
I've got a half dozen community projects that are like 99% vibe coded.
Um, and I
think that they are
of value.
Yeah, they wouldn't
exist at all without these tools.
Yeah.
And I don't always have the skill to do every aspect of it either.
Like I can't design anything, but like Tailwind was very helpful to me.
Uh, I get told all the time I'm not a real designer or shame that I shouldn't use Tailwind because I don't know why.
Someone's having a grumpy day, and that's where they want to take their stress out on, I guess.
But no, no, no.
If we if someone I use Tailwind, if someone wants to tell me it's abhorrent, I'll agree with them.
Yes, totally is, but
like still gonna use it.
Yeah.
Does it mean you should use it?
Probably not.
But yeah.
And I love frameworks, or I wouldn't have used Django.
I'd be writing socket code, but who has time for that either?
So that's always the irony to me is when somebody wants to bash the technology, it's like, Django's a framework.
So I like frameworks.
And this is the point too, around, you know, I think the whole AGI thing has moved away or been redefined, thankfully.
But, you know, if we're actually were close to that, we wouldn't, you know, AI would just create its own framework, right?
Instead of Python being written for a human.
It is and trans
What's that?
Already that's already happening.
Yeah.
There's AI generated frameworks that we're seeing.
Right.
But it's the question is there's even one of Django.
I'm sure.
But the question is sort of what is what does it take to have a framework in a community, right?
Is it just you know, is it just the code?
Well, I mean, I would say probably not, but you know, I'm sort of curious to see, you know, w and what are the gains there, right?
So I guess the gains would be it's more documented, maybe faster.
We'll put that in quotes.
But you know, you're not gonna have the three of us talking about something a machine created and can't explain or promote.
Um so yeah, not to be a downer about it, but I I'm I'm genuinely curious because I think this kind of stuff is happening, but it's gonna touch into like what is code to Carl's Carlton's point, your point, like it's maintenance, it's communication, it's translating, you know, human language into programming code.
Like I I'm sort of ready to hide out in a cave for two years and then see where this all shakes out because you just can't convince people who've vibe coded something over a weekend that it's harder than that.
At least I find I can't right now.
I've never been a purist with code.
Um I've never seen beautiful code.
Uh I think I went through my phase in the age myself, early 2000s, where I thought beautiful code exists.
It doesn't, it's a myth.
Yeah, but I I'm off for building applications.
So I spend way more of my time now like adjusting and like with Neapolitan, getting good filters on searches and making the applications usable.
I spend a lot more code there, and I can do a couple of you know cleanups and make the code so you can read it.
I don't think dumping 50 lines of like vibe-coded, here's what the application gener, I think that's kind of bullshit.
And I don't think we need that.
So like you have to pick your what's maintainable to you, what's maintainable to your audience.
Django's audience is different.
Django's audience is for developers who want to work with the code, and then you have another subset of people who want to develop Django.
And I think it's important to keep those two distinct in documentation.
And that's why our documentation I think has shifted a lot for how is this used versus you know, how is the sausage made there?
And so thankfully we have both communities.
Okay.
Yeah.
What else?
Uh should we switch to our books?
Books and projects time.
Does that seem okay?
It's fine by me.
I've said a lot of projects, so it's uh one more when you're ready.
But go ahead.
I'll quickly go.
So my book, I don't think I've mentioned this before, is The World's I See by Fei Fei Lee, who is uh AI scientist, I think at Stanford, though she's constantly taking time off to do private stuff.
But she created uh most notably known for doing work around vision and having the data set that ImageNet was and the competition around that.
So ImageNet was the first sort of modern deep neural network
that blew
away the field in 2012, 2014, and sort of led to this resurgence and interest in it.
Um anyways, it's a she writes really, really well.
She has an incredibly interesting story.
Immigrant from China, moved to the US when she was 15, and then found her way to Princeton and Caltech and stuff.
So it's interesting to, but very much a uh a human, a programmer and a human.
Um, you know, she she loves like art history and literature, and so it's a really good book about her story, but also just a humanistic take on AI and that's optimistic about what it can do, but acknowledges some of the challenges.
So, anyways, it was recommended to me by a colleague, and um I definitely recommend it if you want a positive human take on AI, and yeah, I'll
stop there.
I recommend it.
Um I'm gonna go with my book.
Um, so Daniel, on the third day of um uh Django Kun Europe, Dan Daniele Bratidet gave a um keynote called Body of Knowledge, and um he was uh drawing a it's it was an amazing keynote, as always, Daniele's talks.
They're they're wonderful.
Um, but he was giving a talk uh distinguishing between kind of pure um abstract knowledge that we might have, you know, the intellectualist ideal and then sort of embodied knowledge.
And he was he was saying that as a younger man he was drawn towards the the idealistic ideal, but you know, as he's got older, he's come to appreciate the embodied um side of it more.
And there was much more to it than that.
You have to watch the talk when the videos came out.
But I got home and I was um I picked up uh William James off the shelf.
Uh William James is a um uh brother of Henry James, American, um, American uh philosopher.
Um and uh this particular collection is called uh Pragmatism and and uh other writings, it's in the Penguin Classics edition.
But um William James is lovely and um it he talks about very things that are very related.
So I've been reading that.
So if you fancy something that's very approachable in the philosophy department um and very um very human, it's very related to um what it is to live a life.
Um William James, I can highly recommend that.
So Jeff.
I've got two.
Uh one of them I'm gonna cheat a little bit because uh Jesse Seema's The Greatest Bedtime Story Ever is pre-ordered.
It's supposed to come out on June 1st.
That's my family and kids favorite uh author and books are wonderful.
She's uh they are a very wonderful uh illustrator.
Um and my second is since that's a pre-release, is please, please, please read Inchidification by Corey Doctorow because you would improve my Mastodon feed by a thousand percent because people misuse the word insidification all the time.
And it's very important that you understand it.
No, no, Corey, he just wrote something.
He just wrote something saying it's okay for people to misuse it.
He just did a post like two days ago.
That's Corey's opinion.
But for the sake of my feed, just because you're late for work, you burn your toast, you stub your toe, it's not insidification.
So, like, let's let's use the terminology, at least the right vector, the right AI, non-AI vector in the right direction.
I'm I'm glad I've learned something about you now, Jeff.
That's deeply revealing.
Or watch this, but there's audio books if you don't like reading, reading you've got like uh many, any of any of Corey's talks on YouTube are great.
So you can get that just in a conference talk, like the one he did at PyCon US last year.
Just to just quickly swing back, I like this is why I'm so keen on the that that we find a solution to these local models, because I can just see it coming with the with the hosted solutions.
It's gonna be um quicker we can be running locally the better.
Will projects.
Okay.
Um I'm gonna call out the Fixy project, which is from Carson Gross and I think his crew at Big Sky Software.
So this is five small libraries you can mix and match.
There's a dedicated website.
So there's fixy.js, which is minimal HTMX basically, but let me look at my notes.
Uh there's Moxie inspired by HyperScript, uh, one for streaming, DOM patching, and then I a naming one.
There's an ergonomic fetch wrapper called uh Rex Rexy.
So anyway, it's a cool experiment.
There's a GitHub repo, there's a website, but just trying to push some minimalism.
Um yeah, definitely fixy project.
Check it out.
This is catnip to me.
This is like, oh, you know.
Oh yeah, I have to I have to stay away because I've I've still got to upgrade to HTMX4, which is the beta's output at the moment.
And I've you know, I've got a branch where I'm updating to that for the work project.
I've got to get that in place.
I can't go and look at this.
Don't Carson, don't release this now.
Yeah.
Uh Jeff, I believe your Pydentic AI.
Is that the one you want to deploy?
Yeah, I've got I've got two.
If you're running into token issues or you just want to know why you run out before you run out, use this codex bar application.
It's for Mac OS, just a menu bar.
Let's you, it'll monitor every provider, the LLM provider that you have, and then you'll never be surprised that you're running out of tokens again.
And it tells you when your quote is reset.
It's a free open source app.
And then Pydanic AI is the other one.
I call it the Django RM of working with LLM providers.
I need to work on that little phrase.
Um, and it if you use this stuff, what's that?
It's good for the VC pitch.
It's the the something of something.
So it's you've got the format.
And yeah, exactly.
We're we're working on that.
It's a work in progress.
Um, if you use this library and you do any kind of data scraping, or you need to do it, used to be called data extraction.
Now I think they call it output extraction or something.
They've changed the name.
It's where you can take text and you can say, give me a Python object.
They use Pydyx uh base model, but you get a very, very nice, I use it for job boards, reading jobs, and giving you like salary bands and descriptions for Django job board.
Uh it's an amazing tool for doing that data extraction without having this scrape.
Um and it does a lot of other things.
If you want to build your own chat GPT or Claude code, um use that to really play with the LLMs and get a better understanding for what's really going on behind the scenes.
And it can do some output for most modes too.
So you see exactly what's getting called on the model, and it will like help you understand what's really going on instead
of just magic.
Okay.
Great.
That was good.
Um I just wanted to mention um Zuban, which is a type checker and language server server from the author of the uh Jedi um package.
So Jedi was like the the um autocomplete solution for Python for you know many, many years.
And um, you know, that the VS Code, early versions of VS Code were all built built around it.
And well, they've gone on and built this new type checker and language server in um in Rust, um, if that matters to you.
It's it's it's speedy.
Um it's it's got by default it checks um in the same way or similar way to PyRite, but it's got a MyPy compatibility mode, which it'll opt into if you tell it to, if it detects a MyPy configuration.
Um and but it's because it's about 20 between 20 and 200 times faster than MyPy, they say.
Um, but it's got an LSP server um built into it, so just Suban server, and then you can connect whatever editor you want, BB edit in my case, obviously.
Um it's what it's super, it's wonderful.
And um, it just goes to show the uh how do I say the vibrancy of the Python ecosystem around here.
There's now you know half a dozen type checkers, half a dozen language servers that you can use.
It you know, it's a really vibrant time.
I think um fertile time in in the ecosystem.
It shows the health of the ecosystem, I think.
Um, you know, as I say, Rust if you if you care about that.
Well, as a final uh phone to throw, so Jeff, we haven't mentioned your thoughts on IDs in general, but maybe I'll give you the mic to give us your hot set.
Set me up like that.
Um No, I f I f yeah, I guess I I you know not just PyCharm.
I play around with Zed, VS Code.
Um I still find use from them.
Carlton does, but you're not the only one who tells me uh they're not needed.
Um so what you what is your workflow and why does why do you find that to be
the case?
I've never said that they're not needed.
Um I just wouldn't start writing an IDE today.
I would look at what the look at the gaps and what the CLI tools are doing.
Um PyCharm's good, obviously, give them a plug.
Uh Zed, I do like a lot.
I still use Sublime Text.
That's my primary.
Um I kind of fall back if I've stared at my IDE too much, which I don't do anymore.
I just don't really use an IDE as much.
Well, if I'm shuffling API keys and tokens and have notes, I tend to put it in in like a sublime text window.
Um, I don't think that there's there's people who believe that IDEs are going to stay around, I think they're gonna shift for what they're doing.
And I struggle when I look at an IDE, especially the ones that just try to put like a shell.
Um, I use Ghosty, TTY, Ghosty.
Um, it's just a iTerm 2 is good, but something about Ghosty I like the look of better.
And then there's a new one called CMUX, which is like it's ghosty, but they put sidebars on it.
And I like that side navigation, even though I hate that for browsers.
And you can also pop open a browser inside your ID or inside your uh terminal with CMUX.
And so you can put them side by side with your code.
So that's super cool too.
But I think there's kind of a new generation of tools that are trying to build like that IDE like interface around the terminal, and they're putting it in your um your browser.
Uh, these are called harnesses for the most part.
I've written a couple myself just to play around with the code.
Um, I think uh JetBrains has a new one too.
I don't know if I'm supposed to say that, but
no, that's fine.
It's it's public, it's finely public.
Yeah, it's called Air.
Um so you gave some feedback on that.
There's also conductor.
Um so yeah, everyone's experimenting with this for sure.
Yeah, so like with air and these tools, like really what I want is I manage probably 50, 60 applications for various clients.
Some of them may be 30 applications, some of them may be one or two applications.
There's weekly cycles that I go through where I'm doing the same stuff over and over again.
So I really like being able to run prompts.
I really like being able to like do things like keeping lists of tasks that if I switch between, I want like the one interface.
So whether that's an IDE, whether that's the one of these harnesses, and I want to be able to say, go do this 30 times and open a pull request or let me review it.
Um that saves me because I spend hours a week just doing those kinds of tasks.
And yes, I've automated some of it, but it's that directing and do things, that's what's really important for these tools.
And I think that's what the next generation is going to build on.
So that's what I would like to see in an IDE.
I think all the IDs do mostly the same stuff.
It's just, do I like the extensions?
Does jet brains have the right ones?
Um, I'm still not a huge fan of VS Code.
Um, sorry, Microsoft, I will still give you opinions on why I don't like your IDE.
But like, uh it just doesn't do it for me.
And I think it's because of the damn update cycle.
Even Zed gets that wrong.
Every time I log into Zed, it's like we changed something two hours ago.
Yeah.
Same with same with VS Code.
Um, yeah, PyCharm, I mean, PyCharm has three big releases, and then we have smaller ones, but it's not quite as uh aggressive.
But yeah, I agree.
I mean, we all want one tool to do everything in, and at least, you know, for me internally at a company, right?
So just doing a Python IDE, like I did a LinkedIn post.
Um, so there's every four months, PyCharm does a feature, I guess, feature release.
There were 593 bugs that we fixed, and almost all of those were not IDE bugs.
It was just like keeping up with Django, keeping up with Python, keeping up with typing.
So there's still a lot in a dedicated professional IDE, but I think also most people want just one tool to call the agents, view the code.
Um, and again, that's for jet brains, that's what air is.
Um it'll be interesting to see how that plays out, you know?
Um yeah, I agree with that.
Yeah, yeah.
No, just yeah, like it's for the three of us, we're sort of a little bit stuck in the old way.
And so some someone new needs to come in, but also they need to know what they're doing, right?
That that's the problem.
You have new people coming in, but if they don't know how to code, I don't know how much I trust their opinion.
That's that's kind of what I was gonna say or go.
I live in a college town, excuse me, in Lawrence, Kansas.
Uh, we have the University of Kansas here.
And I can get the best research walking into a coffee shop, seeing somebody on their framework laptop or MacBook, and about 50% of the time they have an ID up or they have clawed code up or something.
And seeing their pathway, like ask, do research on your own.
Ask these students, how did you get in the programming?
And the path that they go to is so very, very, very different than we did.
Because some of us started in Linux before, like, you know, like we could date ourselves with X Windows and early Windows applications, but they're pulling up GitHub and they're seeing Copilot and they're seeing this different pathway.
And it it takes them a while before they have to pull up an IDE.
And they're writing code and they're being effective.
Um, not saying we want people just to come contribute to Django, that that's their default path, but you can get there and contribute.
But it's just super, super different than what we're used to.
And they're not wrong because we've created like, you know, like there's the joke about Vim and Emacs and how to escape, how to exit it once you start it.
Like, there's a reason this continues to be a thing after 30 years.
And so I think that the tools that we have, we just got used to, but they kind of suck.
And so now we're in an age where like, if you don't like something, um, not to go off on a tirade, but I feel sorry for the SaaS companies of the world because they always do 80% of what we want them to do, but that 10 or 20% is what makes us give up our loyalty to them and go find the new one.
Cost is a lever, but not listening to us and not adding features.
And some of those features don't make sense.
But we have a new generation of like call it artisanal software.
You can write and do, it's so easy with AI now to customize that 10% and write your own.
That's why I played with writing custom harnesses.
I've I got annoyed about one of the companies having the panes where you move them around and they just wouldn't let me move windows around.
I'm like, how hard could that be?
It's 10 minutes of codex time, and I've got the coolest.
It doesn't do much, but I can move the frames around and split them in any way that I want to, and that's awesome.
So this ability to customize code, I think, is gonna be really interesting.
But look at the pathways that non-traditional developers they're now they're just the now they're developers.
But it's really interesting to see how they started versus how we started 10, 20, 30 years ago.
Brave New World.
That's my soapbox.
So and fund the DSF.
And thank you both for doing a podcast.
So it's an amazing community resource.
Yeah, thanks for thanks for hopping on.
Uh so we'll we'll wrap up now.
We have links to everything.
Uh the Python promotion is still going on.
If you want to support Django, uh renewals are included.
Check out all the links for stuff.
And uh, we'll see you next time.
Bye bye.
Thanks again to Six Feet Up, 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.