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