Python Bytes - #438 Motivation time

Episode Date: June 30, 2025

Topics covered in this episode: * Python Cheat Sheets from Trey Hunner* * Automatisch* * mureq-typed* * My CLI World* Extras Joke Watch on YouTube About the show Sponsored by Posit: pythonbytes....fm/connect Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Python Cheat Sheets from Trey Hunner Some fun sheets Python f-string tips & cheat sheets Python's pathlib module Python's many command-line utilities Michael #2: Automatisch Open source Zapier alternative Automatisch helps you to automate your business processes without coding. Use their affordable cloud solution or self-host on your own servers. Automatisch allows you to store your data on your own servers, good for companies dealing with sensitive user data, particularly in industries like healthcare and finance, or those based in Europe bound by General Data Protection Regulation (GDPR). Michael #3: mureq-typed Single file, zero-dependency alternative to requests. Fully typed. Modern Python tooling. Typed version of mureq (covered in 2022 on episode 268) Intended to be vendored in-tree by Linux systems software and other lightweight applications. mureq-typed is a drop-in, fully API compatible replacement for mureq updated with modern Python tooling: Type checked with mypy, ty, and pyrefly. Formatted with black, no ignore rules necessary. Linted with ruff (add these rules for mureq.py to your per-file-ignores). Brian #4: My CLI World Frank Wiles Encouragement to modify your command line environment Some of Franks tools direnv, zoxide, fd, ack, atuin, just Also some aliases, like gitpulllog Notes We covered poethepoet recently, if just just isn’t cutting it for you. I tried to ilke starship, bit for some reason with my setup, it slows down the shell too much. Extras Brian: Interesting read of the week: New theory proposes time has three dimensions, with space as a secondary effect Michael's: New quantum theory of gravity brings long-sought 'theory of everything' a crucial step closer Joke: Brian read a few quotes from the book Disappointing Affirmations, by Dave Tarnowski “You are always just a moment away from your next worst day ever. Or your next best day ever, but let’s be realistic.” “You can be anything you want. And yet you keep choosing to be you. I admire your dedication to the role.” “Today I am letting go of the things that are holding me back from the life that I want to live. Then I’m picking them all up again because I have separation anxiety.”

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bytes where we deliver Python news directly to your earbuds. This is episode 438 recorded June 30th 2025. I am Michael Kennedy. And I am Brian Ocken. And this episode is brought to you by the amazing folks over at Posit and Posit Connect, their data science execution and hosting platform, and a bunch of other things, which Brian will tell you about shortly. But for now, if you want to connect with us, you can do so over at Mastodon or Blue Sky or to a lesser degree even on X, although that place has not got as much action these days sadly. But yeah, connect with us over on
Starting point is 00:00:45 social. Join us on YouTube right now. We're recording live. We typically do that at 10 a.m. on Mondays. A few minutes after 10. That's kind of, we sort of get stuff ready and when we got it all set we push go. So you can find out more about that and get notified and subscribe. You know, crush the bell, all that sort of stuff over at PythonBytes.fm slash live. And if you want an extra additional insights into the episode and the tools and topics we cover, sign up, become a friend of the show by joining our mailing list and Brian will send out an awesome email that not just lists what we talk about or have in the show notes, but way more. It's really, really good. Right, Brian?
Starting point is 00:01:26 Yeah. I like, like it a lot. I do too. I'm really liking where it is these days. I enjoy reading it. Would you say it's cheating though? If you like it's cheating, it's definitely cheating. No, it's not cheating. Cheating is okay. Sometimes it is. All right. So, so let's hop into the first topic on the Python morsels website. This is Trey Hunter's blog and thing. I'm not sure what you call it. Anyway, it's a training sort of thing.
Starting point is 00:01:50 He's got a whole bunch of articles about, he pulled together a list of all of his cheat sheet articles and I kind of love this. So there's some of these that I'm gonna pull out a few of my favorites, but so Trey Hunter's cheat sheets, we've got Python string methods, built-in functions in Python, f-strings, converting a string to a date time,
Starting point is 00:02:09 pathlib, even big O notation, nice, the time complexities of different data structures. That's cool. Anyway, some of these are through, you have to pay to be part of his service to watch some of them, but some of them are free. I'm gonna highlight a couple of the free ones. Python f string tips and cheat sheets. So this is, so we all love f strings, but sometimes I can't remember
Starting point is 00:02:33 all the different formatting stuffs like formatting numbers. So this is good to have just some, some, uh, some cheat sheets. Like how do, uh, if you do want to do zero digits, um, or zero digits or prefix, like you want, you want to have like, if you're going to do zero digits or zero digits or prefix like you want you want to have like if you're going to do money you want.00 or something and so how do you do that it's.2f nice or in but it's like the variable then colon.2 anyway i'm not going to try to describe it on the podcast but um having all of this in here and then occasionally you want like zero padding or space padding or something. And so it's good to look up how to do that. It's got a whole bunch of stuff.
Starting point is 00:03:10 Space padding, yeah. Neat. Yeah, those little tricks and formatting tips that go into the F strings or string.format or whatever. Yeah. Those are amazing and they're super rich. There's a lot you can do with them. I didn't know you could do thousands separator.
Starting point is 00:03:26 That's neat, that's cool. Yeah, I do that all the time and I combine it. I'll do comma, point, two, F, and it'll do two decimal places, thousands of groups. Okay, so F strings, cheat sheet, that's great. Another one, pathlib module. Now, pathlib actually has got really good documentation,
Starting point is 00:03:46 but cute like a nice little cheat sheet. It's pretty cool. So, you know, how do you read all the text of a file? And this, I like this table format. This is easy, pretty easy to read. Read all the contents of the file, write file contents. Ooh, you can just write text with new, creates a new file. I didn't know you could do that.
Starting point is 00:04:05 That's cool. Resolving a path to the full path. Getting the file name is path.name, but if you just want the suffix, there's path.suffix. And these are all, this makes sense. It's just, you know, what, like, yeah. What is it? What, what is the thing that pathlib decided to use that was obvious? It's not always obvious. So, cool cheat sheet
Starting point is 00:04:32 there on pathlib. The other one I want to point it out is Python's mini command line utilities. And those are things that you just say, like just built into Python, you can say Python dash M, and then the thing and it's usually an internal standard library thing. But if you just run it by itself, some things you can, some, there's a bunch of stuff you can do. I was, there's a general purpose that the general purpose ones we like, a lot of people know that you have HTTP dot server does a thing. But Jason tool is kind of nice. You can do JSON tool to kind of print out some JSON nicely.
Starting point is 00:05:10 Calendar is a nice cheat sheet for just being able to print out a calendar and figure out when, like, and you can give it a date. If you just do calendar, it'll print today, but you can give it a special date and it'll print that out if you're trying to figure out, wow, in 1996 was April 3rd on Monday or you can do things like that. And my favorite is especially handy on Windows section because I kind of grew up on Solaris
Starting point is 00:05:38 actually but Unix environments and so, but I spend my days in a, on a Windows machine. So, um, I get like sad if I don't know where zip or GZip or tar are and things like that. I don't really use tar that much these days, but you can use these things directly from Python. If you have Python installed like Python dash M GZip and you can use, you can have a zip and unzip utilities. This is great. FTP. So many things that are just standard on Linux, you can't, that aren't on Windows, you can install them, but if you have Python, you already have them installed.
Starting point is 00:06:11 So that's pretty neat. Anyway, those are some fun cheat sheets. There's a bunch of others too. So thanks Trey for pulling all of these together. Yeah, those are pretty cool. And the CLI tools, there's a lot of them. Yeah, there really are. It's a, this is a big article.
Starting point is 00:06:27 So yeah, I think we've covered it before, but. I think so. But now it's grouped in with all the other things. Yeah. Indeed. All right. Let's talk about something that I'm excited about. Automatisch.
Starting point is 00:06:41 So, Automatisch is automatic in German. And this is a tool called, which is an open source alternative to Zapier. So, Automatisch helps you automate your business processes without coding. They have a, you can sign up for this instead, which is kind of just like Zapier. So, you know, I mean, good for them and all. But the real reason that it's interesting to me is you can self host it. Oh okay. Yeah so this is not a Python built tool but I don't really think it matters I think it's a tool that would be super useful for people doing Python things you know like I want this tool to listen to Slack and when somebody posts something with this word in it I want it to call a web service that's written in fast API or you know
Starting point is 00:07:29 something like that right so yeah it's it's super cool it's well loved it's got 12,000 plus github stars and if you've used Zapier it feels a lot like it you know you go in there and say like this thing they have on the homepage that's like well when somebody posts something on Twitter Then I want you to do something in slack All right, maybe if somebody posts something that talks about our brand then post into the marketing slack, right? I don't know just making stuff up right so super cool It says it's great for companies that are dealing with sensitive data You're in healthcare or finance or if you're based in Europe and you're subjected to the GDPR, honestly most people are if you have European customers
Starting point is 00:08:09 as well, don't interact with Europe are you not really? And you don't want to share that information with cloud services, it's Docker compose up and you've got your own Zapier which I think is pretty cool. It's open source and doesn't have really that much vendor lock-. I mean, there's some lock into the app, but not into them per se, because you have the source code, I guess is the motivation. If you go look at all the integrations, there's quite a few. Airtable, AppWrite, FlickUp, Datastore, DeepL, Discord, Disqus, you know, Flickr. How about that?
Starting point is 00:08:42 GitHub, GitLab, Google Calendar, and so on, right? Quite a few things, a few things you can connect with into, out of RSS, and so on. Webhooks, which is the one I was talking about, right? That's kind of your, call my Python code when something in one of these other things happens or vice versa. What do you think, kind of cool, right?
Starting point is 00:08:59 Yeah, that was pretty neat. Yeah, and all you gotta do is, it comes with a Docker config already. And they do some pretty, pretty nice tricks actually. So they've got a Docker compose file, like I said, and they have a Docker image and automatish IO, um, which it's just based on. So you don't even really have to build it. You just, you know, hold the thing and once you have it, you're, you're good to go.
Starting point is 00:09:20 And you run it. And one of the things they do, I thought just, you know, people who are in the Docker land to the Docker compose endpoint or entry point rather runs this shell script and the shell script actually goes and it looks and it says if you don't have a dot E and V file already set up like if you didn't set one and copied over it'll do things like set up random SSH or random rather encryption keys and webhook secrets and other types of things and then it'll write that for you So if you don't have an environment file, it'll make it and then it'll like move it over and use that as part of your execution
Starting point is 00:09:54 So it kind of handles some of that setup that you always have to do and you're like it'll say enter your secret here Make sure you randomize this don't leave it the default or you might get hacked, you know that kind of stuff Yeah. Yeah, I just thought that was kind of a cool, a little technique they're doing. I just saw like on blue sky, I think somebody commenting that instead of putting their app API keys in their source code, they changed the, uh, the name to this is not my API key. Nice.
Starting point is 00:10:24 Not really good. I'm looking at the plans though. The open source doesn't have any limits. So the like for instance, Zapier has has a free plan also, but there's it's limited to how much you can use it, but 100 tasks per month, but the open source has no limit on the automatic. So yeah, that's that's super cool. So yeah, like I said, I think you just, if you want, you can just run this on your own server
Starting point is 00:10:49 and it does its own thing. It looks pretty vibrant, right? It's got almost 1,000 forks, 12,000 stars. Like, seems like it might be worth checking out if this kind of thing is something you're looking for. I haven't decided if it is for me or not yet, but I kinda wanna play with it. So I was curious, like, the number of forks,
Starting point is 00:11:04 is that like, is high good or? I think so well to me the number of forks indicates in a healthy project how many people want to contribute back because if you're gonna fork it and then PR do a PR back you you can't do it directly like how many contributors there's not that many maybe like save it but you know if you're doing this for your business you probably fork it like we just need a copy just in case. I think where it might be a bad, bad thing is where there's been like a big reaction to like a change in an open source
Starting point is 00:11:33 license or something and people are like, I'm gonna grab it real quick while, you know what I mean? Like I'm thinking of Redis or some other things where there was like drama, you know what I mean? I don't know that there's any drama about this. I haven't heard of any dramas. I was just thinking about that, like the forks, because yeah, like you said,
Starting point is 00:11:52 you have to fork it to contribute, or and some people fork it just to play with it. But then also, that doesn't mean that there's 800 supported forks. They're just, yeah, so. For me, there's kind of two reasons I fork stuff. One, because I want to contribute, or two, I'm like, this is really important.
Starting point is 00:12:12 What if it were just to go away for some random reason? I just want to copy, you know what I mean? Oh yeah, yeah. All right, yeah. So those are the two, right? Like I might fork, court, and flask because TalkPython is based on those things. All right. And I don't really necessarily need to contribute to them, but I kind of just
Starting point is 00:12:29 want to have a copy, you know, cause it's so important. Yeah. I guess that's, that'd be a way to pin it as well. If you, if you're just pulling your own fork, anyway, we're kind of getting on tangent, no way, let's bring it back. All right. Well, let's, um, let's thank our sponsor, Posit Connect. This episode of Python Bytes is brought to you
Starting point is 00:12:48 by the folks at Posit. Posit has made a huge investment in the Python community lately. Known originally for RStudio, they've been building out a suite of tools and services for Python. Today, I want to focus on hosting your Python-based data science workloads.
Starting point is 00:13:03 This includes dashboards, reports, plots, interactive web apps, all the way to custom Flask and Django apps. Their service is PositConnect. PositConnect makes it easy for a data scientist to share work built on Python code. If you have a Streamlit app, Dash, Dashboard, Plotly Interactive Plots or Fast API Service,
Starting point is 00:13:22 or even a Quarto report, just give PositConnect the code it needs to maintain the asset, and Connect automatically does the rest. Connect will manage your APIs and serve your interactive apps. If, and if desired, update your ports and dashboards on a scheduled basis, that's cool. That's right, no more need to explain to the stakeholders
Starting point is 00:13:41 why the dashboard or plot stopped updating last week. You get to focus on your data science and leveraging your skill set while Connect makes you look good, keeping your code running in private. With Connect, you get a private URL on your Connect server, ensuring that your asset is continuously available to your stakeholders. You can control which users have access to the asset. Let PositConnect handle the delivery and DevOps involved in sharing your work. You focus on what you do best.
Starting point is 00:14:09 So if you work on a data science team, you owe it to you and your organization to check out PositConnect. Visit pythonbytes.fm slash connect today and get a three month free trial and see if it's a good fit. That's pythonbytes.fm slash connect. The link is in your podcast player show notes. Thank you so much to Posit for supporting PythonBytes. Definitely. Thank you, Posit. Very cool service. All right, Brian, you probably don't remember
Starting point is 00:14:36 Murecht, but it is something we covered a way back in 2022, M-U-R-E-Q, as in mu, the micro symbol in science. And the idea of that was, we're going to have the minimal, the most minimal version of request the library as possible. Okay, so that's fun, and it's really cool for times you don't want to have external dependencies. You can just copy the one file into your project
Starting point is 00:15:08 or just take the code and jam it at the end of your project or however you want to do it, right? So Harold Martin sent us a note today. I have updated this project, forked, I believe, and created a new one, updated for Murek typed. So it's like the Murec, but very deeply typed and type checked. So it's not only type checked, it's type checked with MyPy, with Pyrefly, and Ty. Ty, rather. So that's pretty modern to be type checked with the two major type checkers we talked about recently, right?
Starting point is 00:15:42 That's pretty cool. Yeah, neat. So why do you care about this? with the two major type checkers we talked about recently, right? Yeah. That's pretty cool. Yeah, neat. Yeah. So why do you care about this? Well, like I said, it's a single file, zero dependency alternative to requests, but works on modern tooling. You can open it up.
Starting point is 00:15:54 It's literally murec.py. You just copy this puppy in. But if you just look in here, you can see the default timeout is a colon float. And the headers are a mutable mapping of string string or an HTTP message and right there's like you look at the typing like there's some of these down here that are pretty gnarly I'm glad I didn't have to write them like this yield response as headers or a
Starting point is 00:16:18 list of tuples of strings of strings or it could be none with a default of none and so on right so pretty neat that this is put together by herald and i like the idea of it i think this is something that we're going to see more of in python not because people are necessarily seeking out stuff like me rec dash typed although if it already exists you might as well right but because i think llms are going to encourage people to go really just need to call the one function. I know it's this huge library and it does all these things, but I just, hey chat, give me a function, does this, does it work, all right, no dependencies,
Starting point is 00:16:52 all that kind of stuff, right? So there's a couple of cool benefits to not having dependencies that you have to worry about. And by the way, it's the same API as requests. So if you have requests, you could use this, you could just change the import statement, or you could even do import mu-rect as requests. So if you have requests you could use this, you could just change the import statement, or you could even do import Murect as requests and then don't touch the rest of your code. You know what I mean? So it says why do you even care about this? Well apparently it's quite a bit better in
Starting point is 00:17:15 terms of memory usage. So like standard Python 7.4 megs to run on, I don't know, apparently on Buntu on AMD 64. But if you go and run Murec and you import it, it kicks up at some more libraries. Do an actual function call, it's 15 megs. But if you do the same thing with just importing requests, it's like almost double. It's like import requests basically adds quick math 14 megs here, what otherwise would be 7 megs of memory usage, right? And if you make a request, it's then, you know, three more megs, which is not a ton a lot of times, but you know, if it's something you care about, it is a lot less. And basically Harold points out here, like, there's a lot of stuff that has
Starting point is 00:17:57 happened inside of Python to make it better in terms of these things like for example, PEP 476, which begin validating TLS certificates inside of Python's libraries. Python 3 has HTTP client, which does a bunch of similar stuff so it's pretty easy to wrap that in the same API is what he's saying. And finally, no supply chain attacks. You can get this one file, validate it, put it in there, and then it's not going to get updated. It's about 500 lines of code, so it's not super long, and a good chunk of that's typing and documentation.
Starting point is 00:18:33 Cool. Yeah. Anyway, I thought I'd give that a shout out, because I'm all about having nice typed libraries to work with. And I like this idea of vendoring in. You really just need a simple little thing. Just vendor in something if you can, and pretty good.
Starting point is 00:18:48 It's the opposite of left pad. Remember left pad, right? Yeah. Yeah, with the JavaScript thing that took down the world. No, right pad. I don't know. What's up with that? So left pad, let's see.
Starting point is 00:19:01 When was this? I think this is the same guy. I think he got ultimately, yeah, it's got its own Wikipedia page. This guy took down the left pad package. Like there was a separate package you got to left pad a string. So instead of writing the job,
Starting point is 00:19:16 you know, npm install left pad basically, or npm, and with this, save it to your dependencies, right? Guy got mad that people were taking advantage of his open source work and deleted it or something like that. And it just it took down like it took down react. Facebook, PayPal, Netflix. Yeah, this caused a widespread disruption as technology corporations, small and large, including Facebook, PayPal, Netflix, and Spotify, who use a lot of bad software products can no longer build their packages.
Starting point is 00:19:49 I mean, it's bad. There was another guy who also got arrested for creating a bomb. And I'm not sure if this is the same guy. Maybe that was a Python guy. One of these guys that did something like this also. It might be a sign of an unstable situation. But anyway, it's kind of funny and kind of just over the most extreme example you can look at.
Starting point is 00:20:10 But stuff like this vendering in for these simple things is like, OK, you're no longer subjected to that weirdness, right? I guess the opposite size is if there were a security vulnerability in the code, not a malicious necessarily, but something they missed and they updated, you're not gonna get that fixed either, right?
Starting point is 00:20:29 So you gotta consider those things, but being a wrapper on the built-in HTTP clients, probably fine. Interesting, I was just looking at part of our history, search Python bytes. And even though left pad happened like in 2016, the same year that we started Python bytes, that term doesn't show like in 2016, the same year that we started by them bites, that term doesn't show up in in our in tilt 2021 four years, four years ago. So interesting.
Starting point is 00:20:53 Interesting. I wonder what I might have been talking about. Probably we were talking about something analogous like this, right? Like we're not covering left pad, but like it's a left pad like thing. Left pad so bad. Probably. Yeah. Yeah, probably're not covering left-add, but it's a left-add-like thing. Left-add, so bad. Probably, yeah. Yeah, probably. Anyway, cool. Yeah, indeed. Last one for you.
Starting point is 00:21:12 Yeah, I want to talk about command line interfaces. Actually, not command line interfaces, really, shells. So Frank Wiles posted My CLI World, and he's talking about, it's like shell customizations. Let's see. He says, when I was first starting out, I spent a bunch of my time SSH'd into a remote server.
Starting point is 00:21:36 So didn't customize his shell that much. But now he's mostly doing web development on a local laptop, which I realized that it's a big change for me too. I am not SSH-ing in very much anymore. So, customizations are easier. So I kind of love these sorts of articles of like, these are the customizations I use,
Starting point is 00:21:59 but he also listed a bunch of cool tools that he's using. So I am actually kind of jealous. He uses Starship for the prompt and he's got all sorts of stuff in here. And this is like what branch he's looking at, what version of the whatever package he's in, which Python version he's using in his virtual environment. This is kind of nice.
Starting point is 00:22:23 I tried Starship and something about my setup, it slowed my shell down too much. So I'm not using Starship anymore. But I wanted to pop over, not go through his full article, but talk about some of the things he brought up. DirEnv, D-I-R-E-N-V is one of the tools. And this is two before each prompt,
Starting point is 00:22:48 DirEnv, how are we supposed to pronounce that? Checks for the existence of environment RC files, EnvRC and optionally.env files and does any settings. So like we were talking about with one of your previous tools, if you've got like API keys and stuff hiding in a.emv, you can have that automatically loaded up when you go into the correct directory.
Starting point is 00:23:12 It's kind of nice. Then Z-Oxide, which this is definitely one that was been on my list to try out. It's inspired by AutoJump in Z, but this is a utility that keeps track of like where you've been before and which applications or which command line thing, basically it's a smarter history sort of thing.
Starting point is 00:23:35 So I definitely want to try that out again. FD, also FD seems like a cool tool. Find entries to your file system. So instead of the pattern of finding a name, name of a file and finding that somewhere, it's a better way to find stuff. And then if you're actually looking in, want to look at the content, ACK, I think I'm sure we've covered ACK before. ACK is a great tool for really quickly looking it's better than grep and said sort of things.
Starting point is 00:24:11 Another fun thing is a two in, which I definitely want to try. It's making your shell magical, sinking your history. So having your history not, I have a problem with looking for a command that is in a different window and it, so it's not in the same history or it got deleted or something. So I want to check this out for backing up my shell history should be fun. So he also in the article, he refers to using just files and for some reason just, just
Starting point is 00:24:44 dust doesn't work for me. So I guess I'll just add on that we covered Poe the poet. It does a similar role as just. So anyway. And then he talks about some customizations like his own aliases and even has an article for one of the, a couple of the aliases, which is, this is, I was like, I never thought to do this as an alias, but I'm so glad that he wrote this down. So let's say you're working on a project and you, before you, you hop in and you know there's been changes by some other, somebody else on the team.
Starting point is 00:25:19 So you do a get poll and a bunch of stuff gets pulled in, what just came in. And so there's, it's just a, you, apparently you can get it with get log with like a at curly brace one, something like that. I'm not going to remember that. So he made an alias that's just, just that, but it's called get poll log or get diff or pull diff does a diff basically of like what, what changed and the actual code that changed but the log is the stuff i pulled in what are the get comment
Starting point is 00:25:53 or the commit comments for those so again just really love the uh the idea of um of people writing blog posts of all of their shell customizations and sharing all the command line tools that they use is pretty nice. There's a lot of cool stuff that isn't there. Yeah I've used Xeoxide I really liked it. I think some others are cool. These Git little tips are great as well like I'd never remember those things either. People are weird. But yeah you just alias stuff and I think that's one of the tricks is like some of these shell things are hard or complicated
Starting point is 00:26:25 or even just a lot to type. But if you just put them into your profile or your B, your bash or ZSH RC file, right? Then just remember the one or two words, right? And you're good to go. Yeah, and I also, I like the idea. So some stuff is different for different projects. So you might have like the same command,
Starting point is 00:26:47 using just or po, you could have the same command do different things depending on which project you're in, the appropriate thing for that. I wonder if you could use dirt env to change what the same command means per directory. Like maybe something is built using make and another thing is built using, I don't know, po or something, right?
Starting point is 00:27:10 And you could just have like the word build do whichever it is, but if you're in that directory, it looks up and says, okay, that means call make in this case. Otherwise it calls, you know, wouldn't that be neat? Yeah. Yeah, cool, cool. Yeah, very neat. For people out there who are like,
Starting point is 00:27:23 ah, I'm kind of not very comfortable in the terminal or I don't like being in the terminal, look at stuff like this. If you just open up a bare bash shell or a bare power shell or whatever, that is not a nice experience. But if you put a bunch of these little cool extensions and add-ons and make it your own,
Starting point is 00:27:40 all of a sudden it's not just not bad, it's delightful. And so I think especially people who are kind of beginners listening, like look into this stuff. Yeah, I always get thrown when I assume VI mode or VIM mode and it's usually not the default. So my big tip is set dash OVI and then it works. There you go. Yeah.
Starting point is 00:28:03 If that's what you're expecting, definitely do that for sure. Yeah. All right, you got extras, I got no extras. I just have one extra that's kind of out of the blue. It's a completely, and now for something completely different sort of thing. An article my wife shared with me, which I thought was fun, it's on the phys.org website. It's a new theory proposes time has three dimensions
Starting point is 00:28:24 with space as a secondary effect. Anyway, it's a fun read about possibly three dimensional time, like kind of like we have three dimensional space. And it's interesting read kind of kind of a fun picture too. And I do like that I'm seeing this now people are actually fessing up when they have an AI generated image as a credit So a lot of times they don't need to fess up. You're like, yeah, let's say I generated but When it looks they're photorealistic then that's really cool. Yeah, so anyway, just a fun read about some physics I saw this title go by I haven't read it. But yeah this
Starting point is 00:29:00 Voice like that were true. How insane is that? Like time is time is just so weird anyway I also saw one that gravitation could be some kind of knock-on effect from like quantum mechanics like there's some really wild theories going on right now but we will see we will see yeah all right all right well oh wait I have a quick follow-up before you do the joke okay let me do the quick follow-up here people don't know we have a search engine. I went in here and I typed into our search engine by the bike Queens. What did I type? Queens and then packet. I can't remember now. I forgot. Anyway, running the quick little search I came up with Python on the beach. The one where you came in dialed in from Hawaii, which is awesome. But if you go down to the extras, this is what I was hinting at,
Starting point is 00:29:46 and this is not the same person. So this is a totally different, not a left pad incident, a left pad like thing. So Marek Squires, who had taken a couple of his packages and done some sort of supply chain attack or at least sabotage also Also, this is a post says hey Brian Krebs I just noticed that the this guy Maarek Squires seems to be the same fellow that sabotage two of his own popular open source
Starting point is 00:30:16 libraries last week color JS and faker JS remember that and the article is resident of Queens home Suspected in bomb making materials charges being taken away. It looks like maybe even it blew up. I don't know. There's some kind of EMT thing going on. Yeah. So I think I searched for NPM in Queens because I knew the guy was from Queens. So not the same person, but the same category of things. Did he open source his bomb design though? I hope not. I definitely hope not. I definitely hope not. All right.
Starting point is 00:30:46 Okay. What do we got for our jokes? So for a joke today, I'm just actually gonna, we're gonna have a reading. So a... Gather around boys and girls. Yeah, not too long ago was Father's Day. I don't remember when, but I got a gift for my kids and it was this book called, I'm gonna hold up, Disappointing Affirmations.
Starting point is 00:31:08 And there's a lot of them are not safe for work. I'm gonna read some of the safer work ones. I just have a full, a few pulled out. Here's it right here. I have to turn it around to be able to read it. But you are always just a moment away from your next worst day ever or your next best day ever. But let's be realistic. Let's see. Here's another one. You can be you can be anything you want. And you keep choosing and yet you keep choosing to be you. I admire your dedication to the role. And they're all like with these nice, nice, nice pictures. Yeah, like over the motivational these nice, nice, nice pictures. Yeah, like over the motivational background pictures. Like the sun setting.
Starting point is 00:31:49 Last one. Oh, today I am letting go of the things that are holding me back from the life I want to live. Then I'm picking them all back up again because I have separation anxiety. I love the funny things. I'll put a link to the book and not with any sort of like kickback link, just a link to the book. It's a plain old link. Just a plain old link. Sweet.
Starting point is 00:32:17 Yeah, that's really good. I love those things. Those are funny. I haven't seen the whole book, but it definitely feels to me. I know there used to be, I think they're still around the demotivator posters, right? Like the motivational posters, they have the demotivators and their similar thing in like poster form by a company called Despair Inc. I believe is what the name of the company is.
Starting point is 00:32:38 And it reminds me also way back in SNL, I don't remember which genre of SNL, but SNL had Deep Thoughts by Jack Handy. And I always thought that was like a made up thing, but apparently it was one of the writers names was Jack Handy. So it was good. Awesome. Well, very funny.
Starting point is 00:33:00 Thanks for the joke. All right. And thank you to everyone for listening. If you're here live Thank you for being here live And if you watch this on YouTube be sure to subscribe to the channel to get these all the time we have all of them recorded and available for you and Subscribe or follow we had to change the words on podcast in we subscribe or follow the podcast
Starting point is 00:33:19 I subscribe sound like money, but just follow it. It's free on your podcast player Whatever the button is if you're not subscribed to it. See you all later. Thanks. Bye

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