Python Bytes - #313 Programming Robots With a Marker

Episode Date: December 6, 2022

Topics covered in this episode: How do you say that number? The Origins of Python setproctitle Looking forward to Python 3.12 Extras Joke See the full show notes for this episode on the website ...at pythonbytes.fm/313

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 313, recorded December 6, 2022, and I am Brian Ocken. Hey, I'm Michael Kennedy. I'm the person with the scroll bar going across. I just realized that. I'm Kelly Schuster for eight days. And I'm Sean Tiber, and we're here from the Teaching Python podcast, so it's good to be here with you both. I recommend everybody listen to Teaching Python. The focus is kind of around teaching,
Starting point is 00:00:31 being teachers and teaching Python. But I think anybody that helps anybody with learning Python, it's worth listening to your show. 100%. It's more like about anybody who's a learner, which is everybody hopefully out there. Well, welcome. Thank you. Well, should we get into the first topic, Michael? Yeah, let's just jump right in. Over here, this one I ran across on Mastodon, and I thought, what a fun, quick little thing. And with the teaching angle from the Teaching Python podcast with Kelly and Sean, I thought this might be kind of a cool thing for teachers or for kids
Starting point is 00:01:06 for something simple with Python, but also I just like it. So if you look over here in the link, this person Teresita posted spell out numbers with Python. All you got to do is pip install inflect. Check this out. So with inflect, this is a Python library. You can just say, you create an inflector thing and you say number to words and you give it some giant number. And you're like, I have no idea what this is. And it says in this case, it was 8,675,309.
Starting point is 00:01:42 And so any number you give it, it'll tell you the friendly version or the human version of it. So if you want to turn written numbers into spoken set numbers, this is the way to do it. I think this is great. I don't know you need it for 8 million, but if you go much farther than that, if you go beyond trillion, then it gets really interesting. Another one that I found after I discovered this, because on Mastodon, somebody said, this is amazing. Have you heard of numToWords as well? So numToWords is another one that you can use.
Starting point is 00:02:17 numToWords is possibly better. The API seems a little bit cleaner. Now, I haven't pushed the outer bounds of, like, what is the biggest number it will speak to me in a reasonable way so i don't know which one will go farther in that way but in terms of kind of usefulness this num two words the two spelled out as a number you can actually get a command line version so you can pip x install this and then on your terminal or command prompt you just say num two words and put a number and then you don't even have to write Python code. You just call it.
Starting point is 00:02:46 But of course you can, and it will work in multiple languages. Oh, the language part is cool. I saw that there, my teacher's side just went, wow, I can go into Spanish and French. Exactly, exactly. I'm so excited. Well, yeah, so there's a bunch of different options.
Starting point is 00:03:02 There's a ton of languages you can use here. Wow. Which is really cool. Yeah, so there's a bunch of different options. There's a ton of languages you can use here. Wow. Which is really cool. Yeah, so this is neat. And I wrote a little bit of code to just throw some sort of examples together and put those in the show notes. So you can use inflect or you can use numToWords. I think I would trend towards the numToWords because the multilingual as well as the command line version if you pip x install it also the fact that we don't have to call an instance is that correct yeah exactly yeah
Starting point is 00:03:30 exactly you don't have to create like some object and then call it on that it's a little more pythonic you might say i have a second grader in my household who's probably ready to cheat on his math homework with us there's a lot of those transfer questions. So it could be fun. I think this is great for like parents that are have kids in, you know, trying to come up with pronounced big numbers and stuff. Occasionally I forget. I know that's what I was saying. I'm thinking of that, too. But this is like fact number like 20 for the math teacher. I always tell them, no, we don't need math anymore.
Starting point is 00:04:04 We'll just have Python. We don't need math anymore. I have a Python library that's going to give us number cents. All right. So I got some homework for someone out there who's feeling ambitious. How about create this as a website, as a service, so we can just put it in as a progressive web app. We can just put it on our phone and then we can do it. Or you could use, you could use Pyscript and just install it. So the kids could just constantly go around and ask it, what is this called? What is that called? Exactly. And then set it up for phonetic, pronunciation. So we can just have Siri pronounce it properly. Yeah, there you go. And on the audience, Steve says, I guess you could pipe it to say, to get it to read the number out loud as well. Okay. I hadn't thought about that. That's
Starting point is 00:04:45 pretty, pretty dope. Okay. Very cool. Nice. All right. Well, that's, that's mine. Off to you, Brian. Okay. So I'd like to, I'd like to go back in time to the origins of Python. No, I'm not going to read the whole article, but there was an article by Lambert Mertens, Mertens, sorry, Lambert, I got your last name wrong. But this is really, it's a really cool, but long article. So I've heard mostly from Guido different stories about, I guess they weren't different stories, but that Python did come from a lot of inspiration from the ABC language.
Starting point is 00:05:23 I guess you probably have all heard that, right? But I haven't heard a lot of that like what where did abc come from and and i and maybe that's out there but i just haven't looked but this is um this is kind of going through it so this is going back to 1970 lambert was involved with um teaching teaching programming and this is teaching programming at university levels to people that had no programming experiences like yeah they had a computer art society they had non numerical programming and this is teeth and he mentions teaching like artists and other people that aren't probably don't even hang around computers at all and especially in the 70s you wouldn't so they they were using and then he kind of ties it in also to uh modern day
Starting point is 00:06:07 uh a similar sort of topic is uh django girls which is a a great program that if anybody doesn't know about it uh tries to uh get particularly women to um to use to learn learn and do something useful with python in one day um even if you've never touched a programming language, which is an incredible experience. But he even mentions it's going on in Istanbul. So these workshops go on all over the world. It's just pretty awesome. So he started with a programming language called Telcom.
Starting point is 00:06:37 And it was an unstructured language similar to BASIC. And the reason why they chose it is just because it was easier to learn or easier to use. It was more easy to talk about. And then this tail goes through, like it's a pretty long tail, but it goes through a lot of the frustrations they had even with Telcom. And then deciding to go into developing ABC, which was like started out with B for beginner or beta zero or B zero for the initial element or something,
Starting point is 00:07:15 which is I think too nerdy for a programming language name. But talks about the ABC project. A lot of this article is around the ABC project. But one of the things I wanted to highlight, I'll try to get my notes back up, but I wanted to highlight one of the things they brought up was really wanting to have ease of learning and ease of use desirable, but also at the same time use high-level task-oriented features
Starting point is 00:07:44 to make things easier. So they wanted things wanted to be easy to learn, but also not cumbersome to use as a later as a developer. And that was probably that was my experience with basic, it was fairly easy to learn. But then when you try to do something large, it's tedious. And Pascal was the same way with me. But Python's not so much. And one of the things they talk about is even they had this um the the put uh command right in there so uh put one two in ab was uh was to to put two values and two variables like and again the swapping of you could say put ab in ba to swap variables where every other language i've ever used you've got to use a third intermediate variable. And so we use that in Python today, right?
Starting point is 00:08:29 So A comma B equals becomes A. B comma A will do the same thing. Brian, this is like looking back on evolution or something. When you see like, oh, I see here was where the fish started to grow an arm because it went on land a lot. This is like, here's the tuple unpacking of early Python. Yeah. So I encourage people to read it.
Starting point is 00:08:50 It's just kind of a great read and a romp through history of Python. So, I mean, they even brought in, like ABC brought in, I think BetaZero did also, of the spacing making sense and not having to do brackets and things, but having spaces for blocks. Pretty cool ideas. What else?
Starting point is 00:09:14 One of the things, a couple of quotes, I'm not sure where it's at, talks about Python's success. The growth in popularity of Python from its inception 30 years ago as a one-person effort flying under the radar has been phenomenal, but not meteoric. Instead, it's been a long, slow, and steady rise. And the competitive advantage it had in a period where we needed a lot of programmers was the ease of use and ease of new programmers. So, yeah, in the last 20 years, we really needed a lot more programmers. Having Python be easy to learn has been powerful. And then it also comments, which we know about, where the use of extra languages, that same concept of it's easy to learn,
Starting point is 00:10:00 but you don't have to stop using it when you do something advanced. We see that with like data science and web libraries, where if it needs to be super fast, they stick it in an extension, in a C extension or something, or now Rust often. But it hasn't slowed down. And anyway, great read.
Starting point is 00:10:17 Thanks, Lambert, for writing this. Yeah, it's pretty cool. I always thought of Python, especially for refugees from other languages, it's like it's cheating, right? Because it shouldn't be that easy to do something that powerful or that complex. And it's interesting to see the origins of that, even just the variable substitution or, you know, the multiple assignments. That's pretty cool to see that it has its origins that far back. Yeah, and I kind of now I'm sort of here understanding some learn right now, but it's good to have those thoughts of like, you know, maybe it's a cool feature,
Starting point is 00:11:08 but do we want to, you know, my thoughts on that are really just don't teach that. I probably wouldn't teach the match statement or the Walrus operator to new engineers. Yeah, indeed. Very nice one. All right, Kelly. I'll go ahead.
Starting point is 00:11:24 One more comment. I was going to swap it over to your next item. Yeah, all right kelly i'll go ahead one more comment i was gonna swap it over to your next item yeah all right well here we go let's talk about robots that teach kids oh yeah so this has become the i should in a good way the bane of my existence is finding all these bots and it's like i have so many bots this one's an old bot and it's one and it's a very popular bot for little kids. Very cute. They draw the line. It can follow the line. It was used in block code on the iPad, connects easy, and it's always been a real big staple for a lot of classrooms.
Starting point is 00:11:57 It's called the Ozobot. But the interesting thing, coming in August 17th, the Ozobot just introduced a Python beta version, which is super cool. They got rid of the original Ozobot bit, which was a similar version. And then they made a new version of the Ozobot called the Evo Ozobot. And with this bot, it has line following, it has color detection, it has sound, it has line following, it has color detection, it has sound, it has proximity sensor, it has Bluetooth, it has crash detection. You can even write functions within this, within the program for the beta. And then I think when you open up the documentation for the beta, they have five different programs already written in there for you to try out. And it's kind of cool. You
Starting point is 00:12:46 have a tree following and it can count how many branches are in a tree. So if you're talking, maybe you want to do a science classroom classification and you want to see how far removed, this is very science-y for you guys, how far removed an amoeba is from a, from a ape. You would go down the cladogram or the tree and you can calculate how many branches away. So it would be really cool how to incorporate the Evobot and not that you can't count trees, but you know, just fun little things. No, but it's a really cool way to, to get the kids thinking. Yeah. So it says, it says there's two ways of programming and, you know, Brian just spoke about the history of programming languages and all these texts oriented languages, but
Starting point is 00:13:30 neither of those are particularly, I mean, it does come with the Python aspect, but it's not the two options here are kind of like, there's this blocky style of programming. And does that become Python as you know? No, I'm not sure how they came about it, but the original was always block. And then the block would increase in difficulty, depending on the age, similar to a lot of the other block programs, where you would have limited writing, and then you would have color coding, and then you would start pushing in more functions.
Starting point is 00:14:00 But this one seems to be just a full-on python beta version and i think i put in the um there is an in online web browser where you can connect to the ozo bot i think i gave you no that's the simulator that one's for the block but that one's cool too i'll try to find it for you but there's a it's called um i'll find it for you but it's called like evo ozobot and you can code right in the browser once you connect via bluetooth yeah let me see this is it so bots like these are great for learning to code and this is one that i definitely tell parents when because everyone asks me like hey what should i get for my kid like should i get a micro bit so what kind of robot should i get the ozobot is a great one because it can now grow even further with your your child as they're
Starting point is 00:14:46 learning more about coding so you can get them started with really basics you know writing um on paper with a marker it can follow the line and do different things as the color changes they can then grow into using blocks to program it and now they can code using python so it's the same robot but now they've evolved their knowledge and understanding of computer science and computational thinking by progressing their languages as they go. So it's a really great use for that. This is really cool. Let me just try to do a little commentary for people listening and not seeing, of course, the links in the show notes. It looks like a little miniature R2-D2, maybe like a little bit smaller than the palm of a kid's hand. And one way you can program it, which is fascinating is you can draw a line with different colors, like a big, thick Sharpie
Starting point is 00:15:31 looking line, but the colors teach it to do stuff. Like if it hits a red part of the line, it might spin or play a sound. And then it goes to a black line. And then like a blue one maybe means, you know, disco, whatever. I don't know what the mapping over to his actions are but that's that's really neat to get kids thinking and then they can go to this visual block and then they can go to python i agree this is neat and i put the editor on the show the notes for you so you can okay on it yeah so the the only problem that i've been reading about is the the python's not picking up on the dimensions or the length of the line. So they have to be exactly four millimeters in order to do like tree branching. So it's
Starting point is 00:16:12 working on that feature. Whereas with the regular block, you can draw, a kid can draw a line and it'll work. But I think that's great. And they have the examples. So they have the three simple ones that you can get right into the square walk example and then it goes down into a little bit more complex where the template ones are so it's pretty cool yeah yeah any idea how much i mean like if i'm teaching yeah 175 for the new ozo um botvo. Used to be 95. But like I said, it's a new improved. You can get a class set of, I think, eight is, I don't know, I want to say 2000. So it's not too bad.
Starting point is 00:16:58 It is one of those things that a teacher could go and get a grant for. I was thinking even like a teach at home sort of thing as well. It's not out of bounds for. Yeah, 175 is not bad for the bots going, you know, the bots that I've seen out there right now. And I really like the idea of having programming be something that's
Starting point is 00:17:16 interacting with the real world. Like either, that's what I liked about some of the MicroPython stuff or CircuitPython, the Playground Express and stuff does lights liked about some of the the um the micropython stuff um or um circuit python uh the playground express and stuff does lights and everything but uh this it's maybe it's just a little robot but having it your computer change your code change something that's they can see um it does make a big difference to to uh make that reality there yeah and it's pocket-sized, which is, I love.
Starting point is 00:17:45 I love it. It's not big and bulky. You can throw it in your pocket and walk around. But I might lose it in my house. Yeah, you might. Your cat might take it or something. But yeah, that's mine. Excellent. Well, that's a really good find.
Starting point is 00:18:00 Brian, before we move on, I want to tell everyone about our sponsor this week. I would like to tell everyone and to thank Microsoft and Microsoft for Startups for sponsoring this episode. Microsoft for Startups set out to understand what startups need to be successful and created a digital platform to help you overcome those challenges. And it's the Founders Hub. Founders Hub. speed up development with free access to GitHub and the Microsoft Cloud, unlock credits over time, also discounts and benefits from innovative companies partnering with Microsoft Founders Hub, such as OpenAI. You'll have access to their mentorship network, which includes hundreds
Starting point is 00:18:55 of mentors across a range of disciplines. Need advice on marketing or fundraising or idea validation? Tons of topics, including management and coaching, are available, and you'll be able to book a one-on-one meeting with mentors, many of whom were former founders themselves. It's no longer about who you know. Get the critical support you need from Microsoft for Startups Founders Hub. Make your ideas a reality today by visiting pythonbytes.fm slash foundershub2022. That link, of course, is is in your show notes and we appreciate you using the link to let them know that you heard about them from us yeah thanks microsoft for supporting the show hey brian real quick uh real time follow-up before we get on the next topic marco and the
Starting point is 00:19:37 audience says i envy every child that gets hooked on to programming with one of these yeah that's way more than compelling than uh original basic or fortran or whatever many of us had to fight our way through yeah all right guess the number game yes exactly yeah how about the print your name diagonal many times that one's a good i'm still trying to find it but i remember when i was in third grade i had a book that had programming challenges that would unlock parts of the next parts of the story. So you'd read a few pages and then it would, you'd have to solve some puzzle to figure out what happens next in the story. And I need to go back and find it because it was such a creative way of getting kids engaged. And it was the cost of a book.
Starting point is 00:20:21 Choose your own adventure, but with code. It's kind of like the advent of code thing. That's my next sixth grade project. I'm just going to have them do it. You have to guess the right word in order to see the next lesson. Nice. Exactly. Speaking of setting words, I want to talk to something a little more on the DevOps-y side, perhaps, of things.
Starting point is 00:20:42 But this is a real simple one that I think people will find some joy and use for. I don't know if you've written any Python code and then wanted to know what's happening with it. So if you open up Activity Monitor in macOS, if you open up Task Manager or some of the Sysmon tools and you say, what is my program doing? Is it using a lot of memory is it is it busy it's not nothing seems to be happening is it like the cpu is pinned or is it just stuck you want to find
Starting point is 00:21:12 your program in a list of programs or use even top or something like that what is the name of your program it's python it's always python and there might be many things called python that are not even related to your thing called Python. You're like, no. So I want to tell people about this thing called set proc title, as in set process title or name, which is really, really cool. And its use case is incredibly simple. I think I even have an example here. Yes.
Starting point is 00:21:41 Here. No. One of these. I don't have the exact code, but one thing that's cool is if you do anything with web stuff like micro whiskey or G unicorn, if you would just have this installed as part of your web app or your API or any of those things, like in micro whiskey, you can say proc name prefix is like, for example, on talk by then training, we use micro whiskey. So it says training dash, and then you just say auto-proc name is true.
Starting point is 00:22:08 When I go to the server and I hit glances or top or one of these types of things, and you say, what are my processes doing? Well, guess what? It's called training micro-whiskey worker one, training micro-whiskey worker seven and eight. And then for the thing that does the search engine as a system daemon, I wrote in Python, it was also called Python in the list, but now it's
Starting point is 00:22:31 Python search as in training search daemon and these things. And all you got to do is basically import set proc title and say at the beginning of your program, set proc title, whatever you want to see here off it goes, But also the web frameworks will pick this up and use it if they find it a lot of times. Nice. This is really cool when you're working in like a Docker environment where you've got a bunch of containers
Starting point is 00:22:52 that are all running Python, especially ones that maybe you are just, you know, hosting rather than building. This is a great way to identify your specific processes. So I really like this. Yeah, I like it too, because it's just so simple to use. You literally, one import statement, what is the title? But it knocks on, it follows onto these other tools that make it really useful. So you can find your thing, not just, you know,
Starting point is 00:23:17 one of the 10 Python things. Yeah. Just don't set the product title to Python. You could be mysterious. It could be also Python. Exactly. You could set it to like sneaky things. Like you could set it to notepad on Windows or service host or like some weird thing. You're like, oh, no, it's blending in. This reminds me of that library, the progress library or the spinning wheel of death on the Mac. So we just have the cursor the the ticking cursor going around all right just combine them
Starting point is 00:23:50 combine them two together and just go yes it's still processing exactly evil virus all right well anyway that's that's set proctite all people should check that out if they haven't used it nice cool um well i was looking in the past before, looking at the origins of Python. Now I want to look in the future at 3.12. Didn't we just get 3.11, though? Yeah, so 3.11 really just was finally released in November, right?
Starting point is 00:24:19 So just last month, I think. But I'm already looking ahead to 3.12. So it is in the alpha stages. So one of the things I want to point out, like a caveat right away, is that publishers, pre-release users should be aware that, oh, I forgot, this isn't the right morning.
Starting point is 00:24:39 But basically, stuff in alpha might change. So be careful if you're using alpha. So 3.12 is on the alpha 2 release um i'm already checking it out one of the things i love already i'm loving this in 311 so i'm glad they're going for more changes is the improved error messages so i'm already seeing have you guys noticed like i love it it's so much easier to teach just let me tell you i'm like read down last line, read it. Yeah, if you import something or use a wrong variable or something,
Starting point is 00:25:16 having it be able to say, did you mean, and then pick the right thing, that's incredible. It is incredible. I love it. So even more improvements in the error messages, which is great. This is nice. Did you mean, yeah, did you mean from import oh i've done this before if you say import from you can't do that you have to say from thing import thing so uh nice those are great uh not the new features so far it's a linux perf profiler so if you care about that run on linux that's kind of neat. There's a whole bunch of other changes. The one thing I noticed was pathlib walk. I didn't know pathlib didn't have a walk. So for your walking a directory tree, which is kind of neat. Anyway, why am I
Starting point is 00:25:55 bringing this up? Because it's not going to come out until next November. So why should you care about it? Well, you should care about it as soon as possible. If you're a Python package maintainer, if you maintain a package that other people are using, why not start already and see if there's anything in there that you need to care about. And what I did, so I wrote up a little article on testing with Python 3.12 at pythontest.com, and I just went through the changes. So there were just a few lines of change that I needed to make. If I talk about where to get it and using also running Pi, which is Brett Cannon's Python launcher on Mac. On Windows, it just comes with Pi. But once you install it, you can use that to launch 3.12 to play with things. So the one-liners really are,
Starting point is 00:26:46 I've got a toxiny file that I just added 3.12 to. That's it. And then what else? GitHub Actions. GitHub Actions also does 3.12 now. So I added 3.12 dev to the test matrix. But so I released this this morning. I just wrote this up and sent it out.
Starting point is 00:27:05 And I already got a question back from Brian Skin saying, what if it fails? I don't really want to like not release something just because 3.12 failed. And there's a if if you care about that and want to make sure that that doesn't muck up your pipelines, there's a way to deal with that. So there's indeed there's some documentation on GitHub actions on how to deal with that. And it's using continue on error. And I'm using the, the, the documentation uses the variable experimental, and that sounds good to me. So I'm, um, adding like a treat everything else normal without experimental, but treat 312 dev is experimental, which means continue on error and all
Starting point is 00:27:46 this does the only thing it does if you set that for a particular thing is it allows um your uh your different things that you're testing it allows some of them to fail and not stop others so by default if anything fails in the github Action pipeline, then it stops running all the rest of them. And what this does is it allows the rest of them. You still see that something failed, so you have to decide whether you care about that or not, but it'll let everything else pass. Also handy for ensuring that all of your tests continue, right? So if you just want to let it continue on everything, all your pipelines will always work. You'll never break the build and have to worry about it. Yeah, it's fine. Brian, is this what you're recommending? No, I actually, seriously, I like that feature and I
Starting point is 00:28:38 love the experimental classification. That's cool. Yeah. So anyway, what do we got next? Well, over to Sean. Yeah. So I was at in Las Vegas last week for reInvent from AWS. And I'm still not sure what day it is. It was Las Vegas is its own time zone, meaning all of them at the same time. But what I saw there was actually a really great, uh, chat by a company called EF education first. It's been around for a long time.
Starting point is 00:29:09 They have, um, schools and offices and training centers all over the world. And they were talking about how they were using the cloud to reinvent online learning. And they've been doing online learning for years and years since the nineties, in fact. And what they recognized was that when we all went into the pandemic and we did online learning, a lot of it looked like old school classrooms where everyone was neatly arranged in rows and all sitting there facing forward and looking forward, just like we are kind of on this call right now. But they recognized that that's not really the way that classrooms work anymore. We don't all sit in rows and face forward towards the teacher.
Starting point is 00:29:45 We are more interactive. We're more engaged. We're more collaborative in the classroom. And they wanted to redesign their platform to do that. So they retooled their entire thing using AWS Cloud. But what was great about their approach was that they also baked in a lot of science into the online learning. And what they were talking about was the way that we've been doing measurements and metrics and science and learning online is always after the fact. We look at test scores or we look at assessments. We look at the way that people answer multiple choice questions, but we don't actually bring the science
Starting point is 00:30:20 into the actual learning environment, into the live classroom. So what they did was used a number of AWS services, which you could find on any platform, transcription, they used a bunch of NLP work with it, a lot of analysis to be able to figure out how engaged every student was in the classroom, basically as it was happening. So they could give feedback to the teachers to show them like, hey, these students are really engaged. These ones not so much. And then they also use some really great computer vision to see how people were interacting with the coursework. So even just where their mouse was and what the position was, as well as their level of engagement with the students. So what I really liked about this was they looked at this problem of online learning and tried to figure out how do we make it suck less for the teachers, for the students, for everybody involved. And what I got me thinking about in this talk was how could we apply that to computer science in a really highly engaging sort of way,
Starting point is 00:31:25 and also a very metrics-driven, science-y sort of way so that everyone, student, teacher, administrator, can get better information about how the learning is actually happening online. I love that. Like educational data mining at its best. They really took it to another level. I mean, just their classroom experience is very dynamic, right? So it's almost that Twitch style. If you see on the screen here, the instructor is green screened in, in just the corner of the screen, right? So it's not over in a box with a bunch of distractions. He's in the corner and he's doing in this screenshot, he's doing a little bit of a mix and match and drag and drop, but they had other examples where he was, they had created a digital set where he was behind the counter at a hotel
Starting point is 00:32:10 and he could practice, you know, checking into a hotel using the foreign language with him as the receptionist and the student as the guest coming in. That's pretty cool. I think there's like, there's a lot, a big uptick in a lot of the educational data mining side for the data scientists. And there's been a lot more ability to collect all this big data from these websites. We got a slew, tons and tons of data from COVID-19. And I think a lot of people are realizing, wow, we have so much data now, what can we do? And that's awesome. That's awesome. Just changes the dynamics. I haven't been in the education space directly enough lately to know, but obviously I've seen kids through there and was in a lot of school myself. I feel like there's still probably a lot of opportunities for technology in education to make it smoother and nicer. Is that still true? Yeah. in education to make it smoother and nicer. Is that still true?
Starting point is 00:33:09 Yeah. I mean, just think about when you provide a course where you do a course online and you're in this box and all your cohorts are kind of in this box and you have to switch. And then your slide takes over all the space when your students are trying to type. And if you don't have two monitors, everything gets in the way. So this can actually reshape the way that learning online for adults for for kids can can change right so can you imagine you're you're a tiny you're a nice little cut out person on the bottom screen and your code's going up behind you as you type so you're not in the way and you're still there and you're still engaging and you're still keeping you know that that physical physical contact i did air quotes there for those people listening. I keep forgetting podcasts.
Starting point is 00:33:48 Physical, you know, contact with your students. Yeah. And did you just air quote that we were a podcast? A podcast, too. Can't take her anywhere. Sean, what else was your takeaways from AWS reInvent? There were a ton of really great talks there, and I'm catching up on a lot of them that I missed online.
Starting point is 00:34:12 But really, the main point was that everything is asynchronous. Everything is event-driven. And it's pretty much Python all the way down. There's Lambda functions everywhere, and most people are writing them in Python. There's, you know, plenty of other options as well, but it seemed like it was the most popular choice for making things happen in the cloud. It looks like a lot of the videos, you know, it's in other sessions are available on demand as well. So yeah, I put a link to the one with Werner Vogel, which was really great.
Starting point is 00:34:41 That was all about the asynchronous world that we live in and making the cloud more asynchronous. As well as a, I forget the other one I put in, I think it was a link to, oh, a new feature that they added called EventBridge Pipes, which I thought was kind of fun and a nice throwback. So EventBridge on AWS is like a place where you can have event-driven code. So one process will finish, it will post an event saying, hey, I'm finished. And then another bit of code like a Lambda or something else can pick it up and process it. But they took the idea of bash pipes or Unix-style pipes, and they're using it to connect these events more directly. So instead of having to write a bunch of glue code to be able to pass data and information about these events from one process to another, from a producer to a consumer,
Starting point is 00:35:28 you can just connect them together directly. And so, okay, when this happens, then do this other thing, just like you would pipe output from one command into the input of another. Okay. Very interesting.
Starting point is 00:35:38 Nice. I also got to give a shout out to AWS and for, or in re-event to get those videos out that quickly. I mean, it just stopped just a few days ago. So that's amazing. Yeah. They had live streams for just about everything. You could register for free for it.
Starting point is 00:35:57 Pretty much every breakout session I went into had a really nice camera in the back filming it. I think I even, I was even interviewed on a video podcast while I was there. They really were embracing video and live streaming and making it available to as many people as they possibly could. I guess when you're like the top server holder and space provider, it doesn't matter, right? Sure. It's just money, right? Well, it's a great example of a company investing millions in a conference to get billions back from the developers using their platform so it seems like a smart investment absolutely well yeah but
Starting point is 00:36:30 wait before we move on really quick just an audience james just says that would be an awesome use of tech in teaching comp side yeah that's definitely about sean yeah um but do we have any extras um let's i guess round it out kelly you want to go first yeah good yeah yeah so i just saw this and it's only been out for six days but there's a new special interest group um with the psf which is an edu sig and it's led by timothy wilson so i i actually reached out to them because they've got a great list of universities that are teaching python they've got about five high school um schools that are Python. And I'm like, wait, I know there's more because I know there's a lot of our listeners out there are teaching
Starting point is 00:37:10 Python there. And with all the work that's done with the educational summit, I thought this was interesting. There's not much on it from the PSF. So I'm hoping to find some more information soon, but it's only been out six days. So I've got to be patient, I guess. I'm like, go and launch with full five pages of information, please. Yeah, that's excellent. That was nice. Sean, do you have any extras? I posted a couple of links to those talks at reInvent that I really liked. Go check them out. They're pretty fun to watch. And like Michael said, I think pretty much all of the live streams are out there, certainly of all the keynotes, but it was looking at dozens
Starting point is 00:37:49 of different breakout sessions available now and all of it online for free. Wonderful. All right. I got a couple real, real quick ones here. So I talked about TextSniper and Textinator a little while ago, which is just fantastic software
Starting point is 00:38:04 for select part of your screen, whether this is a video you're watching with like a code demo and they're like, oh, here, call this API or here's a link to just quick command shift to select. But we left our Windows friends out of that. So who was it? I want to make sure I give some credit here.
Starting point is 00:38:22 I don't remember this ever. I'm sorry. But someone, thank you, listener, sent in a text extractor, which comes from the Microsoft Power Tools for Windows, Power Toys for Windows, which is the same thing for Windows. So if you're in Windows and you want to be able to hit a button or hotkey and then say, I want to copy this out of the video so I'm taking notes and I don't want to write you know five lines of bullet points i want to just paste them boom here you go so there's that that's a great a free one um nice did a quick article uh over on using ginger partials to break up your your html templates like ginger chameleon and django templates into more reusable pieces and
Starting point is 00:39:06 yeah that's that's it for me just those quick ones okay i'm i just had like i guess now that i have two teachers um and we were talking about how education has changed um i just want to hear if you have a similar experience so my daughter is in junior high eighth grade um and she's um uh the she was in sixth when they were home the whole year doing like uh and the the they did it all on ipads um now they're back they're back of course but they're still using the ipads a lot and they're even turning a lot of their work in i mean i and i didn't i didn't type when i was in junior high. I was writing stuff. And they actually, some of the writing assignments now have to actually be in paper, which is the unusual thing. Most of them are typed and sometimes they're in paper. And the kids complain of like,
Starting point is 00:39:55 I don't want to actually write something. Do you guys deal with that at all? I feel the same way. I hate writing. I do too. I do too. Sean and I would not have a printer in our room. We're like, they're like, do you have scissors? Do you have a pencil? I'm like, what's a pencil? Who uses pencils in this school? I, I think it's, it slows down. It's for, for us, for me, at least it's inefficient. I'd rather type something. I can even start typing while kids are up to me looking at me and I can
Starting point is 00:40:21 without, you know, looking at the keyboard. And whereas if you're writing, you have to stop. And one of the interesting things is the due dates. Now the due times are not on, they're not like 59 PM. Yeah. They're like midnight or something like that. It's defaulted in most learning management systems and teachers are lazy, just like coders. Okay. Interesting. All right. Well, thanks. Yeah. Well, I think the whole typing versus writing is it should have a purpose, right? There should be an intent behind it. So in some grade levels and in some settings, the idea of writing something out is really important. It might be to help slow down the
Starting point is 00:40:58 thinking or even sometimes the tactile feel and the feedback that you get from the pen or the pencil moving across the paper, right? It's the satisfying part of using a crayon, but as long as it's not, Oh, write it because I told you to write it. So you don't cheat, right? It should be, it should be there for a purpose or a reason. We want you to write this out because we want you to slow down and think about what you're writing or take the time to process what you're writing instead of
Starting point is 00:41:23 just, you know, typing it it out that makes sense to me but i never appreciated the just do it because i said so i'm concerned about the kids ability to doodle while the teacher's talking though are we losing that teachers don't teachers don't like kids to doodle while they're talking anyways because they're like you're not listening um and i mean that's that's what's said right we on the other hand we have whiteboard markers all over the tape you know out there for the tables and the walls that's something that sean and i started and has kept um because we do like the process of writing like sean said i you know what write out your pseudocode think about what's going on how would this look if you were writing, writing something in an editor? A hundred percent, but actual writing stories. I use Grammarly like your tweet.
Starting point is 00:42:10 Well, I forgot we, we haven't, we haven't got to our joke yet. So this is, this is true. I actually have a really quick follow up now. For people who are like in the digital side, but kind of want this good checkout check out paper like which is a screen protector for your ipad that gives it writing on paper feel oh nice for the the pen that might be kind of nice because still writing on on glass is just odd all right but on to the joke uh we got a couple of jokes uh marco was picking on me earlier saying, you use Mastodon, Michael? I had no idea. But as much as I love it, I tried to pull up the jokes last week, which were on Mastodon, and they would not pull up. If I pulled
Starting point is 00:42:53 them up when I was logged into Mastodon, they would say, you can't find these. But if I pull them up in an incognito window, guess what? You can find them. So I want to highlight a couple of jokes. We talked about recursion like the week before and kim van wicks has um given the nature of the joke perhaps next week's python bites joke could just be see last week's python's python bites joke and also i saw another uh joke or not really a joke but sort of a a meme derived from a real thing is apparently crows or ravens can can learn recursion and so it's just a a matter of time before they take over the world so no they're gonna get stuck in in a race condition where they don't have a base uh base case and we'll never see them again they're like no exit condition no yeah
Starting point is 00:43:37 the call stack got too deep sorry why did that raven fall over? Well, it just went in circles faster and faster until it collapsed. All right. Then I got another Mastodon sort of follow-on joke because, you know, Mastodon is like open source and like independent and not corporate. But it's kind of weird. So this person says, timeline of a new Mastodon user. Day one, this sucks. Servers are confusing. Why is my feed empty?
Starting point is 00:44:03 Day two, there's no quote tweet. This is dumb. Day three, Mastodon better make some changes if it wants to compete with Twitter. Day seven, hmm, people are nice here. Really nice. Day 10, I'm loving the no ads and real conversations. Day 15, the workers must seize the production.
Starting point is 00:44:19 The means of production execute the capitalists, might I add. The billionaires first. It's like, ah, first yeah maybe i can see people getting a little too uh too intense in this and then uh let's see here that's too true i'm telling you this is the timeline we're like on day 15 around here and then i saw some some one of y'all put this joke in here as well as someone want to take that one yeah this is the uh you know my source for most of my geek humor, which is XKCD. And it's a feature matrix of the various social media platforms. And so on the left side, it's got things like direct messages, group chats, file transfer,
Starting point is 00:44:57 built-in games, user-run instances, doesn't require a central server. So it just goes all the way down. And across the top, it's Twitter, Discord, Mastodon, Facebook, just goes all the way to the right. And on the very right side, you know, everything has like maybe half of the checkboxes at most filled in for features. But on the very right side, it says the Sybico wireless handheld computer for teens from the year 2000. And it's every single checkbox. It does all of it from 22 years ago. I love it. Interesting.
Starting point is 00:45:29 We were living in the future and we just didn't know it. Yep. So now there's going to be a run on Sybico computers on eBay. You'll never be able to find one now. It'll be like raspberry pies. They're just to be on unobtain. Yeah. Like that quote,
Starting point is 00:45:41 the future is now is not true. The future is 22 years ago. You missed it. You're late in the game. Well, um, so thanks. Uh, thanks everybody for coming on the show.
Starting point is 00:45:51 It was a lot of fun. Thanks, Michael. Thank you for having us. We always enjoy it. Yeah. Thanks for coming. Sean and Kelly.
Starting point is 00:45:58 Bye everyone.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.