Transcript: Django Fellow - Jacob Walls
Hi, welcome to another episode of Django Chat. I'm Will Vincent with Carlton Gibson. Hey, Carlton.
Hello.
And we're very pleased to have Jacob Walls, our newest Django fellow. Welcome, Jacob.
Thanks. Hey, Will. Hey, Carlton. Really cool to be here.
No, thanks for coming on the show. We're very excited. Are we the first people to get you since you've been fellow?
Yeah, yeah, yeah.
brilliant we got the inaugural fellow interviewer nice and thank you for being our first video guest
too this is our first time having a guest on video so it's a vodcast now it's a podcast yeah yeah a
vodcast is that what you said i was doing a pull request review the other day and there were these
test models from 18 years ago and there was a podcast class and a vodcast class i was like
jingo chat has graduated to vodcast oh i like that wow levels okay all right well let's carlton top
of mine django on the med that's next well hang on hang on i think we should say that this episode
is sponsored by hacksoft your partner be on code more on their services later in the show okay
thank you yes and speaking of the uh your side of the atlantic django on the med yes so that's
only a week away now and i'm very excited um breakfast is lined up we're getting we've got
stickers t-shirts being printed up we've got everything and jacob you're gonna make it i'll
be there yeah oh yes oh wow wow jealous so how many people total do you think i think we'll be
in the 15 to 20 zone which is nice because i you know when power and i started off it was well
we're going to be power and i said about me sat there doing whatever and so we um i think we've
got yeah in i think 15 maybe you know a few more we'll sneak out the um sneak sneak out the wood
workers the next time 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 coming
along and you know they'd be mailed out and they'd be like are you sure you know i'm not you know
absolutely absolutely um very excited um so anyway yeah it's you know for the you have to take a
picture it only counts if you document it right you have to have a picture so we're gonna have
all sorts all sorts coming up um so it's going to be it's going to be very good but on the first
day we're going to do the roadmap um road mapping workshop that we talked about 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 round up you know what have we achieved where we're going what we're taking back to the
community um so everyone's clear and you know hopefully thinking about um pushing django on
that made in the future versions you know paulo and i've done this kind of um by ourselves this
time as a proof of concept looks like the proof of concept is going to work and it's okay how do
we how do we and you have some um what python spain is sponsoring right you have some yes python
espana is sponsoring the jenga software foundation is sponsoring we've had um uh button down have
sponsored the new just with the newsletter but the you know the mailing list is you know the
important communication channel and then um in collaboration as well with the gentleman
who provided the venue um which i'm very grateful for so um that's just yeah it's super 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
a django con us and talk about this but i mean we could briefly do the full circle right so
sarah boyce is is going to be on maternity leave so then we're going to be down to one
or half a fellow because natalia is three days a week um carlton you're on the fellowship
committee yes fellowship working group can't remember what it's called but yes i'm on that
yeah 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 100 submissions or tell us yeah okay so um you know sarah obviously knew that
she was going to need to step back yeah she knew sometime in advance um and so we knew sometime in
advance and then there was a certain amount of well we've got um we've got to put out the
an application a call for um applications and we need to do that within a certain time scale you
Now, you know Django within a certain time scale is not Django's forte, right?
Django is as long as it takes, but we keep going forever.
Except the releases. The releases, though.
No, but the releases have a cadence, right?
And Jake can tell us all about that momentarily.
But to have to do something in quite a short period of time really is difficult.
And then we put out the request, and we had over 100 applications.
And many, many of them were just really, really, really super.
And so, um, that was, that was quite encouraging, you know, when you, when you get that number,
but it was, it was a lot to go through.
Um, I was handling the first contact.
I'll just say one more thing and then I'll let Jacob step in.
But, um, I was handling the first contact and my, my hack was to read the applications
as they came in.
So that, you know, rather than touch it once.
Yeah.
Yeah.
yeah because 100 all at once is a big is a big lift 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 well just to make it awkward
for you jacob like well if you gotta 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, on
the team, right?
The review.
Yeah.
Being around and being active.
And, um, he's very bright.
I don't tell him I said so, but he's very bright.
And, um, 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 the end we would he was the candidate we made the offer to it's you know and he accepted
right i mean so jacob we can get your point of view what what was it like right so you
sent out you sent off the application but then there's quite a bit of waiting too on your end
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 and 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 um 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 yeah yeah um but um yeah no i mean it's like it must have been a
real challenge to look through so many high quality applications um and then you know there's
volunteer board and you know a small team people may be in and out on leave and make sure everybody's
comfortable like i'm assuming those are all major factors there 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 oh we would i think 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 another you know other um people in this role in the year the 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 work you know if it's
only 10 applicants it's a much easier thing but when there's 100 that's all hang on um
okay well glad you glad you accept it i do we want to talk about django 6.0 but
quickly i want to go back you just said academia jacob so well i was going to ask him to say
yeah yeah so um yeah i trained so i i did music and philosophy in undergrad um and then went down
the music composition path music composition and technology and that's kind of how i got 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 um not hyphen right at the
beginning but you know um that came later um also between degrees um i moved to madison wisconsin
briefly and i was working in a qa job at a healthcare tech firm so that'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 about
um yeah that that much experience with testing really did shape how i think about software
um did a phd in music composition and again was dabbling in technology along the way
um and then had a had a course in and python and programming techniques during that phd
and that set me up to right after my fellowship ended and i needed something lined up um there
was a sheet music retailer um 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 was local to the philadelphia area and i was like hey i'm that unicorn like all i had to do
was put those keywords in linkedin probably and get one result um 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
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 try to extract queryable ranges of
instrument profiles that band directors could save and performs and then covet hit and that wasn't a
money maker 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 sort of finger in
every pie kind of thing and it was around that time uh where the senior developer i was working
with had left um 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 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 um and so that was that was that was kind of how i
got involved in django and then it just so happened in my next roles after that all involved django
and so i stayed involved and tried to bring my knowledge of what was going on in django to those
roles 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 yeah i always say that um contributing to open source is like
one of the best ways to level up one of the best ways to learn yeah that's exactly what happened
to me yeah i mean you get to see quite good code and quite clever people give you feedback right
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 good luck yeah and how long you've been doing it now two weeks two weeks
something uh let's see yeah it's five five weeks something like that five weeks already so one of
those was a conference week i was at jingo con us in chicago early september yeah and how are you
settling on your feet 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 it start in a role where i've been doing many of the tasks before
obviously i mean i hadn't been on security team before i hadn't been rolling releases before but
like I'd seen kind of 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 welcoming community
and there's a lot of trust
that's bestowed on you kind of right when you start.
yeah i mean but you've already earned that trust right you you that's the whole point
the worst what's the worst thing that you can do you know
anyway will you were going to ask about something
i was just going to ask him to share a little bit about his background
but he just did okay so okay fine so 6.0 what should we 6.0 i 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 6.1
you'll be the release manager for jacob is that right yeah be my turn we just take turns
um so i don't know carlton we so i briefly touched upon it but there's
i don't know what 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 what should people not know
or what should people know that they don't about you know what fellows actually do to get over that
line or to give it another way like i know you've seen jake jacob i know you've been around and
you've seen you've seen what's going on all the rest but getting that alpha out the door is not
quite not quite as smooth as you might think 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 hustling to just back out a small part of the feature that
we figured wasn't ready for prime time okay so i was busy watching from the bleachers you know
cheering away but it was django tasks was coming in right and yeah tell us what happened there
Oh, well, so first of all, I mean, it's a success story.
I mean, it's, I think we, you know, 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 going to have the basic interface, and it's going to 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 I 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 already matured.
Wagtail had already been using it. Others had been using it.
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 then, yeah, just the night before the feature freeze,
I think it was Simon piped up, 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.
And then like, you know, it didn't make me think like,
oh man, this is, 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 miss multi-databases.
Yeah.
So quick little thing about being new is you, you have fresh eyes to this, right?
So like, 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 going
to get tunnel vision really quickly.
But yeah, checklist that's added on by future fellows is a good idea.
Yeah.
Sorry, Carlton.
No, I was just going to say, so quick little panic, quick little two shuffle.
then you know i saw that 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 tally had already asked me to prepare
the pr so she could approve 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 yeah yeah and then the feature freeze went out and the
feature freeze i mean because there's two bits right there's the feature freeze where you say
right no more is going in and then there's the alpha and it's it's kind of up to the release
manager to say that the alpha needs to be a couple of days later it's like no i've got one pr that
i'm going to 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 to release it um yeah but i
mean good experience um and people should download it check it out and run their object test suites
record issues had any big ones come in already or not nothing nothing that means no one's been
testing it. Come on, folks, get up there.
What you don't want is all the issues
to come in the day after the final release, right?
Okay.
Yeah. Can I ask about...
Oh, okay.
Sorry, there's a little bit of lag. Carlton, you go
and then I'll... Well, I was going to ask,
what are you most excited about in 6.0?
I mean, we talked about the headline features.
Yeah.
Well, I mean,
if you've covered
the headline features i mean tasks yeah obviously it's um the having having a better development and
testing tools for tasks is i think going to be a huge win for developing uh being able to turn
celery off it's going to be great um yeah and then just in terms of like deep cuts or minor features
um i sort of asked around when i started 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 pr that had been sitting in the review queue for for ages and
had been a contributor that was sort of what i think sometimes people call taking the vulture
approach where they take a pr that stalled and then they take up the mantle and try to run to
the finish line 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 um and it was um creating an expression called alexine 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 you know complicated enough that it might
turn you off from trying to even implement those kinds of features um and so i'm poking around in
a you know contrib.postgres scenario i don't know very well and um it got as far as i could with it
And so I kind of asked Sarah and Natalia, like, hey, you know, is there any bandwidth, you know, just reviewers or contributors 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. And we got it into 6.0 within the system, a few reviewers at the last minute that were able to sort of validate that we weren't far off from the mark. So that was cool to be able to land that kind of out of nowhere right before the feature freeze.
yeah we weren't expecting one 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 yeah so i have one more um kind
of question that i'd like to dig in just on this topic is it's kind of about django's roadmap and
your thoughts on how we go forward it always strikes me that um every release isn't it knocks
it out the park you know you know go back as far as you want four two 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 basics
it's just what happens to be ready at the time i wonder how you feel about that over the medium
and you had a blog you had a forum post on this carlton we'll link to as well i believe did i go
pretty okay didn't you i might have done yeah you did because you asked sorry because it's behind
the scenes 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 yeah no i mean it's it's
it's a tough question because it's i mean it's on the one hand it feels like 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 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 jingo because i'm not saying you
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 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 got to understand you know no new features really and that's ready
it in a nutshell, isn't it?
It is, but...
The major releases and going, well, look at those
and look at those and look at those
and look at those. That's true.
For people listening to this podcast, it's like if you
hear your co-workers talking that way,
I think that's my answer to your question.
It's going to take people continuing to push back
against that idea for
the success to keep happening.
I mean, people need to go in the forum.
I mean, Reddit,
for work, I'm on Reddit responding
to stuff, but 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 so the reason i'm
interested is because with django on the med 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 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 modernized contrib auth right that's just too big you can't do that but right
you know to break it down and maybe you know do a survey of the available two-factor auth options
in the community so that you know we know we've got a starting point 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 it's not that we haven't got contributors we've got lots of
volunteers and it's guiding them to things that the community wants to see go forward
um and that's kind of independent i think of having a big corporate sponsor who's paying
for things to get done yeah yeah i'm excited to see you leave those or you know i'm excited to
see those unfold
at the
sprints in
Spain and
then to see
that disseminated
in the
community.
I mean,
part of it's
been historically,
I think part of
the perception
has been that
we haven't had
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 was
kind of what I
wanted to ask you.
Is anything about
APIs going to
come up?
Because that was
one of the
takeaways from
DjangoCon US.
Yeah, I would imagine that will get raised.
Nothing more to say on it right now?
Well, I fired off last time.
Jacob, what do you think?
I think it's time.
I'm glad that we're not just ignoring it.
I think 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
that leverage parts of, I don't know,
doesn't doesn't require ingesting a whole new apparatus um yeah and honestly speaking from
my own personal experience like i can't answer that question i'd love to sit down and play
um 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 um so i'm excited to see what other people are going to
come up with just on that actually um this week there was some discussion again on mastodon and
emma who's on the steering council she put dallas called she put out a um proof of concept around
the blog post that she'd written on oh yeah doing that's great i remember that post yeah
so there's a little package called django rest 2 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 sort of crud views
and it's got a serialization method but if you go in this doesn't there's almost no code to it
and it's like, oh, that's kind of quite interesting
because it's like, I said to her that I liked it
because it was like FindCMS versus, say, Wagtail or Django CMSs.
You've got these giant CMS packages,
and then you've got something that's much more minimal
that just works with the Django admin.
Well, it's the same here.
It's like this is a REST solution that works with very little resource
beyond what Django already provides
to talk to your point about looking for something more minimal.
So I was excited about that.
So you just said, I'm going to bump in one more question
because you just said, and I really am going to let you,
you just said about not having time to potter on things during the week now.
I'm going to pick up on that.
Yeah, I know.
How are you finding that aspect?
Because the federal role can kind of consume you.
There's so many tickets, so many issues, so many things going on.
Well, I mean, I guess, you know, to play, I guess, the other side of it,
arguments 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
jango con 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 going to come but also it's like i've started in the new role 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're talking about guiding contributors if guiding
contributors effectively means having a play or just yeah doing a survey of the tools out there
i mean i don't know maybe conferences are also good places where that happens like speaking
with people at django con us i didn't realize that the just the force or weight of opinions
people have about things like drf like i knew people had opinions i didn't know they had
opinions about it um that was just interesting feedback together you know just uh yeah sheer
sheer weight of those emotions um but yeah yeah i mean there aren't many things that janganaut
go to war over but the rf that's one of them yeah that was news to me um well will you were there
with jacob at janganaut yeah 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 the circle of life 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, Natalia, in particular, coming from a
corporate environment, 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, 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 was 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
then you just boom
yeah so 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 jango con europe but um even at a jango con us not everyone knows what how the
work um right even among those 300 people it's still kind of a yeah yeah i didn't come anywhere
i didn't yeah i didn't come anywhere close to meeting everyone and i i wish i had met more
people and next time i'll rectify that um but you know i met as many people as i could and
um yeah well now they're going to come up to you and hot pigeonhole you and be like
you know this open invitation carlton knows well but the you did you must have done better than
the n plus one right so the so the the n plus one rule is that for each each jango con you've been
to that's end 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 20 of the things, it's going to get quite difficult.
Carlton, mid-roll, we have to shout out to HackSoft.
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.
Yes.
And thank you, HackSoft, for being a sponsor.
Helps us do this.
absolutely switching slightly so jacob what what do you want to ask the community right because i
think there's a lot put 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 yeah um i guess by my loosey-goosey first answer
i already hinted at which is it's just to like stay positive and like continue to believe that
like we do 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 um you know
look at a discussion and try to determine what would move that discussion forward and then just
be that person um instead of waiting for i mean because it's funny you just will you just said
like even the fellows ask questions like who's the manager 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 yeah well there there is it may not feel
like it but there's way more structure than there used to be i mean because now uh there's a board
member and here we come to the the show uh jeff triplet you know so that was one of the things
people said at django con they're like you know the drinking game i forget who said it was it you
jacob someone said you know we have to i have to mention pie charm and we have to mention jeff
triplet as our django bingo but jeff is the uh i think the official fellow liaison with the board
in some capacity right right so he checks in yeah no we have great open lines of communication um
andrew because that was very this on a regular basis to just hear how things are going and also
to play that role 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 think we well speaking for myself only i feel supported
and i believe the other fellows feel totally supported right now 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 you know so there was some 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 and i think what's nice that's about
the structure that coming in is it's a little bit more um specified it's a little bit more i mean
this is mainly natalia she'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 our florian um apollona 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 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 just constantly impressed by
natalia's professionalism um but yeah it used to be you text me and i'll text you and we'll be like
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 well you know like why only employees own or not employees but only
paid work that's on django is only route of communication to the board goes because we
happen to do the podcast like that's well right because we would have i think people don't 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 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 and
I'm hopeful and I'm hopeful the steering council now because there was no steering council role
there was a steering council it wasn't doing anything and but the 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 exists then there should be much
more structure combined with you know fellows having proper management and proper guidance
and then the 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 was well it was marish and i and the the board organized the board did
the board bits but there was no other structure um yeah i do want to do you want to mention to the um
the the weekly fellow reports that are put on the forum that we we jeff jeff and i put in the
news newsletter and i've committed to uh you know we talked about this at jango con us actually
right like because the 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 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 then i stiffed yes yeah i stiffed you last week i didn't
give you well that's i i saw that that's that's okay i i don't i i went in i went in to look and
And I was like, oh, wait.
No, it was a post.
I became addicted to watching the queue go down after the conference, right?
So it's just hacking away at miscellaneous.
Yeah, yeah, yeah.
No, I'm not committing to putting it in all the time, but I do.
I try to.
And Natalia, of course, was like, okay, are you going to do it?
You're going to do it.
And I was like, yes.
If you write a paragraph, I'll put it in there.
So I try to look.
You talked about the queues there, Jacob.
So I would, you know, my day would start
as a fellow crackopendashboard.jangoproject.com
and look at the numbers and like,
oh, there's a number if you take it quick, 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, let's go.
Yeah.
Are you volunteering to add some?
Is that what you're suggesting?
Yeah, no, I think that would be a good addition
to help help stimulate the fellow's enthusiasm for you know their tasks you see little you know
stars when they when they mark a ticket as um you know um ready for commit
so we're going to ask you the magic wand question jacob but i'll give you time to think about that
i want to just mention one thing so what would you magic wand to change anything about django
right so you can mull on that as i say something else which is i think maybe the thing i'm most
sorry. Is that too much
for you? No, no, no. I just Django
the repository, Django
the community. All of it.
You're all magic, aren't you?
Okay. You make the rules, right?
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
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 was 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 are merged in um and so maybe i should go on reddit and find
that post and link it link to them but i'm really pleased about that 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 opened 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 that notion that nothing's changing because you know stuff is changing anyways
magic wand so that that's my magic wand just to shine a spotlight now your turn jacob anything
goes uh 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 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 going to be the day after the release you're going
start getting bugs rolling in about django 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
i mean if it's any incentive to people listening like the fellows do keep a mental note of who
reported the bugs during the alphas or during the pre-release and who reported them the week
after the final release right they know oh yeah all that one yeah same again is it okay
you just need that external list carlton to share with oh here we go no no it's not like you know
it's not like the nox list we're not gonna you know um but it's you know who's testing and who
isn't and it's it's it's not about reputation it's about um being involved and like if if you're
if you're turning up during the pre-release with the bug report look i've run this on my test suite
i've got this regression that that makes you know and it's you know it gets it it doesn't get you
it gets you into the community right it gets you ah like that it makes you a contributor in a way
that turning up the week afterwards it's not quite the same just isn't also there's a huge
self-interested reason to report it early.
It's like, we'll fix it before the release.
But, yeah.
Well, one thing on testing,
I'll put a link to it. I've been struck by
there was a recent article on
Epic.ai talking about
these benchmarks for LLMs, and
one is SweeBench verified, which is
largely around Python projects.
But this is one of the big, big, when you see
percentage, you know, Sonnet 4.5
is 90%, and
gpt4 is you know 70 or whatever it's 46.2 percent of of it is django is like lms 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 and Django.
Can I ask a question about that?
Well, I saw Adam Johnson
toot about this.
the LLMs were cheating.
They were using,
so they check out the repo
and then they were using
the Git log history
to find the commits by Marish
to solve them.
Yeah, they're just like,
yeah, they're just Marish AI.
Yeah, yeah.
No, totally.
Let this be a lesson, right?
Shorter and less useful
commit messages all the time.
I'm debating if I can,
should I try to,
we'll just try it.
No, risky.
Come on, let's see
if we can get this software to work.
I don't want to share image file.
Oh, okay. Hold on one second. Let me, let me save images. See, we're just learning. We're doing it
live. Um, boom, boom, boom. Um, nope, not that. Here we go. Okay. Well, I did remember the issue
that, uh, I opened a discussion on the forum about, um, Hey, Hey, look at that. Well, there's
that game. So we'll put a link to it, but this is, so again, this, this, we verified, uh, sweet
bench verified um you know and it's uh so the point of the author i think was like you know
it's pretty low diversity of code bases testing this um but you know i mean and why why is flask
0.2 percent where's fast api you know you know anyways interesting is this one of the reasons
why these these tools are supposedly very good with django is because they're trying they're
kind of almost trained against 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 all right look at that
all right oops now we're in the wrong area
i quite like the other i quite like the mixing up there so okay i was just um saying i remembered
the issue that you were talking about i opened a discussion about whether we should change jango's
versioning number um yeah one idea i just put it as like well we could use a cowl verb 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 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 talk you've talked about this is why i asked you to comment
is that your books people you know they're 5.2 ready and people are like oh but what about 6.0
it's like the 6.0 is the same as 5.2 in almost all ways yes 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 but you actually don't need
to right because nothing's changed in eight months like you read not nothing yeah yeah no yeah no
effectively nothing learning django book learn django book yeah that's not changed in eight months
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 yeah i can tell which 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 36 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
up the hill but there was
a good discussion there wasn't any I think given
the discussion I think probably
what the status quo until someone comes up
with a better idea but
it was just acknowledgement of
it being you know in one
Carlton and I were going to do an episode on the Django survey
results which come out soon but one thing
again it's I think it was 4500
people so it's not the whole community but it's quite a lot
of people like 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 4500 people 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 yeah well i
mean jingo's benefited from a really clear backport policy so the more we can just sort of direct
reporters to the policy take some of the heat off 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
are trying to start a new thing so i'll go first uh 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 and 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.
Not just faster, it uses
way less CPU to do so.
Oh, sorry, I forget, yeah.
And so the key point there is if you're developing on battery,
that is going to make a massive
difference to the amount of time you can develop
with versus
the built-in stat
file stat run timer, which you're probably
going to use 10% CPU,
which is just ticking away
from burning your battery all the time, whereas the
watch fast approach is much more
efficient so i think it's worth giving it a go 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 yeah i do um it's another
one from google summer code this year it's another one that we'd like to have in call um but you know
we don't want to experiment and call we want to you know test things out so it's um rafi khan
who um is part of google summer code did django admin key shortcuts um so the keyboard shortcuts
for django admin and it's lovely looking package it's small it's it's lovely to play with it we
but we need people to test it and feedback
and get some community engagement with it
to make sure that it's stable enough
and all the rest of it.
And whether the design decisions are right
and all those other questions.
Just start using it, play with it.
Do you like it?
Are there bugs?
Are there issues?
Are the keyboard shortcuts defined correctly?
Do they clash with other keyboard shortcuts
that you've come across?
Are you able to define your own custom ones
in the way you want to?
These kind of...
you know 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 um i really recommend people trying that out we do need the community feedback on that
yeah there's a nice django blog on it which i somehow i missed i must admit django con
that we'll link to um september 4th jacob did you have one you don't have to but 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 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 another 150 line string for the reverse migration and now your migration file
is unreadable you have several versions i was like there's got to be something in the community
for this and there was this old solution in the community that's recently been forked to be tested
against recent django and pythons called django migrate sequel i think the fork is django migrate
sequel do um and you just put in your install apps and it just works and now we've got like
real clean git diff solder um yeah on your 159 postgres functions also as well you've actually
got backwards migrations right because you talk about that 159 backwards migration as if it was
real as if you'd actually written it um yeah i mean yeah create or 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 oh wow it only has three well now four stars uh it's a sleeper yeah yeah i think bruno
is maintaining now um but yeah it's yes i think so prevented us from putting sql files into
timestamp folders and i was like no no we're not we got to use django for this and i was just
pleased to see that somebody has solved this problem okay that's a super one i'm gonna check
that out wow carlton book you have a book yeah i do so i'm um i'm gonna recommend software can
you see that oh i have a i have a copy of that because you yeah no software design by example
um by greg wilson it's a fantastic book i gave this a review in my very first um stack report
which is my newsletter that i do monthly the very first issue was a view of this raving about it
because i just got it and i picked it up again recently so 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 within 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 exercise is the example to have gone so
um like the big ideas 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
just really wonderful but then the examples of like how classes work really and um things like
um row row orientated versus column orientated storage which was one of the kind of
really fundamental like how why do i need to do it this way to get 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 copy but i'm a print yeah do you have one jacob are you okay 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 bevoir about her travels in the united states called america day
by day i bought it as a lark and a used bookstore for a friend who had um uh was it was um it's
funny it's 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 planet's 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 um it feels like it could have been written yesterday
um you know america's going through a red scare at the time and now we're going through a blue scare
um comments about youth you know and and what's possible um and so anyway if you like if you like
good pros on on travel and on america recommend okay wow awesome uh mine is a short one
hunting game there we go 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 marikami
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 that should be on the bingo card as well 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 i'm unlike carlton i can't always read software books to fall asleep at night
sometimes i mix it up but the software books are the best thing to put you to sleep at night
because they're really really boring sometimes all right did we miss anything i think we're
i think we've covered most of our stuff anything jacob anything we didn't ask you or you want to
say well 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
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
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 i have no idea i'm i'm excited too no i do no i do not you 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 okay so uh we're
jango chat.com and on YouTube. Thanks, everyone. We'll see you
next time. Bye bye. See you next time.