← Back to Show Notes

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