Transcript: DjangoCon US 2023 - Drew Winstel
Hi, welcome to another episode of Django chat podcast on the Django web framework. I'm Will
Vincent joined by Carlton Gibson. Hello, Carlton. Hello, Will. And we're very pleased to have
Drew Winstall join us this week. Welcome, Drew. Thanks, Will. Carlton, how are you gentlemen
doing? Doing well, happy to happy to be doing a podcast. It's always a good morning when
that's happening. So as always, thanks for having me on. Yeah, so I think I first met
you in person at DjangoCon US this past fall where you were one of the program chairs and we
were able to do bike rides every morning, which Carlton and I got in the habit of doing at the
last one. So that was lovely. But maybe before we get into all that, what's your quick background
and then a lot of areas we want to cover about Django and other things. Definitely. Well, I got
started, you know, usual like nerdy grade school kid, had Apple IIe's and the computer lab, then
Macs and learned some Apple Basic along the way. Got my first desktop computer at home in the
mid-90s. Did a bunch of QBasic and fun stuff like that on there. Got a book on C or C++ back when
I was in middle school. Didn't really take too much at that point. Then in college, I majored
in electrical and wireless engineering at Auburn University. So it wasn't a CS major as such,
but a lot of cs adjacent stuff had classes in c x86 assembly um c plus plus all the professors
assumed we knew matlab none of us did you know how that goes you can learn that if you yeah if
you can do diodes you can do matlab like yeah i mean it's all just boolean logic right it's more
hardcore than computer science like if someone's like an ee or you know at mit like eeks or
something you know that's that's like oh like that's kind of the pinnacle it's like oh computer
science well you don't really know how these binary gates work do you at least you know spoiler
alert neither do we you have more you have classes on it though yeah details you do but uh yeah so
while i was out there at auburn actually one of the first people i met there was lacy williams
henschel who chaired django con us back in 2017 at spokane and she and our friend threw all the
honors college stuff there and weird small world thing he had a college of 25 000 people she
actually knew my wife back then for doing um all the english major english major stuff together
because they were both english majors and then um yeah so then we've got then lacy and i reconnected
on um twitter back in the early 2010s started chatting through there and then when i was
working at an iot shop here in huntsville alabama where i'm based um my we were it's a python shop
where all they actually run a little embedded chip that runs uh python on the device itself a
subset not quite micropython but a similar idea to it and um they um were looking for a something
to run on the back end that ran python set up a little rest api and one of the guys suggested
django and so set up a drf back end for that the front end ran angular js back in the day and
leaflet to do a little mapping thing and that's where i got started with it shortly thereafter
the um that project got shut down and i got laid off uh while my wife was pregnant appropriately
enough right yeah good time we found a job oh totally quickly found a job with um actually
one of the guys in my homebrew class or not home or glass homebrew club rather and um not the
software though you mean actual homebrew there don't you yes okay so we're gonna put that on
the side we'll come back to that in a moment you finish this and then we'll come back to the beer
yes absolutely yes because there's actually a django thing related to beer as well we'll come
back to brilliant so um yes so yeah um all right so went to the little shop that is a remote lighting
management and they had a homegrown lamp stack um you know it's very clearly written by a computer
science per like by an electrical engineer not a computer science person um he um so yeah i took
that i rewrote the stack and made a drf back end uh drf gateway to the remote devices and um
the other developer wrote a react front end for it and so that was a complete ground up rewrite
very nice and in the process of that i wrote gave a talk at django con us 2018 talking about the
pitfalls i had on that and i think we're going to link to that talk in the show notes so you can see
some of that yeah i was just looking at that talk again last night nice thanks a couple years later
hopped over to different jobs and now i'm at the noun project which is based in los angeles where
we work with a um django stack with graphql api and react front end for most of our stuff
and the enterprise api through historical accident runs on flask and sql alchemy and that can you
give a sense of the scale because i think like quite a bit of scale especially with the api
that you all deal with yeah i mean we've got i think last count about five and a half million
give or take icons that we serve up um a few thousand requests per minute you know so it's
not like web scale or anything like that but it's still a pretty solid load on there and you can um
and you can cache it right you can cache most of that right it doesn't change too often or am i
yeah we do a lot of caching with it to help out of course um use elastic search to handle a lot
of the database that would be database load for hand for the searching itself because you know
it's my sql is the backend database and so if you look at it the wrong way things go south with it
we just need to be like hey django postgres you know built in let's just drop elastic search
right save some money ground up rewrite go full text yeah oh yeah what could go wrong i've been
through one ground up rewrite what's another one that's right that's right just burn it to the
ground and start again why fix why fix the niggling little things when you can just burn it all down
yeah exactly yeah and so um and the process of uh you know going to DjangoCon US at 17 in Spokane
where I first saw Lacey again for the first time that was a great time got to meet a whole bunch
of people um that was where the uh venue had some trouble getting people into their rooms and so
sitting out in the lobby and met people like uh Katie McLaughlin uh Russell Keith McGee just a
whole bunch of people sitting out in the hallway and just you know like these people who were like
oh hey I've seen your name and things but I have no idea who you are and now oh hey you're just
cool people and it was a lot of fun got to meet some awesome people and then i talked in 18 and
then um jessica deaton aka deets uh recruited me to be an organizer for 2019 and i was like hey
where can i help out and uh i got put as in the opportunity grants group took over his chair there
ran that then 2020 the pandemic hit yes so that got canceled 2021 was pretty much just the board
running the show for the little online conference and so i ran program for that 2022 came back to
the in-person conference and back in san diego one more time it was a lot of fun we had a bit
of a skeleton crew running it so i was running program opportunity grants and also effectively
co-chair of the conference so that explains why you were quite like uh busy moving around the
conference there very much so yes well it is one of these things that i hope you know we can
highlight um in this episode we have talking with jeff triplett in the past is that you know you
show up to a jango con event and maybe unlike other ones it's not professional organizers it's
volunteers it's all volunteers and yeah they're so busy you probably you may not even get to see
them because they're so busy during that they're not just hanging out in the hallway because they
can't um but it's right that's why we have these events and especially when i was on the board the
past three years sort of see the inside of how much you know what a lift it is on the volunteers
who make DjangoCon US and DjangoCon Europe happen.
It's an incredible service to the community.
So I hope people are aware of it.
And it's where it takes maybe the second conference
when you're like, oh, start to have a sense of things.
So the first conference, everything is so new
and doesn't really hit in.
Right. And so, and as you both saw,
we did, I did the call for volunteers
as during the opening remarks
on that Tuesday of the conference.
Got a great response from that.
We had a bunch of people sign up.
And so right now, I think we had
our first weekly organizer meet up last week and had somewhere in the neighborhood of 25 20 25
people show up for that so already huge improvement right and that's that's yeah and uh i was gonna
say that's really good so it's good not just for this year but that's hopefully that leaves a
sustainable base because what you don't want is the same three heroes running the whole thing every
year because right exactly and jeff is trying to take more of an advisory role this year and we're
hoping that he can actually do that and not be involved in the nitty-gritty of everything again
like he was last year. We'll see if that goes. Yeah, exactly. So for this year's conference,
which will be in Raleigh-Durham, can you talk a bit about the opportunity grants? Because that's
something that I don't know if everyone's aware of that, you know, because it is expensive to go
if your company doesn't help you pay. But can you talk a little about how those work?
Sure. So what happens is, well, this will be actually be going live likely this week,
Both the call for proposals and the opportunity grants will open up.
And so what we're going to do, what happens is there's a form that gets posted out on the speaking page and over social media and everything.
It's just a Google form you fill out.
Talk about who you are, what excites you about DjangoCon, is this your first time coming, are you speaking at DjangoCon?
Just some basic questions to try and get a feel for why you want to come to DjangoCon, why you should get money.
And then we'll give you a little bit of money, somewhere up to, I think it depends on your case, whether you're traveling from the U.S. or overseas, there's a travel budget maximum.
Help out with airfare, hotel, food costs, and visa fees if you're coming from overseas to help alleviate the cost of coming to GencoCon.
Because it is a big outlay, especially given current fuel prices, things are going to be expensive to fly there.
I think just looking at Google Flights yesterday, it looks like my possible flight to Durham from Alabama is going to be more than my flight to San Diego was last year.
Wow.
Huh.
Well, yeah.
It's also the case, I mean, just on airline flights that, you know, if you're on one of these, like, because I'm in Boston, it's like way cheaper to fly all the way across the country than anywhere, you know, in between just because of, like, popular routes.
But, you know.
Anyways, people should – and historically, if you give a – if you propose a talk and it's accepted, you also – you don't have to pay for the conference.
And then there's also, if you need it, chance for opportunity grants.
So a plug to put in for a talk.
And separate – right.
And then separate from that also is we have a $500 travel reimbursement that L speakers are eligible for even if they don't apply for opportunity grants.
so if you're so if you know your company's paying for part of it you can use the 500 bucks to cover
the gap and then you're good to go or if you need more than that you can apply for the opportunity
grant on top of the 500 and so yes please submit talks please submit talks all right good well
we'll have links to all that and yeah it'll be on the usual channels and the django news
newsletter if anyone listening isn't already subscribed it'll be on there um great uh like
hang on but this is in the autumn right because i'm just i've literally just done my submission
for DjangoCon Europe so I'm a bit like ah I've got to come up with another one already when's the
call for paper when's the call's proposal when's it going to shut because that's the key date like
it it's should start it's supposed to start this week basically we just have a few html related
things to finish up on the actual the page itself and then once that's done it'll go live and it'll
run through May 15th May okay so there's a little bit of time left to you know correct it's not
urgent but it's not like you have three weeks to submit your talk you have time yeah good good good
So, Defna, the Django Events Foundation of North America, you're the vice president of that. Could you talk about, I mean, that runs the Django cons, but that also is its own thing. Could you briefly just talk about how Defna works?
Yeah. So back in the mid or back in the 2010s, the group of people, Craig Bruce, Jeff Triplett, and a few people, others whose name I do not remember off the top of my head, all got together and realized that if we need DjangoCon to be sustainable, we need a nonprofit to run it and help maintain the year to year knowledge of how to run a DjangoCon.
And so Defna and the DSF signed a contract where Defna runs DjangoCon US.
So each year we submit, you know, here's when we're trying to do DjangoCon.
The DSF approves the date, makes sure there's no major conflicts with other DjangoCons or religious holidays or things like that.
And so then we get together with, you know, we run everything from the crawl for proposals, venue solicitations, website design solicitations, and then maintain a documentation of how to run DjangoCon year in, year out.
So that way we can, as we cycle through volunteers, we can help maintain some continuity and get a solid base under it and then hopefully get a more sustainable base as the years go on.
I think that's the fundamental great idea about DEF
and I think we need something similar for Janko in Europe
because it's run very well for years and years and years,
but there's times where it's been like,
hang on, who's going to run it next?
And then that bit about passing on the knowledge,
codifying the knowledge and passing it on,
I just think that's monstrously valuable
and something that...
Right.
And I know from just a legal perspective,
it's a little bit harder in the EU
just because you have different national bodies
doing governance,
But there should be a way to make it work.
I think we could set up something in, I don't know, Estonia and, you know.
You're giving me like PTSD here.
We spent so much, we on the board spent so much time on this during.
Yes, I'm sure.
During COVID and this lot.
So I wish you were right, Carlton, about the legal aspect.
I wish, you know, can we, you know, can we get under the umbrella of, you know,
EuroPython or another thing, but we haven't figured out a solution. And Python, like the PSF,
we always ask them for help. I mean, they're having a transition in leadership. There isn't
an easy solution that we're aware of on the legal side. And then the separate bit that
Defna, because it's been running and runs well, has a little leftover money. It donates a huge
amount back to Django itself, but it does have some reserve funds. So for example, it was able
to absorb the costs during COVID of having to eat some bills.
There is no equivalent in DjangoCon Europe.
So then it-
Right, or Australia, to my knowledge.
Yeah, or Australia when it was running.
So then it falls on the board.
So anyways, yes, I 1,000% agree.
If there is a way that we're missing to have a DEFNA for Europe, both legally and then
both in a way to run it so that there's some reserve cash um to cover things that come up
um i think yeah uh yeah i don't want to go on about board stuff but yeah that's a big concern
no but i think it's right something it's a legitimate topic for the website right is that
like if you if you're going to hire an event you've got to put down an event a venue you've
got to put down thousands and thousands and thousands five figures yeah solid five figures
right yeah and that can't come out of someone's pocket depending on the venue yeah yeah i mean
it's a little bit less in europe sometimes but yeah yeah we've got a and this year was a little
bit different because the um hotel and and the venue itself are separate entities so we don't
have the room trade for event space that we had with previous years where you just have to you
know you we actually have to do a separate big chunk of money up front to cover the event the
venue cost as well separate from the food and beverage minimum so that you know that's you
know what is it's eight six months out eight months out i can't do math eight months out
and we're forking over something like fifty thousand dollars for it and that's a but that's
too much for an individual to put on their own credit card or to you know it's got to there has
to be a body to back that i mean it's it's you know a sizable amount of the dsfs like
reserves not that much you know i think right when i stepped down it was something like 200 000
So, um, anyways, yeah, shout out to Jeff Triplett for being the lead on all that.
I know along with other Defna people, but Jeff's Jeff spent a lot of time on that.
So, but I just, what I wanted to say is that, you know, the, the, the, the
more just one one more point here like i think there's two aspects to it one is the legal body
like can we do that in europe i don't know you've obviously looked into it it's difficult but that
the second bit is that kind of codifying the knowledge aspect if we can if we you don't need
we don't need a legal body to do that i think that's something that i don't know where is the
run the run book for django corn europe i think we that's something that we could work on i think
COVID really hurt us.
And then we had the organizers in Porto who did a fantastic job.
Yes.
Getting out of the habit of having it be in a different location each time meant that that transfer of knowledge got lost a little bit.
So there are people still who kind of remember from five, six years ago and have been called upon to help with the organizers this year.
But it's a lot.
And I think it's also, it's more complicated because it's not the same country, right?
So all the, some of the things that are, yeah, if anyone wants to set up a, you know, a Defna
Europe, we could use it.
Yeah.
I mean, like this year it's in Britain, which is, you know, a whole separate thing.
Not even Europe.
I know, right?
Yeah, exactly.
No, that doesn't count.
Yeah.
Anyway, homebrew.
Drew, you make homebrew?
Yes.
Yeah.
Tell us about that.
Yes.
I got in.
Sure thing.
I got into homebrewing back in 2010 or 11, back when I first moved here to Alabama, because the first move back to Alabama after graduating college.
And the beer scene was just very much a disinfinity around here.
There were there was one brewery who at the time, shall we say, questionable sanitation practices.
So batches tended to be infected, which was not great.
It is really hard. It is very easy to. Yeah.
Oh, yeah. No question. And then they closed. A couple of the breweries popped up, but things were just getting started.
And actually, most of the breweries that have spawned up since then, we have 10 now, I think, have all come from our – all but two of them have come from our homebrew club as Going Professional.
Okay, wow.
Which is kind of nice. The club is called the Rocket City Brewers. Rocket City because Huntsville has NASA Marshall Space Center and, you know, Werner Von Braun and all of that, so lots of space influence around here.
And what's the brew of choice?
Because like, so I'm up, I'm from Vermont.
And, you know, so, you know, East Coast style IPAs, you know, so the West Coast had these
strong IPAs and now there's a New England IPA and like, but what's, it's warmer where
you are.
So it may not want like an 8% thing, but I don't know what's popular down your way.
A little bit of, of course, like everywhere else these days, the IPA dominates everything.
My personal choice is like when I'm brewing, if I'm just brewing something for me, it's
about a six to six and a half percent west coast ipa nothing too heavy but still enough that you
can enjoy some good like strong like piney sometimes piney sometimes citrusy hops in there
well they make now well they make actually some really really quite good non-alcoholic beers which
is great um but also yes definitely a lot of the uh i've seen a bunch of these really good
double ipa makers around here are making you know like four or five percent versions because like me
personally like i'm i'm just too old like i can't have more than like like if i have two to eight
percents i'm just wrecked oh yeah i'm done so um anyways they're starting to be you know it's like
you know gradually softening up uh the beer you know i was even i was talking to someone the other
day about some video game and all these games now have um like casual mode so there's like oh like
hard mode and then there's literally just like you know what like i don't care if it's a shooting
game or just an adventure game i just want to like chill and be like only moderately challenged
and i love that like so all these games i play now have like a casual like don't die
because like you know anyway so i'm embracing getting older right carlton you know i'm loving
this i'm laughing because i'm just like we've just turned into old men now it's like yeah
i'm not i'm not upset about it like i'm happy about it oh no you just like all these things
that you had time to worry and energy about before you're just like well that's gone so you know
anyway sorry i have one question about the home brewing was like i have this imagination of um
like homer simpson with a still that sort of in the get in the basement that explodes
as he's trying to but that's a different kind of brewing right that's a bathtub it's a bathtub
right okay no that's uh you're thinking of distillation there we actually have to do the
That's the harder stuff, yeah.
You have to do the brewing step, and then they just distill it into whiskey after that, which is a lot more effort, yes.
You don't do that.
Yeah, so my setup is a big metal tank for doing the actual boil process.
You start with a couple of actually 10 quarts, that's what, 38 liters, coolers that I actually do what's called a mash, where you take your crushed up grains, barley, roast it to various temperatures and things like that to give it flavor and color.
Steep the hot water in there for an hour.
Then you rinse it with more hot water to flush all the rest of the sugars out.
That goes into a boil kettle.
Boil it for about an hour, adding in hops as you go along to decide to make it how much bitter or how much hoppy flavor you want, depending on how long the hops are in the boil.
Longer boil means more bitterness but less flavor and vice versa.
Then cool it down.
add the yeast uh put and put it into a um that fermentation vessel which can need to be like a
glass carboy so you know a glass tank that's about i don't know why i'm making signs making
hand motions right now a podcast is a visual medium he's going about screen height there folks
yeah exactly yeah uh five gallon um glass jug or a plastic bucket that uh you let that ferment for
a couple of weeks um then you can uh either bottle it or keg it and let it carbonate and drink it
okay so you're a couple of weeks out when you start so you've got you've got four weeks usually
from um start to starting to drinking yeah okay you can you can be faster if you hire things up
or it can be longer depending if it's a higher gravity batch and then premium stuff it doesn't
last for forever either you know there's like what's what's your sort of time frame like i've
gotten some pretty good like micro beers up in vermont and you know you if you don't drink them
within like two weeks they really fall off yeah that yeah especially the new england ipas are very
much about they lose their characters super fast um so that's one of the things that makes those
you know if they're not super fresh they'll fade within and they're not stored well they'll fade
within a couple weeks easily your less hoppy stuff and higher higher alcohol stuff like your
imperial stouts your um imperial porters um those you can age for years if they're if they're um
actually prepared right
well you purge all the
oxygen out of them
before you bottle or
can them I mean I've
got some beers in my
fridge from 2015 that
are still drinking very
pretty
oh wow that's good
going I'm mostly
because you've managed
to hold off that long
yeah the self-restraint
well they're also like
15 14 15 percent
years in wine bottle
sizes I couldn't do
that by myself
yeah yeah fair enough
well well there is uh
there's this I'll just
maybe I'll put in the
notes if anyone cares
there's a really
interesting book that
came out last year
called uh drunk um
about the history of alcohol and why people have been doing this for forever.
And one of the interesting points was that the distillation is quite new.
It used to be back in the day, because back in the day,
everyone just drank beer because you couldn't drink the water,
so they were all kind of drunk all the time.
That's why caffeine helped, because then they weren't drunk.
But it was only 2%, 3%.
So you kind of couldn't get drunk, like drunk, drunk.
But now with distillation, you can get drunk super fast,
And it's almost like humans haven't culturally or biologically caught up with that.
So anyways, I thought that was interesting.
But that's probably enough about alcohol.
We should also mention one of the great things about Django cons is there's absolutely no pressure around drinking, bars.
All the events are explicitly not directly about that because that can be a thing at tech conferences.
And so that's one of the things I like about Django cons.
And if people want to organize something to go to a place and grab some beers or whatever afterwards, you're more than welcome to do so.
We have Slack channels for outings in our attendees Slack where you can say, hey, I want to go get food or I want to go get ice cream or coffee or whatever.
And people just kind of self-organize into groups.
Tim Schilling, one of our new board members this year on Defna, he gave a tutorial last year and just basically stood outside the entrance to the hotel and just waited for people to start forming groups and found a different group each night.
and had a grand old time meeting new people and trying different things and that's a really great
way to meet new people which actually leads into how i got into noun project because um at jango
con us uh 2019 back in san diego i was getting a group together to go to one of the many breweries
san diego has on hand and joseph cockerhens who was the cto at the time actually drove down from
at los angeles and so he had he's like i've got a car i can drive a few people and so we drove over
to uh north park the area which has a bunch of breweries over there went to a couple of those
and um had a go had some great food great beers together and then um a few months later um
february 2020 i was looking for a new job and jeff triplett actually reconnected me with joseph
and uh he's like oh hey i remember you interviewed and then landed the job and was supposed to fly
to los angeles to meet the new team in march of 2020 right yeah yeah yeah
yep but now here i am almost three years later and still a great place
yeah that's wonderful so um i don't know how much can you can we or do you want to talk about
the noun project since that is your your day job and there's there's some jango in there
absolutely yeah we've got a small team there are two back engineers myself and one other person
and um three front engineers right now with the hiring trying to hire a fourth one
um that are we are doing uh we yeah we had to um i new for trying to implement new features right
now we're working on um user-generated photo uploads so they can because we sell both icons
and stock photos and so trying to expand our photo library a bit more and so that way we can you know
start selling subscriptions to the photos and they can you know not just buy one-off photos but
actually get like hey here's x amount of money for x photos per month type of thing to help
increase our steady subscriber base and bring in more revenues um with the back end we have an
enterprise api that big name customers like adobe use to um fetch lots of icons at a time that will
help us with them that they use to um you know offer to their own customers like some editing
type things i'm not entirely sure what their use cases are for but like logo builders uh
various design and print services they like they'll actually like search you know build their
queries on their end and actually search our icon library for the icons and then they can you know
they can use a block list to deny certain words that they or deny explicit icons if things that
they don't want those for example and so that gives them a fancy way to basically put our stuff
forward and use it for things like say building this t-shirt that i'm wearing which has a dumpster
fire icon on it this is one that will be actually sold in our company store last year i was looking
that i was thinking that was a toaster i was like you've overcooked your toast oh i see i was
thinking a toaster too but now i see yeah well yep well so i would just digress all over the place
so um merch so django has a merchandise store which is up and does have sales you know i always
see like carlton was wearing his github hoodie earlier you know you know marius has one some
people have one i would somehow i would love to figure out how we django have like like a really
nice hoodie that like we go to a jango con and people are wearing jango stuff like maybe if a
listener knows i know this is something companies can do but it's something that we don't want just
printed we don't want what we have now we have like um i forget which i forget which service we
use but thread threadless which threadless is great and the t-shirts are high quality like i
got the yeah we have oh yeah they're quite good i've bought a few of them and they last
a long time they don't lose their shape um so i do recommend them but yeah and that's because i
think um i pick the the quality option for the t-shirts well done well done but there is i think
there's there's probably a level up just in terms of design and stuff that um we could do on a
sweatshirt so if anyone knows i would love i would love to go to jango con and see a little more
jango stuff as opposed to i think one thing we've got to think about as well i mean just from someone
that lives in europe's point of view is like getting them made up in europe as well as made
up in the states because shipping them shipping them into europe it becomes like you pay the
external tariff you pay the rest whereas if we can get them produced here it's a lot cheaper to
your door yeah i would totally buy a full zip hoodie i want i want enamel pins to be honest
enamel pins and socks i want socks socks are my favorite do we want elbow pads leather elbow pads
with jang on we could have that yeah why not yeah sock yeah socks would be good um all right okay
yeah uh well one of the questions i wanted to ask you or just about down project is right with all
the open ai stuff how does that change or what's the internal discussion around you know images
and all these things happening yeah i mean a lot of the things we try to go we try to go for like
you know um very more artistic like opinionated artistic stuff which the ais at this point
thankfully can't really replicate so much so even if they were trying to do it's a different
plane of competition so to speak but i mean yeah obviously we're taking we're watching the very
that space very closely um especially i think getty's suing stable diffusion over um over
copyright infringement with because you know they can that uh stable stable diffusion can um
generate the getty image wordmark pretty well because you can so you can tell that was very
much used in this training data for example and there's a whole bunch of whole litany of questions
regarding um uh like diversity um inclusion within the training sets uh is it a representative
sample of the population at large does it are there biases in there because i mean at the end
of the day the algorithm puts out the biases that you put into it and so that you know as a company
that focuses heavily on d on dei that's something that we just you know can't do per se because we
need that human touch to it right there's that whole do you guys hear about the sydney before
they shut it down the like uh personality with an open ai that was speaking of what's trained on
is like trained on the internet it was like super creepy and manipulative um and i mean that yeah
that's happened before too i mean remember microsoft tay from a few years ago yeah right
it's like all these things too like all these things are you know racist too because like you
know there's a lot of racist things out there and you know it's like no wonder these tools are
trained that way because look look what's going into them but anyways exactly i've got a gripe
while we're on the ai i've got a real gripe at the moment it's it's become a bit of a curse
is folks commenting on github issues with just like um chat gbt generated
nonsense and it's just like happening all the time and it's like really does that and it's like
please don't do this please just like don't even bother posting that stuff like yeah if you want
to use it as a research tool or whatever but don't like there was one on i don't know andrew godwin's
got this new um api framework and somebody asked a question well what's the difference between drf
and Ninja and Hatchway, it's called, I think.
Hatchway, sorry.
Hatchway.
And Andrew's like, well, I don't know.
And someone's just posted this thing about fast API.
And it's like, but this is totally useless.
Like it's like a, and then again on Django,
this has happened a number of times.
We've had to block users and it's just like,
oh, is this what the internet's becoming now?
Ah.
You thought it was a dumpster fire already.
Yeah, yeah, yeah.
It's already bad enough.
That's AI trained on a dumpster fire is like.
And so I'm slightly.
There's a bigger dumpster fires.
You know, I've played with these tools and they're quite useful.
You know, the co-pilot is quite useful, particularly for writing tests.
It's, you know.
Oh, yeah.
The tech is fascinating.
It's lovely.
But then if it's just becomes.
Yet another source of spam, another source of noise.
It's already hard enough to find meaningful content and filter out the rubbish.
And yet there's this other source of noise.
So I'm a bit like, ah, I'm having that frustrating this week.
And you brought up a topic.
Sorry, that's my little rant.
I'll stop.
Well, there's, I mean, there's actually this, there is a class action lawsuit about both
image and then also GitHub co-pilot Matthew Butterick is doing because, you know, for
example like django django is open source and we have a software license and you can type in things
and get django source code back to you that they're charging for which yes i've had this
argument with um ip lawyer friends and i'm like if that's not an infringement i don't know what is
but what is you know what is the dsf gonna do what you know even if they're even if they're wrong
they're microsoft and they're gonna win um so i think people don't understand python even python
python's tiny you know like they python can't go up against microsoft in a lawsuit so um you know
you know there's the whole conflict of interest thing there with you know microsoft employing
people like hito right so you know it'll be interesting to see where where it plays out
i'm glad there's some sort of class action just to sort of get at these legal questions which
haven't been resolved because it's you know not going to come from open source projects they're
not going to be able to pursue it absolutely not i saw an interesting piece this morning probably
simon wilson might have quoted it that's not definitely but that's probably where i saw it
on his blog but um someone was comparing these kind of tools to like chat gtp gpt to like spell
check when you first started using spell track i was like no you have to learn how to spell
but of course it frees you up to just write without worrying too much about your spelling
and the the argument being made in this piece was like it's a good um you know starter to get
some words down on the page which clearly aren't perfect but then the editing process and the
refinement of it and the turning into actual you know text that's worthy of presenting is
the creative work where you might find the barrier of those first few words
a block i don't know whether that's convincing or not but it was an interesting take that i
considered well it's also there's a take that it's you know autocomplete you know of course it's not
really autocomplete but in the same way that you know we have autocomplete and visual studio code
and all these things it's um but it's more than that because it's it is what it's trained on right
so it's not but it's kind of like at the moment it's like autocomplete that's been raiding drew's
homebrew and it's kind of dangerously wrong in a number of cases yes yes it'll be yeah it'll be
interesting i mean even it's i mean all this stuff is already the question is does it enhance people
or replace people so like i just visiting a friend of mine is a radiologist radiologist pathologist
you know these are doctors looking at images they already everyone uses these tools that look at a
scan and say hey the computer thinks you should look here here and here and then a human you know
confirms um but over time you know they probably won't get replaced because they have degrees and
regulations but there's so many other things that's like oh you know maybe i mean those
algorithms can be very flawed too like i mean i saw one where they were looking at for skin lesions
and um they accidentally created a ruler detector because the images with rulers tended to be
malignant where the ones without tended to be benign right but in their in their case all the
you know so um like path ai which is a sponsor of jango cons based in boston is one of these
companies with pathology they need the data sets and you know so getting the data sets getting you
know, however thousands, millions of approved things to train on, you know, they will get
those eventually.
And then once they do, then it's, you know, to me, it seems like there'll be places where
there's regulation, like in medicine, where everyone will be happy because they charge
the same amount, you know, they'll pay the fee because if a doctor can do 20 instead
of 10 an hour for the same amount of money, that's a win.
But there's all these other areas where if you can just get rid of the people, 90% is
good enough.
So, you know, like programmers, we don't have a union.
So, OK, I didn't chat GPT like, you know, you can have it create the Linux kernel.
But like, can you have it create, you know, a good blog site with Django?
I could probably get part of the way there.
Well, I think this is a bit philosophical now, this episode, folks.
But here we go.
I've been thinking about this a long time.
Like if you're a programmer, if to be replaced by a code creations tool,
Well, just go up an abstraction level and drive the co-creation tool,
program the co-creation tool.
It's not – I don't really worry that computers are going to be generating
all our software because there's so many design problems
or so many usability problems or so many areas where a kind of human's creativity
will always be able to be deployed that if they can write my DRF endpoints,
Well, fantastic, because I'm a bit bored of doing it, you know, to exaggerate.
That's the new job description, right?
Have you seen this?
There's a new job description, prompt engineer.
Right, okay, so what's that?
Have you seen this?
Have you seen this?
This is a real thing.
No, it's a real thing.
Yeah.
Like, Drew, have you read about this as well?
I've seen it.
It's basically where, you know, your entire idea is to try and find the right prompt to
make these chat GPT type tools give you the output you want.
Right.
Instead of your Google foo, it's your prompt foo.
Okay, but the thing is, you do-
There must be better tooling than just prompts, right?
It's a funny name for this thing, but it does require-
I mean, I think it's exactly to your point.
You need someone who can craft a prompt, get an output, but then evaluate the prompt.
And so that is going up a level of abstraction,
but they still need to have the capacity to evaluate the output.
It's not just trusting it, right?
I mean, this is, I think, in a way what you were saying.
So the question is, how do you train yourself to evaluate, you know, prompt responses, given that it's going to be bigger than maybe you're, you know, where's that expert?
It's like, okay, I'm focused on one on DRF endpoints.
But now if I'm a prompt engineer, I can do all this stuff.
How do I catch up to the point where I can adequately evaluate it?
Because the scope should be larger than if I'm handcrafting it myself.
I don't know the answer, but.
I mean, the more Django example, right, is writing tests for your views to check that
they work, right?
So you were discussing this on Macedon the other day with Adam Johnson and Tim Schilling,
you were discussing like, you know, should we write, how do we write tests?
Like what kind of tests do you write?
What coverage do you aim for?
There was someone else who wrote a lot of, I forget their name, wrote some really nice
feedback.
But yes, we were talking about that.
But the point being, I really think that you need a test on basically every view saying
it does a 200 when you're expecting a 200 and a 400 when you're expecting 400 and the reason why
i like those tests is because they tell me when i broke something that you know i i left a i don't
know i left a colon somewhere in a model file such and i didn't catch it and i run the test suite and
all my tests failed and it's like it's clearly that i've you know it just shows when something's
radically wrong even though those tests yeah it's a great smoke test that that test is never going
of really fat but i don't really enjoy writing those tests so to speak but i can write a class
which will go through the url conf and you know check you know write some standard tests for all
of those and then i can run that and that's that's to go up an abstraction level that's to do
something a bit more that's not as labor intensive as oh did i do it for this endpoint did i do it
for that endpoint did i do it for this endpoint which can get a bit boring right it can get a bit
like i can't be bothered well that's what um this is the jeff triplett episode that's what he says
he gets paid to write tests not code as a consultant right because he gets parachuted
into code bases and it's like i can't touch anything so yeah right it is do you have tests
the answer is usually no well let's talk about test true let's get your take carlton i bang on
about this i mean my quick take is that tests are confusing and then you kind of get how you do it
and then it's really monotonous,
but you still need to do it.
Like what's your philosophy on tests
and then how, you know, at the Noun Project,
how do you, you know, in the real world implement,
you know, where these ideas of like 100% code coverage
and stuff generally don't apply?
Yeah, I mean, for us to get 100% code coverage
is realistically unattainable
just because it is a massive sprawling code base.
So, you know, we have to focus our energy
based on where it has the most rewards,
which is focusing on basically two levels.
One, the business logic,
like our test, our low-code flows
to make sure that people can buy icons,
people can buy photos,
people can subscribe,
that those code flows work,
you know, and you handle
the most common error cases well.
So that way when things break,
they don't actually cause a 500 for the user.
So, you know, check those things
first and foremost.
And then on top of that,
just, you know, do a basic,
quick and easy happy path
and obvious error path check
for the whatever API,
GraphQL APIs you expose to the users.
So that way, so that the client
at least if they're doing things not doing intentionally trying to break things won't
actually break things so focus on breakage first and then and once you get a solid base in there
then you can work on speed um all the little the polish around the edges type of thing can i ask
about you talked about testing the flows like for instance the checkout flow can i buy some icons do
you use like um selenium or playwright or something like that for that kind of um cypress yes um
Actually, yeah, our test engineer is actually right now on maternity leave.
And yeah, she's written a massive automation suite in Playwright that does all those main flows and runs through all those flows on every time we're about to make a big deploy or any time we're trying to make any sort of major functionality changes.
She runs through all those and makes sure nothing broke and does a great job of staying on top of that and making sure that everything doesn't work like it does.
So, you know, the tests I write are all focused within the Django unit test framework.
And then we have the playwrights suite on top of that.
Yeah, I mean, the older I get, the more like casual mode for testing is like end-to-end testing.
It's hard to write.
It can be fragile because, you know, you move a selector and all of a sudden the test breaks.
But they really do cover an awful lot of functionality with very few tests.
And, you know, for smoke tests, they tell you that something broke.
It doesn't pin it to, oh, do you know what?
It was this parameter to that function.
but super helpful yeah because in our front end engineers they use um jest i believe it is to do
a bunch of internal testing within the react code base as well okay good um i didn't hear you say
pi test so do you just go no no pi test well well our our django code the django code base is base
runs within the just a standard django test runner not within pi test and then our flask
get a code base uses PyTest. Interesting. Okay. Yeah, I'll say this. I don't love PyTest. I know
people do and like will die on that hill, but I feel like here's my old man take. I feel like
you can get a long way with just Django, just Django tests. But you know, it is the difference
between smaller solo small team projects and larger projects i don't even think about i don't
even think you go for that i'm trying to i'm trying to put i'm trying to i don't know if i
agree with that all right well anyways i've used pytest can be great but i'm not completely sold
on it that's that's my controversial take of the episode right pictures can be great if used right
but they're also a way to trip yourself over hardcore too it's really it can be very confusing
where did the fixture for this test come from where's when you've got a unit test class where
You've got the setup data at the top,
and it might be slightly more repetitive.
But, okay, dry in your code,
but repeat yourself in your test
because you want to be able to open that test class
and read the test class from top to bottom
and know exactly what's going on.
There's something important about that.
There's a lot of value to that.
That's a bit of the function-based view,
class-based views thing, too, as well there.
Don't get me started, Cole.
You're going to fall over.
Whoa, whoa, whoa.
If we're going to step into all these line mines, let's do them all at once.
What I really wanted to get to is, Carlton, why don't we just put everything in the urls.py file?
Why do we need anything else?
I'm going to do a lightning talk at Django.
I'm going to put everything in the urls.py.
That's like the dark magic that's been out there, and I hear various corners.
It's like, you know what?
I started Django a long time ago, and I used to put everything in logic and URL comps.
And then at some point, this line appeared in the docs where it said, oh, we don't really think you should put logic in the urls.py file.
I'd have to track it down.
i'm sure it's still there and every time i've come across that which every couple of years i'm like
i don't agree with that i think that's just wrong and so i've but i've been sort of quietly keeping
it to myself for a decade or so you're not the only one though i hear this i hear this whisper
in the in the hallways at jango cons it's time for me to you know come out and be proud like no
urls don't buy for the win well where it comes out is you know is is like you know how do you
configure apps and someone's like i don't use apps at all we use lots of apps yeah
yeah we yeah we've got to say probably about a dozen apps in there um our url conf is mostly
pretty straightforward nothing too uh fancy with that except we have a couple of things you know
a couple things behind an if settings dot debug check in there okay but aside from that pretty
much everything else is straightforward just a whole giant list of url con url patterns okay so
this is um something will and i've discussed a few times is where if you get a new new django
code base where do you go first and i always say that urls are part wheels often said that the
models file for you know you can see the reason where you get a new new um if you get a new
project or new thing what do you check out first to kind of get to learn that yeah first thing i
check is to see the um is to check actually the settings and see how they have this structure
they have a separate production versus production versus local configuration do they have their code
going up to apps how much custom how much are they trying to do from your from say environment
variables versus reading from a settings file you know things like that see what's their structure
like there, then work their way through the apps and go down that tree.
Okay, good, good, good.
I like that you went.
We both did.
We both did very aggressive nods when you said settings, like, oh, yes.
I saw that, yes.
Well, again, can I ask Noun Project, what version of Janger are you on?
Like, how is all the work that the fellows are doing in the community, like in the real
world, right?
Because I know in the real world, companies are just almost always, you know, versions
behind just because that's the business imperative um how does noun project stack up we're on we are
on 4.0 i have code written to port to 4.1 that that works it it just you know open grain 4.1
just worked the only reason we haven't deployed it yet is we're waiting for the test engineer to
come back from maternity leave so to give it a thorough dog tire kicking first that's fantastic
and what what version of python uh 3.9 the reason we haven't gone any higher than that right now is
because we use a PyType for type checking
and that does not work very well on Python 3.10 yet.
At least get the combination of the libraries we use
plus that there's some breakage involved
that I haven't fully had time to digest yet.
So maybe switching type checkers,
I may be doing a whole bunch of excavations there.
I'm not sure yet.
That's just one of the things I need time for that.
And in your work,
do you find that you have time to push fixes upstream?
So you use a library
that's perhaps not compatible with 3.10
and you've all got little nicks.
Do you find that there's time in your week
to make a patch and push it upstream?
If I need to, I can,
although I fortunately have not run into that too much.
I think just recently we did an upgrade with cryptography
that caused some slowdowns in our APIs,
trying to figure out what happened there
and search through the issues.
And then, oh, hey, there's one where someone saw
the major performance regression and exact fix
or how to work around it.
So, hey, it was well listed right in there
and applied that fix and ta-da, we're back to normal.
And it actually got slightly faster as a result of that.
So I mean, most of the time we're far enough
behind the leading edge
that that doesn't necessarily affect us too much.
But so I actually did submit a PR to Django way back when
for trying to improve the MySQL inspect DB command
that kind of got lost in the shuffle and i'm not sure where that is right now you look back and
figure what that is yeah that happens sometimes i can only ever apologize to people when they
get sort of lost in the gap and it's like oh it needs a review and it happens you know we've got
quite a lot that's all right it happens i mean i think that that phrase you and yeah the work
i cannot thank the work that i cannot thank the work that you and uh marius have been doing with
maintaining the jenga fellows and everything enough oh well thank you thank you i will say
when you've when you um that that phrase you just use when you're far enough behind the leading edge
it's a good place to be where you sort of by the time you hit the issues they've been there's a
workaround found and you can just roll along with it it's like the wave is crested yeah right yes
exactly yeah and then upgrading to 4.2 we can't probably can't do immediately because of the
increase in mysql minimum version we're on still on aws managed 5.7 yeah so we need to upgrade to
8.0 before we can do that before we can upgrade to Django 4.2 yeah okay oh let's see this is where
it's we're gonna have to do that this year anyway because MySQL 5.7 runs into support fairly soon
anyway so that's not like a major deal anyway we got it's on our radar we have to do it yes it's
it's an interesting thing like you've got real deployed code base it's like we're looking at
well which versions we try and maintain and which do we drop when and it's well okay this one now
was reaching end of life okay we can drop that and for tubing and lts it makes sense to not try
and support a version of the database that's going to be going out of support very soon exactly i
think this is marish's um take on that it's approved then um deployment how how is uh what
did you want to say something carlton no no no no no you're just excited about deployment i'm not
even going to mention anything on your end i'm just asking drew this week yeah yeah how is it
how is it structured okay so deployment we have the automatic build and deploy through aws for
our test and staging environments and then we have the manual verification before we do a command
lot just a simple command line script to deploy to production it's just run through it's just
all done through aws code build it's really straightforward and uh use terraform for the
actual infrastructure as defining the infrastructure that's all pretty cool though that's you know
terraform and code build and you know automate pipelines yeah fortunately i don't have to manage
much of that because terraform syntax is absolutely greek to me yeah but uh but no it's uh yeah joseph
when he was there did a lot of this and then we are robert other back engineers done a lot with
it too so we it's a pretty well set uh set there so we don't have to worry too much about deployments
going haywire it's mostly just type deploy production and go and then sit and wait 20
minutes for while it does the roll in roll out uh sliding deploy okay can i ask is it is it like
you've got a staging environment that you then promote to production or does it redeploy again
for that that's just a it's a fresh deploy it built the aws builds the images separately on
each environment okay cool carlton we have to mention that i do you still read ancient greek
for fun at night is that so yes it's still on my life projects i'm just i'm giving a um keynote in
um paikon italia in may yes so i'm not i'm i'm doing three months of italian before i go
current project is to pick up oh excellent pick up a bit of italian so my i went to france recently
i only started a couple of days ago give me a break i went to france um
recently and my french is now adequate it's not great by any stretch well you're on like what a
700 day duolingo street yeah something like that yeah nearly coming up i've seen something
excellent yeah i've just gotten started no carry on it's brilliant like literally like just a little
bit yeah it is and i go to france i could speak french it's like which which language drew are
you doing french uh spanish uh yeah for me i took spanish through high school and then i um studied
abroad in madrid for summer of 07 of 06 um through the vodafone us foundation and so they paid for my
scholarship in the wireless engineering program and so um that spent six weeks in madrid doing
some computation research and and uh living in madrid and being immersed in life so it was great
and um so actually my wife and i are going to spain in july to celebrate our 15th wedding
anniversary fantastic and so yeah carlton i'll be talking to you about this as we get closer
we'll be swinging near barcelona way let me know we fly into barcelona so yes i will be okay well
let's get on the email after the show totally yes yes and so i've been and so i just i was
basically fluent in back then so i just picked up duolingo again to try and you know refresh myself
and i'm at this weird point where i like 99 of the stuff i know and i they do this is like oh hey i
already know this and then by but it's like okay how do i get forward to the next level and keep
going and keep going because i met and because it's like i and so it's like okay just click
through and test the next level next level next level next level and so i'm at that we i'm like
the weird point where i know enough but not quite what the way they know it too so it's like the
different vocabulary and also getting extremely frustrated the fact that duo does not use vosotros
the um formal u plural at all so it's like why why oh that's true actually or hang on i think
there's a setting there you can choose which spanish you want to learn you can either do sort
of Central American Spanish
where they don't use
the Sotro,
so you could use
the Castilian Spanish
where they do.
Yeah.
Yeah.
But anyway,
there's our prompt engineer.
Or the Argentine Spanish
where things are just weird.
Yeah, I don't know
about Argentinian Spanish.
I mean,
Argentinian steak,
that's a different topic.
Argentine uses mostly
the same as Castellano
with a slightly different,
they use os
as the,
you plural,
as the two pronoun
instead of,
like instead of
para ti,
para os.
It's very interesting.
But they're,
yeah,
this is a lot of fun
because,
I mean,
When I was in Madrid, we had in our dorm, we had people from Argentina, Honduras, Croatia, Serbia, Germany, all over.
And even a couple of people from the Basque country, just all over the world.
And it was a great little melting pot, getting to know different people from everywhere, made some good friends and had a wonderful time there.
So I'm looking forward to going back to Spain and seeing what I know.
No, I mean, I remember I think we had a little chat in Spanish at DjangoCon.
DjangoCon US.
Sí, un poquito.
Yeah, yeah, yeah.
No, I remember you speaking Spanish quite well.
Thank you.
Will, can I ask your question to Drew?
Yes.
Go on, Drew.
So if there's, we're coming off on time,
so sort of a rounding off type question.
Is if there's one magic wand
and you could change one thing in Django to,
what would that be?
What, you know, if you could just have it.
I would have a case, have an API,
like have a blessed API,
whether it be like a DRF, something in core.
Okay.
Because so many use cases these days have,
you know whether it be necessarily it's like serving something like htmx or you know it might
be a format agnostic so to speak but just have a this is the best way to rate your api in django
have something like that in core well best or just a default it's good
an opinionated this is the this is the preferred way that's not necessarily to be the only way but
this is a you're getting started you're trying to write something and you don't know what you're
doing use this to start until you would have a reason not to okay brilliant brilliant i think
that's a great answer because that's on my sort of long list of things that i'd like to get in as
well um for there's a work going on currently to make um to add a request.data property that will
not only give you form data if you submitted form data but also if you submitted json it would give
you past json back like kind of like drf has done for many years um and then after that we'd make
that pluggable so you could provide your own passes you know jango would probably only provide
form data and json out of the box but you know you you could if you wanted message pack you could
but if you want to have a different format in there you could do it yeah and then the next
question is um serialization so you know we've got um forms we've got the serializers for use
for load like data and dump data that needs a refresh there's django django serialization
that's there as well then there's the modern things like um pydantic and attas and catas and
then you know there's projects like django readers where you know you define a spec and it creates
It's exactly the select relateds and prefetch relateds and onlys and defers that you need to get just exactly the data you wanted and no more.
It's a beautiful project.
And so what can we do in this area?
So Andrew's Hatchway is like his take on this first thing.
And he's used Pydantic and mapped it into Django in what knows where.
So it's like, OK, there's one.
Let's do a couple of those.
Let's look at what the options out there.
How can we?
Because one option is let's just use Pydantic.
it's great but can we get some Django nicer so it ties into the ORM in you know the kind of way
that say Django readers is doing we have an opportunity to take what's been learned in the
last few years and you know really do something exciting and that's not going to go straight into
court but some over the over the 5.x cycle it would be really nice to have some stories there
that, you know, that would answer your...
Yeah, I'm looking forward to that a lot.
I mean, it's really exciting.
It's kind of like the exciting what's left to do.
You know, the last few releases have covered so many bases
and now it's like, okay, there's that.
I would agree.
I think those are the two big ones,
some sort of API serialization and then async.
But I did want to,
maybe as my closing thought question thing out there,
I had a reader was asking me about,
I mentioned something about,
I was like, oh, 4.2 has PsychoPG3 support, and that's exciting.
And he was like, I don't really understand.
He's like, I looked at, I was like, why are you excited about this?
And I was like, well, async.
And he's like, yeah, but why async?
And I do think that the community and people who use Python and Django are convinced that async is the way to go, and we do need to have it.
But 95, 99% of people are like, what?
Like, you know, there's still, if not a communication gap.
You know, so I I sort of worry in a way that it's almost like string theory, like it's beautiful and it kind of works.
But like, is it core? I mean, I think it's hard to imagine it wouldn't be the way things are done in the future, but it's still a ways out.
And so, you know, I realized I was like, I don't have, you know, I was like, you know, here's the standard explanations for async.
But I was also like, you don't have to use it. But, you know, for people who are into this kind of stuff, it is exciting and it will be, I think, important.
But he was like, I read the docs and I don't know why I care.
No, I mean, for most, go on, I don't know.
No, please, I want to refer him to this.
For most use cases, don't use it.
Like you just don't, you know, your blog, I'm serving it with async views.
Why?
Just use your blog standard Django that you've been using forever and just keep going.
It's much simpler.
It's much less effort.
but if you want real-time updates streaming out to a client or something like that then there's a
real case for async or if you want two-way communicate long-lived two-way communication
i don't know like the classic examples are like a chat client but chat clients are really boring
but there's lots no but it's it's a nice example is that you know you're typing and you want to
see a little notification that says you're typing well that needs a an open connection that's
sending you know that that little graphic is is drew typing yes he is okay well okay i'll wait
for the response that kind of instant update between the client and the server that needs
that needs async and then the other the other sort of end of the scale but you know build build your
core app with sync and then tack on these little async bits that as they are needed but really it's
not top priority then the other end of the scale is these high throughput servers that you know
okay you don't want to have to switch web framework or even language just because you
have one of these use cases so we need an async story for those high high throughput cases but
even those are few and far between really there aren't many cases that need them and then when
you push it right to the limit it really does become a question why you're still using python
at all like why aren't you using rust or go or whatever and maybe python can be competitive in
those spaces for pure speed but probably it can't and then it's you know django django is going to
get you close enough but then by the time you're in that sort of super league i don't know if it's
it's worth python's while competing maybe maybe i'm wrong there maybe python can compete for speed
but um i'm not convinced i'm not sure is more the point well and this is one of the issues with
python itself is that who's on the board of the psf it's you know google microsoft you know it's
companies that do have do have that interest at heart and it is important that they push
things forward but that is the tension is you don't want to leave behind the beginner friendly
nature of python itself because all the focus is on these more advanced use cases i mean i know
that that's you know any language that's that's an issue is balancing that tension yeah it's where
your priorities lie and i see you know microsoft but um they they sort of um uh with the azure they
started using fast api you know and that's a big pickup for them you know is that language i'll be
using i don't know i don't know i just don't know um is it django drew is there anything you wanted
to mention that we didn't ask you about or any chance of a pitch couple things um first of all
DjangoCon US 2023 sponsorships
are open. If you're curious, email
sponsors at DjangoCon.us. Catherine
and Don, our sponsorship chairs, asked me to plug
that on the show.
Also, we are currently giving away
two tickets to the Python web conference
that's happening next...
Well, it'll be this month by the time this airs
coming in March. The giveaway
is on our Mastodon and Twitter.
The forum's open until March 2nd
at 5 p.m. Eastern. So go ahead and
if you're listening in time,
go ahead. On the DjangoCon US.
Mastodon. Yes, correct. That you can sign up there and, you know, get a chance to win a ticket to the Python web conference. And also to tie back into, we were talking about tying in beer and Django. A quick plug for my little hobby project. It's called a hsv.beer. What we do is we actually like survey the digital signage for like untapped, digital poor, the various places that were breweries and tap rooms can list on the TV what's on tap and that shows up on their websites as well.
And so we use Beautiful Soup to parse some of that and display it in a form that collates together everything in town that has that so they can see, oh, hey, I want this beer.
Where is it on tap?
And so you can find out without having to search through six or eight different apps and venues to figure out, okay, I want this.
Where do I get it?
Or what's on tap at this local place?
Is this anything I'm going to drink here if I'm picky or if it doesn't have much of a selection?
And so it's a little fun thing that myself and two other people, excuse me, here in town have done together to try and make things easier for us.
And it's just a little fun project using DRF for the back end and NUX.js for the front end.
That's at tapless.io, the site itself?
No, the actual website is literally hsv.beer.
That's the domain.
Oh, OK.
I'm sorry.
Thank you for coming on.
Wanted to have you on for a long time, both just to hear about your work, both professionally with Django cons and just, you know, all these things that, you know, we got to chat about on the bikes.
Yes, definitely.
6 a.m. in San Diego.
Hopefully we can do that again in Durham this year.
I know.
Yeah, I don't.
We'll have to sort something out.
I don't I don't know Raleigh very well.
Raleigh-Durham.
But there is actually literally less than a mile from the hotel.
There's what's called the Appalachian Tobacco.
There's the American Tobacco Trail.
That's a 14 mile rail trail.
So convert a railroad into a paved trail that runs that literally go less than a mile out
from the hotel.
And it's there 14 miles of car free riding.
Yeah.
And also because it's a train line, it must be flat.
It's flat.
Yeah.
The rail trail means, yeah, there's very little, little gray, very little side slope, wide
turns, very easy riding.
Yeah.
Okay, great.
All right.
All right.
Well, we have time.
We'll sort out some company to rent bikes from and get a little, get a little group.
Sounds good.
Okay.
Okay. Thank you. Thank you, Carlton. Thank you, Drew. We are DjangoChat.com. We are on Mastodon
and check out the links for the call for proposals. And if you want to help out with
DjangoCon as well. See everyone next time. Join us next time. Bye-bye.