Learn Python with Talk Python's 270 hours of courses

#293: Learning how to learn as a developer Transcript

Recorded on Monday, Oct 19, 2020.

00:00 As software developers, we live in a world of uncertainty and flux.

00:03 Do you need to build a new web app?

00:05 Well, maybe using Django makes some sense since you've been doing that for a long time.

00:09 There is Flask, but it's more mix and match being a micro framework.

00:12 But you've also heard that async and await are game changers, and FastAPI might be the right choice there.

00:18 Whatever it is you're building, there's constant pressure to stay on top of a moving target.

00:22 Learning is not something you do in school and then get a job as a developer.

00:26 No, it's a constant and critical part of your career.

00:29 That's why we all need to be good, very good at it.

00:32 Matt Harrison is back on Talk Python.

00:34 Talk to us about some tips, tricks, and even science about learning as software developers.

00:39 This is Talk Python to Me, episode 293, recorded October 19th, 2020.

00:57 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities.

01:03 This is your host, Michael Kennedy.

01:05 Follow me on Twitter where I'm @mkennedy.

01:07 And keep up with the show and listen to past episodes at talkpython.fm.

01:11 And follow the show on Twitter via at Talk Python.

01:15 This episode is sponsored by Brilliant.org and Linode.

01:18 Please check out what they're offering during their segments.

01:20 It really helps support the show.

01:22 Matt, welcome back to Talk Python to Me.

01:24 Thanks.

01:25 Thanks for having me on.

01:25 It's always great to have you on.

01:27 It's fun.

01:28 We're doing a lot of things together.

01:29 We were in the Humble Bundle together and done the book together and various things.

01:33 So nice to have you on the show as a return guest as well.

01:36 You were on before talking about Pythonic career advice.

01:40 Yeah.

01:41 It seems like not that long ago, right?

01:44 That's episode 111.

01:45 But that was May 2017.

01:47 I mean, that might as well be 100 years, right?

01:50 That was when people would go outside.

01:51 They would be around each other.

01:52 All that crazy stuff.

01:54 Yeah, that's a whole different decade.

01:56 And everything's changed since then.

01:58 It has.

02:00 But learning and basically the fact that software development means you're constantly learning.

02:07 I think that's only more true.

02:08 Yeah.

02:09 Yeah.

02:10 And I think people, especially for career development, I think people are in today's

02:17 society, you've got to do something to sort of level yourself up and stand apart from everyone

02:22 else if you want to sort of stick out.

02:24 Yeah.

02:25 I think there's these different layers in the software development career stack, right?

02:30 It's easy to kind of get stuck doing the same thing, not really progressing.

02:35 And the way that technology is moving is if you're not constantly sort of taking even

02:39 just little steps to keep your skills fresh, to learn the new things, it's almost like you're

02:44 falling behind.

02:45 Yeah.

02:45 Yeah.

02:46 I mean, even, I mean, the joke among JavaScript is like if you're using something that's six

02:51 months old, you're stale.

02:52 But I think there's a lot of that even going on in the Python world.

02:56 There's a lot of changes coming up in the Python world.

02:58 But even like web frameworks, right?

03:00 You have like FastAPI.

03:01 Yeah.

03:02 And a lot of development that previously was done with tools like Django and Flask are not

03:09 being done with those tools.

03:10 It's kind of stepwise, right?

03:11 It's like a discrete function.

03:12 It's not as continuous, I guess, and not linear anyway.

03:16 You kind of go along.

03:18 Okay.

03:18 Doing Django, doing Django.

03:20 Wait a minute.

03:21 Like Python 3 is now fully embraced.

03:23 And now you're doing this other funky API thing.

03:26 And you've kind of got to go in these steps.

03:28 So I don't know that it's necessarily constant learning.

03:30 But viewed from a zoomed out perspective, it looks like that.

03:34 The skill of being able to take something and understand it quickly and adapt it or at least

03:42 see where it fits into your problem domain is a very useful skill to have.

03:48 Absolutely.

03:48 Absolutely.

03:49 And you're right.

03:50 Everything is changing pretty rapidly in Python right now.

03:53 And I think that's one of these step functions, right?

03:56 The last year or two, people really have fully embraced the fact like, okay, we actually are

04:01 past Python 2, right?

04:02 We were supposed to have the big goodbye Python 2.

04:04 Thanks.

04:05 And see you later at PyCon this year.

04:07 And right.

04:08 It's officially deprecated and unsupported.

04:10 And it's a big deal.

04:11 Yeah.

04:12 And I'm even seeing stuff where it's like Python 3.6 is not supported anymore on some of these

04:18 platforms and on some of the tools.

04:19 Yes.

04:20 Yeah.

04:21 I've seen 3.7 and plus required, which is that's pretty insane.

04:24 And it's only going to get faster because recently they switched from an 18 month release

04:28 cycle to a 12 month release cycle.

04:30 So that's a 50% increase in, you know, frequency of those types of things.

04:35 Yeah.

04:35 Yeah, absolutely.

04:36 Now, before we move on, for new guests, I asked them how they got into programming.

04:40 But for return guests, I usually ask them, you know, what have you been up to lately?

04:44 What are you doing these days?

04:45 Yeah.

04:45 So I run a company called Medicine Inc.

04:47 That does corporate training and consulting.

04:49 And I've spent a lot of time recently doing a bunch of virtual training.

04:55 And sort of similar to you, I mean, my content traditionally has been going into large companies

05:01 and helping their developers level up.

05:04 And I've repeatedly got requests for sort of one-off individuals.

05:09 And so I'm building up a library of courses and been working on stuff that I can satisfy

05:17 the desires of the one-off person rather than, you know, here's a group of 20, 50, 100, 200

05:22 people who need to level up.

05:24 Yeah, that's really cool.

05:25 And we've lived similar lives in a lot of different ways.

05:28 We'll talk about those, I think, through this whole show.

05:30 The corporate training side is really interesting.

05:33 It's, I actually, folks who don't know, I did that for like 10 years, traveled around

05:38 all over the world teaching classes.

05:40 And it was really fun.

05:41 I really enjoyed those experiences.

05:43 And I think those actually reflect a lot on this topic that we're going to talk about here.

05:49 You know, learning how to learn for developers is you're dropped into these different situations

05:54 with different teams.

05:55 One week, it might be, I'm working with stockbrokers in New Jersey.

06:00 The next week, I'm working with a startup in Silicon Valley or Sydney or something.

06:05 And just, you've got to quickly turn around what's relevant and what you kind of know to

06:11 teach them in context.

06:13 Yeah.

06:13 And when the whole COVID stuff came out, my, previous to that, like my year was like scheduled

06:21 out, like traveling here and there, going to Dubai, traveling all over the US.

06:25 And then everything sort of hit a wall.

06:28 And I wanted to double down on that.

06:31 I'm like, okay, for the next year or so, I don't think I'm going to be doing much traveling

06:36 and teaching from that point of view.

06:38 And so I wanted to double down on the virtual training, but not only from like equipment,

06:44 like investing in computer and webcam and mic, but also investing in understanding how people

06:54 learn and what can maximize sort of the throughput of the teaching and help people be able to grasp

07:05 it, but apply it and make sure that it's effective learning, not just taking reading slides per se.

07:13 Yeah. I mean, that's at the heart of all the various things you mentioned, right?

07:17 The in-person corporate training, the virtual Zoom style training, the individual courses,

07:23 the online async courses like we have at Talk Python and that you've gotten your own library.

07:28 You also, it's also worth mentioning that you have a course over at Talk Python training

07:31 that is nice as well about Python 3 and some of the cool features there as well.

07:37 Yeah. Yeah. And I think there's a, I think you'd appreciate this too. I mean,

07:43 you've obviously lived it, but there's something to be said for live in person,

07:49 like just being able to like sit a group down and move them through something.

07:55 And from my experience, it's hard to beat that sort of live face-to-face there in front of you and you

08:01 can see what's going on. And this whole virtual having people might have a camera, they might not

08:08 have bandwidth to have the camera on. It really causes you to change how you teach or, you know,

08:15 wonder, am I just talking to myself in this room here? Right. Or...

08:20 Absolutely.

08:20 What's going on?

08:21 Well, there's a weird, I think there's a weird psychology around learning. And I think

08:26 the virtual stuff is a little bit, I think it's the most tricky, I guess. On one hand,

08:31 you have these cool events where you get together, everybody on the team is in one place and you

08:36 commit to spending like four days together, eight hours a day, and everyone's paying attention.

08:41 They're working together. They're working the exercises during the breaks, sort of next to each

08:46 other alongside each other. And there's a certain kind of focus and energy on that. And I think with

08:52 the online courses, people can decide like, I'm going to go and focus on this online course. I'm

08:57 going to spend an hour a day for a week and a half. I'm going to have this new skill. And they can do

09:02 that pretty well as well. But the virtual stuff, I feel like a lot of people don't, even necessarily

09:07 the attendees, but their coworkers and stuff, don't give it the same separation. They're like, well,

09:13 he's just in this online class, but hey, just send him a quick message and just distract them this way

09:16 or distract her in that way. Or, you know, it's like, ah, it's really hard to get people to focus.

09:22 And some of the things that we're going to talk about are all about those types of things, right?

09:25 Yeah. Yeah. There, I think with work from home, seeing being the standard operating procedure these

09:33 days and constant being on Slack 24 seven, people aren't used to a lot of these things. And

09:41 there's constant interruptions and focus. And so it can be a challenge learning. I think

09:48 your point of, for the individual sort of setting aside a goal to learn, they can do that, but getting

09:55 a group together and having them move at a constant pace or somewhat constant pace towards a goal when

10:03 they've got different distractions and things impacting them, it can be a challenge.

10:08 Yeah, absolutely.

10:09 All right. Well, let's talk about learning. And I guess it's probably worth mentioning this stuff

10:14 all applies to developers, but much of your presentation. And have we mentioned that this

10:19 is a course, I know you talked about focusing on it, but the reason I reached out to you is that

10:23 you announced that you created a course specifically on learning and around like mostly technical type

10:31 stuff. I imagine it's what you had in mind when you were bringing up the points you were talking

10:35 about, but yeah, tell people real quickly about the course and we'll talk about some of the takeaways.

10:38 Sure. Yeah. So like I said, when the whole COVID stuff came up, I doubled down on learning. And as I

10:47 mentioned previously, I've been making my own courses. And so I thought, why not just do a meta course

10:52 on learning that is applicable to almost everyone? I think it's applicable to everyone. And talk about

11:00 some of how your brain works, what's actually going on there, and then some tricks and tips

11:06 to maximize your learning and some skills to be able to, I guess you could say trick yourself, but

11:14 enable yourself to be more creative, work harder and be a better learner.

11:20 Yeah. It's cool. It's a neat topic. And I wouldn't necessarily use the word trick,

11:23 although I know exactly what you mean. I think it's more like understand the way that learning

11:28 works for people, understand the way the brain works and then go with the grain instead of

11:32 do something that's counter to the natural way it might work.

11:35 Yeah. Yeah. I guess hack is more the proper term that people would use these days.

11:39 Yeah, I guess so. All right. So let's start at the storage layer.

11:43 Okay.

11:44 Yeah. Memory.

11:44 Yeah. Yeah. And I think the whole story revolves around your brain and how your brain works,

11:51 right? And so there's, I think there's two main things to look at from your brain. And one is

11:58 your short-term memory and then your long-term memory. And your short-term there's, I'm sure many

12:06 of the listeners have heard, a fellow named Miller in the 50s released a paper called five plus or minus

12:11 two is the magic number. And so most people can't keep track of more than five plus or minus two.

12:19 So between three and seven things at a time. And you sort of see this play out at least in like two

12:25 factor authentication, right? And many apps are factor authentication. And they ask you, they're like,

12:30 we were going to send you a text and we're going to give you six digits, right? And I don't have any

12:35 problem remembering six digits for the amount of time that takes me to look at my phone or the text

12:41 message and then come back to the app and enter those six digits. Like I can do that just fine.

12:46 But if they asked you to say 12 digits or 14 digits, it's sort of game over, right? It's like,

12:53 okay, I can't really do that. And so being able to recognize that our brains can only hold a limited

13:01 amount in it at a time. This is like your working memory or your RAM makes you realize a few things.

13:08 I think one of those things is that multitasking, anything that you're trying to multitask is going

13:15 to take away from the ability of your brain to work on one task deeply because it's got to reserve some

13:23 of its capabilities to hold.

13:25 Right. You've only got so many slots, like low level slots to put stuff into. And if a few of them

13:32 are full of other stuff. Yeah. I like your analogy about the two factor auth. But as you were talking

13:38 over, I was thinking, I never remember the six numbers. I have no problem with two factor auth.

13:42 I remember two sets of three numbers and I don't know why that is. But anyway, I'm like, okay,

13:48 these three and these three. And then I just remember them really well. I don't know why it's so bizarre.

13:51 That's interesting. And that might go into this notion of chunking. So the idea there is that,

13:58 again, if you only have so much capacity and maybe you're five plus or minus three, Michael.

14:03 Yeah. Well, and I mean, I don't mean like I have to go back and look again. Like I remember them as

14:08 two, three digit numbers. I don't remember it as a single six. So it's just bizarre.

14:14 No, but this does relate to that idea of chunking. The idea there is if you're overloading your brain

14:18 with so much stuff coming in, one thing that you can do is try and combine things together,

14:25 right? So instead of six individual numbers, you're basically remembering 200 digit numbers,

14:31 like 207 and 365. Yeah. Right. And so exactly. That is a trick or a hack or a technique that you can use

14:40 to work more information into your brain. And then if you sort of build from a low level up,

14:48 you attack one little idea at a time and then you tie it into another idea. Those two ideas can become

14:56 a single chunk. And so your brain isn't worried about two ideas at that point. It's only worried

15:02 about one idea. And so this allows you as you master a subject to be able to take a very complex subject,

15:10 but treat it as a single chunk in your mind that in your mind has all these connections with that.

15:15 And then maybe apply that mastery to something else or take that experience and sort of unwrap it onto

15:23 something else into perhaps something very novel. Yeah.

15:26 And I think this is really, really important for developers who have a lot of experience and can

15:34 take, here's my old experience. I might not be using the same toolkits. I might not be using the same

15:40 technology now, but hopefully I can apply what I've learned to this new domain or new problem set.

15:47 You know what comes to mind? I know we're talking about low level short-term memory,

15:50 so it's not exactly the same thing, but this idea of chunking and knowledge. One of the things that

15:56 comes to mind really clearly for me here is design patterns in the sort of loose sense, right? Like

16:02 if you study like software patterns and stuff, you can, instead of thinking of all the details

16:08 of what that pattern might do, it's positives, it's negatives. You can just think of it as the one

16:14 little block that you have to put in your mind, right? Like a singleton, you could say,

16:18 well, I'm thinking of that. We use this idea. We have one variable, but there's only one and it's

16:22 shared everywhere and that'll make it a little harder for testing, but it'll also make it easier

16:26 for other parts to act like that's complicated, but singleton got it. Yeah. What's next?

16:31 If you have a common vernacular and a common description of these things, you know,

16:37 this is the visitor pattern or the singleton pattern, right? And again, it takes some learning to sort

16:43 of break that apart. But once you've digested that, yeah, then you have a single concept,

16:47 the singleton, right? That you can just talk about and it makes it very easy.

16:52 And then if you're trying to solve a problem, it is one, it takes up a smaller bit of your

16:57 short-term memory to, I would imagine like that's a piece of the puzzle that you can just hold in your

17:01 head.

17:01 Yeah, exactly. Yeah. Very good example.

17:03 This portion of Talk Python to Me is brought to you by Brilliant.org. Brilliant has digestible

17:10 courses in topics from the basics of scientific thinking all the way up to high-end science like

17:15 quantum computing. And while quantum computing may sound complicated, Brilliant makes complex learning

17:20 uncomplicated and fun. It's super easy to get started and they've got so many science and math

17:25 courses to choose from. I recently used Brilliant to get into rocket science for an upcoming episode

17:30 and it was a blast. The interactive courses are presented in a clean and accessible way and you

17:35 could go from knowing nothing about a topic to having a deep understanding. Put your spare time

17:40 to good use and hugely improve your critical thinking skills. Go to talkpython.fm/brilliant and sign

17:46 up for free. The first 200 people that use that link get 20% off the premium subscription. That's

17:52 talkpython.fm/brilliant or just click the link in the show notes.

17:56 Okay, so that's like the L2 cache or something. What about the disk?

18:02 Yeah, so then we have the long-term memory and there are a couple different facets of that that

18:07 I think are relevant to our audience. One is the capacity. How much information can you hold?

18:13 Another is actually accessing it. So, and this is very similar to like your disk drive or whatnot,

18:20 but the part that may be not so familiar or similar to the disk drive is the fact that this

18:25 long-term memory is mutable, which is a little bit different. And again, scientists aren't 100%

18:32 clear on this, but they know that there's basically a network of information that's stored in your brain.

18:38 And what the science is telling us is that the more you access something, the stronger that memory

18:45 becomes, but also the memory can change. And there are various examples of memories changing over time.

18:52 So that's pretty unnerving to be honest, right? I mean, I'm not debating whether it's true, but

18:58 you feel like your memories are, they're fact, right?

19:01 Yeah. Yeah. You think that, but every time like you share a memory, you're going to recall some part of

19:07 it. You might embellish a little bit more of it. And as you keep sharing that, like the embellished

19:13 part becomes more real to you. And at some point it is the memory. Yeah. Some interesting things like

19:20 the capacity of memory of our brains is actually pretty big. I think one report I read said that we

19:27 can store 3 million TV shows in our brain. Right. And so that seems very, very large. Right. But I mean,

19:35 so it seems like there's more than enough capacity. So what's going on there? Why can't I always recall

19:41 these other aspects? Why can't I recall all 3 million shows? Right. I mean, I've, I've already

19:46 watched the office once. Why do I have to watch it again? Yeah. And the issue there is another aspect

19:51 of our brain in that we forget things. So we have the capacity, but there's this retrieval mechanism

19:56 and that allows us to access things, but it also prevents us from accessing things. Or if we have

20:02 these memories stored in that, it sort of weakens the connections there such that we don't remember

20:07 it. And that's actually a good thing in that if you had to keep all of these two factor numbers that

20:14 you've ever entered into your apps in your brain, and they're always, you know, 568, 2027, right?

20:22 That would be a little bit crazy. And so the notion that we can forget things is actually

20:27 a good thing. Yeah. Or even if you somehow had to remember the equivalent of every frame of what

20:33 your eyes have seen as you sample the world, that would be insane, right? Yeah. Yeah.

20:38 What would you even do with it? It would almost all look the same and so on. And it might drive you

20:44 crazy if you had your mind completely equally full of all of these ideas all at the same time,

20:49 you just couldn't focus on anything. Yeah. And there's a physiological aspect to that as well,

20:54 is that your brain uses energy, right? To do its work for the brain. And so the evolutionary response

21:01 is for your brain to be lazy and to not consume that amount of energy. And so rather than constantly

21:09 thinking about things and having things at the forefront of your mind, it's going to be a little

21:13 bit more relaxed and not bring those to you. So forgetting is actually good. And that brings us

21:20 to something that probably a lot of your listeners are aware of, which is that memory decay curve. So

21:25 generally what happens is that after you learn something, you remember it for the first day or so.

21:33 And then after the first day or so, if you haven't done anything with it, it sort of just

21:37 kind of goes away very quickly. So there's a quick drop off and then it sort of slides into sort of

21:43 levels out. But this is good for two factor stuff. It's not so good for our tests that we're going to

21:48 have in a month or so. If we learned the information today and then it just goes away.

21:53 Yeah, absolutely. So what are some of the things we can do to help improve long-term memory or even

21:58 short-term memory? So short-term, like we mentioned, the ability to chunk ideas together

22:03 into coherent, bigger chunks is good. So that gives us the common vernacular. Like you said,

22:08 a great example of that is design patterns. Long-term memory, like there are various tricks that you'll

22:16 hear of. And one of those is the memory palace, right? And so if I want to, what would be an example?

22:23 An example might be like, I wanted to remember your name, Michael, right? And if I'm at

22:27 a conference or some, you know, for some reason I'm on a Zoom and your name's not there and I want to

22:33 remember your name, then I can use something like a memory palace. And it turns out that different parts

22:38 of our brain are, remember different aspects. And so you might've had an experience where you heard a

22:44 song and the song brought back a bunch of memories, right? Put you in a place where, oh yeah,

22:50 remember when I did that? And it was all connected to the song.

22:53 Yeah. You can feel the sun. You can see whatever you was there. Yeah. It's incredible how that works.

22:58 Yeah. And so your brain stores like verbal information in one place. It stores visuals and

23:03 sounds and smells. Even smells can bring back ideas. And so one thing that you can do is you can,

23:10 again, this is sort of a hack, but this is memory idea of a memory palace and that your brain

23:16 is very good at remembering visual things, maybe not so much verbal things. Like maybe it's hard to

23:22 remember Michael. So how do I remember Michael? And so an example of using this memory palace is

23:28 saying, okay, let's say I'm going to think of my room or my house, and I'm going to sort of put

23:35 things that I want to remember in my house. So I want to remember Michael. Michael starts with M.

23:42 And so I'm going to think of Michael in the master bedroom. And then what else could be in the master

23:48 bedroom? Well, maybe what reminds me of Michael? Well, I'm a child of the eighties. So Knight Rider

23:54 reminds me of Michael. So maybe I remember the black car, right? With the red swoosh going back and

24:00 forth. And maybe I like embellish it a lot. Right. So I think of like rubber burning out or something,

24:05 or like making the sounds that Kit made. And I try and tile this. And then I like put you in the car,

24:12 right? And I say, here's Michael. He's driving Kit in the master bedroom. And so now instead of,

24:18 I think, what was his name? I think of, oh, we're in the master bedroom. He's driving the car.

24:23 It's Kit. It's Michael. Yeah, Michael. Yeah. And this is actually the technique that like the master,

24:29 there's competitions where people memorize a deck of cards in some amount of time. And so if you want

24:34 to have better retrieval, this is one way to do that is this memory palace.

24:40 Well, I think that's super interesting. I love that example as well. That was cool.

24:43 I think sort of highlight something for me that at least personally has been really important is if I

24:50 can connect a story with information, it's so much more powerful and memorable. Yeah. Right. And even

24:56 like the podcast itself, it's sort of like my desire to have that exist. Yeah. For the Python world,

25:02 right? It's like, it's not just that I want to learn the API of FastAPI or I want to learn how

25:07 requests works. No, I want to hear how Kenneth writes, create requests and why did he do it? And what was

25:13 his motivation? And what is he like seeing it like just the stories around that just make it stick.

25:19 Yeah. Or why does Sebastian do this and not that for FastAPI? And then it's those stories just make

25:26 remembering things, especially technical things, just so much more real to me. Yeah. Even math and

25:31 chemistry and so on. And you've probably experienced that a lot going to conferences or whatnot, where

25:35 people would come up to you and like, they feel like you, they know you were like, oh, I remember that

25:39 story that you told such and such. Yeah. It just, there's something about a story and our brains being

25:46 able to capture all of this associations with that rather than just information. And so this goes both ways.

25:55 goes into that idea of the memory palace. Right. I think it's an external memory palace. You're not

25:59 constructing it, but it's kind of there. It's made for you. It's made for you in the story. Yeah. Yeah.

26:04 Yeah. And so that's sort of the introduction to the brain that we've got short-term memory. We've got

26:09 long-term memory. Our brain forgets things as we bring things back. We enhance those. And you can do

26:16 things like if I'm in a different location, if I'm studying in a different location than I learned,

26:21 my brain is going to now associate this new location with the information and that strengthens

26:27 the information as well. So very, very interesting.

26:30 Do you try to go when you're learning, especially when you're learning something or you're researching

26:34 or working on something, do you try to work in different locations, you know, sans COVID, right?

26:38 Like forget that you can't go anywhere, but imagine like for me, I go to coffee shops and libraries

26:45 and parks and just to try to mix up the environment a little bit.

26:49 Yeah. And so I've seen both takes on this. One is having a dedicated environment. That's like

26:55 no distractions. When I'm in this environment, that's my work environment. But also the research

27:02 tells us that if you can mix up the environment, the mixing up is actually good because those different

27:10 environmental factors, it strengthen the memory or the idea in your brain.

27:16 Yeah. Let's talk about distractions for a little bit. Okay.

27:18 It's probably a good idea to have like Instagram, Twitter, Facebook, all those things, like every

27:24 website I've visited popping up notifications all the time. Yeah.

27:27 Outlook is really good as well to have a pop-up for every email.

27:30 Yeah. I mean, one thing that is not good for work and a lot of what we do or a lot of knowledge work

27:39 is pretty intensive. And I think a lot of people are drawn to software because it requires them to be

27:46 creative and be able to create things sort of on their own. I mean, I think that's one of the things

27:51 that drew me initially is that you're basically given like, here's a whiteboard, you can do whatever

27:56 you want with it, right? The idea of creativity, but constantly being pinged with Slack or notifications

28:04 or social media, these things, I mean, these are engineered and they're engineered knowing how we

28:10 work to interrupt us and to get us addicted to them. Right. But that constant interruption is actually

28:16 very detrimental to our learning.

28:19 Yeah. I think a lot of deep technical work, not just programming, but especially programming is we have

28:26 to construct the thing that we're trying to invent. We're trying to create the software or algorithm or whatever.

28:32 We've got to build it in our mind and hold it in our mind and then like get it out into software or into

28:41 some kind of theory or something. And so it's only for a while existing in the mind. And if it gets shaken

28:48 out of your conscious for a moment, right, you've got to put it back in. And if it doesn't, if you forget some of it

28:54 or it kind of falls apart, theoretically, it's bad.

28:57 Yeah. The idea that people can multitask is sort of a lie. And anyone who's claiming that, I don't know what

29:05 they're trying to sell you, but they're just, people just aren't as productive when they're trying to

29:09 multitask.

29:10 Yeah. I mean, I guess it depends on what you're, if you're multitasking, making flipping hamburgers and

29:16 making the fries, like probably you can do that just fine. Right. But if you're trying to multitask,

29:20 optimizing an algorithm with like chatting on Twitter is probably not the best.

29:26 Yeah. Yeah. I mean, on that, maybe we could talk a little bit about what I've have listed as sort of

29:33 the four parts of creativity or work and sort of jump into that topic a little bit.

29:38 Yeah, absolutely. Let's do, let me though, ask you, what do you do for your, just before we move on,

29:41 what do you do for your like notifications and like your phone? Is there anything that you do to make it

29:47 less of an interruption for you?

29:49 Yeah. So I basically turned off all notifications except for email on my phone. I probably should turn

29:56 off email, but I also try when I'm working on something and I want to be focused on something,

30:02 I'll put my phone in a different location. Right. So it's not even there to distract me. And,

30:09 or I mean, and it might just be putting it behind me, putting it on a desk on the side,

30:15 just so it's not in my side. I'm like, I look at my phone, I'm like, Oh, I need to check it. Right.

30:19 I mean, there's sort of a response mechanism there.

30:22 Yeah. Yeah. It needs my attention. It's someone to me.

30:24 Yeah. Yeah. For me, I turn off basically all desktop notifications. Like I have no

30:30 social media pop-up. I have zero email pop-ups.

30:33 Yeah.

30:34 Only pop-ups on my computer, I believe are around calendars because I need those like in 10 minutes,

30:40 you got to do this. I don't care if it interrupts you, you got a meeting. But other than that,

30:43 like I've turned them all off. I should be better with my phone, honestly, that you've got a good

30:48 example there, but on the computer, it's like, yeah. Or if Slack, I realized a lot of people do

30:53 work through Slack, but like I don't install the Slack app. If I need to use Slack, then sort of

30:59 have a certain time when I can check into Slack. I think a lot of people's work environments are sort

31:06 of stifling them as far as their work in that we always want you to be available. And I think that's

31:13 not a good thing in that once, and I think most people realize this is, is if you're working on

31:20 something hard, it takes time to get into that. Like you said, and if you have this idea in your

31:24 mind and now you finally are working on it and then all of a sudden, bam, Slack comes in or whatever

31:29 notification pops up and like, oh, I need to deal with that because we've been conditioned that anytime

31:34 something comes up on Slack or whatever notification, that's the highest priority. When in fact, it's not the

31:41 highest priority and it's actually slowing us down and making us less productive to have those

31:46 notifications there.

31:47 Yeah. I feel like systems like Slack or Teams or whatever, I really dislike them. I mean, I think

31:54 they're neat for communities. I don't know why people think they're amazing for work because

31:59 there are just so many micro interruptions constantly. And then the fact, like if somebody sends me an email,

32:07 okay, I've got my email is a mess. And if anyone out there is waiting for a response for me, I've been

32:11 working on it. I'm sorry. But at least it stays in my inbox. Like Slack is a little bit like Twitter

32:17 that the stuff flies by. And if I don't get on it, I'm going to miss it. So it's like Twitter that you

32:22 can't ignore. Yeah.

32:23 To me. And it's just, it's sort of brings together a lot of these. I know it's great that you can just

32:28 jump on and quickly get something from somebody, but what have you done to that somebody by trying

32:32 to quickly just get that response, right? It feels like we're just going to bring everyone down in sort

32:37 of their, their deep work so that we can have faster response time, which it depends on what kind of work

32:42 you're doing, but I don't know that that's a good trade-off.

32:44 Yeah. So, I mean, to put it into like computer terms, like constantly context switching, right?

32:49 If you never are able to work on it, you're just constantly context switching,

32:53 not the scheduler you want on your computer.

32:57 Yeah, exactly.

32:59 This portion of Talk Python To Me is sponsored by Linode. Simplify your infrastructure and cut

33:05 your cloud bills in half with Linode's Linux virtual machines. Develop, deploy, and scale your

33:10 modern applications faster and easier. Whether you're developing a personal project or managing

33:15 large workloads, you deserve simple, affordable, and accessible cloud computing solutions.

33:20 As listeners of Talk Python To Me, you'll get a $100 free credit. You can find all the details at

33:26 talkpython.fm/Linode. Linode has data centers around the world with the same simple

33:31 and consistent pricing, regardless of location. Just choose the data center that's nearest to your

33:36 users. You'll also receive 24, 7, 365 human support with no tiers or handoffs, regardless of your plan

33:43 size. You can choose shared and dedicated compute instances, or you can use your $100 in credit on

33:49 S3 compatible object storage, managed Kubernetes clusters, and more. If it runs on Linux,

33:55 it runs on Linode. Visit talkpython.fm/Linode or click the link in your show notes,

34:01 then click that create free account button to get started.

34:03 All right, so I derailed your four parts of creativity, but I didn't want to get off this

34:09 distractions because this is like a huge deal, I think.

34:11 Yeah, it is a huge deal. And I think a lot of companies in the name of culture and have done a

34:19 disservice and that it actually impacts them the wrong way.

34:23 Yeah. I want to be clear. I think there's a place for those types of things. I think it makes sense

34:27 to say, let's set this up. So when we were ready, we could come and be part of this like group or this

34:32 community and we can contribute to it. And it creates this need. But I don't know that should

34:37 be the primary way to just constantly ping everybody all the time. Like that just seems

34:41 super detrimental. So not that it's purely bad. I just think it's like a use for the wrong thing a lot

34:47 of times. Yeah. And so to be fair, like my take on it would be like, if you had email and you're like

34:55 saying, I'm going to limit email and we're going to check email sometime in the morning and sometime

35:01 in the afternoon. Right. And then you can expect that you will get an email response, you know,

35:05 for something important that day, but it's not necessarily going to be 10 minutes after you ask.

35:10 Right. And some companies just have that same culture of, I need a response right away,

35:14 but it's just on email. Right. Which actually is worse. So I don't know. I guess it's,

35:19 there should really just be some time for deep work while we're on this before we move on.

35:24 How do you feel about Slack? Not Slack, the app, which we were just talking about, but Slack as in like,

35:29 I need to make sure that there's 10% of my time where I'm not required to be absolutely generating

35:36 closing Jira tickets or working on this thing during the sprint. But like 10% of my time where

35:42 if I find this to be interesting or I need to try two ways of doing things, you know,

35:46 like that kind of Slack.

35:47 Yeah. And like I said, the brain, when it's working, when it's working hard, it, it requires energy.

35:53 Right. And so there's only a limited amount of quote, deep work that we can do in a day.

35:59 And so the Slack is actually good. And there is an effect, and this is actually part of this creativity

36:06 or learning process, which is called the incubation effect. Yeah.

36:11 And so a lot of times you'll work on something and you'll get to an impasse. And a lot of people,

36:17 at least I've seen when they get to an impasse, that's like, okay, now it's time to double down.

36:22 I just got to keep working on it.

36:23 All right. Now I'm really going to bang my head against this problem.

36:26 Yeah. Yeah. I'm going to show how smart I am and I'm going to do that. And your brain has a great way

36:32 of like making connections and rearranging your thoughts when you allow it. And so there's this

36:39 effect called the Zygernick effect. Zygernick. I'm probably pronouncing that wrong, but the study

36:45 came out that a waitress could remember orders better if the orders were not complete. But as soon as the

36:53 orders were complete, they forgot them. And so if you want to sort of apply this technique, you can in

36:59 that as soon as you get to an impasse, rather than powering through it, stop and let your brain relax,

37:04 go on a walk. I mean, my experience has been a lot of times I've woken up at like in the middle of the

37:09 night or in the morning and I'm like, oh, I know what that bug is. Right. Yeah. And yeah, your brain

37:15 has that ability. It's the, I solved it in the shower sort of thing. Yeah. Yeah, exactly. And so you can

37:22 power through it, right. And stay up all night and try and power through it. Or you can go on a walk or go to

37:27 sleep. Another common thing. And as much as we talk about, like, don't interrupt people, but rubber

37:34 ducking is a similar thing where if you can, and rubber ducking for those who don't know it, there's

37:39 a book called pragmatic programmers that suggests you have a rubber duck sitting at your desk. And then

37:44 when you get to a problem or an impasse, what you do is you pick up the duck and you literally talk to

37:50 the duck and you explain what's going on. And because you're using a different part of your brain, like you're

37:56 vocalizing it and you're explaining it actually makes these different connections in your brain. And a lot of

38:03 times, if you haven't heard of rubber ducking, but you've probably heard of like going over to a colleague and

38:07 explaining to them your issue. And then like in the middle of explaining them, you're like, oh, never mind. I figured it

38:11 out. Right. Yeah, exactly. So these are all examples of what you would say slack or the literature calls

38:18 incubation, where literally giving yourself that ability to have breaks is super useful. And if you

38:26 look at a bunch of studies about super creative people, a lot of them, they go on a walk in the

38:32 forest every day. Right. Or yeah, yeah, they're productive. Like Einstein talked about that quite

38:37 a bit, I think. Yeah. But they also have downtime. Yep. I saw on Twitter, someone posted a message,

38:44 somebody learning to code system like, I know I've been told or I heard that I'm supposed to take a

38:49 break when I'm learning to code. So what schedule should I set myself on? Do I take a break every 30

38:54 minutes, every 45 minutes? And to me, I thought that was really interesting. I didn't know this person.

38:59 So I really feel like getting involved because my inbox already needs a lot of responses. I don't

39:03 need to start more threads. But to me, it feels like it's a completely the wrong trigger. Like time

39:08 shouldn't be the trigger. It should be, I'm going to sit here, I'm going to work. And if you're just,

39:12 you really like suppose you're studying object or new program and you're making connections and it's

39:16 working well, like just keep going. Yeah. Right. If like you're just really on fire, just keep going.

39:21 But all this, you know, if you're stuck and it's super frustrating, you can't make, then you take the

39:25 breaks. I mean, put aside whether you should take a break from typing for RSI issues.

39:29 But for learning issues, it feels to me like more like this incubation should be the thing that tells

39:36 you to take a break, not the every 27 minutes I'm on a schedule to walk for three.

39:41 Yeah. And some of that might be like Pomodoro. Yeah.

39:44 The notion of the Pomodoro, which I think is great for people who have like, I just need to do this and

39:50 I know I'm going to get distracted. So I'm going to set a timer and work on it for 25 minutes. Right.

39:55 Yeah. I've a lot of times used a different biological technique and that I would have a large cup of

40:01 water and just drink it. And then when nature called, I'm like, okay, it's time for a break. Right.

40:07 Yeah, exactly. That's pretty good.

40:08 But I agree with you. Like the notion that like, I need to take a break every 30 minutes or 40 minutes,

40:14 you're reading too much into like the optimal standing desk sitting split there. Right. I mean,

40:21 I think if you're having deep work and you feel like you're in a flow and time just going by,

40:27 like I wouldn't interrupt that just for the sake of like interrupting it. Right.

40:31 Exactly. You know, some of the absolute best times I've learned stuff and this could be programming or

40:37 it could be just studying chemistry or math or whatever it was I was doing is that time where

40:42 you're, you're focused on something and you're working on it. You're like, how is it dark? Like,

40:46 yeah. And why am I so hungry all of a sudden? Like, you know, you just got into it and you were just

40:51 consumed in, in that world. And then something broke you out of it. Right. Like it's that deep flow

40:57 sort of feeling and that's magical. So to me, it seems like that seems if that's going, don't mess

41:03 with that. Don't interrupt that. I mean, if it's going well, don't interrupt that. But to come up

41:07 with arbitrary, you have to do this and you have to take breaks at every 26 minutes and 15 seconds

41:14 seems like they're missing something. Yeah. Yeah. I'm not only, you can only express so much in a tweet,

41:20 but that's, that was what I, I've been accused of not having a nuanced tweet myself, but it's a tweet.

41:27 I'm sorry. That's how it looks. So, let's talk about some, some things that people can do

41:32 for like when they're studying and they're learning something new, some of the techniques and tips for

41:38 making stuff stick. Sure. Yeah. One that the research was pointing me at, which I wish I would

41:44 have known earlier, at least when I was in college was the notion of a bunch of studies have been done

41:51 that show that if you actually read or take a quiz or a test before you've even done any studying

41:58 of it, the person who does that is going to learn better than the person who doesn't do that.

42:03 And basically it's the notion that your brain can make these spots and sort of say, okay,

42:09 I'm going to be learning about whatever subject object oriented programming. And so I'm just going

42:15 to sort of have some buckets that are ready when this knowledge sort of drops in and it will make

42:20 the connections for them. So it's sort of like seeding, seeding your brain with information.

42:25 Yeah. It seems to me like that is sort of goes along with the reticular activating system where

42:30 that weird phenomena where like, if you are shopping for a new car and you decide I want

42:36 this kind of car, all of a sudden that car is everywhere. Yeah. Or we just got a puppy and now

42:41 all of a sudden like, you notice all the dogs, dogs. I just like notice all I'm like, Oh, there's a dog

42:46 park over. Look at that. And look at this dog. And look at those dogs are friendly. Like I mean,

42:49 I didn't hate dogs. I didn't like focus all over that. And it seems like the quiz is like, Hey,

42:55 these are the things we need your mind that lays our focus in on if it happens to find it in the

43:00 world. Yeah. Yeah. So that's one that I think is very applicable to students. I'm trying to figure

43:05 out how to like in my courses, I can do sort of quizzes beforehand for people who are independently

43:11 studying. I'd be curious as to how people can apply that. Another, probably the most powerful tip

43:17 is this notion of spaced repetition. And remember that there's that forgetting curve where basically

43:22 after two days, we've forgotten 80% of what we learned. So if you can review your material within

43:28 the one to two day timeframe, you can basically go back up to understanding the material. But what

43:35 happens with the curve is that the forgetting curve slows down. So now you're not going to forget it all

43:40 in two days. You might forget it in like four or five days, or maybe a little bit longer than that.

43:47 And so if you can revisit that material, you can keep it in your brain. And basically every time

43:55 you're accessing it in your brain, it's making stronger connections. So it's easier for your

44:00 brain to retrieve that. But also like we sort of hinted at before, if you can mix it up, whereas

44:05 you're studying it in a different place, or maybe in one of the studies I said, even said like, you should

44:11 have music going on and you should change the music and having that background is just going to tie a

44:18 different sensory portion of your brain to the information. So this is probably the most powerful

44:24 thing that students or people who want to retain information can do. And there's various tools like

44:31 Anki to basically do this for you. Or if you look at like Duolingo, those sorts of apps are basically...

44:38 Yeah, they've got a little schedule, they ping you, it's time to do your practice of this,

44:42 your basic verbs in whatever in French or whatever you're learning.

44:46 Yeah, so that's something that I think a lot of people can do one sort of, I guess, power tip on top

44:51 of that, rather than just rereading your notes, like if you've done it, something that's better than

44:57 reading your notes is rewriting your notes, or quizzing yourself on the information. And so you can

45:04 re-read and that's sort of the minimum thing to help you. But if you can quiz yourself, quizzing is

45:10 forcing you to, instead of just like putting it in the brain, it's forcing you to extract what you have

45:16 in there. Again, strengthening those connections in your brain. Rewriting them is, again, pulling

45:23 information out and then putting it back in. And it might be put in slightly differently if you rewrite or

45:30 force yourself to do these sorts of activities too.

45:33 And what do you think about taking notes as a non-student? I mean, suppose I want to learn,

45:38 say, FastAPI, and I'm going through the tutorials and I'm doing stuff.

45:42 Yeah.

45:42 It's not something that I really do a lot. I do it during conferences and talks and stuff like that.

45:48 But if I'm sort of just full, or even during like an online course, but if it's just full free

45:53 form, I'm like, oh, I'm on the website just learning how this thing's working.

45:56 Yeah.

45:56 It's not something I do. Should I?

45:58 That's a good point. So, I mean, a lot of my training is around data science and machine

46:05 learning type stuff. And I tell a lot of people, I'm like, for example, the Pandas API. The Pandas API

46:11 is super powerful. It's also super huge and can be super confusing. And it violates our Miller's

46:18 seven or plus or minus two number all over the place.

46:21 Yeah, it definitely does.

46:23 And so I tell people, okay, don't memorize it, because I think it's basically humanly impossible

46:30 to do that, even with chunking. But also don't use the website to go look it up. If you could,

46:37 so Jupyter has a great ability to pull up the documentation. Pandas documentation is actually

46:43 really good. And so rather than disrupting your flow, if you can master being able to access the

46:50 documentation in your environment, be that PyCharm or Jupyter or VS Code or whatever you're using,

46:56 you're not going to interrupt your flow as much. You're going to be a lot more productive and you're

47:00 not going to have the temptation to like, oh, I might as well check Twitter while I'm at a different web

47:05 browser. Right.

47:06 Right.

47:07 But I do think if you're just learning something new, like say you wanted to learn about like deep

47:13 learning or something and you go off and read a book on deep learning. And if you didn't take any notes

47:18 and you never typed in any code, it's going to follow that forgetting curve. And you're going to

47:24 two days later, you're going to forget most of what you read a week later. I mean, it's basically like,

47:29 eh, you read it, but it's all gone.

47:32 Yeah. Yeah. I find those, that kind of step back learning is great for the big picture.

47:37 And if I want to know what could you possibly do with say TensorFlow or what was the basic science

47:44 around say the Higgs boson, but you couldn't do a line of science by that kind of reading. Right.

47:49 So I guess it also depends on your goal, right?

47:52 Yeah. And there are the ability to make connections, right? Where if you are, you know,

47:57 a lot of data scientists are experts in their domain. And so they might be whatever, an oil and

48:04 gas expert, but then they read about deep learning and then they can do this, what's called interleaving

48:10 where, okay, they're learning about something new, but they're applying it to their area of expertise.

48:16 Like, oh yeah, I can use this to do this right now. And so.

48:20 Right. Right. I see where I would use this, like that sort of aha moment. Yeah.

48:23 Yeah. So that could be very useful, right? For picking up something new and discoveries,

48:28 right? I mean, a lot of sort of the advancements in society come from people who aren't in like the

48:36 automotive industry, right? I mean, you sort of look at like Elon Musk is not a car person per se,

48:41 right? But can push things from, I think from being an outsider and having more of a tech background

48:48 is adapting things and can have huge impacts that way. And so if you're an expert in something else,

48:56 cross pollinating those ideas with new ideas can be super powerful.

49:00 Yeah. I definitely agree on that. One more study tip, Rick, I guess I like to throw out there

49:05 that I think both of our kids have experienced is like, there's different, you mentioned songs before,

49:13 right? And one of the things that blows my mind constantly is how well you can remember lyrics and

49:21 those stories that are communicated through song. Like I can hear a song from the eighties or nineties.

49:26 I could hear like three notes. It got to the song that it starts like this, right? I can't do that for

49:31 any book I've ever read or any lecture I've ever attended. Not even close. Right. Yeah. And probably the

49:37 most insanely interesting one is the Hamilton, Hamilton, the musical, which is like an hour and

49:43 a half musical, but it's done as a rap about the founding fathers of America, which it's got a lot

49:49 of detail. Like, you know, it's got huge detail. It also has a moat. I don't know about you, but like,

49:55 for me, it's very emotional and I'm not like a rap person at all, but I'm like, I get chills,

50:00 like listening to certain songs. I'm like, so there's your brain is able to capture that. I'm

50:06 like, Oh, when I watched Hamilton, not only did I learn all this information, but I also felt this

50:11 way. I felt sadness or I felt happiness or pride or like all of these different feelings that go into

50:19 making that. And like, to your point, like you hear three notes and you're like, you know, like

50:24 five paragraphs of lyrics or whatever from that. It's so crazy. It's so crazy. And so Hamilton's

50:30 interesting. It's not that super applicable. I really love the musical, but I think it's incredibly

50:35 well done. But the reason I brought it up is when my daughter was studying biology, like the mitochondria

50:43 or cell cycles or so, I went into her room and she was like watching this rap. I can't find it again.

50:49 I found an example. It's not the same one, but they're like these teachers who are doing like

50:55 not terrible rap songs about like these technical subjects like biology and other stuff. And you know,

51:01 if someone's out there trying to learn, I would, I would give that a shot. Like it seems so effective.

51:05 So weirdly effective.

51:07 Maybe, maybe you should partner with Lin-Manuel on a Python course.

51:11 Yeah. Does, is that rap style or what's the story? I don't know.

51:15 Lin-Manuel Miranda, the guy who wrote Hamilton.

51:17 Oh yeah. Okay. Yeah. Well then we definitely should partner with him on a rap course. Like

51:21 if we could do it as a Broadway musical, think how popular Python would be.

51:24 I know. Yeah. That is super interesting. Could you encapsulate whatever course,

51:31 the new features of Python three into a rap? I bet you could.

51:34 You could, if you were skilled in both programming and I should partner with Smix,

51:38 right? Maybe he could do it.

51:40 Yeah.

51:40 He's the developers, developers, developers song. All right. Well, I think that's just

51:45 another interesting thing. It's not super practical because like there has to exist one of these like

51:50 songs about a topic, which is not that common, but.

51:53 Yeah. Yeah. I mean, if you can find a song, similarly, my kids, they love this song about

51:59 the elements of the periodic table and they know the elements of the periodic table because there's

52:04 a YouTube song that goes over it. I find it pretty annoying, but if you can leverage things

52:10 like that, that's awesome. Yeah. Yeah. That's super awesome. All right. Want to put a bow on it?

52:15 You got some takeaways for us here? Yeah. So the, I guess main idea is, is understand how your brain

52:20 works and the pros and cons to that and then leverage those things. So if you can get that big picture,

52:27 if you can get a final exam beforehand or for work, you need to make a new system that does this and this,

52:34 your brain's going to be percolating on that idea. And then you just need to sort of fill in

52:38 the gaps where you can there using different parts of your brain. We've talked about that,

52:45 like with music, but also if you have issues, rubber ducking them, telling them to someone else,

52:50 those can be super useful space repetition, super powerful for remembering things. I mean,

52:57 I'm a big one of just taking care of your body, going on walks, not trying to always be at a hundred

53:05 percent all the time. And again, the science is proving that this incubation effect is super powerful

53:11 and allows us, our brain is probably more powerful than we think can do things sort of behind the

53:16 scenes without us forcing it to do things. Yeah. I agree with that one as well. Yeah. Yeah. So

53:21 I think one more that I haven't really, we didn't really get into, but the course talks about that is

53:27 the idea of interleaving and switching things up. So if you're just doing math and you're always doing

53:32 addition, everything's going to look like an addition problem, but if you can mix it up,

53:36 you know, when to use addition, you know, when to use subtraction, maybe applied to programming.

53:41 I would say that I see a lot is a lot of people that I teach in Python. They're like, okay,

53:47 why did you write a function there? Why didn't you put that in a class? Right.

53:50 And people who come to Python from Java or C# are always thinking terms of classes everywhere.

53:57 Right. Yeah. And Python's a multi-paradomatic language. You can write it in a imperative

54:02 style. You can write it in an object oriented style. You can even do functional programming with Python.

54:07 And so if you don't know about those different styles of programming, you only know about object

54:12 oriented program. You're always going to be looking to make classes, which Python can do,

54:17 right. But it might not be the most effective way to do it.

54:20 So mixing things up, learning, being able to be cross pollinated, that can be useful as well.

54:25 Super cool. Well, this is really interesting and hopefully it helps some folks learn all the new

54:30 things that we have to keep learning continuously as software developers. I mean, you made the joke

54:35 about JavaScript and I think that's actually like a legitimate criticism, but in the broader scale,

54:40 we have to keep learning, right? If you don't like learning, this is just not the place to be.

54:44 So being better at that is certainly a good skill to have.

54:47 Yeah. Yeah. And as a teacher, I feel it's my duty to be able to help people learn and maximize on those

54:54 as well. So I think it goes both ways.

54:56 Yeah. So you want to give away a copy of your course?

54:59 Yeah. Yeah. Let's give away a copy of my course.

55:03 Yeah. So I'll pick, I'll just, if people are on the mailing list for the podcast, which is just being a

55:10 friend of the show. So they go to talkpython.fm/friends. They go there. As long as they're on that

55:14 mailing list, I'm going to randomly pick one like the week after the show drops and I'll send it up.

55:19 And then I'll do one more on my store, which is mattharrison.podia.com. I'll do a coupon for 20%

55:26 off anything in the store. So we'll leave that coupon for a week after this goes live. So use the

55:32 code talkpython20, all uppercase, talkpython20 and you'll get 20% off anything in the store.

55:38 Yeah. I'll link to that in the show notes in the podcast player.

55:41 Cool.

55:42 All right. Last question. I know you've written one or two books or 15 or 20 or whatever it is now.

55:47 Like, are you working on any new books that you're willing to mention?

55:50 what books? I, I, I am.

55:56 You've been refreshing some of them. I saw you talk about like your Python notebook or something like

56:01 that. Yeah. Yeah. So Python 3.9 came out. And so I did do a tiny Python 3.9 notebook.

56:08 so that's actually on Amazon right now, if you want a physical version, but there's a

56:13 version of that in GitHub if you want. So I point that to a lot of my students. It's just a reference

56:18 for the syntax of Python 3.9. So yeah, that's most recent. I mean, I've got plans for some other one,

56:26 but nothing concrete right now.

56:28 Yeah. I'm sure like me, you've got a thousand projects on a list that you want to get to.

56:32 Yeah. Too much time, too much distractions.

56:34 Yeah, absolutely. All right. Before you get out of here, I'm going to ask you the

56:38 two questions again, favorite editor. If you're going to write some code these days.

56:41 Yeah. I mean, I'm still using Emacs and I live in Emacs most days. So.

56:47 All right, cool. Notable PyPI package that you've run across lately.

56:51 One that I'm really wanting to look into that I haven't really used in anger or disgust,

56:58 but I'm very interested in it is streamlet.

57:01 Yeah.

57:01 Which is for basically making dashboards in Python very easy. So a lot of the people in my classes

57:10 are doing analysis and Jupyter is one way to share that analysis, but having a dashboard that's a little

57:17 bit more dumbed down per se or not requiring people to execute cells can be super powerful. So I'm really

57:23 interested to check out streamlet.

57:24 Yeah. I had Adrian from streamlet on the show a while ago and it looks just super cool.

57:29 Yeah.

57:29 So another one sort of in that realm I'll throw out there for people that you,

57:34 I think would be relevant for you, Matt, is the language server protocol integration for

57:38 Jupyter Lamp, which gives you like better autocomplete, jump to definition, automatic code

57:45 completion, rename refactor stuff, all that to Jupyter notebooks. That's a pretty neat one.

57:49 That sounds cool as well. Yeah. I know that Emacs has some LSP integrations as well. So I think it's

57:57 cool that Microsoft and others are volunteer working on that and sharing that with others.

58:02 Yeah, absolutely. All right. Well, it's been great to have you here and congrats on the new course. I

58:08 think it's going to help people get a little bit more out of the time to put it into new subjects,

58:12 which is every day, all day as developers.

58:15 Yeah. Yeah. Check out the course if you're interested. And if you have feedback or I'd love

58:20 to hear other people's ideas and techniques and tools that they use as well. So cool. All right.

58:25 Well, nice chat with you as always. See you later.

58:27 See you, Mike. Thanks.

58:28 Bye.

58:28 This has been another episode of Talk Python to Me. Our guest in this episode was Matt Harrison,

58:35 and it's been brought to you by Brilliant.org and Linode. Brilliant.org encourages you to level

58:41 up your analytical skills and knowledge. Visit talkpython.fm/brilliant and get Brilliant

58:46 Premium to learn something new every day. Simplify your infrastructure and cut your cloud bills in half

58:52 with Linode's Linux virtual machines. Develop, deploy, and scale your modern applications faster

58:57 and easier. Visit talkpython.fm/Linode and click the create free account button to get started.

59:02 Want to level up your Python? If you're just getting started, try my Python jumpstart by building 10 apps

59:08 course. Or if you're looking for something more advanced, check out our new async course that digs

59:14 into all the different types of async programming you can do in Python. And of course, if you're

59:18 interested in more than one of these, be sure to check out our everything bundle. It's like a

59:22 subscription that never expires. Be sure to subscribe to the show. Open your favorite podcatcher and search

59:28 for Python. We should be right at the top. You can also find the iTunes feed at /itunes,

59:32 the Google Play feed at /play, and the direct RSS feed at /rss on talkpython.fm.

59:38 This is your host, Michael Kennedy. Thanks so much for listening. I really appreciate it.

59:43 Now get out there and write some Python code.

59:45 we'll see you next time

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon