Django Fellow

This video features Jacob Walls at DjangoChat 2026 .

Django Fellow
0:58:08
Published September 30, 2025
208 views

Jacob is the newest Django Fellow and we talk about his background, transitioning from music to programming, what to expect in Django 6.0 this December, and more.

🔗 Links
Jacob’s website: https://jacobtylerwalls.com/about.html
Django 6.0 Release Notes: https://docs.djangoproject.com/en/dev/releases/6.0/
What skills does SWE-bench Verified evaluate? https://epoch.ai/blog/what-skills-does-swe-bench-verified-evaluate
Django on the Me: https://www.djangomed.eu/

📦 Projects
django-watchfiles: https://github.com/adamchainz/django-watchfiles
django-admin-keyshortcuts: https://github.com/khanxmetu/django-admin-keyshortcuts
django-sql-migrate-deux: https://github.com/browniebroke/django-migrate-sql-deux

📚 Books
Software Design by Example - Greg Wilson: https://third-bit.com/sdxpy/
America Day by Day - Simone de Beauvoir: https://bookshop.org/p/books/america-day-by-day-simone-de-beauvoir/fe7d0419caef457a
The Hunting Gun - Yashushi Inoue: https://pushkinpress.com/book/the-hunting-gun/

🎤 https://djangochat.com/

This episode was sponsored by HackSoft https://www.hacksoft.io/solutions/django

#webdevelopment #webdeveloper #python #django #webdev

Summary

Jacob Walls describes moving from music composition and software testing into Python and Django, where contributing to the project gave him feedback and helped him learn. As a new Django Fellow, he is taking on release work and helping contributors: Django 6.0 includes the initial task framework interfaces and development/testing backends, plus a PostgreSQL full-text-search `Lexeme` expression; a last-minute multi-database check also showed the value of feature checklists. He argues that Django’s volunteer-driven releases can keep delivering features if contributors stay engaged, help resolve discussions and blockers, and turn broad community priorities into actionable work. He also sees roadmap planning and better coordination among fellows, the steering council, and the board as ways to strengthen continuity without handing technical direction to corporate sponsors.

Key takeaways

  • Open-source contribution helped Jacob build his software skills through practical work and feedback from Django contributors.
  • Django 6.0 brings the first parts of Django Tasks, including development and testing backends, and a PostgreSQL `Lexeme` expression for composing full-text search queries safely.
  • Last-minute review of Django Tasks revealed that major features need explicit checks for interactions with areas such as multi-database setups.
  • Jacob says contributors can help Django by staying engaged, moving discussions toward resolution, and helping identify and clear blockers rather than waiting for others to direct the work.
  • A clearer roadmap and stronger coordination can guide volunteer effort while preserving Django’s community-led technical direction.

Summarised automatically from the transcript.

Transcript

11,627 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:00

Uh

0:02

Speaker 1: all right. Hi, welcome to another episode of Django Chat. I'm Will Vincent with Carlton Gibson. Hey Carlton.

0:08

Speaker 2: Hello.

0:09

Speaker 1: And we're very pleased to have Jacob Walls, our newest Django fellow. Welcome, Jacob.

0:14

Speaker 3: Thanks. Hey Well. Hey, Carlton. Really cool to be here.

0:18

Speaker 2: No, thank you for coming on the show. We're very excited. Are we the first people to get you since you've been fellow?

0:24

Speaker 3: Yeah, yeah, yeah, yeah.

0:25

Speaker 2: Brilliant. We've got the inaugural fellow interview.

0:29

Speaker 1: Nice. And thank you for being our first video guest too.

0:34

Speaker 3: It's a podcast now

0:36

Speaker 1: It's a podcast. Yeah, yeah. A v vodcast? Is that what you said?

0:45

Speaker 3: I was like, Django Chat has graduated to vodcast. No.

0:48

Speaker 1: Oh I like that. Wow. Levels. Okay. Alright, well let's Carlton, top of mind. Django on the med. That's Next week.

0:57

Speaker 2: Well, hang on, hang on. I think we should say that this episode is sponsored by Hacksoft. You're gonna partner beyond code. More on their services later in the show.

1:05

Speaker 1: Okay, thank you. Yes. And speaking of the you uh your side of the Atlantic, Django and the Med.

1:12

Speaker 2: Yes, so that's only a week away now, and I'm very excited. Um breakfast is lined up. We've got stickers. T-shirts being printed up, we've got everything and Jacob, you're gonna make it, I think.

1:23

Speaker 3: I'll be there, yeah. Oh yes, oh wow.

1:27

Speaker 1: Wow. Jealous. So how many people total, do you think?

1:31

Speaker 2: I think we'll be in the fifteen to twenty zone, which is nice because I you know when Paola and I started off it was Well, we're gonna beat Paolo and I. And so we um I think we've got yeah. I think fifteen, maybe you know, a few more will sneak out the um sneak sneak out the woodworkers the next guy. But that's a nice number. We can split into groups and Um there's a good number of um experienced contributors and there's a few um brave souls who've not, you know, are come coming along and you know they've emailed out and they'll be like Are you sure? Yeah, no, I'm right. Yeah, no, absolutely, absolutely. Um, very excited. Um so anyway, yeah, it it's you know, for the

2:11

Speaker 1: You have to take a picture. It only counts if you document it, right? You have to have a picture so everyone feels like

2:18

Speaker 2: we've got all sorts. All sorts. coming up. So it's gonna be it's gonna be very good. But on the first day we're gonna do the roadmap the um roadmapping workshop that we talked about. We've got a Django part um Django birthday party for the for the second day. And then on the third day I'd like to do a kind of um um round up, you know, what have we achieved, where we're going, what we're taking back to the community so everyone's clear. And you know, hopefully thinking about pushing Django on the med few in the future versions. Um Paolo and I have done this kind of um by ourselves this time as the proof of concept. Looks like the proof of concept's gonna work and it's okay How do we how do we and

2:55

Speaker 1: you have some um what Python Spain is sponsoring, right? You have some.

2:58

Speaker 2: Yes, we've Python Hispania are sponsoring, the Django Software and Foundation are sponsoring, we've had um uh uh button down of sponsored the new just with the newsletter but the the you know the the mailing list is you know the important communication channel and then um in collaboration as well with the Junte Mente Palais they've provided the venue um which I'm very grateful for So um that's just yeah it's super

3:21

Speaker 1: all right well let's I do want to let's talk about being a fellow because I I had a chance to to meet you at uh ChangoCon US and talk about this but I mean, we could briefly do the full circle, right? So Sarah Sarah Boyce is going to be on maternity leave, so then we're going to be down to one or half a fellow, because Natalia's three days a week. Um Carlton, you're on the fellowship committee, yes?

3:42

Speaker 2: Fellowship working group. Can't remember what it's called, but yes, I'm on that.

3:46

Speaker 1: So How does it start? And then we'll get I'm curious if Jacob can share his perspective, right? So so you find out, oh, we need to Carlton get a new fellow. How does that like there's a blog post and then You filter a hundred submissions or tell us?

4:03

Speaker 2: Yeah, okay. So um you know Sarah obviously knew that she was going to need to step back sometime in advance. And so we knew some time in advance. And then there was a sudden amount of, well, we've got We've got to put out the an application, a call for applications. And we need to do that within a certain timescale. You know, you know Django. Within a certain timescale is not Django's 40.

4:34

Speaker 1: Except the releases. The releases though are

4:36

Speaker 2: the releases have a a cadence, right? And you know, Jake can tell us all about that momentarily. We you know to have to do something in a in you know quite a short period of time really is difficult. And then we put out the um request and we had over a hundred applicate applications and They were many, many of them were just really, really, really super. And so um that was that was Quite encouraging, you know, you y when you when you get that number. But it was it was a lot to go through. Um I was handling the first content. I was handling the first content and my my hack was to read the applications as they came in.

5:21

Speaker 2: So that you know rather than leave. Yeah, yeah, yeah. A hundred all at once is a big is a big lift.

5:30

Speaker 1: Well, so I was gonna say, so obviously you had to pick one person, so you know you probably could have picked more if you had the options, but what uh what about you know what about Jacob stood out to the committee?

5:42

Speaker 2: Well

5:43

Speaker 1: just to make it awkward for you, Jacob.

5:47

Speaker 2: You've got to understand Jacob's already got something like 120 commits into Django before um even applying for the fellow application. So he's all very he's already very involved um in the core framework and he's um

6:01

Speaker 1: on the team, right? The review and team. Yeah,

6:03

Speaker 2: yeah, been around and been active and um He's very bright. Like don't tell him I said so, but he's very bright. And um you know he he was one of the um one of the um bunch that we identified in the first round and then we narrowed it down and you know Yeah, and in in the end we we he was the candidate we gave made the offer to.

6:27

Speaker 1: And he accepted, right? I mean so Jacob, we can get your Point of view. What what what was it like, right? So you sent off you sent off the application, but then there's quite a bit of waiting too on your end

6:38

Speaker 3: Yeah, um, you know, I was I was kind of invited to give some feedback on how the hiring process went and I acknowledged that like, you know, as you can imagine, there were a lot of applications to get through. It for me it didn't feel particularly long, like I didn't have a lot of feedback to give, like in that respect that that needed to be changed next time. Maybe that's just because of uh having been uh having to adjust to the academic world where job searches take a year. So six weeks is like pretty good.

7:09

Speaker 1: Yeah yeah.

7:10

Speaker 3: But um Yeah, no, I mean it's like it it must have been a real challenge to look through so many high quality applications. Um and then, you know, there's a volunteer board and you know, a small team, people maybe in and out on leave and make sure that everybody's comfortable like I'm assuming those were all major factors there.

7:29

Speaker 2: Yeah, and it came over the northern hemisphere summer as well, which is a time when people are taking vacations. And so it's you know, I think if we um or we would I think the the I don't think it's a secret. I think the the hope is to be able to put out and you know call for an another you know other um people in this role in the year in next year or so um to help grow grow it and maybe for short-term contracts rather than permanent positions or whatever but the hope is to continue resourcing this. I think next time we do it we might need to think about, you know, making that first review phase having some paid time allocated to it because um you know it's difficult. it's difficult to come to a consensus between four four or five people when those people are all on volunteer and they've got

8:14

Speaker 2: work and they've you know if it if it's only ten applicants it's a much easier thing but when there's a hundred that's all hang on.

8:21

Speaker 3: Yeah

8:22

Speaker 1: Okay. Well glad you glad you accepted. I do we want to talk about Django six point oh but uh quickly

8:29

Speaker 2: I want to go back. You just said academia, Jacob. So

8:32

Speaker 1: Well I was gonna ask him to say quickly the background.

8:34

Speaker 3: Yeah yeah yeah Yeah, yeah. So um yeah, I trained so I I did uh music and philosophy in undergrad um and then went down the music composition path, uh music composition and technology, and that's kind of how I caught the programming bug. Like you meet almost any Composer of concert music and they're all dabbling in electronics. It's kind of just an expected part of your bag of tricks. Not Python right at the beginning, but you know, that came later. Also between degrees, um I moved to Madison, Wisconsin briefly, and I was working in a uh QA job at a healthcare tech firm. So it's Actually something that I think shapes kind of I didn't know I would go into software eventually. It was just a throwaway job for a year, but like coming back to software later, I kind of realized like, oh, my first time getting my hands in the clay really with software being in QA kind of did shape how I think

9:22

Speaker 3: about Yeah, that much experience with testing really did shape how I think about software. Did a PhD in music composition and again was dabbling in technology along the way. And then had a had a course in Python and programming techniques during that PhD. and that set me up to right after my fellowship ended and I needed something lined up. There was a She Music retailer That reached out to me. They were looking for somebody who had music theory experience, Python experience, and or software testing experience, actually, primarily And it was local to the Philadelphia area. And I was like, hey, I'm that unicorn. Like I'm all they had to do was put those keywords in LinkedIn probably get one result. So I ended up there. They were doing this interesting project in um Creating a better sheet music search engine that wouldn't just search keywords from publisher blurbs because every publisher wants to tell you that their band

10:10

Speaker 3: medley is the best Christmas medley that's ever been written. That's not useful information. So we were scraping PDFs, trying to extract musical information, trying to extract queryable ranges of instrument profiles that band directors could save and perform and then COVID hit and that wasn't a moneymaker and I got redirected to all kinds of other stuff. So anyway I had a really interesting couple of years as kind of a Python generalist slash project manager slash uh sort of finger in every pie kind of thing. And it was around that time where the senior developer I was working with had left to go start at Meta. And I realized like I need to learn more, right? I'm still pretty junior. I don't have a senior developer looking over my shoulder all the time. And that's honestly when I got involved in Django. Because I

10:55

Speaker 3: I thought, you know, I want to learn more about the web. And there's this community where you can get involved, you can volunteer some time working on pull requests and tickets, and you'll get feedback. And so that was that was that was kind of how I got involved in Django. And then it just so happened that my next roles after that all involved Django. And so I stayed involved. tried to bring my knowledge of what was going on in Django to those rules and say, hey, we could install this package or extend what we're doing with the ORM. Look how expressive the ORM is these days. Yada yada yada.

11:27

Speaker 2: I always say that contributing to open source is like one of the best ways to level up, one of the best ways to learn.

11:33

Speaker 3: Yeah. That's exactly what happened to me. Yeah.

11:37

Speaker 2: I mean you get to see quite good code and quite clever people give you feedback, right there.

11:42

Speaker 3: Yeah. Yeah, and so that's what's cool about being a fellow now is that um like I get to pay some of that forward, hopefully, with luck.

11:49

Speaker 2: Yeah. And you how long you've been doing it now? Two weeks, two weeks, something like that?

11:55

Speaker 3: Uh let's see. Yeah, like five, five weeks, something like that.

11:59

Speaker 2: Five weeks already. So

12:00

Speaker 3: one of those was a conference week. I was at DjangoCon US in Chicago, early September.

12:05

Speaker 2: And how are you settling on your feet?

12:08

Speaker 3: I mean it's it's it's been great. Um I, you know, I'm in the lucky position to be able to kind of start in a Started in a role where I've been doing many of the tests before. Obviously, I mean I hadn't been on the security team before, I hadn't been rolling releases before, but like I'd seen kind of the the guts of how jingle pull requests and tickets go. So that part was relatively smooth. I should also shout out to Sarah and Natalia and the many people at the DSF who worked very hard to make sure that I had a smooth onboarding. That was great. But yes, it's a I mean it's a welcoming community and and there's uh it's a lot of trust that's bestowed on you kind of right when you start.

12:55

Speaker 2: Yeah, I mean but you've already earned that trust, right? You you that's the whole point of hiring process. The worst, what's the worst thing that you can do? You know? Anyway, Will, you were gonna ask about something.

13:14

Speaker 1: I was just gonna ask him to share a little bit about his background, but he just did. Okay. So

13:19

Speaker 2: Okay, fine. So 6. 0?

13:24

Speaker 1: Well should we 6. 0. I 'm sort of excited to talk. Yeah. I mean so Natalia's gonna be the release manager on this, so you get to watch one and then I think six point one you'll be the release manager for Jacob. Is that right?

13:35

Speaker 3: Yep. Be my turn. We just take turns.

13:40

Speaker 1: Um so I don't know, Carlton. We we saw briefly touched upon it, but there's I I don't know what maybe maybe what's interesting to people. I mean, we have two fellows on here, right? Like from the outside, these releases just sort of appear, but it's an immense amount of work to go from feature freeze to release. Like what if what do people what should what should people not know or what should people know that they don't about you know what fellas actually do to get over that line

14:10

Speaker 2: Or to give it another way, like I know you've seen Jake, uh Jacob, I know you've been around and you've seen you've seen what's going on and all the rest, but getting that alpha out the door is not quite Not quite as smooth as you might think, huh?

14:24

Speaker 3: Yeah, that's um it's it's funny, like you you You prioritize things correctly so that you have as much time as you need to deal with any last minute surprises and then inevitably there's a surprise on the last morning where it's like, oh, you know, is this feature ready to ship? Do we need to document this one thing or back out this one piece? And so yeah, there was just a little bit of last minute uh hustling to just uh back out a small part of a feature that we figured wasn't ready for prime time in it in the case.

14:49

Speaker 2: Okay, so why I was busy watching from the bleachers. you know cheering away but it it was um Django Tasks was coming in right and tell tell us what happened there. Oh uh

14:59

Speaker 3: well so first of all uh I mean it's a success story. I mean it's um I think we 're You know, it's it's a DE it's a Django enhancement proposal that's been around forever and it's being implemented in phases. So Django 6. 0 is gonna have the basic interface and it's gonna have the backends for development and testing purposes. So the dummy backend and the immediate backend. I think the database backend is coming in a future version. And I think that was a really smart division of effort. So we just had the plan to merge what I just said, the interface and development testing pieces into 6. 0 for the feature freeze. And it went through multiple rounds of review from lots of people from the community. Obviously it had been implemented first as a third-party package and so it had been it had already matured. Wagtail had already been using it, others have been using it

15:44

Speaker 3: Sarah gave it a thorough review. She asked Natalia and myself to give it a thorough review. And Jake, Howard led the implementation, did a fantastic job, super responsive. And um and then yeah, just the night before the feature freeze, uh I think it was Simon piped up and said like did you remember to check this against multi-database setups? And it's just like that's the one thing nobody had on their checklist

16:06

Speaker 2: that like, you know, and it

16:07

Speaker 3: made me think like, oh man, this is just There needs to just probably be a checklist for every major feature. Just has the integration against every major part of Django been checked, and it's just we missed multi-databases. Yeah. So

16:20

Speaker 2: quick look at the thing.

16:24

Speaker 1: The good thing about being new is you you have fresh eyes to this, right? So like

16:27

Speaker 3: Yeah.

16:28

Speaker 1: At least for me, whenever I started at new companies or I had people join my team, I was always like the first like two weeks, write everything down because you're gonna get tunnel vision really quickly. But Yeah, checklist that's added on by future fellows is a good idea.

16:42

Speaker 3: Yeah.

16:43

Speaker 1: Sorry, Carlton.

16:45

Speaker 2: No, I was just gonna say so quick little panic, quick little to shuffle and then, you know I sold it.

16:50

Speaker 3: Well it's great. Everybody volunteered to help. Jake was like, Do you need help? Like he was around that morning watching it. You know, that Tali had already asked me to prepare the PR so she could prove it and merge it. It's like, but then we had we had backup there because Jake was ready to help too. So it was great.

17:02

Speaker 2: Yeah, and then the pi the feature freeze went out um the feature freeze out. I mean because the the the there's two bits, right? There's the feature freeze where you say, right, no more's going in, and then there's the alpha and it's It's kind of up to the release manager to say, look, the alpha needs to be a couple of days later. It's like, look, I've got one PR that I'm gonna merge, but nothing else. That's okay. But you know, obviously the expectation and the want is to get it out on that day. So there's a sort of pressure to release it.

17:31

Speaker 3: Yeah, but I mean good experience. People should download it, check it out, and run their project test suites. Report issues.

17:38

Speaker 2: Hadn't had any big ones come in already or not?

17:41

Speaker 3: Nothing.

17:42

Speaker 2: Nothing. That means no one's been testing it. Come on, folks. What you don't want is um is all the issues to come in the day after the final release, right?

17:53

Speaker 3: Yeah.

17:54

Speaker 2: Okay.

17:55

Speaker 1: Yeah.

17:55

Speaker 2: What should we do?

17:56

Speaker 1: Can I ask about Oh Carlton. Sorry, there's a little bit of lag. Carlton, you go and then I'll

18:02

Speaker 2: ask what's your mo what's what you're most excited about in six point nine?

18:08

Speaker 3: Yeah. If you've covered the headline features, I mean uh tasks, yeah, obviously that's um the having having yeah better development and testing tools for tasks is I think gonna be a huge win for developing. Being able to turn celery off. It's gonna be great. Yeah, and then just in terms of like deep cuts or minor features, I sort of asked around when I started. I I think my approach as a fellow when I started was to just try to close as many open loops as I was already involved in before like taking on new projects. And one of them was a kind of uh PR that had been sitting in the the review queue for for ages and it had been a contributor that was sort of uh what I think sometimes people call taking the vulture approach where they take a a PR that's stalled and then they take up the mantle and try to run it to the finish line.

19:00

Speaker 3: And this is somebody that I'd iterated with as a reviewer before, and I was kind of building expertise in an area I wasn't totally familiar with. It was in Postgres full text search. And it was creating a new expression called a Lexeme that you can use to sort of safely wrap user input and compose queries with those pieces of user input and negate them and combine them without having to escape everything by hand. Which is complicated enough that it might turn you off from trying to even implement those kinds of features. And so I'm poking around in a you know contrib. postgres, an area I don't know very well. Um got as far as I could with it. And so I kind of asked Sarah Natalia, like, hey, you know, is there any bandwidth should you know this reviewers or this contributor's been waiting? Can I just try to bring this over the finish line? And they said, yeah, if you have the bandwidth Go for it.

19:45

Speaker 3: And we got it into 6. 0 with an assist from a few reviewers at the last minute that were able to sort of validate that we weren't far off from the mark. So Um so that was cool to be able to land that kind of out of nowhere right before the feature freeze.

19:58

Speaker 2: Yeah, we were unexpecting one.

20:00

Speaker 1: Well as you said, you you'd spend so much time on the other side and now that you're in a position to to do some of these things that maybe aren't as publicly visible, but you know that within the people committing code, like that's a that's a big deal. It feels good for them, feels good for you. Like, you know.

20:17

Speaker 3: Yeah.

20:18

Speaker 2: So I have one more kind of question that I'd like to dig in just on this topic. It's kind of about Django's roadmap and your thoughts on How we go forward. So it always strikes me that um every release is and it knocks it out of the park. You know, you know, go back as far as you want. 4-2, great release, five, great release, five-one, another great release, five two, another great release. We've got another super release coming up this time And yet it's all done on volunteer. It's all done on volunteer basis. It's just what happens to be ready at the time. I wonder how you feel about that over the medium term.

20:55

Speaker 3: And you had a five

20:56

Speaker 1: you had a forum post on this, Carlton, we'll link to as well, I believe.

21:00

Speaker 2: Did I? Oh, brilliant. Okay.

21:02

Speaker 1: Didn't you?

21:03

Speaker 2: I might have done.

21:06

Speaker 1: Yeah, you did. Sorry, because it's behind the scenes. I I'm pretty sure you posted something and then you asked me to jump in and, you know, boost it or something. One of us is losing our mind here. Sorry, go ahead, Jacob.

21:24

Speaker 3: uh it's risky, you know, like how can you depend on contributions from volunteers and to be able to ensure that something is ready enough to merge? On the other hand, it's like if it if it ain't broke, don't fix it. You know, Jingo's really lucky that it doesn't have like this, you know invisible hand of corporate money behind it, like telling it what to do. Like that's very good for Django. This I'm not saying should change anything at all in that respect. Um And I think, you know, if this success is going to continue, if we're going to still having still have great feature release after great feature release, it's going to depend on people who just believe that. you know, new features uh and new and important features can still land in Django. Like it's not that we're closed for closed for new features. I've seen that on Reddit. I've seen a post like, oh you can contribute to Django, but they just do bug fixes. Like you gotta understand

22:09

Speaker 3: Yeah, no new features really. And

22:11

Speaker 2: that's read it in a nutshell, isn't it? Like 'cause get the major releases and go, well that Look at those and look at those and look at those and look at those.

22:20

Speaker 3: That's true. And but I just for people listen to this podcast, it's like if you hear your coworkers talking that way, like just I think uh that's my answer to your question. It's gonna take uh people continuing to push back against that idea. for the success to keep happening.

22:34

Speaker 1: I mean people need to go in the forum. Like I mean Reddit, I for work I'm on Reddit responding to stuff. But like you're only Usually at a negative extreme if you're doing stuff on Reddit. It's there's there's some signal there, but it's a lot of noise. Uh I would say, right, if you go in the hop in the Django forum and You're still finding people pretty riled up about something. That's a good signal because that's a self-regulating community and that's where more quality happens.

23:02

Speaker 2: So the the reason I'm interested is because with uh Django Named, we're going to do the roadmap workshop and the idea is to come out with some sort of key things that you know, we we can take back to the community and say these were the ideas that were raised at the at the workshop, but then do a teeny bit more and kind of break them down a little bit so that they're addressable to contributors in you know the example I keep giving is uh modernised contributors right that's just too big a you can't do that but right um you know um to break it down and maybe you know um do a a survey of the available two-factor auth options in the community so that you know we we know we've got a starting point that well that's really addressable to a potential contributor. And I think if we can identify those and you know help to identify addressable things, then we can we

23:47

Speaker 2: it's not that we haven't got sh contributors, we've got lots of volunteers. And it's guiding them to things that the community wants to see go forward. And that's kind of independent, I think, of having a big corporate sponsor who's paying for things to get done.

24:01

Speaker 3: Yeah. Yeah, I'm excited to see you leave those or you know, I'm excited to see those unfold uh at the at the sprints in Spain and then to see that disseminated in the community.

24:11

Speaker 2: I mean part of it's been historically, I think part of the um this perception has been that we haven't had a a visible roadmap. We haven't had anything where we're saying, look, these are the things we're working towards. I don't know. Anyway, that's that that was kind of what I wanted to ask you.

24:28

Speaker 1: Is anything about APIs going to come up? Because that was that was one of the takeaways from DjangoCon US.

24:34

Speaker 2: Yeah, I would imagine that will get raised. Um I mean it

24:38

Speaker 1: 's nothing more to say on it right now.

24:40

Speaker 2: Well I I I sp fired off last time. Jacob, what do you think?

24:45

Speaker 3: I think it's it's it's time. I'm glad that we're not just ignoring it. Um I think I'm eager to I'm eager to see how much we can do with less. I guess. Are there forgotten bits of Django that we can build upon, you know, that leverage parts of I don't know. Doesn't require ingesting a whole new apparatus. And honestly speaking from my own personal experience, like I can't answer that question. I'd love to sit down and play. And I don't have time during the week as a fellow to just yeah sit down and play. At least not right now, not this week. So I'm excited to see what other people are going to come up with.

25:23

Speaker 2: Just on that, actually, um this week there was some discussion again on uh Mastodon and Emma, who's on the steering council, she put uh Dallas Call, she put out a um proof of concept around the blog post that she'd written on um

25:36

Speaker 1: oh yeah

25:37

Speaker 2: doing

25:38

Speaker 3: oh that's great I remember that post yeah

25:40

Speaker 2: so there's a little package called Django Rest2 I think it's called and it's it's tiny it's lovely it's got like a list view and a crate view and you know it's got all the the sort of crud views and it's got a serialization method but if you go in there's there's there's almost no code to it it's It's like, oh that that's kind of quite interesting because it's not it's like um these um I said to her that I liked it because it was like um find CMS versus say Wagtail or Django C CMSs. You've got these these giant CMS packages and then you've got something that's much more minimal that you know it just works with the Django admin. Well the same here. It's like this is a rest solution that works with very little resource beyond what Django already provides. um to talk, you know, to your point about looking for something more minimal.

26:25

Speaker 2: So I was excited about that. Okay. So you just said I'm I'm gonna bump in one more question because you just said and then I really am gonna let us you just said about not having time to potter on things during the week now.

26:38

Speaker 3: I knew you were gonna pick up on that.

26:40

Speaker 2: Yeah, yeah, no. It's like it how you how you finding that aspect? Because the but the federal role can kind of consume your so many tickets, so many issues, so many things going on, it can kind of consume.

26:52

Speaker 3: I guess, you know, to play, I guess, the other side of that argument, I guess you could you could you could suggest that like okay you can't be effective in your role unless you allow yourself enough time for professional development and have a play with something you need. To have a play with. And I would say, sure, that's the feeling I came out of Django Khan US with, which is that like, oh, I need to spend 45 minutes playing with this and 45 minutes playing with this just to you know keep up with the conversation. And so there's a time and a place for that, and I think it's gonna come. But also it's like I've started in the new role and we've got a we've got a backlog we want to start hacking away at. I just kind of feel like that's the first part of my tenure, that's the part I want to focus on. And um yeah, maybe down the road there'll be time for Yeah, trying to well Carlton, you talk about guiding contributors. If guiding contributors effectively means having a play or just, yeah, doing a survey of

27:38

Speaker 3: the tools out there. I mean, I don't know, maybe conferences are also good places where that happens. Like speaking with people at DjangoCon US, I didn't realize the the uh just the force or weight of opinions people have about things like DRF. Like I I knew people had opinions. I didn't know they had opinions about it. Um that was just interesting feedback to gather. You know, just the Yeah, sheer sheer weight of those emotions. Um but yeah.

28:03

Speaker 2: Yeah, I mean there aren't many things that Jang and Naught would go to war over, but DRF, that's one of them.

28:09

Speaker 3: Yeah, that was news to me. Um

28:13

Speaker 2: Well j Will, you were there with uh Jacob at Jenga Con US. Yeah.

28:17

Speaker 1: Yeah. No, I mean I was feeling a little, you know, deja vu all over again because seeing Jacob be the new fellow and you know go around the sprints, I want to ask you about that. Um, but also I remember I guess Natalia and Sarah when they became fellows seeing seeing you kind of pass off the baton, Carlton, in a sense, and then seeing them you know, not pass it off, but also try to, you know, bring Jacob in. And so I was having definitely like, you know, it's like two, you know, sliding doors or something, right? Like Or maybe that's not the wrong analogy, but like two versions of the same thing.

28:51

Speaker 2: The circle of life.

28:52

Speaker 1: Circle of life. No, but I think it was good. I mean, I hope it was good for you, Jacob, right? I mean, I think that's the thing that You knew, but now you really know is just how much trust and autonomy is placed in you as a fellow. I mean, I know N Natalia in particular coming from a corporate environment with you know still is like, well who's you know, who's the manager? And it's like, well, you know It you know, so a lot of these questions have to kind of come within. You know, how do I find time to be playful, right? Like I mean, I s I struggle with this in my own job, right? The irony is Like I'm a developer advocate talking about code all day, but how much time do I have to actually spend three, four hours playing with something? You know, I'm getting better at doing that. So Yeah, I don't know.

29:38

Speaker 1: It's just interesting to see. And I I think I think you quickly picked up on it, right? Because a lot of the questions you had, Natalia also had, and it's kind of like, well, you know Uh I probably even said like off the cuff to you, you know, in a way, as long as people online are relatively happy and the fellows committee is kind of happy. It's really on you to define the role how you want. Like there's tremendous trust unless you screw up. And

30:02

Speaker 3: you're out of it.

30:04

Speaker 1: Then you just boom.

30:07

Speaker 3: Yeah.

30:08

Speaker 1: So I I I don't know what the point is of that. I guess it was interesting for me just seeing you go through that. And I I hope that you had a chance to meet as many people as possible because I know you'd been to DjangoCon Europe, but um even at a DjangoCon US, not everyone knows what how the fellows work. Um, right? Even among those three hundred people, it's still kind of a yeah

30:30

Speaker 3: Yeah, I didn't come anywhere I did yeah, I didn't come anywhere close to meeting everyone, and I I sh wish I had met more people and next time I'll rectify that. Um but uh you know I met as many people as I could and

30:41

Speaker 1: Well now they're gonna come up to you and hot pid pigeonhole you and be like, you know this? Open invitation.

30:46

Speaker 3: Open invitation.

30:48

Speaker 1: Carl Carlton knows.

30:50

Speaker 2: Well, but the you you get you must have done better than the M plus 1 rule, right? So the so the the M plus rule 1 rule is that um for each di each Django con you've been to, that's n. And then each day you have to meet N plus one new people. Now that's that's okay if it's your first one. And your first one you've got to meet two people a day. That's you can do that. But you know, if you're like Russell Keith McGee and you've been to twenty of the things, it's gonna get quite difficult.

31:17

Speaker 3: No.

31:18

Speaker 1: Yeah. Well Carlton, mid-roll, we have to shout out to Hacksoft.

31:23

Speaker 2: Okay. Hacksoft is your development partner beyond code, from custom software development to consulting, team augmentation, or opening an office in Bulgaria. They're ready to take your Django project to the next level.

31:35

Speaker 1: Yes. And thank you, Hacksaw, for being a sponsor. It helps us do this.

31:39

Speaker 2: Absolutely.

31:40

Speaker 1: Switching slightly. So Jacob, what what do you want to ask the community, right? Because I think there's a lot put on upon the fellows, but you probably already see Are there things people can do with tickets or just online engagement? Like how can how can people help you and the fellows? Because I don't think that question is asked. Much.

31:57

Speaker 3: Yeah. I guess my my loosey-goosey first answer I already hinted at, which is is just to like stay positive and like continue to believe that like we do

32:07

Speaker 1: that

32:08

Speaker 3: discussions will come to a resolution that you know features will land in Django, right? So not to be discouraged and take your energy elsewhere, but to like stay engaged. you know, look at a discussion and try to determine what would move that discussion forward and then just be that person instead of waiting for I mean because it's funny you just Willie just said like even the fellows ask questions like who's the manager and it's like There isn't one, you know. So the same thing goes for contributors. Like be that be that man be that project manager, right? Help resolve the blockers. Don't just don't just wait for somebody else to you know, whatever, outline the blueprints, like help help make the blueprint with us.

32:46

Speaker 1: Yeah. Well there there is, it may not feel like it, but there's way more structure than there used to be. I mean, 'cause now uh there's a board member and here we come to the the show, uh Jeff Triplett. You know, so but that that was one of the things people said at DjangoCon. They're like, you know, the drinking game. I forget who said it. Was it you, Jacob? Or someone said, you know, we have to I have to mention PyCharm and we have to mention Jeff Triplett as our Django Bingo. But Jeff is the uh I think the official fellow liaison with the board. Uh in some capacity, right? So right? So he checks in?

33:17

Speaker 3: Yeah, no, we have great open lines of communication. Um Andrew got with us on a regular basis to just hear how things are going and also to play that role of trying to remove blockers if there are blockers that are slowing us down. And so it's great to have that support. So yeah, I I think we well, speaking for myself only, I feel supported. I believe the other fellows feel totally supported right now.

33:38

Speaker 1: Which is great. I mean, and I think just before that when I was on the board and I would literally text Carlton the day before a meet a monthly meeting being like, uh how's it going? Any any requests? You and Marish, you know, let us know Um yeah, so there was some c there was some, but it was it was pretty much that, right, Carlton? And most of the time you're like, yeah, we're good.

34:02

Speaker 2: coming in is it's a little bit more um specified. It's a little bit more I mean this is mainly Natalia who's been driving this and it's a big credit to her. And I've been really impressed with the way she's seen the lack of how would Florian um Apolloner described it as a YOLO approach that we have. And he's right, it's a kind of And it's just been the way it's always been. We've always just kind of got on and and done it and it's been fine. But Natalia's come in and she's been like, no, that's not fine, because that's not It's um great for onboarding, it's not great for continuity, it's not great for you know and she's absolutely right and she's identified issues one by one and ticked them off as trying to make them better. So you know I've Just constantly impressed by Natalia's professionalism.

34:47

Speaker 2: But yeah, it used to be you text me and I text you and we'd be like why why did we have that back channel to the board? Well because we did the podcast but it can't it shouldn't rely. Right

34:56

Speaker 1: well you know

34:58

Speaker 2: only employees own or own not employees but only paid work that's on Django His only route of communication to the ball goes because we happen to do the podcast. Like that's

35:07

Speaker 1: Well, right, because we would have I I think people don't know. I if people know about the fellows on the board, they don't realize that they really handle different areas. And there's some people who overlap on both, but it they're meant to handle different things. So Part of that started, Carlton, because we would have multiple times where yeah, no one no one was really in charge of the fellows. You know, it was like, what do the fellows think? I don't know. Like you know. That's kind of why I got in the habit of of asking you. Um

35:35

Speaker 2: and I'm hope and I'm hopeful the step the steering council now the cause there was no steering council role. There was a steering council, it wasn't doing anything. And for the entire entire time there's no guidance coming through and no communication with the community. I think yeah what we're trying to do on the steering council is kind of get that going. And if we can establish that in our tenure and hand that off to the next steering council as something that's exists, then there should be much more structure combined with, you know, fellows having proper management and proper guidance. And then the a a steering council that's actually helping to steer the technical direction and then the board can do its thing without there being these kind of gaps. But it was Back when Marish and I were doing it, it was well, it was Marish and I and the the board organized the board did the board bits, but

36:21

Speaker 2: There was no other structure. Um

36:24

Speaker 1: Yeah. I d I do want

36:25

Speaker 2: to

36:26

Speaker 1: I do want to mention too the um the the weekly fellow reports that are put on the forum that we we Jeff Jeff and I put in the Django news newsletter and I've committed to Uh, you know, we talked about this at DjangoCon US actually, right? Like because fellows take quite a bit of time to list, you know, reviewed, triaged, authored, talked about, and Some people see those, but I think they put more time into them than maybe people see. And so I one of our actually dinner conversations, I think Jacob, right, with Natalia was, you know, hey, if there's a couple sentences That can just go in the newsletter as sort of like the the headline and then we'll leave it. Well that's I I saw that. That's it that's okay. I d I don't I w I went in. I went in to look and I was like, oh wait, like

37:11

Speaker 1: a poker

37:12

Speaker 3: re week. It was it was it was a post it was um I became addicted to watching the the queue go down after the conference, right? So it's just I was just hacking away miscellaneously. Yeah, yeah, yeah. No synthetic

37:22

Speaker 1: I'm not committing to putting it in all the time, but I do I try to and you know Natalia of course was like, okay, are you gonna do it? You're gonna do it and I was like, Yes. I go. If you write a paragraph, I'll put it in there. So I I try to look.

37:34

Speaker 2: You talked about the cues there, Jacob, so I would um You know, my day would start as a fellow crack open dashboard dot jjangoproject. com and look at the numbers and like, oh there's a number if you take it, quick, get get on that. There's a you know 32 PRs needing to review. Right, let's see if we can pull that down. It's kind of like a slight little bit of gamification. It just needs a few animations and some.

37:58

Speaker 3: Yeah. Are you volunteering to add some? Is that what you're suggesting?

38:03

Speaker 2: Yeah, no, I think that's that would be a good addition to help help um stimulate stimulate the mellow's enthusiasm for you know their task is to little you know stars when they when they Like mark a ticket as um you know um read uh ready for commit.

38:20

Speaker 1: So We're gonna ask you the magic wand question, Jacob, but I'll give you time to think about that. I wanna just mention one thing. So what would you f Magic wand to change anything about Django Right. So you can mull mull on that as I say something else, which is I think maybe the thing I'm most

38:35

Speaker 3: sorry. Is

38:36

Speaker 1: that too much for you?

38:37

Speaker 3: No, no, no. I just Django the repository, Django the community.

38:42

Speaker 1: All of it.

38:45

Speaker 3: Okay.

38:45

Speaker 1: You make the rules, right? Um one of the things I'm maybe most excited about, or not excited about, but I'm pleased to see is that in the Django News newsletter, there's a Updates to Django section, which Sarah Boyce initially started, and now members of the Django Not space often come in and do where they'll say, you know, we had X many uh pull requests merged in and do a little description. And I know that like I don't I don't live in track. Like I don't always see like that's my entryway in to see every week, oh, you know, there's 10, 15, whatever number of tickets handled. And so I'm personally really I I kind of feel like I wish we had more visibility to that point of how dynamic Django is on the inside. Again, it's double digit basically every week

39:32

Speaker 1: are merged in. Um and so maybe I should go on Reddit Reddit and find that post and link it link to them. But I'm really pleased about that. I d I think we could do more with it, but I think it even within Django, like there's people, you know, if you're on the review and triage committee, like you're seeing it. But then and I think this was Sarah's like sort of insight was like, well People aren't even seeing that level, let alone, you know, bubbling up to like a major feature in a in a feature release. So I'm really happy about that and I'm open to ideas on how to shine a light, I guess more on that, around So both you the fellows, you all just slamming through so many tickets every week and then also things actually being merged in. So how do we disabuse people of that notion that nothing's changing?

40:17

Speaker 1: Because you know, stuff is changing. Anyways. Magic wand. So that's that's my magic wand. Just to shine the spotlight. Now you're your turn, Jacob. Anything goes.

40:31

Speaker 3: Testers. We need more and early testers, you know, and more of a culture of testing. More more of a culture of like, I'm running my project suite. I'm well, I'm I'm writing enough tests to cover the functionality that's mission critical for me, and I'm testing against the alpha and my dependency isn't ready and I'm letting them know. You know, and it's the same thing that goes for the community. It's like when you're interacting on the repository, you want people to be aware of who they're blocking And just try not to be the blocker. And if you're a third-party package, the same thing goes. It's like you shouldn't be the blocker that prevents your users from testing against Django 6 beta. or whatever and and that maybe somebody needs to let you know that you're the blocker and that person might be you running your project test suite. So just I mean, we talked about this earlier, you know, Carlton's saying it's gonna be the day after the release and you're gonna start getting bugs rolling in about Genko

41:19

Speaker 3: 6. And it's like, yeah, that's that's what I would Setting that, yeah, setting that awareness, setting that intention that, you know, this is just a normal part of developing a Django project to test against the pre-releases when they're ready.

41:32

Speaker 2: I mean, if it's any incentive to people listening, like the the fellows do keep a mental note of who reported the bugs during the alphas or during the previous and who reported them the week after. the final release, right? They know. Oh yeah, yeah , you're that one. Yeah. Same again, is it? Okay.

41:49

Speaker 1: You just need that external list. Carlton to share with oh here we go.

41:57

Speaker 2: But it's you you know who's testing and who isn't. And it's it it it's It 's not about reputation, it's about um being involved. And like if you're if you're turning up during the pre-release with the with a bug report, look, I've run this on my test suite, I've got this regression. That that makes you known and it's you know it gets it it it doesn't get you it gets you into the community, right? It gets you ah right that yeah it makes you a contributor in a way that turning up the week afterwards It it's not quite the same. Just isn't.

42:33

Speaker 3: Also, there's a huge self-interested reason to report it early. It's like we'll fix it before the release. But yeah

42:42

Speaker 1: Well, one thing on on testing, I'll put a link to it. I've been struck by there there was a recent article on epic. ai talking about um so these benchmarks for LLMs, and one is Suibench Verified, which is uh largely around Python projects. But this is one of like the big, big when you see like percentage, you know, Sonnet four point five is ninety percent and GPT-4 is, you know, seventy percent or whatever. It's forty six point two percent of of it is Django. Is like L LM's testing against Django. Like it's not even There's probably if I was smarter, there's a way I could show it on the screen for video. We'll do that in the future. But it's you know Django is just there and has these testing suites and other people are testing against it, sort of. Um But it's not like there's not tests in Django

43:29

Speaker 2: Can I ask a question about that? Well, I saw um Adam Johnson toot about this, that the the the LLMs were cheating. They were using they were so they check out the repo and then they were using the git log um history to find the commits by Mariush to solve the thing.

43:43

Speaker 1: Yeah, yeah, they're just they're just like, yeah, they're just Mariush AI. Yeah. Yeah. No, totally.

43:48

Speaker 3: Let this be a lesson, right? Shorter and less useful commit messages all the time.

43:52

Speaker 1: I'm debating if I can should I try to We'll just try it.

43:56

Speaker 2: You go no risk it. Come on. Let's see if we can get this software.

44:00

Speaker 1: I don't want to share uh image file. Oh, okay, hold on. One second. Let me let me save image as. See, we're just learning, we're doing it live. Um boom boom boom. Um nope, not that. Here we go. Okay. Well

44:19

Speaker 2: you didn't I did remember the issue that uh I opened a discussion on the forum about um oh

44:24

Speaker 1: hey hey look at that who's got game so we'll put a link to it but this is so again this the sweet verified Uh sweet bench verified. Um, you know, and it's uh so the point of the author, I think, was like, you know, there's pretty low diversity of code bases testing this. Um But you know, I mean I and why why is Flask point two percent? Where's fast API? You know, I you know. Anyways. Interesting.

44:53

Speaker 2: But is this one of the reasons why these these tools are are are supposedly very good with Django is because they're tra they're kind of almost trained against

45:01

Speaker 1: Yeah, well, and Simon Willison has talked about this a lot. I mean, because Django is 20 years old, because it's so well documented, because it's so established, it's just sitting there, right? So it's as mature as any code base is. Um so Alright, look at that. Alright, oops, now we're in the run.

45:22

Speaker 2: I quite like the other I quite like the mixing it up there So it okay, I was just um saying I remembered the issue that you were talking about. I opened a discussion about whether we should change Django's versioning number. Um

45:32

Speaker 1: yeah, one

45:33

Speaker 2: idea is I just put it as like, well, we could use a calver because I think the problem people have Um and I see it after this the point zero release and the point, you know, that's what sort of made me think of it again, was that um 6. 0 will come out and it's in it's no different than 5. 3. It's not It's not like a a major version in the in the semantic version in sense of it. And so we it we go point zero, point one, point two, and that's the LTS, and that's the cycle. And it it has significance, but you have to know quite a lot of Django before that becomes meaningful to you. And I know Will you've taught you've talked about this. This is why I asked you to comment. is that your books, people you know, they've they've they're they're five point two ready and people are like, oh but what about six point oh it's like but six point oh is the same as five

46:17

Speaker 1: Well in

46:18

Speaker 2: almost all the time. Yeah.

46:19

Speaker 1: I mean you're just scratching my my scab. It's not just me, it's any content creator for Django. And there's not many of us. Um yeah, it's it's it's too much to have to update every eight months. Um

46:30

Speaker 2: But you also don't need to, right? Because nothing's changed in eight months. Like you really not nothing.

46:36

Speaker 1: Yeah, yeah, yeah. No, yeah, no, effectively nothing.

46:38

Speaker 2: A learning Django book, learn Django book.

46:40

Speaker 1: Yeah.

46:41

Speaker 2: That's not changed in eight months

46:44

Speaker 1: Django hasn't changed that much. I updated a lot, but yeah, Django hasn't changed. But yeah, I can tell when someone writes in, you know, some issue. Oh, this isn't working. I'm like, oh, you're on the, you know. Yeah, you I can tell which ver which version or pirated version they're on, but uh yeah, it doesn't change that much. It almost never changes. There's maybe there's like one small thing that, and I'll usually do a blog, I'll do a tutorial on it, and if they just search for it, they can find it. But yeah, it's incredibly stable and um I don't know, look look at Python, right? Like I'm not saying Python's perfect with like every year is like 314, 315, 316, but it does present a feeling of stability, even as we know there's some Python releases that are a lot bigger than others, you know, like 3.

47:30

Speaker 1: 6 with F strings, right? Like they're not all created equal, I would say from the outside. Maybe maybe Hugo feels differently, but Anyways, yeah, I'm in favor of it. I mean, I've sort of given up on trying to push that boulder up the hill.

47:50

Speaker 2: the state what the status quo until someone comes up with a better idea. But

47:54

Speaker 1: yeah.

47:55

Speaker 2: But

47:55

Speaker 1: acknowledgement of the acknowledgement of it being um you know in one Carlton I we're gonna do an episode on the Django survey results which come out soon. But one thing again it's I think it was 4,500 people, so it's not the whole community, but it's quite a lot of people. 83%, something like that, claimed they were on the latest version of Django. So not even the LTS, like the latest, latest version. That feels high to me, but I think it's great if at least 4,500 people uh are doing that. Right. So maybe, you know I don't know. The LTS thing is right, is great, but it's a it's a real you will find Jacob it's a real burden for the fellows to support for three years. Um if that if you if it's not already apparent.

48:40

Speaker 3: Yeah. Well I mean Jjingo's benefited from a really clear backport policy, so the more we can just sort of direct reporters to the policy, it takes some of the heat off.

48:49

Speaker 1: Yeah. All right, so we're I think we're at the our books and projects stage of the show. So this is optional, Jacob. You're not required. Carlton and I are trying to start a new thing. So I I'll go first. Project, I want to shout out Django watch files from Adam Johnson. So this just came out recently. So run server, it auto-reloads and it goes through the whole file system. And um Watch Files is a faster written in Rust way to do it. And so he implemented This is a third party package. So basically just refreshes faster, I think it's fair to say. And works. Yes, Carlton, go ahead.

49:24

Speaker 2: Just not just faster, it uses um way less CPU. to do so sorry

49:29

Speaker 1: yeah

49:29

Speaker 2: and yeah and so the key point there is if you're developing on battery that makes it's gonna make a massive difference to the amount of time you can develop with um versus you know the built-in stack um file stat run server, which you're probably gonna use you know 10% CPU, which is it's just ticking away from burning your battery all the time, whereas the watch files um approach is much more efficient. So I think It's worth giving it up.

49:53

Speaker 1: And um so people should use it. And I think he even mentioned if it picks up momentum, that could just like Django template partials, maybe make its way into core. Um it seems like the perfect kind of thing to just incrementally improve uh Django. Anyway, so I've been using that. That's cool. Carlton, do you have a project?

50:13

Speaker 2: Yeah, I do. Um it's another one from Google Summer Code this year, and it's another one that we'd like to have in court. Um but You know, we don't want to experiment in call. We want to you know test things out. So it's um Rafi Khan who um in good as part of Google Summer code did uh Django admin key shortcut. So the keyboard shortcuts for the Django Am. And it's a lovely looking package. It's small. It's it's lovely to play with. But we need people to test it and feedback. Get some community engagement with it to make sure that it's stable enough and all the rest of the and and where the design decisions are right and um all those other questions that Just start using it, play with it. Do do you like it? Is it are there bugs? Are there issues? Are the keyboard um shortcuts defined correctly?

51:00

Speaker 2: Are the do they clash with other keyboard shortcuts that you've come across? Are you able to um define your own custom ones in the way you want to? These kind of You know, is is it right? Um, I think it's would be a lovely package to merge in um for accessibility and usability around the admin, which is probably one of the main reasons why people use Django. And so I really recommend people trying that out. We do need the community feedback on that.

51:25

Speaker 1: Yeah, there's a nice Django blog on it, which I somehow I missed. I must have been a DjangoCon that we'll link to September 4th. Jacob, did you have one? You don't have to, but

51:36

Speaker 3: Yeah, yeah, no, I I did think of something. Um I was recently on a project that had a lot of SQL objects that needed to be managed and I we were I We started using Django PG trigger, great, but we had other things that weren't Postgres triggers. So I was looking around for something that would act like that, that would be able to calculate forward and reverse migrations from a single source of truth instead of spraying your 150 line forward migration for deploying this you know hefty object and then your hundred and fifty line string for the reverse migration and now your migration file is unreadable and you have several versions of that I was like, there's gotta be something in the community for this. And there's this old solution in the community that's recently been forked to be tested against recent Django and Python called Django Migrate SQL. I think the fork is Django Migrate SQL de. And you just put it in your install apps and it just works.

52:23

Speaker 3: And now we've got like real clean git diffs on our 150 line Postgres functions. Al

52:31

Speaker 2: also as well, you've actually got backwards migrations, right? Because you talk about that hundred and fifty nine backwards migration as if it was real, as if you'd actually written it. Um

52:42

Speaker 3: Yeah. Create a replace and then the same exact thing and then you're trying to figure out what's different about this and you end up like, yeah.

52:51

Speaker 1: Oh wow, it only has three, well now four stars. Uh

52:55

Speaker 3: it's a sleeper. Yeah, yeah, yeah. But yeah, it's prevented us from putting SQL files into timestamp folders. And I was like, no, no, no, we're not, we we gotta use Django for this. And I was just pleased to see that somebody had solved this problem.

53:10

Speaker 2: Okay, that's a super one. I'm gonna check that out.

53:13

Speaker 1: Wow. Carlton, book. You have a book.

53:17

Speaker 2: Yeah, I do. So I'm um I'm gonna recommend software. Can you see that on the table?

53:21

Speaker 1: I have a c I have a copy of that because you

53:23

Speaker 2: Yeah, no, software design by example um by uh Greg Wilson. It's a fantastic. I gave this a review in my very first um stack report, which is my newsletter that I do monthly. The very first issue is a review of this raving about it because I just got it And I picked it up again recently, so yeah, a year or so later, and I'm just like amazed by it again. There's just so much depth in it, and the more time I spend with it, the more I find. And I think it's not so much in the book. Because in like I'm finding more in it if that makes sense. I didn't read it. It's that my my my take on the exercises and examples have have gone so Um like the big idea is it talks about complexity and how you manage complexity and then the appropriate extraction level for the complexity of your app that you're at, which is just It's just really wonderful. But then the examples of like how classes work, really, and um

54:10

Speaker 2: things like um row row-oriented versus column-oriented storage, which was one of the kind of Really fundamental, like how why do I need to do it this way to get it when I'm doing this kind of activity? Um, questions. Why do I need to lay my data out in this in this format? And you build, you know, you build your examples just Python dicks and small things, but that gives you a massive insight that you you kind of previously wouldn't have. And I think it's a wonderful book, and I really do recommend it. It's also freely available online if you don't want to buy a print book copy by the print.

54:47

Speaker 1: Do you have one, Jacob?

54:49

Speaker 3: Yeah, I uh I guess to go outside of software, I was uh I had a pleasant surprise of encountering um this book from approximately 1950 by Simone de Beauvoir about her travels in the United States called America Day by Day. I bought it as a lark in a usebook store for a friend who had um uh was was um uh It's funny, it's if we were visiting this curated bookstore, you know, where everything is, you know, just so and the person running the store had said, like, no, we don't have travel writing. And it's like, you know, I wasn't asking for the Lonely Planets Guide to Italy. Like I was asking for like memoir or something like that. I went back and I found this on the shelf. And I was like, look, they do have travel writing. Here it is. And so I just got it just kind of as a lark. And then I popped it open this summer and I was couldn't put it down. It feels like it could have been written yesterday.

55:35

Speaker 3: You know, America's going through a red scare at the time, and now we're going through a blue scare. Comments about youth, you know, and and what's possible. And so anyway, if you like if you like uh good prose on on travel and on America, recommend.

55:52

Speaker 2: Okay.

55:53

Speaker 1: Wow. Awesome. Mine is a short one. Hunting game. So Justin Duke of Button Down actually sent this to me because he was recommending it. We got on a whole kick talking about books and Japanese literature and mirakami and Uh yeah, it's mid-century, really well written. There's something about like really good Japanese novelists. I don't know why exactly Japanese translates in such an interesting but still good way to English. I'm sure it has to do with the translator. But it's really it's very I don't know, very Japanese, very sort of like almost English in a way, Carlton. Like very like things not said but implied.

56:38

Speaker 2: That should be on the bingo card as well, to be honest.

56:42

Speaker 1: So anyways, I'm enjoying it. Uh it's more about the writing than I think the topic. It's about like a love affair and stuff. So yeah. I can't un unlike Carlton, I can't always read software books to fall asleep at night. Sometimes I mix it up.

56:56

Speaker 2: But the software books are the best thing to put you to sleep at night because they're really, really boring.

57:01

Speaker 1: Sometimes. All right. Did we miss anything? I think we're I think we've covered most of our stuff. Anything? Well Jacob, anything we didn't ask you or you want to say while

57:12

Speaker 3: Uh no, I mean thanks for having me on. It's been you know an exciting first few weeks as a fellow and now even more exciting being on this podcast. So thanks for inviting me in.

57:22

Speaker 1: Yeah, thank you for coming on. And we'll just say this episode again was sponsored by Hacksoft, uh, develop your Django development partner Beyond Code. Learn more about the dis their services in the description. And thank you for sponsoring. And thank you, everyone. Next time we'll be, we've got we've got some really good guests coming up. We won't we won't give it away, Carlton, but we've got some really good guests coming up. You know who I'm talking about.

57:45

Speaker 2: Well I have no idea. I'm excited too. No, I do know. I do know. You've just you just jogged my memory. I wasn't thinking about it at all. So when you said it, I was like, I don't know who's coming up, but then yes, I've never thought that we have got some Good ones.

57:58

Speaker 1: Okay. So uh we're at DjangoChat. com and on YouTube. Thanks everyone. We'll see you next time. Bye bye.

58:04

Speaker 2: See you next time. Bye bye.

Questions this talk answers

What made Jacob Walls stand out as a Django Fellow candidate?

He had already made about 120 commits to Django, was active in the review team, and was known to the community. The committee identified him early and ultimately offered him the role.

Discussed at 5:47

How did Jacob Walls get involved in Django?

After working as a Python generalist, he wanted to learn more about web development and found that Django offered a community where he could contribute code and get feedback. His later jobs also used Django, which kept him involved.

Discussed at 10:55

What is included in Django Tasks in Django 6.0?

Django 6.0 includes the basic Tasks interface and development and testing backends: the dummy and immediate backends. A database backend is planned for a later version.

Discussed at 14:59

What does Django’s Postgres Lexeme expression do?

It safely wraps user input so developers can compose PostgreSQL full-text search queries—including negating and combining terms—without manually escaping everything.

Discussed at 19:00

Why does Django rely on volunteers, and what helps that approach keep working?

Volunteer contributions help Django avoid having corporate funding dictate its direction, but continued releases depend on people believing new features can still land and staying engaged to move discussions forward.

Discussed at 21:24

How can people help Django contributors and fellows?

Stay engaged and constructive: figure out what would move a discussion forward, help resolve blockers, and contribute to shaping plans instead of waiting for someone else to do it.

Discussed at 31:57

Presenters

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Jacob Walls

More videos from DjangoChat