Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.
This is episode 484, recorded Tuesday, June 16, 2026.
I'm Michael Kennedy.
And I'm Calvin Hendrix-Parker.
And this episode is brought to you by us.
Check out the courses over at Talk Python Training.
We have a couple new ones in the works that should be here soon.
I'm very excited.
Some timely topics indeed.
And check out Six Feet Up.
Calvin, you want to just say something really quick about Six Feet Up?
Yeah, we rescheduled the LinkedIn Live we were going to do.
So please check us out over there on LinkedIn.
Go to Six Feet Up's LinkedIn company page and you can find our LinkedIn Live.
And see Whit and I talk about, oh, you're right, is not a code review.
You're absolutely right.
That is not how it's supposed to be.
It's not a code review.
Yeah, it's not a code review.
It's definitely not.
Brilliant.
Okay, I'm definitely looking forward to seeing that as well.
Cool.
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.
Then subscribe to the newsletter, pythonbytes.fm.
Click the newsletter button.
Do the thing that it asks you to do there.
And with that, I want to just set the stage before I throw it to you, Calvin.
This episode is something that we came up with.
It's like, you know, Calvin's joined the show.
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.
Like, let's just do a check-in on the tools that we're using because we love them so much.
Like, that's why we're part of the show.
I know.
And it's just never ending.
I had trouble sleeping last night because I was trying to pick my favorite tools to put into the list.
Like, it was running through my brain as I was falling asleep.
I honestly, I had a hard time, too.
And it's like, well, which one of your kids do you really like?
It's so true, though.
Yes.
Well, we're going to find out.
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.
And I know that you do this, Calvin, so tell me about Pi and the other things.
Yeah.
Okay.
So the first one I picked was a combination of two tools.
The first one being Pi, which is the orchestrating agentic harness.
And the other thing I compare with it is superpowers, which I'll talk about here in a minute.
But I'm definitely a terminal-first person.
I always have been, even since college.
Like, when I first got introduced to the terminal and typed vi-tutor for the very first time, I was hooked.
So obviously that gives you a slant for my bias towards these things.
And I've tried IDEs now and then.
And, I mean, they've gotten better.
They've gotten really good for doing agentic AI stuff.
I still will go fiddle with them and play.
And I've been using antigravity and codex and, like, Claude's co-work, which gives you kind of that UI wrapper around them.
But there's still just something about the terminal that really gets me excited.
And I don't know if it's just the rawness of it or the control or how I feel about it.
Maybe it's the minimalism of it, which, if you know me, I'm not necessarily a super minimalist person, but I'm opinionated.
And I think that the terminal gives me that power to be very opinionated.
And so Pi is a terminal-first open-source coding agent.
So you can customize it and build it and make it yours.
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.
This one is just stripped back.
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.
Some nice things about Pi is that it's very session management as a first-class citizen here.
You can rewind and start from any place in that tree of your session as you're going through and building the code.
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?
You can rewind up, just branch off of that point and keep going.
The extensions model is incredibly composable.
It's almost aggressively composable, although I use it in a very minimal way.
It doesn't come with things like sub-agents out of the box.
It doesn't come with issue trackers out of the box.
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.
So I use it with superpowers.
So combining superpowers, which is a spec-driven development tool.
So you've probably heard, I've talked about spec kit before on some of my LinkedIn videos.
I've actually moved over to superpowers because I feel like it's a little more lightweight combined with Pi.
It basically detects your, hey, you're building some software.
I see you're building some, like, clippy.
Like, I see you're building some software there.
Let's take a step back and try and figure out exactly what you're trying to do.
So it's basically a workflow that runs you through brainstorming, planning, execution, verification, review, and then committing and merging through that whole process.
And just, it'll ask you questions.
It'll propose options.
And it seems, I mean, these things aren't magic.
They are just stacks of markdown skills on your file system.
But I like the way it interoperates at that kind of bare bones level with Pi.
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.
So it may not be for everyone.
It's definitely a little more power user thing.
Michael, you've not tried it out yet at all?
I have not tried either of these.
Oh, superpowers.
Again, lightweight, fun.
I tend to be, I try to be token efficient, which, again, the branching piece allows me to back up and not.
I think people get stuck in a trap sometimes.
They fall down a hole and just burn more tokens trying to get out.
Right, right.
No, you're doing it the wrong way.
No, no, I wanted you to do this.
Right.
Instead of just rewinding time.
Like, that didn't happen.
Time travel is amazing.
Yeah.
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.
And I think the reason I haven't tried it, I'm trying to think, like, why haven't I tried this yet?
Well, let me give you two reasons and I'll, I'm interested to hear what you think.
One, there's just so many of these things that are like, I have the magic that makes AI work.
If you just use my seven markdown files, it's going to be amazing.
You know what I mean?
And there's like a million of them.
And I'm sure 95% of them are junk.
But this one, I think, is really, like, go to the top of your page here.
How many stars does this have?
Oh, it's just a couple, right?
Yeah.
Just a few.
229,000 stars on it.
So I feel like maybe.
Maybe this one actually might have a little momentum.
In polish, right?
Like, yeah.
Not just one person's opinion.
And they did something and it works.
But they could have done almost anything and it would have worked better, you know.
I highlighted right here, like, this part's really nice.
Just out of the box, test-driven development, red, green.
And it shows you in the UI, like, it's like, tests are red, you know, verifying, testing went green.
And then the fact is, it thinks more like, I think, as a developer.
The whole Yagni and dry.
A lot of the other coding agents, I believe, are just make it go no matter what.
Like, put it in a loop and see how much stuff you can crank out.
And I feel like this is a little more just efficient in the way I would think about it myself.
And obviously, I'm reviewing the code as it's going through.
I'm actually building something with Pi right now in the background.
Nice.
Okay.
I love it.
But I use it to pull off, like, quick little tools.
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.
Right now, I'm building a tool that synchronizes my messages from my Mac or my phone to our CRM.
Because I was like, I don't feel like copy-pasting anymore.
That's awesome.
Yeah.
That is such a cool, that's a whole other topic, this hyper-personal software stuff.
Yeah.
It's super interesting.
Like, I'm not going to publish it, but it's going to make my life better.
Yeah.
So you can get Pi.
There's a one-liner here.
They've obviously got many different ways you can install it.
But I would check it out.
You need to be careful.
It is definitely the keys to the car.
You have full control.
You can build exactly what you want.
Nice.
So Pi is an agent harness.
A little bit like Claude Code is to Claude itself, right?
Yeah.
And so I can run Claude in Pi?
You can run Claude Code.
No.
I can use Claude Opus as one of my agents while I'm doing Pi, for example.
Yeah, yeah, yeah.
So Pi, you bring your own models.
You want to bring Gemini.
You want to bring OpenAI models, Anthropic models.
You want to use Olama with your local models.
Feel free to pull out Gemma 4 and go to town.
I recommend LFM 2.5, the new Liquid AI models.
There's some really, if it's tool using, Pi will use them.
Awesome.
If Apple would just ship a new Mac Studio Max, I'll tell you what, I would be running some larger models.
Well, the announcements from Apple last week, pretty exciting, right?
That's a whole other news item.
But I think there's some exciting things coming at the Edge, the Edge being your workstation.
Yeah, 100%.
I totally agree.
It's just beginning.
Mm-hmm.
For so long, it's like, well, your computer is basically just a view to a browser, which is a view to a server.
And it's kind of rolling back a little bit.
I'll talk more about that later in my follow-on tools.
Okay.
Awesome.
Well, let's warp ahead a little because I want to talk about warp.
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?
We both have AI topics and we both have terminal topics.
So I think that's noteworthy.
So my right now, for the last couple of years, I've been using warp from warp.dev.
And it's a really nice, fresh take on the terminal.
It's not just, oh, this one has GPU acceleration or whatever.
And I know this is a little bit different than your take, which I'm also very excited for, Calvin.
But if you go look at it, it's like every piece of software these days.
Oh, you can ship software with an agent.
I thought this was a terminal.
What in the world is going on here?
You know what I mean?
But it has some kind of agentic stuff.
I barely have used it before.
I mean, it's like, oh, this Linux command didn't work.
Like, why didn't this Linux command work?
Like, you forgot the dash F.
Oh, yeah.
Okay.
You know, but I think there's better agentic tools than this warp for the terminal.
But you can just turn those off.
It's a really nice terminal with a lot of different angles on how you work.
It's got like some team collaboration features.
It has really nice sort of predictive capabilities.
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.
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.
And that's super helpful.
Anyway, I just, I think it's a really nice.
I'm not sure if I'm ready for that yet.
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.
I know.
Well, you know what's nice?
It has.
So this is part one.
We both have a couple of multi-part things like your Pi and superpowers.
So my part two is OhMyZShell, which I've, you know, it's an old standard, but I love it so much.
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.
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.
You know, I've been a ZSH user for ages.
I can't tell you how excited I've been that this kind of has become more popular.
Yeah.
It's definitely, I'm a hundred percent.
I'm very, very excited about it as well.
And it's been just, just solid for years.
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.
There's so much room for something better.
So you don't have to necessarily pick what we're picking here.
Just, just look around because the defaults are usually not good.
And so for example, like why is OhMyZShell even inside a warp with little like other stuff that it could do?
Why is it cool?
So I could go to like a Git repository, CD in there, and it'll show me what branch I'm on.
Are there changes in that repo, right?
And it'll put that in, in your, in your prompt.
It'll also show you if there's a virtual environment, is it activated?
What version of Python is it?
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?
It'll, it'll like understand way deeper into your projects and not just say autocomplete files.
So it's an opinionated layer on top of ZSH.
Like I've got my own set of .files that I've carried with me for the last 20 years.
And so I've never gone full OhMyZSH because I don't know how they, they would work together.
Yeah.
That's definitely a challenge.
Most of my stuff has grown up around OhMyZShell or OhMyZSH.
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.
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?
Yeah.
And I have an extra I'll talk about that makes my ZSH do most of that stuff just with one, one little trick.
Just kind of fun.
Awesome.
Let me just throw what, what was sort of a rant out this part.
It's not even on my list, but I just, I feel like it's, I should have it.
So PLS.
Love PLS.
I'm a big fan.
There we go.
A prettier one.
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
me, you know, what type of file they are with an icon as you would find in like Finder or Explorer or whatever.
Yeah.
I think that one belongs in this, this, I'm going to now call it a trifecta of those three things.
But I thought about why these are important to us.
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.
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.
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.
I love bringing these things together.
And I, and I don't want to shame anyone who doesn't do this, but why aren't you?
Like it's here.
These, these people have built these beautiful things.
Yeah.
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.
Start going for you.
Yeah.
A hundred percent.
Yep.
Definitely.
Like, like a cat.
What is the deal with this?
Like a kitty?
Oh, kitty's a, so I'm a long time kitty terminal user.
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?
I have really enjoyed kitty as a terminal, mostly because I do move back and forth between machines.
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.
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.
The kitty is a GPU accelerated, terminal.
You may ask why the heck would you want a GPU accelerated terminal?
It scrolls like nobody's business.
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.
It actually comes with his own window muxing system built into it, which I've actually started using on my Mac.
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.
But you get that, that ability to do the powerful layouts and tiling and, and scroll back buffers.
It's just a nice thing is it runs the same on Mac and windows and Linux.
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.
So it's, it gives me that, that performance and feel that performance is a big feature.
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.
And I don't want the terminal to be a, one of those laggy bits.
So for my Mac and for my Linux machine, I'm using kitty terminal.
When I'm traveling on the road, I use the blink browser.
I think I've got a blink, tab open here someplace.
Did I open that up?
Nope.
That's my Tmux tab.
Where did I put all this stuff?
I've got too many tabs open.
why are you looking?
Tell, tell people what this Muxing is.
Yeah.
So when you are in a, I like single windows too.
So browsers that give me multiple profiles across a single window, that's basically what I get with my terminal.
I can actually have one terminal window open, not a bazillion terminal windows cluttering up my desktop.
And inside that one terminal window, I've basically got tabs like you would have in browser.
And then those tabs can now be further split down into tiles that I want to be working on.
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.
Maybe I've got B root open on the left side, you know, browsing the file structure.
I got lazy get, you know, auto refreshing and another one.
So I can see the file changes as the agent is editing the files.
I can monitor actively what the diffs are all in a single terminal experience.
That's what Muxing gives you.
And so Kitty gives it to you out of the box.
Tmux gives it to you as an add-on to any system you would be running on.
The benefit of Tmux is you're going to be able to leave, like detached from that session and reattach to it later.
And that's where this comes in, for my iPad and my iOS experience.
I use Blink Shell.
So Blink Shell is a fully power tool, power user version of a terminal on iOS.
And for the iPad, it does give you a shell on the iPad, but more usefully, it's actually a SSH and Mosh client.
So Mosh is another piece that I use for this.
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.
And it's like nothing happened.
Like you're still connected over your SSH session.
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.
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.
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.
So that's the combination of like Blink Shell, Kitty Shell, Mosh.
And if I go into, Mosh, let's see here, the Mosh mobile shell, that one's over in the other window.
It's hiding.
Of course.
There we go.
The mobile shell, again, that allows that whole roaming and connectivity.
If you're using SSH, you should probably be using Mosh.
You'll have a much better experience.
It's much less fragile when it comes to keeping those connections going.
And then Tmux for attaching and reattaching and having multiple sessions.
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.
Yeah.
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.
That's cool.
And I want to be able to travel with just my iPad.
I don't like carrying a large laptop around if I can avoid it.
Yeah.
This is a perennial desire.
That's always a bit tricky to accomplish.
And one thing about Blink that I didn't mention, it does come with a VS Code embedded in it.
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.
On iPad.
On the iPad and allow you to connect to code spaces.
So you can actually use remote compute from GitHub over Blink if you go through all the hoops.
There's some hoops, but it does work.
I've done it.
That's awesome.
Wow.
Okay.
All right.
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.
Cause I'm like, why does this not exist?
Which lets you take things that are just long running.
If you just want to kick them off and get it out of your terminal.
So your terminal is like just for terminal things.
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.
And if anything crashes about it, just restart it and keep it going.
Right.
Cause like you can have reload on flask or all the other web frameworks.
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.
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.
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.
Okay.
So my main next thing to talk about may be boring, but just Claude Code.
What's that?
Michael, I never heard of it.
Have you, there was, there was like a movie that was like foreshadowing it.
It was made with like Arnold Schwarzenegger and this, these, these like machines made of something with Skynet.
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.
And then if you hit tab, it'll write the next five lines.
And I'm always like, you know what?
No.
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.
But the third and fourth line are like, that's not what I want.
How do I get the first two lines and not the third and fourth one?
Like, well, I guess I tab it and then delete them.
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.
I'm like, this is not how I want to think through my day.
Like, this is not fun.
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.
I know there's a bunch of other stuff.
I've run local models as well.
But when it comes down to stuff that really matters, it's like, well, I was using Fable for a while.
We'll come back to that.
Well, and you can use local models with Claude Code.
You can point it at Ollama and you can use it with superpowers.
You can have that experience.
Nice.
Okay.
Interesting.
Yeah.
Interesting.
But yeah, usually for me, it's just fire up Opus and really carefully work with Claude Code.
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.
Yeah.
The top tier tools are really incredible.
And so it's super predictable that I would pick this, I feel.
But at the same time, like, how could this not be one of my tools?
Like, I use this so much.
There's a lot to dive in here too, though.
I think model choice.
You mentioned just fire it up and point Opus at it.
I feel like there's great ways to use the skills and subagents to specify for this skill, you really only need haiku.
Like, go fast, find a lot of things.
There's certain things that are definitely more adept to those other skills.
You don't need to burn a ton of tokens.
I have an awesome use of haiku.
You will not see coming.
Oh, yeah?
All right.
I can't wait.
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.
So, like, you talked about how you're absolutely right.
It's not a code review.
That's been one of the problems with these things is, right?
Like, you give it a goal and it doesn't care if it generates a ton of code.
It's just going to jam through until it makes that goal work.
Or, like, I need this UI.
Like, okay, well, why is it a thousand lines when it could be a hundred?
And so on and so on.
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.
And then when it was done, I've launched four adversarial subagents in these different categories to push back.
And, oh, I found a bug or a misunderstanding.
We're going to fix that.
And it kind of starts to address some of this just over-eagerness to just blindly chase the goal.
And I think that's really good.
Yeah, the superpowers verification and review steps bring some of that to the table.
And you can install customer view agents that you can run in Claude Code to do exactly that.
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.
Oh, yeah.
Awesome.
That could be a whole show.
Maybe we do need to do the full agentic coding show.
Maybe.
But take us to your next topic.
Okay.
I am not a...
I mean, I like typing.
I feel like I've spent a lot of my world, my life trying to type.
But I've really recently discovered I should just dictate instead.
And there's some really great tools out there for doing dictation to your computer.
Not only dictation, but transcription.
This one right here is MacWhisper.
I'm a fan.
It uses local models to actually do all the transcription.
So it'll download and use Whisper by default.
And I think if you opt for the Pro version, so there's a free version in the Pro version.
This is a Mac-only app.
I do have another option here for those who are not on Mac.
But you can use Whisper models like the Large V3.
Or you can use Parakeet models, the latest NVIDIA voice models, which are incredibly fast and incredibly capable.
So this one gives you transcription.
For example, you can just feed it a YouTube URL.
And it will go transcribe and give you the transcription from that video.
Have it transcribed by meetings.
So one of the things MacWhisper also does is it can intercept your local audio on your computer.
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.
And you want to grab those transcriptions all in the central spot.
You can do that with MacWhisper.
And it can do on-device speaker recognition.
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.
And then it gives you a UI for finding all the conversations I've ever had with Michael, for example.
It can do that, which is really handy because, like, I talked to Michael two weeks ago.
Click on Michael's tag inside the software.
The GUI is pretty nice.
And it allows you for exploring these transcriptions and dictations.
And then you can dictate into any field or any prompt.
So I can just be hovering over a prompt on my text box on my computer and hit the push.
I use it in kind of push-to-talk mode.
So I've got my right option key on my keyboard mapped so that when I hold that key down, it is listening.
And so when I let up, it just pastes the text right into that field.
So any app, anywhere, terminal, browser, it doesn't matter.
That all works really, really well.
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.
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.
So I can just go on about how I need to write Michael on email and tell him about this, this, and that.
And it will format it into, hey, Michael, wanted to let you know about this cool tool I found.
Cheers, Calvin.
Like, it puts all the wrappings around it and just pastes it in there.
So that's MacWhisperer.
For those of you who are not on a Mac and do appreciate full open source, which I do, there is Handy.
This is basically the dictation version of MacWhisperer that is open source.
It does do the Whisperer models and the Parakeet models as well.
And so if you are on Mac, Windows, or Linux, you can do the same thing with Handy.
So check out Handy.
I'm not a user of Handy because I am mostly on the Mac when I'm doing my dictation.
And MacWhisperer works on MacOS and actually has an iOS version for iPad and phone.
But I don't find them as good as the built-in one on Apple's iOS devices.
But I do find MacWhisperer to be better for dictation than the built-in one on the desktop.
So it's a little bit of a different experience when you're on a desktop.
Yeah, amazing.
Do you speak to your computer, Michael?
Can you switch back to MacWhisperer?
Let me tell you the way.
Let me recount the ways here.
So absolutely.
I've been a MacWhisperer user since day one.
I was a Dragon NaturallySpeaking user from way back then.
And that thing was janky, but it kind of worked.
I've had two, one short-term-ish and one long-term reason to use dictation.
I broke my hand so badly, like just in three places all along the left side of it.
So bad that the cast didn't go to where your fingers are sticking out like this.
Yeah.
But where completely there was no fingers.
And it took six weeks to heal.
So I couldn't type at all.
My left hand or my right hand wouldn't touch the keyboard because it was just like covered in a cast.
That was the same reason for this guy to write handy.
He was in a cast and couldn't type.
That's awesome.
Yeah.
So I ended up, that's, I remember what I was using then.
But basically it was, it was predates MacWhisperer and some of the Whisperer stuff.
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.
The other one is for a long time, for like 20 years, I've had RSI issues.
So, so much so that I've had to have surgery on my, my wrist to deal with carpal tunnel issues.
And that was super scary to kind of recover from that.
I had to just do a bunch of things like type a little bit less, get a ergonomic keyboard of some variety.
We need a keyboard episode next.
Oh yeah, we do.
Yeah, we do.
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.
I'm like, I got to just like turn that down and like do all those things.
But to keep that at bay and it's totally fine.
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.
And I use MacWhisperer and it is so good.
You can grab like a hundred MP3 files or MP4 files, throw them on there.
It'll batch transcode them.
Or translate, generate transcripts or subtitles or whatever you want.
There's all these different formats, multiple formats for single output.
It is so good.
But the dictation is great.
You can dictate like you said to any text field, but you can also just dictate to the clipboard.
If you're working in something that it won't let MacWhisperer interact with, but you can just like, all right, fine.
I'll just paste it if it won't go into that control or something, which is really sweet as well.
And the last thing is I have set it up so that for transcription stuff, it uses local models.
It uses the V3 turbo that you pointed out.
But for dictation, I like a little bit of correction, a little bit of more smarts.
So like if I say, you know, PyPI and this, it'll like do it just right and not PIE dash or whatever.
I have set it up to use Claude Haiku.
Oh, that is a great usage of Haiku.
Yeah.
Because it's really fast.
So you're not waiting as you dictate.
It comes out like super, super fast.
But it's just, and it's not sharing other people's information.
It's just like when I'm talking to it, just flow that through Haiku and then into the text field.
And that is really something awesome.
So anyway, yes, 100% yes.
And another endorsement of this thing, it's not a subscription.
It's a one-time $30 fee.
Yeah.
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.
It's good to support them.
I mean, I'm a huge fan of the local model privacy first basis on this.
You can pass it to local models as well.
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.
I'm so much so a fan of the local audio processing.
My home assistant now runs with local audio processing on a Proxmox server down in the basement.
So I've got a RTX 3070 card running Whisper V3 large that processes the voice that I utter in my house.
That's awesome.
That is so awesome.
So how about that for a segue to the next thing?
Yeah, privacy.
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.
Normally, what do you do?
You're like, well, normally I would run this on AI, but I can't.
I'm sorry.
Or you expose it to the internet like an insane person, and then it gets hacked, and then something bad goes down.
Or you could use my new religion, Tailscale.
Are you a Tailscale person?
I'm not.
I have all Ubiquiti equipment in the house.
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.
So that works for me.
But if I didn't have that, I would absolutely be using this.
Yeah.
So I'm not a Ubiquiti person.
I have a super cool Wi-Fi setup.
Like, there's so many shows we could do.
But I don't open any of the ports, nothing like that.
It's like, let's not do any of those things.
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.
But Tailscale, I believe it's called an overlay network, where it's like you have your regular network.
You're just doing whatever.
But then it's kind of like a VPN, but you don't, you're just kind of ambiently there.
It doesn't intercept your normal traffic, but it just makes visibility to other subnets possible, right?
So I have my Mac Mini M4 Pro over there that's kind of maxed out.
And it runs LM Studio with my models.
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.
Instead of running that locally or even installing that at all on my laptop, I just have it running over there.
Local network, it would connect to it.
But anywhere outside of there, now it will just see that server no matter where you are in the world.
You need to jump in and do some screen sharing?
No problem.
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.
And you have access to it, but you don't never have to expose that to the internet.
And that's the thing that's super, super cool.
Yeah, yeah, I love that.
That's why I use the teleport on the Ubiquiti stuff.
But if you aren't, most routers have full support for WireGuard at a bare minimum.
Like you should be VPNing back to your own house if you trust your own house, your home network.
Yeah, and if you don't trust your home network, well, you're already on.
Yeah, you have other problems.
It's pretty bad.
I mean, there's the whole internet of things, but, you know, maybe put that on a guest network or something.
Yeah, I mean, those are the right things to do.
They're just harder to do for most normal mortals.
But you can do like really interesting production stuff too.
Like you could put Tailscale on your server.
Once you get it set up, I've not been this brave.
I'll tell you what I actually do.
But you could set up Tailscale on your server, log into your server, and then block port 22 SSH.
Yeah, yeah.
Period.
For the internet.
Tailscale has clients.
Are they the ones that have clients for like Apple TV?
You can make Apple TV exit nodes into nodes.
I don't know about Apple TV, but they certainly have it for like iPhone and stuff.
Yeah, yeah, yeah.
I'm pretty sure.
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.
Yeah, exactly.
You don't have to have them do some crazy, crazy thing.
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.
And I have almost the same.
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.
Because it's not accessible anywhere.
Like port 22 on the server that runs all of our stuff, it's only accessible from my home IP address.
Yep.
And no matter where I am with tail scale, I just say, use my Mac mini as the exit node.
And it looks like traffic is coming out of there.
That one is permitted to go into the server and nothing else.
So it's just another layer of security.
And it's such a sweet.
And that's a real pain in the butt if you're always moving around and your IP is stressed.
But because your tail scale just lets you like always go back to a stable machine, then you're good to go.
There's a lot of use cases for this.
I interviewed Alex Kritschmar, who's done a ton of work, done a bunch of self-hosting stuff.
He ran the self-hosting podcast for a while, which is really awesome.
But he's also now working for tail scale doing some of that.
So we did a whole section on tail scale with him.
And then it was really fun.
So people would check out that Talk Python episode.
All right.
Anyway.
Essentially, someone, you mentioned the Zeoxide in the comments there.
I use Zeoxide all the time.
If we're kind of jumping into extras here, that would be one worth mentioning.
Let's jump into extras.
Yeah.
And just take it away.
Okay.
Well, I mentioned Zeoxide, but I also put a couple pieces in here that just didn't fit or they were, again, Mac only.
For viewing markdown files, sometimes I want the most beautiful Mac experience I can get.
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.
Telescopo is the markdown viewer.
And now they've just added in editing.
So they've got the whole new studio piece, which is fine.
I don't actually use it for editing.
But the viewer alone, when I first downloaded it, it was only a viewer.
And I was like, that's super cool.
Why would you want just only a viewer?
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.
Telescopo gives you tons of themes and great fonts and just that Mac-like feel.
It just feels normal to a Mac user.
And so you could probably turn regular old business users on their Mac into markdown power users very easily by handing them this app.
I think that's definitely worth doing.
The other one I wanted to mention over here was Starship.
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.
If you've never checked it out, it gives you all the fancy coloring and tells you when you're on master.
I will use it with the Groovebox theme.
I don't think they've got any examples of the themes here.
But you can trick this thing out to no end, get the fancy power line looking thing.
The reason I landed on Starship was because power line 10K became unmaintained.
And so I wanted a better alternative.
And so I went and found Starship, which is fast and rust-powered and all the cool stuff.
And it has the whole nerd font.
It has to be installed so you get all the fun icons and things like that in your terminal.
You have to have nerd fonts, by the way.
This is necessary.
It just won't work.
Otherwise, it'll look rough if you don't.
But when you're switching between machines, you'll see it'll be like, oh, you're on your Ubuntu machine.
So it gives you an Ubuntu logo.
You're on your Mac.
So you get an Apple logo.
And I get in the prompt.
Again, those little niceties are real, real nice for having that going for you.
Yeah, the Starship is cool.
A lot of the stuff I said about Oh My Seashell also applies here.
Yeah, yep, yep, totally.
I don't know if I can show the presets.
It does say presets on the left there.
I'm not sure.
Oh, yeah, yeah.
That's where you can come in here and you're like, oh, I want it to look like this.
You just the one command away.
The one I chose was the Groovebox.
Like there's the Tokyo Tonight, which is pretty.
This is the one I've got running, which I really like.
And it's literally a one-liner.
You just type, you just copy paste that.
And now your prompt will look like this.
That's awesome.
Yeah.
What's the platform story for Starship?
Like it works on all of them?
Oh, it should work everywhere.
Any place you can put.
I've got it on my Mac.
I've got it on my Linux machine.
So I want my experience to be seamless as I move back and forth.
And so I definitely dress up my Linux box to look a little more Mac-like.
You know, there's people who prefer Ubuntu because it feels like a Mac.
And people who like Ubuntu because it feels like Windows.
I'm on the Mac side of the UI spectrum.
Lovely.
All right.
Very cool.
What do you got, Michael?
Just a quick shout out.
Typeora is my Markdown thing, but I will be checking out how this is going.
I evaluate Typeora.
I can't remember why I didn't pick it now.
Love it.
Yeah.
Very good.
It has a really nice just single hotkey to just swap between Markdown view and WYSIWYG view.
But even in Markdown view, it's still kind of like, you know, the H2s are bigger than the H3s and so on.
I just, I don't know.
It's just, it's pretty seamless.
I like it a lot.
But that's not the main thing.
That was more of a follow-up.
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.
Do you know Great Docs?
Are you familiar with this?
Yes.
Yeah, we talked about an extra last week.
Yeah, that's right.
Because I was talking about like the skills and the LLMs and all that kind of stuff.
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.
You know, like the one, if you use Umami, I wrote that.
If you use FastAPI but you want to use the Chameleon template language, like I wrote the FastAPI Chameleon one.
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.
Right.
But they, they only had their readme on GitHub.
They didn't have a proper like docs site.
And after going through talking to them like this, I should really do this.
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.
It says, I actually went through and I created documentation pages, a site, full sites for every single one of those libraries last week.
And they're super cool.
So like you over to Umami, it's got what you would see on the readme, you know, all the cool stuff.
But it also has like a built-in changelog that can be driven from GitHub.
It's got the API reference, like, hey, what is this website ID?
Oh, show me the source.
And it'll take you over.
And it actually pulls up and highlights that function that was the documentation on GitHub off of the documentation, which is sweet.
If you go back, it also has like LLM skills.
Like, hey, here's the things you can do.
And here's how you authenticate.
And you actually pass this.
And here's the function.
And here's actually an example code that is a part of that.
And here's how, you know, the typing for that.
So it will teach your agent like about this library, which is one of the things I was really excited about, right?
So none of these libraries are new, but I created the doc sites for each one of them.
And they all are off of my personal mkid.codes.
Click on tools, click on open source libraries, and that shows you all the links to all the doc sites.
So anyway, I did that.
It's beautiful.
The frictionless way to view docs.
Yeah, I'm really excited.
Great Docs is pretty new.
It doesn't have a ton of GitHub stars.
I feel like it should have more.
But it's built on Quarto, which has been around for a long time.
It's super popular.
Okay, last AI statement here.
And I would love to hear your thoughts.
This is, I alluded to this earlier, and I said, I was using Fable.
Ha, ha, ha, ha.
That was fun.
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.
And it couldn't be released because it was so dangerous.
It was so powerful.
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?
Well, to my surprise, it came out last week.
Oh, my gosh.
Now we're turning this thing loose on stuff.
And it was in a pretty restricted mode.
Like, it was available to Claude Code subscribers.
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.
So it was going to go kind of unobtainium for most of us anyway, because I'm sure it was brutally expensive.
But it was still going to be there, right?
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.
And Anthropic said, we can't do that.
So we're just cutting it off.
Like, we're closing it down.
It's gone.
Good luck.
Good luck, everyone.
Thanks for being a very reasonable United States government.
I am so conflicted here.
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.
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.
That helps us a lot.
And they got to fight with Anthropic, right?
Because they wouldn't let him use Claude for the weapons.
And the guy, Renzo Zagadario, is like, actually, you can, just not yet.
He's not ready for weapons.
Like, you're going to go, this is crazy, my understanding.
And they said, fine.
Well, then you're barred from all, like, government use.
And so there's been this feud.
So this could be the U.S. government being spiteful.
I totally grant that.
Yeah.
It could also be, though, Anthropic has spent months telling us this is nearly, like, weapon of mass destruction type of LLM stuff.
If it gets out, it's going to destroy the world.
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.
Like, we've got to set up the Iron Dome equivalent.
And then they release it.
And they're like, well, this is too dangerous.
You know what I mean?
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.
And then, like, you're like, well, people are upset it's dangerous.
It's like, yeah, but you kind of marketed that.
Yeah.
Michael, who's raising money, Michael?
Who's raising money?
I know.
Yeah, exactly.
The IPO is.
I think this is a who's raising money moment.
They needed this kind of moment to be seen as this is the most important model of your life kind of thing.
Well, then next month, the next most important model of my life will be out, too.
So I don't know.
I'm skeptical of these models.
They are powerful.
They can do a lot.
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.
Because the open waste models are only a few months behind on these things.
Yeah, that's true.
Like, the genie's out of the bottle.
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.
And so the people just have Fable still active.
I got to use Fable exactly once.
Oh, really?
Well, I was on the road last week when it all happened.
And someone's like, did you try Fable?
Yeah.
I'm like, oh, I better go try Fable.
So I had it right and owed to Taco Bell.
That's my thing.
I make these.
I had Fable do one thing.
Oh, the gordita is powerful.
Oh, it was good.
Oh, my gosh.
I used to do quite a bit for three or four days.
I actually blew through my weekly limit.
I'm like, oh, man.
Oh, yeah.
These things are token monsters for sure.
Yeah, and then it wasn't available when my tokens reset.
Yeah.
I think we're going to see a new era of right model for the right job.
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.
Yeah, 100%.
100%.
And shout out to Mark Little, who's been on the show before, who sent this over when this first came out.
I said, hey, did you notice that Fable's gone?
I'm like, what?
Where did it go?
I know.
We don't know where it went, but it's not there.
All right.
So ready for the joke?
I am ready for the joke.
Let me set the stage before we go into this really quick.
Okay.
I think you should be kind to people and understanding and kind of chill.
But every now and then, something just catches.
It hits a nerve.
And you're like, nope, nope.
This has to be right.
And this is sort of this person here.
It's like, I titled this No Second Date.
There's this sort of smug looking person.
There won't be a second date, but at least she knows that an array index starts at zero, not one.
It's so bad.
You could just imagine the type of person that's like, you know what?
How'd the date go?
You know what?
No, we couldn't do it.
It would just, not somebody necessarily want a date, but it's pretty funny, I thought.
Yeah.
This is what I try to teach my children.
There's a difference between being right and being correct.
Yep.
You don't always want to be correct.
And even, you don't have to publicly be right to their face.
Right.
Like just, you know, get along with people, right?
But anyway, I thought this was pretty funny.
You do the right thing, not always the correct thing.
Yes, exactly.
Well, this person's getting no second date.
Nope, not in this one.
I can hear that conversation go down.
Yes.
I've had that conversation, I'm sure.
And it doesn't have to even be a date.
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.
Yep, yep, yep, yep.
All right.
Well, I don't feel that way about this show, Calvin, but I do believe it's time for us to go.
Yeah, I agree.
This has gone on.
We get passionate about our tools.
I'm excited that I'm here for it.
I'm here for it too.
Thanks for listening to the end, everyone.
And hopefully you'll enjoy this unique episode.
Yeah.
See ya.
Talk to y'all later.