#293: Learning how to learn as a developer Transcript
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