WEBVTT

00:00:00.020 --> 00:00:05.120
<v Michael Kennedy>This episode is a fun crossover from our Python news and tips podcast, Python Bytes.

00:00:05.820 --> 00:00:07.380
<v Michael Kennedy>We've had some big changes over there.

00:00:07.680 --> 00:00:12.640
<v Michael Kennedy>Brian Okken has moved on and Calvin Hendryx-Parker has joined the show as a new co-host.

00:00:13.260 --> 00:00:18.940
<v Michael Kennedy>To kick off this era, we decided to do a longer and more personal episode called All Our Tools.

00:00:19.480 --> 00:00:25.280
<v Michael Kennedy>The idea is both of us talk about some of our most useful day-to-day developer and business owner tools

00:00:25.740 --> 00:00:27.720
<v Michael Kennedy>that we think you all will find useful.

00:00:28.200 --> 00:00:32.119
<v Michael Kennedy>It was so well-received that I'm bringing to you as a crossover episode.

00:00:32.840 --> 00:00:37.160
<v Michael Kennedy>Enjoy, and we hope you find something new and awesome to help you with your software

00:00:37.280 --> 00:00:38.480
<v Michael Kennedy>and data science day-to-day.

00:00:39.240 --> 00:00:43.640
<v Michael Kennedy>And if you enjoyed this episode, please consider also subscribing over at Python Bytes.

00:00:43.820 --> 00:00:46.480
<v Michael Kennedy>We cover tips and tricks like these each week over there.

00:00:47.180 --> 00:00:54.160
<v Michael Kennedy>This is Talk Python To Me, episode 553, recorded as Python Bytes, episode 484 on June 16,

00:00:55.000 --> 00:00:55.480
<v Michael Kennedy>2026.

00:01:13.520 --> 00:01:17.840
<v Michael Kennedy>Welcome to Talk Python To Me, the number one Python podcast for developers and data scientists.

00:01:18.430 --> 00:01:23.700
<v Michael Kennedy>This is your host, Michael Kennedy. I'm a PSF fellow who's been coding for over 25 years.

00:01:24.320 --> 00:01:25.440
<v Michael Kennedy>Let's connect on social media.

00:01:25.500 --> 00:01:28.920
<v Michael Kennedy>You'll find me and Talk Python on Mastodon, BlueSky, and X.

00:01:29.090 --> 00:01:31.020
<v Michael Kennedy>The social links are all in your show notes.

00:01:31.800 --> 00:01:35.320
<v Michael Kennedy>You can find over 10 years of past episodes at talkpython.fm.

00:01:35.500 --> 00:01:38.680
<v Michael Kennedy>And if you want to be part of the show, you can join our recording live streams.

00:01:39.020 --> 00:01:39.520
<v Michael Kennedy>That's right.

00:01:39.760 --> 00:01:42.980
<v Michael Kennedy>We live stream the raw uncut version of each episode on YouTube.

00:01:43.560 --> 00:01:47.980
<v Michael Kennedy>Just visit talkpython.fm/youtube to see the schedule of upcoming events.

00:01:48.240 --> 00:01:51.860
<v Michael Kennedy>Be sure to subscribe there and press the bell so you'll get notified anytime we're recording.

00:01:52.560 --> 00:01:55.100
<v Michael Kennedy>This episode is sponsored by Sentry's Seer.

00:01:55.400 --> 00:01:57.840
<v Michael Kennedy>If you're tired of debugging in the dark, give Seer a try.

00:01:58.400 --> 00:02:00.520
<v Michael Kennedy>There are plenty of AI tools that help you write code,

00:02:00.700 --> 00:02:03.600
<v Michael Kennedy>but Sentry's Seer is built to help you fix it when it breaks.

00:02:04.200 --> 00:02:08.440
<v Michael Kennedy>Visit talkpython.fm/sentry and use the code talkpython26,

00:02:08.960 --> 00:02:12.060
<v Michael Kennedy>all one word, no spaces, for $100 in Sentry credits.

00:02:12.600 --> 00:02:16.600
<v Michael Kennedy>And it's brought to you by our Agentic AI Programming for Python course.

00:02:17.140 --> 00:02:21.600
<v Michael Kennedy>Learn to work with AI that actually understands your code base and build real features.

00:02:26.060 --> 00:02:29.540
<v Michael Kennedy>I want to just set the stage before I throw it to you, Calvin.

00:02:29.640 --> 00:02:34.680
<v Michael Kennedy>This episode is something that we came up with is like, you know, Calvin's joined the show.

00:02:35.200 --> 00:02:41.000
<v Michael Kennedy>It's kind of a slightly different take, you know, and let's just kick it off rather than

00:02:41.180 --> 00:02:43.760
<v Michael Kennedy>going around and find a bunch of other tools people are talking about.

00:02:43.820 --> 00:02:49.820
<v Michael Kennedy>Like, let's just do a check-in on the tools that we're using because we love them so much.

00:02:49.940 --> 00:02:51.240
<v Calvin Hendryx-Parker>Like, that's why we're part of the show.

00:02:51.340 --> 00:02:51.580
<v Calvin Hendryx-Parker>I know.

00:02:51.620 --> 00:02:53.020
<v Calvin Hendryx-Parker>No. And it's just never ending.

00:02:53.180 --> 00:02:57.820
<v Calvin Hendryx-Parker>I had trouble sleeping last night because I was trying to pick my favorite tools to put into the list.

00:02:58.020 --> 00:03:00.700
<v Calvin Hendryx-Parker>Like it was running through my brain as I was falling asleep.

00:03:01.040 --> 00:03:03.560
<v Michael Kennedy>I honestly, I had a hard time too.

00:03:03.710 --> 00:03:06.160
<v Michael Kennedy>And it's like, well, which one of your kids do you really like?

00:03:06.980 --> 00:03:07.700
<v Michael Kennedy>It's so true though.

00:03:09.660 --> 00:03:10.880
<v Michael Kennedy>Well, we're going to find out.

00:03:11.700 --> 00:03:14.420
<v Michael Kennedy>This one also comes a little bit, you threw this out there,

00:03:14.450 --> 00:03:17.580
<v Michael Kennedy>but this also comes a little bit by special request from me because I'm like,

00:03:17.680 --> 00:03:19.860
<v Michael Kennedy>I've been hearing about this and I know that you do this, Calvin.

00:03:20.040 --> 00:03:22.280
<v Michael Kennedy>So tell me about Pi and the other things.

00:03:22.540 --> 00:03:22.740
<v Calvin Hendryx-Parker>Yeah.

00:03:22.850 --> 00:03:23.000
<v Calvin Hendryx-Parker>Okay.

00:03:23.110 --> 00:03:26.980
<v Calvin Hendryx-Parker>So the first one I picked was a combination of two tools.

00:03:27.430 --> 00:03:31.560
<v Calvin Hendryx-Parker>The first one being Pi, which is the orchestrating agentic harness.

00:03:32.180 --> 00:03:37.020
<v Calvin Hendryx-Parker>And the other thing I compare with it is superpowers, which I'll talk about here in a minute.

00:03:37.140 --> 00:03:40.420
<v Calvin Hendryx-Parker>But I'm definitely a terminal first person.

00:03:40.430 --> 00:03:42.460
<v Calvin Hendryx-Parker>I always have been, even since college.

00:03:42.780 --> 00:03:48.580
<v Calvin Hendryx-Parker>When I first got introduced to the terminal and typed vi tutor for the very first time, I was hooked.

00:03:48.800 --> 00:03:52.340
<v Calvin Hendryx-Parker>So obviously that gives you a slant for my bias towards these things.

00:03:52.860 --> 00:03:54.580
<v Calvin Hendryx-Parker>And I've tried IDEs now and then.

00:03:54.690 --> 00:03:55.780
<v Calvin Hendryx-Parker>And I mean, they've gotten better.

00:03:56.020 --> 00:03:58.880
<v Calvin Hendryx-Parker>They've gotten really good for doing agentic AI stuff.

00:03:59.250 --> 00:04:01.520
<v Calvin Hendryx-Parker>I still will go fiddle with them and play.

00:04:01.710 --> 00:04:07.420
<v Calvin Hendryx-Parker>And I've been using anti-gravity and codecs and like Claude's co-work, which gives you

00:04:07.500 --> 00:04:08.980
<v Calvin Hendryx-Parker>kind of that UI wrapper around them.

00:04:09.030 --> 00:04:12.680
<v Calvin Hendryx-Parker>But there's still just something about the terminal that really gets me excited.

00:04:13.280 --> 00:04:18.120
<v Calvin Hendryx-Parker>And I don't know if it's just the rawness of it or the control or how I feel about it.

00:04:18.299 --> 00:04:21.120
<v Calvin Hendryx-Parker>Maybe it's the minimalism of it, which if you know me,

00:04:21.220 --> 00:04:23.720
<v Calvin Hendryx-Parker>I'm not necessarily a super minimalist person,

00:04:23.800 --> 00:04:24.640
<v Calvin Hendryx-Parker>but I'm opinionated.

00:04:24.980 --> 00:04:26.820
<v Calvin Hendryx-Parker>And I think that the terminal gives me that power

00:04:26.920 --> 00:04:27.940
<v Calvin Hendryx-Parker>to be very opinionated.

00:04:27.960 --> 00:04:31.680
<v Calvin Hendryx-Parker>And so Pi is a terminal first open source coding agent.

00:04:32.280 --> 00:04:35.100
<v Calvin Hendryx-Parker>So you can customize it and build it and make it yours.

00:04:35.640 --> 00:04:37.780
<v Calvin Hendryx-Parker>I think that's what really drew me to Pi

00:04:38.320 --> 00:04:39.860
<v Calvin Hendryx-Parker>was I've been playing with codecs

00:04:40.260 --> 00:04:41.720
<v Calvin Hendryx-Parker>and I've been playing with Claude Code

00:04:42.160 --> 00:04:44.840
<v Calvin Hendryx-Parker>and not to poo-poo some other people's favorite tools.

00:04:45.380 --> 00:04:47.140
<v Calvin Hendryx-Parker>This one is just stripped back.

00:04:47.420 --> 00:04:48.480
<v Calvin Hendryx-Parker>I think this is actually one of the reasons

00:04:48.560 --> 00:04:51.400
<v Calvin Hendryx-Parker>why I liked Ader chat when I first started using

00:04:51.560 --> 00:04:52.360
<v Calvin Hendryx-Parker>some of these agentic tooling,

00:04:52.920 --> 00:04:54.980
<v Calvin Hendryx-Parker>was Ader again was kind of less opinionated

00:04:55.460 --> 00:04:57.200
<v Calvin Hendryx-Parker>and bring your own pieces to it

00:04:57.240 --> 00:04:59.220
<v Calvin Hendryx-Parker>to make it the thing you exactly want to be.

00:05:00.000 --> 00:05:03.900
<v Calvin Hendryx-Parker>Some nice things about Pi is that it's very session management

00:05:03.940 --> 00:05:05.380
<v Calvin Hendryx-Parker>as a first class citizen here.

00:05:05.720 --> 00:05:07.920
<v Calvin Hendryx-Parker>You can rewind and start from any place

00:05:08.060 --> 00:05:10.220
<v Calvin Hendryx-Parker>in that tree of your session as you're going through

00:05:10.700 --> 00:05:11.620
<v Calvin Hendryx-Parker>and building the code.

00:05:11.760 --> 00:05:14.220
<v Calvin Hendryx-Parker>So how many times have you gone down a rabbit hole

00:05:14.700 --> 00:05:16.739
<v Calvin Hendryx-Parker>only to be like, ooh, that was not where I wanted

00:05:16.760 --> 00:05:22.080
<v Calvin Hendryx-Parker>agent to land or the model to land on certain things you can rewind up just branch off of that

00:05:22.260 --> 00:05:28.460
<v Calvin Hendryx-Parker>point and keep going the extensions model is incredibly uh composable it's almost aggressively

00:05:29.500 --> 00:05:33.700
<v Calvin Hendryx-Parker>composable although i use it in a very minimal way it doesn't come with things like subagents out of

00:05:33.700 --> 00:05:37.380
<v Calvin Hendryx-Parker>the box it doesn't come with issue trackers out of the box it doesn't come with much out of the box

00:05:37.430 --> 00:05:43.459
<v Calvin Hendryx-Parker>which is why from a context window standpoint you build it and make it what you want it to be so i

00:05:43.480 --> 00:05:49.600
<v Calvin Hendryx-Parker>use it with superpowers so combining superpowers which is a spec driven development uh tool so

00:05:49.720 --> 00:05:54.520
<v Calvin Hendryx-Parker>you've probably heard i've talked about spec kit before on some of my linkedin videos i've actually

00:05:54.620 --> 00:05:58.700
<v Calvin Hendryx-Parker>moved over to superpowers because i feel like it's a little more lightweight combined with pi it

00:05:58.880 --> 00:06:03.580
<v Calvin Hendryx-Parker>basically detects your hey you're building some software i see you're building like clippy like

00:06:03.630 --> 00:06:09.219
<v Calvin Hendryx-Parker>see you're building some software there uh let's uh take a step back and try and figure out exactly

00:06:09.240 --> 00:06:13.360
<v Calvin Hendryx-Parker>what you're trying to do. So it's basically a workflow that runs you through brainstorming,

00:06:13.480 --> 00:06:20.980
<v Calvin Hendryx-Parker>planning, execution, verification, review, and then committing and merging through that whole process.

00:06:21.410 --> 00:06:26.160
<v Calvin Hendryx-Parker>And just it'll ask you questions, it'll propose options, and it seems that these things aren't

00:06:26.270 --> 00:06:31.400
<v Calvin Hendryx-Parker>magic, they are just stacks of markdown skills on your file system. But I like the way it

00:06:31.560 --> 00:06:36.840
<v Calvin Hendryx-Parker>interoperates at that kind of bare bones level with Pi. So where Pi, I feel like Pi, in the

00:06:36.800 --> 00:06:42.420
<v Calvin Hendryx-Parker>agentic coding tool space. Pi is the one that hands you the keys to the car versus the guardrails

00:06:43.120 --> 00:06:47.720
<v Calvin Hendryx-Parker>that are put in place by a lot of the other tools. So it may not be for everyone. It's definitely a

00:06:47.720 --> 00:06:51.460
<v Calvin Hendryx-Parker>little more power user thing. And Michael, you've not tried it out yet at all? I have not tried

00:06:51.640 --> 00:06:58.580
<v Calvin Hendryx-Parker>either of these. Oh, superpowers. Again, lightweight, fun. I tend to be, I try to be token efficient,

00:06:59.040 --> 00:07:04.739
<v Calvin Hendryx-Parker>which again, the branching piece allows me to back up and not, I think people get stuck in a trap

00:07:04.760 --> 00:07:10.460
<v Calvin Hendryx-Parker>sometimes they fall down a hole and just burn more tokens trying to get out uh and right right no

00:07:10.600 --> 00:07:15.240
<v Michael Kennedy>you're doing the wrong way keep no no i wanted you to do this right of just just just back up

00:07:15.440 --> 00:07:21.460
<v Michael Kennedy>rewinding time like that didn't happen time travel is amazing yeah so i'm a believer of skills and

00:07:21.620 --> 00:07:26.900
<v Michael Kennedy>certainly things like superpowers which my understanding is kind of like harness plus a

00:07:27.000 --> 00:07:32.520
<v Michael Kennedy>bunch of skills that you can use and so on and i think the reason i haven't tried i'm trying to

00:07:32.460 --> 00:07:36.040
<v Michael Kennedy>like why haven't i tried this yet well let me give you two reasons and i'll i'm interested to hear

00:07:36.120 --> 00:07:42.860
<v Michael Kennedy>what you think one there's just so many of these things that are like i have the magic that makes

00:07:43.080 --> 00:07:48.580
<v Michael Kennedy>ai work if you just use my seven markdown files it's going to be amazing you know what i mean and

00:07:48.620 --> 00:07:55.480
<v Michael Kennedy>there's like a million of them and i'm sure 95 of them are junk but this one i think is really like

00:07:55.520 --> 00:08:00.040
<v Calvin Hendryx-Parker>go to the top of your page here how many stars does this have oh it's uh just a couple right yeah

00:08:00.220 --> 00:08:04.040
<v Calvin Hendryx-Parker>Yeah, just a few, 229,000 stars on it.

00:08:04.040 --> 00:08:07.100
<v Michael Kennedy>So I feel like maybe, maybe this one actually might have a little momentum.

00:08:07.480 --> 00:08:08.580
<v Michael Kennedy>In polish, right?

00:08:08.800 --> 00:08:12.380
<v Michael Kennedy>Like, not just one person's opinion and they did something and it works,

00:08:12.600 --> 00:08:15.400
<v Michael Kennedy>but they could have done almost anything and it would have worked better, you know.

00:08:15.700 --> 00:08:18.060
<v Calvin Hendryx-Parker>I highlighted right here, like this part's really nice.

00:08:18.180 --> 00:08:20.920
<v Calvin Hendryx-Parker>Just out of the box, test-driven development, red-green,

00:08:21.020 --> 00:08:23.820
<v Calvin Hendryx-Parker>and it shows you in the UI, like it's like tests are red,

00:08:24.260 --> 00:08:26.160
<v Calvin Hendryx-Parker>you know, verifying, testing went green.

00:08:26.480 --> 00:08:29.940
<v Calvin Hendryx-Parker>And then the fact is it thinks more like, I think, as a developer.

00:08:30.020 --> 00:08:36.680
<v Calvin Hendryx-Parker>the whole Yagni and dry. A lot of the other coding agents, I believe are just make it go no matter

00:08:36.800 --> 00:08:41.020
<v Calvin Hendryx-Parker>what, like put it in a loop and see how much stuff you can crank out. And I feel like this is a little

00:08:41.120 --> 00:08:45.540
<v Calvin Hendryx-Parker>more just efficient in the way I would think about it myself. And obviously I'm reviewing the code as

00:08:45.640 --> 00:08:48.760
<v Calvin Hendryx-Parker>it's going through. I'm actually building something with Pi right now in the background.

00:08:49.200 --> 00:08:56.280
<v Calvin Hendryx-Parker>Nice. Okay. I love it. But I use it to pull off like quick little tools. Like if I've thought

00:08:56.260 --> 00:09:00.700
<v Calvin Hendryx-Parker>about a tool, I'm just immediately go over to brainstorm and at least bookmark it into a small

00:09:00.810 --> 00:09:04.160
<v Calvin Hendryx-Parker>little project so that I can start building a quick little tool. Right now I'm building a tool

00:09:04.210 --> 00:09:10.420
<v Calvin Hendryx-Parker>that synchronizes my messages from my Mac or my phone to our CRM. Because I was like, I don't feel

00:09:10.430 --> 00:09:14.740
<v Michael Kennedy>like copy pasting anymore. That's awesome. Yeah, that is such a cool, that's a whole nother topic.

00:09:14.940 --> 00:09:19.320
<v Michael Kennedy>This hyper personal software stuff is super interesting. Like I'm not going to publish it,

00:09:19.560 --> 00:09:23.280
<v Calvin Hendryx-Parker>but it's going to make my life better. Yeah. Yeah. So you can get Pi. There's a one liner here.

00:09:23.920 --> 00:09:27.020
<v Calvin Hendryx-Parker>They've obviously got many different ways you can install it.

00:09:27.300 --> 00:09:28.460
<v Calvin Hendryx-Parker>But I would check it out.

00:09:29.319 --> 00:09:30.640
<v Calvin Hendryx-Parker>You need to be careful.

00:09:31.100 --> 00:09:32.640
<v Calvin Hendryx-Parker>It is definitely the keys to the car.

00:09:32.700 --> 00:09:33.640
<v Calvin Hendryx-Parker>You have full control.

00:09:33.920 --> 00:09:35.180
<v Calvin Hendryx-Parker>You can build exactly what you want.

00:09:35.380 --> 00:09:35.580
<v Michael Kennedy>Nice.

00:09:35.960 --> 00:09:37.380
<v Michael Kennedy>So Pi is an agent harness.

00:09:37.620 --> 00:09:40.800
<v Michael Kennedy>A little bit like Claude code is to Claude itself, right?

00:09:41.040 --> 00:09:41.180
<v Michael Kennedy>Yeah.

00:09:41.480 --> 00:09:43.580
<v Michael Kennedy>And so I can run Claude in Pi?

00:09:44.300 --> 00:09:46.600
<v Calvin Hendryx-Parker>You can run Claude code.

00:09:46.660 --> 00:09:46.780
<v Michael Kennedy>No.

00:09:47.260 --> 00:09:51.640
<v Michael Kennedy>I can use Claude Opus as one of my agents while I'm doing Pi, for example.

00:09:52.060 --> 00:09:52.420
<v Calvin Hendryx-Parker>Yeah, yeah, yeah.

00:09:52.660 --> 00:09:54.160
<v Calvin Hendryx-Parker>So Pi, you bring your own models.

00:09:54.360 --> 00:09:56.080
<v Calvin Hendryx-Parker>You want to bring Gemini.

00:09:56.160 --> 00:09:58.120
<v Calvin Hendryx-Parker>You want to bring OpenAI models,

00:09:58.720 --> 00:09:59.360
<v Calvin Hendryx-Parker>Anthropic models.

00:09:59.720 --> 00:10:01.580
<v Calvin Hendryx-Parker>You want to use Ollama with your local models.

00:10:02.280 --> 00:10:05.360
<v Calvin Hendryx-Parker>Feel free to pull out Gemma 4 and go to town.

00:10:06.120 --> 00:10:09.200
<v Calvin Hendryx-Parker>I recommend LFM 2.5,

00:10:09.420 --> 00:10:10.520
<v Calvin Hendryx-Parker>the new liquid AI models.

00:10:11.320 --> 00:10:12.980
<v Calvin Hendryx-Parker>If it's tool using,

00:10:13.700 --> 00:10:14.980
<v Calvin Hendryx-Parker>Pi will use them.

00:10:15.100 --> 00:10:15.400
<v Michael Kennedy>Awesome.

00:10:15.720 --> 00:10:19.360
<v Michael Kennedy>If Apple would just ship a new Mac Studio Max,

00:10:19.560 --> 00:10:20.280
<v Michael Kennedy>I'll tell you what,

00:10:20.280 --> 00:10:21.660
<v Michael Kennedy>I would be running some larger models.

00:10:21.920 --> 00:10:24.200
<v Calvin Hendryx-Parker>Well, the announcements from Apple last week,

00:10:24.520 --> 00:10:25.680
<v Calvin Hendryx-Parker>pretty exciting, right?

00:10:26.259 --> 00:10:27.420
<v Calvin Hendryx-Parker>That's a whole other news item,

00:10:27.500 --> 00:10:30.740
<v Calvin Hendryx-Parker>but I think there's some exciting things coming at the Edge

00:10:30.960 --> 00:10:33.040
<v Calvin Hendryx-Parker>when the Edge being your workstation.

00:10:33.300 --> 00:10:34.920
<v Michael Kennedy>Yeah, 100%, I totally agree.

00:10:35.160 --> 00:10:37.120
<v Michael Kennedy>It's just beginning, it's just beginning.

00:10:37.980 --> 00:10:40.160
<v Michael Kennedy>For so long, it's like, well, your computer's basically

00:10:40.880 --> 00:10:43.200
<v Michael Kennedy>just a view to a browser, which is a view to a server.

00:10:43.740 --> 00:10:45.080
<v Michael Kennedy>And it's kind of rolling back a little bit.

00:10:45.280 --> 00:10:47.780
<v Calvin Hendryx-Parker>I'll talk more about that later in my follow on tools.

00:10:48.360 --> 00:10:49.780
<v Calvin Hendryx-Parker>Okay, awesome, awesome.

00:10:50.280 --> 00:10:54.120
<v Michael Kennedy>Well, let's warp ahead a little because I want to talk about warp.

00:10:54.250 --> 00:10:57.000
<v Michael Kennedy>And I think there's a couple people out there who are just curious,

00:10:57.630 --> 00:10:59.200
<v Michael Kennedy>like trying to detect a theme or like,

00:10:59.200 --> 00:11:01.780
<v Michael Kennedy>what do we find important as people have been doing this for a long time?

00:11:02.010 --> 00:11:04.860
<v Michael Kennedy>We both have AI topics and we both have terminal topics.

00:11:07.300 --> 00:11:09.260
<v Michael Kennedy>So I think that's noteworthy.

00:11:09.770 --> 00:11:12.160
<v Michael Kennedy>So my right now, for the last couple of years,

00:11:12.290 --> 00:11:15.220
<v Michael Kennedy>I've been using warp from warp.dev.

00:11:15.600 --> 00:11:19.580
<v Michael Kennedy>And it's a really nice or fresh take on the terminal.

00:11:19.820 --> 00:11:23.420
<v Michael Kennedy>It's not just, oh, this one has GPU acceleration or whatever.

00:11:24.000 --> 00:11:26.280
<v Michael Kennedy>And I know this is a little bit different than your take,

00:11:26.320 --> 00:11:27.840
<v Michael Kennedy>which I'm also very excited for, Calvin.

00:11:27.980 --> 00:11:31.280
<v Michael Kennedy>But if you go look at it, it's like every piece of software these days.

00:11:31.760 --> 00:11:33.520
<v Michael Kennedy>Oh, you can ship software with an agent.

00:11:33.640 --> 00:11:35.060
<v Michael Kennedy>Like, I thought this was a terminal.

00:11:35.200 --> 00:11:36.480
<v Michael Kennedy>What in the world is going on here?

00:11:36.560 --> 00:11:37.040
<v Michael Kennedy>You know what I mean?

00:11:38.079 --> 00:11:41.000
<v Michael Kennedy>But it has some kind of agentic stuff.

00:11:41.340 --> 00:11:42.840
<v Michael Kennedy>I barely have used it before.

00:11:43.080 --> 00:11:44.880
<v Michael Kennedy>I mean, it's like, oh, this Linux command didn't work.

00:11:44.900 --> 00:11:46.160
<v Michael Kennedy>Like, why didn't this Linux command work?

00:11:46.300 --> 00:11:47.340
<v Michael Kennedy>Like, you forgot the dash F.

00:11:47.380 --> 00:11:47.860
<v Michael Kennedy>Oh, yeah, okay.

00:11:48.280 --> 00:11:53.460
<v Michael Kennedy>But I think there's better agentic tools than this warp for the terminal.

00:11:53.900 --> 00:11:55.180
<v Michael Kennedy>But you can just turn those off.

00:11:55.340 --> 00:11:59.100
<v Michael Kennedy>It's a really nice terminal with a lot of different angles on how you work.

00:11:59.420 --> 00:12:01.460
<v Michael Kennedy>It's got some team collaboration features.

00:12:02.600 --> 00:12:05.560
<v Michael Kennedy>It has really nice predictive capabilities.

00:12:06.340 --> 00:12:09.700
<v Michael Kennedy>So if you go to type something, if you type two letters,

00:12:09.820 --> 00:12:13.100
<v Michael Kennedy>it might suggest if you just right arrow, not tab complete,

00:12:13.600 --> 00:12:15.880
<v Michael Kennedy>because it's what you've recently done or something like that.

00:12:15.980 --> 00:12:27.520
<v Michael Kennedy>But just, hey, we think you might be doing this whole command here that we've seen you do sort of AI-like, sort of like an AI line completion, you know, like GitHub Copilot initially was, but for the terminal.

00:12:27.670 --> 00:12:28.600
<v Michael Kennedy>And that's super helpful.

00:12:29.020 --> 00:12:30.540
<v Michael Kennedy>Anyway, I just, I think it's a really nice.

00:12:30.860 --> 00:12:32.280
<v Calvin Hendryx-Parker>I'm not sure if I'm ready for that yet.

00:12:32.480 --> 00:12:39.680
<v Calvin Hendryx-Parker>I guess my level of control might not be ready to give up to write erroring over or even using the arrow keys at all.

00:12:39.900 --> 00:12:40.240
<v Calvin Hendryx-Parker>I know.

00:12:41.580 --> 00:12:42.440
<v Michael Kennedy>Well, you know what's nice?

00:12:42.790 --> 00:12:43.320
<v Michael Kennedy>It has.

00:12:43.650 --> 00:12:45.000
<v Michael Kennedy>So this is part one.

00:12:45.180 --> 00:12:49.160
<v Michael Kennedy>We both have a couple of multi-part things like your Pi and superpowers.

00:12:49.480 --> 00:12:54.860
<v Michael Kennedy>So my part two is OhMyZShell, which is an old standard, but I love it so much.

00:12:54.960 --> 00:13:03.780
<v Michael Kennedy>So what I'm doing is I'm running warp, but then I turn off their terminal magic and just run OhMyZShell and do mostly OhMyZShell things.

00:13:04.280 --> 00:13:11.820
<v Michael Kennedy>So if people open up a terminal and it looks like the default thing that came out of their computer, it's probably really not a good thing.

00:13:13.220 --> 00:13:15.940
<v Calvin Hendryx-Parker>And I've been a ZSH user for ages.

00:13:16.080 --> 00:13:17.460
<v Calvin Hendryx-Parker>I can't tell you how excited I've been

00:13:17.460 --> 00:13:19.620
<v Calvin Hendryx-Parker>that this kind of has become more popular.

00:13:19.980 --> 00:13:22.540
<v Michael Kennedy>Yeah, yeah, it's definitely, I'm 100%.

00:13:22.660 --> 00:13:24.360
<v Michael Kennedy>I'm very, very excited about it as well.

00:13:24.380 --> 00:13:26.240
<v Michael Kennedy>And it's been just solid for years.

00:13:26.640 --> 00:13:28.460
<v Michael Kennedy>And if you open up your tournament on just,

00:13:29.240 --> 00:13:30.740
<v Michael Kennedy>maybe it was white and you turned it black

00:13:30.940 --> 00:13:33.360
<v Michael Kennedy>because that was bad, but it's just the basic thing.

00:13:33.540 --> 00:13:35.380
<v Michael Kennedy>You know, for Linux or for Mac,

00:13:35.800 --> 00:13:37.460
<v Michael Kennedy>and especially if using Command Prompt,

00:13:37.720 --> 00:13:39.040
<v Michael Kennedy>there's so much room for growth.

00:13:39.300 --> 00:13:40.920
<v Michael Kennedy>There's so much room for something better.

00:13:41.180 --> 00:13:43.520
<v Michael Kennedy>So you don't have to necessarily pick what we're picking here.

00:13:43.660 --> 00:13:46.540
<v Michael Kennedy>Just look around because the defaults are usually not good.

00:13:46.700 --> 00:13:48.480
<v Michael Kennedy>And so, for example, like why is OhMyZShell,

00:13:48.720 --> 00:13:51.720
<v Michael Kennedy>even inside a warp with little like other stuff that it could do,

00:13:52.040 --> 00:13:52.460
<v Michael Kennedy>why is it cool?

00:13:52.800 --> 00:13:55.400
<v Michael Kennedy>So I could go to like a Git repository, CD in there,

00:13:55.460 --> 00:13:57.520
<v Michael Kennedy>and it'll show me what branch I'm on.

00:13:57.700 --> 00:14:01.060
<v Michael Kennedy>Are there changes in that repo, right?

00:14:01.140 --> 00:14:03.580
<v Michael Kennedy>And it'll put that in your prompt.

00:14:03.940 --> 00:14:05.660
<v Michael Kennedy>It'll also show you if there's a virtual environment.

00:14:05.810 --> 00:14:06.460
<v Michael Kennedy>Is it activated?

00:14:06.860 --> 00:14:08.040
<v Michael Kennedy>What version of Python is it?

00:14:08.280 --> 00:14:10.480
<v Michael Kennedy>All those things are cool from OhMyZShell.

00:14:10.600 --> 00:14:13.420
<v Michael Kennedy>But then you could do things like get branch tab,

00:14:13.660 --> 00:14:16.080
<v Michael Kennedy>and it will list all of the branches locally

00:14:16.320 --> 00:14:18.780
<v Michael Kennedy>and all the branches on your server that you could check out

00:14:19.220 --> 00:14:20.700
<v Michael Kennedy>or get checkout, whatever.

00:14:21.900 --> 00:14:24.880
<v Michael Kennedy>It'll understand way deeper into your projects

00:14:24.900 --> 00:14:27.040
<v Michael Kennedy>and not just, say, autocomplete files.

00:14:27.340 --> 00:14:29.880
<v Calvin Hendryx-Parker>So it's an opinionated layer on top of CSH.

00:14:30.500 --> 00:14:33.120
<v Calvin Hendryx-Parker>I've got my own set of.files that I've carried with me

00:14:33.140 --> 00:14:36.080
<v Calvin Hendryx-Parker>for the last 20 years, and so I've never gone full

00:14:36.240 --> 00:14:40.280
<v Calvin Hendryx-Parker>oh my ZSH because I don't know how they would work together.

00:14:40.640 --> 00:14:45.900
<v Michael Kennedy>yeah that's definitely a challenge most of my stuff has grown up around oh my z shell oh my

00:14:46.020 --> 00:14:51.440
<v Michael Kennedy>zsh and so it's i've i've managed to incorporate but you have you see you're having the same problem

00:14:51.540 --> 00:14:56.360
<v Michael Kennedy>that i have with superpowers i have like so much structure around my ai stuff i'm like i don't know

00:14:56.400 --> 00:15:01.720
<v Calvin Hendryx-Parker>how to make these exist coexist as well as they should you know yeah yeah but and i have an extra

00:15:01.720 --> 00:15:07.959
<v Calvin Hendryx-Parker>i'll talk about that makes my zsh do most of that stuff just with one one little trick just let me

00:15:07.840 --> 00:15:11.620
<v Michael Kennedy>awesome let me just throw what was sort of a round out this part it's not even on my list

00:15:11.760 --> 00:15:18.320
<v Michael Kennedy>but i just now i feel like it's i should have it so pls i love pls i'm a big fan there we go

00:15:18.560 --> 00:15:25.940
<v Michael Kennedy>a prettier one and so a prettier ls and it's just so the uh website for it is not uh at least the

00:15:26.060 --> 00:15:31.780
<v Michael Kennedy>repo is not amazing but yeah like just ls show me what files have changed in git show me you know

00:15:32.080 --> 00:15:36.260
<v Michael Kennedy>what type of file they are with an icon as you would find in like finder or explorer or whatever

00:15:36.260 --> 00:15:41.620
<v Michael Kennedy>I think that one belongs in this, I'm going to now call it a trifecta of those three things.

00:15:41.940 --> 00:15:44.900
<v Calvin Hendryx-Parker>But I thought about why these are important to us.

00:15:45.150 --> 00:15:58.560
<v Calvin Hendryx-Parker>Like as developers, like these workstations, like our MacBook Pro or your Linux machine or Windows machine, whatever it is, it's like that is your life to making, you know, providing for your family or whatever you do.

00:15:59.100 --> 00:16:10.020
<v Calvin Hendryx-Parker>I feel like tricking it out and making it your own, if it just provides a next, like all these things just basically layer on top of one another into building this kind of perfect experience for you as a developer.

00:16:10.090 --> 00:16:16.580
<v Calvin Hendryx-Parker>And these little creature comforts like PLS or like I mentioned Starship later for my Powerline piece.

00:16:16.740 --> 00:16:23.340
<v Calvin Hendryx-Parker>But it just makes the environment feel friendly and easy to use and just more seamless.

00:16:23.400 --> 00:16:25.420
<v Calvin Hendryx-Parker>So I love bringing these things together.

00:16:25.820 --> 00:16:30.560
<v Calvin Hendryx-Parker>And I don't want to shame anyone who doesn't do this, but why aren't you?

00:16:30.820 --> 00:16:31.460
<v Calvin Hendryx-Parker>Like, it's here.

00:16:32.279 --> 00:16:33.760
<v Calvin Hendryx-Parker>People have built these beautiful things.

00:16:34.180 --> 00:16:38.280
<v Michael Kennedy>Yeah, definitely not about shame, but I think it's just like, hey, if you're not doing this,

00:16:38.420 --> 00:16:41.680
<v Michael Kennedy>there's a great opportunity to make a whole lot of cool tools that start going for you.

00:16:41.880 --> 00:16:42.880
<v Michael Kennedy>Yeah, 100%.

00:16:42.920 --> 00:16:43.460
<v Calvin Hendryx-Parker>Yep, definitely.

00:16:45.440 --> 00:16:49.020
<v Michael Kennedy>This portion of Talk Python To Me is brought to you by Sentry and Sear AI.

00:16:49.660 --> 00:16:52.160
<v Michael Kennedy>There are plenty of AI tools that help you write code.

00:16:52.320 --> 00:16:55.400
<v Michael Kennedy>but Sentry Seer is built to help you fix it when it breaks.

00:16:55.920 --> 00:16:56.880
<v Michael Kennedy>The difference is context.

00:16:57.600 --> 00:16:59.820
<v Michael Kennedy>Seer isn't just guessing based on syntax.

00:17:00.140 --> 00:17:02.220
<v Michael Kennedy>It's analyzing your actual Sentry data,

00:17:02.480 --> 00:17:04.540
<v Michael Kennedy>your stack traces, logs, and failure patterns.

00:17:05.100 --> 00:17:06.560
<v Michael Kennedy>Because it has the full context,

00:17:06.680 --> 00:17:09.680
<v Michael Kennedy>it can A, spot buggy code in review

00:17:09.760 --> 00:17:11.339
<v Michael Kennedy>and help prevent issues before they happen,

00:17:11.959 --> 00:17:14.760
<v Michael Kennedy>and B, identify the root cause of production errors.

00:17:15.699 --> 00:17:17.800
<v Michael Kennedy>It can even draft a fix and hand the work off

00:17:17.800 --> 00:17:20.300
<v Michael Kennedy>to an agent-like cursor to open a PR for you.

00:17:20.819 --> 00:17:22.860
<v Michael Kennedy>Seer turns Sentry into a complete loop.

00:17:23.380 --> 00:17:26.220
<v Michael Kennedy>You have your traces, errors, logs, and replays to see the problem,

00:17:26.400 --> 00:17:28.040
<v Michael Kennedy>and now AI to help solve it.

00:17:28.280 --> 00:17:32.620
<v Michael Kennedy>Join millions of devs at companies like Claude, Disney+, and even Talk Python,

00:17:33.040 --> 00:17:34.280
<v Michael Kennedy>who use Sentry to move faster.

00:17:34.780 --> 00:17:37.520
<v Michael Kennedy>Check them out at talkpython.fm/sentry

00:17:37.720 --> 00:17:43.520
<v Michael Kennedy>and use code Talk Python26, all one word, for $100 in Sentry credits.

00:17:44.040 --> 00:17:45.900
<v Michael Kennedy>Thank you to Sentry for supporting Talk Python.

00:17:47.240 --> 00:17:49.340
<v Michael Kennedy>Like a cat? What is the deal with this?

00:17:49.580 --> 00:17:50.240
<v Michael Kennedy>Like a kitty?

00:17:50.320 --> 00:17:57.560
<v Calvin Hendryx-Parker>Kitty. Oh, Kitty's a, so I'm a longtime Kitty terminal user. I've seen Ghosty and Cmux and all

00:17:57.600 --> 00:18:01.920
<v Calvin Hendryx-Parker>these other new fancy, well, Warp kind of came in there as one people had said, well, why don't you

00:18:01.920 --> 00:18:08.180
<v Calvin Hendryx-Parker>use Warp instead? I have really enjoyed Kitty as a terminal, mostly because I do move back and forth

00:18:08.460 --> 00:18:15.659
<v Calvin Hendryx-Parker>between machines. Like I'm on a Mac right now, but I have a Linux framework desktop sitting over here

00:18:15.680 --> 00:18:20.800
<v Calvin Hendryx-Parker>beside me, which is really powerful. And so I'm regularly moving back and forth between multiple

00:18:21.340 --> 00:18:25.880
<v Calvin Hendryx-Parker>environments, multiple OSs. And some of the things I like to keep the same between and consistent

00:18:25.980 --> 00:18:31.740
<v Calvin Hendryx-Parker>between them is like my terminal. So Kitty is a GPU accelerated terminal. You may ask why the heck

00:18:31.860 --> 00:18:36.760
<v Calvin Hendryx-Parker>would you want a GPU accelerated terminal? It scrolls like nobody's business. And when you get

00:18:36.880 --> 00:18:41.440
<v Calvin Hendryx-Parker>TMux running in there, and actually one of the nice things about Kitty, you don't even need TMux.

00:18:41.460 --> 00:18:45.640
<v Calvin Hendryx-Parker>It actually comes with its own window muxing system built into it, which I've actually started

00:18:45.660 --> 00:18:51.500
<v Calvin Hendryx-Parker>on my Mac. I may switch back over to Tmux because of some of my other opinions about how I want to

00:18:51.620 --> 00:18:57.180
<v Calvin Hendryx-Parker>use that Linux machine for more things than just being available when I'm on the Linux machine.

00:18:57.780 --> 00:19:04.480
<v Calvin Hendryx-Parker>But you get that ability to do the powerful layouts and tiling and scroll back buffers.

00:19:04.910 --> 00:19:11.120
<v Calvin Hendryx-Parker>It's just a nice thing is it runs the same on Mac and Windows and Linux. So I install the same one

00:19:11.140 --> 00:19:16.100
<v Calvin Hendryx-Parker>everywhere I land and I'm basically at home because I'm very terminal first about a lot of

00:19:16.200 --> 00:19:24.580
<v Calvin Hendryx-Parker>this. So it gives me that performance and feel. Performance is a big feature. I think that tools

00:19:24.780 --> 00:19:31.800
<v Calvin Hendryx-Parker>like Ruff and uv have proven to us that the fastest speed as a developer is staying out of

00:19:31.800 --> 00:19:36.540
<v Calvin Hendryx-Parker>our way as we're thinking through problems and I don't want the terminal to be one of those laggy

00:19:36.560 --> 00:19:41.540
<v Calvin Hendryx-Parker>bit. So for my Mac and for my Linux machine, I'm using Kitty Terminal. When I'm traveling on the

00:19:41.680 --> 00:19:47.580
<v Calvin Hendryx-Parker>road, I use the Blink browser. I think I've got a Blink tab open here someplace. Did I open that up?

00:19:47.880 --> 00:19:52.140
<v Calvin Hendryx-Parker>Nope, that's my Tmux tab. Where did I put all this stuff? I've got too many tabs open.

00:19:53.260 --> 00:19:55.780
<v Calvin Hendryx-Parker>While you're looking, tell people what this Muxing is.

00:19:56.080 --> 00:20:02.980
<v Calvin Hendryx-Parker>Yeah. So when you are in a, I like single windows too. So browsers that give me multiple profiles

00:20:03.000 --> 00:20:04.060
<v Calvin Hendryx-Parker>across a single window,

00:20:04.520 --> 00:20:06.060
<v Calvin Hendryx-Parker>that's basically what I get with my terminal.

00:20:06.500 --> 00:20:09.020
<v Calvin Hendryx-Parker>I can actually have one terminal window open,

00:20:09.240 --> 00:20:10.740
<v Calvin Hendryx-Parker>not a bazillion terminal windows

00:20:11.040 --> 00:20:11.760
<v Calvin Hendryx-Parker>cluttering up my desktop.

00:20:12.240 --> 00:20:13.360
<v Calvin Hendryx-Parker>And inside that one terminal window,

00:20:13.480 --> 00:20:15.800
<v Calvin Hendryx-Parker>I've basically got tabs like you would have in a browser.

00:20:15.970 --> 00:20:18.240
<v Calvin Hendryx-Parker>And then those tabs can now be further split down

00:20:18.500 --> 00:20:20.660
<v Calvin Hendryx-Parker>into tiles that I wanna be working on.

00:20:20.760 --> 00:20:22.900
<v Calvin Hendryx-Parker>So if I'm in one terminal window

00:20:22.950 --> 00:20:25.800
<v Calvin Hendryx-Parker>and I've got mypy open on the bottom,

00:20:26.220 --> 00:20:27.500
<v Calvin Hendryx-Parker>I've got a shell open on the top,

00:20:27.740 --> 00:20:30.380
<v Calvin Hendryx-Parker>maybe I've got broot open on the left side,

00:20:30.600 --> 00:20:33.220
<v Calvin Hendryx-Parker>browsing the file structure.

00:20:33.830 --> 00:20:37.080
<v Calvin Hendryx-Parker>I got lazy git auto refreshing in another one

00:20:37.220 --> 00:20:38.360
<v Calvin Hendryx-Parker>so I can see the file changes

00:20:38.520 --> 00:20:40.300
<v Calvin Hendryx-Parker>as the agent is editing the files.

00:20:40.370 --> 00:20:43.080
<v Calvin Hendryx-Parker>I can monitor actively what the diffs are

00:20:43.340 --> 00:20:45.080
<v Calvin Hendryx-Parker>all in a single terminal experience.

00:20:45.640 --> 00:20:47.380
<v Calvin Hendryx-Parker>That's what muxing gives you.

00:20:47.430 --> 00:20:49.320
<v Calvin Hendryx-Parker>And so Kitty gives it to you out of the box.

00:20:49.620 --> 00:20:52.620
<v Calvin Hendryx-Parker>tmux gives it to you as an add-on to any system

00:20:52.820 --> 00:20:53.860
<v Calvin Hendryx-Parker>you would be running on.

00:20:54.060 --> 00:20:57.700
<v Calvin Hendryx-Parker>The benefit of tmux is you're gonna be able to leave,

00:20:58.180 --> 00:21:00.660
<v Calvin Hendryx-Parker>detach from that session and reattach to it later.

00:21:00.980 --> 00:21:02.300
<v Calvin Hendryx-Parker>And that's where this comes in.

00:21:02.900 --> 00:21:06.100
<v Calvin Hendryx-Parker>For my iPad and my iOS experience, I use Blink Shell.

00:21:06.420 --> 00:21:10.140
<v Calvin Hendryx-Parker>So Blink Shell is a fully power tool,

00:21:10.340 --> 00:21:14.160
<v Calvin Hendryx-Parker>power user version of a terminal on iOS and for the iPad.

00:21:14.680 --> 00:21:17.300
<v Calvin Hendryx-Parker>It does give you a shell on the iPad,

00:21:17.740 --> 00:21:21.380
<v Calvin Hendryx-Parker>but more usefully, it's actually a SSH and Mosh client.

00:21:21.560 --> 00:21:23.880
<v Calvin Hendryx-Parker>So Mosh is another piece that I use for this.

00:21:24.240 --> 00:21:27.040
<v Calvin Hendryx-Parker>Mosh is the mobile shell that gives me the ability

00:21:27.060 --> 00:21:33.720
<v Calvin Hendryx-Parker>to connect over unreliable connections, terrible Wi-Fi, putting your computer to sleep, traveling

00:21:33.820 --> 00:21:38.680
<v Calvin Hendryx-Parker>to another network or coffee shop, opening the computer up, and it's like nothing happened.

00:21:38.840 --> 00:21:40.940
<v Calvin Hendryx-Parker>Like you're still connected over your SSH session.

00:21:41.360 --> 00:21:46.920
<v Calvin Hendryx-Parker>It just has adapted and figured out how to keep you connected and keep the bits flowing

00:21:46.960 --> 00:21:49.600
<v Calvin Hendryx-Parker>back and forth between your terminal and where you're at.

00:21:49.840 --> 00:21:55.720
<v Calvin Hendryx-Parker>So I can start on my Mac right here, have a session running on my framework desktop over

00:21:55.740 --> 00:22:00.540
<v Calvin Hendryx-Parker>on my other desk over here and then go to a coffee shop and jump on my ipad and reattach into that

00:22:00.720 --> 00:22:05.540
<v Calvin Hendryx-Parker>same tmux session and now i'm i'm using the same agents all the pieces that were working over there

00:22:05.880 --> 00:22:10.600
<v Calvin Hendryx-Parker>we're all working uh just together for one another so that's the combination of like blink shell

00:22:11.020 --> 00:22:18.160
<v Calvin Hendryx-Parker>kitty shell mosh and if i go into uh mosh let's see here the mosh mobile shell oh that one's over

00:22:18.300 --> 00:22:24.680
<v Calvin Hendryx-Parker>in the other window of course there we go the mobile shell again that allows that whole roaming

00:22:24.780 --> 00:22:29.840
<v Calvin Hendryx-Parker>internet connectivity if you're using ssh you should probably be using mosh you'll have a much

00:22:30.040 --> 00:22:35.400
<v Calvin Hendryx-Parker>better experience it's much less fragile when it comes to keeping those connections going and then

00:22:35.520 --> 00:22:39.680
<v Calvin Hendryx-Parker>tmux for attaching and reattaching and having multiple sessions so you could have if you've got

00:22:39.690 --> 00:22:43.320
<v Calvin Hendryx-Parker>five clients you could have five tmux sessions running and you can just choose to attach to one

00:22:43.380 --> 00:22:48.340
<v Michael Kennedy>of them and jump back in exactly where you're at yeah it's it's like you're constructing a little

00:22:48.650 --> 00:22:53.980
<v Michael Kennedy>little ide source but a custom ide setup but out of terminal bits which it sounds like exactly we

00:22:54.000 --> 00:22:57.800
<v Calvin Hendryx-Parker>want to live. That's cool. And I want to be able to travel with just my iPad. I don't like carrying

00:22:58.260 --> 00:23:03.360
<v Michael Kennedy>a large laptop around if I can avoid it. Yeah. This is a perennial desire that's always a bit

00:23:03.400 --> 00:23:08.800
<v Calvin Hendryx-Parker>tricky to accomplish. And one thing about Blink that I didn't mention, it does come with a VS Code

00:23:09.060 --> 00:23:14.900
<v Calvin Hendryx-Parker>embedded in it. So if you actually just type code from the Blink shell, it will fire up a VS Code

00:23:15.040 --> 00:23:19.280
<v Calvin Hendryx-Parker>session there and allow you to connect on the iPad and allow you to connect to code spaces.

00:23:19.800 --> 00:23:25.380
<v Calvin Hendryx-Parker>So you can actually use remote compute from GitHub over Blink if you go through all the hoops.

00:23:25.430 --> 00:23:27.260
<v Calvin Hendryx-Parker>There are some hoops, but it does work.

00:23:27.360 --> 00:23:28.000
<v Calvin Hendryx-Parker>I've done it.

00:23:28.180 --> 00:23:28.540
<v Calvin Hendryx-Parker>That's awesome.

00:23:28.920 --> 00:23:29.080
<v Calvin Hendryx-Parker>Wow.

00:23:29.130 --> 00:23:29.220
<v Michael Kennedy>Okay.

00:23:29.580 --> 00:23:34.820
<v Michael Kennedy>I have a quick, I have one more thing to talk about here on my terminal side is my app actually

00:23:34.920 --> 00:23:40.380
<v Michael Kennedy>that I built, Command Book, which I use this thing every single day, which is why I build it.

00:23:40.380 --> 00:23:41.520
<v Michael Kennedy>Because I'm like, why does this not exist?

00:23:41.880 --> 00:23:44.040
<v Michael Kennedy>Which lets you take things that are just long running.

00:23:44.420 --> 00:23:46.600
<v Michael Kennedy>If you just want to kick them off and get it out of your terminal.

00:23:46.650 --> 00:23:48.600
<v Michael Kennedy>So your terminal is like just for terminal things.

00:23:48.720 --> 00:23:54.780
<v Michael Kennedy>So like I want to have, I don't know, some Hugo watch my markdown files for any changes

00:23:54.890 --> 00:23:57.460
<v Michael Kennedy>and then auto reload that or like work on talk Python.

00:23:57.720 --> 00:24:00.540
<v Michael Kennedy>And if anything crashes about it, just restart it and keep it going.

00:24:00.840 --> 00:24:00.900
<v Michael Kennedy>Right.

00:24:01.080 --> 00:24:06.760
<v Michael Kennedy>Cause like you can have reload on flask or all the other web frameworks, but if you like

00:24:06.840 --> 00:24:10.160
<v Michael Kennedy>type a parenthesis and you haven't closed it and it reloads, it was like, can't parse as

00:24:10.160 --> 00:24:12.920
<v Michael Kennedy>it crashes and it never runs again until you figure that out and go back.

00:24:12.920 --> 00:24:17.320
<v Michael Kennedy>And so, you want to throw that out there as like kind of take the stuff that you're

00:24:17.330 --> 00:24:18.320
<v Michael Kennedy>not really doing terminal stuff.

00:24:18.340 --> 00:24:19.200
<v Michael Kennedy>It was just, that's how you run it.

00:24:19.480 --> 00:24:21.940
<v Michael Kennedy>Put it somewhere else and just let it be like baked in, which I love.

00:24:22.070 --> 00:24:22.180
<v Michael Kennedy>Okay.

00:24:22.560 --> 00:24:26.820
<v Michael Kennedy>So my main next thing to talk about, maybe boring, but just Claude Code.

00:24:27.060 --> 00:24:27.600
<v Michael Kennedy>What's that?

00:24:27.840 --> 00:24:28.140
<v Michael Kennedy>What's that?

00:24:28.670 --> 00:24:29.360
<v Michael Kennedy>Michael, I never heard of it.

00:24:31.940 --> 00:24:34.940
<v Michael Kennedy>There was like a movie that was like foreshadowing it.

00:24:35.030 --> 00:24:41.640
<v Michael Kennedy>It was made with like Arnold Schwarzenegger and these like machines made of something with Skynet.

00:24:43.200 --> 00:24:44.820
<v Michael Kennedy>No, I will tell you what.

00:24:45.030 --> 00:24:48.100
<v Michael Kennedy>I was very skeptical of the AI stuff for a long time.

00:24:48.160 --> 00:24:52.680
<v Michael Kennedy>when it was, oh, look, we can do, you can start writing a function. And then if you hit tab,

00:24:52.920 --> 00:24:57.080
<v Michael Kennedy>it'll write the next five lines. And I'm always like, you know what? No, I'll just get this away

00:24:57.230 --> 00:25:00.460
<v Michael Kennedy>from me. Because what would happen is like the first two lines, like, oh my God, that's exactly

00:25:00.580 --> 00:25:04.060
<v Michael Kennedy>what I want. But the third and fourth line are like, that's not what I want. How do I get the

00:25:04.220 --> 00:25:07.780
<v Michael Kennedy>first two lines and not the third and fourth one? Like, well, I guess I tab it and then delete them.

00:25:08.320 --> 00:25:14.080
<v Michael Kennedy>I feel like, I don't know, just a low level reviewer of like mistypings and misunderstandings

00:25:14.260 --> 00:25:17.220
<v Michael Kennedy>all day. I'm like, this is not how I want to think through my day. Like, this is not fun.

00:25:17.420 --> 00:25:20.520
<v Michael Kennedy>But once it got to the point where it was sort of agentic stuff,

00:25:20.980 --> 00:25:23.640
<v Michael Kennedy>iterating with tools, working with like super power type things

00:25:23.780 --> 00:25:25.860
<v Michael Kennedy>or specifications, and you're like, oh my gosh,

00:25:26.240 --> 00:25:29.580
<v Michael Kennedy>this is such an amplifier of your skills.

00:25:29.980 --> 00:25:30.940
<v Michael Kennedy>I know there's a bunch of other stuff.

00:25:31.280 --> 00:25:32.680
<v Michael Kennedy>I've run local models as well,

00:25:32.840 --> 00:25:34.820
<v Michael Kennedy>but when it comes down to stuff that really matters,

00:25:35.060 --> 00:25:36.960
<v Michael Kennedy>it's like, well, I was using Fable for a while.

00:25:37.030 --> 00:25:37.620
<v Michael Kennedy>We'll come back to that.

00:25:38.580 --> 00:25:40.680
<v Calvin Hendryx-Parker>And you can use local models with Claude Code.

00:25:41.040 --> 00:25:43.900
<v Calvin Hendryx-Parker>You can point it at Ollama, and you can use it with superpowers.

00:25:44.160 --> 00:25:45.460
<v Calvin Hendryx-Parker>You can have that experience.

00:25:45.980 --> 00:25:47.000
<v Calvin Hendryx-Parker>Okay, interesting.

00:25:47.740 --> 00:25:50.240
<v Michael Kennedy>But yeah, usually for me, it's just fire up Opus

00:25:51.440 --> 00:25:54.220
<v Michael Kennedy>and really carefully work with Claude Code.

00:25:54.900 --> 00:25:56.060
<v Michael Kennedy>There's not a whole lot more to say,

00:25:56.220 --> 00:25:58.140
<v Michael Kennedy>but if you're out there and you're a skeptic

00:25:58.220 --> 00:25:59.340
<v Michael Kennedy>because you tried it a year ago,

00:25:59.780 --> 00:26:00.500
<v Michael Kennedy>not Claude Code necessarily,

00:26:00.570 --> 00:26:02.240
<v Michael Kennedy>but you tried this AI coding stuff a year ago

00:26:02.590 --> 00:26:03.480
<v Michael Kennedy>and it wasn't that great

00:26:03.630 --> 00:26:04.660
<v Michael Kennedy>and you feel like it didn't work,

00:26:04.980 --> 00:26:06.000
<v Michael Kennedy>give the tools a look again.

00:26:06.820 --> 00:26:09.300
<v Michael Kennedy>The top tier tools are really incredible.

00:26:09.570 --> 00:26:11.900
<v Michael Kennedy>And so it's super predictable that I would pick this,

00:26:11.910 --> 00:26:13.060
<v Michael Kennedy>I feel, but at the same time,

00:26:13.240 --> 00:26:14.620
<v Michael Kennedy>how could this not be one of my tools?

00:26:14.860 --> 00:26:15.980
<v Michael Kennedy>I use this so much.

00:26:16.300 --> 00:26:17.460
<v Calvin Hendryx-Parker>There's a lot to dive in here too, though.

00:26:17.540 --> 00:26:18.700
<v Calvin Hendryx-Parker>I think model choice.

00:26:18.860 --> 00:26:20.800
<v Calvin Hendryx-Parker>You mentioned just fire it up and point opus at it.

00:26:20.940 --> 00:26:24.080
<v Calvin Hendryx-Parker>I feel like there's great ways to use the skills and sub-agents

00:26:24.300 --> 00:26:27.020
<v Calvin Hendryx-Parker>to specify for this skill, you really only need haiku.

00:26:27.460 --> 00:26:29.520
<v Calvin Hendryx-Parker>Like go fast, find a lot of things.

00:26:29.700 --> 00:26:32.620
<v Calvin Hendryx-Parker>There's certain things that are definitely more adept to those other skills.

00:26:32.740 --> 00:26:33.880
<v Calvin Hendryx-Parker>You don't need to burn a ton of tokens.

00:26:34.360 --> 00:26:36.460
<v Michael Kennedy>I have an awesome use of haiku you will not see coming.

00:26:36.860 --> 00:26:37.520
<v Calvin Hendryx-Parker>Oh, yeah?

00:26:37.940 --> 00:26:38.500
<v Michael Kennedy>All right, I can't wait.

00:26:39.080 --> 00:26:39.720
<v Michael Kennedy>I can't wait.

00:26:40.280 --> 00:26:42.180
<v Michael Kennedy>One of the things that's really interesting that I've noticed

00:26:42.320 --> 00:26:45.640
<v Michael Kennedy>Claude Code started doing, and you can encourage it to do so if it doesn't,

00:26:45.940 --> 00:26:48.860
<v Michael Kennedy>is adversarial pushback.

00:26:49.260 --> 00:26:52.540
<v Michael Kennedy>So you talked about how you're absolutely right.

00:26:52.700 --> 00:26:53.400
<v Michael Kennedy>It's not a code review.

00:26:54.820 --> 00:26:56.720
<v Michael Kennedy>That's been one of the problems with these things, right?

00:26:57.780 --> 00:27:00.400
<v Michael Kennedy>You give it a goal, and it doesn't care if it generates a ton of code.

00:27:00.660 --> 00:27:02.960
<v Michael Kennedy>It's just going to jam through until it makes that goal work.

00:27:03.100 --> 00:27:04.220
<v Michael Kennedy>I need this UI.

00:27:04.340 --> 00:27:06.880
<v Michael Kennedy>Like, okay, well, why is it 1,000 lines when it could be 100?

00:27:07.380 --> 00:27:08.460
<v Michael Kennedy>And so on and so on.

00:27:08.560 --> 00:27:10.460
<v Michael Kennedy>But what I've noticed a lot of times lately is like,

00:27:11.040 --> 00:27:12.000
<v Michael Kennedy>now Claude is starting to say,

00:27:12.400 --> 00:27:15.260
<v Michael Kennedy>okay, I launched 11 subagents to do this work,

00:27:15.640 --> 00:27:20.420
<v Michael Kennedy>And then when it was done, I've launched four adversarial sub-agents in these different categories to push back.

00:27:20.620 --> 00:27:22.100
<v Michael Kennedy>And, oh, I found a bug or a misunderstanding.

00:27:22.380 --> 00:27:23.040
<v Michael Kennedy>We're going to fix that.

00:27:23.260 --> 00:27:30.120
<v Michael Kennedy>And it kind of starts to address some of this just over-eagerness to just blindly chase the goal.

00:27:30.540 --> 00:27:31.860
<v Michael Kennedy>And I think that's really good.

00:27:32.100 --> 00:27:36.140
<v Calvin Hendryx-Parker>Yeah, the superpowers verification and review steps bring some of that to the table.

00:27:36.160 --> 00:27:41.060
<v Calvin Hendryx-Parker>And you can install custom review agents that you can run in Claude Code to do exactly that.

00:27:41.480 --> 00:27:43.900
<v Calvin Hendryx-Parker>Have it use another model from another provider

00:27:44.310 --> 00:27:46.100
<v Calvin Hendryx-Parker>so it doesn't share some of the same opinions

00:27:46.270 --> 00:27:48.940
<v Calvin Hendryx-Parker>that were baked into the Anthropic models, for example.

00:27:49.280 --> 00:27:50.080
<v Calvin Hendryx-Parker>Oh, yeah. Awesome.

00:27:51.040 --> 00:27:51.820
<v Michael Kennedy>That could be a whole show.

00:27:52.940 --> 00:27:55.820
<v Calvin Hendryx-Parker>Maybe we do need to do the full agentic coding show.

00:27:56.600 --> 00:27:58.800
<v Michael Kennedy>Maybe, but take us to your next topic.

00:27:59.080 --> 00:28:01.900
<v Calvin Hendryx-Parker>Okay. I like typing.

00:28:02.190 --> 00:28:06.120
<v Calvin Hendryx-Parker>I feel like I've spent a lot of my life trying to type,

00:28:06.580 --> 00:28:09.480
<v Calvin Hendryx-Parker>but I've really recently discovered I should just dictate instead.

00:28:10.020 --> 00:28:11.260
<v Calvin Hendryx-Parker>and there's some really great tools out there

00:28:11.360 --> 00:28:12.920
<v Calvin Hendryx-Parker>for doing dictation to your computer.

00:28:13.180 --> 00:28:14.300
<v Calvin Hendryx-Parker>Not only dictation, but transcription.

00:28:15.520 --> 00:28:17.360
<v Calvin Hendryx-Parker>This one right here is MacWhisper.

00:28:18.060 --> 00:28:18.600
<v Calvin Hendryx-Parker>I'm a fan.

00:28:18.800 --> 00:28:21.900
<v Calvin Hendryx-Parker>It uses local models to actually do all the transcription.

00:28:22.160 --> 00:28:24.340
<v Calvin Hendryx-Parker>So it'll download and use Whisper by default.

00:28:24.690 --> 00:28:26.960
<v Calvin Hendryx-Parker>And I think if you opt for the Pro version,

00:28:27.280 --> 00:28:28.680
<v Calvin Hendryx-Parker>so there's a free version in the Pro version,

00:28:29.180 --> 00:28:30.580
<v Calvin Hendryx-Parker>this is a Mac-only app.

00:28:30.800 --> 00:28:33.260
<v Calvin Hendryx-Parker>I do have another option here for those who are not on Mac,

00:28:33.420 --> 00:28:37.040
<v Calvin Hendryx-Parker>but you can use Whisper models like the Large V3,

00:28:37.460 --> 00:28:38.760
<v Calvin Hendryx-Parker>or you can use Parakeet models,

00:28:39.080 --> 00:28:40.660
<v Calvin Hendryx-Parker>the latest NVIDIA voice models,

00:28:40.710 --> 00:28:43.020
<v Calvin Hendryx-Parker>which are incredibly fast and incredibly capable.

00:28:43.640 --> 00:28:47.180
<v Calvin Hendryx-Parker>So this one gives you transcription of,

00:28:47.560 --> 00:28:49.280
<v Calvin Hendryx-Parker>for example, you can just feed it a YouTube URL

00:28:49.700 --> 00:28:51.240
<v Calvin Hendryx-Parker>and it will go transcribe and give you

00:28:52.100 --> 00:28:54.140
<v Calvin Hendryx-Parker>the transcription from that video.

00:28:54.920 --> 00:28:56.240
<v Calvin Hendryx-Parker>I have it transcribed my meetings.

00:28:56.660 --> 00:28:58.340
<v Calvin Hendryx-Parker>So one of the things MacWhisperer also does

00:28:58.410 --> 00:29:00.460
<v Calvin Hendryx-Parker>is it can intercept your local audio on your computer.

00:29:01.090 --> 00:29:03.200
<v Calvin Hendryx-Parker>So I can record audio coming out of this browser

00:29:03.480 --> 00:29:05.519
<v Calvin Hendryx-Parker>or out of my Zoom meeting or out of a Teams meeting

00:29:05.540 --> 00:29:08.500
<v Calvin Hendryx-Parker>or you name five other things that you're probably meeting with,

00:29:08.940 --> 00:29:11.160
<v Calvin Hendryx-Parker>and you want to grab those transcriptions all in a central spot,

00:29:11.280 --> 00:29:12.580
<v Calvin Hendryx-Parker>you can do that with MacWhisperer,

00:29:13.060 --> 00:29:16.360
<v Calvin Hendryx-Parker>and it can do on-device speaker recognition.

00:29:16.780 --> 00:29:20.360
<v Calvin Hendryx-Parker>So in addition to the local models for the voice transcription,

00:29:20.460 --> 00:29:22.700
<v Calvin Hendryx-Parker>it can actually never send your data to the cloud,

00:29:23.340 --> 00:29:24.080
<v Calvin Hendryx-Parker>unless you tell it to,

00:29:24.660 --> 00:29:26.320
<v Calvin Hendryx-Parker>for doing things like figuring out who's speaking.

00:29:26.660 --> 00:29:29.140
<v Calvin Hendryx-Parker>And then it gives you a UI for finding all the conversations

00:29:29.360 --> 00:29:30.780
<v Calvin Hendryx-Parker>I've ever had with Michael, for example.

00:29:30.980 --> 00:29:32.720
<v Calvin Hendryx-Parker>It can do that, which is really handy,

00:29:32.900 --> 00:29:34.640
<v Calvin Hendryx-Parker>because I talked to Michael two weeks ago,

00:29:35.300 --> 00:29:37.720
<v Calvin Hendryx-Parker>click on Michael's tag inside the software.

00:29:38.000 --> 00:29:38.800
<v Calvin Hendryx-Parker>The GUI is pretty nice

00:29:39.260 --> 00:29:40.820
<v Calvin Hendryx-Parker>and it allows you for exploring

00:29:40.960 --> 00:29:42.740
<v Calvin Hendryx-Parker>these transcriptions and dictations.

00:29:43.480 --> 00:29:45.420
<v Calvin Hendryx-Parker>And then you can dictate into any field or any prompt.

00:29:45.980 --> 00:29:48.240
<v Calvin Hendryx-Parker>So I can just be hovering over a prompt

00:29:48.840 --> 00:29:50.400
<v Calvin Hendryx-Parker>on my text box on my computer

00:29:50.880 --> 00:29:51.860
<v Calvin Hendryx-Parker>and hit the push.

00:29:52.060 --> 00:29:53.460
<v Calvin Hendryx-Parker>I use it in kind of push to talk mode.

00:29:53.500 --> 00:29:57.140
<v Calvin Hendryx-Parker>So I've got my right option key on my keyboard mapped

00:29:57.300 --> 00:29:59.280
<v Calvin Hendryx-Parker>so that when I hold that key down,

00:29:59.360 --> 00:29:59.900
<v Calvin Hendryx-Parker>it is listening.

00:30:00.160 --> 00:30:00.940
<v Calvin Hendryx-Parker>And so I let up,

00:30:01.060 --> 00:30:03.200
<v Calvin Hendryx-Parker>it just pastes the text right into that field.

00:30:03.360 --> 00:30:06.760
<v Calvin Hendryx-Parker>So any app, anywhere, terminal, browser, doesn't matter,

00:30:07.560 --> 00:30:08.660
<v Calvin Hendryx-Parker>that all works really, really well.

00:30:09.540 --> 00:30:12.920
<v Calvin Hendryx-Parker>The other bit on this one that I wanted to mention

00:30:13.140 --> 00:30:15.200
<v Calvin Hendryx-Parker>is you can actually, with MacWhisperer,

00:30:15.760 --> 00:30:18.080
<v Calvin Hendryx-Parker>feed it prompts to post-process your text.

00:30:18.580 --> 00:30:21.740
<v Calvin Hendryx-Parker>So if I'm dictating into my browser and maybe on Gmail,

00:30:22.240 --> 00:30:24.840
<v Calvin Hendryx-Parker>I can give it an email skill or prompt

00:30:25.340 --> 00:30:26.980
<v Calvin Hendryx-Parker>that I want it to pass my text through

00:30:27.300 --> 00:30:29.100
<v Calvin Hendryx-Parker>before it pastes it into Gmail.

00:30:29.440 --> 00:30:31.620
<v Calvin Hendryx-Parker>So I can just go on about how I need to write

00:30:31.640 --> 00:30:35.860
<v Calvin Hendryx-Parker>Michael on email and tell him about this, this, and that. And it will format it into, hey, Michael,

00:30:36.220 --> 00:30:40.120
<v Calvin Hendryx-Parker>wanted to let you know about this cool tool I found. Cheers, Calvin. Like it puts all the

00:30:40.480 --> 00:30:44.820
<v Calvin Hendryx-Parker>wrappings around it and just pastes it in there. So that's Mac Whisperer. For those of you who are

00:30:45.020 --> 00:30:50.720
<v Calvin Hendryx-Parker>not on a Mac and do appreciate full open source, which I do, there is Handy. This is basically the

00:30:50.820 --> 00:30:56.960
<v Calvin Hendryx-Parker>dictation version of Mac Whisperer that is open source. It does do the Whisperer models and the

00:30:56.960 --> 00:31:02.280
<v Calvin Hendryx-Parker>Parakeet models as well. And so if you are on Mac, Windows, or Linux, you can do the same thing with

00:31:02.420 --> 00:31:08.000
<v Calvin Hendryx-Parker>Handy. So check out Handy. I'm not a user of Handy because I am mostly on the Mac when I'm doing my

00:31:08.120 --> 00:31:14.260
<v Calvin Hendryx-Parker>dictation. And Mac Whisperer works on macOS and actually has an iOS version for iPad and phone,

00:31:14.520 --> 00:31:20.840
<v Calvin Hendryx-Parker>but I don't find them as good as the built-in one on Apple's iOS devices. But I do find Mac Whisperer

00:31:20.900 --> 00:31:26.920
<v Calvin Hendryx-Parker>to be better for dictation than the built-in one on the desktop. So it's a little bit of a different

00:31:26.940 --> 00:31:31.540
<v Michael Kennedy>on desktop. Yeah, amazing. Do you speak to your computer, Michael? Can you switch back to Mac

00:31:31.660 --> 00:31:36.140
<v Michael Kennedy>Whisperer? Let me tell you the way, let me recount the ways here. So absolutely, I've been a Mac

00:31:36.320 --> 00:31:42.180
<v Michael Kennedy>Whisperer user since day one. I was a dragon, naturally speaking, user from way back. And that

00:31:42.300 --> 00:31:49.960
<v Michael Kennedy>thing was janky, but it kind of worked. I've had two, one short-term-ish and one long-term reason

00:31:50.020 --> 00:31:56.900
<v Michael Kennedy>to use dictation. I broke my hand so badly, like just in three places all along the left side of

00:31:56.920 --> 00:32:01.780
<v Michael Kennedy>it so so bad that the cast didn't go to like where your fingers are like sticking out like this yeah

00:32:02.140 --> 00:32:08.140
<v Michael Kennedy>but where it like completely there was no fingers and it took six weeks to heal so i couldn't type

00:32:08.300 --> 00:32:13.180
<v Michael Kennedy>at all my left hand or my right hand wouldn't touch the keyboard because it was just a it was

00:32:13.180 --> 00:32:17.860
<v Calvin Hendryx-Parker>just like a yeah covered in a cast that was the same reason for this guy to write handy he was in

00:32:17.860 --> 00:32:24.560
<v Calvin Hendryx-Parker>a cast and couldn't type that's awesome yeah so i ended up that's i remember what i was using then

00:32:24.580 --> 00:32:29.940
<v Michael Kennedy>But basically, it was predates MacWhisperer and some of the Whisperer stuff.

00:32:29.960 --> 00:32:33.960
<v Michael Kennedy>And it was really frustrating, but it was necessary because at least it let me keep going,

00:32:34.220 --> 00:32:36.220
<v Michael Kennedy>you know, like answering emails and keeping the business going.

00:32:36.520 --> 00:32:40.640
<v Michael Kennedy>The other one is for a long time, for like 20 years, I've had RSI issues.

00:32:41.020 --> 00:32:45.720
<v Michael Kennedy>So much so that I've had to have surgery on my wrist to deal with carpal tunnel issues.

00:32:46.280 --> 00:32:48.740
<v Michael Kennedy>And that was super scary to kind of recover from that.

00:32:48.800 --> 00:32:55.320
<v Michael Kennedy>I had to just do a bunch of things like type a little bit less, get a ergonomic keyboard of some variety.

00:32:55.340 --> 00:32:56.800
<v Michael Kennedy>We need a keyboard episode next.

00:32:57.500 --> 00:32:58.180
<v Michael Kennedy>Oh, yeah, we do.

00:32:58.860 --> 00:32:59.180
<v Michael Kennedy>Yeah, we do.

00:32:59.920 --> 00:33:07.180
<v Michael Kennedy>I'm right-handed, but I force myself to be left-handed mousing because your right hand does all the arrow keys, page up, page down, and the mouse.

00:33:07.240 --> 00:33:10.420
<v Michael Kennedy>I'm like, I got to just turn that down and do all those things.

00:33:10.580 --> 00:33:13.320
<v Michael Kennedy>But to keep that at bay, and it's totally fine.

00:33:13.380 --> 00:33:15.780
<v Michael Kennedy>I can type like 10 hours a day, long as I'm careful.

00:33:16.300 --> 00:33:20.160
<v Michael Kennedy>But to just lessen that, I do a lot of dictation still.

00:33:20.590 --> 00:33:22.920
<v Michael Kennedy>And I use Mac Whisper, and it is so good.

00:33:23.180 --> 00:33:27.440
<v Michael Kennedy>You can grab like 100 MP3 files or MP4 files, throw them on there.

00:33:27.480 --> 00:33:30.280
<v Michael Kennedy>It'll batch generate transcripts or subtitles or whatever you want.

00:33:30.380 --> 00:33:33.340
<v Michael Kennedy>There's all these different formats, multiple formats for single output.

00:33:33.470 --> 00:33:34.600
<v Michael Kennedy>It is so good.

00:33:35.090 --> 00:33:36.260
<v Michael Kennedy>But the dictation is great.

00:33:36.450 --> 00:33:38.480
<v Michael Kennedy>You can dictate, like you said, to any text field.

00:33:38.590 --> 00:33:42.180
<v Michael Kennedy>But you can also just dictate to the clipboard if you're working in something that it won't

00:33:42.400 --> 00:33:44.200
<v Michael Kennedy>let Mac Whisper interact with.

00:33:44.440 --> 00:33:45.420
<v Michael Kennedy>But you can just say, all right, fine.

00:33:45.580 --> 00:33:47.620
<v Michael Kennedy>I'll just paste it if it won't go into that control or something,

00:33:47.980 --> 00:33:49.500
<v Michael Kennedy>which is really sweet as well.

00:33:49.860 --> 00:33:55.020
<v Michael Kennedy>And the last thing is I have set it up so that for transcription stuff,

00:33:55.120 --> 00:33:56.140
<v Michael Kennedy>it uses local models.

00:33:56.200 --> 00:33:58.780
<v Michael Kennedy>It uses the V3 Turbo that you pointed out.

00:33:59.580 --> 00:34:03.500
<v Michael Kennedy>But for dictation, I like a little bit of correction,

00:34:03.640 --> 00:34:04.940
<v Michael Kennedy>a little bit of more smarts.

00:34:05.300 --> 00:34:08.600
<v Michael Kennedy>So like if I say, you know, PyPI and this,

00:34:08.679 --> 00:34:12.080
<v Michael Kennedy>and it'll like do it just right and not P-I-E dash or whatever,

00:34:12.919 --> 00:34:14.659
<v Michael Kennedy>I have set it up to use Claude Haiku.

00:34:15.179 --> 00:34:16.320
<v Calvin Hendryx-Parker>Oh, that is a great usage of Haiku.

00:34:16.700 --> 00:34:18.220
<v Michael Kennedy>Yeah, because it's really fast.

00:34:18.720 --> 00:34:20.120
<v Michael Kennedy>So you're not waiting as you dictate.

00:34:20.280 --> 00:34:21.780
<v Michael Kennedy>It comes out like super, super fast.

00:34:22.179 --> 00:34:24.940
<v Michael Kennedy>But it's just, and it's not sharing other people's information.

00:34:25.159 --> 00:34:26.520
<v Michael Kennedy>It's just like when I'm talking to it,

00:34:26.520 --> 00:34:28.700
<v Michael Kennedy>just flow that through Haiku and then into the text field.

00:34:28.919 --> 00:34:30.879
<v Michael Kennedy>And that is really something awesome.

00:34:31.220 --> 00:34:32.580
<v Michael Kennedy>So anyway, yes, 100% yes.

00:34:33.100 --> 00:34:36.260
<v Michael Kennedy>And another endorsement of this thing, it's not a subscription.

00:34:36.580 --> 00:34:38.320
<v Michael Kennedy>It's a one-time $30 fee.

00:34:38.700 --> 00:34:41.780
<v Calvin Hendryx-Parker>Yeah, so I was hesitant to include some commercial software in here,

00:34:41.960 --> 00:34:43.780
<v Calvin Hendryx-Parker>but I feel like this one's worthwhile

00:34:43.800 --> 00:34:49.100
<v Calvin Hendryx-Parker>because he has a free version. It's good to support him. I mean, I'm a huge fan of the local model

00:34:49.600 --> 00:34:54.940
<v Calvin Hendryx-Parker>privacy first basis on this. You can pass it to local models as well. So if you've got Ollama

00:34:55.080 --> 00:34:59.440
<v Calvin Hendryx-Parker>running on your Mac or wherever you got on your network, you can pass that off with prompts for

00:34:59.440 --> 00:35:05.900
<v Calvin Hendryx-Parker>that too. I'm so much so a fan of the local audio processing. My home assistant now runs with local

00:35:06.080 --> 00:35:12.840
<v Calvin Hendryx-Parker>audio processing on a Proxmox server down in the basement. So I've got a RTX 3070 card running

00:35:13.100 --> 00:35:18.700
<v Calvin Hendryx-Parker>whisper v3 large that processes the voice that I utter in my house. That's awesome. That is so

00:35:18.860 --> 00:35:24.240
<v Michael Kennedy>awesome. So how about that for a segue to the next thing? Yeah, privacy. So if you've got this

00:35:24.640 --> 00:35:29.580
<v Michael Kennedy>machine running in your basement or downstairs or wherever, and it works great on your local

00:35:29.760 --> 00:35:33.520
<v Michael Kennedy>network, whether you're sitting on your couch on your laptop or sitting up here in your framework,

00:35:33.780 --> 00:35:38.420
<v Michael Kennedy>you go somewhere, work trip, you go to the coffee shop, client meeting. Normally, what do you do?

00:35:38.540 --> 00:35:41.240
<v Michael Kennedy>like, well, normally I would run this on AI, but I can't.

00:35:41.320 --> 00:35:41.640
<v Michael Kennedy>I'm sorry.

00:35:41.820 --> 00:35:44.200
<v Michael Kennedy>Or you expose it to the internet like an insane person,

00:35:44.500 --> 00:35:47.980
<v Michael Kennedy>and then it gets hacked, and then something bad goes down.

00:35:48.440 --> 00:35:51.720
<v Michael Kennedy>Or you could use my new religion, Tailscale.

00:35:52.140 --> 00:35:53.060
<v Michael Kennedy>Are you a Tailscale person?

00:35:54.180 --> 00:35:54.560
<v Calvin Hendryx-Parker>I'm not.

00:35:55.600 --> 00:35:57.760
<v Calvin Hendryx-Parker>I have all Ubiquiti equipment in the house,

00:35:57.940 --> 00:35:59.740
<v Calvin Hendryx-Parker>so I've got the Dream Machine SE downstairs,

00:35:59.940 --> 00:36:02.280
<v Calvin Hendryx-Parker>and they have their Teleport VPN,

00:36:02.700 --> 00:36:05.020
<v Calvin Hendryx-Parker>which gets me exactly what I need from all my devices.

00:36:05.260 --> 00:36:06.300
<v Calvin Hendryx-Parker>So that works for me.

00:36:07.000 --> 00:36:09.680
<v Calvin Hendryx-Parker>But if I didn't have that, I would absolutely be using this.

00:36:10.060 --> 00:36:11.840
<v Michael Kennedy>Yeah, so I'm not a ubiquity person.

00:36:11.990 --> 00:36:14.220
<v Michael Kennedy>I have a super cool Wi-Fi setup.

00:36:14.350 --> 00:36:15.520
<v Michael Kennedy>Like, there's so many shows we could do.

00:36:17.320 --> 00:36:20.240
<v Michael Kennedy>But I don't open any of the ports, nothing like that.

00:36:20.340 --> 00:36:22.020
<v Michael Kennedy>It's like, let's not do any of those things.

00:36:22.280 --> 00:36:25.380
<v Michael Kennedy>And I was doing weird SSH tunnels and other stuff

00:36:25.390 --> 00:36:27.920
<v Michael Kennedy>to kind of get safe access to this stuff,

00:36:27.970 --> 00:36:31.920
<v Michael Kennedy>or maybe using ngrok for a certain use case, rarely.

00:36:32.320 --> 00:36:34.680
<v Michael Kennedy>But tail scale, I believe it's called an overlay network,

00:36:34.940 --> 00:36:36.560
<v Michael Kennedy>where it's like you have your regular network,

00:36:36.940 --> 00:36:37.640
<v Michael Kennedy>You're just doing whatever.

00:36:38.010 --> 00:36:42.500
<v Michael Kennedy>But then it's kind of like a VPN, but you don't, you're just kind of ambulantly there.

00:36:42.530 --> 00:36:48.140
<v Michael Kennedy>It doesn't intercept your normal traffic, but it just makes visibility to other subnets possible, right?

00:36:48.320 --> 00:36:55.960
<v Michael Kennedy>So I have my Mac Mini M4 Pro over there that's kind of maxed out, and it runs LM Studio with my models.

00:36:56.240 --> 00:37:02.040
<v Michael Kennedy>It runs my database server that I use for different apps that if I'm developing on one of them,

00:37:02.040 --> 00:37:06.740
<v Michael Kennedy>it needs to have access to its database instead of running that locally or even installing that at all

00:37:06.740 --> 00:37:08.660
<v Michael Kennedy>I just have it running over there.

00:37:09.140 --> 00:37:10.380
<v Michael Kennedy>Local network, it would connect to it.

00:37:10.420 --> 00:37:11.680
<v Michael Kennedy>But anywhere outside of there,

00:37:12.100 --> 00:37:14.220
<v Michael Kennedy>now it will just see that server

00:37:14.540 --> 00:37:15.900
<v Michael Kennedy>no matter where you are in the world.

00:37:16.240 --> 00:37:18.020
<v Michael Kennedy>You need to jump in and do some screen sharing.

00:37:18.260 --> 00:37:18.620
<v Michael Kennedy>No problem.

00:37:18.780 --> 00:37:21.020
<v Michael Kennedy>Just jump back and either screen share on Mac

00:37:21.380 --> 00:37:23.600
<v Michael Kennedy>or Windows app or remote desktop,

00:37:23.820 --> 00:37:26.080
<v Michael Kennedy>whatever the heck they call it these days, back.

00:37:26.440 --> 00:37:27.440
<v Michael Kennedy>And you have access to it,

00:37:27.440 --> 00:37:29.700
<v Michael Kennedy>but you don't never have to expose that to the internet.

00:37:30.300 --> 00:37:32.420
<v Michael Kennedy>And that's the thing that's super, super cool.

00:37:32.800 --> 00:37:33.600
<v Calvin Hendryx-Parker>Yeah, yeah, I love that.

00:37:34.000 --> 00:37:36.140
<v Calvin Hendryx-Parker>That's why I use the teleport on the Ubiquiti stuff.

00:37:36.220 --> 00:37:40.380
<v Calvin Hendryx-Parker>But if you aren't, most routers have full support for WireGuard at a bare minimum.

00:37:40.780 --> 00:37:45.280
<v Calvin Hendryx-Parker>You should be VPNing back to your own house if you trust your own house, your home network.

00:37:45.680 --> 00:37:47.620
<v Michael Kennedy>Yeah, and if you don't trust your home network, well, you're already on.

00:37:48.040 --> 00:37:49.080
<v Calvin Hendryx-Parker>Yeah, you have other problems.

00:37:50.000 --> 00:37:50.700
<v Michael Kennedy>It's pretty bad.

00:37:51.200 --> 00:37:54.700
<v Michael Kennedy>I mean, there's the whole internet of things, but maybe put that on a guest network or something.

00:37:54.720 --> 00:37:57.220
<v Calvin Hendryx-Parker>Yeah, I mean, those are the right things to do.

00:37:57.360 --> 00:38:00.160
<v Calvin Hendryx-Parker>They're just harder to do for most normal mortals.

00:38:00.480 --> 00:38:02.900
<v Michael Kennedy>But you can do really interesting production stuff too.

00:38:03.040 --> 00:38:04.720
<v Michael Kennedy>You could put tail scale on your server.

00:38:05.320 --> 00:38:07.840
<v Michael Kennedy>Once you get it set up, I've not been this brave.

00:38:07.870 --> 00:38:08.860
<v Michael Kennedy>I'll tell you what I actually do.

00:38:08.970 --> 00:38:11.180
<v Michael Kennedy>But you could set up Tailscale on your server,

00:38:11.780 --> 00:38:15.140
<v Michael Kennedy>log into your server, and then block port 22 SSH.

00:38:15.519 --> 00:38:16.660
<v Michael Kennedy>Period, for the internet.

00:38:16.880 --> 00:38:17.720
<v Calvin Hendryx-Parker>Tailscale has clients,

00:38:18.280 --> 00:38:20.620
<v Calvin Hendryx-Parker>are they the ones that have clients for like Apple TV?

00:38:20.640 --> 00:38:22.840
<v Calvin Hendryx-Parker>You can make Apple TV exit nodes into networks.

00:38:23.110 --> 00:38:24.120
<v Michael Kennedy>I don't know about Apple TV,

00:38:24.280 --> 00:38:26.320
<v Michael Kennedy>but they certainly have it for like iPhone and stuff.

00:38:26.480 --> 00:38:26.820
<v Calvin Hendryx-Parker>Yeah, yeah, yeah.

00:38:26.900 --> 00:38:28.360
<v Calvin Hendryx-Parker>I'm pretty sure, for example,

00:38:28.440 --> 00:38:30.700
<v Calvin Hendryx-Parker>if you're supporting aging parents in place

00:38:30.900 --> 00:38:32.680
<v Calvin Hendryx-Parker>and you wanna try and help them support their network,

00:38:33.000 --> 00:38:34.400
<v Calvin Hendryx-Parker>you can put this on an Apple TV

00:38:34.420 --> 00:38:38.480
<v Calvin Hendryx-Parker>So they get the benefit of home entertainment and secure remote access to help them out.

00:38:38.780 --> 00:38:39.400
<v Michael Kennedy>Yeah, exactly.

00:38:39.520 --> 00:38:41.980
<v Michael Kennedy>You don't have to have them do some crazy thing.

00:38:42.230 --> 00:38:48.200
<v Michael Kennedy>But yeah, so you can even like use this to connect your servers back to you securely without opening an SSH port on the internet.

00:38:48.590 --> 00:38:49.560
<v Michael Kennedy>And I have almost the same.

00:38:49.610 --> 00:38:57.020
<v Michael Kennedy>Like I'd almost, I'm not willing to, I'd almost be willing to tell you my SSH key to the server.

00:38:57.580 --> 00:39:02.740
<v Michael Kennedy>Because you also have to find a way into my home network in order to access it.

00:39:02.940 --> 00:39:04.220
<v Michael Kennedy>because it's not accessible anywhere.

00:39:04.700 --> 00:39:08.760
<v Michael Kennedy>Like port 22 on the server that runs all of our stuff,

00:39:09.160 --> 00:39:11.560
<v Michael Kennedy>it's only accessible from my home IP address.

00:39:12.040 --> 00:39:12.180
<v Calvin Hendryx-Parker>Yep.

00:39:12.460 --> 00:39:14.600
<v Michael Kennedy>And no matter where I am with tail scale,

00:39:14.720 --> 00:39:17.120
<v Michael Kennedy>I just say, use my Mac mini as the exit node.

00:39:17.360 --> 00:39:18.760
<v Michael Kennedy>And it looks like traffic is coming out of there.

00:39:18.900 --> 00:39:21.400
<v Michael Kennedy>That one is permitted to go into the server and nothing else.

00:39:21.580 --> 00:39:23.460
<v Michael Kennedy>So it's just another layer of security.

00:39:23.600 --> 00:39:24.660
<v Michael Kennedy>And it's such a sweet,

00:39:24.940 --> 00:39:26.160
<v Michael Kennedy>and that's a real pain in the butt

00:39:26.160 --> 00:39:28.200
<v Michael Kennedy>if you're always moving around and your IP is stressed.

00:39:28.440 --> 00:39:30.480
<v Michael Kennedy>But because your tail scale just lets you

00:39:30.680 --> 00:39:32.180
<v Michael Kennedy>like always go back to a stable machine,

00:39:32.380 --> 00:39:37.440
<v Michael Kennedy>then you're good to go. There's a lot of use cases for this. I interviewed Alex Kritschmar

00:39:38.360 --> 00:39:44.360
<v Michael Kennedy>who's done a ton of work, done a bunch of self-hosting stuff. He ran the self-hosting

00:39:44.510 --> 00:39:48.260
<v Michael Kennedy>podcast for a while, which is really awesome. But he's also now working for Tailscale doing

00:39:48.290 --> 00:39:52.640
<v Michael Kennedy>some of that. So we did a whole section on Tailscale with him and then it was really fun.

00:39:52.850 --> 00:39:58.060
<v Michael Kennedy>So people would check out that Talk Python episode. This portion of Talk Python To Me is brought to you

00:39:57.940 --> 00:40:03.020
<v Michael Kennedy>by us. I want to tell you about a course I put together that I'm really proud of,

00:40:03.700 --> 00:40:09.720
<v Michael Kennedy>Agentic AI Programming for Python Developers. I know a lot of you have tried AI coding tools and

00:40:09.770 --> 00:40:15.680
<v Michael Kennedy>come away thinking, well, this is more hassle than it's worth. And honestly, all the vibe coding hype

00:40:15.960 --> 00:40:21.460
<v Michael Kennedy>isn't helping. It's a smokescreen that hides what these tools can actually do. This course is about

00:40:21.700 --> 00:40:26.980
<v Michael Kennedy>agentic engineering, applying real software engineering practices with AI that understands

00:40:27.000 --> 00:40:32.360
<v Michael Kennedy>your entire code base, runs your tests, and builds complete features under your direction.

00:40:33.200 --> 00:40:38.640
<v Michael Kennedy>I've used these techniques to ship real production code across Talk Python, Python Bytes, and completely

00:40:38.670 --> 00:40:44.060
<v Michael Kennedy>new projects. I migrated an entire CSS framework on a production site with thousands of lines of

00:40:44.300 --> 00:40:51.180
<v Michael Kennedy>HTML in a few hours, twice. I shipped a new search feature with caching and async in under an hour.

00:40:51.420 --> 00:40:59.660
<v Michael Kennedy>I built a complete CLI tool for Talk Python from scratch, tested, documented, and published to PyPI in an afternoon.

00:41:00.320 --> 00:41:04.200
<v Michael Kennedy>Real projects, real production code, both Greenfield and legacy.

00:41:04.740 --> 00:41:06.340
<v Michael Kennedy>No toy demos, no fluff.

00:41:06.920 --> 00:41:13.040
<v Michael Kennedy>I'll show you the guardrails, the planning techniques, and the workflows that turn AI into a genuine engineering partner.

00:41:13.720 --> 00:41:17.180
<v Michael Kennedy>Check it out at talkpython.fm/agentic-engineering.

00:41:17.580 --> 00:41:20.520
<v Michael Kennedy>That's talkpython.fm/agentic-engineering.

00:41:20.700 --> 00:41:22.740
<v Michael Kennedy>The link is in your podcast player's show notes.

00:41:24.400 --> 00:41:28.140
<v Calvin Hendryx-Parker>Essentially, you mentioned the Zeoxide in the comments there.

00:41:28.190 --> 00:41:30.060
<v Calvin Hendryx-Parker>I use Zeoxide all the time.

00:41:30.590 --> 00:41:33.260
<v Calvin Hendryx-Parker>If we're kind of jumping into extras here, that would be one worth mentioning.

00:41:33.740 --> 00:41:36.080
<v Michael Kennedy>Let's jump into extras, yeah, and just take it away.

00:41:36.500 --> 00:41:42.460
<v Calvin Hendryx-Parker>Okay, well, I mentioned Zeoxide, but I also put a couple pieces in here that just didn't fit,

00:41:42.720 --> 00:41:43.900
<v Calvin Hendryx-Parker>or they were, again, Mac only.

00:41:44.580 --> 00:41:46.380
<v Calvin Hendryx-Parker>For viewing Markdown files,

00:41:46.480 --> 00:41:50.820
<v Calvin Hendryx-Parker>I want to, sometimes I want the most beautiful Mac experience I can get.

00:41:51.040 --> 00:41:52.800
<v Calvin Hendryx-Parker>When things flow in that Mac world,

00:41:52.960 --> 00:41:55.600
<v Calvin Hendryx-Parker>and it's the old school Mac versus PC,

00:41:55.920 --> 00:41:57.520
<v Calvin Hendryx-Parker>and I just want things to feel like my Mac,

00:41:58.200 --> 00:42:00.920
<v Calvin Hendryx-Parker>Telescopo is the Markdown viewer,

00:42:01.460 --> 00:42:03.120
<v Calvin Hendryx-Parker>and now they've just added in editing.

00:42:03.320 --> 00:42:05.440
<v Calvin Hendryx-Parker>So they've got the whole new studio piece, which is fine.

00:42:05.460 --> 00:42:06.720
<v Calvin Hendryx-Parker>I don't actually use it for editing,

00:42:07.260 --> 00:42:09.940
<v Calvin Hendryx-Parker>but the viewer alone, when I first downloaded it,

00:42:09.940 --> 00:42:12.300
<v Calvin Hendryx-Parker>it was only a viewer, and I was like, that's super cool.

00:42:12.420 --> 00:42:13.560
<v Calvin Hendryx-Parker>Why would you want just an only viewer?

00:42:13.980 --> 00:42:16.200
<v Calvin Hendryx-Parker>because sometimes you're presenting these Markdown files

00:42:16.420 --> 00:42:18.440
<v Calvin Hendryx-Parker>to other people who don't just view Markdown

00:42:18.600 --> 00:42:21.500
<v Calvin Hendryx-Parker>in its beautiful marked up look and feel.

00:42:22.100 --> 00:42:24.940
<v Calvin Hendryx-Parker>Telescopo gives you tons of themes and great fonts

00:42:25.420 --> 00:42:27.140
<v Calvin Hendryx-Parker>and just that Mac-like feel.

00:42:27.660 --> 00:42:30.120
<v Calvin Hendryx-Parker>It just feels normal to a Mac user.

00:42:30.260 --> 00:42:33.040
<v Calvin Hendryx-Parker>And so you could probably turn regular old business users

00:42:33.580 --> 00:42:35.400
<v Calvin Hendryx-Parker>on their Mac into Markdown Power users

00:42:36.140 --> 00:42:37.740
<v Calvin Hendryx-Parker>very easily by handing them this app.

00:42:37.740 --> 00:42:39.580
<v Calvin Hendryx-Parker>I think that's definitely worth doing.

00:42:39.860 --> 00:42:42.960
<v Calvin Hendryx-Parker>The other one I wanted to mention over here was Starship.

00:42:43.100 --> 00:42:45.780
<v Calvin Hendryx-Parker>This is the cross shell prompt that I use

00:42:45.930 --> 00:42:47.300
<v Calvin Hendryx-Parker>to make it feel a little more fancy

00:42:47.960 --> 00:42:50.260
<v Calvin Hendryx-Parker>when I'm actually in my various prompts.

00:42:50.700 --> 00:42:52.240
<v Calvin Hendryx-Parker>If you've never checked it out,

00:42:52.440 --> 00:42:54.160
<v Calvin Hendryx-Parker>it gives you all the fancy coloring

00:42:54.420 --> 00:42:55.620
<v Calvin Hendryx-Parker>and tells you when you're on master.

00:42:56.340 --> 00:42:59.300
<v Calvin Hendryx-Parker>I will use it with the Groovebox theme.

00:42:59.780 --> 00:43:01.280
<v Calvin Hendryx-Parker>I don't think they got any examples of the theme here,

00:43:01.280 --> 00:43:03.640
<v Calvin Hendryx-Parker>but you can trick this thing out to no end,

00:43:04.120 --> 00:43:05.640
<v Calvin Hendryx-Parker>get the fancy power line looking thing.

00:43:05.650 --> 00:43:07.380
<v Calvin Hendryx-Parker>The reason I landed on the Starship

00:43:07.500 --> 00:43:12.360
<v Calvin Hendryx-Parker>was because power line 10K became unmaintained.

00:43:12.700 --> 00:43:14.460
<v Calvin Hendryx-Parker>And so I wanted a better alternative.

00:43:14.560 --> 00:43:16.220
<v Calvin Hendryx-Parker>And so I went and found Starship,

00:43:16.380 --> 00:43:17.800
<v Calvin Hendryx-Parker>which is fast and rust-powered

00:43:18.180 --> 00:43:20.160
<v Calvin Hendryx-Parker>and all the cool stuff.

00:43:20.260 --> 00:43:21.580
<v Calvin Hendryx-Parker>And it has the whole nerd font.

00:43:21.780 --> 00:43:22.560
<v Calvin Hendryx-Parker>It has to be installed

00:43:22.680 --> 00:43:24.460
<v Calvin Hendryx-Parker>so you get all the fun icons

00:43:24.720 --> 00:43:26.120
<v Calvin Hendryx-Parker>and things like that in your terminal.

00:43:26.420 --> 00:43:27.900
<v Michael Kennedy>You have to have nerd fonts, by the way.

00:43:28.020 --> 00:43:29.440
<v Calvin Hendryx-Parker>It just won't work.

00:43:29.760 --> 00:43:31.720
<v Calvin Hendryx-Parker>It'll look rough if you don't.

00:43:31.900 --> 00:43:33.200
<v Calvin Hendryx-Parker>But when you're switching between machines,

00:43:34.100 --> 00:43:35.300
<v Calvin Hendryx-Parker>you'll see it'll be like,

00:43:35.400 --> 00:43:36.400
<v Calvin Hendryx-Parker>oh, you're on your Ubuntu machine.

00:43:36.520 --> 00:43:37.620
<v Calvin Hendryx-Parker>So it gives you an Ubuntu logo.

00:43:38.260 --> 00:43:38.820
<v Calvin Hendryx-Parker>You're on your Mac.

00:43:38.820 --> 00:43:40.620
<v Calvin Hendryx-Parker>So you get an Apple logo in the prompt.

00:43:41.200 --> 00:43:42.660
<v Calvin Hendryx-Parker>Again, those little niceties

00:43:42.840 --> 00:43:45.460
<v Calvin Hendryx-Parker>are real, real nice for having that going for you.

00:43:45.710 --> 00:43:46.780
<v Michael Kennedy>Yeah, the Starship is cool.

00:43:46.850 --> 00:43:50.180
<v Michael Kennedy>A lot of the stuff I said about Oh My Seashell also applies here.

00:43:50.340 --> 00:43:51.600
<v Calvin Hendryx-Parker>Yeah, yep, yep, totally.

00:43:51.670 --> 00:43:53.820
<v Calvin Hendryx-Parker>I don't know if I can show the presets.

00:43:54.940 --> 00:43:56.600
<v Michael Kennedy>It does say presets on the left there, I'm not sure.

00:43:56.710 --> 00:43:59.060
<v Calvin Hendryx-Parker>Yeah, yeah, that's where you can come in here and you're like,

00:43:59.090 --> 00:43:59.940
<v Calvin Hendryx-Parker>oh, I want it to look like this.

00:44:00.090 --> 00:44:01.380
<v Calvin Hendryx-Parker>You just, one command away.

00:44:01.690 --> 00:44:04.100
<v Calvin Hendryx-Parker>The one I chose was the Groovebox.

00:44:04.370 --> 00:44:06.080
<v Calvin Hendryx-Parker>Like there's the Tokyo Tonight, which is pretty.

00:44:06.360 --> 00:44:08.600
<v Calvin Hendryx-Parker>This is the one I've got running, which I really, really like.

00:44:09.520 --> 00:44:10.780
<v Calvin Hendryx-Parker>And it's literally a one-liner.

00:44:10.840 --> 00:44:14.320
<v Calvin Hendryx-Parker>You just copy-paste that, and now your prompt will look like this.

00:44:14.600 --> 00:44:14.960
<v Calvin Hendryx-Parker>That's awesome.

00:44:15.360 --> 00:44:15.480
<v Calvin Hendryx-Parker>Yeah.

00:44:15.720 --> 00:44:18.420
<v Michael Kennedy>What's the platform story for Starship?

00:44:19.840 --> 00:44:20.700
<v Calvin Hendryx-Parker>Like it works on all of them?

00:44:20.820 --> 00:44:21.480
<v Calvin Hendryx-Parker>Oh, it should work everywhere.

00:44:21.720 --> 00:44:22.520
<v Calvin Hendryx-Parker>Any place you can put it.

00:44:22.800 --> 00:44:23.400
<v Calvin Hendryx-Parker>I've got it on my Mac.

00:44:23.580 --> 00:44:24.520
<v Calvin Hendryx-Parker>I've got it on my Linux machine.

00:44:25.100 --> 00:44:28.460
<v Calvin Hendryx-Parker>So I want my experience to be seamless as I move back and forth.

00:44:28.900 --> 00:44:32.820
<v Calvin Hendryx-Parker>And so I definitely dress up my Linux box to look a little more Mac-like.

00:44:33.120 --> 00:44:35.800
<v Calvin Hendryx-Parker>You know, there's people who prefer Ubuntu because it feels like a Mac,

00:44:36.040 --> 00:44:37.920
<v Calvin Hendryx-Parker>and people who like Ubuntu because it feels like Windows.

00:44:38.080 --> 00:44:40.880
<v Calvin Hendryx-Parker>I'm on the Mac side of the UI spectrum.

00:44:41.790 --> 00:44:41.900
<v Michael Kennedy>Lovely.

00:44:42.400 --> 00:44:42.600
<v Michael Kennedy>All right.

00:44:42.900 --> 00:44:43.240
<v Michael Kennedy>Very cool.

00:44:43.480 --> 00:44:43.640
<v Michael Kennedy>Very cool.

00:44:44.100 --> 00:44:45.900
<v Michael Kennedy>Just a quick shout out.

00:44:46.060 --> 00:44:47.820
<v Michael Kennedy>Typeora is my markdown thing,

00:44:47.930 --> 00:44:50.020
<v Michael Kennedy>but I will be checking out how this goes.

00:44:50.080 --> 00:44:51.940
<v Michael Kennedy>I evaluate Typeora.

00:44:52.380 --> 00:44:53.920
<v Calvin Hendryx-Parker>I can't remember why I didn't pick it now.

00:44:54.000 --> 00:44:54.260
<v Michael Kennedy>Love it.

00:44:54.460 --> 00:44:54.600
<v Michael Kennedy>Yeah.

00:44:54.700 --> 00:44:54.960
<v Michael Kennedy>Very good.

00:44:55.780 --> 00:44:58.080
<v Michael Kennedy>It has a really nice just single hotkey

00:44:58.180 --> 00:45:02.020
<v Michael Kennedy>to just swap between markdown view and WYSIWYG view.

00:45:02.390 --> 00:45:03.360
<v Michael Kennedy>But even in markdown view,

00:45:03.500 --> 00:45:04.500
<v Michael Kennedy>it's still kind of like, you know,

00:45:04.800 --> 00:45:07.500
<v Michael Kennedy>the H2s are bigger than the H3s and so on.

00:45:07.540 --> 00:45:11.840
<v Michael Kennedy>I just, I don't know. It's just, it's pretty seamless. I like it a lot. But that's not the

00:45:11.890 --> 00:45:17.540
<v Michael Kennedy>main thing. That was more of a follow-up. Two extras to wrap up this long but awesome episode

00:45:18.999 --> 00:45:27.340
<v Michael Kennedy>is I recently interviewed Michael Ione and Michael Chow and Richard Ione from Posit About Great Docs.

00:45:27.470 --> 00:45:31.280
<v Calvin Hendryx-Parker>Do you know Great Docs? Are you familiar with this? Yes. Yeah, we talked, well, you talked about an

00:45:31.370 --> 00:45:35.220
<v Calvin Hendryx-Parker>extra last week. Yeah, that's right. Because I was talking about like the skills and the LLMs and all

00:45:35.200 --> 00:45:40.320
<v Michael Kennedy>that kind of stuff. And I'm like, I really have, I have a bunch of open source libraries, like seven

00:45:40.340 --> 00:45:44.660
<v Michael Kennedy>or eight that are worth like actually talking about, you know, like the one, if you use Umami,

00:45:44.780 --> 00:45:49.940
<v Michael Kennedy>I wrote that use, if you use, FastAPI, but you want to use the chameleon template language.

00:45:50.300 --> 00:45:54.160
<v Michael Kennedy>Like I wrote the FastAPI chameleon one. And if you want to use partials with Jinja for like

00:45:54.440 --> 00:46:00.000
<v Michael Kennedy>flask or cord or whatever, or even FastAPI, like I wrote that to be better to support HTTPX better

00:46:00.160 --> 00:46:04.079
<v Michael Kennedy>and so on. Right. But they, they only had their readme on GitHub. They didn't have a proper like

00:46:04.100 --> 00:46:07.920
<v Michael Kennedy>docs site. And after going through talking to them like this, I should really do this.

00:46:08.400 --> 00:46:12.240
<v Michael Kennedy>So part of this with Claude just helped me jam out like a bunch of stuff into my,

00:46:12.620 --> 00:46:17.220
<v Michael Kennedy>into my Hugo blog and connect all those things is I actually went through and I created

00:46:18.539 --> 00:46:22.620
<v Michael Kennedy>documentation pages, a site, full sites for every single one of those libraries last week.

00:46:23.260 --> 00:46:27.160
<v Michael Kennedy>And they're super cool. So like you over to Umami, it's got what you would see on the readme,

00:46:27.560 --> 00:46:32.480
<v Michael Kennedy>you know, all the cool stuff, but it also has like a built-in changelog that can be driven from

00:46:32.500 --> 00:46:36.260
<v Michael Kennedy>GitHub, it's got the API reference like, hey, what is this website ID?

00:46:36.330 --> 00:46:38.200
<v Michael Kennedy>Oh, show me the source and it'll take you over.

00:46:38.470 --> 00:46:42.560
<v Michael Kennedy>And it actually pulls up and highlights that function that was the documentation

00:46:43.280 --> 00:46:45.940
<v Michael Kennedy>on GitHub off of the documentation, which is sweet.

00:46:46.860 --> 00:46:51.500
<v Michael Kennedy>If you go back, it also has like LLM skills like, hey, here's the things you can do.

00:46:51.530 --> 00:46:52.600
<v Michael Kennedy>And here's how you authenticate.

00:46:52.630 --> 00:46:53.620
<v Michael Kennedy>And you actually pass this.

00:46:53.730 --> 00:46:54.420
<v Michael Kennedy>And here's the function.

00:46:54.570 --> 00:46:58.800
<v Michael Kennedy>And here's actually an example code that is a part of that.

00:46:59.040 --> 00:47:01.260
<v Michael Kennedy>And here's how, you know, the typing for this.

00:47:01.560 --> 00:47:04.180
<v Michael Kennedy>that will teach your agent about this library,

00:47:04.270 --> 00:47:05.940
<v Michael Kennedy>which is one of the things I was really excited about, right?

00:47:07.099 --> 00:47:08.740
<v Michael Kennedy>So none of these libraries are new,

00:47:08.970 --> 00:47:11.020
<v Michael Kennedy>but I created the doc sites for each one of them,

00:47:11.270 --> 00:47:13.980
<v Michael Kennedy>and they all are off of my personal mkiddy.codes.

00:47:14.340 --> 00:47:16.300
<v Michael Kennedy>Click on tools, click on open source libraries,

00:47:16.880 --> 00:47:18.680
<v Michael Kennedy>and that shows you all the links to all the doc sites.

00:47:19.060 --> 00:47:20.000
<v Michael Kennedy>So anyway, I did that.

00:47:20.120 --> 00:47:21.040
<v Calvin Hendryx-Parker>It's beautiful.

00:47:22.219 --> 00:47:23.900
<v Calvin Hendryx-Parker>The frictionless way to view docs.

00:47:24.320 --> 00:47:25.560
<v Michael Kennedy>Yeah, I'm really excited.

00:47:25.960 --> 00:47:27.260
<v Michael Kennedy>Great Docs is pretty new.

00:47:27.260 --> 00:47:28.420
<v Michael Kennedy>It doesn't have a ton of GitHub stars.

00:47:28.510 --> 00:47:29.500
<v Michael Kennedy>I feel like it should have more.

00:47:29.780 --> 00:47:32.380
<v Michael Kennedy>But it's built on Quarto, which has been around for a long time.

00:47:32.380 --> 00:47:32.960
<v Michael Kennedy>It's super popular.

00:47:33.420 --> 00:47:35.500
<v Michael Kennedy>Okay, last AI statement here.

00:47:35.880 --> 00:47:37.380
<v Michael Kennedy>And I would love to hear your thoughts.

00:47:37.520 --> 00:47:41.820
<v Michael Kennedy>This is, I alluded to this earlier, and I said, I was using Fable.

00:47:41.920 --> 00:47:42.520
<v Michael Kennedy>Ha, ha, ha, ha.

00:47:42.760 --> 00:47:43.280
<v Michael Kennedy>That was fun.

00:47:44.900 --> 00:47:48.060
<v Michael Kennedy>Well, remember, on the show, we talked about Mythos before

00:47:48.200 --> 00:47:53.200
<v Michael Kennedy>and about how Mythos found a bunch of CVEs or what became CVEs in Firefox.

00:47:53.620 --> 00:47:55.860
<v Michael Kennedy>And it couldn't be released because it was so dangerous.

00:47:56.140 --> 00:47:57.100
<v Michael Kennedy>It was so powerful.

00:47:57.480 --> 00:48:04.960
<v Michael Kennedy>We had to give it to Apple, give it to Microsoft, and give it to these different companies so they could protect their code at least a little bit before it comes out, right?

00:48:05.600 --> 00:48:07.720
<v Michael Kennedy>Well, to my surprise, it came out last week.

00:48:07.870 --> 00:48:08.640
<v Michael Kennedy>Oh, my gosh.

00:48:09.820 --> 00:48:11.720
<v Michael Kennedy>Now we're turning this thing loose on stuff.

00:48:11.790 --> 00:48:13.700
<v Michael Kennedy>And it was in a pretty restricted mode.

00:48:13.900 --> 00:48:25.420
<v Michael Kennedy>It was available to Claude Code subscribers, but there was a little dagger subtext that said, this will be part of your subscription for two weeks, and then it will become a purely paid thing.

00:48:25.840 --> 00:48:31.240
<v Michael Kennedy>So it was going to go kind of unobtainium for most of us anyway, because I'm sure it was brutally expensive.

00:48:31.540 --> 00:48:32.840
<v Michael Kennedy>But it was still going to be there, right?

00:48:33.240 --> 00:48:41.540
<v Michael Kennedy>Well, the U.S. government said, you have to restrict access to mythos and fable to only U.S. citizens because this is too powerful.

00:48:43.019 --> 00:48:44.740
<v Michael Kennedy>And Anthropik said, we can't do that.

00:48:45.030 --> 00:48:45.900
<v Michael Kennedy>So we're just cutting it off.

00:48:45.990 --> 00:48:46.900
<v Michael Kennedy>Like, we're closing it down.

00:48:47.060 --> 00:48:47.280
<v Michael Kennedy>It's gone.

00:48:47.460 --> 00:48:47.680
<v Calvin Hendryx-Parker>Good luck.

00:48:48.380 --> 00:48:48.960
<v Calvin Hendryx-Parker>Good luck, everyone.

00:48:49.240 --> 00:48:51.520
<v Calvin Hendryx-Parker>Thanks for being a very reasonable United States government.

00:48:51.800 --> 00:48:53.520
<v Michael Kennedy>I am so conflicted here.

00:48:53.980 --> 00:49:01.040
<v Michael Kennedy>In isolation, I think that the current administration of the U.S. has been pretty self-serving when it comes to a lot of things.

00:49:01.120 --> 00:49:07.800
<v Michael Kennedy>Like, we're going to, instead of just talking about the bad jobs report, maybe we're just going to, like, stop posting jobs data for the economy.

00:49:08.020 --> 00:49:09.400
<v Michael Kennedy>That helps us a lot.

00:49:10.040 --> 00:49:12.700
<v Michael Kennedy>And they got to fight with Anthropic, right?

00:49:12.800 --> 00:49:15.620
<v Michael Kennedy>Because they wouldn't let them use Claude for the weapons.

00:49:15.920 --> 00:49:19.400
<v Michael Kennedy>And the guy, Renzo Zagadario, is like, actually, you can, just not yet.

00:49:19.440 --> 00:49:20.680
<v Michael Kennedy>It's not ready for weapons.

00:49:20.940 --> 00:49:23.680
<v Michael Kennedy>Like, you're going to go, this is crazy, my understanding.

00:49:24.120 --> 00:49:27.440
<v Michael Kennedy>and they said fine well then you're barred from all like government use and so there's been this

00:49:27.660 --> 00:49:33.020
<v Michael Kennedy>feud so this could be the u.s government being spiteful i totally grant that yeah could also be

00:49:33.420 --> 00:49:39.060
<v Michael Kennedy>though Anthropic has spent months telling us this is nearly like weapon of mass destruction type of

00:49:39.220 --> 00:49:43.420
<v Michael Kennedy>llm stuff if it gets out it's going to destroy the world we can't even we got to do project

00:49:43.520 --> 00:49:47.440
<v Michael Kennedy>glass wing wag do all these things to make sure that at least when it comes out it's somewhat

00:49:47.740 --> 00:49:51.500
<v Michael Kennedy>protected like we got to set up the iron dome equivalent and then they release it and they're

00:49:51.460 --> 00:49:56.440
<v Michael Kennedy>like well this is too dangerous you know i mean like they both are kind of if you go around screaming

00:49:56.560 --> 00:49:59.680
<v Michael Kennedy>this thing is so dangerous it's going to destroy the world because it's so powerful and then like

00:49:59.760 --> 00:50:03.560
<v Calvin Hendryx-Parker>well people are upset it's dangerous it's like who's yeah but you kind of marketed that yeah

00:50:03.740 --> 00:50:08.820
<v Calvin Hendryx-Parker>mike who's raising money michael who's raising money i know yeah exactly then ipo is i think i

00:50:08.830 --> 00:50:14.920
<v Calvin Hendryx-Parker>think this is a who's raising money moment they needed this kind of moment to be seen as this is

00:50:14.930 --> 00:50:19.319
<v Calvin Hendryx-Parker>the most important model of your life kind of thing well then next month the next most important

00:50:19.860 --> 00:50:26.180
<v Calvin Hendryx-Parker>model my life will be out too so i don't know i i'm skeptical of these models they are powerful

00:50:26.500 --> 00:50:30.100
<v Calvin Hendryx-Parker>they can do a lot uh they probably should be in the hands of people who can actually make the

00:50:30.100 --> 00:50:35.360
<v Calvin Hendryx-Parker>best use of them to go protect their software to patch all the vulnerabilities that exist because

00:50:36.020 --> 00:50:40.820
<v Calvin Hendryx-Parker>the open waste models are only a few months behind these things so yeah yeah that's true like the

00:50:40.920 --> 00:50:45.120
<v Calvin Hendryx-Parker>genie's out of the bottle we need to give access to the right people so they they can get their work

00:50:45.160 --> 00:50:49.820
<v Calvin Hendryx-Parker>down and continue building safely with these kinds of tools.

00:50:50.290 --> 00:50:52.040
<v Michael Kennedy>And so the people just have Fable still active.

00:50:52.280 --> 00:50:55.380
<v Calvin Hendryx-Parker>I got to use Fable exactly once.

00:50:55.760 --> 00:50:56.100
<v Calvin Hendryx-Parker>Oh, really?

00:50:56.240 --> 00:51:00.520
<v Calvin Hendryx-Parker>I was on the road last week when it all happened and someone's like, did you try Fable?

00:51:00.530 --> 00:51:00.640
<v Calvin Hendryx-Parker>Yeah.

00:51:00.650 --> 00:51:02.060
<v Calvin Hendryx-Parker>I'm like, oh, I better go try Fable.

00:51:02.370 --> 00:51:04.800
<v Calvin Hendryx-Parker>So I had it right and owed to Taco Bell.

00:51:05.160 --> 00:51:06.040
<v Calvin Hendryx-Parker>That's my thing.

00:51:06.490 --> 00:51:07.020
<v Calvin Hendryx-Parker>I make these.

00:51:07.190 --> 00:51:08.040
<v Calvin Hendryx-Parker>I had Fable do one thing.

00:51:08.040 --> 00:51:09.420
<v Michael Kennedy>Oh, the gordita is powerful.

00:51:10.100 --> 00:51:10.720
<v Michael Kennedy>Oh, it was good.

00:51:12.000 --> 00:51:12.600
<v Michael Kennedy>Oh my gosh.

00:51:12.880 --> 00:51:14.820
<v Michael Kennedy>I used it quite a bit for three or four days.

00:51:15.040 --> 00:51:16.940
<v Michael Kennedy>I actually blew through my weekly limit.

00:51:17.010 --> 00:51:17.800
<v Michael Kennedy>I'm like, oh, man.

00:51:17.990 --> 00:51:18.180
<v Michael Kennedy>Oh, yeah.

00:51:18.830 --> 00:51:20.300
<v Michael Kennedy>These things are token monsters for sure.

00:51:20.380 --> 00:51:20.580
<v Michael Kennedy>Yeah.

00:51:20.590 --> 00:51:23.540
<v Michael Kennedy>And then it wasn't available in my tokens reset.

00:51:23.860 --> 00:51:24.060
<v Calvin Hendryx-Parker>Yeah.

00:51:24.260 --> 00:51:26.820
<v Calvin Hendryx-Parker>I think we're going to see a new era of right model for the right job.

00:51:27.220 --> 00:51:31.540
<v Calvin Hendryx-Parker>A lot of small language models and a lot of machine learning models that turn into tools

00:51:32.020 --> 00:51:35.000
<v Calvin Hendryx-Parker>will probably be faster and cheaper to use than things like Fable and Mythos.

00:51:35.320 --> 00:51:35.480
<v Michael Kennedy>Yeah.

00:51:35.680 --> 00:51:36.160
<v Michael Kennedy>100%.

00:51:36.220 --> 00:51:36.720
<v Michael Kennedy>100%.

00:51:37.200 --> 00:51:41.460
<v Michael Kennedy>And shout out to Mark Little, who's been on the show before, who sent this over when this

00:51:41.550 --> 00:51:42.000
<v Michael Kennedy>first came out.

00:51:42.010 --> 00:51:44.300
<v Michael Kennedy>I said, hey, did you notice that Fable's gone?

00:51:44.400 --> 00:51:44.720
<v Michael Kennedy>I'm like, what?

00:51:44.920 --> 00:51:48.980
<v Michael Kennedy>where did it go i know yeah we don't know where it went but it's not there all right so ready for

00:51:49.010 --> 00:51:53.360
<v Michael Kennedy>the joke i am ready for the joke but let me set the stage before we go into this really quick okay

00:51:53.650 --> 00:51:57.380
<v Michael Kennedy>i think you should be kind to people and understanding and like kind of chill but every

00:51:57.500 --> 00:52:03.780
<v Michael Kennedy>now and then something just catches it just it it hits a nerve and you just like nope nope this has

00:52:03.780 --> 00:52:08.940
<v Michael Kennedy>to be right this and this is sort of this person here is like i titled this no second date

00:52:10.160 --> 00:52:14.920
<v Michael Kennedy>there's this sort of smug looking person there won't be a second date but at least she knows

00:52:15.220 --> 00:52:22.420
<v Michael Kennedy>that an array index starts at zero not one it's so bad you could just imagine the type of person

00:52:22.600 --> 00:52:26.660
<v Michael Kennedy>that's like you know what how'd the date go you know what no we couldn't do it yeah it would just

00:52:27.600 --> 00:52:31.860
<v Michael Kennedy>not something initially want a date but it's pretty funny i thought this is why i try to teach my

00:52:31.980 --> 00:52:37.980
<v Calvin Hendryx-Parker>children there's a difference between being right and being correct yep you don't always want to be

00:52:37.920 --> 00:52:43.880
<v Michael Kennedy>correct and even you don't have to publicly be right to their face right like just you know get

00:52:43.950 --> 00:52:48.140
<v Michael Kennedy>along with people right but anyway it's i thought this is pretty funny you do the right thing not

00:52:48.160 --> 00:52:53.500
<v Michael Kennedy>always the correct thing yes exactly exactly well this person's getting no second date nope not

00:52:53.500 --> 00:52:59.520
<v Calvin Hendryx-Parker>in this one like i can hear that conversation go down yes i've had that conversation i'm sure

00:53:00.210 --> 00:53:04.299
<v Michael Kennedy>and it doesn't have to even be a date it just could be like oh i met some people at the conference and

00:53:04.320 --> 00:53:06.860
<v Michael Kennedy>Oh, now I got to get out of this conversation as quick as I can.

00:53:07.160 --> 00:53:07.680
<v Michael Kennedy>Yep, yep, yep, yep.

00:53:08.380 --> 00:53:08.620
<v Michael Kennedy>All right.

00:53:08.780 --> 00:53:13.060
<v Michael Kennedy>Well, I don't feel that way about this show, Calvin, but I do believe it's time for us to go.

00:53:13.280 --> 00:53:13.880
<v Calvin Hendryx-Parker>Yeah, I agree.

00:53:15.180 --> 00:53:16.160
<v Calvin Hendryx-Parker>This has gone on.

00:53:16.340 --> 00:53:17.780
<v Calvin Hendryx-Parker>We get passionate about our tools.

00:53:17.960 --> 00:53:19.460
<v Michael Kennedy>I'm excited that I'm here for it.

00:53:19.660 --> 00:53:20.480
<v Michael Kennedy>I'm here for it too.

00:53:20.640 --> 00:53:21.920
<v Michael Kennedy>Thanks for listening to the end, everyone.

00:53:22.110 --> 00:53:24.240
<v Michael Kennedy>And hopefully you'll all enjoy this unique episode.

00:53:24.720 --> 00:53:24.880
<v Calvin Hendryx-Parker>Yeah.

00:53:25.040 --> 00:53:25.240
<v Michael Kennedy>See ya.

00:53:25.540 --> 00:53:25.920
<v Michael Kennedy>Talk to y'all later.

00:53:26.860 --> 00:53:29.000
<v Michael Kennedy>This has been another episode of Talk Python To Me.

00:53:29.290 --> 00:53:30.080
<v Michael Kennedy>Thank you to our sponsors.

00:53:30.330 --> 00:53:31.620
<v Michael Kennedy>Be sure to check out what they're offering.

00:53:31.790 --> 00:53:33.160
<v Michael Kennedy>It really helps support the show.

00:53:33.720 --> 00:53:36.540
<v Michael Kennedy>This episode is sponsored by Sentry's Seer.

00:53:36.840 --> 00:53:39.280
<v Michael Kennedy>If you're tired of debugging in the dark, give Seer a try.

00:53:39.840 --> 00:53:41.900
<v Michael Kennedy>There are plenty of AI tools that help you write code,

00:53:42.160 --> 00:53:45.060
<v Michael Kennedy>but Sentry's Seer is built to help you fix it when it breaks.

00:53:45.640 --> 00:53:49.900
<v Michael Kennedy>Visit talkpython.fm/sentry and use the code talkpython26,

00:53:50.360 --> 00:53:53.520
<v Michael Kennedy>all one word, no spaces, for $100 in Sentry credits.

00:53:54.380 --> 00:53:58.340
<v Michael Kennedy>And it's brought to you by our Agentic AI Programming for Python course.

00:53:58.880 --> 00:54:01.900
<v Michael Kennedy>Learn to work with AI that actually understands your code base

00:54:02.120 --> 00:54:03.340
<v Michael Kennedy>and build real features.

00:54:04.020 --> 00:54:07.380
<v Michael Kennedy>Visit talkpython.fm/agentic-ai.

00:54:08.180 --> 00:54:10.020
<v Michael Kennedy>If you or your team needs to learn Python,

00:54:10.240 --> 00:54:13.640
<v Michael Kennedy>we have over 270 hours of beginner and advanced courses

00:54:13.960 --> 00:54:17.380
<v Michael Kennedy>on topics ranging from complete beginners to async code,

00:54:17.520 --> 00:54:20.300
<v Michael Kennedy>Flask, Django, HTMX, and even LLMs.

00:54:20.600 --> 00:54:22.960
<v Michael Kennedy>Best of all, there's no subscription in sight.

00:54:23.340 --> 00:54:25.120
<v Michael Kennedy>Browse the catalog at talkpython.fm.

00:54:25.860 --> 00:54:27.800
<v Michael Kennedy>And if you're not already subscribed to the show

00:54:28.000 --> 00:54:30.480
<v Michael Kennedy>on your favorite podcast player, what are you waiting for?

00:54:31.100 --> 00:54:32.900
<v Michael Kennedy>Just search for Python in your podcast player.

00:54:33.040 --> 00:54:33.900
<v Michael Kennedy>we should be right at the top.

00:54:34.320 --> 00:54:35.860
<v Michael Kennedy>If you enjoyed that geeky rap song,

00:54:35.970 --> 00:54:37.140
<v Michael Kennedy>you can download the full track.

00:54:37.310 --> 00:54:39.200
<v Michael Kennedy>The link is actually in your podcast blur show notes.

00:54:40.040 --> 00:54:41.360
<v Michael Kennedy>This is your host, Michael Kennedy.

00:54:41.760 --> 00:54:42.820
<v Michael Kennedy>Thank you so much for listening.

00:54:43.050 --> 00:54:43.820
<v Michael Kennedy>I really appreciate it.

00:54:44.260 --> 00:54:44.960
<v Michael Kennedy>I'll see you next time.

00:54:59.660 --> 00:55:04.580
We'll be right back.