Django Chat

DjangoCon US 2023 - Drew Winstel

Episode Summary

Drew is a software engineer at TheNounProject and co-chair of DjangoCon US 2022. We discuss organizing DjangoCon events, the tech stack at TheNounProject, homebrewing, testing, ChatGPT, and more.

Episode Notes

Support the Show

This podcast does not have any ads or sponsors. To support the show, please consider purchasing a book, signing up for Button, or reading the Django News newsletter.

Episode Transcription

Will Vincent 0:06
Hi, welcome to another episode of Django Chat podcast on the Django web framework. I'm Will Vincent joined by Carlton Gibson. Hello Carlton.

Carlton Gibson 0:12
Hello World

Will Vincent 0:13
and we're very pleased to have drew wind still join us this week. Welcome Drew.

Drew Winstel 0:17
Thanks little Carlton. How are you gentlemen doing

Will Vincent 0:18
doing well happy to happy to be doing a podcast it's always a good morning when that's happening.

Drew Winstel 0:23
So as always, thanks for having me on.

Will Vincent 0:27
I first met you in person at Django con us this past fall where you were co one of the program chairs and we were able to do bike rides every morning which Carlton I got in the habit of doing it the last one so that was lovely but maybe before we get into all that what's your what's your quick quick background and then we're a lot of areas we want to cover about Django and other things

Drew Winstel 0:49
definitely well I got started you know, usual like nerdy grade school kid had Apple two E's in the computer lab then Macs and learn some apple basic along the way. Got my first computer desktop computer at home and they were been 90s did a bunch of cute basic and you know, fun stuff like that on there. Learn some got some kind of become C or C++ back when I was in middle school. It didn't really take too much at that point. Then in college I majored in electrical and wireless engineering at Auburn University. Had it you know, so wasn't a CS major as such, but a lot of CS adjacent stuff had classes and C x86 assembly. C++. All the professors are student we knew MATLAB None of us did. You know that goes.

Carlton Gibson 1:32
You can learn that. If you can do diodes, you can do MATLAB like.

Will Vincent 1:37
Yeah, I mean, that's all just Boolean logic, right? It's more hardcore than computer science. Like if someone's like an E or you know, at MIT, like eeks or something, you know, that's, that's like, ooh, 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?

Drew Winstel 1:53
Please, you know, spoiler alert. Neither do we.

Will Vincent 1:56
Do more. You have classes on it, though? Yeah, details

Drew Winstel 1:58
you do. But yeah, so while I was out there at Auburn, actually, one of the first people I met there was Lacey leaves Henschel who chaired Django con us back in 2017, at Spokane, and she and her friends throw the honors college stuff there. And we're small world thing, you know, college 25,000 people. She actually knew my wife back then for doing the English major English major stuff together because they were both English majors. And then, yeah, so then we've got thin widget lacing, I reconnected on Twitter back in the early 2000 10s. started chatting through there. And then when I was working at an IoT shop here in Huntsville, Alabama, where I'm based, my we were is a Python shop where they actually run a little embedded chip that runs Python on the device itself, this subset cut not quite micro Python, but a similar idea to it. And they were looking for a something to run on the back end that ran Python said it was 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 that project got shut down, and I got laid off while my wife was pregnant. So appropriately enough, Oh, yeah. We found a job. Oh, totally. quickly found a job with actually one of the guys in my homebrew class, or not homework last homebrew club rather, and not the software.

Carlton Gibson 3:26
You mean that to homebrew dead? Okay, so we're gonna put out on the side. We'll come back to that in a moment you finish this? And then we'll come

Drew Winstel 3:32
back to the year. Yes, absolutely. Yes, because there's actually a Django thing related to beer as well. We'll come back to. So yes, so yeah. Alright, so what did they little shop that does remote money management, and they had a homegrown LAMP stack. You know, it's very clearly written by a computer science by electro engineering computer science person. He, so yeah, I took that I rewrote the stack and made a DRF back end, direct gateway to the remote devices. And the other developer wrote a React front end for it. And so that was a complete ground up rewrite. Very nice. And and 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.

Will Vincent 4:22
Yeah, I was just looking at that talk.

Drew Winstel 4:25
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 Django stack with a Graph QL API and react front end for most of our stuff. And the enterprise API through historical accident runs on flask, SQL alchemy?

Will Vincent 4:43
And then 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?

Drew Winstel 4:51
Yeah, I mean, we've got, I think, last count about five and a half million give or take icons that we use to serve up a few 1000 requests per minutes, you know, So it's not like web scale or anything like that. But it's still a pretty solid load on there.

Will Vincent 5:05
And you can cache it, right? You can cache most of that, right? It doesn't change too often, or,

Drew Winstel 5:12
yeah, we do a lot of caching with it to help out, of course, use Elastic Search to handle a lot of the database that would be database load for her for the searching itself. Because you know, it's MySQL is the backend database. And so, if you look at it the wrong way, things go south with it.

Will Vincent 5:27
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 a

Drew Winstel 5:35
full text. Yeah. Oh, yeah. What could go wrong? I've been through one ground up rewrite. What's another one?

Will Vincent 5:40
That's right. That's right. Just burn

Carlton Gibson 5:41
it to the ground and start again,

Will Vincent 5:43
why fix? Why fix the niggling little things when you can just burn it all down? Yeah,

Drew Winstel 5:47
exactly. Yeah, and so um, and the process of going at Django con us is 17. in Spokane, when I first saw ACN, for the first time, that was a great time to meet a whole bunch of people. That was where the venue had some trouble getting people to their rooms. And so sitting out in the lobby, and that people like Katie McLaughlin, Russell, Keith McGee, just a whole bunch people is sitting on the hallway. And it's like these people who are like, Oh, hey, I've seen your name and things, but I have no idea who you are 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 Jessica Deaton decade, Dietz, recruited me to be an organizer for 2019. And it's like, hey, where can I help out and I got put this offer and the Opportunity Grants to the group took over his chair there ran that, then 2020, the pandemic hit? Yes, 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, there 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

Carlton Gibson 6:58
why you were quite like, busy moving around the conference.

Drew Winstel 7:02
Very much. So yes.

Will Vincent 7:04
What is one of these things that I hope we can highlight? In this episode we have talking with Jeff Triplett in the past is that you know, you show up to a Django con event and maybe unlike other ones, it's not professional organizers, its volunteers, 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. 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 lifted is on the volunteers who make Django con us and Django con Europe happen. It's, it's, you know, it's an incredible, incredible service that community. So I hope people are aware of it totally. It sort of 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 fit in.

Drew Winstel 7:54
Right. And so as you both saw, we did, I did the call for volunteers as during the opening remarks on that Tuesday at 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 meetup last week, and had somewhere in the neighborhood of 2520 25 people show up for that. So already huge improvement. Right? That's yeah, and

Carlton Gibson 8:17
go. 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.

Drew Winstel 8:27
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.

Carlton Gibson 8:36
We'll see if that goes.

Drew Winstel 8:39
Well, yeah, exactly.

Will Vincent 8:40
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?

Drew Winstel 8:56
Sure. So what happens is we'll this will be actually be going live likely this week, both the call for proposals and the Opportunity Grants will open up. And so we're going to do it what happens is there's a form that gets pushed 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 Django con? Is this your first time coming? Are you speaking at Django con just some basic questions to try and get a feel for why you want to come to Django con why you should get money. And then will you give you up to you know, a little bit of money somewhere up to I think it depends on your case for the traveling from the US or overseas. There's a travel budget maximum help out with airfare hotel, food cost, so and visa fees if you're coming from overseas to help out with help alleviate the cost of coming to Jenko con because it is a big outlay especially given you know 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.

Will Vincent 9:58
Wow. Hmm, well, it. Yeah. It's also the case. I mean, it just was 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 yeah, people should. And historically, if you, if you give it, 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 a chance for Opportunity Grants, so a plug to put in for a

Drew Winstel 10:32
separate, right. And then separate from that. Also, we have a 500, large travel reimbursement that ll speakers are eligible for, even if they don't apply for Opportunity Grants. So if you're so if you know your company is 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,

Will Vincent 10:54
please submit jokes. All right, good. Well, we'll have links to all that. And yeah, it'll be on the usual channels and the Django news, US newsletter if anyone listening isn't already subscribed, it'll be on there. Great,

Carlton Gibson 11:05
like, hang up, but this is in the Automate because I've just I've literally just done my submission for Django con Europe. So I'm, I've got another one, right. When's the call for papers? When the calls proposal? When's it gonna shut because that's the key date.

Drew Winstel 11:18
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 page itself. And then once that's done, it'll go live and it'll run through May 15.

Carlton Gibson 11:29
Okay, so there's a little bit of time left to

Drew Winstel 11:33
correct things, but it's not urgent, but it's not like you have three weeks to submit your talk. Do you have time? Yeah.

Will Vincent 11:38
So definitely the Django events Foundation, North America, you're the vice president of that. Can you talk about I mean, that runs the Django cons, but that also is its own thing. Could you briefly just talk about how definitely works?

Drew Winstel 11:50
Yeah, so back in the mid 90s, he doesn't tend the group of people create groups, Jeff triplet, and a few people others whose name I don't remember off the top of my head all got together and realized that we need Jake icon to be sustainable. We need a nonprofit to run it and help maintain the UD your knowledge of how to run a Django con. And so definitely the DSF signed a contract where the object where definite runs Django con us. So each year we submit, you know, here's when we're trying to do Django con the DSF approves a date, make sure there's no major conflicts with other national other Django cons or religious holidays or things like that. And so then we get together with we run everything from gets the call for proposals, venue, solicitations, website, design solicitations, and then maintain a duck, low documentation of how to wrenching and con year in year out so that way we can, as we cycled through volunteers, we can help maintain some continuity and get a solid base underwritten, then hopefully get a more sustainable vape base as the years go on.

Carlton Gibson 12:54
I think that's the fundamental, great idea about death. And I think we need we need something similar in for Gen Con Europe, because it's run very well for years and years and years. But like there's times where it's been lagging, hang on who's gonna run it next. And then they that bit about passing on the knowledge codifying the knowledge and passing it on? I just think that's monstrously valuable. And, you know, something that,

Drew Winstel 13:18
for me, just a legal perspective, it's little bit harder in the EU just because you have different national bodies go doing governance, but there should be a way to make it work.

Carlton Gibson 13:25
I think we could set up something in Estonia, and you've

Will Vincent 13:30
given me like PTSD here. On the board spent so much time on this. During Yes, I'm sure hearing 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 down to the umbrella of you know, Euro Python or another thing, but it is it's, it's um, we didn't we haven't figured out a solution in 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 definitely because it's been running and runs well has its has little leftover money, like 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 cost during during COVID of having to eat some bills there is no equivalent in Django con Europe. So then it fright or Australia to my knowledge, or Yeah, or Australia when it was running so then it falls on the board. So anyways, yes, I 1,000% agree we if there's a way that we're missing to have a deficit for Europe, both legally and then both in a way to run it so that there's some reserve cash to cover things that come up I think yeah, yeah. I don't want to go on about board stuff but yeah, that's a big concern. No, but

Carlton Gibson 14:54
I think it's right i Some is legitimate topic for the website, right? Is that like with you? If you're going to hire an event, you've got to put down an event venue, you've got to put down 1000s and 1000s and 1000s.

Will Vincent 15:06
Of figures. Yeah, solid five figures. Right. Yeah. And that's called come out of someone's pocket.

Drew Winstel 15:11
Depending on the venue.

Will Vincent 15:13
Yeah. Yeah. I mean, it's a little bit less than Europe sometimes. But yeah.

Drew Winstel 15:18
Yeah, we've got a, and this year was a little bit different, because the hotel event and then yourself 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 had 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 eight, six months out eight months out, I can't do math eight months out, and we're working over something like $50,000 for it.

Carlton Gibson 15:46
And that's, that's too much for an individual to put on their own credit card or to you know, it's got to, it has to be a body to back that. I

Will Vincent 15:53
mean, it's, it's, you know, a sizable amount of the DSS, like, reserves. It's not that much. You know, I think it right when I stepped down, it was something like 200,000 total, which is about a year's running run rate. So anyways, yeah, shout out to Jeff Triplett for being the lead on all that I know, along with other definite people. But Jeff's Jeff spent a lot of time on that. So

Carlton Gibson 16:19
but just one more, just want 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's difficult but that the second bit is that kind of codifying the knowledge aspect if we can, if we don't need we don't need a legal Bali to do that. I think that's something that I don't know. Where is the run the run book for Django con Europe, I think that's something that we could work on.

Will Vincent 16:44
I think COVID COVID COVID really hurt hurt us. And then we had the organizers in Porto who did a fantastic job Yes, getting out of 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 I know when we had so there are people still who kind of remember from five six years ago and have been called upon to help with but it's it's a lot 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 G if anyone wants to set up a you know, definitely Europe. We we we could use it.

Carlton Gibson 17:25
Yeah, I mean like this year, it's in Bruins, which is a whole separate thing,

Will Vincent 17:29
not even Europe. I know right.

Drew Winstel 17:31
Now, that doesn't count. Yeah.

Carlton Gibson 17:33
Anyway, homebrew Drew, you see you you've got a you make home?

Drew Winstel 17:36
Yes, sir. Yes, I got it. Sure thing, I am gotten to homebrewing back in 2010, or 11. Back when I first moved here to Alabama, because the or first Well, I guess moved back to Alabama after graduating college. And the beer scene was just very much in its infancy around here. There were there was one brewery who at the daytime when shall we say questionable sanitation practices, so batches tended to be infected, which was not great.

Will Vincent 18:05
It is really hard. It's is really easy to Yeah.

Drew Winstel 18:09
Oh, yeah. No question. And then they then they closed a couple of breweries popped up and things were just getting started and the actually most of the breweries that came that have small dubs since then we have 10 Now I think have all come from are all but two of them have come from our homebrew club and it's going professional okay, what is just kind of nice to call the recut the club is called the Rocket City brewers Rocket City because Huntsville has NASA Marshall Space Center and you know, Furnival and brown and all that. So lots of space and fluids around here.

Will Vincent 18:38
And what's the brew of choice because like so I'm I'm from Vermont, and you know, so you know, East East Coast style IPA is 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 it's warmer where you are so it may not want like a DC percent thing but I don't know what's what what's popular down your way.

Drew Winstel 18:58
Um, little bit of it. Of course, like everywhere else this days at IPA dominates everything. My personal choices like when 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 pie. Nice, sometimes piney, sometimes citrusy hops in there.

Will Vincent 19:18
Well, they make now well, they make some really, really quite good non alcoholic beers, which is great. But also yes, definitely, a lot of the I've seen a bunch of these really good Double IPA makers around here are making you know, like four or 5% versions. Because like me personally, like I am just too old. Like I can't have more than like, like if I have to 8% I'm just wrecked. Oh, yeah. Done. So anyways, there's they're starting to be you know, it's like, gradually, gradually softening up 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 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 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? No,

Carlton Gibson 20:17
I'm laughing because I'm just like we've just turned into old man now so yeah

Will Vincent 20:23
I'm not I'm not upset about it like, Oh no, you just like all these things that you had time to worry and energy about before he just like well that's gone so you know. Anyway sorry I had

Carlton Gibson 20:36
the homebrewing was like I have this imagination like Homer Simpson with a steal 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

Will Vincent 20:45
that's a bathtub, it's a bathtub, right? Okay

Drew Winstel 20:51
that's your thinking distillation there, we actually have to do the burning step and then that is they get to steal into whiskey after that, which is a lot more effort. Yes. You don't. Yeah, so my setup is big metal tank for doing the actual oil process, you start within a couple of a actually 10 quarts that's what 38 liters coolers that actually do them what's called the mash where you take your crushed up grains barleys roasted to various temperatures and things like that to give a flavor and color state to the hot water in there for an hour. That then you rinse it with more hot water to flush all the rest of the sugars out. That goes into a boil kettle. We're boiling for about for 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 what how long the hops are in the boil. Longer is boiled meats, more bitterness but less flavor and vice versa. then cool it down at the yeast put and put it into a fermentation vessel which can either be like a glass carboy. So a glass tank that's about I don't know why I'm making signs making him toasters right now. A podcast is a visual medium. He's going about screen Hi

Carlton Gibson 22:00
there, folks.

Drew Winstel 22:04
Yeah, five gallon glass jug or plastic buckets that you let that ferment for a couple of weeks. Then you can either bottle it or keg it and let it carbonate and drink it.

Carlton Gibson 22:17
Okay, so you're a couple of weeks out when you start. So you got you got

Drew Winstel 22:22
four weeks, usually from start to starting to drinking? Yeah, you're gonna You can be faster if you hit harder things up or can be longer depending if it's a higher gravity batch.

Will Vincent 22:31
Then premium stuff, it doesn't last for forever, either. You know, there's like, what's, what's your sort of timeframe? Like, I've gotten some pretty good, like, micro beers up in Vermont. And you know, if you don't drink them within like two weeks, they really fall off.

Drew Winstel 22:45
Yeah, that Yeah, especially the New England IPAs are very much about they lose their character super fast. So that's one of the things that makes us you know, if they're not super fresh, they'll fade within and they're not stored. Well, they'll fade within a couple of weeks easily. You're less hoppy stuff and higher, higher alcohol stuff like Your Imperial stouts. Your Imperial porters. Those you can age for years if they're if they're actually prepared, right, whether she purge all the oxygen out with him before he bottled or canned them. I mean, I've got some beers in my fridge from 2015 that are still drinking very, pretty good.

Carlton Gibson 23:18
Mostly because you've measured to hold off though.

Will Vincent 23:23
Yeah, the self restraint. So

Drew Winstel 23:24
like 15 1415. So you couldn't do that by myself? Yeah, fair enough.

Will Vincent 23:30
What? Well, there is. There's this I'll just, maybe I'll put in the notes for you in case there's a really interesting book that came out last year called drunk about the history of alcohol. And like, why have people 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 like, back in the day, everyone just drink beer, because you can drink the water. So they're all kind of drunk all the time. You know, despite caffeine helps, because then they weren't drunk, but it was only two or 3%. So it's the kind of couldn't get drunk that like drunk drunk, but now with distillation, you know, you can get drunk super fast, and it's almost like humans haven't culturally or are biologically caught up with with that. So anyways, I thought that was interesting. But that's, that's probably enough about alcohol. That's 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 whatsoever, explicitly not not directly about that, because that can be a thing at tech conferences. And so that's one of things I like about Django con. Yeah.

Drew Winstel 24:31
And if people want to organize something to go to a place and grab some beers or whatever, afterwards there you're more than welcome to do so. We have Slack channels for outings and our attendee 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 shilling one of our new board members this year and onto ethna. He gave us a tutorial last year and just basically stood up beside the entrance to the hotel and just waited for people to start forming groups and found a different group each night and have 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 at Django con us 2019 Back in San Diego. I was getting a group together to go to one of the the many breweries that San Diego has on hand. And Joseph Coker hands, who was the CTO at the time, actually drove down from Los Angeles. And so he had, he's like, I thought a car can drive a few people. And so we drove over to North Park, the area, which has a bunch of breweries over there, went to a couple of those and had to go had some great food, great beers together. And then a few months later, February 2020, I was looking for a new job. And Jeff Triplett actually reconnected me with Joseph. And 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. But now, here I am almost three years later, and still great place.

Will Vincent 26:02
Yeah, that's wonderful. So 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 Django in there?

Drew Winstel 26:12
Absolutely. Yeah, we've got a small team, there are two back end engineers, myself and one other person and three front engineers right now with the hiring, trying to hire a fourth one. That Are we are doing, we've we've had to do for trying to deploy new features. Right now we're working on user generated photo uploads, so they can can we sell both icons and stock photos. And so try 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. With the back end, we have an enterprise API that big name customers like Adobe used to fetch lots of icons at a time, that will help us with them that they used to, 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, various design and print services, they like the ability to actually like search your builder their queries on their end, and actually search our icon library for the icons. And then they can, you know, they can they give you the block list to deny certain words that they or deny explicit icons and 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.

Carlton Gibson 27:40
I was looking at that I was thinking that was a toaster. I was like you've overcooked your toast that

Will Vincent 27:44
Oh, I see. I was thinking a toaster too. But now I see. Well, yep. Well, so it was just digress all over the place. So 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, felt you know, Mario's has won some people have when 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 Django con and people are wearing Django stuff. Like if maybe if a listener knows I know this is something companies can do this, but it's something that we don't want just printed. We don't want what we have now we have like, I forget which I forget which service we use, but Threadless which is great. And the T shirts

Carlton Gibson 28:27
are high quality. Like I got the we have oh yeah, quite good. I bought a few of them. And they last a long time. They don't lose their shape. So what do you recommend them

Will Vincent 28:37
but yeah, that's good. I think I picked the the quality option for the T shirts. But there is I think there's there's probably a level up just in terms of design and stuff that we could do on sweatshirt. So if anyone knows I would love I would love to go to Django con and see a little more Django stuff as opposed to I think anything one

Carlton Gibson 28:58
thing we've got to think about as well I mean just from someone that lives in Europe point of view is likely getting them made up in Europe as well as made up in the States because she I am shipping them into becomes like you pay the external tariff you pay the rest of us if we can get them produced here. It's a lot cheaper to your door.

Drew Winstel 29:13
Yeah, I would totally buy a full zip hoodie.

Carlton Gibson 29:16
I want I want enamel pins to be honest enamel pins and socks on socks. Socks. And

Will Vincent 29:22
do we want elbow pads? Knee leather elbow pads with Jerry? No, no, we could have that. Yeah yeah, soccer. Yeah. Sucks to be good. All right. Okay. Yeah. Well, one of the questions I wanted to ask your you were 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?

Drew Winstel 29:46
Yeah, I mean, a lot of the things we try go we try to go for like, you know, very more artistic like opinionated artistic stuff, which the AI is at this point, thankfully can't really replicate so much. So even if they were trying to do that it's a different planet competition, so to speak. Buddy, yeah, obviously we're taking we're watching the theory that it's spaced very closely, especially I think Gettys suing stable diffusion over over copyright infringement weapons, because you know, they can that stable stable diffusion can generate the Getty image wordmark pretty well, because you can see, you can tell that was very much using this training data, for example. And there's a whole bunch of the whole litany of questions regarding, like, diversity inclusion within the training sets. 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.

Will Vincent 30:47
Right, there's that hole. Do you guys hear about the Sydney before they shut it down? But like, personality with an open AI that was speaking it was trained on it's like, trained on the internet, it was like super creepy and manipulative?

Drew Winstel 30:59
And I mean, that's happened before, too. I mean, remember Microsoft tape from a few years ago?

Will Vincent 31:04
Yeah. Right. It's like all these things, too. Like, all these things are, you know, racist, too, because like, we know that 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.

Drew Winstel 31:17
Anyway, exactly.

Carlton Gibson 31:18
I've got a gripe kind of while we're on the I've got a real gripe at the moment, it's become a bit of a curse is folks commenting on GitHub issues, were just like, chat GPT generated,

Will Vincent 31:32
non Oh, now.

Carlton Gibson 31:33
And it's just like happening all the time. And it's like, really does. It's like, please don't do this, please. Just like don't even bother posting that stuff. Like if you want to use it as a research tool, or whatever, but don't like there was one on I know, Andrew goblins got this new API framework. And somebody asked the question, well, what's the difference between DRF and Ninja and hatchway? It's called I think, catchweight. Sorry. And Andrew was like, well, someone's just posted this thing about fast API. And it's like, but this is totally useless. Like it's, it's like a, then again, on Django. This has happened a number of times, we've had to block users. And it's just, oh, is this is this what the internet's becoming now?

Will Vincent 32:17
Ah, so God, it was a dumpster fire already. Yeah,

Carlton Gibson 32:20
it's already bad enough. Ai trained

Will Vincent 32:23
on a dumpster fires. So

Drew Winstel 32:26
I'm slightly bigger dumpster fires,

Carlton Gibson 32:28
you know, I'm a, you know, I've played with these tools, and they're quite useful. You know, the copilot is quite useful, particularly for writing tests. It's, you know, oh, yeah, the tech is fascinating. It's lovely. But then 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. Oh, yeah. And there's there's other sort of notes on the bit like, Ah, I'm having that frustrating. This week, the new book, you brought up the topic? Sorry. That's my little rant. I'll stop. Well,

Will Vincent 32:58
there's I mean, there is actually this. There is a class action lawsuit about both image and then also GitHub copilot Matthew Broderick 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 I've had this argument with IP lawyer friends. And I'm like, if that's not an infringement, I don't know what it 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. So I think people don't understand Python, even Python pythons. Tiny, you know, like, Python can't go up against Microsoft in a lawsuit. So,

Drew Winstel 33:43
you know, you know, there's a whole conflict of interest thing there with, you know, Microsoft, employing people like hito. Right.

Will Vincent 33:49
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 not going to come from open source projects, they're not going to be able to pursue it. Definitely not.

Carlton Gibson 34:06
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 someone was comparing these kinds of tools to like chat GTP T PT to like spellcheck. When you first started using spellcheck. 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 argument being made in this piece was like, it's a good start 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 that the barrier of those first few words, a block, and I don't know whether it's convincing or not, but it was an interesting take that I hadn't considered

Will Vincent 34:55
as 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 in Visual Studio code and all these things. It's. But it's more than that, because it is what it's trained on. Right? So it's not.

Carlton Gibson 35:11
But it's kind of like at the moment, it's like autocomplete that's been writing Drew's homebrewed. It's kind of dangerously wrong in a number of cases.

Will Vincent 35:20
Yes. Yes. It'd be, it'd 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, 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, you know, maybe

Drew Winstel 35:56
I mean, those algorithms can be very flawed to like, I mean, I saw one where they were looking at for skin lesions, and they accidentally created a ruler detector, because they have images with rulers tended to be malignant with the ones without tended to be benign.

Will Vincent 36:07
Right. But in their in their case, you know, so, like, path AI, which is a sponsor, Django 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, Harvard 1000s, millions of approved things to train on, you know, they will get those eventually. And then once they do, then it's, um, you know, the, 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, they'll, 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, right? Or, 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 okay. GPT, like, you know, you can have it create the Linux kernel, but like, can you have it create, you know, a good, you know, blog site with Django, like, you can probably get part of the way there.

Carlton Gibson 37:04
Plug into this a bit philosophical now, this episode, folks, but here we go.

Will Vincent 37:08
The,

Carlton Gibson 37:09
I've been thinking about this a long time, like, if you're a programmer, if to be replaced by a co creation tool, we'll just go up a abstraction level and drive the co creation tool program, the co creation tool, like 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, you know, usability problems, or so many, you know, areas where a kind of humans creativity will always be able to be deployed that you know, if they can write my DRF endpoints are fantastic, because I'm a bit bored of doing it. Yeah.

Will Vincent 37:47
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? thing? No, it's a real thing. Yeah. Like, yeah. Drew, have you read about this as well?

Drew Winstel 38:01
I think is basically where you, 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.

Will Vincent 38:10
Right, instead of your Google foo with your, your prompt foo. Okay. But

Drew Winstel 38:13
GBT foo, you do need, but

Will Vincent 38:15
the thing is, you do

Carlton Gibson 38:16
better than just prompts right? away.

Will Vincent 38:19
It's a funny name for this thing. But it does require I think it's exactly to your point, you need someone who can craft a prompt, get it 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, 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 your you know, where's that expertise? 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 this, the scope should be larger than if I'm hearing crafting it myself? I don't know the answer. But

Carlton Gibson 39:03
I mean, the more Django example. Right? Is this writing tests for your views to check that they weren't? Yes. Right. So you were discussing this on Macedon the other day with Adam Johnson and Tim shelling 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 and

Will Vincent 39:22
there was someone else who wrote a lot of forgot their name wrote some really nice feedback? Yes, we were talking about that. But

Carlton Gibson 39:27
the point being, I really think that you need a test on basically every view saying that it does a 200 when you're expecting a 200 and a 400, when you're expecting 400. And the reason why I liked 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 test is never gonna 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 comp and, you know, check, you know, rights and 10 standard tests for all of those. And then I can run that. And that's that's to go up in 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? Can we get a bit like, I can't be bothered?

Will Vincent 40:27
Well, that's what I'm, 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. It's like, I can't touch anything. So yeah, right.

Drew Winstel 40:41
It is easy to have tests. And the answer is usually no. Well,

Will Vincent 40:44
let's 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? What's your philosophy on tests? And then how, you know, at the down 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?

Drew Winstel 41:05
Yeah, I mean, for us to get 100% code coverage is realistically unattainable, just because it is a massive problem code base. So you know, what to focus our energy based on where it has the most rewards, which is focusing on two on basically two levels. One, the business logic, like our tests are the code, code flows to make sure that people can buy icons, people can buy photos, people can subscribe, that those that those code flows work, you know, you and you handle the most common error cases well, so that way, when things break, they don't actually cost 500 for the user. So you gotta check those things first and foremost. And then on top of that, just you know, do a basic quick and easy happy path and hobbies, airpad, check for the whatever API a Graph QL API to expose to the users so that way to the client 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 once you get a solid base in there, then you can work on speed. All the little, the polish around the edges type of thing.

Carlton Gibson 42:05
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 Selenium or play right, or something like that, for that kind of Cypress?

Drew Winstel 42:16
Actually, yeah, our Yeah, our test engineer is actually right now and I'm on maternity leave. And she's written a massive automation suite in play, right, that does all those main flows and runs through all those flows on every time we're about to make a big Deployer. Or anytime we're trying to make any sort of major functional changes, she runs through all those and make 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 unit, the playwright's that suite on top of that.

Carlton Gibson 42:51
Yeah, I mean, the older I get, the more like casual mode for testing is like end to end testing, it still takes hard to 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 cat, they cut out an awful lot of functionality with very few tests. And you know, they smoke but smoke tests, they tell you that something broke, it doesn't pin it to old, you know what it was this parameter to that function, but super helpful.

Drew Winstel 43:15
Because then our front end engineers they use jest, I believe it is to do a bunch of interim testing within the React code base as well. Okay, good.

Will Vincent 43:24
I didn't hear you say pi tests. So do you just go? Nope, nope. Pi test?

Drew Winstel 43:28
Well, well, our Django code, the Django code base is base runs within the standard Django dot test runner, not within PI test. And then our Alaska code base uses pi test.

Will Vincent 43:39
Interesting, okay. Yeah, I'll say this. I don't love pi test. I know people do and like will die on that hill. But I feel like here's my I can I feel like you can get you can get a long way with just Django Django tests. But you know, it is the difference between smaller solo small team projects and larger projects. So I don't even think I'm trying to I'm trying to put I'm trying to I don't know if I agree with that. Right? Well, I always I've used by tests can be great, but I'm not completely sold on that's, that's my controversial take of the

Drew Winstel 44:20
fixtures can be great if used, right. But they're also a way to trick yourself over hardcore to it's really

Carlton Gibson 44:24
it can be very confusing. Where did the fixture for this test come from works when you've got a unit test class, got the setup, date days data at the top and you might be slightly more repetitive but okay, dry in your code, but repeat yourself in your tests 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 a there's a there's something important about that.

Will Vincent 44:50
You know, now that's a bit of the function based view class based views thing too, as well there. I mean,

Drew Winstel 44:55
don't get me started. All these fine lines, but

Will Vincent 45:02
what I really wanted to get to is Carlton, why don't we just put everything in the urls.pi file? Right? Why do we need anything else? Well, I'm

Carlton Gibson 45:08
gonna do a lightning talk. I'm gonna put everything in the URL. So yeah,

Will Vincent 45:12
that's like that's like the dark magic that's like been out there and I hear various corners. It's like, you know what,

Carlton Gibson 45:18
I started Django a long time ago. And I used to put everything in your logic in URL constant. And some time at some point, this line appeared in the docs where it said, Oh, we don't really think you 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'd come across that which every couple of years I'm I don't agree with that. I think that's just wrong. And so I've been I've been sort of quietly keeping it to myself for a decade or so.

Will Vincent 45:40
The only one that I hear this, I hear this whisper in the in the hallways at Django con,

Carlton Gibson 45:43
it's time for me to come out and be proud, like no urls.pi, for

Will Vincent 45:48
where it comes out is, you know, is like, you know, how do you configure apps? And someone's like, I don't use apps at all.

Drew Winstel 45:57
We use lots of apps. Yeah. Yeah, we yeah, we've got I'd say probably about a dozen apps in there. Our URL compass mostly is pretty straightforward. Nothing too fancy with it, except we have a couple of things, you know, a couple things behind and if settings dot debug checking there. But aside from that, pretty much everything else is straightforward. Just a whole giant list of URL con URL patterns.

Carlton Gibson 46:17
Okay, so this is something we'll and I've discussed a few times is where if you get a new new Django codebase, where do you go first? And I always say that your Elsa pi will often said that the models fat for you can see the reason when you get a new new. If you get a new project, or new thing, what do you check out first to kind of get to learn that?

Drew Winstel 46:37
Yeah, first thing I check is to see the is to check actually the settings and see how do they have this? They have a separate production versus production versus local configuration? Do they have their code broke out up into 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? Because

Will Vincent 47:00
we both did, we did very aggressive nods. When you said settings. Oh, yes. I saw that. Yes. Well, again, can I ask Nam project? What, what version of Jenga? Are you on? Like, how is all the work that the fellows are doing in the community? Like in the real world? Great, cuz I know, in the real world, companies are just almost always, you know, versions behind just because that's the business imperative. How does noun project stack up? We're

Drew Winstel 47:27
on. We're on 4.0. I have code written to port 2.1. That, that works. It just upgraded 4.1 just worked. The only reason we haven't deployed yet is we're waiting for the test engineer to come back from maternity leave. So take a bit of thorough Doug tire kicking first.

Will Vincent 47:43
That's fantastic. And what what version of Python

Drew Winstel 47:47
3.9. The reason we haven't gotten any higher than that right now is because we use a PI type for type checking. And that does not work very well on python three point 10 Yet, at least get the combination of the libraries we use plus that there, there's some breakage involved that I haven't fully had time to digest yet. So maybe switching type checkers maybe doing a whole bunch of digging, like excavation there. I'm not sure yet. That's just one of the things I need time for that. Do you

Carlton Gibson 48:10
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 310? And you've all got look needs? Do you? Do you find that there's time in your week to make a patch and push it upstream?

Drew Winstel 48:24
If I need to, I can, although I haven't. Unfortunately, I've not run to that too much work. Like I think just recently, we had the we made it did an upgrade with cryptography that caused some slowdowns in our library. And our API is like trying to figure out what happened there and search issues. And they'll Hey, there's one where someone called the major performance regression and exact fixed or how to work around it. So hey, it was well listed right in there and apply that fix. And tada, we're back to normal, we 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. Do you look back into your what that is

Carlton Gibson 49:06
happen? 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

Drew Winstel 49:12
it happens.

Carlton Gibson 49:13
You know, we got quite a lot. That's

Drew Winstel 49:15
all right, it happens.

Carlton Gibson 49:17
I think that that phrase you and

Drew Winstel 49:18
the work, I cannot think of the work that I cannot think the work that you and Marius have been doing with maintaining the Django fellows and everything enough.

Carlton Gibson 49:25
I will thank you. Thank you. They will say when you when you that that phrase you just use when you're sparring off 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 the wave is crusted.

Drew Winstel 49:40
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 So we need to upgrade to 8.0. Before we can do that before we can upgrade Django 4.2. Yeah, okay.

Carlton Gibson 49:57
Let's see. This is where it's at this

Drew Winstel 49:59
year anyway because my SQL five, seven runs and does that work fairly soon anyway? So that's not like, like a major deal. Anyway, we got it. That's not our radar, we have to do it.

Carlton Gibson 50:07
Yes. It's it's an interesting thing. You've got real deployed code bases, like we were looking at, well, which version should we try and maintain? And which do we drop when and it's well, okay, this one now is reaching end of life. Okay. We can drop that.

Drew Winstel 50:20
And for tuning in LTS, it makes sense to not try and support a version of the database. It's going to be going out of support very soon. Exactly. I

Carlton Gibson 50:25
think this is my take on that.

Will Vincent 50:28
Let's approve then. Deployment. How How is what did you want? Say something, Carlton? No, no, no, no. You're just excited about deployment? Yeah, not even gonna mention anything on your end? I'm just asking drew this week. Yeah. How is it? How is it structured?

Drew Winstel 50:43
Okay, so deployment, we have the automatic build and deploy through AWS for our testing, staging environments. And then we have the manual verification, before we do a command, like just a simple command line script to deploy to production. It's just run through the it's just all done through AWS code build, it's fairly straightforward. And gives TerraForm for the actual infrastructure as defining the infrastructure.

Carlton Gibson 51:05
For that bustle, pretty cool bonus, you know, TerraForm and codebuild. And, you know, ordinary pipelines.

Drew Winstel 51:10
Unfortunately, I don't have to manage much of that, because TerraForm syntax is absolutely Greek to me. But But no, it's the Joseph when he was there did a lot of this. And then we are Robert Overbeck. Engineers done a lot with it, too. So we it's a pretty well set, 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 a while. Does the rolling rollout, sliding deploy? And Can

Carlton Gibson 51:36
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? It's just a,

Drew Winstel 51:43
it's a fresh deploy? It builds the AWS builds the images separately on each environment. Okay,

Will Vincent 51:48
cool, Carlton, we have to mention that you. You still read ancient Greek for fun at night?

Carlton Gibson 51:54
i Yes. It's still on my life projects. I've just I've been I'm giving a keynote in PyCon Italia in May. Yeah. So I'm doing three months of Italian before I go. Go Go and Vijay project is to pick up an excellent pick up a bit of Italian. So my I went to France recently about low value. I only started a couple of days ago. Give me a break. I went to France recently. And my French is now adequate. It's not great by any store user. I'm

Will Vincent 52:25
like, what a 700. Day Duolingo Yeah, something. Yeah. Nearly coming up seeing something excellent. Yeah. just gotten started.

Carlton Gibson 52:31
No, carry on. It's brilliant. Literally, like just a little bit. Yeah, it is. And I go to France, I could speak French. It's like,

Will Vincent 52:39
which, which language true. Are you doing French?

Drew Winstel 52:42
Spanish? Yeah, for me, I took Spanish through high school. And then I studied abroad in Madrid for summer of OSEP of oh six through the Vodafone us Foundation. And so they pay for my scholarship in the wireless engineering program. And so that spent six weeks in Madrid doing some computation research and, and living in Madrid and being immersed in life. So that was great. And so actually, my wife and I are going to Spain in July to celebrate our 50th wedding anniversary. tastic. And yeah, Carlton, I'll be talking to you about this as we get

Carlton Gibson 53:14
closer to swinging near Barcelona way, let me know.

Drew Winstel 53:18
We fly into Barcelona. So yeah, we'll be okay.

Carlton Gibson 53:21
Let's get on to the show.

Drew Winstel 53:24
Totally, yes. Yes. And so I've been so I just I was basically fluent in that back then. So I just picked up Duolingo again to try and refresh myself. And I'm it's weird point where I like 99% of stuff I know. And I used to say to this is like, Oh hey, I already knew 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 like I can so it's like okay, just click through and test and 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 what to say. Like the different vocabulary and also getting extremely frustrated the fact that dude does not use wasila throws the formal you plural at all. So it's like why why

Carlton Gibson 54:06
are you setting that you can choose which Spanish you want to learn. You can either do sort of Central Americans don't use for Sodre so you could do the Castilian Spanish where they do Yeah,

Will Vincent 54:18
yeah. Yeah, but anyway, those are pretensioning Argentine Spanish, where

Drew Winstel 54:22
things are just weird. Yeah,

Carlton Gibson 54:22
I don't know about Argentinian Spanish. I mean, they Argentinian steak. Now it's a different topic.

Drew Winstel 54:30
I know with a slightly different user. Oh says the you plural as the two pronouns that have to but like I said, like I said, a party Potter owes. It's very interesting. But there. Yeah, there's a lot of fun because, I mean, when I was in Madrid, we had I mean, in our dorm we had people from Argentina on Dora us, Croatia, Serbia, Germany all over then even some of the couple of people in the Basque Country just all over the world and it was a great little melting pot and you 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.

Carlton Gibson 55:05
No, I mean, I remember I think we had a little chat in Spanish at Django con. Europe, Django con us. Know you I remember you speaking Spanish quite well. Thank you. Well, can I ask you your question to talk? Yes. Good Drew. So if there's, we're coming up on time. So we sort of have 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? Well, if you could just have it,

Drew Winstel 55:32
I would have a case have an API, like a one at 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 like service and like HTML X or yocan, might be format agnostic, so to speak, but just have a, this is the best way to rate your API, and Django has something like that, in core no best

Carlton Gibson 55:51
tool just to default.

Drew Winstel 55:55
And opinionated, this is the this is the preferred way, doesn't necessarily have to be the only way. But this is a, if 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,

Carlton Gibson 56:05
brilliant, brilliant. I think that's a great answer, because that's all my sort of long list of things that I'd like to get in as well. For, there's a work current going on currently to make to add a request dot data property that will not only give you form data if you submit a form data, but also if you submit a JSON, it will give you pass JSON back like kind of like DRF has done for many years. And then after that, we make that pluggable so you could provide your own parsers. You know, Django probably only provide form data and JSON out of the box. But you could, if you wanted message pack, you could have to have a different format, or you could do it. Yeah. And then the next question is serialization. So you know, we've got forms, we've got the serializers, for use for load, like data and dump data that needs a refreshed as Django Django serialization. That's there as well. Then there's the modern things like pi DownTek, and artisan catters. And then, you know, there's projects like Django readers where you define a spec and it creates exactly the Select related and prefetch related and only is in differs that you need to get just exactly the data you wanted to know more. It's a beautiful project. And so what can we do in this area? So Jade Andrews Heartway is like the that his take on this for this thing. And he's used, pedantic and mapped into Django, in what knows, right. So it's like, Okay, there's one. Let's do a couple of those. Let's look at you know, what the options out there what how can we? Because, because one option is, let's just use pedantic, right? It's great. But can we get some new Django nicer, so it ties into the ORM. And, 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 really do something exciting. And that's not going to go straight into court, but some over the over the five point X cycle, it would be really nice to have some stories there that, you know, that would answer you're really excited. 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,

Will Vincent 58:11
there's that. I would agree that I think those are the two the two big ones some sort of API serialization and then async, that I did want to maybe as my closing thought question thing out there. I was had a reader was asking me about, I mentioned something about I was like, Oh, 4.2 has psycho PG, three 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, Eysenck 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 a, 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 it's 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

Carlton Gibson 59:27
mean, for most gone.

Will Vincent 59:29
I don't know, please, I want to refer to this. For most

Carlton Gibson 59:32
for most use. 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 us. Just use your giant bog 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 to communicate Long live two way communication. I don't know like the class To get the examples of like a chat client and chat clients are reborn, but there's lots. No, but 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 an open connection that sending, you know, 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 Aqua sync, and then tack on these little acing bits that as they are needed, but really, it's not top priority, then the other end of the scale is these high throughput service 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, that there aren't many cases that need them. And then when you push it right to the limit, it really does become a question of why you're still using Python at all, like, Why aren't using rust or guile? Whatever. And you may be Python can be competitive in those spaces for pure speed, but probably it can. And then it's, you know, Django, Django is gonna get you close enough, but then, by the time you're in that sort of Super League, I don't know if it's worth pythons while competing, maybe maybe I'm wrong, that maybe Python can compete for speed. But I'm not convinced. I'm not sure is more the point?

Will Vincent 1:01:31
Well, 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 in 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.

Carlton Gibson 1:01:56
Yeah, it's where your priorities lie. And I see, you know, Microsoft, they, they sort of with a jaw, they started using fast API, you know, 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. Is it Django?

Will Vincent 1:02:16
DREW? Is there anything you want to dimension that we didn't ask you about or a chance to pitch a couple things?

Drew Winstel 1:02:21
First of all, Django con us 2023. Sponsorships are open. If you're curious. Email sponsors at GenCon. Contact us, Katherine. And Don, our sponsorship chairs asked me to plug that on the show. And so also, we are currently giving away two tickets to the Python web conference that's happening next, or next week. It'll be this month by the time this airs coming in March. The giveaway is on Mastodon and Twitter. The forum is open until the march 2 On the fifth at 5pm. Eastern. So go ahead. And if you're listening in did time go on the Django con us? Yes, correct, that you can sign up there and get a chance to win a ticket to the Python web conference. And also to tie back into when we're talking about tying in beer and Django. Real quick plug for my little hobby project. It's called an HSP dot beer, what we do is we actually like survey the digital signage for like untap, digital pour the various places that were breweries and taprooms can list on the TV what's on tap, and that shows up on their websites as well. And so we use BeautifulSoup 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's it on tap? And so you can find out without having to search through six or eight different types of venues to figure out, okay, I want this Where do I get it or what's on tap at this, this local place? Can this is anything I'm going to drink here. But if I'm picky here, 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 a little fun project using DRF for the back end and nuxt js for the front end.

Will Vincent 1:04:01
That said I'm tapulous.io the site itself.

Drew Winstel 1:04:05
Website is literally HSP dot beer. That's the domain. Oh, okay. I'm

Will Vincent 1:04:08
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. I'm in San Diego. So hopefully we can do that again in the dirt. I know. Yeah. I don't want to sort something out. I don't I don't know Raleigh, very well, Raleigh Durham, but there is

Drew Winstel 1:04:32
actually literally a minute 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 converted railroad into a paved trail that runs that literally go less than a mile from the hotel and it's there 14 miles of car free riding.

Carlton Gibson 1:04:48
Yeah. And also because it's a train line. It must be flat.

Drew Winstel 1:04:51
It's flat. But yeah, the rail trail means yeah, there's very little little gray, very little side slope, a wide turns very easy riding.

Will Vincent 1:04:58
Yeah. Okay, great. All right. All right. Well, we You have time we'll sort out some company to rent bikes from and get a little get a little group. Sounds good. Okay. Thank you. Thank you, Carl. Thank you drew. We are Jenko chat.com. We are on mastodon. And check out the links for the call for proposals and if you want to help out with Django con as well. See you next time.

Carlton Gibson 1:05:19
Join us next time

Transcribed by https://otter.ai