Transcript: Wagtail, React, & Gatsby - Dawn Wages
Hi welcome to Django chats fortnightly podcast on the Django web framework I'm Carlton Gibson
joined as ever by Will Vincent hello Will. Hi Carlton. Hello and today we've got Dawn
Wages with us hello Dawn thank you for coming on the show. Hi I just wanted to say am I the
first person to make the Fresh Prince of Bel-Air reference here? Oh yeah on this show I mean I
haven't heard that okay good i mean i'm sitting in philadelphia talking to will and carlton i had
to make it oh yeah i never thought about that well welcome we're very excited to talk about a
number of things um wagtail react django django girls your own journey uh so maybe we can start
with just briefly about yourself and how you got into programming and django in particular yeah
sure okay so so I started out with a business degree and thought I was going
to go into business analytics after I graduated from North Carolina after I
graduated I came up to Philly and got involved with the Philly Python users
group this is also after a failed attempt at going into finance really
glad I didn't make that work so the Philly Python users group was great also
Also happened to be that year DjangoCon was in Philadelphia and I attended Django Girls, but not much else of the conference, but just really got like a great energy.
I was hanging out in Wharton and Tim Allen was just one of the main people leading the group and also is a part of the entertainment committee.
So he's great. He's just a let's go find some good food.
So it was really, really nice welcoming community.
And I just kept going back.
And so I've been to 16, 17, 18, 19, and 20.
Yeah.
And so then since then, I've been really getting, I consider myself community taught.
And so I can speak more about my consulting journey as well.
But it took me a couple of years to get started and get paid to be a Django developer.
And then took another year or so still before I could do it full time.
Okay, but it's, I mean, so you're kind of self-taught as a programmer, right?
Yeah, yeah, definitely.
So you come from a business background and...
Yeah, I've never, I do not have a computer science degree, and I did a boot camp in JavaScript
that I have complicated feelings about boot camps myself, but I don't really talk about
it much because I have complicated feelings about them myself.
Yeah, yeah, I'm self-taught.
Yeah, cool.
I mean, it's something we always like to pick up because some people go through the CS route and then, you know, I did philosophy and then it's like, right, I'm going to learn programming.
It's like, you know, I'm just working out the basics and people are like, you've got to learn algorithms.
Yes, exactly. Yes, yes.
And I don't know if this will be full circle, but I also have gotten to the place where I started learning and I was very pragmatic about the things that I would learn.
I love Django because the documentation is great.
Getting started is really easy.
I would like to say that becoming an intermediate Django knot is a little difficult.
And so more resources are coming out literally every day.
So it's really, really awesome to see it's such a buzzing community.
then so it's just I wanted to be able to make money very quickly I mean I did not
come with a safety net I do not have a nest egg or a family with a with a with
a basement for me to just code and passionately so that was really helpful
and I was able to feel like really impactful and build something really
quick and that's also something designed by the Django girls tutorial so I kind
of modeled that and then I've gotten circle went back around I'm part of Trey
Jay, Trey Gunner's Python tricks.
Oh, Python bytes.
Morsels.
Morsels, I think, right?
Morsels, yes.
Python morsels, want to plug it, right?
Because it is very, very good.
I really like their emails.
And I've been doing some more Python things
and some JavaScript tricks and things like that,
trying to get, you know, into the deep end.
It's fun.
Yeah, for sure.
Well, I think one of the things I think about is that
Django is, you need a little bit of Python, but I find myself doing very little actual Python
when I'm doing Django. So having something like Trace Resource or others, it's sort of a small
amount of Python that I actually use. So I often find resources to sharpen up my Python because I
feel like I don't use raw Python that much, actually, unless I'm dealing with big data
assets are doing something separate from Django itself.
A hundred percent.
I mean, I've, I've heard from other people and I, I agree as I'm learning what Pythonic
means that Django is written incredibly Pythonically.
Um, and I, I really appreciate that.
And, you know, I'd love to entertain conversations about it too.
Um, and then, um, yeah, when I first was applying, I would say, yeah, well, I'm not, I don't
know if I'm a Python dev.
I am a Django dev.
Um, and I've gotten a little bit more confident.
in that too just also with the ability to learn and just to navigate those kind of conversations
knowing what i don't know and being comfortable saying that i don't know something um truly makes
people more confident and when i can say i do know something a little bit of an evolution trying to
grow for me that that that's the journey though right like you know why program well because
every day there's like a new experience a new it's you know the exact opposite of standing on
production line yeah i mean that's the fun part making things building things watching it work
um i had a friend who wants to go into algorithms i'm like that doesn't sound like fun are you going
to do data viz too no oh my god that doesn't sound fun so i i i agree that definitely scratches
the itch for me can you talk about so was django your first web framework that you dove into yeah
it was uh if we really want to be specific i started coding with myspace um but i came back
around and after they said jake we got to stop you i started learning jquery when it came out
and then we had to stop using it by the time like i mean it's everywhere still but yes that's where
my circle was you just about get the hang of it and then everyone's like no no no right so
Well, I was going to ask because so Django is my first web framework. And it was only when I was on my third or fourth different framework that I started to have a big picture sense of how frameworks work. And so a lot of my personal difficulty with Django was just learning how web stuff works. And so I assigned it to Django initially. And now I sort of realized, you know, Django can only do so much, but you sort of need to come at it from a bunch of different angles before you can just have a big picture view.
of what you need for a website
and then what a web framework can do.
So I wonder if that was a similar journey for you.
It was interesting.
I didn't really even understand what like the server was
or like how it, I mean, the Django girls will go through it
and they've also expanded some of their documentation,
but I didn't understand what like Gunicorn
or Nginx would do and like how that all kind of worked
and what is Redis and how.
so i did feel like i was learning almost backwards like what does this package do in django versus
like here is this area of web development or um you know web engineering and like
now fill in backwards with tools that may cover some of those areas for you yeah totally i totally
i agree with that well i think the way you learned is the way most people learn i mean because part
of it i think about this as a as an educator is you know any one of us could tell someone okay
here's how web service works and list you know g unicorn and all sorts of phrases but i feel like
unless someone has struggled and gotten stuck that's all just going to go in one ear and out
the other so i always try to wonder you know show and tell how do you balance you know at the one
hand you want people to actually be able to build something but if you hit them with everything it's
just going to overwhelm them i mean even nginx like carlton's pretty pro at that i have a very
very basic knowledge of nginx because usually i'm using a platform as a service and i've i've done
it a couple times it was fun but i just you know i could figure it out i guess but i certainly don't
do it all the time in a way it's but it's kind of backwards it's like the the we're solving the web
problem well nginx is the web server or apache you know is the web server and then django is a kind
of plug-in for that but we don't learn it that way we land django and then we're like oh and i need
to you know do and so we try and do all these things in django which maybe the web server is
better at but we don't you know how how do you how do you learn this other than time on the cold
face you know getting familiarity yes it's true what was that phrase time on the cold face yeah
like so you're at the you're at the the face the face in the mind where you dig dig the coal and
you get the mining right okay it's a mining reference okay all right um well maybe we can
dive into um i'll just pick one of the things we want to talk about um so react so you have some
talks and you you've done a bunch with jango and react can you talk about how well maybe talk about
react where is react at these days because as a non-javascript person you know there's view there's
angular what is your sense of you know react they're still dealing with hooks yes like what's
the state of react these days yes so i would not be the definitive source um i would direct you to
right now the many many podcasts that are already going um that are like continuing all the time i
learned a lot from those um and i try to stay more uh solidified in the django community and
I like to be a JavaScript person for Python people.
One of my friends, Jean Anderle, is releasing a series called JavaScript for Python Developers.
I think it's in the beta phase right now, but he is accepting emails and newsletters, and he's really, really bright.
And one of the people who really brought me into Django in a very formal mentorship way as well.
But back to React and the things that I do, I enjoy it.
It does seem like the community and what is the best practice in the newest waves change very, very frequently.
But I do think that hooks are really fun and it's more declarative and easier to understand what's happening.
And when I switch back and forth between them, because I'll do it within the day, I try to, I may do it within the day.
it's whether or not I'm thinking in the mind space of Django models or truly in a stateful
component. And when I think about like how there are people going through a user journey that are
going to experience several states in a row, and is this going to go step one, step two, step three,
maybe not even that cleanly, but if I can put my mind in like a linear path or like a journey,
then I can get my brain into the mode of working and react.
When it's just very different when you're doing Django,
it's very focused on the models and the information you're serving or the
information you're capturing.
What are you going to do with that?
And then transpose it and move it somewhere else.
So yeah, it's a little bit of a mind doing.
Well, that's you, Carlton, right?
You're doing that with Swift.
these days for your button project yeah i mean uh it's the same problem right so if you've got
a back end which is django powered and you're consuming it with a rich javascript client like
react well it's react based or you know some a native app be it swift or something else then
the the app has state where the web server where the django app kind of doesn't right it's it's
a series of totally disconnected requests to the to the django app but then you've got to string
them together exactly as you're saying this user journey or something what i wanted to ask you
about dorm was like you every month it seems that comes up on django developers can we have a better
story for front-end integration in django and every month we struggle with well you know what would
that integration look like because we've got contrib static files and collect that and that
gets it all in the right place but you're working there every day um how do you deal with the
integration with Django and React? Yeah, so I wrestle with it myself. So most of the projects,
so I am working with it every day, but I don't know if I'm setting up projects myself every day.
So I can also speak a little bit more to my consulting journey as well. So I really enjoy
being in the team augmentation role. I do work on some proof of concept sometimes, solo. I have
deployed solid Django and normal fluff JavaScript, HTML, CSS on the front end myself. And I do that
with Rugby Street Consulting. But I also spend a lot of time with Turok Software, a consulting
agency in the Chapel Hill area. Really awesome humans. And I met them through a very similar
story of being community taught and i met them through through the django sphere um so i mean
i don't know if i would really find a co find a i could suggest or explain a solution that really
works best for me i'm looking to continue to refine and then create a boilerplate code for
myself um and i find some out in the sphere but it it feels so proprietary these days and that
it's not everyone has a little bit different flavor and no one if it's no one knows if they're
doing it right and everyone's too scared to say if they're doing what they're doing exactly
sort of no but that's that's exactly it i was going to say i think also as a consultant you
often join projects midway so you don't have the luxury or the burden of setting it up from scratch
and um most people don't actually i know carlton and i often talk about a greenfield project but
that's not the reality for most programmers but yes gatsby i gatsby i know you've um your personal
side is written in that and you have a talk on it or two talks on it yeah yeah so full circle though
it's so gatsby is um so it's like a static site generator plus so you're writing it and react
it distills down and then rehydrates into a progressive web app it still is has a lot of
the progressive feelings and stateful components and whatnot when you're doing it right now i'm not
quite an expert in gatsby but um i do see a similarity in the wagtail community and in the
Gatsby community. Um, it is very, very developer focused, focused on the developer experience and
does the kind of the plugin architecture, very accessibility forward. Um, uh, Wagtail, um,
frequently has accessibility sprints. Um, and there's a Wagtail accessibility, um, package out
there, um, um, available if you're, if people are interested in, um, accessibility in their,
in their frameworks and so that is one of the ways and experimenting with that stack has been
really interesting it comes with GraphQL and so then you're using Django Rust framework with
GraphQL on top and it does feel like there's two engines in a car but it is cool how GraphQL will
just kind of catch things for you you you describe what you want and then it'll say here it is um
sort of and i say sort of so often because that's you know syntactical sugar but we say it depends
it depends yeah so we should cut into wagtail because you're you're in the core team now
for wagtail right yeah yeah part of the wagtail community so how did you tell us how you got
involved and how how all that how that came to be okay great uh so uh 2018 well tom is truly just
one of the nicest people on the planet anywhere he goes i think he makes friends so uh tom dyson
in 2017 was giving a talk at django con a tutorial i think and i did that um i you know interacted
with him through several um events and then uh gave a talk at a jingo space in philadelphia
it was my first talk ever um so that was exciting and it was very cute i did um i described the
landscape or the types of people who involved in themselves in the open source community
by archetypes of land before time um and so there was like ducky and all of them
And I might even dust that one off and make it a little bit more sophisticated with some actual numbers back there.
I have a little bit more maintainer.
I do air quotes.
This is a podcast.
Maintain experience.
But being on the core team really does make me feel close to the action.
It's really exciting.
We meet.
They meet every week, but U.S. time is every other week, and I catch those.
And we do have, like, several suggested responsibilities,
but it's really just a bunch of people who spend as much time as they can
working on and contributing to Wagtail.
And it's really invigorating, really nice.
Fantastic, fantastic.
And so for the listeners, what's new in Wagtail at the moment?
What's the state of play with Wagtail?
What are the exciting new things?
Yeah, we just hit 10K stars, which is huge.
We had a couple of tweets about it.
So in my notes here, it says, yes, okay, so we are in the top 1,900 repositories of 15 million on GitHub.
This is just really exciting.
We just released the 2.12 release candidate, and that's still pending.
I don't know when 2.12 is, like, stable is getting dropped, but it does support Python 3.9.
And there's other lists of things that are associated with that list, with that release.
The documentation sprint is coming up.
And so that's February 4th and 5th.
I want to make sure people join that if they're interested.
Okay.
So how would I find out about that if I wanted to go on the documentation sprint?
It's on the Wagtail blog, wagtail.o backslash blog.
And one of the most recent posts is the documentation sprint 2021.
And there's a sign-up form and everything.
Now, there's also packages.
there's a dedicated packages section to Wagtail, right?
That's a pretty recent thing.
Yes, yeah.
So there's Wagtail's packages.
And then also they are now both in Django packages as well.
I love the Django packages interface
and the way that it's comparative and has all the lists.
I mean, it's really, really great.
So all of the Wagtail packages are also in Django packages
and you can also do wagtail.o backslash packages.
I think it's a big thing of how Wagtail's come on.
It's got its own packages ecosystem.
Yeah, it's like two layers of turtles or something.
You know, it's like, oh, yeah, what's right?
Oh, it's this Django CMS.
No, it's this whole thing on its own.
It's like, you know, it's built with Django, but it's got its own life.
It's got its own ecosystem.
Yeah, it's really exciting.
So we have, like, several partners.
I mean, we work with Motley Fool, I know, a lot.
oh, gosh, I'm going to do a disservice to the people that we work with.
But there are big organizations that are propelling some of these Wagtail features,
and it's been really exciting to be witness to it.
I haven't done nearly as much code contribution as I'd like to with Wagtail,
but that's definitely in my 2020 goal, 2021 goals.
Yeah. Well, community counts, too. I mean...
It does! Thank you.
yeah this week in wagtail yes that's a that's that's the yeah the newsletter right i think
yeah and i see you i've got jango news on there too that jeff uh jeff and i run which also
sometimes has stuff yes oh wait i i see jeff pushing posting about it all the time and i
keep forgetting that this is yes of course you do that as well i'm everywhere yeah yeah everywhere
but yeah if you use the hashtag this week in wagtail it works for um on twitter and other
channels and there's also a um a channel in the uh slack in the wagtail slack for this week in
wagtail what i wanted to ask then so you're you're busy um uh consulting trying you know freelancing
you know doing your work and then you're also contributing to open source and it's not like
you've got bucket loads of free time and you know cushy bankroll to to sit on while you're doing
all that so how do you find time for contributing to open source because this is the big thing like
how is it like open source can really help boost your profile but how do you possibly justify that
time if you're working and you you've got other commitments and how do you how do you find that
time how do you find the time to contribute to open source uh things i think about all the time
like top of the list i um i have i'm a huge note taker um and a lot of times i write out all of my
goals and as as they converge on things that have some certain similarities i'll use um i'll try to
like kind of group them together i have um i have a uh another side project that's more about open
source and ethical source licenses and contributing good code to an altruistic future.
And I am building that in Gatsby and Wagtail because these are the tools of other parts
of my life and then also hope to add features that I know that may need a little love in
the Wagtail community as well.
And I really just try to converge some of these ideas.
For example, there's a potential client that might want an e-commerce solution, and I've been looking at the e-commerce packages that are available with Wagtail, and some of them need love.
Some of them have a lot of work put into them.
I'm completely new to the e-commerce Wagtail landscape, so let's check it out and see what I can contribute.
Where does it need some help?
And if you're searching at the top of the funnel, as you're like planning some of your
stack and your things, sometimes you can kill two birds with one stone, for example.
Yeah, right.
Okay.
Try and work it into the work.
That's the plan, hopefully.
I mean, I think there's a lot of people doing really great things out there that are already
in sync with things that they can contribute.
Yeah, okay.
On consulting, we have in the notes, can you talk about making the leap to consulting?
Because I believe you started doing that while you were working full time.
What was that transition like?
Cause that's one that I think a lot of people go through,
but it's a hard one.
I would not recommend my transition.
It was incredibly gutsy.
I had been consulting for about,
a year at the same time as working full time as a project manager at Lenovo. And so I'm probably
doing 60, 70 hours a week, maybe 40, 50 with my full time. And it was just exhausting. And so I
just really wanted to get into code and code every day and most of the day. And so at the end of
Lenovo I was moved over to their um UX um team and I was working in React but I you know missed
Django and just didn't feel like I was learning fast enough I was just getting anxious um and so
I just left and it was I mean I really enjoyed Lenovo but I was just like okay I guess I'm just
gonna I think I'm just gonna leave I'm gonna take my savings and just go and try and then I'm gonna
do it in europe i'm gonna do it in europe with my dog and i did it and it was really it was a cool
year yeah um yeah i saw you had a blog post on this i saw so why yeah we was it amsterdam where
we i forget were you in the same place mainly or did you bounce around i did uh two places mainly
I did four months in Amsterdam and, um, three months in, uh, the Hague and three months in
London. Um, and so it wasn't, it wasn't quite a full year. Um, I came back and I would love to
write another post about like why I came back. It wasn't quite a, couldn't hack it, but it was
being 2000 miles away from all of the people that I care about. And then not having anything that
tied me to a particular place like a job not being being able to really develop a routine quite yet
and then not really knowing where i was going to settle roots so it was either philadelphia or
berlin next after london because brexit was about to happen i couldn't stay um and um so
um and we didn't know what they and it was it was only there like just kind of
popping around so it was definitely within my like u.s visa to be able to stay for six months
I only stayed for three, but we didn't know what Brexit was going to do.
So then, but I chose Philadelphia because I really missed a sense of community and miss
Europe still all the time.
So there's definitely a chance that I would go back for the right set of circumstances,
but it would be, I'd like something a little bit more grounding that would just keep me
a little more sane.
Yeah, that sounds right.
Speaking of community and east of here, so DjangoCon Africa, you were an organizer.
The inaugural one was going to be last year.
Can you talk a little bit about that conference and organizing it and all that?
Because right now there's currently the U.S., Europe, and Australia.
So this is going to be the fourth major DjangoCon.
Yep.
So I've helped small ways organize for the U.S. one.
I've helped organize in a more substantial way in 2019 for DjangoCon Europe in Copenhagen.
And I'm really just listening to what they need and for just help and taking directions.
I'm not much in a leadership position in this one, but I'm going to be in the sponsorship team for DjangoCon Africa.
And it is happening. And I got confirmation of that the other day.
But we're going to start moving a little faster in the beginning of this year.
um that's exciting that's going to be in ethiopia um and um just just really excited
so i've never been to the continent of africa before so that'll be really nice
super and when is it sorry i mean you say it's going it is going ahead even with the pandemic
yeah it's it was supposed to be november of last year and i believe it should still be in that same
time frame it'll definitely be afterwards on us okay can that so can i cut back to um you said
you're um you you're building um a project you didn't talk about the project but you said you
were building it on wagtail and gatsby so is that are you using this the sort of wagtail in the
headless mode let's get that so what what on earth is going on there tell us about that because like
i've heard this thrown away around i may have even seen like a workshop going on in a in a room that
didn't i wasn't in but like what is what is a headless cms and then what does wagtail bring
to the party right right so um wagtail in particular i love that leans into the the cms
likeness for for those uh where it it relies a lot on page hierarchy and in um in patterns that
common with having another user come in, create their own pages very heavily. It leans into that.
Django does it very well. Wagtail just wants to be more opinionated about it and helpful.
And so headless Wagtail really allows for other integration quickly. And Caleb Tallian
with learnwagtail.com has so many resources on it.
It's really, really helpful.
And so then I am experimenting with having Gatsby on top.
It's currently not in production.
So what I have up now at the root.com,
excuse me, at the root.dev is just Gatsby right now.
And I'm using Netlify CMS,
but that's being changed out very quickly
because I'm not happy with that solution.
But it does deploy very quickly.
to just get something out fast is great.
Why Gatsby versus React?
What does Gatsby give you that React doesn't, right?
Or how do you think about combining?
Because you could combine either with Headless Wagtail.
Yeah, so I have,
the way that I've justified the investment in this,
I mean, I do also like new shiny things.
So then I try to justify my addiction to shiny new things.
So I have about two speeds.
That's why you're friends with Jeff.
Right, yeah.
I have two speeds in my, in what's really stable is when I'm, I'm team augmenting and I spend
mostly at this point, it's probably 70% of my time with that. But usually it's like 50, 50.
And then the other 50%, I'm, I'm doing kind of smaller projects or I'm able to I also have so
many ideas so I can buy a domain and just like push it out really quickly. And I love that
experience, but also being a developer, I want to be able to upgrade as much as possible. I don't
want to be at the behest of somewhere else, like a square space or things like that. So I enjoy the
fact that Gatsby has starters and it can get my brain moving on what's possible. It gives me
somewhere to truly start with. Wagtail starts up very, very quickly, but like is a developer's tool
and is not made to be a codeless solution. And then hooking those together, leaning into those
developer experiences and trying to make something scalable, but deploy very quickly is my goal.
And I feel like we're getting really close there. There's a Wagtail Netlify solution package that
just was released recently. I'm hoping to include that and kind of just figure out what this rapid
prototyping or this rapid development kind of thing could look like. It's more of an experiment
and we'll see how it goes. Okay. So you mentioned starters. I had to Google that, but it looks like
there's like 500 sort of pre-built templates just for Gatsby with Common, which is, you know,
it'd be great if there was that for Django. I mean, there sort of is, but it's not as
unified, I guess. Yeah, yep, yep. It's really, really cool. And it curates a gallery of a lot
of different plugins and things that are already in existence with Gatsby. So that makes it fun.
I know, Carlton, I know you have a question. I want to ask one. So if you have a,
how do you deploy a Wagtail Gatsby site? Do you have Gatsby on Netlify and Wagtail on Heroku? Or
Or what do you use for the API part?
Currently, I'm using DigitalOcean.
And with my deploy, I couldn't get the Wagtail Netlify to work exactly yet.
But that's a future plan that I, I mean, there's a Netlify Wagtail, excuse me, there's a Netlify Gatsby and there's Netlify Wagtail.
And so one of my future plans is to have a starter and a deploy in a boilerplate code to be able to explore doing that regularly.
And there's a little bit on it, but not much out there.
Yeah, I see Tom Dyson has this Wagtail Netlify package.
I guess I'll have to look at that.
Where's the database, right?
Because Netlify, do they host databases now?
um i think what they would do is they serve it as a static site yeah but i mean isn't there a
thing as well there's a wagtail bakery or something where you can um perhaps that's not the right term
but you perhaps that's not the right name of the package but you can get a static site out of your
wagtail site so you use the cms for generating it and then you run this command and it gives you a
static site which i guess you can then put on netify i'm just yes and at this point it is
currently magic to me but yes i am yeah yeah well this is a little bit like um i'll date myself back
in the day with flask there was a way to was it flask freeze where you could essentially i think
have something very similar you'd have a server and um have dynamic templates and then you could
run a command and it would output a static site that you could then in its entirety put online
which seems like that's what these ones do with wagtail which makes a lot of sense you know i'm
talking about carlton right yeah i was just thinking i used to do it with um web get with
wget and you know wget million command line flags and you'd mirror it and then there's your static
site and it's i feel like there's there's a lot of static site python static site ones um there's
even i think i finally got myself off of being a core member of uh armin uh who did flask has
has his own um static site generator but i i guess i haven't fully dived into python based
ones recently i'm still using jekyll and with the big sir update i had to do a whole bunch of stuff
and i'm always like ah jekyll but you know it's just my personal site so i'd like it
yeah it was very easy but i think jingo con us does uses jekyll or was it hugo but it was it
was not really easy yeah i've used both the problem is ruby not chuckle but ah yeah okay
i'm willing to say it carlton i'm willing to say it people can comment on and it's not ruby the
language it's just getting ruby installed it's just a pain for me it's getting the right gems
installed so you recently wrote a blog post about um for martin luther king day about decolonizing
tech can you talk a little bit about that post and what that involves yeah so i may have mentioned
previously um one of the side projects that i have um is at the root it's really taking up um
more of my time lately because i'm so passionate about it it just feels like a very viable way
to um address um open source tools um capital o capital s um that are uh that continue a system
of inequality and racism in tech.
So there's an absolutely amazing talk
from PyCon AU this year.
It's about biometrics in technology.
And it goes through so many scenarios of how
And because we are creating this, because we live in a system that is inherently racist and that has inherent disadvantages to people and doesn't analyze the ramifications of our tools, of our frameworks, of our algorithms on people, that we are continuing to propagate the system and propel the system.
And so having ethical source, many people may have heard of the first or do no harm, which is the Hippocratic license that Coraline created.
And in the same vein, there are other ones for the environment.
And we have an actively anti-racist one at the root.dev.
And we're still in the stages of our first release.
We're talking with IP lawyers and intellectuals in our community who are at the intersection of ethics and open source, capital O, capital S, in order to see what ethical source licenses can do and really what that legal tension means.
Currently, an ethical source license would make your open source lowercase o, lowercase s.
But we're discussing those nuances, what they do for the community, and how to propel us forward.
And so then the context of the blog post, decolonizing technology, I really wanted to just think of the convergence of all of the Bing words and all of the big things that we're talking about right now.
The U.S. has had a really tumultuous year, and it's raised a lot of tensions on race across the world and the ramifications of which.
And how can we be actionable in fixing that?
And so I talk about what it means, how this ideology in the system is perpetuated, come up with actual examples in there, and then propose the two products that At the Root is doing as a solution, the first of which is the ethical source license, and the second of which I haven't mentioned is the to-do list.
and so as we gain more support i'm hoping to get subject matter experts to provide uh suggestions
on depending on what your project entails on how to be actively anti-racist things that would help
all sorts of communities like if you're doing a social platform there should always be a block
feature um and that protects people in underrepresented communities um or if you're
doing you know training algorithms what is your data input are you are you getting it from places
where people have consented um what um what are you saying about the the the data sources or the
what is this essentially people the rows are people that you may be training data on um and
what does that mean that's great that makes a lot of sense that you know sort of the the dark humor
of the united states one of the things i enjoyed was people noting that um in terms of identifying
the rioters um most of them were white and most of the ai algorithms for facial stuff are key to
that so one unintended benefit i suppose right right and even in the wake of parlor and everything
like that and just what does that mean and um jack dorsey finally kind of came to terms and spoke
about things in a long twitter thread that you can you can believe or not believe but regardless
there is a groundswell of of of thought and consideration on what the role technology has in
morality or keeping people safe at the very least yeah yeah that's great we'll we'll have that in
the the show links for sure i mean just on that topic there's one thing that's constantly on my
mind, and perhaps you can comment as a contributor to the Django community,
a contributor to the community, a contributor to the code as well in the
Django community, and a person of color, is like, how do we widen the
contributor pool to Django itself?
Because we have the code of conduct, we have an open and welcoming community.
It's, you know, radically different from other communities in tech.
And yet, if you look at the contributor base, you know, to Django Core, like the people making commits, they're still all white and they're still all men.
Not all, but, you know, mostly.
And so it ties back to what we were talking about before when I was like, well, how do you find time to contribute?
Because that's one thing, right?
It's, you know, economic privilege is a big step up.
Exactly.
But like, so if I just lay that topic there, what sort of thoughts might you have?
Yeah.
How do we make it easier?
You've definitely hit on one of the first things that I was going to say, which is kind of in many ways outside of Django's hands, but then maybe not.
I think there could be some creative ways to address it.
Is economic privilege, having the time and the bandwidth to do so.
As a consultant, it's really not easy to contribute as a consultant
because I really have to justify my hours, my daily rate,
while in a salaried position, not so much.
You are able to, there's more of a global perspective in order to give back.
And I really enjoy the companies that are participating in the Django community
and then give back and then also have some of their employees give back to the
community as well and are continually active and I think the more diverse
companies like that are the more opportunities there are for should get
closer to the code we're also developing a lot of resources for first-time
contributors and hopefully with several different approaches like representation
and seeing more people like them, and just even understanding how the open source community works.
I will never begrudge a person of color engineer saying, no, I'm going for the money.
I want to make six figures. I want a fat salary and a Maserati.
Personally, that's not for me. And I really have gotten a lot.
it's not for me yet i don't know but a couple years in my career yeah i don't know we'll see
we can we can dip in and out i don't know but i i definitely scratch the altruistic itch right now
and that's really important to me and i think that other people recognizing that you can give
back you can feel like a good person you can um be intellectually uh curious and motivated and
work with brilliant people who treat you like a human and it's possible um and it it it'll take
time but it'll take diligence and it'll take repeated effort it will never be one one shot
it'll be continually doing the right thing and i i think the tides will will be in our favor
i have to be optimistic well i mean carlton's given a bunch of talks on this i would just add
And one thing we've tried to talk about in this podcast is it's not just altruistic.
It's also very self-interested to contribute because if you, for example, you're a consultant,
it does come out of your billable times.
But if you're a consultant who's contributed to Django or who works in, you know, you're
a core Wagtail person, that certainly helps get client work.
So when people ask me because of my books, they're starting out in Django, how do I get
hired, which is a really hard question to answer. I often say we should have some projects on GitHub
if you can. You should, you know, if you can do any sort of blog or writing about your journey.
And then if you can contribute anything, whether it's the docs at a conference, you know, code is
great. Just to be part of the community that proves that you know how to work with others,
that you're in the community and someone who's applying who has already contributed to Django
in some some way code or otherwise that goes to the top of the list so that's sort of a
interviewing expense in a way um so it's not i guess it's altruism isn't the only reason though
of course it feels good and it's nice to work with smart people not doing it for the money but
you can get a lot of side benefits while doing the right while doing altruistic stuff definitely i
actually i just tweeted about it this morning um looking up for a looking up a package that i need
to solve a problem for a potential client um i'm seeing the comparison looking at the contributors
seeing if i know anyone seeing one of my friends up there and then slacking my friend directly
and when i first started the world just seemed so vast i sent an email thank you for your having
your blog in existence and i was so surprised i even got an email back so it was it was just very
big and being part of the community makes it smaller and truly um helps me solve problems
a lot faster. Well, it seems like you've always been good about reaching out because
I would say, you know, I have a blog and sites and I get a decent number of emails, but it's
a tiny, tiny, tiny number given the number of people who look at stuff. So on the one hand,
I'm not surprised that someone responds because you don't actually get many emails, certainly not
one saying, hey, thanks. I think most people don't take that first step. They don't think about the
fact that, you know, there's a person there and beyond. Obviously, it's nice to just say good
things about someone, you know, then they sort of get to know you, you know, or maybe you have
a question about something they can help, you know, it's a way to build relationships. Most of
my Django relationships are purely online. You know, similar to I think, how it seems like it
is for you, though, of course, you what you've been to way more Django cons than we have. I mean,
I met Carlton at the first my first Django con. And, you know, that worked out. So going to events,
if you can is a great thing truly i i attribute my career to the the quote-unquote networking i've
done in in django but it always feels so disingenuous when i say networking because it's
i just make really smart friends and thank goodness we're in the same career uh i meet them
at career events so and and it's how i i navigated europe it's how i got gigs when i first was
starting out i mean you really wouldn't think that someone just kind of jumps into it and
you know knock on wood things have gone really really well in the two and some change years
i've consulted um because of the i'm also pretty earnest and people are kind of put it back put it
back by it so i'm just like oh you're a good person i'm a good person let's be friends code
together and i'm like sure and it's yeah it's it works out yeah no it does it does is there
anything else we haven't mentioned that you want to plug or or say on on the way out we're we're
close to time now i've talked about so much and i think i also was a little repetitive so i'm
i'm great this is really a great experience i'm appreciative to be on the on the platform and
yeah so yeah you guys are doing great things from the community it's really great that just exists
thank you well we have links to everything we discussed um in the show and carlton can you
read us out you read us in where can people find out more about the show jango chat.com is our
website and then we've got a um a chat jango twitter um handle as well and uh i think that's
it really yeah that's it well dawn thank you for coming on join us next time folks thank you don
bye bye
bye everyone