Django Chat

Two Scoops of Django - Daniel Feldroy

Episode Summary

Daniel and Audrey Feldroy are the authors of the updated book Two Scoops of Django as well as Django Crash Course. They created the popular cookiecutter, cookiecutter-django, and django-crispy-forms packages, as well as the Django Packages website.

Episode Notes

Episode Transcription

Will Vincent 0:06
Hello, and welcome to another episode of Django Chat, a weekly podcast on the Django web framework. I'm Will Vincent joined by Carlton Gibson. Hi, Carlton. Hello. And we're very pleased this week to have Daniel Feldroy, author of Two Scoops of Django, Django Crash Course and many other packages in the Django community. Welcome.

Daniel Feldroy 0:22
Thank you for having me. Thank you for coming on.

Will Vincent 0:25
So I think a lot of people who listen this podcast already know who you are, but for those who don't, what's your quick background how you got into Python Django and then we'll talk about all the various hats you wear in the community.

Daniel Feldroy 0:37
Okay, sure. So my I was born as Daniel Greenfeld. And then when I got married to my wife, Audrey, I became Audrey Roy Greenfeld. I adopted her family name as my own just because it seemed like the right thing to do. So just clearing that up right away. A little bit about me. I grew up on the east coast. I spent most of my life nearby Washington DC, either north or south of it and Maryland and Virginia. And I got into Python started to get into it in late 2005. Although I had the chance to go work for the zip Corporation when Guido van Rossum was there around 2000 except for two hours away in Blacksburg, Virginia, and and it was, you know, back now Virginia Tech, right? Yeah. And back then, Python was like, no one knew what Python was. So it's all Java, Java, Java. So they called me in for interview I was like, Well, two hours ago for this obscure thing I've never heard of it sounds pretty interesting. But you know, I didn't have a car just getting down there for the interview was like gonna be a challenge. So I not so intelligently didn't go work with Guido van Rossum and Paulo Everett and others. Other, like, personal heroes of mine that I'd love to have been mentored by?

Oh, well, yeah. Not one of my better decisions.

Carlton Gibson 2:12
That's a sliding goes.

Will Vincent 2:15
Well, and actually I think I'm Jacob Kaplan moss is in Blacksburg right now. Oh, really? as we speak. Yeah. His wife is doing veterinary school there. So there's lots of Python Django connections to that part of the world.

Daniel Feldroy 2:26
Yeah, absolutely. So in, so I programmed for, you know, a number of years, starting the late 90s, of old and in 2000, and at the beginning of 2000, at the end of 2004. I had the job interview of my life, and like the best job interview, and I landed a job at NASA. And at that point, I was doing Java and I really didn't like it. Nothing gets Java but strongly. Typing often just drives me nuts. And so I discovered when I started working there that Oh, wow, cold fusion is pretty awesome because it's it's cold fusion. Because you know it this loose typing is so wonderful. And for those who don't know called fusions, typing is not that far off from like JavaScript or PHP, it's very loose. You can combine objects without there's not too much casting too much too many problems when it comes to casting. And of course, but I wasn't happy either. With cold fusion, I was thinking, well, maybe programming isn't for me. And in the summer, well as their I met this guy named Chris Shenton. And he said, Oh, let me show you this thing called SDN and track which is based off of a language called Python. You should also consider learning Python.

And

what happened then was a few months after that I finally had a little bit of free time. So I was like, Oh, I'm gonna download this Python thing and try it out. And I was like, wow, this is this is awesome. It, it checks all the things that I really, really like about, you know, programming. And that wasn't doing web stuff at this time. Or if I did, it was just like little bits and pieces. So then a few months after I started to play Python, I was on this project where we're using Java and at that point, the Java naming directory index Gen D, I think it is, which is how you connect with to LDAP and x 500.

Are those things used anymore? I guess. They are they

Carlton Gibson 4:52
are okay. But

Daniel Feldroy 4:55
it It could not connect to another NASA Agent at another NASA centers, x 500 database, because they had rolled their own cert their own SSL cert. Okay, which, you know, you're, you know, back then you're warned Don't do this. And this was actually even not even for actually it wasn't for LDAP. It wasn't for x 500. It was for Microsoft Active Directory. And so they had rolled their own cert. And genndy couldn't handle it. And we needed to connect to this. So it was part of this project. And we were, we were running up to our schedule. We are trying to figure out, you know, how can we make Jin D work with it? And then Chris Shenton said, Hey, I got it working with Python. And so then we created this little bridge script between Java and Python, you know, to try to make them talk together. And that was going so well. We've worked on this for. I've worked on this for months, and I saw a deadline coming up. And then one day is like, why don't I just rewrite this whole application in Python and mind you like building the application in the first place in Java? This is enterprise Java back in the day. Java is quite a bit different now. It taken us, taken me weeks to put it together and 90 minutes after I said, hey, let's get this working. I had it working. Right. So 90 minutes, and I was like, Oh, my God, the productivity boost of this is incredible. So it's not like cold fusion, which I don't know about now. But back then it was very limited. And Java, which just wasn't working. This just it worked. And it and the speed difference because of what we're doing was pretty inconsequential. So at that point, I was I was totally sold and Christian to was like, Yeah, I got another one. Because he was the only one who like I thought that that our NASA Center, which was headquarters. And so then, but the thing is, is it wasn't really accepted because it wasn't one of the the big three languages that we use, which were Java ColdFusion. And anything in the Microsoft stack. So there it is my favorite part. So we we started using it surreptitiously. we called ourselves the Python underground.

Will Vincent 7:34
Well, we hit there, nobody noticed the.py. Yeah.

Daniel Feldroy 7:40
We started using it surreptitiously. And we found that are these project managers who had all these little scripts and actions that they needed to do? You know, found out that Chris and I were the two people who could get these little scripts and done for them. These little like we'd come up with Python executables, I forget the name of the tool that we use that would work on Windows, you know, and we, we would put it on their desktop. And then they would point that at spreadsheet data, for example. And it would like, pull, you know, it co lead the data as they need to Ord hit the X 500 or LDAP, or Active Directory systems that were often interacting with and grab their data and clean it up. So rather than ask someone to do it and set up this big project where they have to go get funding, they just go to Chris and I and say, Hey, can you can you do this because it wasn't the accepted language. There's been almost impossible to get clearance. And yeah, over the course of about a year that that that reluctance to use Python change actually took several years but within about a year we we got on to an activity Project and it was a clone project clone is a older CMS and Python. It's the precursor to Django and flask in that whole environment. Or that whole those ecosystems. And that is kind of my story how I got on board with Python. That's really cool. So they were they like the way you're good.

Carlton Gibson 9:22
Like, you're like, oh, and you know, I had it working in 90 minutes. Like it was my experience coming to Python similar in that I'd be like, I'll try writing this in Python. And, you know, no matter how complicated it was, it was always like, just 150 lines and you know, fit in a single file. This is nice. Yeah,

Daniel Feldroy 9:39
yeah. So that's, that's my story of learning Python. And then with Django several years in, we were, you know, we had launched a blown site, we had public plain sight, which might actually it got converted to Django and then we went for the project. I'd built in 90 minutes. Originally, I wanted to serve out the data using Django because Django was a net one Dotto. In fact, none of that Python web application servers were at one Dotto. I wasn't allowed to use it. So we hid, like we made the mistake of talking to managers about the version numbers of the application frameworks that we're using. And since none of them are one dot O, we couldn't use any Python web application server. This is a very different time when if your software didn't have like version three or version five, you could install and I know there's still places like this. So what happened then is we didn't tell them that web dot pie was below version one. We just didn't give them my version. So my first application was built with web.pi but A few years later, we're going to build a NASA social network that we were going to cough space book. And we decided, we decided that we're going to use Django for it. And because then there's a suite of tools called pin x that was out there. And so we build it on Django and pin x. And that was Facebook. The problem there is that we are competing with several other at least one other NASA social network tool and someone chosen enterprise Java one. And this is like 2009 era Java. So it's not modern Java. Java has really changed as a language. And also the whole I don't know if ejbs and all that stuff still exists. So was that the application that one was not the popular one, it was the one that Or they hit the pole with management. Robin nobody, nobody ever got fired for using Java right? No, I don't think so. Probably not. Nowadays. You can say that about Python, which is exciting.

Will Vincent 12:14
Yeah, Jager. Yeah, yeah. I mean, I I still like the story of when I was flying back from pi con. Last year. The woman next to me was, was had the, you know, the, the gear and she worked at a government defense contractor that use Java. And I said, Oh, are you switching to Python? Because it's better. And she's like, No, we just can't hire anyone under 40. So they're switching. She said, just for hire ability for recruiting reasons.

Daniel Feldroy 12:40
Wow. That's so awesome.

Will Vincent 12:44
Yeah, I was like, Well, that's it. That's a change. And then also I asked her, you'll appreciate this. You know, I was like, Oh, you know, have you heard of Django? She's like, yeah, I've heard of that. I think people use that as like, Oh, you know, how would someone learn that? And she said, Oh, and she pulled up, you know, corporate subscriptions to O'Reilly You know, the big three, what is it? You know, so she pulled down. It's so it's Safari lynda.com and Pluralsight. And she said, Yeah, here's 60 courses. And I was like, but how do you know which ones are good? She's like, so that kind of broke my heart. But I was happy about the Python. Anyways digression.

Daniel Feldroy 13:23
Yeah. Well, I mean, at least there's 60 courses with Django that she can find quickly.

Will Vincent 13:29
Yeah, it was something it was some huge number and, and, you know, it was a good insight into the corporate realm of like, Oh, well, we need training for this. Like, here you go. And in a large companies HR makes that decision and they want to, you know, they'd rather write one big check then lots of smaller ones and give autonomy to employees to make those decisions. Yeah, that's Yeah,

Daniel Feldroy 13:50
we've we've danced around the subject of doing O'Reilly's Safari for years and We might do it this year we'll see.

Will Vincent 14:03
Yeah, I mean, I'm not slamming those those platforms there's, I think they make they can make a lot of sense and there's fantastic content on there. It's if you're in the indie bucket, which you and I are, right it's a little bit different perspective on it, but I totally get how for large companies, they don't want to I wish they would just say here's a budget for your employees, you know, X number of dollars for professional development, but aside from GitHub, I think almost no one does that. Instead it's here's the corporate account for for what Yeah,

Daniel Feldroy 14:32
well, one the part I guess my issue with it isn't so much the platform it's having to go through O'Reilly I'm trying to convince bill Pollock of no starch press, which is awesome, awesome company. I think we're gonna go and try and convince them hey, can you kiss? Can you talk to Riley about this because I don't want to try and go through that process. Again. We tried, actually last time and it was just they may start to make jump through hoops and it's like we're brandy authors. Why are we having to jump through hoops? So it's kind of weird. Do you work with no starch? I thought you were self published. No, we're, we're thinking of going and asking bill of no starch to to be like, Hey, can you can you represent us with a Riley? Well, we'll figure out some way to make it worth their while.

Will Vincent 15:24
Yeah, well, I mean, I agree no starch seems to be at the very top of technical book publishers. And certainly there's

Daniel Feldroy 15:31
only pay the best of the I believe they do they pay the best in royalty rates in royalty rates. Yeah,

Will Vincent 15:39
yeah. Well, they're public about it. You can go and look it up.

Daniel Feldroy 15:41
Yeah. Which I that's that's why I'm pretty certain that they're the the best ones just because you can find the royalty rates and then they're they're pretty high.

Will Vincent 15:49
Yeah. Well, it is true. I mean, we don't I'm sure you and I could talk about the you know, the issues of self publishing. I don't think people really care about that. But there's a lot that goes into it. So it's certainly Often appealing idea to have someone else team up and handle distribution and all. Because I think it's so maybe we can segue to two scoops of Django. So when did because I remember you I think because you and Audrey were hand mailing those back in the day maybe Can you talk to how you? You both came to, to write that book and do all that?

Daniel Feldroy 16:22
Sure. So let's step back in time to 2012 and we weren't married yet.

We're engaged.

And we were running this consultancy called cartwheel web. And we're also doing a lot of open source work and community work. That was the year that she and six other women founded pi ladies. And this is in Los Angeles. And so we had a we had work coming in but collecting the work off Was Hey, fix our Django project which did. The consultants, the people that we hired, started to work on and left. And so it was like these, you know, rescue projects. That was almost all of our work and our new work coming in. Trying to get people to actually pay was really, really hard. So where the money was was coming from was these rescue projects. And again, and again, we saw the same mistakes, where the people started projects and then just threw in, you know, just through not knowing how to build applications in Django. They made design and architectural mistakes that made it really hard to finish their projects. And so what would happen is you'd have people who would, you know, the entrepreneurs or investors would scrape together money they prefer Give it to a developer who just because they, they, they didn't know how to finish the application, they would get bogged down. And then they would quit. out of desperation. We saw this pattern again and again. So after the and these projects are exhausting to work on, if you've done software work, and you come into like just a horribly engineered project, it's it's, it's draining. It's not fun, and we prefer building new things. It's horrible to

Carlton Gibson 18:31
in the hallway, it's difficult to keep it working whilst you've made the changes, right? Yeah. So you're constantly up against, you know, this barrier where you're like, you can't break it, but you need to move all these bits around here and how can you pull that apart? And that kind of mental exercise is just that exhausting?

Daniel Feldroy 18:48
Yeah. And then a lot of times the people who would hire us to do this, their budget was nearly blown. So they they wouldn't, they would be struggling to pay us and they would pay and then These new projects just, you know, we couldn't get paid like we do some work, and then they would stop paying us, which put us in a financial bind. After I remember this one day where we went, and we talked to this company, who they decided to go with someone else. And they told us who they were, instead of us. This is for a new project, and it was someone who we had rescue two projects from in the past. And this is on the Los Angeles area. And I was just like, oh my god, like, you know, we're gonna end up picking up, they're leaving. I was so angry. And so I was like, I'm tired of these rescue projects. I'm tired of, you know, these people coming to us who are now broke saying, Can you fix our project? I'm tired of these engineers saying, Oh, this is why we should Using rails, and and so I was really angry and I started to, and I went to, I was hanging out with Randall DAGs. He's a friend of mine and some other people at a local Django group in in Los Angeles. And on the way back, Randall just released this book called Heroku. Hacker's Guide, which is

Will Vincent 20:24
Yeah, I bought that book.

Daniel Feldroy 20:25
Yeah. And we stopped to get something to eat. And it was at an ice cream place. And because I was like, I'm just gonna get ice cream because not on the date, but I didn't care. And because I was angry, and we're talking and and somehow the discussion of all you should write a book about Django if you're running all the same problems again, and again, you know, this, you've worked with core Django developers. You should, you know, write a book about it. So I was like, Oh, okay. I'll write a book. I started writing two scoops of Django actually is originally called real world Django, out of anger. I was so just there. And so I was like, Okay, I'll be like Randall have write it in a weekend. Does he wrote Heroku Hacker's guide in a weekend? It's a smaller book than yes gets a Django and Django is a bigger topic than Heroku. So the book kept growing and growing. And worse, I kept getting stuck. And so I look to my fiance, Audrey. And I'd say, can you help me with this? I'm stuck. And so she helped me out or she would rewrite a section. And then after about the fifth or sixth time, I was like, why don't you become my co author? And she said, I would, but you're, you're too angry. I don't want to have my name associated with something that's angry. You have to make it happy and funny. And I was like, that's so weird.

And so I was like, Okay, well, we'll, we'll make it happy.

And then she's like, Alright, well, we need to have a good topic for writing code examples for it. Because you know, these code examples, they have, like, they're just switch topics all over the place. I want to have a consistent topic. Yeah. And so we brainstorm. And then we came up with ice cream. And because, you know, that was once a week, I broke my diet, and we go get ice cream. And we noodled you know, we brainstorm some names after that. And eventually, we settled on the silliest name we could come up with, which was two scoops of Django because there's two of us. scoops, ice cream Django, it kind of all worked. So that's, that's the story the name of two scoops of Django. I didn't know that started. Yeah. I started in anger

Will Vincent 23:02
well you have I do want to stick on to scoops but in Django Crash Course your new book you have a lot of cookie examples. Were you curious where those came about? You mean cheese examples? Oh cheese wait yeah cheese yes you're I'm only the beginning part but you're it seems like there's a cheese theme running through it. Yes I love cheese. I've never had a cheese I didn't like so I approve.

Daniel Feldroy 23:26
So we've I guess we have a fixation on dairy products and for the listeners out there we do want to say we recognize you can make cheese and ice cream out of non dairy products and we've had some really good ones so we don't want to disparage cheese, you know, non dairy versions of these things at all. So we we really like cheese and on our trips we that you know we've had the chance to travel a bit for work. We Whenever we go someplace, we try two things. One is ice cream, just because every place does it slightly different. And the other one is cheese that there's pretty much every culture in the world that at least that we visited has cheese and if they don't have cheese, they're working on it. So like, for example, we discovered the last time we're in the Philippines that there is in the highlands, that's up in the mountains, where the temperature is cooler. There's a growing blue cheese movement that they have, you know that their livestock that their their goats and, and sheep and stuff like that, that they have up in the mountains where doesn't get warmer than 65 degrees, anytime in the year. They have these herd of sheep and goats now that they're cultivating cheese and it's it's pretty good. I mean, we tried it Early 2015 it actually was shockingly good. So,

Will Vincent 25:05
yeah. So anywhere on the plane and I was getting into cheese in Can I just ask, I think Did you an Audrey meet at a Python conference? Right? Isn't that?

Daniel Feldroy 25:15
Yes, I did. Yes. We met at pi con us 2010 in Atlanta, and I met in James Bennett. He's a old time core Django developer. He was on the he's on the board. He's on the board. We met at the end of a Django tutorial that he was teaching there. And yes, that we, I was sitting next to someone who she who Audrey recognize. And so Audrey came up and said, Are you so and so to that person? And then I turned and I was like, oh my god. Yeah, so, for me it was it was nearly love at first sight. But it was a professional event. So I like was respectful and not great. Yeah, yeah, but but that's where we met.

Will Vincent 26:08
Awesome. I think I'd heard I'd heard that her you had mentioned to me and I love that little bit. But so so two scoops. So you were just at the point where she was going to join as the co author once you've adopted the ice cream theme to make it happier.

Daniel Feldroy 26:22
Yes. So, yes, so she joined and she has written over half of it. So I am the vocal one year though I'm the one you tend to see on social media, but she is the power behind the scenes. And not to say that I'm stupid, but she's smarter

Will Vincent 26:44
than I have a similar dynamic, so I'm familiar with it.

Daniel Feldroy 26:47
Yeah. Uh, and

when the first edition was a few weeks out from being delivered, she stopped writing one And started doodling and I'm like, What are you doing? And she says, I'm doodling. And I'm drawing, I'm drawing, and I'm like, but we have, like so much more to do. And money was getting tight because we weren't working working on that book is a full time effort. And in any addition and, and I'm like, but we have to get this done. And she's like, if if I don't do this, the book isn't gonna sell. And I'm like, I thought she was crazy. And she started Audrey is is a visual, amongst other things. She's a visual artist, she does sculpture, she just does painting. And here she's doing these cartoony style doodles. And, you know, she kept showing them to me, and they're these cute little goofy drawings. And, and I'm like, What are you doing? And so she, she said, People need a break, because you Even though we're trying to make funny, it, you know, technical material is dry content we need to share with humor. And so I was like, fine. And so I humored her admit that, but then once we started putting it into the pages, it started to make more sense. And that is where, you know, she started due to do those, you know, those illustrations in the book and we know that makes a difference, because people send us screenshots of those from around the world. So we're, I'm pretty happy she did it. And, yeah,

Carlton Gibson 28:39
super, I wanted to ask what was the first edition because I was looking through my gumroad the other day and I saw in my library of 1.5

Daniel Feldroy 28:46
that that is it was for 1.5. And, you know, we had this funny thought that we would do a new addition with every release of jam Go. Yeah, why not? Why not? It's it's easy right? We can just we'll put out a new book every six months. And the the scope of work involved in updating this particular book is outrageous because it's not well one updating tutorial books is hard. William Mo, I'm sure can talk for hours about that.

Will Vincent 29:23
Yes, I try not to but yes.

Daniel Feldroy 29:27
With two scoops of Django is harder because we have to refute everything in the book, it's would refute be the right word. But we have to double check everything in the book. And so every package every every statement, every thing that was a fact that the time current edition was released, is just so much work. So

Will Vincent 29:51
yeah, it's a big Jenga puzzle is how I describe it to people you think one little thing but

Carlton Gibson 29:58
you do that you do something quite hard as well, which you'd recommend packages third party packages. Yeah, the ecosystem? And that's brave.

Will Vincent 30:05
Yeah, you know? Yeah, that's very reluctantly and I always get hammered for it the same ways whenever I show how to do something on Heroku or sendgrid, or stripe, inevitably they change it faster than Django changes.

Daniel Feldroy 30:18
Yeah. And also there are people who want to have their package featured and your Yes, yeah. And so sometimes you just, you know, it's why we will often explain why we chose something. But yeah, that's we've we've certainly made our share of people become our enemies in the past. And the thing is, is we have one we have to be a bit opinionated because that's part of what the book is. Because that is the actually it's not number one, it is the fact we have to be opinion, because people will base serious business decisions on In fact, not just a company, but whether or not they get paid based off of what we put in our books. So we have a responsibility to our readers. And if we make some enemies, I'm so sorry. And maybe, maybe we don't always handle that gracefully. We try to but

yeah, it's it's a hard one.

Carlton Gibson 31:24
So like, you know, I remember reading your choices, and I remember being like, yeah, great, great, brilliant, brilliant, brilliant, but those packages come out of date. And to remake those choices. Each edition is like, you have to verify that this is still the best option.

Daniel Feldroy 31:38
Yeah, yeah. And it's easy to get colored by your friends. And so, if a friend has a package that they maintain, or that or, or that they just believe in, it's like, okay, we just can't. Yeah, it's it's tricky.

Will Vincent 32:00
in a in a minor way, I have this issue with awesome Jango repo that now that only has it has like a fraction of the stars of cookie cutter. But it has, I think, almost 2000 stars. And it's largely a curated list of third party packages. But I know everything you said like I'm starting to really feel it right where people put in pull requests, and sometimes I know them. And a lot of times it's like, well, if it doesn't have a lot of stars and or I haven't used it, and I always say like, this is just my opinion and like, it's not meant to be canonical. That's that's kind of what I like about two scoops. So is it you and Audrey tried, I think basically succeeded in saying, you know, as we write this book, this is these are best practices in the community because people want to know those. And, you know, maybe there's in total agreement, but largely, there isn't someone needs to kind of say it and have the expertise to back it up. I would say

Daniel Feldroy 32:51
yeah, I wondered about those awesome Django

lists how those are maintained. Well, they

Will Vincent 33:00
Yeah, so there was one before and then I think two years, three years ago, and then what the problem is, I mean, what always happens is they just blow it out of control and you get endless prs and you just go stuff it. And so my way of dealing so there was so the my way of dealing it is I just, I try to be very public. I'm like, I'm just gonna look at this periodically, and it's my choices. But it's you know, it's unpaid. Right. So at some point, you're like, I don't need the negativity here. Yeah, and yet there is a value in curating things right. But then but you're constantly it's, I mean, usually it's helpful people do PR saying you know Django rest off switch to DJ rest off hosted by jazz, and all this stuff, but it's, it just becomes a lot and it's like, a lot so and then there's a personal stuff, right? I feel bad rejecting things that from people I know or just in general, but there has to be some sort of baseline on it. Point. So that's what happens that's I think that's that's what I see with awesome repos. They blow it out. People get tired of it. They stop maintaining And then someone forks it and that becomes a new one. And then it repeats every

Carlton Gibson 34:04
three years. Right. But at this point, at this point, we have to bring up your project for which I first came to know of you Danny, which was Django packages. Yeah, it's definitely got exactly the same. So Django packages not curated site where you can? Well, okay, for this this question. You know, it's this great site where you can go and browse by, you know, you need something for auth token author, show you the packages, how many stars I've got, how many? I mean, how did you manage the same problem, they're keeping that updated, people just submit user generated,

Daniel Feldroy 34:33
because it started in a hackathon called no longer exists called Jango dash which is run by Daniel Linsley. There were some early design decisions made, you know, a new sleep that make it a bit harder to maintain. And then there have been some pull requests accepted that shouldn't have been accepted where we got better at that. So it's it's a hard project to maintain. And at this point, Audrey and I were pretty much stepped away from it. We've we've tried to hand it off several times. Now, for various reasons, some of them related to us. Some of them relate to other people that's never really worked. So we have a few trusted volunteers working on the source code of the primary one right now is a guy named via Dave Jane, who's in India. He's awesome. But May, you know, yeah, it's it's a critical project. And I don't know, I can't remember. What's the question? I'm on like, no sleep.

Carlton Gibson 35:46
Well, just like

Will Vincent 35:49
why Craig was talking about the challenges around third party packages.

Carlton Gibson 35:52
Yeah, I mean, and keeping the lists up to date have four other 30 packages, you know, because we start with two scoops of Django and then same issue is with the awesome Django repos. And then it's Django packages like how

Daniel Feldroy 36:04
to deal with Django to actually be list curated, right Django packages is a mix of curated data maintained by the users of the system. So if you're listening to this, and you have a use about Django packages, you can enter your own data there. But it also pulls stuff like GitHub stars and pi API downloads. I think it still grabs that I, I'm pretty sure that data is available. So it grabs a mix of hard and soft data. So that way, people can make a an informed decision, and we don't let people and there are constraints, like there's administrative tools that we visit. So we find junk data on there, we strip it out, we block users.

Carlton Gibson 36:47
And if the listeners quite often say, oh, how do I get involved in these characters is Django packages Django snippets which has got a new maintainer. Now, you know, this other other kind of sites in the community which are built with Django, people, if people want to get involved, can they do that? Can they become a trusted contributor? I mean, obviously, you have to build the trust. But

Daniel Feldroy 37:10
yeah, you have to trust for us. We because we do not visit Django packages what usually too often. Basically, when via both or one of the other people who currently work on it asked us to get involved, that's when we get involved. But what I suggest if if you want to get into these projects, you know, it can start with triaging issues, or submitting pull requests. And then once once the people are currently working on these projects get to know you, and you can build that trust, then perhaps you can get core maintainer rights. It is not a quick process, and with popular projects, even if they started out relatively Simple or beginner friendly, Django packages started out pretty beginner friendly. It is old enough now that it is not beginner friendly. Like if you're just starting Django. There's enough weird things in Django packages that it's probably not the project for you need a solid grounding in in Django and Python to be able to contribute. So I hope that explains that question. I'm not coming across too sleepy or amped on coffee. No, you're

Will Vincent 38:33
well related to mature packages. I want to ask about both cookie cutter and then Django cookie cutter, or cookie cutter Django. Do I have that backwards? I'm dyslexic people like sleep.

Daniel Feldroy 38:44
People switch up one all the time. Okay, so cookie cutter. Audrey started that one. She wanted a she actually was working on static site generators and she wanted to be able to, she came up with one, but the boilerplate that was required to get it working was a bit much. So she decided to come up with a template manager for it. And that that prompted the creation of cookie cutter. And then for some reason she she got fixated on several things. One was, she only wanted she didn't want to have any classes in the project those any that exists in the code there were added, like defined classes were added after she pulled away to do other things. And then she also wanted it to work on every operating system. So that Windows users were first class users. And thanks to Paul Moore.

Will Vincent 39:51
Go ahead.

Carlton Gibson 39:52
I was gonna say that's very prescient, because now you know, when Python support on windows in the last few years, it's just, you know, blah Going on leaps and bounds. It's a great place to do both.

Daniel Feldroy 40:03
Yeah, we have stories of have that. So, thanks to Paul Moore is an awesome guy. He helped that out in the early days. It got to a point where cookie cutter worked on Windows Windows was a first class language. There's still pull requests for Linux specific or OSX specific features. And

those are projected just because we began

so and then I wrote a blog post about it. And she, you know, she was like, hey, Audrey, can you give me an image for a blog post? And then she threw together the current logo in 10 minutes, and she's like, this is a placeholder. And, of course,

Carlton Gibson 40:56
these horribly talented people

Will Vincent 40:59
I know Yeah,

Daniel Feldroy 41:00
it's so coming up on seven years later, it's still the same logo. So, yeah, so the the project has done really well. It's, you know, we know of all these companies who exist to use them some, you know, internally or if you are downloading their command line interface tool, a cookie, they're actually using cookie cutter. That's how they render out templates. That's pretty common. And the and they pay us the we actually make money off of it. And it's not enough to go to a fast food restaurant, every month. But all these companies who these billion dollar companies, they certainly do, do pay us and we're very happy that I think we're up to $12 now a month or so worth living. Is that good? Actually, I don't you don't have GitHub sponsors? We've been slowly working on that we're, yeah. We're not. It's funny people say, Oh, you're good at marketing yourself like, Yeah, but we're not good at getting paid from our marketing. So we kind of,

Will Vincent 42:19
we're kind of feel that,

Daniel Feldroy 42:21
or kind of cynical that we'll make any money from GitHub actions. We certainly haven't with Patreon or other open collective or other things that we've done in the past. Yeah, well, I just as an aside, we, we Django added GitHub sponsors the end of last year and obviously there's a tension using an intermediary versus doing it direct. But it's so far has been a good experience. So Oh, awesome. Well, we The thing is, is Audrey and I are not we know we only get involved in cookie cutter periodically and a lot of our open source packages just because honest truth is, when you go for so long without getting paid, it's hard to continue to work on stuff. So let other people take over maintainer ship who are getting paid by their jobs to maintain these packages. And that's, that's a really an economic decision and will GitHub actions might make it

Will Vincent 43:19
possible sponsors, right, because actions is the Oh, sorry, GitHub see answers. Yeah,

Daniel Feldroy 43:23
it might make it more possible now. We're involved in other things now.

Will Vincent 43:29
Yeah. It's always a priorities thing. Yeah.

Daniel Feldroy 43:33
Speaking of passing the baton baton on then we should quickly talk about crispy forms because you were one of the creators of crispy forms. The Creator Chris before Yeah, I am the creator of it. I was at NASA. We get I guess we're going back there. And we first space book, the, you know, this giant project that got killed at lunch. So we had at forms that needed to be made accessible to users with disabilities. It's it's a US law that we have to, you know, US federal government projects have to follow section 508, which is for accessibility for people vision or various vision disabilities, in this case for the web, I'm fixing at forums to work that way. Seemed like too much. So I created a Django template tag and I made it as an open source package. That was, you know, I threw that together, and then it grew organically from there. Eventually, you know, with the consulting work that I had, it was too much for me to maintain that by myself. So I got on another person to work on it. And at that point, the library that we're using Accessibility library was on maintained. It was like this HTML and CSS library called uniform. So we decided to change the name and call it crispy forms. Audrey suggested that she'd never I don't think she ever contributed that much to it, but she gave it the current name. And so that is and that eventually we decide to move it to its own organization. It just makes it easier for people to set up. Do you know continuous integration and other things like that if you're or to maintain those things? I'm not. I'm not being called in. So yeah, that's the story of Django crispy forms.

Carlton Gibson 45:39
Yeah, so what well, but I,

so I took that over like so. Oh, you're well, well, I'm, well, this is the great story of open sources, right. You began and Miguel was there for a long time. And then around the time of 1.8, it was it was falling over 1.8 was due to be released in crispy forms wasn't going to be compatible. So I was using it I'm like, Well, you know, I'll jump in and I, I took it over and kept it going. And you know, we added bootstrap for slowly with, you know, because I was doing it and, you know, it took a while for that to mature and that's quite mature now. And then recently I was I've been struggling to maintain it with the Django work and this framework in Django filter and, you know, working Yeah, work on channels as well. And crispy forms wasn't getting love. So I last year, I put out a sort of call for help. I said, Look, you know, if you're using crispy forms, we could do it two or three people turn, turn up and do it, and now it's brand new, maintain a new release, and there's going to be another template pack for tailwind, which is the no CSS page everyone raving about. And so crispy forms is as healthy as it's been in in years. And it's, you know, it's like this long continuous pass the baton thing and I imagine the people who have just stepped in, they'll run it free. I'm still there. I'm sort of offering advice when you can, but they're running it. They're releasing it. The recent release was the first one The I haven't pushed out in four years if someone else did, and it was done.

Daniel Feldroy 47:05
Yeah, it's got when that happens. It's like, yeah, someone else has picked up the doors like, but it's my baby. And it's like, so it's so good because it's

Carlton Gibson 47:15
like, yeah, the button moves on. And you know, and then as I say there's now Now a few contributors working on it.

Daniel Feldroy 47:21
So yeah, that's perfect. Yeah, that's, that's so wonderful.

Will Vincent 47:25
Yeah, that's a feel good open source story. Right? Yeah. two negatives.

Daniel Feldroy 47:30
This, I've tried to stay positive in this. No, that's

Carlton Gibson 47:35
the issue with open sources. One person can't give hours and hours of volunteer time. Just in case like without end, right. And it is without end. And so you do your you do your season and then you need to step back. And if you if you don't come with the expectation that you'll do a bit and then step back, that's when you get burnout and all the real big problems that you know, we've seen so many times in the community.

Daniel Feldroy 48:00
Yeah, I think Tom Christie has really

shown how to handle this because I think, you know, with Django rest framework, I know he's involved there, but he's, he has one, he's, I think he's getting continuous funding that supports him and his family. But also he's gone and built other stuff like starlet, so I really respect what he's done. And I've at times, I've thought maybe I'll copy that. You know, it's mostly I,

you know,

he started with a Django rest framework, which is a critical package so that that's certainly worked for him. Yeah.

Will Vincent 48:46
Yeah. Yeah. I yeah. I'm waiting for you to add something, Carlton. I mean, I mean,

Carlton Gibson 48:52
it's, it's the perennial problem, right? Even he

Will Vincent 48:56
has some struggles with that, but I think just as a developer Having that mix of a stable package that's widely used, and then he has his, I mean, he's rebuilding the whole Python stack async style and doing incredible stuff starlet and a whole bunch of other things. So just as a creator, right, he's not endlessly updating. Yeah, old Django books, right. Speaking of Yeah, I did want to add, I know we're going over on time, of course, I want to ask about cookie cutter Django and then your you had updates to two scoops and then Django Crash Course. So whatever order you want to tackle those, okay,

Daniel Feldroy 49:35
so I so I'll try and cover that quickly. Cookie Cutter Django or Django cookie cutter. There, you know, it is it's still out there still being maintained. It is. There's a day when it was all about bleeding Django now it's all about super stable Django. So the maintainers you know, they'll get around Supporting Jango three at some point, but they have to make sure every package that they are relying on works with Django three. And, and that's, that's a bit challenging. And periodically when they come to me and say, Hey, this is, you know, we're having trouble keeping this portion of it working and I'm like is is maintaining another version of Linux out of scope like try always try to reduce the scope. Because cookie cutter Django is so broad. And in fact, when we started to convert Django Crash Course to be a book rather than a course, we originally were going to do it in Django crash or sorry, in cookie cutter Django, but one that wasn't ready for Django three and two was so broad like the this since I've pulled a bit back in It's gotten really broad, which is hard on the maintainers. It's also hard on the users. So that is why Django Crash Course doesn't use cookie cutter Django, we just needed something with a narrow scope. These are the tools that we're using.

Will Vincent 51:14
Can I ask why you recommend Anaconda in the book? Because virginal environments are the bane of professional and beginner Python developers. But Anaconda is an interesting choice. I'd love to hear your reasoning on it. It's just support primarily the Windows users.

Daniel Feldroy 51:34
Not too long ago, I the computer that I'm talking on, was bricked for several weeks. And so I started to use Windows and trying to get binaries to work with virtual end was nightmarish. And I had a people say, Oh, just use Docker. It's like, but I don't want to use Docker for everything

Will Vincent 51:54
well, and Docker had a window specific bug recently that my users were reporting so even Docker on Windows, you know, it doesn't say

Daniel Feldroy 52:03
so by using conda and chocolaty. chocolaty is like the homebrew of homebrew of Windows. I know there's a competing package. But chocolaty for me was awesome. But conda also, let me get past all of the binary issues, I just stopped having to worry about it. And I know that conda has some things that experienced users don't like. And honestly, and I think we might mention in the book, if not, it's on our to do list. We mentioned if you want to use a different tool chain, go ahead. You know, for you, that portion of the book, you don't need to care about the use of conda is for, for example, data scientists who are already using conda. Because conda is so prevalent there because conda makes installing all of the data science packages trivial on Windows makes installing the tons of libraries are much easier to install on Windows using it and nothing against pepper poetry. There's these other tools, but they are not. Their focus is not making it easy for people to run binaries on Windows.

Carlton Gibson 53:23
Yeah, nice, like just open, lift up my visor a little bit and look out because I'm busy on Windows using PIP and VM, no problem. And then realize that there's this whole world of folks out there that aren't necessarily in the web Django world using conda. You know, it's very popular, and they're like, well, what's the VM? And do I have? Why do I need to

Will Vincent 53:43
use PI charm which handles virtual environments, or well, and even so mini conda. The if you want to use a Chromebook, I recommend that approach. Like I have a tutorial on that. Because Chromebooks are starting to give access to just straight Linux and you Using vs. a mini micro conda is the easiest way out. So install Python three.com site, which I ran. You can the Linux part recommends that, because that's a big thing is it Chromebooks are ubiquitous, but still, it's hack city to actually write code on them? Unfortunately, you can do it. But installing Python is non trivial. And but you can, yeah, it would be nice if there was a sub thousand dollar machine you could do code on.

Carlton Gibson 54:29
Yes. So the Raspberry Pi

Will Vincent 54:35
just uses wrapper and stuff instead. So that's how they get around it for students. Yes.

Daniel Feldroy 54:40
Yeah, I mean, especially as in the things students often don't have access to the funds that us professionals have. So they are working on whatever machines are hand me downs that they can get. And they're often working in really disadvantageous circumstances. So the use of conda is focus for them. Another problem with having Docker on a Windows machine and maybe this isn't so much the case now. Maybe it is. Is that for them? Docker is you know it uses up a lot of processes conda is just on a Mac to lightweight.

Will Vincent 55:18
Yeah, like someone just someone just bought a new MacBook and they're like yeah 16 gigs of RAM I'll never fill it in. I was like using Docker because that'll take up eight easy.

Daniel Feldroy 55:27
Yeah. Or they're, they just have slow bandwidth. And so whereas, and Docker using Docker is oh my you have to be on fast bandwidth.

Carlton Gibson 55:38
You actually putting these 500 mega Yeah, like containers? gigabyte containers all the time.

Will Vincent 55:43
Yeah, well, Python is Python standard library is 700 megabyte image. Last I checked, for example, um,

Daniel Feldroy 55:50
yeah, you install it once. So that's true. Yeah, I know, on Docker, you might install multiple times. So yeah, so that's, that's another reason why we decided not to go to Docker. Having worked with people in lots of different countries or just in the rural us, which, for the most part doesn't have broadband internet, you know?

Will Vincent 56:11
Yeah, no, I mean, my, my, my most recent book wreck uses Docker Jenga for professionals trying to avoid this problem of being specific to Mac, Windows, Linux, but it's, I mean, I may switch that out in an update. Because it is it's, you know, it's a beast. But it's still there's I still struggle to have the Oh, you're on this machine, boom, this is the way to get going. The reality is all the pros I know do it slightly differently, and we all kind of struggle through it once and go great. I'm not touching that for years. But that doesn't help. Right even me, like if I got a new computer and I was like, Oh, god, I'm gonna have to like install everything again. Like it took me like a week.

Daniel Feldroy 56:53
Yeah,

Will Vincent 56:54
because I wasn't gonna do it from scratch just to go through it and it's still it's just like, oh my god. So but it's it's hard to To tell a beginner, I don't know how you're gonna get through this, and you're gonna learn about path variables. But when you join us on the other side, you can just wave your hands about it.

Daniel Feldroy 57:08
Yeah.

So yeah, I mean, we've we've gotten heat from people who don't like conda for various reasons, I think it's mostly religious. It's not, they don't have a really solid reason. Or they don't like the fact that they might have to activate something, I mean, but again, that if you have a strong opinion about it, that's probably because you're, you already have your own preferences. And you can just skip that version and use your own environment preferences. And maybe if we have an admonition about it, we just need to reinforce it and say, if you want to use poetry, or PIP and virtual em, go, go right ahead and do it. Yeah. Yeah. So do you have any questions about the upcoming Yeah, at least up to skips? Yeah.

Carlton Gibson 58:00
Yeah, so that's the one thing we haven't really talked about. You're updating it right?

Daniel Feldroy 58:03
Yeah. So

there's some exciting stuff. We're finally adding a chapter on graph QL. Which is awesome. We prefer that over rest. So we're so excited by this.

Will Vincent 58:17
Oh, okay, that's gonna stir up conversations that community Oh, no. Good.

Daniel Feldroy 58:28
So yeah, we've got a graph qL chapter. We also we used to have a chapter called consuming rest API's. And we're converting that to be really about Java JavaScript from the Django perspective, which is, yeah, trying to reinforce that if you're doing Django, you should really get up to speed with modern JavaScript. Especially because even it's not just the front end. It's also compiling it Let's, I'm gonna here I'm gonna set off a firestorm. There is no better static asset manager for compressing stuff then what you get from the Node JS community. Sorry, Django compressor. I know that you are

Will Vincent 59:17
Carlton don't take that personally. No, say,

Carlton Gibson 59:21
Yeah, well, I know what's um, what's the thing with compressors, you shout out to, you know, Webpack or whatever or post CSS. So compressor is actually a wrapper around it. And I've been using it for years, and I do and so I've gone I've used react in it. I've use Webpack. I'm using post CSS. Currently, I'm using you know, never had to change the Django bit. My impressive script, change the MIME type. It's awesome. So but it's exactly that is it defers to Okay, whatever other tool you so

Daniel Feldroy 59:54
clearly it's been a long time since I've looked at some of this source code. Cuz I remember back in the day we had tools that that, you know, were Python was doing the minification

Carlton Gibson 1:00:06
Oh, yeah, yeah, there are Python libraries available for things like CSS meaning jet. But why would you use those like,

Daniel Feldroy 1:00:13
yeah, I guess I'm not setting off a firestorm except for my ignorance. But the the the point is, though, is that people often equate the front end with CSS and styling and design and nothing and those things are great, even though I suck at them. But really, it is, you know, having even a basic understanding of modern JavaScript is it's so important and so useful it you know, for debugging stuff, not everything. You know, I certainly am tempted to do which is to hide behind the Django and the Python and the back end stuff but you know, that this is one of the shortcomings I see, especially with a lot of senior Django people that I interact with from time to time. They're like, Oh, I don't I don't touch the front end.

Will Vincent 1:01:08
Yeah, I mean, yeah.

Daniel Feldroy 1:01:11
You don't need to. Yeah, yeah. And but what's funny is these are the same people who tell you well, you have to understand deployment backwards and forwards because otherwise how do you debug or analyze issues? That they will they you know, these people invariably tell you that and it's like, Look, I'm not asking you to become full stack. I can understand the reluctance side. I don't like the term full stack so much, but at least under you know, at least get Cognizant it because it'll help you debug stuff. I mean, no disagreements here.

Will Vincent 1:01:41
Yeah, yeah, no, totally sorry. Is it gonna be so the previous versions 1.5 1.6 1.8 I believe so. 11 All right. One point I mean, I have all them or is this going to be 331 or three zero, what's the cuz you've, you have talked about sticking to it. The SS in the past,

Daniel Feldroy 1:02:01
right so we are calling this a three dot x it is covering the entire three series. What that means is we will not print it until three dot two is on the horizon. And that way the links inside the book will go to three dots, which is long term support. And it also gives us more time to polish it because as as William knows, once you send a book off and then people get a print version, you can't update a print book.

Will Vincent 1:02:38
Yeah, I'd like to I mean, I've obviously with with interest seeing how you've handled crash course where you've had the with all the different alphas and there's there's something to that because it is yeah, there's just so many little things that crop up and, and yet people still I mean, so for me, like partly, I think if I just had everything online, you know, I wouldn't have to deal with this stuff. But a lot of people still do want a physical print book, even, even for framework stuff.

Daniel Feldroy 1:03:06
Absolutely. And I love print books. So yeah, the point of three dot x is so that way, we don't have to wait until Django three dot two is around the corner to get the book out there for people, which means that so one of the things that I've seen in a lot of forums and places as people starting to adopt, either asking questions that are answered in our books a lot, are in two scoops of Django a lot, or they're starting to embrace anti patterns because they just don't know. You know, it. It's one thing to use an anti pattern if you understand the potential issues with it, but if you're recommending it, without any caveats, that's dangerous. This is where you get into failed projects. Like you know, the Django world is a lot different Different now, in 2019 2020, I guess are in 2020 now than it was in 2012. There's the tribal, you know, we, you know, to pat up our backs, we started to capture the tribal knowledge that is out there for Jang and we wrote it down and, and some of its gotten into core and then people have re blogged what they've read in our books. But because it's been long enough with two scoops of Django, one dot 11, haven't come out in 2017. And also, because of Django versioning issues that I know we'll

Will Vincent 1:04:35
have talked about.

Daniel Feldroy 1:04:37
As soon as you come out with something for LTS, you know, you jump a hole version number for the next Jenga release. So people will tend to ignore resources. So part of the reason why we've released this for the entire three spread, is to fight

Will Vincent 1:04:54
the lack of knowledge. Does that make any sense or my that makes sense? I think I mean, I don't I mean, I've, I've come to try to view the situation of Django, where it keeps moving forward. As a content creator, that's hard to keep up, it does winnow the field, because very few people will update their books. And if you're not going to update it at least annually, it's kind of no point other than maybe. I mean, it's a harder thing. So I try to view it as like it's a forced, you know, reconsideration on a monthly level of the content. But yeah, so I think Yeah, having the three three dot x and and then waiting till 3.2 to go to print. So then you have the what I guess two, three years until 4.2 would come out something like that. I know the schedules online.

Daniel Feldroy 1:05:46
That makes sense. Basically, our determination as to when we go to print is when Django three dot two gets documentation links for us.

Will Vincent 1:05:57
Oh, so before it comes out, but when the links are

Daniel Feldroy 1:06:00
Yeah, that is that is our plan. So since the alpha period, so that'll be the,

Carlton Gibson 1:06:05
you know, three months before we release it, do the feature freeze release the alpha. That's, that's when you'll get links to that version.

Daniel Feldroy 1:06:14
Yeah, that's when we get it when Django is in alpha at that point to escape the Django three that XRP really solid. And we should have a better understanding of how asynchronous views are going to be used within the community, which I'm very excited by. And so we can really write to that. I mean, yeah, cuz

Carlton Gibson 1:06:34
like, the async views. Nobody knows anything about right now, you know, we're gonna see how they're using, you know, what the patterns what the good patterns are, what, you know, all of these kind of things.

Will Vincent 1:06:44
So it's been an hour I didn't get a chance to ask you about your fiction writing and all that but are there any Is there any last things you want to mention to listeners about about your work?

Daniel Feldroy 1:06:55
Let me think what what about us about my work Um, so yeah. We are the FL bro, we're coming out with not just books, but products. And one of the things that we're working on is a tool to write books. So if you want to write fiction or, or technical books, you'll be able to use the platform. And we hope to have that out and ready in the next few months. And you'll be able to either work through our interface or use Google Docs or connect a get repo. We're going to try to do both GitHub and get lab. So that is that is another thing that we're working on. And while the front end that people will interact with may not have any Django I assure you, the internal tooling has Django that just to track jobs. As you're doing the build book building process. We needed. Something and Django Django admin tool was It was such a, you know, when out of the box that we're going with it. That's exciting. Yeah, there's I mean, there's open source tools that are could take quite a bit of wiring. And then I use lean pub, which I believe is the only kind of popular SAS ish tool for that. But it would be great to have another option. Yeah. And we've used lean pub in the past, and we think that they're awesome. But our focus, you know, they do, they're both a publisher and a book, render, and they even provide their markup language. We're gonna focus entirely on the book generation. So first, I believe you could use our system maybe to publish on lean pub. If that doesn't work, then you can certainly use our system to create stuff to be sold on Send owl or gumroad or Amazon where you know, all these different platforms for selling sounds really exciting. So I'm trying to think if there's anything else on they say, Oh, yes. I'll give you people who say what, you know. People ask me two questions. One is, you know, what's, how do I become a writer, like a professional author? And two is how do I get better at code? And I'll give my two quick answers there to become a writer, you just have to write. And writing a blog post is infinitely easier than writing a book. But I wouldn't wish book writing on my enemies. Not that I have any. But if I did, I wouldn't want to rush book writing. But on the other hand, it is such a fulfilling process when it gets out the door. That makes all the agony worthwhile. And then to become a better coder. You. You just have to code you just have to practice. If you're not practicing, you're just watching tutorials.

Will Vincent 1:09:52
So I think that's exactly right. And I because I came from the book world before the coding world, the challenge I find with people coding is that if you want to be a great writer, you need to write, but you also need to learn how to read and read good stuff. And with code, it can be harder to do that, because you have to work a bit harder to find good code bases, a lot of times, they're more advanced. So having a linear progression, I found I still find is more challenging than was, you know, fiction or nonfiction, where it's just there for you. It takes a bit more work to find, you know, intermediate level, still best practices code that you can learn from.

Daniel Feldroy 1:10:30
Yeah, it's, it can be hard to find good intermediate code. I agree with you there.

Will Vincent 1:10:35
Yeah. Well, thank you so much for coming on. We're gonna have links to everything in the show notes. And I'm currently reading Crash Course. It's great. I'm looking forward to obviously the two scoops. I know everyone who listens to this as well. Thank you so much for coming on. We have links to everything in the show notes. What's the best way if people want to get in touch with you or Audrey about your work? Do you have a preferred method?

Daniel Feldroy 1:10:58
Uh, sure. I mean, I tend to be more responsive via social media on Twitter is a good way to get a hold of me. If you really have to, you can use Facebook or LinkedIn email. I get so much email, I will probably there's a good chance I will miss it. So yeah, I just get a lot of requests and stuff like that. Sorry, everyone. So those are best ways. Audrey is a lot less responsive than I am so often. People who know us well know that often the best way to get a hold of her is to get a hold of me. And it's not like I'm gatekeeping really I'm not it's just that she just likes to be she's a very focused person and just doesn't respond to things.

Will Vincent 1:11:49
Yeah, she's wise I aspire to that. Well, thank you everyone for listening. Where as ever at chat chango on Twitter, Jango, chat, calm, and we'll see you all next week. Bye bye. Join us next time bye bye

Transcribed by https://otter.ai