← Back to Show Notes

Transcript: JustDjango - Matthew Freire

Hello, and welcome to another episode of Django Chat, a weekly podcast on the Django Web Framework.

I'm Will Vincent, joined as ever by Carlton Gibson. Hi, Carlton.

Hello, Will.

And this week, we're very pleased to have Matthew Frere of JustDjango on. Welcome.

Hi. Thanks for having me.

Thanks for coming on.

So I've, from afar, seen you've been pumping out great Django content for well over a year now.

and now you have both on you first on youtube is when i saw you and then now you have the just

django.com site so really interested to talk about how you got into django building that out and talk

about teaching django since you and i both do a lot of that so maybe i'll start with you know

what's your quick story how did you get into programming and find your way to django so uh

i i didn't study any kind of uh degree that was really programming based i did industrial

engineering or otherwise systems engineering and in the second year we had a module of python

which wasn't really too in-depth but just kind of an introductory module and after that i was

kind of hooked on the idea but really at a beginner level i didn't know that you could even

build websites with python and i eventually then found the django project saw the 1600 page pdf

that came along with it and uh yeah i wondered who used that i wonder if anyone well i can't i

won't lie and say i used it but it definitely it kind of gave me hope i was like wow this is

there's obviously something here so so yeah i started learning it and the rest is history and

how long ago was that just so listeners can get a sense of the journey because i mean for me i'm

only i don't know several years into my journey so i don't want everyone to think everyone's like

carlton and you know 20 years into django i'm not like when did i start you before let's not

talk about matthew it's all about me um i started 2009 something like 2008 about 1.1.0 1.1 that

kind of yeah with django or with programming not with django django django no i i came in like 1.11

yeah right okay oh yeah it was late uh late 20s yeah mid-2016 that i started really yeah that was

the first time i'd seen it and so yeah three and a half years going yeah yeah going on four years

yeah because 1.11 is just gone end of life so that had sort of you know oh yeah no yeah that was the

long-term support yeah no i mean obviously now i completely moved off but that's that's when i came

in fantastic and do you recall what resources were helpful back then when you were um starting out

because i imagine if you're creating resources now like me you weren't always weren't entirely

pleased with what was out there yeah that that definitely was it so i basically learned everything

from a youtube channel called coding for entrepreneurs and oh from just justin's thing

yeah yeah uh i i i think he was probably the best learning resource at the time i used this website

for a little bit uh probably about a month or so and then i then i kind of got the hang of it and

uh was just then started building my own project so yeah mainly him he's the the number one thing

the number one resource that pops up interesting yeah i think for certainly for video he he has

been and he's probably still one of the top um i don't i don't know him at all personally i don't

think he goes to django cons or anything but he has a bit of content he's very into function-based

views as i recall the things that i saw um maybe maybe you had this i had this where i saw his

content and i thought i thought his style was good there were things i would change and sometimes i

got a little bit lost which is partly why i think it's good to have lots of people teaching django

because everyone learns differently and everyone presents it differently so yeah he does a lot of

stuff that's great so then and then do you use it so professionally now or is like what's what's

your day-to-day role because you run just django which is a lot of work are you able to use django

professionally or or not yeah so i i started uh using it professionally uh about a year and a

half ago uh and so that was a mixture of things whether it was freelancing or uh actual projects

that could generate some money and actually working full-time so i've recently uh moved on

to now doing just django full-time uh for the time being and exploring some other options but

yeah profession professionally in the in the traditional sense of the word for a year and a

bit got it and this um is just jango the just jango site built with jango wouldn't that be a

crime if it wasn't yeah that's kind of cool well well it happens you know jango forums run on you

know yeah i think it it just uh it's it's one of those those things it's like you got to prove it

in some way that you can back up what you what you say so at least do the people the courtesy and

obviously no one knows but i mean um if if you were to open source your project which i have

ideas of doing then at least people can see that oh okay so this is what a fairly built out jango

project looks like yeah yeah also i mean i guess if you're coming up with tutorials and stuff to be

it to have a you know something real that you can experiment with and see what breaks exactly what

does and it's much easier than coming up with test projects yeah that's exactly it yeah so the the

two kind of main areas i wanted to talk to you about today was was building just django because

i think that there's a lot to be interesting about how you iterated through that and then

your content kind of your approach on things like using pipenv which i use and we can get into all

that but maybe what was the earliest stage of just django like what was that iteration like for you

because i think it's helpful for people to hear how someone works through a project and especially

solo projects you actually understand how that all plays out whereas in a team you you don't as

much yeah so why did you start with what was the prototype well the the very very very first

prototype was probably a project i didn't even build uh so just going with something that

that already kind of had most of what i was what i was looking for and that was more just to to

understand everything to really understand everything um so that i think that was also

something from coding coding for entrepreneurs uh that i found i worked with that for a little

bit and then eventually you you understand it and you realize oh but i wanted to maybe

have this little tweak and then you add that tweak uh this is this is now just a normal

django project so not a not using django rest framework or anything just pure django

and eventually that just those little tweaks keep happening which is then what builds on

your skills and then eventually the whole project is unrecognizable from what you kind of started

with and i mean i've i can't count how many times i'd messed up the database on on digital ocean

and had to restructure everything

and had to, or rebuilt this entire thing from scratch.

But by doing that, then you really learn the basics

and it eventually becomes then what it is today,

which is then with Django REST framework.

And then the front end is completely built in React.

So it's a completely different thing.

Oh, wow.

Interesting.

Yeah, because it looks fantastic.

I know you just, I think you just did a redesign

with Tailwind, is that right?

That's something I've played a little bit about,

but I really want to find the time to do.

How did you find Tailwind, since this is a Django podcast?

No, I really enjoyed it.

I'm not much of a CSS fan.

Actually, I'll say I'm not much of a front-end fan.

I don't think I have great UI design skills,

where Adam Waith and the creative of Tailwind,

he kind of uh has this has this reinforcement of a theme that you you can build uis with with logic

and with analysis and tailwind is kind of the way you use it follows a more analytical approach than

just kind of then a more creative approach at least that's how i see it in my in my own head

so when you don't work with css at all and you're just adding classes to html it removes an

entire element of of front-end development and yeah i loved it i thought it was amazing

and i'm definitely going to keep using it yeah because it's all about uh basically having

utility classes that you can reuse instead of you know css files that you know if you use bootstrap

which like i'm currently using but what always happens is then you just customize everything

or if you're on a team project you just make longer and longer names to keep it all custom

and then it's a mess yeah and tailwind i guess the whole idea is that it from the beginning

with this idea of utilities right you kind of avoid that it's sort of lego pieces you can put

together yeah is that right yeah no i i thoroughly enjoy it uh so yeah your class names get really

long but you understand it i think that's the the point it's it's so readable um everything

the as you read it it does what it says so it's it's so easy to understand if you

uh if you're starting out with css it's probably not the best because

it's abstracted everything away from you but as you i don't think you need to be an advanced user

at all to move straight to it and just forget about it kind of right well how are you and

carlton jump in i i know i have a lot of questions because i've you i've you i've used your site a

it because i you sent me a link and actually before that i i'd taken a look um i'm curious

how do you like what what does the models look like because you have you're hosting videos you

have payments like what are kind of the main models that you're you know now at with all

these iterations if you're willing to talk about yeah yeah sure uh yeah so the main the main model

is is the course model for sure that's that and the lecture model uh probably yeah probably the

lecture model is the biggest now um because that's a lecture within within a course like a one yeah

sorry let me i'll explain so a course uh being well being a course which has multiple lectures

in it and each lecture can can contain a video uh right now you can't you can't see the other

content that's coming soon but in design it it doesn't have to be a video it can be a document

or it can be uh other kinds of kinds of content so like a quiz or a project so something that's

going to have a different form in the front end so that's all linked inside a lecture it can be

different different types and so there's quite a lot on that there's files that you can download

links to get up descriptions all the um basically one of everything there's boolean fields this

character fields everything on that's on that and uh yeah so then that's linked to the course and

the course is then where all the general information is and the course is linked to a roadmap

and the roadmap has then got like is like the overseer of all the courses so everything falls

under that so that's where like slash courses that's the roadmap model that you're oh actually

you don't have a slash courses but i assume you have sort of a list view on the yeah so so if you

right now there's only one roadmap so i kind of restructured where there used to be some

uh some python courses and javascript courses but i guess when your site's called just django

everyone just wants to learn django so uh that's the more popular they want everything but yeah

just django and some python and some javascript then yeah

No, so there's only one roadmap.

I think that's a great idea, having the roadmap,

because certainly a linear approach is what people need,

and it's kind of hard to...

That's exactly it.

That's exactly it.

And you're using Vimeo now?

Were you always using Vimeo to host?

Because I think...

I mean, partly I'm asking because I have a LearnDjango site

we talked about last week.

It's much earlier stage than yours.

You know, there's sort of...

Like, Wistia and Vimeo are the two options I see out there.

yeah wistia being maybe a bit better but a lot more expensive oh yeah a lot yeah i remember

evaluating a lot more expensive yeah a lot uh no i i evaluated the options about maybe a year and a

half ago and i had to completely write off wistia it's just it's just way too expensive uh and so i

was hosting on aws and that i mean that worked pretty well for for a pretty long time uh and

it's it's actually really cheap uh if you compress your videos and you store them on there then oh so

yeah just like an s like an s3 yeah an s3 bucket and then you can set up like a cloud front just

to speed it up a little bit yeah uh but then what would you use for controls and things like that

because that's where vimeo comes in right they've got these nice interfaces on your videos yeah you

get you get more more analytics out of it so you actually get to see uh how many how many views a

video gets and how many finishes a video gets uh so and impressions so it ties in with google

analytics as well which is really nice so you can actually start to get a more uh thorough

understanding of are people actually watching this video or are they not uh yeah so that's that's the

main the main reason for switching it over as well as i think there's a there's a an attractiveness

to using a service that's dedicated to one thing so not to say that they they're going to be

that they will be amazing but i i do have some confidence that oh this is a this is a site that's

that their only service is literally just delivering video hosting and some part of me

really likes that and the pricing is also pretty good so yeah but like i always like imagine first

not imagine but like i use vimeo in past projects for exactly that reason in that the cost of vimeo

was much less than you know even the development time of an alternative player by the time you've

assessed the open source alternatives and customized and ah you know i've already paid

for six months of video just think vimeo just thinking about it like just use vimeo or use

you know yeah another service for these particular things especially if you've got a small team where

you just don't have the capacity to allocate human hours yeah to being the video person yeah

i i started using an open source video uh video tool which is called plyer i don't know how you

pronounce it p-l-y-r uh and that that integrates with vimeo integrates with youtube uh with your

own videos as well so i did i didn't have to spend a lot of time on on developing that thankfully

but yeah i wish i knew about vimeo's well knew about it i did i didn't know about it but i wish

i evaluated it sooner because i agree with what you're saying yeah it's it saves time yeah well

and i and some people i've seen also do you can do youtube you can do private videos though which

i believe is free except then you see the ads on there so it's not quite the same experience

okay i mean like you can you can you can there's a way to do it so it's

yeah private videos or i guess maybe it's private urls um and i believe the but i find it you know

not as good as an experience as you know vimeo or wistia obviously because you're you still have

like the the ads on there yeah the flip side is it's free for the um the content creator yeah

vimeo pros i'd say the the best option to go with um it's got more than enough storage more than

enough um allowance on on uploading and downloading uh and yeah so you got no ads but also the

privacy so you can you can set what domains the videos are allowed to be hosted from and that's

obviously a huge deal if you're trying to protect those videos right yeah i'll resist the urge to

get into like a privacy thing with you because i'm sure just as for me i periodically have to

go through and remove pdfs of my stuff from the web and with you as video we'll we'll just we'll

just note that that exists and yeah if you want people to create content don't steal it i'll leave

it at that um i did have uh so tailwind and react which one did you add first i'm curious and uh did

you react and then just to have so you went server-side django drf and then react and then

finally tailwind was that the progression yeah so the uh when it was server-side django

there were a couple a couple pages where i would experiment with a react app purely for loading

uh just the the course list yeah and so i'd build out one literally just one component

that fetches all the courses and renders them nicer and then eventually you do that for what

two pages and and it's really not a great way to go about it but because then you're managing so

many react projects but you get the hang of it so quickly and then it all becomes a react project

and then after that tailwind yeah and did you consider using view at all or was it just react

from the beginning uh no i i've not properly taken a look at view uh once i'd learned react

i think i was i was so hooked i hope you get the pun on it that it didn't it didn't really make

sense i wasn't being forced to to learn it for any kind of project so it was it was meeting all

my needs carlton you got a question yeah yeah no like so i'm just interested in that because i've

you know i always um beat the drum for carlton likes elm yeah okay so on the front inside i

love elm and that's fine and that i the reason i use elm there is it just keeps me out the whole

javascript world and i can go along and build my things and i don't have to worry about javascript

and then alongside that i use tailwind i love i'm big fan of tailwind enjoying that massively

that's my happy little world and you know you're welcome to come and join me in that or not and

we're not going to argue about it on the um sort of other side though i always kind of try and

render as much as i can statically on the server um i can see where a site like yours where you've

logged in and it's an app you know once you're in a kind of app environment there's no reason not to

go fully front end and single page yeah but where you're looking at pages that you want to load up

quick and you want you know for a first search engine purposes or for that first load i'd always

try and render things um server side and then you know sprinkle on a an elm element or you know a

javascript element and like you were talking about but you were saying that the um the react

components they kind of ate the rest of the site yeah pretty much yeah one by one yeah no i i

actually forgot there's there's a in between stage where i actually tried next.js for quite a while

i've been seeing that what is next.js i've seen that pop up a few times so people are like yeah

it's it's server-side uh react basically okay so that was um that was something i was using for

probably the a better part about four or five months and because of the exact reason you just

said for loading uh for for seo purposes so i had i had a test phase of articles that were being

written and put on the site as well uh which i eventually went against which are now removed but

during that time i was using next.js because i was using react so it was kind of like how do i

use react but get the best of both and next.js filled that uh and that just came with a lot of

headaches uh because of trying to serve it in a in a cost-effective way uh because basically the

way it's set up is that you use their their add-on service to next which is their hosting service and

it can it can get pretty expensive really quickly but definitely worth it if you can do it and if

you have a if you have the money to do it then sure but for solo dev it just wasn't worth it and

then i decided to go a single page app instead okay interesting and so you're just using i guess

react router is that still how you do urls with yeah react router yeah and i noticed you have so

you have um you have a subdomain for your it's just django.com and then when you log in it's

learn yes dot just django.com i was curious why that structure so is it two separate sites i mean

but you're doing the login yes so they're just two separate sites the one is a is a landing page

and then the learn.justjango is the actual learning app uh so the reason the reason i did that was

because i had future ideas for what i wanted to do on the actual landing page itself which is stuff

i'm going to be getting to soon so that that could be different services besides learning so learn is

supposed to be just the separate thing of oh if you well if you want to learn django then that's

that's on that's on its own subdomain it's its own thing okay yeah because as i think there's

a small seo hit if you use a subdomain i believe or they i mean they're vague about it but i think

these days i know carlton do you know i've been i thought that there was some giant giant meh

like if they're going to penalize your content because it's on a subdomain of your

yeah i can agree with that um so authentication you're you're you can log in with um google or

with email password email username i think is right uh email and password yeah just email

password so are you using django all auth or how are you configuring django all auth and then django

rest auth for setting it up in the api nice yeah that's those are the ones i recommend

or i like using as well and so does the guy just ask does the learn like how does the how do you

structure the auth for the subdomain is that a shared domain cookie or right now it's it's uh

just token authentication well jot authentication uh right with api which is on another subdomain

okay okay okay are you using the um the simple jwt package yeah that's right yeah okay yeah we're

gonna have um david i think because we're gonna have him on podcast oh awesome because that's

like the new yeah way to do it jose had the older rest framework jwt yes yes very cool so and

payments this is one i'm curious about personally because i have thoughts but how are you what what

are you doing now and how did you get to that point because i have i find it challenging to

do payments on these kind of sites yeah so uh well structure wise it's a subscription model

um you pay to have access for every month or you can now get access to a yearly membership and

get access get a discount with that um so i'm using stripe and are you using the new s the new

um was it sla slc the eu thing oh the sca ready sca yeah yeah i'm using that okay yeah so i'm

i'm using that uh it's so there wasn't really much of a decision so because i'm living in in

south africa the there's even more of a challenge for how you can get payments online uh especially

if you try and do that in a react front end so uh lucky enough i'm i'm actually portuguese so

with the portuguese passport it gives me a little bit more flexibility because stripe is supported

in Portugal, so like that, it was kind of,

i want to say only option but also like no-brainer in a way that i had to go stripe so are you

running it through a portuguese bank then they don't have south african support no no south

african support oh wow yeah it's it's it's crazy how they seem ubiquitous but there's still so many

countries they're not in and then of course you you may have you know there's countries like iran

and stuff where there's lots of developers and they're frozen out of the normal system and

they email you and say i want access and it's you know it's hard to yeah it's tough if if also with

um because a lot of the people that watch the videos on youtube uh also from africa and then

and you can't you well people living in africa can't use stripe as a payment gateway

your average person not everyone has a portuguese bank account so it's not that simple um but yeah

but yeah so no i know all about the technicalities of um of setting up payments and and all the

options uh but i i'm definitely interested in paypal as well uh because i think that's a little

bit more international uh yes so i mean that would be the ultimate right is to have straight plus

paypal but not have some crufty company with changing api taking a huge cut sitting over yes

yes exactly well and then there's we don't you know i don't even know how it is in south africa

but in the u.s the whole taxes piece is just like a total freaking nightmare um basically my take is

it's impossible to do legally because no one even knows what the legal situation is but you're

supposed to you know collect tax in every state and then every country is different and where's

your nexus and it's just like you know on some level i think most of the laws are like unless

you're at seven figures you're exempt but um it's i've spent so much time and talked to so many

lawyers and i don't even know how you would do it and most people i talked to you know anecdotally

who run much more popular sites with much more money they're kind of like i don't know not enough

yep which is terrible right because it's like i want to do the right thing but it's just like

impossible to do um so i mean because there's services like like tax jar and stuff that will

calculate different taxes yeah roll into your things but it's like i just curious if you had

an answer to that because i don't no i don't either i mean uh part of me just wants to say

wait for them to come knocking but um the yeah exactly like i'm not the biggest fish here yeah

so that that's but obviously no you want you want to know as much as possible before you

do something like that especially in my case where the money is actually because now i'm sitting in

south africa so i'm i'm earning it here but it's going through a different country into a different

bank account how does that and the taxes involved with that as well so but yeah have you thought at

all about uh purchasing power parity or or changing the price based on where someone i mean

this is something i've looked at because obviously right you probably get people saying i'm in africa

you know 100 is a lot yeah um have you what are your thoughts on that no i'm i'm definitely pro

the idea so i i do understand that that situation uh i haven't set it up yet but yeah if there's

if there's a a doable way to implement it then yeah i'm all for it yeah i i haven't i mean

conceptually i understand how you do it you can um west boss implements this and actually i think

they just on his podcast he just talked a little bit about how he implements it

uh and i guess using i think he uses cloud flare so he can have confidence that someone is where

yeah where they actually are yeah that's that's actually easy to game yeah but it's it would be

nice if there's a little package that stripe provided that made that happen but um i guess

Stripe's got other things to worry about. I mean, I've been, cause I, I use Gumroad for my books

and Gumroad, I'm happy with the service, but I've talked directly to the CEO saying this would be

really important to have, and it's not on the roadmap for them. So. Yeah, that's interesting.

Such as it is. So the way you've structured your, your content, I had just some notes going,

because I've gone through some of your videos,

like pipenv, you still use it, I still use it.

What are your thoughts on it?

It's just got a new release.

Did that come out?

They said they were going to do it.

Did it actually come out?

Whoa, whoa, whoa, okay.

I believe it got a new release.

I mean, selfishly, I hope they fix it

just so I don't have to switch everything over.

Because the promise of it is nice,

is like, you know, being like Yarn or NPM,

but there's issues with it.

But you're still using it?

I guess that's the question.

So, okay.

Well, I definitely have to put a disclaimer before saying something stupid that I'm definitely

no technical expert when it comes to this stuff.

So I'm not.

No one is.

For me, it's kind of always an experiment.

So you read about it, you see, okay, well, this is what it says it can do.

So let's just, let's test it out and see.

And I haven't had any issues with it.

So I don't see why I would, why I'd move off of it.

and integrating django and viron specifically with it works really well for me in um in editors like

pie charms like the development flow is just it's too good i yeah so there's no no reason for me to

move off of it do you use docker i assume not so you're happy with the dev i i've played around

with it a lot and actually the site is or the api technically is using docker under the hood

but it's using an open source project called cap rover i don't know that yeah it's it's basically

a this guy that made a platform as a service that mimics like how heroku works uh it's probably one

of the coolest thing i've i've ever so it's like a django hosting site that's cool well anything

hosting is there's all these different apps that you can host um and under the hood it's it's docker

so it's that's what i'm using how do you spell that uh c-a-p-r-o-v-e-r it used to be called

captain duck duck that's way simpler yeah i don't know why they changed the name i think seo is

brilliant on that oh here it is okay we'll put it we'll put it in the links the vc was like no

you're not having captain duck duck yeah well maybe we can so deployment i've you've covered

you cover several ways i think you cover aws and digital ocean and maybe is that yeah aws

heroku digital ocean uh python anywhere and and oh wow yeah and cap rover which is which is

technically any server digital ocean linode what are your thoughts on deployment i mean because

from you know for me i we've talked about this in the podcast usually someone has one that works

for them and they just use it and i'm often asked to do tutorials on all these different things and

the problem is they change so often that i don't know how i would keep up to date with them

so i'm impressed that you have you know video tutorials even of these things it does provide

a challenge because then i would need to go and update them uh so i'm a huge fan of digital ocean

i i'm kind of that over anything else at the moment uh purely because of the

well starting with aws it's just so much to take in they've they've cleaned up the the ui a little

bit it's very enterprise yeah but really when i was getting into it it's just a nightmare for

beginner i mean you you click the services button and it's just too much so yeah so and even with

all the resources i mean if you're getting lost within the resources that's a problem so

so yeah digital ocean is simple it's um there's i think one one guide on their

on their like documentation or community side of things which is just how to deploy

django with nginx um and i mean if you follow that that's it that's all you need and you get

a really good understanding of all the pieces that fit together for how a server actually works

so it's like the best of both worlds and do they they do they do hosted databases

or they still don't yeah it's a recent feature yeah right because that's a big to me that was

the biggest hurdle especially when teaching it or even using it myself was like it's just like

i don't want to have to once you've used a managed that's the question right because you know if you

go to i know um azure that you can they've got the app service there and it's really easy to

bung your django app but what you're going to do for a database well okay so they've got a hosted

postgres and you can spin up one of those and oh hang on but i can easily spend a lot of money

there so i've got to start thinking and the pricing's opaque and it's and the same on aws

they've got a free tier you can get a micro instance you can stick up you know your django

app but then you you're not going to run a database on that one little instance and so you

look at rds and you've got the same issue how do i spin it and you know heroku they've got the

postgres going on there so you can spin up one of those it's it's always the database pretty much

yeah all you know the droplet yeah the droplet's great and you can get your free droplet you put

your app on it free but i need a database yes yeah that's true so so with with the managed

database that digital ocean provides i find the because the lowest price is 15 per month so that

is not too bad um if you just need to get something up and running and it's super simple it makes a

lot of sense how they've designed everything uh but the the pricing on aws and azure that i've

experienced escalates ridiculously fast and if you're not careful yeah yeah if you're not if

you're not careful but even still i mean i would say that most people who start using it don't

fully understand i definitely don't fully understand uh how they decide when things

need to scale up like what the criteria is because if they scale it up when they think that

that the requests are starting to get a bit high what does high mean because that if that's just

10 people and they think that everyone needs to have the best experience then your costs are going

to be insane so that's why i prefer to just manage it with a fixed price yeah no i mean auto scaling

is massively dangerous right yeah it's if you're starting up like a small project and we're talking

about you know solo projects here you've built some scratch you you want to spin up a server

a database thing you know maybe a load balancer maybe a a bucket for you know blob files you know

that's nice and containable it's going to cost you 20 30 40 a month it's going to be you know

that's doable and then you all of a sudden click a button it's like oh no we've scaled up we've got

three of these now and hang on but that's 120 and then you know i'm not serving that much traffic

yeah that's my actually that and that's it's the opacity rather than the price that i think is the

issue which is what you're getting at which i have with actually netlify now which i use for my static

sites and i really like and i don't begrudge them getting a lot more aggressive on charging

the last couple of months but the way they do it is not clear at all to me they do it anyways that's

a separate thing but so it's the not understanding it right it's like i don't mind paying for

something if i understand what's coming from and i can evaluate that trade-off but when it's unclear

yeah yeah exactly the aws there was a story came past that you know when when you go and log in

it's like a choice button is this for production and you're like well yeah this is for production

and if you click that bar you're automatically in like multiple availability zones and regions

you know and that's that's a thousand bucks a month just to start up

Well, I guess if you're paying for it, you probably shouldn't be using AWS anyways, right?

If it's actually your money.

Yeah.

That's a great criteria.

Yeah.

Well, we're coming a little bit up on time.

I did want to ask you about, you've got a new series on packages where you're going

through some popular packages on YouTube and TastyPie is one of them.

And you're, so tell me what I'm missing on TastyPie because my sense is that it's a bit

out of date, but you're quite keen on it, right?

yeah carlton can add in because carlton used it quite quite a bit back in the day as well

yeah i i i liked it i i have this thing for really simple packages i think there's a lot

of packages that do so much and it's like well i just had to learn django now i need to learn a

package in django like this you know it just never ends it never ends yeah that it's just a

huge hole where some of these packages they they say this is the promise and they deliver on that

and that's it so you know what you're getting but i really like the the kind of resource so

basically the whole the whole idea is that you have a resource which you plug into your model

into and it's same syntax as like a serializer and a form and all that so you'll have a model

resource and then it gives you all the urls that you need for your crud operations and it's in a

uniform format so everything's the same you can decide how you want to nest your relationships

so if you have foreign keys you can decide how you want to embed that into the data that's coming

back um and yeah i just i found it to be if you have a really just a handful of models and you

need to make that an api um i'm pretty confident that that would be your best bet sometimes um

but a lot of people have been saying do a comparison with the jenga rest framework and

tasty pie and i mean yeah the jenga rest framework's a monster so i don't know if there's

much of to compare but but yeah it's it's still really i really enjoyed it it's really good i'd

love that you put that on there because it definitely challenged my assumption that it

was just out of date so that's kind of why i asked not yeah i was like oh she's kind of curious

because you know rest frameworks origin story as well there was tasty pie and you know it came along

and but not me but like rest framework came along and i and had these yeah you know this different

way of doing it the view the generic view sets oh the generic views view sets were much later

generic views and serializers and that was rest framework story and it's nice you know what eight

years later or something to hear yeah no actually tasty pie's got it right the way it's doing this

for some cases well are there i've just thrown questions at you the whole time are there any

things you want to discuss or share projects or things you've been working on well yeah uh i've

been really bad on on other projects at the moment it's too many ideas and not enough execution

uh but no there's i think maybe i can i can throw this idea and and get some feedback on that

so there's in my mind there's a there's a little bit of a gap between being someone who just got

a job or just got into a position where they can they can actually use uh software development to

to have a to make a living and uh and the learning phase which is kind of this in-between phase which

is like i'm trying to build an online presence i'm trying to build like an online portfolio i'm

trying to get involved in the right projects i'm trying to find people to work with or find

projects to work on but there's just no real centered place for that there isn't uh i mean i

googled how to find other developers and it was like go on twitter and i was like no that's that's

not a solution i mean that's twitter's for everybody there's nothing like that for developers

so i think uh that's something that's been playing on my mind as a as a side project uh

that i think would be would be interesting to see how that how that would go out so i don't

know what your thoughts are on that my initial thought is that the thing that i recommend people

to do is go to the meetups if you can if you live in the city and there's a meetup on django and

you're into django go to the django meetup because you know that's where you'll meet other people and

then you'll get connections and that will be a way into a job and that kind of thing um so in

if you can get some sort of face-to-face thing then super do it other than that yeah some kind

of online where is that it's not linkedin is it like well there's django i mean there's django

itself we've talked about that that it is intimidating but there's a lot of if you put

the time and there's a whole bunch of low-lying tickets even documentation things that beginners

can contribute to and if you've contributed to django itself in whatever capacity that's certainly

and to go to a jack to go to django if you can you know if you can get to one then you know go

to django.com because that's where you'll meet the community and it's just amazing and you know

all those kind of things just got to quickly mention that in there i mean look django.com

super gum that's how carlton i met i mean i do think it is that i mean it's it's that gap from

junior dev to regular dev and it's just that gap of you know copying projects to what next i mean

so i advise people to you know and because we can i can tell people that you know if you've built

a blog or you've built you know a crud thing you've kind of already built everything but that's

because i we understand that yes yes those things so i try to tell people like you should build five

to 10 projects and you should take the time to think and look at exactly how similar they are

because you have crud you have off you have foreign keys and that's 90 of it but you just

have to build it so don't just copy me like take the blog and turn it into i don't know to-do list

or you know just kind of do the reps but i get that the problem is beginners get stuck and then

they get really stuck and they don't know how to unstuck themselves and that's an unproductive

space of time so i i actually the other day i was seeing this may sound random but to me it made

sense so there's so there's this martial art called brazilian jiu-jitsu and these brothers

who teach it gracie brothers they have an online thing called gracie university where they have

videos and they teach in a linear way the classes that they give and the way they've melded the two

together is they say take the video classes practice on your own or wherever then you can go

to a gracie affiliated studio for your belt tests to prove in person that you know the moves but

you're basically not limited by lack of access. And so I think it's that combination of digital

and in-person. So I often think of really what someone needs is they need one of us to look at

their project and evaluate it and give feedback on it, but it's really hard to scale that.

Yeah. And if there was a way to do that, if there's a way to scale that or a way to have a

crew of people who got paid, who could validate and do some sort of check mark. I mean, people

ask the Django Software Foundation, is there an accreditation course for Django the way there is

for Microsoft things? It's really hard to do well, but I think that's kind of what you need,

is you need some sort of mentorship. So I don't know exactly. I don't know how you would scale

that because the reality is our time is valuable, and I don't necessarily want to look at 100

different spins on a blog, but someone needs that. So yeah, it's that in-person piece. And

And, you know, people have tried ways where you do an internship or something, you take someone on and they commit to two years and you say, I'll mentor you for a year.

I think there's actually quite a bit to that.

But that's, you know, people who've done it kind of get burned out on that because they train someone and then they leave.

The difficulty we have as well is that, say, for instance, we've got the Django forum or the Django users mailing list where, you know, there are people who know their stuff there.

But they've only got so much energy and time.

And, you know, so you've kind of got to be at a certain level to be able to ask the question in a way that will get a suitable response.

But if you're not at that level and you just kind of you need help, you need a bit more mentoring, a bit more guidance, quite often the people who are active and they're giving a lot of their time to this forum or to this mailing list, they just haven't got the energy to respond to you in a way that will get you to your solution.

That's where the gap is, I think.

Well, and you may have this.

I mean, I have people pretty regularly ask me to, you know, hourly get help with things.

And in general, I don't because the time it takes to set up and this and that is just not worth it.

I mean, I sort of would like to do it, but the logistics of it doesn't scale for me personally.

What are your thoughts on that?

Because I feel bad to charge someone kind of what my hourly rate would be if they're a beginner.

But the reality is, you know, that is what it is.

Like if I can't directly turn it into a project or a teaching resource, there's only so much I can kind of give.

Yeah, I think it's, no, I agree with that.

I mean, you can't charge them that rate

and you can't help every single person

that says help your video didn't work

or your article didn't work.

But yeah, I think there's room there,

not so much to make it that someone needs to mentor someone

because yeah, like you say, that just can't scale.

but the ability to connect people um i think is is actually more than enough if you can just

provide connection an easy way of connecting the rest will sort itself out yeah i mean yeah and i

you know my quick take i tell people is i say okay you want to get hired with django have at least

three projects up on github that are they can be really basic but just build them well and be able

to back up your choices contribute to django and have a personal blog or like don't just contribute

your top one contribute to one of the projects in the django ecosystem right if you don't want

to contribute to django itself contribute to i don't know an django extra projects but because

that proves you know how to work with people and you're actually part of the community having the

three projects is something that you know i can just i want to look at code before i talk to

someone in person probably and you know we can quickly get a sense of stuff and i'd rather talk

about code than toss whiteboard questions oh yeah for sure and then a personal blog just to share

your story and give a sense of who you are those are kind of the three that's the three things i

give people's advice um but you know it's hard to do all those when you're starting out and you

don't have confidence and what do i set up my personal site with you know do i build it with

django and i would say that's overkill just use jekyll or you can use squarespace or just use

django because like you're trying to get a gig yeah well it's true i mean you know and then you've

got a little you're busy hosting and you know how to run it you know how to deploy it and you can

show that to a person and it was it was more work than using jekyll but you're eating your own dog

food yeah you probably you know yeah yeah i agree with that so if someone wants to connect with you

or your work what are the best ways to to do that online i would say uh you can you can send an email

to matt at justjango.com or just go to the contact page on on the website uh or if if necessary you

can also go to linkedin i'll also send the link for that but i mean you're brave the contact page

i just updated my linkedin thing to like literally say like i don't check this here's my email like

send me a real email if you want me to engage yeah but i admire if you're willing to

wade through the pool of linkedin recruiter emails yeah i guess it depends on the person

but yeah definitely emails it wasn't gonna be better well thank you so much for coming on um

i've been a fan of your resources so i think it's great that you're likewise continuing to do them

and i've been impressed by seeing your evolution of content and layout and all the rest oh thanks

so much i appreciate that thanks for coming on yeah thanks for having me on guys it was awesome

all right we'll see everyone next time bye-bye bye-bye bye