Django Chat

DjangoCon Europe Recap + Other News - Jeff Triplett

Episode Summary

Jeff is President of the Django Software Foundation and a partner at REVSYS. We discuss the recently held DjangoCon Europe conference, existing Django news, and then share notes on current AI-powered workflows.

Episode Notes

πŸ”— Links

πŸ“¦ Projects

πŸ“š Books

πŸŽ₯ YouTube

🀝 Sponsor

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 https://sixfeetup.com/.

Episode Transcription

Will (00:00)
Hi, welcome to another episode of Django Chat. I'm Will Vincent with Carlton Gibson. Hey Carlton.

Carlton (00:04)
Hell I will.

Will (00:05)
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.

Jeff Triplett (00:14)
Thanks for having me. It's good to be back.

Carlton (00:15)
Yeah, welcome back.

Will (00:16)
Yeah.

Well, so now my circle is complete. 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. us the, Jeff and I couldn't attend. Give us the quick take.

Carlton (00:35)
Yes, yes.

It was phenomenal, to be honest. So there were like 300 people there, 300, more than 300 people there in person. And then I think 60, 70 online attendees, something like that. Talk, talk lineup was just amazing. Really strong talk all day, all day, every day. Just wonderful to be in Athens was, you know, fantastic. was, you know, I got there a day early. had 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 say, ⁓ bet it's not going to be that great. And you get up there and okay, well played Athens. is, this is nice. Yeah, it is pretty cool up there. And then, so I was walking down and I came past the, prison of Socrates. I studied philosophy. So the prison of Socrates is like, wow, that's pretty cool.

Will (01:14)
you

Yeah, it's pretty cool. Yeah.

Carlton (01:29)
And then the next morning going to the to the venue and you know, I was 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 just next to the venue is the archaeological site of Aristotle's Lyceum, which was like Aristotle's school in Athens. And it was just like, oh my word, you know, so I was just massively touched to be around, you know, all of this stuff that's just there. And anyway, Athens was wonderful. The food, the

Just what a venue, what a place we should go back. PyCon Greece is going to be there for the first time this year. you know, if you're up for that, fly in and do that. Athens was great. Venue was great. I've just got to give massive congratulations to the organizers. did a wonderful job. And what more can I do? I can emote positively about the whole thing, you know, at length. was wonderful.

Will (02:18)
Well, tell us about your keynote.

Carlton (02:19)
Okay, so yeah, so this was like the director's cut. I did the thing in Amsterdam back in March, which was the PyTV unplugged, and I gave a short version of the same topic, which is static islands dynamic C. it's talking about Django's dynamic nature. Python is a dynamic programming language, and Django predates the type hints in Python by about a decade. And Django's design philosophies state explicitly that Django should make full use of Django's.

of Python's dynamic ⁓ abilities, including introspection and things like that, which makes typing it a non-trivial thing. There is a reason why this time later we haven't just, let's type the ORM. And there's a reason why that. OK, well, my take is that ⁓ that gives us lots of power. And ⁓ Python is a dynamic language. And we need to accept that it is. ⁓

And then, well, okay, if we want static things, what do we do on that? What do we do on top of that? Well, we build static islands. I introduced my package Django Mantle, which is how you can build basically type safe, pure Python classes on top of Django and then map from ORM queries into these classes, which gets rid of N plus one problems. gets rid of over-fetching 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 talk I'd given in.

Amsterdam and it was quite nice. I went got to go into a little bit more detail about the problems like with 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 know Django's rest story and it was nice and it was well received and you know that's exciting and so it was fun.

I was pleased the talk went well and people, no one thought I was totally crazy, which is, know, the litmus test.

Will (04:22)
that's the goal.

Yeah. Well, good. Yeah. mean, Jeff, you're amongst other things, was a Diffna chair or president for many, years, runs DjangoCon. Yep. DjangoCon US is, but it's been a minute since you've been to Europe, I think, Jeff, right? For this edition.

Jeff Triplett (04:34)
president, co-founder, yeah.

It was called Django Under the Hood. So that's how many years ago I got to go to the last two editions of it.

Carlton (04:44)
2015.

Will (04:44)
Like to,

yeah. Okay. Well, good. I know, I forget, I know with the fellows, Sarah Boyce was there, Jacob was there. Did Natalia make it? I'm not sure.

Carlton (04:56)
Sarah didn't make it.

Jeff Triplett (04:56)
Natalia didn't... ⁓ yeah, that's right. Yeah, so Jacob Walls,

Will (04:57)
thought so, okay.

Jeff Triplett (05:01)
since there's like three Jacobs.

Carlton (05:03)
Yeah, you're here.

Will (05:03)
Yeah, sorry.

Fellow Jacob. Yes.

Carlton (05:07)
Yeah, Jacob was there and three members of the steering council were there, Paolo is on the board, he was there, who else is on the board, I can't remember at the moment actually. there were lots of people from the community, accessibility team members, DjangoCon, what's it called, the event support group members were there.

security team members were there. It was awesome. I mean, 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 whole offices and you know, there was hardly a spare seat to be had, which was one of.

Will (05:43)
Okay.

Did your, ⁓ so depth 20, something new that you've pushed Carlton, did that come out after the event or is that

Carlton (05:50)
Yeah,

I managed to publish that this ⁓ last week. ⁓ So it was on my list to get that written up. So this is the proposal for it move Django to an annual release cycle. there's a few things going on there. One is to tie in better with Python's annual releases. 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 had gone end of life. so Python 4.2 has just gone end of life and it 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 need to adjust that somehow. So that's one goal of it is to give us a better matching with Python support, Python version support. The other goal is to get rid of the gap between LTSs. So what we find

Will (06:30)
Yeah.

Carlton (06:46)
is that ⁓ 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. Also, we don't have that. 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 six, eight months overlap window. And so what we were seeing ⁓ was that

Will (06:54)
Yeah.

Carlton (07:09)
as the old LTS goes out of date, the downloads for supported Python version go from about 70 % down to about 30%. It's like, cause all those people are still in the old one. It's only then that they started updating. you know, and then 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 fixed something on main and we'll backport it to the latest release version. Well, because that's not an LTS, people aren't getting those bug fixes. And there's no,

Will (07:20)
Right.

Thanks.

Carlton (07:36)
They can't update dates them. Whereas if the latest version is an LTS, if there's a bug fix they need, well, there's a real case there for, yeah, we can update because we've got the same three years support policy there. So this is a proposal that I published on my Stack Report newsletter probably six months ago now. And I've been waiting for the time and the capacity to write it up. And I finally got it written up. And so I put that up and I got it done. And there's been really constructive discussion over the last week.

Will (07:46)
Mm.

Yeah, I remember.

Carlton (08:05)
this weekend or next week or so, 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 little questions like, for instance, do we support Python support? Do we support ⁓ only the latest two versions when a new one comes out and then the next one the following year? So a ⁓ version of Django would support three versions of Python. Or do we go for that one extra and give it four versions of Python, which is more?

Will (08:24)
Hmm.

Carlton (08:35)
is more forgiving, but then it's obviously more burden on CI and things like that. So there'll be back and forth on those decisions. But I think thus far, ⁓ the sort of the core idea is very well received. And so I'm really quite pleased about how that discussion has gone. And then the rest is like, well, what shade should we paint the bike shade? 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.

Will (08:59)
Right, after.

Carlton (09:02)
they're not the substance of the proposal, which, you know, we can all live with any 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. ⁓

Will (09:13)
Yeah,

and I should mention, sorry, Jeff, go ahead.

Jeff Triplett (09:14)
I think it's...

Carlton (09:16)
Go on, Jeff.

Jeff Triplett (09:17)
I think it's a huge win 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 six two is going to be out nine months after five one. But if I can just say, you know, Django 2027, Django 2028. 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 is coming out. And there was always a joke that Python would hit that pie release, which we've done. The joke wasn't that funny, but it was cool.

Carlton (10:12)
Yeah.

Jeff Triplett (10:15)
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, that's when breaking changes could happen. Yeah, go ahead.

Carlton (10:21)
Yeah, think of the count.

Yeah, I

Will (10:26)
Yep.

Carlton (10:26)
think if the if calaver proposal had gone in after 3.14, then you know, maybe it would have had better success. I think the goal there, I think, is to understand Django's release 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 apps are the better it's like

Jeff Triplett (10:33)
I'm told it will be back at some point.

Carlton (10:53)
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. It's out the year it says and it's end of life plus three. I'd love that. would make... ⁓ Anyway, that's going on. The discussion is going on there we'll see what happens. ⁓ Like any change to Django, it's always a bit... ⁓

Jeff Triplett (11:03)
Easy math, yeah.

Will (11:17)
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 depth out and do the, do the whole process.

Carlton (11:28)
Yeah,

yeah, I mean, and to go to the conference and be able to have those discussions with people about it, because they knew, you know, because I published the essay about it, you know, months ago, and people knew about I've been talking about it, I've been sort of threatening to write the depth up, and then to have the conversations and, you know, be able to have those discussions with people face to face about, well, what are their concerns? Or what are they? What are the features that they think are most important there? And I think that's makes all the difference. ⁓

Will (11:57)
Yeah. So Jeff, I want to. ⁓

Carlton (11:57)
You know, this is, hang

on. Before we go on, I just got plugged Django on the med. They say this is why we do Django on the med. You see the three day sprint events, which we're going to do again in September, last week of September in Pescara, Italy, Django med.eu if you want to see that folks. It's because that time, that quality time together, it's really ⁓ irreplaceable. And so it's the same with the conferences as a sprint event like Django on the med. Anyway, go on.

Will (12:03)
yeah, yeah, yeah. Yes.

Oh, I wanted to have, you know, Jeff give us a bunch of updates on Django Software Foundation and 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, the annual or now biannual PyCharm promotions happening. So 30 % off PyCharm for a year, hundred percent goes to Django. 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 DjangoProject.com website, but ⁓ don't want to not mention that. And 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.

Jeff Triplett (13:01)
Yeah, sure. And thanks to JetBrains for sponsoring us because they're also doing renewals now. And so I think that's on the website now. And historically, it's been new ⁓ trying out the service now if you've renewed. And I believe that's good for 12 months. So even if you renew at end of the year, you can get the renewal and extend it. So we'll have more details about that, maybe a blog post on the DSF website.

Will (13:10)
Right.

Carlton (13:21)
Can I just say that they literally give all the money to Django, right? It's like donate to Django and get a free.

Will (13:25)
Yeah, all of, and they round,

and they round up historically. mean, just not a shock to listeners, but the reason I met PyCharm Jeprains 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 Python survey across the board. So, ⁓ they handle that stuff, right. I would say, of course I'm biased, but.

Jeff Triplett (13:47)
It's a good group. lot of good community members over the years work there too. And if we segue the DSF news, because there's a bunch of small things I'll try to get through, so that's not just DSF. ⁓ We do have a call 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, ⁓ you know...

We want there to be a DjangoCon Europe next year and this is how we put it out to 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 DjangoCon, sometimes that's where we talk about some of that invisible work. I think it's exciting. ⁓ Carlton doesn't get enough appreciation for helping last year, help us go through this process of hiring a new fellow, 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, think security release levels. 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 it's amazing having that third person. What I've seen as the SF president 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. ⁓ We want to keep expanding the program too as we go. I'll talk a little bit more about.

Will (14:46)
Yeah.

Jeff Triplett (15:11)
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 and everybody's doing a wonderful job. But it's also because we're new, 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 every 10 years. We changed our fundraising goal from 300,000 last year to 500,000 this year.

⁓ The new board members have come in and looked at some of 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 explain that we've had some bylaw changes to 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

⁓ enough people voting every year in elections that, you know, we're following US 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. And it's really funny because when you look at all the code of conducts, they're all based on Django's original ones in some way.

Will (16:25)
you

Jeff Triplett (16:33)
And so we recently re-adopted the contributor, ⁓ I lost it in my notes. Let's see. Contributor covenant. A dyslexic person trying to say two words with the same letters. It's really hard when you're on there. So Dan Ryan led that effort. It took about a year to do it. ⁓ But it's funny, we are using a code of conduct that we've rewritten that was based on Django originally. So seeing that come full circle is really pretty cool.

Will (16:33)
Mm-hmm. Yep.

Thank

Jeff Triplett (16:57)
With changing our fundraising as well. We are very 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 ⁓ 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

Will (17:06)
Yeah.

Yeah.

Jeff Triplett (17:26)
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 abreast of everything. ⁓ The other exciting thing to me, and speaking of invisible work, is we recently, think every team, but maybe one has 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. ⁓ 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. ⁓ How does the board know things are going on? We sometimes have like ⁓ board members who were on those groups too to help with guidance and communication.

Carlton (18:24)
You need to know the secret handshake,

Will (18:27)
Hahaha

Jeff Triplett (18:47)
So this has been pretty exciting and ⁓ it's been very invisible in the past and there's no reason for it to be.

Will (18:53)
Well, it's because you're exhausted from the work and then to promote the work is the straw that breaks the camel back. Sorry to interrupt Carlton.

Carlton (18:54)
We would have.

No, I was interrupting too. We just spoke at the same time. We always have people come up, turn up and be like, how can I contribute? And if you haven't got ⁓ like actual ⁓ ways of contributing signposted, it's really hard to answer that question in the given moment. It's like, I don't really know how you contribute. you've got to set up these pathways for contribution in advance. And you mentioned, you call that Tim. Yeah, I've been watching as he's done a phenomenal job on.

you know, coordinate that.

Jeff Triplett (19:31)
We also did a small thing too with the board where we post our minutes in a repo. ⁓ I'll try to find a bunch of links for all this stuff too. ⁓ 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. ⁓ 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.

Will (20:07)
Well, and there was a blog post, I think it was yesterday about the Django project redesign that ⁓ Sarah Abjermain and I'm sorry, I'm forgetting the other off the top of my head are leading that working group, I guess. So 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. this is the structure to make it happen. So it's exciting to hopefully see that happen.

Jeff Triplett (20:32)
And because they're a work group, that was news to me too. So I haven't had a chance to read it myself.

Will (20:37)
Yeah. Yeah. Good. Good. Well, and I wanted to just on the executive director point, just highlight how important that is. And, know, at Django cons 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 we're deeply involved with the search that led to Deb Nicholson. And so I'm excited for that. Cause 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. ⁓ 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 on the other hand, Django is a pretty good gig if you want to do this kind of thing.

Jeff Triplett (21:16)
I think it could be excellent. And 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. ⁓ 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 Django but us.

I could actually edit the text five minutes before this, you know, our interview, our, our, our podcast and make a change. And that took.

Will (21:53)
Nice.

No, I used to have to bug Carlton and Mariush be like, Hey, can you flip the banner for the promotion please? And then probably probably probably Natalia was involved in that. Yeah. It was not a, not ideal. So.

Jeff Triplett (21:59)
Took a deploy, pull request.

Yeah, they get a Christmas card for that. So great job, Natalia.

Carlton (22:07)
Using Jang

as a CMS, amazing. Who would thought?

Jeff Triplett (22:11)
That's the other invisible work they don't tell you about until you join the board and then you're like, really? We're a content manager. We build websites. We can make this process better.

Will (22:20)
Yeah. Anything else on Django? I know we want to talk about workflows and AI and stuff too, but I want to make sure there's time for all the Django things because...

Carlton (22:21)
super.

Jeff Triplett (22:30)
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 what. Blogs, mastodon.

Will (22:33)
haha

Okay, well,

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, we switched 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. Jeff in particular has done on that. So that's, yeah.

What to say, that's a lot of work and it's powered by ⁓ Justin Duke, 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 their boys started it, doing the updates to Django section. So it's also providing them access. And just as a shout out, if you want us to have to date quickly and concisely, I would recommend.

Jenga News newsletter. That's the easiest way to do it.

⁓

Workflows? else, Carlton, before we start talking about AI, what else do want to mention?

Carlton (23:35)
Before

we start talking about AI, don't know. No, no, let's just talk about AI. Go on.

Will (23:39)
Well, so let's,

let's pick an example. So Jeff, you're with your client work and you know, your very tip of the spear. think for me, you and Simon Willis and are sort of the two people out there blazing a trail. Maybe just talk about, 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?

Jeff Triplett (24:00)
I use Claude to create the website for it. Priya, our ⁓ secretary, ⁓ she does them by hand. I don't know if she uses AI to do that. if it was the GitHub actions, it got, GitHub pages website up pretty quickly. ⁓

Will (24:15)
What's there's a month, but they're Markdown

files. Yeah. They're in a GitHub. 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. ⁓ but it was, it was interesting to me because I, I sometimes think of either go, don't 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.

Jeff Triplett (24:17)
Yep.

Will (24:42)
data formatted. And so you were able to prompt it differently to say, hey, build a Jekyll GitHub pages site based on these markdown files. it worked really, really well. It's just sort of a third approach I hadn't thought of, of, 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.

Jeff Triplett (25:02)
Yeah, 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 ⁓ had clog code as kind of my preferred CLI tool. I had it, 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 that just added front matter to the top of the markdown files. And then that just gets rendered by

by GitHub pages. I'm not sure if they have full front matter now that I say that, but I did have it write some Python to do it. It took maybe 30 minutes. The design looks like it took 15 minutes. ⁓ So, it's totally good enough for our purposes.

Will (25:42)
No, it's fine. It's fine. It looks fine.

Yeah, okay.

Jeff Triplett (25:49)
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 default was. So.

Will (26:00)
Yeah, it's Jekyll. Yeah.

But, but, 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. 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. was showing me on his phone, but doesn't know anything. You know, doesn't know what local host 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. Cause I said, can I look at the code? And he was like, here it is. You know, so he's, he's going through just a, get bash, you know, terminal and 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, 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, 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.

Jeff Triplett (27:26)
I think it depends. think we've had a couple of inflection to point points with AI. Like I think with somewhere around December, 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 kind of good enough. ⁓ Sometimes when I'm working with our devs, our devs are pretty mixed. Some of them really like it. Some of them don't like it as much. ⁓

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. You can pop into voice modes and it can tell you, you can listen to it if you're more of a audible listener or learner. ⁓ We've all assumed that like reading books and just reading tech walls of text is the best way to learn.

Will (28:12)
Yeah, yeah, yeah.

Jeff Triplett (28:23)
Not everybody learns that way. And so just to have that on demand, like ⁓ Marlene, I'm forgetting her last names, I'm terrible last names, but she's been on your podcast before, or Microsoft, maybe GitHub now. ⁓ But 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.

Will (28:31)
Yes, Marlene from Microsoft. Yep.

Jeff Triplett (28:49)
Like you have to be able to know a little bit of Python and Django has 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 slugging at you. And it's so hard to learn because you can't just learn Django. You have to learn all this stuff the same.

So some people probably grasp HTML, they can pick that up pretty quickly, because you really need to know like seven things. CSS is this whole like, you're gonna hit every limb on the way down to that tree as you fall out of it. And so just the ability to say, I really wanna learn Python, I really wanna learn Django right now, just tag, just I'm gonna tag out and you go do this for me, or explain it to me. 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?

Will (29:49)
⁓

no, yellow, ⁓ Cliff Notes. Yeah.

Jeff Triplett (29:53)
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? rather, like, is Ursula an octopus or a squid? Strawberries.

Will (30:13)
Yeah, yeah, Strawberry. Strawberry being misspelled. Yeah, yeah. All these old things.

Jeff Triplett (30:19)
I had somebody, a good friend that worked at Git, it works at GitHub even, say, well, LLMs can't write to, ⁓ 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, ⁓ it's brilliant that it can save you a lot of time. ⁓ If you have not the best luck telling it to write something for you and you're very critical of it.

⁓ I, and there's this weird hype, but I'll start 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 they're 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 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 Carleton'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. ⁓ I do guide it until it don't ever write a template tag again, just define, override the functions because it will try by default sometimes to create custom template tags for 50 different models. And no one has time for that, but just a couple of examples you give it and it's brilliant.

Will (31:56)
Yeah, maybe.

Carlton (31:56)
Yeah.

Will (31:59)
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 actually serious about this.

Carlton (32:06)
Pretty sure there's an LLM.txt file somewhere on there that ⁓

Jeff Triplett (32:12)
Great.

Yeah, so as you

get it, go. Sorry.

Carlton (32:19)
No, just thinking about what you're saying. I think that the thing with the hype is that ⁓ we're told that by obviously the people with the vested interest in selling such things that they're going to replace all engineers and they're going to, you know, be able to do things at human level totally unassisted with, you know, within six months and six months, you know, whatever model the next model will be the one and we 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, no value at all.

Jeff Triplett (32:53)
I I think that's key. And we've heard this about lots of things, both good and bad in society, like electric cars are gonna replace all gas engines in 10 years. And we've heard that for 15 years. And it's a cycle for sure. But like, unless you too wanna be online 24 seven to answer questions, and nobody can do that. 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 custom learning.

Carlton (33:01)
microservices are going to do the world.

Will (33:06)
Single page applications.

Jeff Triplett (33:21)
as they go. ⁓ I don't think anybody I know, 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 this big IP grab that's happened, ⁓ that will be litigated for a long time. And I can agree with the best of them. Mario Muniz 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 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 the asteroid rather is going to hit the earth. And it's like, I hate to tell you that this asteroid hit four or five years ago and there's no avoiding 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.

We've even seen this with like the later versions of Codex, later versions of ⁓ Claude code. Like I'm using last generation's models versus the new ones because they're less buggy. ⁓ They're easier to control every time there's a new model.

Will (34:56)
Yeah.

less expensive too.

Jeff Triplett (35:01)
Good argument there that go either way, but yeah, on paper it is, it's, now they've got thinking modes and stuff.

Will (35:03)
Yeah, mean, what? Yeah, okay, yeah. That's a longer discussion, but yeah.

Carlton (35:09)
You put no much more here, Geoff. So I read things about that it's not necessarily the model per se, but the harness around it, the ability to use tools and the loop that you put around it to control how it functions. They're good open source ones that are worth trying with a local model.

Jeff Triplett (35:32)
Ironically, one of the best ones is Py, the PI project, and it has nothing to do with Python. But it has, it's just a harness. It's what OpenClaw, if you've heard of OpenClaw, 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.

Carlton (35:43)
Yeah.

Jeff Triplett (35:57)
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 ⁓ Frank Wiles, one of my colleagues, business partners, keep pointing over there, because that's where his office is. He loves Pi and he's using it more and more. And I think he spent like a couple hours Friday or Saturday, like playing around, but 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.

Carlton (36:03)
Okay.

I think, you know, what's kind of RAM do you need to run a decent local model? if we all got, we all got to have 512 gigabytes of RAM ⁓ to host a decent one or, know,

Jeff Triplett (36:35)
Yeah, you need terabytes of RAM that we can't buy for four or five years and, you know, sell an organ or two to get it. 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 are smaller models too. I'm told take closer to like eight gigs of RAM. I tend to get, because I've got a studio here, Mac studio that's got 64 gigs of RAM on it and my laptop has 32 gigs.

Carlton (36:38)
Yeah, yeah, yeah. I mean, realistically, mean, don't know if you can say or not.

Okay.

Jeff Triplett (37:04)
And so I played with Quinn three six a lot. ⁓ I think Simon Wilson has been writing a lot about local models too. And I do believe those are closer to like an eight to 16 gig machine, which seems reasonable.

Carlton (37:14)
Right. Cause if you can, if

we can get, if we can get down to eight, then that's sort of realistic. A lot of people would have that even in, you know, even the 64 and 32 to stick, that's still a lot of ramp date for a household.

Jeff Triplett (37:25)
And there's like advances

with like llama server is an open source project. I like a llama the best, but llama server is interesting because they've got a, think it's called an map mode where it uses your SSD like it's RAM. And so you can run the big models on it at decent reasonable performance using that map mode. Simon may have wrote about that too, a week or two ago. So I follow his, 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.

Carlton (37:38)
Okay, yeah, okay.

Yeah.

Jeff Triplett (37:54)
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. It 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...

Carlton (38:21)
Yeah.

Jeff Triplett (38:22)
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 CLI tools like it. And then I'm reviewing stuff anymore. I haven't 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. I just cut my projects down to the point where like yesterday I 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. That's open AIs. It's a reasonable, 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, ⁓ once I've approved it, I want you to merge. want you to check the deployment.

I want you to use whether like I had a project that was using FlyIO, monitor FlyIO, let me know when it's deployed or use Kubernetes and let me know when it's deployed ⁓ or use the Coolify API and let me know when it's deployed. I'm doing very, very high level, I'm doing very short sentences telling you 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.

⁓ Mac whispers 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 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 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. 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 hit that next cog to get the next thing to go. But we're so rigid in our processes and what we do, 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. And so it minimizes that wait time.

Carlton (40:42)
That's when you have your lightsabers right now.

That's when you're waiting. That's where you play with the lightsabers.

Will (40:47)
Hahaha.

Jeff Triplett (40:49)
You got

cooler toys than I do then because that's great. So yeah, those are my tools I tend to use. Go ahead.

Carlton (40:51)
It's the end.

Will (40:52)
Yeah, well. ⁓

Well,

Carlton (40:56)
Yeah,

Will (40:56)
to

Carlton (40:56)
cool,

Will (40:57)
your point, Jeff, I mean, and again, I'm at a company where integrating all these tools, right? We talk about this. I think the UX around models is the biggest area to improve. that's a separate discussion. What I was going to say is what's really cool to me to do a positive spin on AI is just recently there was an air dose problem solved with GPT 5.4. So.

Paul Erdos was this famous mathematician, has a bunch of these famous problems, and a 23-year-old almost one-shot prompted with a little bit of guiding, think Terrence Tao, the mathematician, helped and solved this open problem. And it was able to do that. I think it took 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 like, this thing over here, let me scaffold it over there. And so that to me, and again, it professional mathematicians to like guide it and verify, but that's such an amazing use case for, for AI and math and Terrence Tao in particular, people, you haven't seen like he's been much more open about talking about AI, he's makes the case that scientists, mathematicians, there's so many problems out there. And so few scientists and mathematicians and all the like lower level or mid level stuff, AI can now

kind of 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. ⁓ And so 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're triggered there.

Carlton (42:58)
Yeah,

no, this, seems to be the positive, like, you know, the positive case is quality problems aside and, 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 program. and

In theory, you 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, AI foundries, but, you know, can liberate those productivity gains which are pushed as high as you can. Yeah, well, exactly, exactly. But don't get me fired up. Don't get me fired up.

Will (43:40)
That's what trickle down economics is for Carlton. Sorry, don't go there.

Jeff Triplett (43:49)
I

think you're right though about like, jobs are gonna shift and people will lose jobs and there's nothing we can do about that. But I think the person, there's this weird thing I see on social media about people saying, ⁓ 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 going to think that's really cool. But when it comes to maintaining it, you're not going to want to spend, you want to be on your yacht, your boat, doing what you think is fun. It's not going to be setting in front of a keyboard and doing this kind of code. 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 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 we can't change that on the podcast. But I do think there's some positive use cases for using them to help you leverage it for your job, your community. I've got a half dozen community projects that are like 99 % vibe coded. And I think that they are of value. Yeah.

Carlton (45:00)
And they wouldn't exist at all. They wouldn't exist

at all without these tools.

Jeff Triplett (45:05)
And I don't always

have the skill to do every aspect of it either. Like I can't design anything, like Tailwind was very helpful to me. I get told all the time I'm not a real designer. Shame that I shouldn't use Tailwind because I don't know why someone's having a grumpy day and that's what they want to take their stress out on, I guess.

Carlton (45:18)
Yes.

No, no, no. If someone, I use tailwind, if someone wants to tell me it's abhorrent, I'll agree with them. Yes, totally yes, but...

Will (45:22)
Thank

Thank

Jeff Triplett (45:28)
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 a technology, it's like, Django's a framework, so I like frameworks.

Carlton (45:32)
Yeah.

Yeah, right.

Will (45:43)
Well,

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, close to that, wouldn't, know, AI would just create its own framework, right? Instead of Python being written for humans and trans, what's that?

Jeff Triplett (45:56)
It is.

That's already happening. Yeah, there's AI-generated frameworks that we're seeing. There's even one of Django.

Will (46:01)
Right, but the question is,

I'm sure, but the question is sort of what does it take to have a framework in a community, right? Is it just the code? I mean, I would say probably not, but I'm sort of curious to see, 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're not gonna have the three of us talking about something a machine.

created and can't explain or promote. So yeah, not to be a downer about it, but I'm genuinely curious because I think this kind of stuff is happening, but it's going to touch into like, what is code to Carl's Carleton'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 vibe coded something over a weekend that it's harder than that.

At least I find I can't right now.

Jeff Triplett (46:54)
I've never been a purist with code. ⁓ I've never seen beautiful code. 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. But I'm all 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 cleanups to make the code so you can read it.

I don't think dumping 50 lines of like vibe coded, here's what the application generally, 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 audiences 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 and documentation. And that's why our documentation, I think it's shifted a lot for how was this used versus.

you know, how's the sausage made? And so, thankfully we have both communities.

Will (47:52)
Yeah. What else? All should we switch to our books, books and projects time? Does that seem okay?

Jeff Triplett (47:56)
It's fine by me. I've said a lot of projects, so ⁓ I'll mention one more when you're ready, but go ahead.

Will (47:59)
Okay, well, I'll just quickly

go. So my book, I don't think I've mentioned this before, is, let me show it, The Worlds I See by Fei-Fei Li, who is an AI scientist, I think at Stanford, though she's constantly taking time off to do private stuff. But she, ⁓ most notably known for doing work on vision and having the data set that ImageNet was in a 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. ⁓ Anyways, ⁓ 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. it's interesting, but very much a human, a programmer and a human. ⁓ She loves art history and literature, and so it's a...

really good book about her story, but also just a humanistic take on AI 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 I definitely recommend it if you want a positive human take on AI and yeah, I'll stop there. I recommend it. Carlton, you have William James.

Carlton (49:12)
going assume we've lost 12 momentarily. I'm going to go with my book. So Daniel on the third day of DjangoCon Europe, Daniel Pratica gave a keynote called Body of Knowledge. he was drawing a, it was an amazing keynote as always, Daniel's talks that they're wonderful. But he was giving a talk distinguishing between kind of pure ⁓ abstract knowledge that we might have, you know, the intellectualist ideal and then sort of

Jeff Triplett (49:15)
Ahem.

Carlton (49:41)
embodied knowledge. And was he 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 side of it more. And there's much more to it you have to watch the talk when the videos came out. But I got home, I was, I picked up William James off the shelf. William James is a ⁓ brother of Henry James, American, American philosopher. ⁓ And ⁓ this particular collection is called pragmatism.

and other writings, it's in the Penguin Classics edition. William James is lovely and he talks about things that are very related. So I've been reading that. So if you fancy something that's very approachable in the philosophy department and very, very human, it's very related to what it is to live a life. William James, can highly recommend that. Jeff.

Jeff Triplett (50:32)
I've got two. One of them I'm gonna cheat a little bit because 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 ⁓ author and books are wonderful. ⁓ They are very wonderful illustrator. And my second is, since that's a pre-release is, Please, Please, Please Read Enshinification by Cory Doctorow because you would improve...

my mastodon feed by a thousand percent because people misuse the word enchantification all the time. And it's very important that you understand it because I stub my toe.

Carlton (51:04)
You

Will (51:06)
No, no, Corey, just wrote

something saying it's OK for people to misuse it. He just did a post like two days ago.

Jeff Triplett (51:13)
Fine. 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 in chinification. So like, let's use the terminology, at least the right vector, the right AI, non-AI vector in the right direction.

Carlton (51:23)
Yeah

I'm

glad I've learned something about you now, Jeff. That's deeply revealing.

Jeff Triplett (51:34)
Or watch us, there's audiobooks if you don't like reading, Any of Cory's talks on YouTube are great. So you can get that just in a conference talk. I went into PyCon US last year.

Carlton (51:45)
Just just quickly swing back, like this is why I'm so keen on that we find a solution to these local models, because I can just see it coming with the hosted solutions. It's going to be quicker. We can be running locally better. Well, projects.

Will (51:58)
OK, I'm going to call out the Fixie 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 fixie.js, which is minimal HTML basically. But let me look at my notes. There's Moxie inspired by Hyperscript, ⁓ one for streaming, DOM patching, and then a naming one. There's an ergonomic fetch wrapper called ⁓ Rexi.

So anyways, it's a cool experiment. There's a GitHub repo as a website, but just trying to push the minimalism. Yeah, definitely fixy project. Check it out.

Carlton (52:28)
Thank you.

This is catnip to me. is like, you know, have to, I have to stay awake because I've still got to upgrade to HTML X four, which is the beat is out for the moment. And I've, know, I've got a branch where I'm updating to that for the work project. I've to get that in place. I can't go and look at this. Don't cost them. Don't release this now.

Will (52:33)
Hahaha

Yeah, Jeff, believe you're Pydantic AI. Is that the one you wanted to plug?

Jeff Triplett (52:53)
Yeah, 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 from Mac OS, just a menu bar. 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 quota's 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.

Will (53:19)
Ha

Jeff Triplett (53:19)
If you use this stuff, what's up?

Carlton (53:22)
It's good for the VC pitch. It's the something of something. you've got the format.

Will (53:26)
Yeah, yeah,

Jeff Triplett (53:27)
And

yeah, exactly. We're working on that. It's work in progress. ⁓ 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 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 Pydanix 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 boards.

⁓ It's an amazing tool for doing that data extraction without having to scrape. And it does a lot of other things. If you want to build your own chat GPT or cloud code, 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 both 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.

Carlton (54:19)
I just wanted to mention Zuban, which is a type checker and language server from the author of the Jedi package. The Jedi was like the ⁓ auto-complete solution for Python for many, years. ⁓ you know, the VS code, early versions of VS code were all built around it. well, they've gone on and built this new type checker and language server in ⁓ Rust, if that matters to you.

It's speedy. It's got, by default, it checks in the same way or similar way to Pyright, but it's got a MyPy compatibility mode, which it'll opt into if you tell it to, if it detects a MyPy configuration. But it's about 20, between 20 and 200 times faster than MyPy, they say. But it's got an LSP server built into it, so you just zoom in server and then you can connect whatever editor you want, BB edit in my case, obviously.

It's super, it's wonderful. And it just goes to show the, how I say, the vibrancy of the Python ecosystem around here. There's now half a dozen type checkers, half a dozen language servers that you can use. It's a really vibrant time, think, fertile time in the ecosystem. It shows the health of the ecosystem, think. And as I say, Rust, you've been...

Will (55:35)
Well, as a final bone to throw, so Jeff, we haven't mentioned your thoughts on IDEs in general, but maybe I'll give you the mic to.

Give us your hot take. No, I, yeah, guys, I, you know, not just PyTrium, I play around with Zed, VS Code. I still find use from them. Carlton does, but you're not the only one who tells me they're not needed. So what is your workflow and why do you find that to be the case?

Jeff Triplett (55:44)
set me up like that. ⁓

I've never said that they're not needed. ⁓ I just wouldn't start writing an IDE today. would look at what the gaps and what the CLI tools are doing. ⁓ PyCharm's good, obviously, give them a plug. ⁓ Zed, I do like a lot. I still use Sublime Text, that's my primary. 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. But if I'm shuffling API keys and tokens and have notes, I tend to put it in like a Sublime Text window.

Will (56:03)
Okay.

Jeff Triplett (56:29)
I don't think that there's people who believe that IDEs are going to stay around. I think they're going to 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. I use ghosty, TTY, ghosty. It's just a, I term two was good, but something about ghosty I like the look of better. And then there's a new one called the C-MUX, 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 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 browser. These are called harnesses for the most part. I've written a couple myself just to play around with the code. I think JetBrains has a new one too. I don't know if I'm supposed to say that, but.

Will (57:23)
No, that's fine. It's public. It's finally public. Yeah, it's called Air. So you gave some feedback on that. There's also Conductor. yeah, everyone's experimenting with this for sure.

Jeff Triplett (57:34)
Yeah, so like with Aaron, 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 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 list of tasks that if I switch between, I want like the one interface. So whether that's an IDE, whether that's one of these harnesses, and I want to be able to say, go do this 30 times and open.

request or let me review it. 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 JetBrains have the right ones? ⁓ I'm still not a huge fan of VS code.

I'm sorry, Microsoft, will still give you opinions on why I don't like your ID, but like, 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 in to Zed, it's like, we changed something two hours ago.

Will (58:41)
⁓ every time it updated. ⁓

mean, yeah, same with same with VS code. ⁓ Yeah. I mean, PyCharm has three big releases and then we have smaller ones, but it's not quite as 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. ⁓ 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. And again, for JetBrains, that's what Air is. ⁓ It'll be interesting to see how that plays out. ⁓

Yeah, I agree. think.

Jeff Triplett (59:34)
I would look at

how new people.

Will (59:35)
Yeah, yeah, no, just yeah, it's for the three of us, we're sort of a little bit stuck in the old way. And so someone new needs to come in, but also they need to know what they're doing. Right. 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.

Jeff Triplett (59:51)
That's kind of what I was going to say or go. I live in a college town, excuse me, in Lawrence, Kansas. 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 cloud code up or something. And seeing their pathway, 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, different than we did. Cause 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 co-pilot and they're seeing this different pathway. And it takes them a while before they have to pull up an IDE and they're writing code and they're being effective. I'm not saying we want people just to come contribute the 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, ⁓ 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've played with writing custom harnesses.

I got annoyed about one of the companies having the pains 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 it's going to be really interesting, but look at the pathways that non-traditional developers, they're now they're just now they're developers, but it's really interesting to see how they started versus how we started 10, 20, 30 years ago.

Will (1:02:00)
Yeah, brave new world.

Jeff Triplett (1:02:01)
That's my soapbox. So, and fund the DSF

and thank you both for doing a podcast. So it's a amazing community resource.

Will (1:02:09)
Yeah, thanks for hopping on. ⁓ So we'll wrap up now. We have links to everything. ⁓ The PyCharm promotion is still going on. If you want to support Django, renewals are included. Check out all the links for stuff. And we'll see you next time. Bye-bye.