WEBVTT

00:00:00.000 --> 00:00:05.240
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.

00:00:05.760 --> 00:00:12.140
This is episode 484, recorded Tuesday, June 16, 2026.

00:00:12.260 --> 00:00:12.840
I'm Michael Kennedy.

00:00:13.200 --> 00:00:14.360
And I'm Calvin Hendrix-Parker.

00:00:14.600 --> 00:00:16.540
And this episode is brought to you by us.

00:00:16.720 --> 00:00:18.740
Check out the courses over at Talk Python Training.

00:00:18.800 --> 00:00:22.040
We have a couple new ones in the works that should be here soon.

00:00:22.100 --> 00:00:22.840
I'm very excited.

00:00:23.080 --> 00:00:24.820
Some timely topics indeed.

00:00:25.180 --> 00:00:27.000
And check out Six Feet Up.

00:00:27.260 --> 00:00:29.300
Calvin, you want to just say something really quick about Six Feet Up?

00:00:29.300 --> 00:00:32.300
Yeah, we rescheduled the LinkedIn Live we were going to do.

00:00:32.420 --> 00:00:34.280
So please check us out over there on LinkedIn.

00:00:34.460 --> 00:00:37.840
Go to Six Feet Up's LinkedIn company page and you can find our LinkedIn Live.

00:00:38.400 --> 00:00:43.500
And see Whit and I talk about, oh, you're right, is not a code review.

00:00:44.720 --> 00:00:45.840
You're absolutely right.

00:00:45.940 --> 00:00:46.960
That is not how it's supposed to be.

00:00:47.060 --> 00:00:47.420
It's not a code review.

00:00:47.580 --> 00:00:48.680
Yeah, it's not a code review.

00:00:48.840 --> 00:00:49.620
It's definitely not.

00:00:49.780 --> 00:00:50.000
Brilliant.

00:00:50.140 --> 00:00:52.320
Okay, I'm definitely looking forward to seeing that as well.

00:00:52.580 --> 00:00:52.780
Cool.

00:00:52.880 --> 00:01:03.700
So if you want to stay in touch with things like this, these special events that we might announce, as well as updates from the show and show notes, follow up with extra info that we may have talked about.

00:01:03.900 --> 00:01:05.800
Then subscribe to the newsletter, pythonbytes.fm.

00:01:05.920 --> 00:01:06.900
Click the newsletter button.

00:01:07.080 --> 00:01:08.780
Do the thing that it asks you to do there.

00:01:09.140 --> 00:01:14.000
And with that, I want to just set the stage before I throw it to you, Calvin.

00:01:14.000 --> 00:01:16.960
This episode is something that we came up with.

00:01:17.080 --> 00:01:19.260
It's like, you know, Calvin's joined the show.

00:01:19.460 --> 00:01:28.200
It's kind of a slightly different take, you know, and let's just kick it off rather than going around and find a bunch of other tools people are talking about.

00:01:28.260 --> 00:01:34.300
Like, let's just do a check-in on the tools that we're using because we love them so much.

00:01:34.400 --> 00:01:35.720
Like, that's why we're part of the show.

00:01:35.840 --> 00:01:36.020
I know.

00:01:36.020 --> 00:01:36.100
I know.

00:01:36.500 --> 00:01:37.440
And it's just never ending.

00:01:37.620 --> 00:01:42.260
I had trouble sleeping last night because I was trying to pick my favorite tools to put into the list.

00:01:42.380 --> 00:01:45.240
Like, it was running through my brain as I was falling asleep.

00:01:45.500 --> 00:01:48.080
I honestly, I had a hard time, too.

00:01:48.180 --> 00:01:50.600
And it's like, well, which one of your kids do you really like?

00:01:51.180 --> 00:01:52.280
It's so true, though.

00:01:52.940 --> 00:01:53.380
Yes.

00:01:54.080 --> 00:01:55.320
Well, we're going to find out.

00:01:55.900 --> 00:02:03.060
This one also comes a little bit, like, you threw this out there, but this also comes a little bit by special request from me because I'm like, I've been hearing about this.

00:02:03.060 --> 00:02:06.780
And I know that you do this, Calvin, so tell me about Pi and the other things.

00:02:07.000 --> 00:02:07.100
Yeah.

00:02:07.260 --> 00:02:07.460
Okay.

00:02:07.560 --> 00:02:11.480
So the first one I picked was a combination of two tools.

00:02:11.800 --> 00:02:16.060
The first one being Pi, which is the orchestrating agentic harness.

00:02:16.640 --> 00:02:21.460
And the other thing I compare with it is superpowers, which I'll talk about here in a minute.

00:02:21.520 --> 00:02:24.860
But I'm definitely a terminal-first person.

00:02:24.980 --> 00:02:27.020
I always have been, even since college.

00:02:27.020 --> 00:02:33.040
Like, when I first got introduced to the terminal and typed vi-tutor for the very first time, I was hooked.

00:02:33.180 --> 00:02:36.860
So obviously that gives you a slant for my bias towards these things.

00:02:37.260 --> 00:02:39.040
And I've tried IDEs now and then.

00:02:39.340 --> 00:02:40.280
And, I mean, they've gotten better.

00:02:40.400 --> 00:02:43.460
They've gotten really good for doing agentic AI stuff.

00:02:43.660 --> 00:02:45.920
I still will go fiddle with them and play.

00:02:46.120 --> 00:02:53.460
And I've been using antigravity and codex and, like, Claude's co-work, which gives you kind of that UI wrapper around them.

00:02:53.460 --> 00:02:57.120
But there's still just something about the terminal that really gets me excited.

00:02:57.760 --> 00:03:02.600
And I don't know if it's just the rawness of it or the control or how I feel about it.

00:03:02.700 --> 00:03:09.140
Maybe it's the minimalism of it, which, if you know me, I'm not necessarily a super minimalist person, but I'm opinionated.

00:03:09.420 --> 00:03:12.400
And I think that the terminal gives me that power to be very opinionated.

00:03:12.560 --> 00:03:16.180
And so Pi is a terminal-first open-source coding agent.

00:03:16.500 --> 00:03:19.720
So you can customize it and build it and make it yours.

00:03:19.720 --> 00:03:29.360
I think that's what really drew me to Pi was I've been playing with codex and I've been playing with Claude code and not to, you know, poo-poo some other people's favorite tools.

00:03:29.640 --> 00:03:31.580
This one is just stripped back.

00:03:31.840 --> 00:03:43.660
I think this is actually one of the reasons why I liked Ader chat when I first started using some of these agentic tooling was Ader, again, was kind of less opinionated and bring your own pieces to it to make it the thing you exactly want to be.

00:03:43.660 --> 00:03:49.840
Some nice things about Pi is that it's very session management as a first-class citizen here.

00:03:50.120 --> 00:03:56.080
You can rewind and start from any place in that tree of your session as you're going through and building the code.

00:03:56.140 --> 00:04:03.800
So how many times have you gone down a rabbit hole only to be like, ooh, that was not where I wanted the agent to land or the model to land on certain things?

00:04:04.160 --> 00:04:07.940
You can rewind up, just branch off of that point and keep going.

00:04:07.940 --> 00:04:11.720
The extensions model is incredibly composable.

00:04:11.880 --> 00:04:15.960
It's almost aggressively composable, although I use it in a very minimal way.

00:04:16.260 --> 00:04:18.560
It doesn't come with things like sub-agents out of the box.

00:04:18.620 --> 00:04:20.560
It doesn't come with issue trackers out of the box.

00:04:20.620 --> 00:04:27.200
It doesn't come with much out of the box, which is why from a context window standpoint, you build it and make it what you want it to be.

00:04:27.320 --> 00:04:28.980
So I use it with superpowers.

00:04:28.980 --> 00:04:33.860
So combining superpowers, which is a spec-driven development tool.

00:04:33.980 --> 00:04:38.060
So you've probably heard, I've talked about spec kit before on some of my LinkedIn videos.

00:04:38.420 --> 00:04:42.540
I've actually moved over to superpowers because I feel like it's a little more lightweight combined with Pi.

00:04:42.980 --> 00:04:46.540
It basically detects your, hey, you're building some software.

00:04:46.660 --> 00:04:47.780
I see you're building some, like, clippy.

00:04:47.920 --> 00:04:49.320
Like, I see you're building some software there.

00:04:50.180 --> 00:04:54.300
Let's take a step back and try and figure out exactly what you're trying to do.

00:04:54.300 --> 00:05:05.580
So it's basically a workflow that runs you through brainstorming, planning, execution, verification, review, and then committing and merging through that whole process.

00:05:05.920 --> 00:05:07.460
And just, it'll ask you questions.

00:05:07.540 --> 00:05:08.640
It'll propose options.

00:05:08.900 --> 00:05:10.880
And it seems, I mean, these things aren't magic.

00:05:10.980 --> 00:05:14.480
They are just stacks of markdown skills on your file system.

00:05:14.880 --> 00:05:18.360
But I like the way it interoperates at that kind of bare bones level with Pi.

00:05:18.360 --> 00:05:30.220
So I feel like Pi, in the agentic coding tool space, Pi is the one that hands you the keys to the car versus, like, guardrails that are put in place by a lot of the other tools.

00:05:30.440 --> 00:05:31.540
So it may not be for everyone.

00:05:31.660 --> 00:05:33.160
It's definitely a little more power user thing.

00:05:33.300 --> 00:05:34.940
Michael, you've not tried it out yet at all?

00:05:35.180 --> 00:05:36.700
I have not tried either of these.

00:05:37.100 --> 00:05:38.080
Oh, superpowers.

00:05:38.220 --> 00:05:39.700
Again, lightweight, fun.

00:05:40.340 --> 00:05:46.780
I tend to be, I try to be token efficient, which, again, the branching piece allows me to back up and not.

00:05:46.780 --> 00:05:49.580
I think people get stuck in a trap sometimes.

00:05:49.760 --> 00:05:53.760
They fall down a hole and just burn more tokens trying to get out.

00:05:54.400 --> 00:05:54.720
Right, right.

00:05:54.780 --> 00:05:55.720
No, you're doing it the wrong way.

00:05:55.820 --> 00:05:57.720
No, no, I wanted you to do this.

00:05:57.720 --> 00:05:58.000
Right.

00:05:58.120 --> 00:06:00.500
Instead of just rewinding time.

00:06:00.800 --> 00:06:01.500
Like, that didn't happen.

00:06:01.680 --> 00:06:02.720
Time travel is amazing.

00:06:02.900 --> 00:06:03.060
Yeah.

00:06:03.300 --> 00:06:13.920
So I'm a believer of skills and certainly things like superpowers, which my understanding is kind of like harness plus a bunch of skills that you can use and so on.

00:06:13.920 --> 00:06:17.900
And I think the reason I haven't tried it, I'm trying to think, like, why haven't I tried this yet?

00:06:17.940 --> 00:06:20.880
Well, let me give you two reasons and I'll, I'm interested to hear what you think.

00:06:21.160 --> 00:06:28.080
One, there's just so many of these things that are like, I have the magic that makes AI work.

00:06:28.140 --> 00:06:32.400
If you just use my seven markdown files, it's going to be amazing.

00:06:32.500 --> 00:06:32.900
You know what I mean?

00:06:32.920 --> 00:06:34.060
And there's like a million of them.

00:06:34.200 --> 00:06:37.120
And I'm sure 95% of them are junk.

00:06:37.380 --> 00:06:41.140
But this one, I think, is really, like, go to the top of your page here.

00:06:41.180 --> 00:06:42.060
How many stars does this have?

00:06:42.060 --> 00:06:44.300
Oh, it's just a couple, right?

00:06:44.640 --> 00:06:44.780
Yeah.

00:06:44.780 --> 00:06:44.820
Yeah.

00:06:44.820 --> 00:06:45.300
Just a few.

00:06:45.880 --> 00:06:48.500
229,000 stars on it.

00:06:48.500 --> 00:06:49.300
So I feel like maybe.

00:06:49.700 --> 00:06:51.580
Maybe this one actually might have a little momentum.

00:06:51.960 --> 00:06:53.060
In polish, right?

00:06:53.180 --> 00:06:53.580
Like, yeah.

00:06:53.700 --> 00:06:55.020
Not just one person's opinion.

00:06:55.560 --> 00:06:56.820
And they did something and it works.

00:06:57.140 --> 00:06:59.860
But they could have done almost anything and it would have worked better, you know.

00:07:00.100 --> 00:07:02.580
I highlighted right here, like, this part's really nice.

00:07:02.640 --> 00:07:05.420
Just out of the box, test-driven development, red, green.

00:07:05.420 --> 00:07:10.760
And it shows you in the UI, like, it's like, tests are red, you know, verifying, testing went green.

00:07:11.020 --> 00:07:14.420
And then the fact is, it thinks more like, I think, as a developer.

00:07:14.680 --> 00:07:16.420
The whole Yagni and dry.

00:07:16.800 --> 00:07:21.400
A lot of the other coding agents, I believe, are just make it go no matter what.

00:07:21.520 --> 00:07:24.360
Like, put it in a loop and see how much stuff you can crank out.

00:07:24.520 --> 00:07:28.340
And I feel like this is a little more just efficient in the way I would think about it myself.

00:07:28.440 --> 00:07:30.900
And obviously, I'm reviewing the code as it's going through.

00:07:30.900 --> 00:07:33.260
I'm actually building something with Pi right now in the background.

00:07:33.620 --> 00:07:33.860
Nice.

00:07:34.040 --> 00:07:34.300
Okay.

00:07:34.400 --> 00:07:34.820
I love it.

00:07:35.520 --> 00:07:39.500
But I use it to pull off, like, quick little tools.

00:07:39.700 --> 00:07:47.820
Like, if I've thought about a tool, I just immediately go over to brainstorm and at least bookmark it into a small little project so that I can start building a quick little tool.

00:07:47.880 --> 00:07:54.060
Right now, I'm building a tool that synchronizes my messages from my Mac or my phone to our CRM.

00:07:54.080 --> 00:07:55.860
Because I was like, I don't feel like copy-pasting anymore.

00:07:56.100 --> 00:07:56.580
That's awesome.

00:07:56.800 --> 00:07:56.940
Yeah.

00:07:57.000 --> 00:08:00.880
That is such a cool, that's a whole other topic, this hyper-personal software stuff.

00:08:01.180 --> 00:08:01.380
Yeah.

00:08:01.480 --> 00:08:02.340
It's super interesting.

00:08:02.720 --> 00:08:05.180
Like, I'm not going to publish it, but it's going to make my life better.

00:08:05.300 --> 00:08:05.460
Yeah.

00:08:05.700 --> 00:08:05.860
Yeah.

00:08:05.920 --> 00:08:06.620
So you can get Pi.

00:08:06.720 --> 00:08:07.800
There's a one-liner here.

00:08:08.360 --> 00:08:11.500
They've obviously got many different ways you can install it.

00:08:11.680 --> 00:08:12.900
But I would check it out.

00:08:13.540 --> 00:08:15.220
You need to be careful.

00:08:15.520 --> 00:08:17.100
It is definitely the keys to the car.

00:08:17.180 --> 00:08:18.080
You have full control.

00:08:18.360 --> 00:08:19.620
You can build exactly what you want.

00:08:19.800 --> 00:08:20.060
Nice.

00:08:20.320 --> 00:08:21.900
So Pi is an agent harness.

00:08:21.900 --> 00:08:25.280
A little bit like Claude Code is to Claude itself, right?

00:08:25.520 --> 00:08:25.640
Yeah.

00:08:25.900 --> 00:08:28.020
And so I can run Claude in Pi?

00:08:28.420 --> 00:08:31.040
You can run Claude Code.

00:08:31.120 --> 00:08:31.260
No.

00:08:31.720 --> 00:08:36.240
I can use Claude Opus as one of my agents while I'm doing Pi, for example.

00:08:36.480 --> 00:08:36.880
Yeah, yeah, yeah.

00:08:37.020 --> 00:08:38.640
So Pi, you bring your own models.

00:08:38.860 --> 00:08:40.500
You want to bring Gemini.

00:08:40.660 --> 00:08:43.800
You want to bring OpenAI models, Anthropic models.

00:08:44.160 --> 00:08:46.100
You want to use Olama with your local models.

00:08:46.100 --> 00:08:49.940
Feel free to pull out Gemma 4 and go to town.

00:08:50.240 --> 00:08:55.200
I recommend LFM 2.5, the new Liquid AI models.

00:08:55.600 --> 00:08:59.440
There's some really, if it's tool using, Pi will use them.

00:08:59.660 --> 00:08:59.900
Awesome.

00:09:00.160 --> 00:09:06.140
If Apple would just ship a new Mac Studio Max, I'll tell you what, I would be running some larger models.

00:09:06.280 --> 00:09:10.160
Well, the announcements from Apple last week, pretty exciting, right?

00:09:10.680 --> 00:09:11.880
That's a whole other news item.

00:09:12.120 --> 00:09:17.540
But I think there's some exciting things coming at the Edge, the Edge being your workstation.

00:09:17.840 --> 00:09:18.600
Yeah, 100%.

00:09:18.600 --> 00:09:19.380
I totally agree.

00:09:19.660 --> 00:09:20.940
It's just beginning.

00:09:21.120 --> 00:09:21.560
It's just beginning.

00:09:21.560 --> 00:09:22.220
Mm-hmm.

00:09:22.400 --> 00:09:27.680
For so long, it's like, well, your computer is basically just a view to a browser, which is a view to a server.

00:09:27.960 --> 00:09:29.580
And it's kind of rolling back a little bit.

00:09:29.760 --> 00:09:32.320
I'll talk more about that later in my follow-on tools.

00:09:32.740 --> 00:09:33.060
Okay.

00:09:33.260 --> 00:09:33.580
Awesome.

00:09:33.940 --> 00:09:34.280
Awesome.

00:09:34.560 --> 00:09:38.640
Well, let's warp ahead a little because I want to talk about warp.

00:09:38.800 --> 00:09:46.280
And I think there's a couple people out there who are just curious, like trying to detect a theme or like, what do we find important as people have been doing this for a long time?

00:09:46.280 --> 00:09:49.440
We both have AI topics and we both have terminal topics.

00:09:49.440 --> 00:09:53.760
So I think that's noteworthy.

00:09:54.300 --> 00:09:59.660
So my right now, for the last couple of years, I've been using warp from warp.dev.

00:09:59.940 --> 00:10:04.000
And it's a really nice, fresh take on the terminal.

00:10:04.160 --> 00:10:07.940
It's not just, oh, this one has GPU acceleration or whatever.

00:10:08.360 --> 00:10:12.300
And I know this is a little bit different than your take, which I'm also very excited for, Calvin.

00:10:12.400 --> 00:10:15.800
But if you go look at it, it's like every piece of software these days.

00:10:16.160 --> 00:10:17.980
Oh, you can ship software with an agent.

00:10:17.980 --> 00:10:19.500
I thought this was a terminal.

00:10:19.640 --> 00:10:20.900
What in the world is going on here?

00:10:20.960 --> 00:10:21.460
You know what I mean?

00:10:22.100 --> 00:10:25.480
But it has some kind of agentic stuff.

00:10:25.800 --> 00:10:27.400
I barely have used it before.

00:10:27.560 --> 00:10:29.340
I mean, it's like, oh, this Linux command didn't work.

00:10:29.400 --> 00:10:30.640
Like, why didn't this Linux command work?

00:10:30.720 --> 00:10:31.780
Like, you forgot the dash F.

00:10:31.840 --> 00:10:32.120
Oh, yeah.

00:10:32.160 --> 00:10:32.380
Okay.

00:10:32.660 --> 00:10:37.940
You know, but I think there's better agentic tools than this warp for the terminal.

00:10:38.220 --> 00:10:39.640
But you can just turn those off.

00:10:39.640 --> 00:10:43.560
It's a really nice terminal with a lot of different angles on how you work.

00:10:43.680 --> 00:10:45.940
It's got like some team collaboration features.

00:10:46.800 --> 00:10:50.680
It has really nice sort of predictive capabilities.

00:10:50.860 --> 00:11:00.380
So if you go to type something, like if you type two letters, it might suggest if you just, you know, right arrow, not tab complete because it's what you've recently done or something like that.

00:11:00.380 --> 00:11:11.980
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:11:12.140 --> 00:11:13.100
And that's super helpful.

00:11:13.500 --> 00:11:15.040
Anyway, I just, I think it's a really nice.

00:11:15.420 --> 00:11:16.740
I'm not sure if I'm ready for that yet.

00:11:16.960 --> 00:11:24.160
Like, 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:11:24.380 --> 00:11:24.700
I know.

00:11:25.140 --> 00:11:26.880
Well, you know what's nice?

00:11:27.240 --> 00:11:27.760
It has.

00:11:28.100 --> 00:11:29.580
So this is part one.

00:11:29.580 --> 00:11:33.680
We both have a couple of multi-part things like your Pi and superpowers.

00:11:34.020 --> 00:11:39.320
So my part two is OhMyZShell, which I've, you know, it's an old standard, but I love it so much.

00:11:39.420 --> 00:11:48.320
So what I'm doing is I'm running warp, but then I turn off like their terminal magic and just run OhMyZShell and do mostly OhMyZShell things.

00:11:48.920 --> 00:11:56.360
So if you, if people open up a terminal and it looks like the default thing that came out of their computer, that's probably really not a good thing.

00:11:56.360 --> 00:12:00.460
You know, I've been a ZSH user for ages.

00:12:00.580 --> 00:12:04.080
I can't tell you how excited I've been that this kind of has become more popular.

00:12:04.520 --> 00:12:04.700
Yeah.

00:12:05.020 --> 00:12:05.180
Yeah.

00:12:05.220 --> 00:12:06.840
It's definitely, I'm a hundred percent.

00:12:07.100 --> 00:12:08.820
I'm very, very excited about it as well.

00:12:08.840 --> 00:12:10.800
And it's been just, just solid for years.

00:12:10.800 --> 00:12:23.520
And if you open up your terminal and just maybe it was white and you turned it black because that was bad, but it's just the basic thing, you know, for Linux or for Mac and especially if using command prompt, there's so much room for growth.

00:12:23.760 --> 00:12:25.420
There's so much room for something better.

00:12:25.560 --> 00:12:27.980
So you don't have to necessarily pick what we're picking here.

00:12:28.020 --> 00:12:31.020
Just, just look around because the defaults are usually not good.

00:12:31.080 --> 00:12:36.180
And so for example, like why is OhMyZShell even inside a warp with little like other stuff that it could do?

00:12:36.420 --> 00:12:36.940
Why is it cool?

00:12:36.940 --> 00:12:41.960
So I could go to like a Git repository, CD in there, and it'll show me what branch I'm on.

00:12:42.060 --> 00:12:45.500
Are there changes in that repo, right?

00:12:45.540 --> 00:12:48.100
And it'll put that in, in your, in your prompt.

00:12:48.220 --> 00:12:50.920
It'll also show you if there's a virtual environment, is it activated?

00:12:51.180 --> 00:12:52.480
What version of Python is it?

00:12:52.680 --> 00:13:05.740
All those things are cool from OhMyZShell, but then you could do things like Git branch tab and it will list all of the branches locally and all the branches on your server that you could check out or, you know, get checkout, whatever, right?

00:13:05.740 --> 00:13:11.600
It'll, it'll like understand way deeper into your projects and not just say autocomplete files.

00:13:11.600 --> 00:13:14.160
So it's an opinionated layer on top of ZSH.

00:13:14.460 --> 00:13:18.640
Like I've got my own set of .files that I've carried with me for the last 20 years.

00:13:18.780 --> 00:13:24.820
And so I've never gone full OhMyZSH because I don't know how they, they would work together.

00:13:25.140 --> 00:13:25.300
Yeah.

00:13:25.400 --> 00:13:26.380
That's definitely a challenge.

00:13:26.540 --> 00:13:30.680
Most of my stuff has grown up around OhMyZShell or OhMyZSH.

00:13:30.680 --> 00:13:36.920
And so it's, I've, I've managed to incorporate, but you have the, see, you're having the same problem that I have with superpowers.

00:13:36.920 --> 00:13:43.900
I have like so much structure around my AI stuff that I'm like, I don't know how to make these coexist as well as they should, you know?

00:13:44.120 --> 00:13:44.340
Yeah.

00:13:44.600 --> 00:13:44.820
Yeah.

00:13:45.120 --> 00:13:51.660
And I have an extra I'll talk about that makes my ZSH do most of that stuff just with one, one little trick.

00:13:52.020 --> 00:13:52.460
Just kind of fun.

00:13:52.700 --> 00:13:52.940
Awesome.

00:13:53.040 --> 00:13:54.980
Let me just throw what, what was sort of a rant out this part.

00:13:54.980 --> 00:13:58.560
It's not even on my list, but I just, I feel like it's, I should have it.

00:13:58.780 --> 00:13:59.560
So PLS.

00:14:00.340 --> 00:14:01.240
Love PLS.

00:14:01.540 --> 00:14:02.160
I'm a big fan.

00:14:02.360 --> 00:14:02.800
There we go.

00:14:03.020 --> 00:14:03.800
A prettier one.

00:14:03.920 --> 00:14:15.480
And so a prettier LS and it's just so the website for it is not, at least the repo is not amazing, but yeah, like just LS, show me what files have changed in Git and show

00:14:15.480 --> 00:14:20.660
me, you know, what type of file they are with an icon as you would find in like Finder or Explorer or whatever.

00:14:20.820 --> 00:14:20.960
Yeah.

00:14:20.960 --> 00:14:26.200
I think that one belongs in this, this, I'm going to now call it a trifecta of those three things.

00:14:26.380 --> 00:14:29.460
But I thought about why these are important to us.

00:14:29.460 --> 00:14:43.160
Like as, 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, that is your life to making your, you know, providing for your family or whatever you do.

00:14:43.400 --> 00:14:46.120
I feel like tricking it out and making it your own.

00:14:46.120 --> 00:14:54.500
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:14:54.660 --> 00:15:07.820
And then these little creature comforts like PLS or like I was going to mention Starship later for my power line piece, but it just makes the environment feel friendly and easy to use and, and just more seamless.

00:15:07.980 --> 00:15:09.940
I love bringing these things together.

00:15:09.940 --> 00:15:15.080
And I, and I don't want to shame anyone who doesn't do this, but why aren't you?

00:15:15.240 --> 00:15:15.920
Like it's here.

00:15:16.100 --> 00:15:18.360
These, these people have built these beautiful things.

00:15:18.720 --> 00:15:18.820
Yeah.

00:15:19.300 --> 00:15:25.060
Definitely not about shame, but I think it's just like, Hey, if you're not doing this, there's a great opportunity to make a whole lot of cool tools.

00:15:25.140 --> 00:15:26.120
Start going for you.

00:15:26.200 --> 00:15:26.420
Yeah.

00:15:26.460 --> 00:15:26.620
Yeah.

00:15:26.680 --> 00:15:27.300
A hundred percent.

00:15:27.360 --> 00:15:27.560
Yep.

00:15:27.740 --> 00:15:27.980
Definitely.

00:15:28.420 --> 00:15:29.620
Like, like a cat.

00:15:29.720 --> 00:15:30.540
What is the deal with this?

00:15:30.820 --> 00:15:31.340
Like a kitty?

00:15:32.060 --> 00:15:35.200
Oh, kitty's a, so I'm a long time kitty terminal user.

00:15:35.200 --> 00:15:43.700
I've seen ghosty and C mux and all the other new fancy warp kind of came in there as, as one people had said, well, why don't you use warp instead?

00:15:44.000 --> 00:15:50.560
I have really enjoyed kitty as a terminal, mostly because I do move back and forth between machines.

00:15:50.560 --> 00:15:58.720
Like I'm, I'm on a Mac right now, but I have a Linux framework, desktop sitting over here beside me, which is really powerful.

00:15:58.860 --> 00:16:08.200
And so I, I, I'm regularly moving back and forth between multiple environments, multiple OSs and some of the things I like to keep the same between and consistent between them is like my terminal.

00:16:08.460 --> 00:16:11.700
The kitty is a GPU accelerated, terminal.

00:16:11.880 --> 00:16:15.040
You may ask why the heck would you want a GPU accelerated terminal?

00:16:15.180 --> 00:16:17.140
It scrolls like nobody's business.

00:16:17.140 --> 00:16:22.580
And when you get T mux running in there and actually one of the nice things about kitty, you don't even need T mux.

00:16:22.680 --> 00:16:27.340
It actually comes with his own window muxing system built into it, which I've actually started using on my Mac.

00:16:27.460 --> 00:16:38.440
I may switch back over to T mux, because of some of my other opinions about how I want to use that Linux machine for more things than just, being available when I'm on the Linux machine.

00:16:38.440 --> 00:16:45.860
But you get that, that ability to do the powerful layouts and tiling and, and scroll back buffers.

00:16:45.860 --> 00:16:50.560
It's just a nice thing is it runs the same on Mac and windows and Linux.

00:16:50.780 --> 00:16:57.500
so I install the same one everywhere I land and I'm basically at home because I've, I'm very terminal first about a lot of this.

00:16:57.500 --> 00:17:04.300
So it's, it gives me that, that performance and feel that performance is a big feature.

00:17:04.300 --> 00:17:14.540
I think that tools like, rough and uv have, have proven to us that the fast speed as a developer is staying out of our way as we're thinking through problems.

00:17:14.540 --> 00:17:17.940
And I don't want the terminal to be a, one of those laggy bits.

00:17:17.940 --> 00:17:21.300
So for my Mac and for my Linux machine, I'm using kitty terminal.

00:17:21.300 --> 00:17:24.420
When I'm traveling on the road, I use the blink browser.

00:17:24.420 --> 00:17:27.680
I think I've got a blink, tab open here someplace.

00:17:27.680 --> 00:17:28.800
Did I open that up?

00:17:28.980 --> 00:17:29.140
Nope.

00:17:29.200 --> 00:17:30.260
That's my Tmux tab.

00:17:30.380 --> 00:17:31.780
Where did I put all this stuff?

00:17:32.280 --> 00:17:33.440
I've got too many tabs open.

00:17:34.160 --> 00:17:35.200
why are you looking?

00:17:35.440 --> 00:17:37.060
Tell, tell people what this Muxing is.

00:17:37.280 --> 00:17:37.440
Yeah.

00:17:37.540 --> 00:17:41.060
So when you are in a, I like single windows too.

00:17:41.340 --> 00:17:47.280
So browsers that give me multiple profiles across a single window, that's basically what I get with my terminal.

00:17:47.280 --> 00:17:53.080
I can actually have one terminal window open, not a bazillion terminal windows cluttering up my desktop.

00:17:53.400 --> 00:17:57.000
And inside that one terminal window, I've basically got tabs like you would have in browser.

00:17:57.200 --> 00:18:01.840
And then those tabs can now be further split down into tiles that I want to be working on.

00:18:01.940 --> 00:18:08.780
So if I'm in one terminal window and I've got, you know, mypy open on the bottom, I've got a shell open on the top.

00:18:08.920 --> 00:18:14.520
Maybe I've got B root open on the left side, you know, browsing the file structure.

00:18:14.520 --> 00:18:18.300
I got lazy get, you know, auto refreshing and another one.

00:18:18.360 --> 00:18:21.520
So I can see the file changes as the agent is editing the files.

00:18:21.660 --> 00:18:26.440
I can monitor actively what the diffs are all in a single terminal experience.

00:18:26.640 --> 00:18:28.600
That's what Muxing gives you.

00:18:28.740 --> 00:18:30.580
And so Kitty gives it to you out of the box.

00:18:30.820 --> 00:18:35.040
Tmux gives it to you as an add-on to any system you would be running on.

00:18:35.180 --> 00:18:41.880
The benefit of Tmux is you're going to be able to leave, like detached from that session and reattach to it later.

00:18:41.880 --> 00:18:46.100
And that's where this comes in, for my iPad and my iOS experience.

00:18:46.280 --> 00:18:47.360
I use Blink Shell.

00:18:47.660 --> 00:18:54.520
So Blink Shell is a fully power tool, power user version of a terminal on iOS.

00:18:54.520 --> 00:19:02.660
And for the iPad, it does give you a shell on the iPad, but more usefully, it's actually a SSH and Mosh client.

00:19:02.860 --> 00:19:05.120
So Mosh is another piece that I use for this.

00:19:05.480 --> 00:19:18.400
Mosh is the mobile shell that gives me the ability to connect over unreliable connections, terrible Wi-Fi, putting your computer to sleep, traveling to another network, or coffee shop, opening the computer up.

00:19:18.400 --> 00:19:19.940
And it's like nothing happened.

00:19:19.940 --> 00:19:22.140
Like you're still connected over your SSH session.

00:19:22.280 --> 00:19:30.780
It just has adapted and figured out how to keep you connected and keep the bits flowing back and forth between your terminal and where you're at.

00:19:30.780 --> 00:19:42.620
So I can start on my Mac right here, have a session running on my desk framework desktop over on my other desk over here, and then go to a coffee shop and jump on my iPad and reattach into that same Tmux session.

00:19:42.760 --> 00:19:49.500
And now I'm, I'm using the same agents, all the pieces that were working over there, we're all working, just together for one another.

00:19:49.680 --> 00:19:53.680
So that's the combination of like Blink Shell, Kitty Shell, Mosh.

00:19:53.680 --> 00:20:00.440
And if I go into, Mosh, let's see here, the Mosh mobile shell, that one's over in the other window.

00:20:00.640 --> 00:20:01.120
It's hiding.

00:20:01.180 --> 00:20:01.760
Of course.

00:20:02.020 --> 00:20:02.580
There we go.

00:20:02.820 --> 00:20:06.580
The mobile shell, again, that allows that whole roaming and connectivity.

00:20:06.900 --> 00:20:09.880
If you're using SSH, you should probably be using Mosh.

00:20:10.040 --> 00:20:12.020
You'll have a much better experience.

00:20:12.200 --> 00:20:16.140
It's much less fragile when it comes to keeping those connections going.

00:20:16.400 --> 00:20:19.560
And then Tmux for attaching and reattaching and having multiple sessions.

00:20:19.660 --> 00:20:26.620
So you could have, if you've got five clients, you could have five Tmux sessions running and you can just choose to attach to one of them and jump back in exactly where you're at.

00:20:26.840 --> 00:20:27.020
Yeah.

00:20:27.280 --> 00:20:35.500
It's, it's like you're constructing a little, little IDE source, but a custom IDE setup, but out of terminal bits, which it sounds like exactly where we want to live.

00:20:35.560 --> 00:20:35.780
That's cool.

00:20:35.980 --> 00:20:37.920
And I want to be able to travel with just my iPad.

00:20:38.100 --> 00:20:41.640
I don't like carrying a large laptop around if I can avoid it.

00:20:41.840 --> 00:20:42.000
Yeah.

00:20:42.180 --> 00:20:43.500
This is a perennial desire.

00:20:43.620 --> 00:20:45.600
That's always a bit tricky to accomplish.

00:20:45.900 --> 00:20:50.740
And one thing about Blink that I didn't mention, it does come with a VS Code embedded in it.

00:20:50.740 --> 00:20:57.600
So if you actually just type code from the Blink shell, it will fire up a VS Code session there and allow you to connect.

00:20:57.600 --> 00:20:58.040
On iPad.

00:20:58.340 --> 00:21:00.540
On the iPad and allow you to connect to code spaces.

00:21:00.900 --> 00:21:06.540
So you can actually use remote compute from GitHub over Blink if you go through all the hoops.

00:21:06.660 --> 00:21:08.440
There's some hoops, but it does work.

00:21:08.560 --> 00:21:09.200
I've done it.

00:21:09.400 --> 00:21:09.800
That's awesome.

00:21:10.060 --> 00:21:10.220
Wow.

00:21:10.300 --> 00:21:10.440
Okay.

00:21:10.720 --> 00:21:10.880
All right.

00:21:10.880 --> 00:21:21.560
I have a quick, I have one more thing to talk about here on my terminal side is my app actually that I built command book, which I use this thing every single day, which is why I built it.

00:21:21.560 --> 00:21:22.780
Cause I'm like, why does this not exist?

00:21:23.020 --> 00:21:25.280
Which lets you take things that are just long running.

00:21:25.600 --> 00:21:27.800
If you just want to kick them off and get it out of your terminal.

00:21:27.880 --> 00:21:29.860
So your terminal is like just for terminal things.

00:21:29.860 --> 00:21:38.700
So like I want to have, I don't know, some Hugo watch my markdown files for any changes and then auto reload that or like work on talk Python.

00:21:38.700 --> 00:21:41.760
And if anything crashes about it, just restart it and keep it going.

00:21:41.960 --> 00:21:42.140
Right.

00:21:42.200 --> 00:21:46.780
Cause like you can have reload on flask or all the other web frameworks.

00:21:47.100 --> 00:21:54.100
But if you like type a parenthesis and you haven't closed it and it reloads, it was like camp parses, it crashes and it never runs again until you figure that out and go back.

00:21:54.180 --> 00:21:59.500
And so I'm going to throw that out there as like kind of take the stuff that you're not really doing terminal stuff.

00:21:59.540 --> 00:22:03.120
It's just, that's how you run it and put it somewhere else and just let it be like baked in, which I love.

00:22:03.220 --> 00:22:03.400
Okay.

00:22:03.680 --> 00:22:08.080
So my main next thing to talk about may be boring, but just Claude Code.

00:22:08.080 --> 00:22:08.780
What's that?

00:22:08.900 --> 00:22:09.300
What's that?

00:22:09.640 --> 00:22:10.680
Michael, I never heard of it.

00:22:12.560 --> 00:22:16.180
Have you, there was, there was like a movie that was like foreshadowing it.

00:22:16.240 --> 00:22:22.800
It was made with like Arnold Schwarzenegger and this, these, these like machines made of something with Skynet.

00:22:23.000 --> 00:22:32.920
No, I will tell you what, I was very skeptical of the AI stuff for a long time when it was, oh, look, we can do, you can start writing a function.

00:22:32.920 --> 00:22:35.600
And then if you hit tab, it'll write the next five lines.

00:22:35.740 --> 00:22:36.800
And I'm always like, you know what?

00:22:37.040 --> 00:22:37.300
No.

00:22:37.300 --> 00:22:42.080
I'll just get this away from me because what would happen is like the first two lines, like, oh my God, that's exactly what I want.

00:22:42.140 --> 00:22:44.720
But the third and fourth line are like, that's not what I want.

00:22:44.800 --> 00:22:47.340
How do I get the first two lines and not the third and fourth one?

00:22:47.400 --> 00:22:49.000
Like, well, I guess I tab it and then delete them.

00:22:49.000 --> 00:22:55.680
And it's just like, I feel like a, I don't know, just a low level reviewer of like mistypings and misunderstandings all day.

00:22:55.700 --> 00:22:57.520
I'm like, this is not how I want to think through my day.

00:22:57.540 --> 00:22:58.420
Like, this is not fun.

00:22:58.540 --> 00:23:10.820
But once it got to the point where it was sort of agentic stuff, iterating with tools, working with like superpower type things or specifications and you're like, oh my gosh, this is such an amplifier of your skills.

00:23:11.140 --> 00:23:12.160
I know there's a bunch of other stuff.

00:23:12.480 --> 00:23:13.880
I've run local models as well.

00:23:13.940 --> 00:23:18.160
But when it comes down to stuff that really matters, it's like, well, I was using Fable for a while.

00:23:18.240 --> 00:23:18.860
We'll come back to that.

00:23:18.860 --> 00:23:21.880
Well, and you can use local models with Claude Code.

00:23:22.160 --> 00:23:25.200
You can point it at Ollama and you can use it with superpowers.

00:23:25.400 --> 00:23:26.840
You can have that experience.

00:23:27.200 --> 00:23:27.300
Nice.

00:23:27.380 --> 00:23:27.620
Okay.

00:23:27.860 --> 00:23:28.220
Interesting.

00:23:28.460 --> 00:23:28.640
Yeah.

00:23:28.820 --> 00:23:28.860
Interesting.

00:23:29.140 --> 00:23:35.340
But yeah, usually for me, it's just fire up Opus and really carefully work with Claude Code.

00:23:35.580 --> 00:23:47.200
And I mean, there's not a whole lot more to say, but if you're out there and you're a skeptic because you tried it a year ago, not Claude Code initially, but you tried this AI coding stuff a year ago and it wasn't that great and you feel like it didn't work, give the tools a look again.

00:23:47.200 --> 00:23:47.600
Yeah.

00:23:47.920 --> 00:23:50.520
The top tier tools are really incredible.

00:23:50.800 --> 00:23:53.440
And so it's super predictable that I would pick this, I feel.

00:23:53.640 --> 00:23:55.880
But at the same time, like, how could this not be one of my tools?

00:23:56.060 --> 00:23:57.180
Like, I use this so much.

00:23:57.500 --> 00:23:58.640
There's a lot to dive in here too, though.

00:23:58.740 --> 00:23:59.960
I think model choice.

00:24:00.060 --> 00:24:01.960
You mentioned just fire it up and point Opus at it.

00:24:02.080 --> 00:24:08.260
I feel like there's great ways to use the skills and subagents to specify for this skill, you really only need haiku.

00:24:08.600 --> 00:24:10.780
Like, go fast, find a lot of things.

00:24:11.020 --> 00:24:13.820
There's certain things that are definitely more adept to those other skills.

00:24:13.900 --> 00:24:15.200
You don't need to burn a ton of tokens.

00:24:15.200 --> 00:24:16.720
I have an awesome use of haiku.

00:24:16.720 --> 00:24:17.640
You will not see coming.

00:24:18.000 --> 00:24:18.740
Oh, yeah?

00:24:19.020 --> 00:24:19.300
All right.

00:24:19.360 --> 00:24:19.840
I can't wait.

00:24:20.320 --> 00:24:20.960
I can't wait.

00:24:21.240 --> 00:24:30.080
One of the things that's really interesting that I've noticed Claude Code started doing, and you can encourage it to do so if it doesn't, is adversarial pushback.

00:24:30.080 --> 00:24:33.840
So, like, you talked about how you're absolutely right.

00:24:33.900 --> 00:24:34.620
It's not a code review.

00:24:35.780 --> 00:24:38.000
That's been one of the problems with these things is, right?

00:24:38.140 --> 00:24:41.720
Like, you give it a goal and it doesn't care if it generates a ton of code.

00:24:41.800 --> 00:24:44.140
It's just going to jam through until it makes that goal work.

00:24:44.200 --> 00:24:45.420
Or, like, I need this UI.

00:24:45.600 --> 00:24:48.120
Like, okay, well, why is it a thousand lines when it could be a hundred?

00:24:48.520 --> 00:24:49.640
And so on and so on.

00:24:49.640 --> 00:24:56.460
But what I've noticed a lot of times lately is, like, now Cloud is starting to say, okay, I launched 11 subagents to do this work.

00:24:56.780 --> 00:25:01.720
And then when it was done, I've launched four adversarial subagents in these different categories to push back.

00:25:01.780 --> 00:25:03.400
And, oh, I found a bug or a misunderstanding.

00:25:03.500 --> 00:25:04.260
We're going to fix that.

00:25:04.260 --> 00:25:11.340
And it kind of starts to address some of this just over-eagerness to just blindly chase the goal.

00:25:11.760 --> 00:25:13.080
And I think that's really good.

00:25:13.340 --> 00:25:17.340
Yeah, the superpowers verification and review steps bring some of that to the table.

00:25:17.380 --> 00:25:22.380
And you can install customer view agents that you can run in Claude Code to do exactly that.

00:25:22.600 --> 00:25:30.160
Have it use another model from another provider so it doesn't share some of the same opinions that were baked into, like, the Anthropic models, for example.

00:25:30.460 --> 00:25:30.820
Oh, yeah.

00:25:31.060 --> 00:25:31.220
Awesome.

00:25:31.920 --> 00:25:33.000
That could be a whole show.

00:25:33.000 --> 00:25:37.060
Maybe we do need to do the full agentic coding show.

00:25:37.560 --> 00:25:37.920
Maybe.

00:25:38.200 --> 00:25:40.020
But take us to your next topic.

00:25:40.240 --> 00:25:40.440
Okay.

00:25:41.180 --> 00:25:42.220
I am not a...

00:25:42.220 --> 00:25:43.120
I mean, I like typing.

00:25:43.340 --> 00:25:47.400
I feel like I've spent a lot of my world, my life trying to type.

00:25:47.620 --> 00:25:50.720
But I've really recently discovered I should just dictate instead.

00:25:51.100 --> 00:25:54.120
And there's some really great tools out there for doing dictation to your computer.

00:25:54.260 --> 00:25:55.600
Not only dictation, but transcription.

00:25:56.400 --> 00:25:58.520
This one right here is MacWhisper.

00:25:58.880 --> 00:25:59.740
I'm a fan.

00:25:59.740 --> 00:26:03.060
It uses local models to actually do all the transcription.

00:26:03.280 --> 00:26:05.740
So it'll download and use Whisper by default.

00:26:05.920 --> 00:26:09.920
And I think if you opt for the Pro version, so there's a free version in the Pro version.

00:26:10.180 --> 00:26:11.800
This is a Mac-only app.

00:26:12.020 --> 00:26:14.460
I do have another option here for those who are not on Mac.

00:26:14.520 --> 00:26:18.260
But you can use Whisper models like the Large V3.

00:26:18.260 --> 00:26:24.300
Or you can use Parakeet models, the latest NVIDIA voice models, which are incredibly fast and incredibly capable.

00:26:24.300 --> 00:26:27.280
So this one gives you transcription.

00:26:28.380 --> 00:26:30.500
For example, you can just feed it a YouTube URL.

00:26:30.880 --> 00:26:35.480
And it will go transcribe and give you the transcription from that video.

00:26:36.060 --> 00:26:37.460
Have it transcribed by meetings.

00:26:37.740 --> 00:26:41.660
So one of the things MacWhisper also does is it can intercept your local audio on your computer.

00:26:41.660 --> 00:26:49.700
So I can record audio coming out of this browser or out of my Zoom meeting or out of a Teams meeting or out of you name five other things that you're probably meeting with.

00:26:49.920 --> 00:26:52.340
And you want to grab those transcriptions all in the central spot.

00:26:52.500 --> 00:26:53.540
You can do that with MacWhisper.

00:26:53.880 --> 00:26:57.560
And it can do on-device speaker recognition.

00:26:57.980 --> 00:27:07.540
So in addition to the local models for the voice transcription, it can actually never send your data to the cloud unless you tell it to for doing things like figuring out who's speaking.

00:27:07.540 --> 00:27:11.980
And then it gives you a UI for finding all the conversations I've ever had with Michael, for example.

00:27:12.240 --> 00:27:15.980
It can do that, which is really handy because, like, I talked to Michael two weeks ago.

00:27:16.420 --> 00:27:18.980
Click on Michael's tag inside the software.

00:27:19.140 --> 00:27:20.000
The GUI is pretty nice.

00:27:20.400 --> 00:27:23.940
And it allows you for exploring these transcriptions and dictations.

00:27:24.520 --> 00:27:26.640
And then you can dictate into any field or any prompt.

00:27:26.940 --> 00:27:33.140
So I can just be hovering over a prompt on my text box on my computer and hit the push.

00:27:33.200 --> 00:27:34.620
I use it in kind of push-to-talk mode.

00:27:34.620 --> 00:27:41.140
So I've got my right option key on my keyboard mapped so that when I hold that key down, it is listening.

00:27:41.380 --> 00:27:44.400
And so when I let up, it just pastes the text right into that field.

00:27:44.480 --> 00:27:48.000
So any app, anywhere, terminal, browser, it doesn't matter.

00:27:48.420 --> 00:27:49.860
That all works really, really well.

00:27:50.400 --> 00:27:59.360
The other bit on this one that I wanted to mention is you can actually, with MacWhisper, feed it prompts to post-process your text.

00:27:59.360 --> 00:28:10.320
So if I'm dictating into my browser and maybe on Gmail, I can give it an email skill or prompt that I want it to pass my text through before it pastes it into Gmail.

00:28:10.660 --> 00:28:15.040
So I can just go on about how I need to write Michael on email and tell him about this, this, and that.

00:28:15.320 --> 00:28:19.200
And it will format it into, hey, Michael, wanted to let you know about this cool tool I found.

00:28:19.480 --> 00:28:20.100
Cheers, Calvin.

00:28:20.240 --> 00:28:23.140
Like, it puts all the wrappings around it and just pastes it in there.

00:28:23.140 --> 00:28:24.480
So that's MacWhisperer.

00:28:24.640 --> 00:28:30.540
For those of you who are not on a Mac and do appreciate full open source, which I do, there is Handy.

00:28:30.940 --> 00:28:35.780
This is basically the dictation version of MacWhisperer that is open source.

00:28:36.000 --> 00:28:39.100
It does do the Whisperer models and the Parakeet models as well.

00:28:39.440 --> 00:28:43.760
And so if you are on Mac, Windows, or Linux, you can do the same thing with Handy.

00:28:43.980 --> 00:28:44.920
So check out Handy.

00:28:45.660 --> 00:28:49.740
I'm not a user of Handy because I am mostly on the Mac when I'm doing my dictation.

00:28:49.740 --> 00:28:55.500
And MacWhisperer works on MacOS and actually has an iOS version for iPad and phone.

00:28:55.660 --> 00:28:59.760
But I don't find them as good as the built-in one on Apple's iOS devices.

00:28:59.920 --> 00:29:05.900
But I do find MacWhisperer to be better for dictation than the built-in one on the desktop.

00:29:06.320 --> 00:29:08.540
So it's a little bit of a different experience when you're on a desktop.

00:29:08.880 --> 00:29:09.600
Yeah, amazing.

00:29:10.380 --> 00:29:11.580
Do you speak to your computer, Michael?

00:29:11.860 --> 00:29:13.040
Can you switch back to MacWhisperer?

00:29:13.120 --> 00:29:14.000
Let me tell you the way.

00:29:14.060 --> 00:29:15.180
Let me recount the ways here.

00:29:15.320 --> 00:29:16.540
So absolutely.

00:29:16.700 --> 00:29:19.220
I've been a MacWhisperer user since day one.

00:29:19.220 --> 00:29:22.780
I was a Dragon NaturallySpeaking user from way back then.

00:29:23.160 --> 00:29:25.620
And that thing was janky, but it kind of worked.

00:29:26.500 --> 00:29:32.100
I've had two, one short-term-ish and one long-term reason to use dictation.

00:29:32.380 --> 00:29:38.220
I broke my hand so badly, like just in three places all along the left side of it.

00:29:38.480 --> 00:29:42.740
So bad that the cast didn't go to where your fingers are sticking out like this.

00:29:42.820 --> 00:29:43.020
Yeah.

00:29:43.300 --> 00:29:45.500
But where completely there was no fingers.

00:29:45.500 --> 00:29:48.240
And it took six weeks to heal.

00:29:48.480 --> 00:29:50.020
So I couldn't type at all.

00:29:50.280 --> 00:29:56.160
My left hand or my right hand wouldn't touch the keyboard because it was just like covered in a cast.

00:29:56.280 --> 00:29:58.560
That was the same reason for this guy to write handy.

00:29:58.680 --> 00:30:00.220
He was in a cast and couldn't type.

00:30:00.480 --> 00:30:01.140
That's awesome.

00:30:01.140 --> 00:30:01.540
Yeah.

00:30:01.540 --> 00:30:01.980
Yeah.

00:30:02.080 --> 00:30:05.720
So I ended up, that's, I remember what I was using then.

00:30:05.780 --> 00:30:11.140
But basically it was, it was predates MacWhisperer and some of the Whisperer stuff.

00:30:11.180 --> 00:30:17.420
And it was really frustrating, but it was necessary because I, at least it let me keep going, you know, like answering emails and keeping the business going.

00:30:17.420 --> 00:30:21.840
The other one is for a long time, for like 20 years, I've had RSI issues.

00:30:22.100 --> 00:30:27.060
So, so much so that I've had to have surgery on my, my wrist to deal with carpal tunnel issues.

00:30:27.340 --> 00:30:29.940
And that was super scary to kind of recover from that.

00:30:30.040 --> 00:30:36.480
I had to just do a bunch of things like type a little bit less, get a ergonomic keyboard of some variety.

00:30:36.480 --> 00:30:38.000
We need a keyboard episode next.

00:30:38.640 --> 00:30:39.380
Oh yeah, we do.

00:30:39.700 --> 00:30:40.400
Yeah, we do.

00:30:40.400 --> 00:30:48.400
I, I'm right-handed, but I force myself to be left-handed mousing because it, your right hand does all the arrow keys, page up, page down and the mouse.

00:30:48.480 --> 00:30:51.640
I'm like, I got to just like turn that down and like do all those things.

00:30:51.740 --> 00:30:54.780
But to keep that at bay and it's totally fine.

00:30:54.820 --> 00:31:01.780
I can type like 10 hours a day, long as I'm careful, but to just lessen that I've, I do a lot of dictation still.

00:31:01.840 --> 00:31:04.420
And I use MacWhisperer and it is so good.

00:31:04.420 --> 00:31:08.920
You can grab like a hundred MP3 files or MP4 files, throw them on there.

00:31:08.940 --> 00:31:10.340
It'll batch transcode them.

00:31:10.400 --> 00:31:14.500
Or translate, generate transcripts or subtitles or whatever you want.

00:31:14.560 --> 00:31:17.620
There's all these different formats, multiple formats for single output.

00:31:17.720 --> 00:31:18.840
It is so good.

00:31:19.140 --> 00:31:20.560
But the dictation is great.

00:31:20.660 --> 00:31:24.780
You can dictate like you said to any text field, but you can also just dictate to the clipboard.

00:31:24.780 --> 00:31:29.700
If you're working in something that it won't let MacWhisperer interact with, but you can just like, all right, fine.

00:31:29.720 --> 00:31:33.720
I'll just paste it if it won't go into that control or something, which is really sweet as well.

00:31:33.720 --> 00:31:40.400
And the last thing is I have set it up so that for transcription stuff, it uses local models.

00:31:40.400 --> 00:31:43.080
It uses the V3 turbo that you pointed out.

00:31:43.320 --> 00:31:49.200
But for dictation, I like a little bit of correction, a little bit of more smarts.

00:31:49.200 --> 00:31:56.340
So like if I say, you know, PyPI and this, it'll like do it just right and not PIE dash or whatever.

00:31:56.840 --> 00:31:58.920
I have set it up to use Claude Haiku.

00:31:59.260 --> 00:32:00.560
Oh, that is a great usage of Haiku.

00:32:00.880 --> 00:32:01.120
Yeah.

00:32:01.260 --> 00:32:02.500
Because it's really fast.

00:32:02.700 --> 00:32:04.400
So you're not waiting as you dictate.

00:32:04.540 --> 00:32:06.020
It comes out like super, super fast.

00:32:06.020 --> 00:32:09.840
But it's just, and it's not sharing other people's information.

00:32:09.980 --> 00:32:13.620
It's just like when I'm talking to it, just flow that through Haiku and then into the text field.

00:32:13.740 --> 00:32:15.800
And that is really something awesome.

00:32:16.080 --> 00:32:17.520
So anyway, yes, 100% yes.

00:32:17.600 --> 00:32:21.120
And another endorsement of this thing, it's not a subscription.

00:32:21.520 --> 00:32:23.280
It's a one-time $30 fee.

00:32:23.640 --> 00:32:23.720
Yeah.

00:32:23.820 --> 00:32:29.740
So I was hesitant to include some commercial software in here, but I feel like this one's worthwhile because it has a free version.

00:32:30.040 --> 00:32:30.920
It's good to support them.

00:32:30.920 --> 00:32:36.320
I mean, I'm a huge fan of the local model privacy first basis on this.

00:32:36.460 --> 00:32:38.560
You can pass it to local models as well.

00:32:38.740 --> 00:32:44.700
So if you've got Olama running on your Mac or wherever you got it on your network, you can pass that off with prompts for that too.

00:32:44.960 --> 00:32:48.180
I'm so much so a fan of the local audio processing.

00:32:48.760 --> 00:32:53.660
My home assistant now runs with local audio processing on a Proxmox server down in the basement.

00:32:53.660 --> 00:33:02.080
So I've got a RTX 3070 card running Whisper V3 large that processes the voice that I utter in my house.

00:33:02.200 --> 00:33:02.920
That's awesome.

00:33:03.060 --> 00:33:03.820
That is so awesome.

00:33:04.100 --> 00:33:06.540
So how about that for a segue to the next thing?

00:33:06.640 --> 00:33:07.260
Yeah, privacy.

00:33:07.620 --> 00:33:22.000
So if you've got this machine running in your basement or downstairs or wherever, and it works great on your local network, whether you're sitting on your couch on your laptop or sitting up here in your framework, you go somewhere, work trip, you go to the coffee shop, client meeting.

00:33:22.340 --> 00:33:23.300
Normally, what do you do?

00:33:23.300 --> 00:33:26.120
You're like, well, normally I would run this on AI, but I can't.

00:33:26.160 --> 00:33:26.540
I'm sorry.

00:33:26.600 --> 00:33:32.920
Or you expose it to the internet like an insane person, and then it gets hacked, and then something bad goes down.

00:33:33.280 --> 00:33:36.540
Or you could use my new religion, Tailscale.

00:33:36.860 --> 00:33:38.000
Are you a Tailscale person?

00:33:38.840 --> 00:33:39.460
I'm not.

00:33:40.180 --> 00:33:42.700
I have all Ubiquiti equipment in the house.

00:33:42.700 --> 00:33:49.940
So I've got the Dream Machine SE downstairs, and they have their Teleport VPN, which gets me exactly what I need from all my devices.

00:33:50.300 --> 00:33:51.260
So that works for me.

00:33:51.260 --> 00:33:54.620
But if I didn't have that, I would absolutely be using this.

00:33:54.620 --> 00:33:54.980
Yeah.

00:33:55.120 --> 00:33:56.760
So I'm not a Ubiquiti person.

00:33:56.920 --> 00:33:59.140
I have a super cool Wi-Fi setup.

00:33:59.280 --> 00:34:00.400
Like, there's so many shows we could do.

00:34:01.480 --> 00:34:05.200
But I don't open any of the ports, nothing like that.

00:34:05.240 --> 00:34:06.940
It's like, let's not do any of those things.

00:34:06.940 --> 00:34:16.760
And I was doing weird SSH tunnels and other stuff to kind of get, like, safe access to this stuff, or maybe using ngrok for a certain use case, rarely.

00:34:17.220 --> 00:34:21.600
But Tailscale, I believe it's called an overlay network, where it's like you have your regular network.

00:34:21.860 --> 00:34:22.560
You're just doing whatever.

00:34:22.960 --> 00:34:27.460
But then it's kind of like a VPN, but you don't, you're just kind of ambiently there.

00:34:27.460 --> 00:34:33.120
It doesn't intercept your normal traffic, but it just makes visibility to other subnets possible, right?

00:34:33.200 --> 00:34:37.300
So I have my Mac Mini M4 Pro over there that's kind of maxed out.

00:34:37.560 --> 00:34:40.920
And it runs LM Studio with my models.

00:34:41.240 --> 00:34:48.440
It runs my database server that I use for different apps that if I'm developing on one of them, it needs to have access to its database.

00:34:48.440 --> 00:34:53.580
Instead of running that locally or even installing that at all on my laptop, I just have it running over there.

00:34:53.920 --> 00:34:55.260
Local network, it would connect to it.

00:34:55.360 --> 00:35:00.860
But anywhere outside of there, now it will just see that server no matter where you are in the world.

00:35:01.140 --> 00:35:02.920
You need to jump in and do some screen sharing?

00:35:03.100 --> 00:35:03.520
No problem.

00:35:03.580 --> 00:35:10.980
Just jump back and either, you know, screen share on Mac or Windows app or remote desktop, whatever the heck they call it these days, back.

00:35:11.240 --> 00:35:14.700
And you have access to it, but you don't never have to expose that to the internet.

00:35:14.900 --> 00:35:17.340
And that's the thing that's super, super cool.

00:35:17.340 --> 00:35:18.540
Yeah, yeah, I love that.

00:35:18.700 --> 00:35:21.020
That's why I use the teleport on the Ubiquiti stuff.

00:35:21.160 --> 00:35:25.300
But if you aren't, most routers have full support for WireGuard at a bare minimum.

00:35:25.700 --> 00:35:30.260
Like you should be VPNing back to your own house if you trust your own house, your home network.

00:35:30.540 --> 00:35:32.540
Yeah, and if you don't trust your home network, well, you're already on.

00:35:32.780 --> 00:35:34.040
Yeah, you have other problems.

00:35:34.740 --> 00:35:35.580
It's pretty bad.

00:35:36.020 --> 00:35:39.560
I mean, there's the whole internet of things, but, you know, maybe put that on a guest network or something.

00:35:39.560 --> 00:35:42.080
Yeah, I mean, those are the right things to do.

00:35:42.180 --> 00:35:45.040
They're just harder to do for most normal mortals.

00:35:45.040 --> 00:35:47.800
But you can do like really interesting production stuff too.

00:35:47.900 --> 00:35:49.660
Like you could put Tailscale on your server.

00:35:50.000 --> 00:35:52.740
Once you get it set up, I've not been this brave.

00:35:52.780 --> 00:35:53.780
I'll tell you what I actually do.

00:35:53.860 --> 00:36:00.040
But you could set up Tailscale on your server, log into your server, and then block port 22 SSH.

00:36:00.100 --> 00:36:00.300
Yeah, yeah.

00:36:00.560 --> 00:36:00.880
Period.

00:36:01.100 --> 00:36:01.620
For the internet.

00:36:01.780 --> 00:36:02.720
Tailscale has clients.

00:36:03.100 --> 00:36:05.480
Are they the ones that have clients for like Apple TV?

00:36:05.500 --> 00:36:07.740
You can make Apple TV exit nodes into nodes.

00:36:07.740 --> 00:36:11.200
I don't know about Apple TV, but they certainly have it for like iPhone and stuff.

00:36:11.200 --> 00:36:11.820
Yeah, yeah, yeah.

00:36:11.820 --> 00:36:12.360
I'm pretty sure.

00:36:12.440 --> 00:36:23.420
Because, for example, if you're supporting aging parents in place and you want to try and help them support their network, you can put this on an Apple TV so they get the benefit of home entertainment and secure remote access to help them out.

00:36:23.660 --> 00:36:24.240
Yeah, exactly.

00:36:24.380 --> 00:36:26.980
You don't have to have them do some crazy, crazy thing.

00:36:27.220 --> 00:36:33.680
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:36:33.680 --> 00:36:35.060
And I have almost the same.

00:36:35.240 --> 00:36:48.280
Like I'd almost, I'm not willing to, I'd almost be willing to tell you my SSH key to the server because you also have to find a way into my home network in order to access it.

00:36:48.380 --> 00:36:49.780
Because it's not accessible anywhere.

00:36:50.200 --> 00:36:57.300
Like port 22 on the server that runs all of our stuff, it's only accessible from my home IP address.

00:36:57.300 --> 00:36:57.660
Yep.

00:36:57.940 --> 00:37:02.680
And no matter where I am with tail scale, I just say, use my Mac mini as the exit node.

00:37:02.900 --> 00:37:04.260
And it looks like traffic is coming out of there.

00:37:04.360 --> 00:37:06.960
That one is permitted to go into the server and nothing else.

00:37:07.060 --> 00:37:09.020
So it's just another layer of security.

00:37:09.160 --> 00:37:10.160
And it's such a sweet.

00:37:10.400 --> 00:37:13.700
And that's a real pain in the butt if you're always moving around and your IP is stressed.

00:37:13.860 --> 00:37:18.760
But because your tail scale just lets you like always go back to a stable machine, then you're good to go.

00:37:18.820 --> 00:37:20.440
There's a lot of use cases for this.

00:37:20.440 --> 00:37:28.900
I interviewed Alex Kritschmar, who's done a ton of work, done a bunch of self-hosting stuff.

00:37:29.180 --> 00:37:32.100
He ran the self-hosting podcast for a while, which is really awesome.

00:37:32.300 --> 00:37:34.660
But he's also now working for tail scale doing some of that.

00:37:34.680 --> 00:37:37.460
So we did a whole section on tail scale with him.

00:37:37.720 --> 00:37:38.720
And then it was really fun.

00:37:38.960 --> 00:37:40.520
So people would check out that Talk Python episode.

00:37:40.840 --> 00:37:41.020
All right.

00:37:41.100 --> 00:37:41.300
Anyway.

00:37:42.020 --> 00:37:46.240
Essentially, someone, you mentioned the Zeoxide in the comments there.

00:37:46.300 --> 00:37:48.260
I use Zeoxide all the time.

00:37:48.260 --> 00:37:51.420
If we're kind of jumping into extras here, that would be one worth mentioning.

00:37:51.800 --> 00:37:52.860
Let's jump into extras.

00:37:52.980 --> 00:37:53.100
Yeah.

00:37:53.220 --> 00:37:54.240
And just take it away.

00:37:54.560 --> 00:37:54.800
Okay.

00:37:54.900 --> 00:38:02.080
Well, I mentioned Zeoxide, but I also put a couple pieces in here that just didn't fit or they were, again, Mac only.

00:38:02.660 --> 00:38:08.980
For viewing markdown files, sometimes I want the most beautiful Mac experience I can get.

00:38:08.980 --> 00:38:15.680
When things flow in that Mac world and it's the old school Mac versus PC and I just want things to feel like my Mac.

00:38:15.680 --> 00:38:19.060
Telescopo is the markdown viewer.

00:38:19.520 --> 00:38:21.280
And now they've just added in editing.

00:38:21.480 --> 00:38:23.580
So they've got the whole new studio piece, which is fine.

00:38:23.620 --> 00:38:24.880
I don't actually use it for editing.

00:38:25.300 --> 00:38:28.740
But the viewer alone, when I first downloaded it, it was only a viewer.

00:38:29.140 --> 00:38:30.420
And I was like, that's super cool.

00:38:30.500 --> 00:38:31.700
Why would you want just only a viewer?

00:38:32.040 --> 00:38:39.640
Because sometimes you're presenting these markdown files to other people who don't just view markdown in its beautiful marked up look and feel.

00:38:39.640 --> 00:38:45.300
Telescopo gives you tons of themes and great fonts and just that Mac-like feel.

00:38:45.540 --> 00:38:48.280
It just feels normal to a Mac user.

00:38:48.460 --> 00:38:55.860
And so you could probably turn regular old business users on their Mac into markdown power users very easily by handing them this app.

00:38:55.940 --> 00:38:57.740
I think that's definitely worth doing.

00:38:57.940 --> 00:39:01.060
The other one I wanted to mention over here was Starship.

00:39:01.060 --> 00:39:08.420
This is the cross-shell prompt that I use to make it feel a little more fancy when I'm actually in my various prompts.

00:39:08.960 --> 00:39:13.740
If you've never checked it out, it gives you all the fancy coloring and tells you when you're on master.

00:39:14.380 --> 00:39:17.560
I will use it with the Groovebox theme.

00:39:17.820 --> 00:39:19.400
I don't think they've got any examples of the themes here.

00:39:19.400 --> 00:39:23.760
But you can trick this thing out to no end, get the fancy power line looking thing.

00:39:23.820 --> 00:39:30.420
The reason I landed on Starship was because power line 10K became unmaintained.

00:39:30.820 --> 00:39:32.520
And so I wanted a better alternative.

00:39:32.740 --> 00:39:38.320
And so I went and found Starship, which is fast and rust-powered and all the cool stuff.

00:39:38.400 --> 00:39:39.700
And it has the whole nerd font.

00:39:39.900 --> 00:39:44.200
It has to be installed so you get all the fun icons and things like that in your terminal.

00:39:44.600 --> 00:39:46.000
You have to have nerd fonts, by the way.

00:39:46.120 --> 00:39:46.640
This is necessary.

00:39:46.880 --> 00:39:47.660
It just won't work.

00:39:47.660 --> 00:39:49.820
Otherwise, it'll look rough if you don't.

00:39:50.060 --> 00:39:54.580
But when you're switching between machines, you'll see it'll be like, oh, you're on your Ubuntu machine.

00:39:54.660 --> 00:39:55.800
So it gives you an Ubuntu logo.

00:39:56.160 --> 00:39:56.920
You're on your Mac.

00:39:56.980 --> 00:39:57.940
So you get an Apple logo.

00:39:58.080 --> 00:39:58.780
And I get in the prompt.

00:39:59.400 --> 00:40:03.600
Again, those little niceties are real, real nice for having that going for you.

00:40:03.840 --> 00:40:04.880
Yeah, the Starship is cool.

00:40:04.980 --> 00:40:08.340
A lot of the stuff I said about Oh My Seashell also applies here.

00:40:08.440 --> 00:40:09.700
Yeah, yep, yep, totally.

00:40:09.800 --> 00:40:12.120
I don't know if I can show the presets.

00:40:12.900 --> 00:40:14.380
It does say presets on the left there.

00:40:14.440 --> 00:40:14.640
I'm not sure.

00:40:14.640 --> 00:40:15.120
Oh, yeah, yeah.

00:40:15.520 --> 00:40:18.120
That's where you can come in here and you're like, oh, I want it to look like this.

00:40:18.220 --> 00:40:19.500
You just the one command away.

00:40:19.640 --> 00:40:22.180
The one I chose was the Groovebox.

00:40:22.440 --> 00:40:24.140
Like there's the Tokyo Tonight, which is pretty.

00:40:24.380 --> 00:40:26.700
This is the one I've got running, which I really like.

00:40:27.400 --> 00:40:28.900
And it's literally a one-liner.

00:40:29.160 --> 00:40:30.800
You just type, you just copy paste that.

00:40:30.880 --> 00:40:32.440
And now your prompt will look like this.

00:40:32.700 --> 00:40:33.120
That's awesome.

00:40:33.380 --> 00:40:33.560
Yeah.

00:40:33.560 --> 00:40:36.520
What's the platform story for Starship?

00:40:37.780 --> 00:40:38.840
Like it works on all of them?

00:40:38.960 --> 00:40:39.640
Oh, it should work everywhere.

00:40:39.840 --> 00:40:40.540
Any place you can put.

00:40:40.660 --> 00:40:41.620
I've got it on my Mac.

00:40:41.680 --> 00:40:42.760
I've got it on my Linux machine.

00:40:43.160 --> 00:40:46.740
So I want my experience to be seamless as I move back and forth.

00:40:46.980 --> 00:40:50.900
And so I definitely dress up my Linux box to look a little more Mac-like.

00:40:51.240 --> 00:40:54.060
You know, there's people who prefer Ubuntu because it feels like a Mac.

00:40:54.100 --> 00:40:56.140
And people who like Ubuntu because it feels like Windows.

00:40:56.140 --> 00:40:59.120
I'm on the Mac side of the UI spectrum.

00:40:59.660 --> 00:41:00.060
Lovely.

00:41:00.420 --> 00:41:00.740
All right.

00:41:00.860 --> 00:41:01.380
Very cool.

00:41:01.540 --> 00:41:01.820
Very cool.

00:41:01.820 --> 00:41:02.100
What do you got, Michael?

00:41:02.180 --> 00:41:04.040
Just a quick shout out.

00:41:04.140 --> 00:41:08.180
Typeora is my Markdown thing, but I will be checking out how this is going.

00:41:08.180 --> 00:41:10.040
I evaluate Typeora.

00:41:10.400 --> 00:41:12.040
I can't remember why I didn't pick it now.

00:41:12.080 --> 00:41:12.380
Love it.

00:41:12.540 --> 00:41:12.720
Yeah.

00:41:12.780 --> 00:41:13.060
Very good.

00:41:13.560 --> 00:41:20.180
It has a really nice just single hotkey to just swap between Markdown view and WYSIWYG view.

00:41:20.420 --> 00:41:25.600
But even in Markdown view, it's still kind of like, you know, the H2s are bigger than the H3s and so on.

00:41:25.600 --> 00:41:26.660
I just, I don't know.

00:41:26.660 --> 00:41:27.740
It's just, it's pretty seamless.

00:41:27.900 --> 00:41:28.580
I like it a lot.

00:41:29.200 --> 00:41:30.240
But that's not the main thing.

00:41:30.280 --> 00:41:31.460
That was more of a follow-up.

00:41:31.460 --> 00:41:45.460
Two extras to wrap up this long but awesome episode is I recently interviewed Michael Ione and, you know, Michael Chow and Richard Ione from Posit About Great Docs.

00:41:45.560 --> 00:41:46.520
Do you know Great Docs?

00:41:46.760 --> 00:41:47.460
Are you familiar with this?

00:41:47.640 --> 00:41:47.940
Yes.

00:41:48.380 --> 00:41:50.380
Yeah, we talked about an extra last week.

00:41:50.560 --> 00:41:50.840
Yeah, that's right.

00:41:50.840 --> 00:41:53.860
Because I was talking about like the skills and the LLMs and all that kind of stuff.

00:41:53.860 --> 00:42:00.800
And I'm like, I really have, I have a bunch of open source libraries, like seven or eight that are worth like actually talking about.

00:42:00.960 --> 00:42:03.360
You know, like the one, if you use Umami, I wrote that.

00:42:04.140 --> 00:42:10.200
If you use FastAPI but you want to use the Chameleon template language, like I wrote the FastAPI Chameleon one.

00:42:10.300 --> 00:42:18.680
And if you want to use partials with Jinja for like Flask or Cord or whatever, or even FastAPI, like I wrote that to be better, to support HTTPX better and so on.

00:42:18.680 --> 00:42:18.880
Right.

00:42:19.080 --> 00:42:21.120
But they, they only had their readme on GitHub.

00:42:21.240 --> 00:42:22.900
They didn't have a proper like docs site.

00:42:22.900 --> 00:42:26.140
And after going through talking to them like this, I should really do this.

00:42:26.620 --> 00:42:33.340
So part of this with Claude just helped me jam out like a bunch of stuff into my, into my Hugo blog and connect all those things.

00:42:33.340 --> 00:42:40.800
It says, I actually went through and I created documentation pages, a site, full sites for every single one of those libraries last week.

00:42:41.260 --> 00:42:42.460
And they're super cool.

00:42:42.540 --> 00:42:46.900
So like you over to Umami, it's got what you would see on the readme, you know, all the cool stuff.

00:42:46.900 --> 00:42:50.960
But it also has like a built-in changelog that can be driven from GitHub.

00:42:51.460 --> 00:42:54.400
It's got the API reference, like, hey, what is this website ID?

00:42:54.520 --> 00:42:55.520
Oh, show me the source.

00:42:55.600 --> 00:42:56.360
And it'll take you over.

00:42:56.640 --> 00:43:04.040
And it actually pulls up and highlights that function that was the documentation on GitHub off of the documentation, which is sweet.

00:43:04.720 --> 00:43:08.300
If you go back, it also has like LLM skills.

00:43:08.460 --> 00:43:09.640
Like, hey, here's the things you can do.

00:43:09.680 --> 00:43:10.720
And here's how you authenticate.

00:43:10.760 --> 00:43:11.820
And you actually pass this.

00:43:11.820 --> 00:43:12.580
And here's the function.

00:43:12.760 --> 00:43:17.020
And here's actually an example code that is a part of that.

00:43:17.140 --> 00:43:19.420
And here's how, you know, the typing for that.

00:43:19.500 --> 00:43:24.020
So it will teach your agent like about this library, which is one of the things I was really excited about, right?

00:43:24.520 --> 00:43:29.160
So none of these libraries are new, but I created the doc sites for each one of them.

00:43:29.360 --> 00:43:32.120
And they all are off of my personal mkid.codes.

00:43:32.420 --> 00:43:36.780
Click on tools, click on open source libraries, and that shows you all the links to all the doc sites.

00:43:37.100 --> 00:43:38.100
So anyway, I did that.

00:43:38.280 --> 00:43:39.180
It's beautiful.

00:43:39.180 --> 00:43:39.220
It's beautiful.

00:43:39.620 --> 00:43:42.060
The frictionless way to view docs.

00:43:42.400 --> 00:43:43.700
Yeah, I'm really excited.

00:43:44.100 --> 00:43:45.360
Great Docs is pretty new.

00:43:45.440 --> 00:43:46.560
It doesn't have a ton of GitHub stars.

00:43:46.660 --> 00:43:47.620
I feel like it should have more.

00:43:47.820 --> 00:43:50.520
But it's built on Quarto, which has been around for a long time.

00:43:50.580 --> 00:43:51.060
It's super popular.

00:43:51.460 --> 00:43:53.640
Okay, last AI statement here.

00:43:53.940 --> 00:43:55.520
And I would love to hear your thoughts.

00:43:55.620 --> 00:43:59.940
This is, I alluded to this earlier, and I said, I was using Fable.

00:44:00.100 --> 00:44:00.620
Ha, ha, ha, ha.

00:44:00.840 --> 00:44:01.400
That was fun.

00:44:01.400 --> 00:44:11.360
Well, remember, on the show, we talked about Mythos before and about how Mythos found a bunch of CVEs or what became CVEs in Firefox.

00:44:11.720 --> 00:44:13.940
And it couldn't be released because it was so dangerous.

00:44:13.940 --> 00:44:15.220
It was so powerful.

00:44:15.540 --> 00:44:23.160
We had to, like, 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:44:23.160 --> 00:44:25.820
Well, to my surprise, it came out last week.

00:44:25.920 --> 00:44:26.760
Oh, my gosh.

00:44:27.720 --> 00:44:29.840
Now we're turning this thing loose on stuff.

00:44:29.920 --> 00:44:31.760
And it was in a pretty restricted mode.

00:44:31.980 --> 00:44:34.140
Like, it was available to Claude Code subscribers.

00:44:34.580 --> 00:44:43.580
But there was a little sub, 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:44:43.880 --> 00:44:49.340
So it was going to go kind of unobtainium for most of us anyway, because I'm sure it was brutally expensive.

00:44:49.580 --> 00:44:50.940
But it was still going to be there, right?

00:44:50.940 --> 00:44:59.700
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:45:01.020 --> 00:45:02.880
And Anthropic said, we can't do that.

00:45:03.100 --> 00:45:04.040
So we're just cutting it off.

00:45:04.160 --> 00:45:05.020
Like, we're closing it down.

00:45:05.140 --> 00:45:05.420
It's gone.

00:45:05.660 --> 00:45:05.900
Good luck.

00:45:06.220 --> 00:45:07.100
Good luck, everyone.

00:45:07.360 --> 00:45:09.640
Thanks for being a very reasonable United States government.

00:45:09.920 --> 00:45:11.660
I am so conflicted here.

00:45:11.660 --> 00:45:19.180
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:45:19.180 --> 00:45:25.900
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:45:26.040 --> 00:45:27.580
That helps us a lot.

00:45:27.840 --> 00:45:30.820
And they got to fight with Anthropic, right?

00:45:30.880 --> 00:45:33.840
Because they wouldn't let him use Claude for the weapons.

00:45:34.060 --> 00:45:37.500
And the guy, Renzo Zagadario, is like, actually, you can, just not yet.

00:45:37.540 --> 00:45:38.880
He's not ready for weapons.

00:45:39.000 --> 00:45:41.800
Like, you're going to go, this is crazy, my understanding.

00:45:42.160 --> 00:45:42.760
And they said, fine.

00:45:42.840 --> 00:45:44.640
Well, then you're barred from all, like, government use.

00:45:44.760 --> 00:45:45.960
And so there's been this feud.

00:45:46.360 --> 00:45:48.760
So this could be the U.S. government being spiteful.

00:45:48.820 --> 00:45:49.880
I totally grant that.

00:45:50.180 --> 00:45:50.280
Yeah.

00:45:50.400 --> 00:45:58.400
It could also be, though, Anthropic has spent months telling us this is nearly, like, weapon of mass destruction type of LLM stuff.

00:45:58.660 --> 00:46:00.380
If it gets out, it's going to destroy the world.

00:46:00.480 --> 00:46:06.060
We can't even, we've got to do Project Glasswing, do all these things to make sure that at least when it comes out, it's somewhat protected.

00:46:06.060 --> 00:46:07.980
Like, we've got to set up the Iron Dome equivalent.

00:46:08.360 --> 00:46:09.300
And then they release it.

00:46:09.320 --> 00:46:10.760
And they're like, well, this is too dangerous.

00:46:10.900 --> 00:46:11.160
You know what I mean?

00:46:11.220 --> 00:46:17.180
Like, they both are kind of, if you go around screaming, this thing is so dangerous, it's going to destroy the world because it's so powerful.

00:46:17.340 --> 00:46:19.280
And then, like, you're like, well, people are upset it's dangerous.

00:46:19.420 --> 00:46:21.480
It's like, yeah, but you kind of marketed that.

00:46:21.620 --> 00:46:21.640
Yeah.

00:46:21.780 --> 00:46:22.980
Michael, who's raising money, Michael?

00:46:23.220 --> 00:46:24.060
Who's raising money?

00:46:24.260 --> 00:46:24.800
I know.

00:46:24.940 --> 00:46:25.540
Yeah, exactly.

00:46:25.680 --> 00:46:26.440
The IPO is.

00:46:26.560 --> 00:46:28.940
I think this is a who's raising money moment.

00:46:29.080 --> 00:46:35.120
They needed this kind of moment to be seen as this is the most important model of your life kind of thing.

00:46:35.120 --> 00:46:39.200
Well, then next month, the next most important model of my life will be out, too.

00:46:39.340 --> 00:46:40.160
So I don't know.

00:46:40.580 --> 00:46:43.400
I'm skeptical of these models.

00:46:43.620 --> 00:46:44.320
They are powerful.

00:46:44.540 --> 00:46:45.300
They can do a lot.

00:46:45.860 --> 00:46:52.980
They probably should be in the hands of people who can actually make the best use of them to go protect their software, to patch all the vulnerabilities that exist.

00:46:53.420 --> 00:46:57.220
Because the open waste models are only a few months behind on these things.

00:46:57.440 --> 00:46:58.380
Yeah, that's true.

00:46:58.380 --> 00:46:59.840
Like, the genie's out of the bottle.

00:47:00.080 --> 00:47:08.020
We need to give access to the right people so they can get their work done and continue building safely with these kinds of tools.

00:47:08.340 --> 00:47:10.200
And so the people just have Fable still active.

00:47:10.360 --> 00:47:13.560
I got to use Fable exactly once.

00:47:13.840 --> 00:47:14.220
Oh, really?

00:47:14.320 --> 00:47:16.960
Well, I was on the road last week when it all happened.

00:47:17.280 --> 00:47:18.600
And someone's like, did you try Fable?

00:47:18.680 --> 00:47:18.760
Yeah.

00:47:18.780 --> 00:47:20.120
I'm like, oh, I better go try Fable.

00:47:20.340 --> 00:47:22.960
So I had it right and owed to Taco Bell.

00:47:22.960 --> 00:47:24.120
That's my thing.

00:47:24.280 --> 00:47:25.180
I make these.

00:47:25.360 --> 00:47:26.500
I had Fable do one thing.

00:47:26.760 --> 00:47:27.700
Oh, the gordita is powerful.

00:47:28.260 --> 00:47:28.940
Oh, it was good.

00:47:29.880 --> 00:47:30.720
Oh, my gosh.

00:47:30.960 --> 00:47:33.040
I used to do quite a bit for three or four days.

00:47:33.180 --> 00:47:35.080
I actually blew through my weekly limit.

00:47:35.180 --> 00:47:35.920
I'm like, oh, man.

00:47:36.100 --> 00:47:36.360
Oh, yeah.

00:47:36.680 --> 00:47:38.420
These things are token monsters for sure.

00:47:38.500 --> 00:47:41.700
Yeah, and then it wasn't available when my tokens reset.

00:47:41.940 --> 00:47:42.160
Yeah.

00:47:42.340 --> 00:47:45.020
I think we're going to see a new era of right model for the right job.

00:47:45.020 --> 00:47:52.940
A lot of small language models and a lot of machine learning models that turn into tools will probably be faster and cheaper to use than things like Fable and Mytho.

00:47:53.380 --> 00:47:54.240
Yeah, 100%.

00:47:54.240 --> 00:47:54.940
100%.

00:47:54.940 --> 00:48:00.140
And shout out to Mark Little, who's been on the show before, who sent this over when this first came out.

00:48:00.180 --> 00:48:02.420
I said, hey, did you notice that Fable's gone?

00:48:02.460 --> 00:48:02.840
I'm like, what?

00:48:02.980 --> 00:48:03.600
Where did it go?

00:48:03.780 --> 00:48:04.080
I know.

00:48:04.420 --> 00:48:05.860
We don't know where it went, but it's not there.

00:48:05.900 --> 00:48:06.140
All right.

00:48:06.200 --> 00:48:07.520
So ready for the joke?

00:48:07.800 --> 00:48:08.760
I am ready for the joke.

00:48:09.060 --> 00:48:11.200
Let me set the stage before we go into this really quick.

00:48:11.320 --> 00:48:11.460
Okay.

00:48:11.460 --> 00:48:14.900
I think you should be kind to people and understanding and kind of chill.

00:48:15.220 --> 00:48:17.340
But every now and then, something just catches.

00:48:17.900 --> 00:48:19.880
It hits a nerve.

00:48:20.040 --> 00:48:21.500
And you're like, nope, nope.

00:48:21.540 --> 00:48:22.340
This has to be right.

00:48:22.340 --> 00:48:24.880
And this is sort of this person here.

00:48:25.000 --> 00:48:27.060
It's like, I titled this No Second Date.

00:48:28.200 --> 00:48:30.100
There's this sort of smug looking person.

00:48:30.640 --> 00:48:35.420
There won't be a second date, but at least she knows that an array index starts at zero, not one.

00:48:36.240 --> 00:48:37.160
It's so bad.

00:48:38.320 --> 00:48:41.660
You could just imagine the type of person that's like, you know what?

00:48:41.680 --> 00:48:42.200
How'd the date go?

00:48:42.240 --> 00:48:42.580
You know what?

00:48:42.940 --> 00:48:43.940
No, we couldn't do it.

00:48:44.200 --> 00:48:48.100
It would just, not somebody necessarily want a date, but it's pretty funny, I thought.

00:48:48.100 --> 00:48:48.340
Yeah.

00:48:48.660 --> 00:48:50.280
This is what I try to teach my children.

00:48:50.440 --> 00:48:53.580
There's a difference between being right and being correct.

00:48:54.220 --> 00:48:54.580
Yep.

00:48:54.960 --> 00:48:56.540
You don't always want to be correct.

00:48:56.900 --> 00:49:00.420
And even, you don't have to publicly be right to their face.

00:49:00.640 --> 00:49:01.040
Right.

00:49:01.100 --> 00:49:02.940
Like just, you know, get along with people, right?

00:49:03.020 --> 00:49:05.020
But anyway, I thought this was pretty funny.

00:49:05.140 --> 00:49:07.140
You do the right thing, not always the correct thing.

00:49:07.380 --> 00:49:08.180
Yes, exactly.

00:49:08.880 --> 00:49:10.980
Well, this person's getting no second date.

00:49:11.160 --> 00:49:12.000
Nope, not in this one.

00:49:12.260 --> 00:49:13.960
I can hear that conversation go down.

00:49:14.260 --> 00:49:14.480
Yes.

00:49:14.680 --> 00:49:17.660
I've had that conversation, I'm sure.

00:49:18.100 --> 00:49:19.700
And it doesn't have to even be a date.

00:49:19.760 --> 00:49:25.040
It just can be like, oh, I met some people at the conference and oh, now I got to get out of this conversation as quick as I can.

00:49:25.140 --> 00:49:25.840
Yep, yep, yep, yep.

00:49:26.440 --> 00:49:26.720
All right.

00:49:26.780 --> 00:49:31.160
Well, I don't feel that way about this show, Calvin, but I do believe it's time for us to go.

00:49:31.360 --> 00:49:32.020
Yeah, I agree.

00:49:33.020 --> 00:49:34.260
This has gone on.

00:49:34.400 --> 00:49:35.900
We get passionate about our tools.

00:49:35.900 --> 00:49:37.580
I'm excited that I'm here for it.

00:49:37.780 --> 00:49:38.600
I'm here for it too.

00:49:38.720 --> 00:49:40.080
Thanks for listening to the end, everyone.

00:49:40.300 --> 00:49:42.480
And hopefully you'll enjoy this unique episode.

00:49:42.860 --> 00:49:42.980
Yeah.

00:49:43.120 --> 00:49:43.420
See ya.

00:49:43.540 --> 00:49:44.020
Talk to y'all later.
