Changelog & Friends — Episode 118
Vibing into the vibe with Nick Nisi
Nick Nisi discusses his AI subscription spending, hardware gadgets like the Flipper Zero and BUSY Bar, why TypeScript's team chose Go for their compiler, React and Vercel's relationship, and his preference for Astro.
- Speakers
- Jerod Santo, Nick Nisi
- Duration
Transcript(263 segments)
Welcome to Changelog and friends, a weekly talk show about AI subscription fatigue. Thanks as always to our partners at Fly.io, the public cloud built for developers who ship. If you ship like we do, maybe ship where we do at Fly.io. Let's talk.
Well friends, I'm here with David Hsu, CEO of Retool. David, I want to talk about awareness beyond Silicon Valley. Retool has a great presence and a great awareness inside Silicon Valley,
but what about beyond? What's really cool is I think we've done a really good job of building awareness inside of Silicon Valley. And so when you look at customers that use Retool, pretty much every big company in Silicon Valley above a thousand people today now uses Retool and builds internal apps via Retool. So that's really awesome. And I'm really proud of the progress we've made there. But I think the larger opportunity for us actually, it's outside of Silicon Valley. When you think about, for example, the Kroger's of the world, the Coca Cola's of the world, many of them are customers already today, but I think we haven't done as good of a job building awareness, if you will, around the developers and all these companies. And that to me is where the opportunity lies because so much of these companies run on software. Software is so important. If you think about Coca Cola, for example, Coca Cola has not really gotten any cheaper to manufacture in the last 10 or 20 years. Instead, the reason why Coca Cola is doing well as a company is because they are getting more productive by better software. And so every company needs to become a software company and Retool lets you do that. So Coke is a big company,
but the principle rings true. Become more efficient by using better software. There you go. Well, if you're beyond Silicon Valley, raise your hand. We want to hear from you. I want to tell Dave that we reach people beyond Silicon Valley, that we're raising the awareness of what Retool is and what Retool does. And some big announcements coming soon here on Changelog, which is cool. Well, if you haven't yet, go to retool.com, get a demo, try it out for free, all that good stuff. Again, retool.com. We can listen to Changelog and friends.
Nick Nisi, Nick Nisi making VIM look easy. Hoi, hoi. Still rocking VIM. I wrote you a poem, but it's as far as I got. I like it. Do you feel special? You feel sort of special because I wrote you a poem, but also not so special because that's as far as I got.
It's perfect. Things don't have to keep going if they're perfect.
I think that's a metaphor for our entire relationship, you know?
Well, if you were, if you would continue, it would go to TypeScript and that's just not possible.
Yeah, that's right. The longer we talk, it's like, what's that rule about Nazi references on the internet? What?
You know the rule. I don't know any rules about Nazis. What's it called? I'm thinking of Microsoft Tay.
What's that? Tell me about that. Oh my gosh.
This was a chat bot. The water's getting hot in here. You don't remember this story? This is a chat bot that Microsoft released on Twitter like years ago, but before OpenAI and chat GPT and all that. And it only took 24 hours for it to go full Nazi.
Oh, that's right. It was called Tay. Spell that.
T-A-Y.
Okay. All right. This is Godwin's law. See, I just wanted Nick to tell that story long enough for me to get the answer for the previous thing. So thanks Nick for that partay. Godwin's law is an adage from the early days of the internet that says, as an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one. So this is Godwin's law, but for TypeScript and Nick, like the longer we talk to him, the probability that he brings up TypeScript approaches one.
It wasn't even me. I don't even have to do it anymore.
You'll let your reputation precedes you. Yes. Are you still TypeScripting? I think last time we were hanging out, you're writing PHP and stuff.
I was, and I am, but I'm still writing a lot of TypeScript, so I'm really liking it.
Are you using that new fast compiler?
Not yet.
No. How big is the code base you're working on? Is it fast enough for you?
Oh, it's small enough that I can fit it into a paste into Claude, the entire code base.
Oh, nice.
What?
How big is that? How big is Claude's context window?
I don't know. It starts getting mad at me when it's around 200K. I use the school site called get ingest. And so you just go to github.com slash whatever, but you replace the hub with ingest. That's right. Did I teach you about that? Maybe. Yeah, maybe.
I logged it a couple of months ago. It's cool.
Ah, I liked it so much that I had Claude write me a Bash script to do all of that for me. Vibe coding.
I feel like that's similar to me writing you a one line poem. It's like, I liked it enough not to write my own Bash script, but to have somebody else write it for me, you know?
Yeah. That's how you write Bash now. What exactly are you doing with this get ingest Bash script? This is for when I'm like making a bunch of changes locally and I don't like it's not all out on like a public GitHub repo that get ingest can get at. I can just type. I called it digest for some reason. And I can just run digest and it'll throw it on my clipboard and tell me how big it was. So I can see like, oh, this is, you know, 200K or 40K or whatever.
I feel like there already was a digest command that does like MD5 sums or something.
You know, I have three Mac computers and one of them has a digest.
I thought there might be a namespace conflict there. An old, that's an old Linux command or something. Who knows?
But not the one I use every day. My work for some reason, it's at least my digest is higher on the path or earlier in the path. So it gets that one.
Why wouldn't you name it ingest? I mean, isn't that what you're doing?
Cause I was creating a text digest of, of the repo.
Okay, fair enough. And how's that working for you?
Eh, my script kind of sucks, but Claude wrote it.
At least you don't have to personally identify with the crappy code anymore. You're like, you know what? Claude wrote that. So.
Exactly. No big whoop. It's wild how much coding has changed in a year. Not even a year. Yeah. Describe, say more. It's a lot of, well, I don't know. It's also, I'm, you know, I joined a new team a couple months ago, a new company and left meta, which was totally different.
Yeah, they had to use llama. They made you use llama probably.
Yeah. And it was really bad. I laughed when, when like, I don't, I'll listen to Rogan, but I saw that clip of, of Zuck talking to Rogan about how they're going to replace mid-level engineers with AI, like this year. That's that's his version of self self-driving in three months. Like it's, it's not happening. Yes. Not, not with llama. Not there.
Yeah. Llama four was a disappointing to folks. I didn't even try it. Cause I saw it was like, they dropped it on a Sunday or something. And it's like, by the way, llama four, go play with it. He's trying to be kind of cool at Zuck, always trying to be cooler than he is. And then the initial benchmarks, like I think even the ones they published were like very impressive and then people actually tried it and it was like, no, it's not better. We're not as good as, you know, Gemini or whatever the, although I found Gemini currently, this is Google's latest to be disappointing, but I'm also disappointing. So, you know, who am I to judge?
I have not used Gemini like even once, but I did download the app. I just haven't signed into it. I downloaded the app on my phone, but I was interested in it because I heard their context window was way bigger, but I haven't tried it because I can't figure out if I'm using 2.5 pro or whatever they call it. Right. I'm so sick of picking a, like, just use the best one. Why do I have to pick and tell you to
use thinking and all of that drop down on, on chat, GBT.com is like, pick your, I'm like, you should just know which one I want to use based on the question. I ask you, shouldn't you? Yes. I mean, you're smarter than me anyways. Right.
Uh, my, my AI today now post-meta working at a new company, uh, working on a lot of different languages that I'm less familiar with, like go like Python or yeah, Python, PHP, uh, all these other languages that are, that are terrible. Um, that are not TypeScript. Uh, and it's great. I can just ask all these questions and I, I'm going to say something embarrassing. This is embarrassing. Okay. Please don't. I pay for chat, GPT pro Claude pro, uh, or not chat, GPT pro it's plus, I think. Right. Cause the pro is like the million dollar one, 200 bucks a month, right? No, I don't pay for that. I pay for the $20 a month. I pay for Claude pro, uh, which is $20 a month perplexity, which I'm paying for. And I didn't realize for months because like I use Raycast and Raycast gave me a six months free of perplexity pro and then it just charged me and I forgot about it and didn't realize for months. Um, but then also I'm paying for Raycast AI because it's just that convenient to have like a little, and I'm using them all and I'm using them all differently. And, and here's the worst part. Like this just, I don't know. I don't even want to admit this, but like last week. Okay. Nevermind. No, you already said you were going
to, I didn't ask you to, but now that you actually do have to know. Okay. Uh, last week
Claude came out with, uh, okay. Before that, like a couple of weeks before that I was like running into this thing with like Claude where I'd be like asking it questions and it's like, Hey, you can't ask anything more until after 4 PM because like I hit some limit internally. Sure. And I'm like, dang. And then I'm like, should I just pay for another? Yeah. I'm like, should I just pay for another account and keep going or, or what? And I didn't cause I'm not crazy. Right. But then last week they came out with, Hey, you can, instead of paying $20 a month, you can pay us five times that and get five times the, the, the, uh, the usage. Or you can pay us $200 a month and get 20 times the usage. And I'm like, that sounds reasonable. I haven't
done it, but it sounds reasonable. Which one did you go with the 10 or 20 or neither? Uh,
when I do it, cause it's, it's more of a, probably a when given the state of things, uh,
I'll go with the a hundred dollars a month. So you got Chad GPT, you've got Claude.
That's 40 bucks. Right? Then you got Raycast. He's doing it for the rest of us. Is it like 20 bucks a year? What does Raycast's AI version like 200 bucks a year, a hundred bucks a year? I believe it is. It's like you have Raycast pro and then you have what, like the AI stuff on top, which is like another $4. So you have to have already paid them a hundred bucks a year to pay
them another a hundred bucks a year to get the AI. Yeah. So that's 200 bucks a year. Let's just call it for Raycast pro plus AI. That's 240 bucks in, but I guess you're also getting Raycast.
Right. Raycast is indispensable. I can't live without Raycast either. Okay. This is not a paid ad. Raycast for life. Okay. Raycast for life. For sure. I almost lost it there off of disagree
in order to make it not look at Alfred over here. There's our Alfred old Alfred light, man. Raycast has ran circles around you default MacOS software for the win. Uh, what can Raycast do that spotlight can't do Nick? What's your favorite Raycast feature? Oh, uh, the AI plot. Oh, uh, the AI. Okay. Non AI feature like serious Raycast feature.
Okay. Um, I'm just, that's so hard to say. Do you launch a lot of apps with a lot of apps?
Let me tell you about a little thing called spotlight.
Okay. This is an app that, or like a feature that it just does that there's a million apps that do it, but I like that it's just one app and that's a clipboard manager. I love having this pretty much unlimited clipboard that I can just constantly refer back to.
Yeah. The clipboard history I believe is unlimited. I believe it's unlimited. It does not sync across devices. So if you have a MacBook pro and an iMac or something like that, they're
not going to sync those clipboard histories. Ah, but built-in MacOS does do clipboard sharing so that it does. Well, I think this is by design. I don't know if this is, I think you can do it, but I think by default it doesn't do this. I like that feature. Premium feature. Dude, what I like most about the clipboard feature is that when you conjure it, I guess whenever you elect to have this interface pop up with your history, you can search your history and paste it immediately. And it's like, that's like five days ago history. And it fuzzy searches the whole thing. So it's not only just like front or back. It's like all over the place in this thing.
And so it's pretty accurate. Well, let me use this opportunity to mention a little piece of freeware open source freeware called Mackie M A C C Y, which is a clipboard history management tool that lives in your menu bar and does everything you guys are describing, but it's built by an individual who just loves software and just wants to put out free stuff into the world. And I use that for clipboard history. It's one thing. Well, guys, one thing. Well, I was once like you, okay. Tell me how you've become enlightened.
I'm already going to run Raycast to open my apps. Why spotlight opens apps for you.
Yeah, but it can't do other things like the clipboard management thing that I can use Mackie for like Claude, which has their own desktop app. Surely you're not selling me,
fellows. You're not selling me. Well, the good thing is we're not here to sell you.
I know we're here to enjoy ourselves. Well, I did kind of set that up as the
conflict, but fair to get you. You know, what's funny to me is that in our shared doc of
potential topics for this conversation near the bottom, it says, I don't know. I don't know who wrote this. Are we contractually obligated to talk about AI? And the answer is no. However, I didn't realize this, but Nick's more of an AI junkie than he is a TypeScript junkie because I mean, what would we go five minutes? And he's already confessing all of his subscriptions.
Listen, I didn't want to tell you all this. This is so embarrassing. However, we're on a podcast listened to by the world. Basically, here's all my stuff. I'm just, you know what? You're you're you embrace or you die. Right. Ooh, I like it. Yeah. Embrace or die.
This is worse than streaming services though. You probably paying more for. Yeah. That's why I had to add it up for your streaming services. I mean, is your wife okay with this or your employer? Hopefully your employer is helping foot the bill.
Listen, we don't need to talk about that.
Okay. Okay. Fair. Sorry. I don't want to get too personal.
I get some benefit out of it and it's, it's real good. And I am not a person. I would not say that I'm a day to day vibe coder, like for one-off things like a digest script. Yeah. Like just do
now, are you just using the term vibe code? Cause it's fun. Or are you really referring to the practice of vibe coding in which you don't even look at the source code that's been produced?
That is what I'm saying. Yeah. You don't even look at it like the digest script. I barely know, man. You don't even know. I mean, it's, it's bash. Right. And who knows? Nobody knows what
that does. Did you hear about the latest security vulnerability? Yes. Yes, I did. But I'm still vibe
coding. I was still even looking at the code for day-to-day stuff. I don't like, I don't use it in that way. I'm a team of one right now too. So like I'm using it as literally another coworker, like this is somebody that I can bother and yeah, they're an idiot, but they're helping me to formulate my thoughts before I go talk to somebody actually smart, like any of my other
coworkers. It's a warmup message, right? Is that what it is? I can knock off some low hanging fruit
and I'm not like just copying and pasting code from them. I will give them the repos that I'm working on. And like everything I do is an open source. So I I'm freely able to do that, which is like a privilege, I'm sure like where I'm at. But like, I give it that so that it has the context and then I can ask it questions and hopefully it knows like, Hey, that method that you're telling me to call actually exists. And like, even when I give it the entire repo, 80% of the time, it's correct. It'll make up methods. The other 20% of the time are things that don't exist. So like, I totally don't trust it, but it's better than staring at a blank screen and wondering what to do. I can like ask it some questions and I mostly like keep it at like a high level, like architectural style thing. Like my favorite thing in the world is to like talk through, like, here's how I want to do it. Okay. Now like let's create a mermaid diagram and just like, right. Like visualize how this is going to fit together.
So now I'm understanding a little bit more while you're paying money, because it's not so much the utility of the tool that you want. It's just that you're really lonely. Cause you're a team of one. You need someone to talk to. And these things just fill that void. You're like, let's make a diagram while I think through this. So you're, you're rubber duck
debugging, basically. Exactly. Tell me, you know, and who else is going to tell me like how OIDC works to the tune of Lil Wayne rap lyrics, you know? Yeah, exactly. It'll play
along with all your stupid games like I used to on JS party. Oh, funny. Well, friends, I'm here
with a good old friend of mine, Terrence Lee, cloud native architect at Heroku. So Terrence, the next gen of Heroku called fur is coming soon. What can you say about the next generation
for Heroku? Fur represents the next decade of Heroku. You know, Cedar lasted for 14 years and more still going. And Heroku has this history of using trees to represent ushering in new technology stacks and foundations for the platform. And so like Cedar before, which we've had for over a decade, we're thinking about fur in the same way. So if you're familiar with fur trees at all, Douglas furs, they're known for their stability and resilience. And that's what you want for the foundation of a platform that you're going to trust your business on top of. We've used stacks to kind of usher in this new technology. And what that means for fur is we're replatforming on top of open standards. A lot has changed over the last decade. Things like container images and OCI and Kubernetes and cloud native, all these things have happened in this space. And instead of being on our own island, we're embracing those technologies and standards that we help popularize and pulling them into our technology stack. And so that means you as a customer don't have to kind of pick or choose. So as an example, on Cedar today, we produce a proprietary tar ball called slugs. That's how you run your apps. That's how we packed them. On fur, we're just going to use OCI images, right? So that means that tools like Docker are part of this ecosystem that you get to use. So with our cloud native build packs, you can build your app locally with the tool called pack, and then run it inside Docker. And that's the same kind of basic technology staff we're going to be running in fur. So you can run them in your platform as well. So we're providing this access to tools and things that people, developers are already using and extensibility on the platform that you haven't had before. But this sounds like a lot of change, right? And so what isn't changing and what isn't changing is the Heroku you know and love. That's about focusing on apps and on infrastructure and focusing on developer productivity. And so you're still going to have that Git push Heroku main experience. You're still going to be able to connect your applications and pipelines up to GitHub, have that Heroku flow. We're still about abstracting out the infrastructure from underneath you and allowing you as an app developer to focus
on developer productivity. Well, the next generation of Heroku is coming soon. I hope you're excited because I know a lot of us, me included, have a massive love and place in our heart for Heroku. And this next generation of Heroku sounds very promising. To learn more, go to Heroku.com slash changelog podcast and get excited about what's to come for Heroku. Once again, Heroku.com slash changelog podcast. So how do you know, like, do these various,
does Claude and chat GPT, do they know about each other or do you keep them completely separated? Like, is there any sort of weird, awkward relationship vibes going on? Because how do you know which one to turn to and when?
Oh yeah. That's a great question.
Oh yeah. I'm glad you asked me. All right.
This is mostly vibes, I think, honestly.
How you're feeling. You have to vibe into the vibe. That's right. It's like pre vibe coding.
That's right. The vibe I got is just like, I don't really use chat GPT much for work.
Okay. It's more of a hangout after work kind of a chill.
I have it because like I play with it and, you know, my kids and I have been doing a bunch of image generation stuff, which has been fun. But then also like, you know, sometimes like my, my daughter and I are like halfway through the first Lord of the rings book after having just read the Hobbit. So we, we read actual literature, literature, but sometimes we just goof around too at bedtime and we have like, I'll just like ask my kids for a list of things that they want to hear. And then I'll throw in like a message, like, you know, a message about not fighting with your brother and then have chat GPT generate a story, a bedtime story for us that has all of that. And every single story that my kids create has like, you know, dad fell in the toilet or dad turned into a bud or, you know, typical things that a six year old and an eight year old would be talking about. And that's a lot of fun, but that's primarily how I use that. And then occasionally for writing, although I kind of like cloud a little bit better for that, but cloud is the workhorse here. I really like cloud for code. I like the interface for it. I like being able to set up projects for it. And like, you can give it a bunch of context in those projects that it'll just share each time. And then as of like yesterday, I'm like in this, but I'm also very slow to adopt things. But yesterday I integrated GitHub's official MCP server into it. And wow, that's so nice. So what did that do for you? It can like do a bunch of things. Like I can have it like comment, respond to pull requests and issues and stuff like for me, I'm not letting it go that far yet. There's a trust that has to build up before I do that. But like an issue comes in and I can just be like, Hey, you know, issue 44 on this repo, give me a summary of what you might think. And it already knows about all the code cause it's in a project. So like, give me your thoughts about where I might start looking for like where, what could be the issue here. And it can just go fetch that. And it's like, it's saving me the steps of having to go copy and paste is basically it. I'm getting less use out of my favorite tool of Raycast, my clipboard manager. Yeah. That is cool. So how, how close do you
think you are to that trust threshold? And you can just tell it, go comment on this for me.
Oh, I don't know. I'm scared of that because like, as much as I use AI, I don't want anyone to know that I use AI for you're telling everyone right
now. This is the show as much as send this to your manager, cut this out, cut this part out.
They're actually really cool about AI too. Like I was playing with Devin for a little bit, the $500 a month AI coder. And I don't think that it's very good, but yeah. But yeah, I don't know. It's cool. And I like the main thing that you're always doing with all of these is managing the context, right? I'm constantly thinking about when Claude's going to give me the little purple message that says my chat's running a little long and how succinct I should try and make things. I've got some like pre set scripts that I'll throw in there. Like preset, what do you call those prompts? That's like, you are, you know, going forward, like there's one specifically that I use right now that's really good. And it's like going forward, don't assume that anything I tell you is accurate because like the worst thing about any of these is when they're just like, you know, you're yes, man. And they're just like applauding everything. You're right. And it's going to tell you that you're right. I want it to challenge me and tell me like, what are the things I'm not thinking about? And like, I've got, I'm crafting prompts that helped me that I can just paste in when I feel like it's getting a little, I don't know, kiss-assy for a better word. And then I can, yeah, set it straight. But then like you're, you're managing those, those contexts and like, that's where Raycast AI comes in for me because Raycast is like, I have it set to like option space and that pops up in a little window and that is reserved for the queries that I want that are like one-offs. Like I'm having a conversation over here with Claude about, you know, this, I don't know, feature of, of next JS, you know, I'm talking to it about next cookies and I want to go deeper on next cookies, but I don't want to screw up its context. So up pops Raycast. And I have a discussion over there about next cookies. And then I go back. And what are they using? They're using Claude also, but it's a different session. They'll use whatever you want, but yes, I use Claude three, seven, mostly in there. He's so excited about this. Look at his face.
That was like me in temporary mode the other day when I just wanted to be a temporary conversation.
Except for it didn't work, but it's like that. Yeah. Are you managing the context or
is the context managing you? That's too deep for me. Stack overflow. Oh gosh. You know, I'm still, I'm still a Neanderthal with these things. I'm just, I have it set up in Zed. I also just use chat gbt.com. And then I have Ollama, which I had opened in a terminal session. I just talked to it, but I don't have the patience to wait for a lot of these things, unless they're going to be right. And I just find chat GPT is right more than any of the other ones. However, with Zed, which is still my daily driver editor, I can just switch back and forth constantly between different models and see which one I liked the best. And I just don't like any of them, honestly. I get angry, their code sucks. I'm just like, I can write this better myself. I don't mind. I don't like a blank screen when it comes to creativity, but when it comes to software, I'm just like, got no problem with it. Like I know I just start writing. So I'm still trying to find where it fits out. I still have, I have a right functions and stuff for me. I just am always like, this function sucks. Yeah. Oh yeah. And I don't want to think that I want to be like, good job, little guy. That's a great little function you wrote there, you know?
So it sounds like you're in the same boat as me though. Like I don't use it for, I'm going to say, like, I don't like how long it takes for responses and things like that. Like when I'm in the flow of coding, it's more like pre-coding where I'm using it the most it's having the conversation and making sure that like validating my thoughts on the approach before I go and waste
a bunch of time. Yeah. And I'll actually use it now. And I've said this on the show a few times already just to replace Google, basically. Like I just don't Google anything anymore. I just ask an LLM and I'll even honestly ask it for the docs. I'm like, how do I use this function? Like give me the API and a couple of examples. And that for me is faster than going and finding the docs in some cases especially for obscure libraries and stuff. Although the more obscure, the less accurate it happens to be, but that's just part of the game. And so I'm basically just using them at that level. Once I have it generating code for me, I'm just, I think maybe I'm just too controlling in particular about code and it might just be a me problem, you know, where I need to get over it. Nope. But I just don't like what, no, it's not okay. Good. Thank you. There's a place for us to thank you. But I'm okay with it. And I continue to do more, you know, just like slowly, slowly, slowly more. And I told Adam this on the last Friends where it's just him and I talking about, I'm not sure if you've heard the one where I turned him into a walrus and all that, but that feature inside of JetGPT has been a little bit of an eye-opener for me of like, we don't got long, man. We don't have very long because that was like a huge improvement all of a sudden in the image generation land where it's like, why would I hire anybody almost ever, almost ever at this point? Whereas last year I was like, yeah, this is not going to actually produce anything I can use. It's great for like ideas and stuff, but then you have to go hire someone to actually produce the final logo or whatever. I just feel like lots, that ship is sailing very quickly. And I don't see any reason why, except for maybe the, just the intricacies of the software development platform and all the different things can go wrong. Maybe might just give us a longer hedge and the subjectivity of creative work versus the objectivity of, does it work? Does it work right? You know, that kind of thing. But I don't think we have too much longer left. Do you think
Nick? I go back and forth for sure. Like it's, it's when I let it, when I let it vibe code for me, it's real bad. So that's why I don't do it much, but I mean, just think of where we were a year ago, two years ago, right. It's, it's come a long way. So I don't know. Has it come a long way in
pros? Because I feel like, I feel like it's so average at writing. Like it's not, it's never impressed me the way it has with these images. And I wonder if it's actually gotten better if they're still testing that, like, you know, maybe you're, you're better answer and Adam as well. Cause don't you use it to generate some stories and stuff as well, but time stories
and things that I have before. Yeah. So Nick's story of the bedtime store was very familiar, except for it was not exactly the same. Definitely have had fun around that stuff. Image generation has been something we've done before conflict resolution, like how to respond to a certain email even. I think what I don't ask it for is what to say. I ask it for like, okay, here's all the context. What am I missing from this scenario to maybe establish more empathy or just, um, word salad them a little bit more than I should, you know, kind of thing. It's really iffy. A lot of, a lot of communication type stuff, a lot of framework thinking, a lot of ideation sort of evolution, stuff like that math. I love doing it with like word math. That's the best hypothesizing a scenario with, you know, multiple inputs or, you know, multiple scenarios on which one plays out to have the greater outcome. I don't know. You name it. It's kind of wild, honestly, to even have that as a tool. Well, let's change subjects since we
are just now doing what we do on every episode. We'll just talk about AI. And let's talk about, yeah, I mean, it'll work its way. It's just weaving its way into every part of life. And it was like, it's like COVID, you know, COVID weaved its way into every aspect of life there for about two years, maybe 18 months. And I remember thinking more about the mind virus than the virus virus. Cause it's like, can we, I remember one time I was at a meal with friends and of course everyone's just talking about, you know, this and like all the things. I mean, you can go into all the different things, like the social distancing aspect, how it spreads, the vaccines, all the lockdowns. Can you believe what they did? This person had it. Here's what happened to them. This person had it. And I was like, y'all, we don't give everybody opportunities to hang out and have dinner. Just us adults here. Like it's actually infected our minds. Like we can't talk about anything else except for the back then we called it the coronavirus, you know, the coronavirus because it was like the novel coronavirus. I'm like, can we talk? It's like a mind virus more than it's a virus virus. Anyways.
Can we pause for a second and talk about how Corona beer was actually like hit by that initially. It was like a small bounce back. I was like, well, hang on a second. The Corona beer and Corona virus, different things. Okay.
If you don't want to get it, don't drink Corona. You know, like that would have been bad for their branding for like only three months or so. And then we moved on, called it all sorts.
I'm not sure if that says something good about humanity. Like, are we just that stupid?
Yes. Are we just that stupid? No hesitation. That's why we're afraid of these AIs. They don't have to be that smart to outdo us. You know, it's not much to manipulate us for sure. Well, for sure. Yeah.
It doesn't take much really. I mean, a couple yaks in and you're shaved, you know, I mean, like, come on. That's right. You're on a whole different subject thinking it's real, you know, and meanwhile it's all simulation. Have you seen the, uh, now we're, now we're getting
way upstream, but well, it's nice up here in the water. Have you seen the ones where there's people that were posting on Instagram and take talk in other places where they're like skeptical of mirrors? Because how can I actually see the reflection? How can it see me over here? And I'm just like, do you not understand how mirrors work? How does it see behind the towel? Right. And it's not just one kooky person. That's like, there's a whole, I mean, there's probably a website with a forum on it at this point. Maybe we do need to reinvest in education. All right. Busy bar. Let's get busy talking about something else. Lame busy bar. Busy bar. Let's talk about some hardware. You think the
bar is lame or what do you think? I'm just messing around. Like going from that to like busy bar. Come on. It was not a good, can they compete? We'll see. What is it? What is the busy bar? Okay. I, uh, TIL today on this had no idea existed. It's seems to be a hardware device. Yes. That has a, that's programmable in some way, shape or form. It's going to SDK or an API that you can program against it. You can tell the world you're busy. You can do Pomodoro. You can tell somebody you're on air for podcasting. It's like an LCD pixel display that does all sorts of cool stuff. Automates into home assistant and other things. It's like the hardware meets the ideation software, you know, event change. I'm pretty cool. It's actually pretty cool. Yeah. So here's
why I thought we could talk about this. Cause you guys love hardware. I mean, Adam's always buying stuff. Nick buys a bunch of stuff. Don't you? He doesn't buy a bunch of stuff. Software, a lot of software. Yeah. A lot of subscriptions. I'm sure there's probably a
subscription play here somewhere to Raycast. That's true. Now, could you integrate Raycast
with Busybar? Probably. Yes you could. Because this thing is like, it's about the size of an alarm clock. Wouldn't you say maybe a bit, a larger alarm clock supposed to sit on your desk or somewhere. I think it can even mount on your monitor and like face the other way for, you know, people. And if you're RTO'd already and you're back in the office, it's got like a big, it looks like it really is satisfying to push like start slash stop button, like one big button on
top, massive, but yeah. And then one button and like triple the size, there's a dial and another
knob. And that's about it. They call it a productivity multi-tool. And the thing is just programmable to the hilt. This is the kind of thing that Nick would super want to buy. So I just thought I'd ask you like, you want one of these? I did see this before you posted it.
Fair. And I kind of shrugged it off, but then I saw that you put it in here and I, then I was like, let me go look at the, look at it. And then I was like, ah, fine, I'll buy it.
Did you actually put a purchase then? Oh no, you can only give them an email and they'll let you
know when it's ready. And I did do that. It's probably vapor hardware at this point. I know.
And I hate that there's so many of these hardware projects that just don't come to fruition,
you know? Okay. But the saving grace of this one is that I think that it's by the people who do this, the flipper. What you got there? This is the flipper zero. Oh yeah. Sorry to see your whole screen. You have this thing. It's like a, tell the world what this is. Nick. It's the coolest little device buys stuff. Okay. He's got all the hardware stuff. Nick is now an official staple. Bring your
hardware wares. All right. So what's the flipper? I don't know. It looked cool. It looked cool. They had us, they had a signup form. So I signed up. It's like a little tool that you can use for
some lightweight hacking of various things. It's got some antennas in it and, and different like sensors to make like physical hacking kind of cool, I think. Although it's not like super, super, uh, I don't know. Everything's encrypted, right? So it can't like, it's not going to break that encryption on this little tiny device, but like things that aren't
encrypted, it can do it can like old wifi networks that aren't, uh, it might be able to hotel keys,
hotel keys. Yeah. I can do that. I've heard, uh, I've never tested this. I've heard that it can open the gas tank of a Tesla. Yeah. Wait a second. Tesla's don't have gas. I mean the, the charging
port. Oh, you trying to pull a quick one on me? I'm done with that though. He did get me for a
second. I didn't even catch that part. Maybe I've been duped on that. Yeah. The charger,
you're talking about a charger container button thing. Yeah. Now why would you want to hack the, the charger can like to, to charge it up for somebody before they know,
listen, I don't condone terrorism, I guess. Do you vandalize one of these Tesla vandals? Are you?
Oh no, not yet. Not yet. No, no. He's got a hacker tool and he's saying he's not a vandal yet.
I have done nothing with this thing. I got it. And then I got too busy to, to play with it. And I, just for you, I plugged it in so that it's, it now has a battery charge charged up. It's no, the, the red light is on it saying that it's cause I just did it like a minute ago. So at, uh, at best case you bringing out this flipper zero solidifies the fact that the busy bar may actually ship because they're the same people. Good point. They shipped a flipper. Yeah. They did. And this is world renowned too. This flipper zero is, is really sought after, does well. It's I've seen some demonstrations of it. It's pretty cool. Yeah. There's some really cool things. If you're a switch player, like a Nintendo switch, you can set up your flipper to be all of the amiibos things that like get you extra, like the, oh, that's cool. So you don't have to go
grab them. Yeah. I might actually think that's cool. You sell me on it. Did you ever get it
when you were a kid? There was this, this like toy, it was, it was called a Casio secret sender 6,000. No. Oh, it was like a little, it was like a little like PDA before PDAs were really a thing, but it was totally a toy public displays of affection, like a personal data personal. I don't know. Personal digital assistant. There you go. Yeah. Well, it was like one for kids and it had like, you could have a little journal in it and it had some games. And if somebody else within 20 feet of you had one, you could send messages back and forth over its IR port, but it also had an IR port. So it could be a remote control for any television. That's a, you know, me being the hacker in second grade when they'd wheel in that giant TV. Oh yeah. Oh, it turned off randomly once every time and nobody knew.
They never knew it was too hard until this podcast right here. When I tell the world about my AI infestuation, this is like taxi cab confessions with Nick. Gosh, Nick. Oh, that's cool. I didn't have one of those. I did have a game genie though. Did
you guys have game genie? No, I wish I did. Game genie was so cool. What, what was the fundamentals
of the game genie? What did they do? Well, it was basically like mods for your NES games, you know, like modding is cool. And so with game genie, it would somehow you plug your NES game into the game genie and then the game genie into the NES, and it would be a middleman. And you could basically turn on different superpowers and cheats and all kinds of things to make games easier. Cause games were really hard back then, especially some of them. And so it was just a way to make the game kind of more fun. Any serious gamer wouldn't use it. Of course. And I was only a serious gamer on a couple of games like Zelda and mega man, but everybody, everything else, it's like, I don't care. I'm going to be awesome and excite bike, you know? So game genie was cool. I don't know how it worked or why it was a thing or if the game companies were happy about it. I'm sure there's probably a YouTube history of game genie out there. I should go watch, but it was a cool device. Well friends,
I'm here with a brand new friend of mine, Kyle Galbraith co-founder and CEO of depo.dev. Your bills don't have to be slow. You know that right? Build faster, waste less time, accelerate Docker image builds, get up action builds, and so much more. So Kyle, we're in the hallway at our favorite tech conference and we're talking,
how do you describe depo to me? And depo is a build acceleration platform. The reason we went and built it is because we got so fed up and annoyed with slow builds for Docker image builds,
get up action runners. And so we're relentlessly focused on accelerating builds today. We can make a container image build up to 40 times faster. We can make a GitHub action runner up to 10 times faster. We just rolled out depo cache. We essentially bring all of the cache architecture that backs both GitHub actions and our container image build product. And we open it up to other build tools like basil and turbo repo, SC cache, riddle, things like that. So now we're starting to accelerate more generic types of builds and make those three to five times faster as well. And so in simple terms, the way you can think about depo is it's a build acceleration platform to save you hundreds of hours of build time per week, no matter whether that's built time that happens locally, that's built time that happens in a CI environment. We fundamentally believe that the future we want to build is a future where builds are effectively near instant,
no matter what the build is. We want to get there by effectively rethinking what a build is and turn this paradigm on its head and say, Hey, a built can actually be fast and consistently fast all the time. If we build out the compute and the services around that build to actually make it fast and prioritize performance as a top-level entity rather than an afterthought. Yes. Okay,
friends save your time. Get faster builds with depo, Docker builds, faster GitHub action runners and distributed remote caching for basil go great old turbo repo and more depo is on a mission to give you back your dev time and help you get faster build times with a one line code change. Learn more at depo.dev. Get started with a seven day free trial. No credit card required. Again,
depo.dev. But this busy bar does some cool stuff. So for instance, you can, it's smart home integrated. So anything that works with Apple home kid or Google, whatever the competitor's called, you can connect everything up. And so this thing, this one button could like, you're busy, you're recording, bam, your whole house could respond, right? Like pause the music that's playing out of your home device. What are they called? Your Alexa home pod. Yeah. Home pod. Thank you. Turn off all the lights. In case you're, it's one of those kinds of shows, uh, lock the door, perhaps close the garage doors, start your laundry. I don't know what else you want to do when the show goes on, but connect it all, connect it all. That's cool.
I would really like that if I had that button and I push it and then like in this like ominous voice throughout my house, it just goes, dad is busy. And it just plays up and repeat over like an
announcement and just plays it nonstop until you touch it again. Yeah. But my room is insulated
somehow in this magical world. Right. Yeah. That would get me to buy one and it's developer friendly.
So we're out of the box. Busy bar comes with an open API ready for integration into your project. So, you know, you could probably get your CI CD involved. You can probably get your raspberry pies involved. Uh, it looks like it's taken Golang, JavaScript, Python, et cetera. None of your languages except for you said you're writing some go now, right? Is it because the TypeScript team likes it? I'm not that basic. Am I? I was just wondering people were up in arms cause they picked go, you know, like this was a big controversy. It makes sense. Did you read any of the, uh, back and forth?
Oh no, I watched some interviews with like Andrew Salzberg. Why does it make sense? You think, uh, from my understanding and I could be totally getting it wrong, but my understanding was that they want to do like a one to one port to the point where they like wrote, they basically wrote like code bonds that would take a line of JavaScript and spit out a line of go and like went that far and switching over to another language like rust that is not a garbage collected language like go is and JavaScript is right. I mean that memory management would be handled differently, which means it wouldn't be a true one to one port, which would let bugs sneak in potentially. Yeah. It'd be more of a rewrite, a ground up
rewrite in a new language versus an actual port. Yeah. And apparently go and TypeScript have a lot of the same idioms, I guess. I mean, garbage collection being a huge one in that sense, of course, JavaScript, you know, itself is kind of a C, uh, C style language, which go is a also influenced. So that makes sense. Of course, C sharp was the one that people were like, come on, it's Microsoft. Isn't C sharp supposed to be Microsoft's, you know, powerhouse it's workhorse language. Didn't Anders create C sharp? He did, but he also didn't write it in Delphi and he recreated that too. Didn't he? So I thought it was a cool pragmatic choice by them, you know, versus being like, well, we are Microsoft therefore C sharp. It's like, or rust, which is also burgeoning inside of Microsoft. It's like, let's actually be pragmatic about what we're trying to achieve and just go that direction. And it sounds like that might've been, that might've won out, which pragmatic choices, I think in large engineering teams don't always win, but a lot of people were confused about that announcement. Apparently they thought it was the TypeScript runtime that was 10 times faster, not the compiler, which would be like a huge win. Wouldn't it like, Hey, all your TypeScript code runs 10 times faster than it did. It's like, Oh, you don't know how bad my code could be. You're going to make my code faster, please. Yeah. Well, and edge, you know, that's the other thing with the C sharp is like, well, couldn't you just more easily work it into no, that wasn't the C sharp. It was actually the rust of people saying if it was written in rust instead, you could more easily get it into chromium and Firefox then in go. And then you could start to do what your ultimate goal. Isn't it Nick is just to have TypeScript to become the runtime of browsers. Yeah. I think we're getting
there potentially. Like I see signs of that with, uh, there's obviously the types is comments thing and that's what I'm talking about. Yeah. Type annotations. Yeah. But then like in the latest, I think 5.8 version of TypeScript, they, uh, also added that erasable syntax only flag, which is like setting you up for success with the, the types of proposals that prevents you from using things that would require runtime code. So like enums, for example, those get converted into like these weird object things. Um, and so it just prevents you from using them. Another place is like in there's a shortcut when you're using classes in TypeScript, where you can just say like in the constructor, you can list out all your private methods. And then that way, like they're defined as private or private properties. I mean, they're defined as privates, uh, but you don't have to like define them above, then define your arguments and then have like in your constructor, a setter where you're actually setting them, you can like condense it all into one. Well, there's a lot of runtime code that has to happen for that to, to be, to take place. So they prohibit that as well with this. And basically it's just like everything has to be erasable, which is perfect because like also, uh, in the next version of node, I think you're gonna be able to run TypeScript unflagged, which will be great. Run it by just stripping the
types. Run it by stripping the types. Right. Well, these are baby steps in that direction, aren't they? Do you think it's ever going to be actually built in? Uh, no, I think that'll be where it stops, but maybe I'm not thinking. It stops with the type annotations feature, which probably will make it into browsers. I think so. Yeah. Do you think that's good enough
or do you wish it was actually, what is it going to get me like faster speeds? Is that hypothetically? Yes. Yeah. I mean, I don't know. Maybe, I don't know. I'll say something that I'll regret if I continue. Why would we need that? We'll never say anything that you regret on these shows. Right. I don't think the TSC is very slow. Like when I run it in my editor, but
apparently I think that this was a scratching their own itch kind of thing. Meaning like if you have massive code bases, right. Well of which Microsoft probably does, that's when TSC slows down. I can't remember what file it is, but they're
one of the files in TypeScript in TypeScript code base is like 53,000 lines long. And it's just because like it would have performance costs to split it up. Is that one that Anders coded up
on a bender one time or something? You think he vibe codes? Oh no, no. He's significantly gray haired. The gray beards don't like the vibe codes. Well, what else is excited in the world of
TypeScript so we can poopoo it and move on? I don't know. I'm just enjoying writing it again.
Yeah. It's fun. Don't miss flow. Yeah. What is it? I mean, is flow only inside of Facebook? Is there other people that use flow Facebook? I mean, meta now. Yeah. There used to be,
I think years ago before like 2018, 2017, some of them around there, I interviewed someone from, I think, get crack in. I think they were using flow, but they eventually switched to TypeScript too. But that was the only other company that I ever knew of that actually used flow.
It's weird how somebody with the clout of Facebook engineering, which is what it used to be called back when these things came out was so influential that they were able to get react highly adopted and graph QL highly adopted, not quite as successfully, but still, but flow just didn't quite catch on. You ever wonder why certain things do and other things don't?
I do wonder. I don't know why, but I wonder if that was just like a fluke that react did catch on in the way that it did. Well, I mean, React 19, is that catching on as much as it should be? Is it adding too much complexity? Is it too much like two in the bag with Vercel?
That's my read on it. Those two things. Yeah. Took too long, too hard to explain. People are starting to get the ick because of the tightness of that relationship. And even when we talked with Dan Ebermov a couple of years ago now, you and I talked to him and somebody else, I can't recall who, on JS party.
Joe Savona.
That's right. Even then, I was like, isn't it weird that you all's official stances, you should use this in Next.js, but that's a project that you don't have any control over? That's a weird thing. The React team's official stance was, don't use this directly, use it via frameworks of which Next.js is the only one that does it back then. And I'm like, that just seems like not a good situation to be in.
Why is that? Why was that the recommendation?
Because there was no framework. I mean, because Meta doesn't have its own framework, React is just a piece of the puzzle. And Next.js was a widely adopted framework that was, that stayed pretty much in lockstep with React's previous releases and using the new technology that, and there's, I mean, there's, there's Simpawtico or they were Simpawtico, I'm assuming they still are. They collaborated tightly. You know, there's a lot of friends between the two teams. That's my take, Nick. Why do you think, why do you think? Anything else on why that might be the case?
Yeah, I think the, like when, when Facebook introduced like Flux, like the Flux pattern, remember, they didn't introduce a Flux library. That came later. I think it was Dan Abramoff actually who came out with Redux. There was an implementation of that. And I think in the same way, like Next was the one to adopt server components as an implementation of this theory of how this could be done from the React team or in cooperation with the React team. But for the longest time, and honestly, I don't know anyone else who's doing server components in that way. I've been playing a lot with remix slash React router and Tanstack start, and they all have their own ways of doing server things. None of which are really like server components in the way that they're described or used within Next. Yet at least.
Mm-hmm. Yeah. That whole messaging is just kind of a ball of wax that was very unattractive to me as a guy who's, you know, in the industry, but not in the daily mucky muck of the React ecosystem. I'm like, this just doesn't seem like attractive, whatever's going on here, you know? And I think a lot of people feel that way. It doesn't mean they're not using React and React was a game changer. And so I'm not here to poo-poo on it like I am TypeScript by any means. And it's still a great choice, I think, as a standalone library. And I think that you can get React features in smaller ways or different ways. But I think the RSC stuff has made it just too complicated and the Next.js relationships made the whole thing muddy. Mm-hmm. Yeah. Because now you're getting in bed, not just with Meta, which already doesn't feel amazing, but now you're also in bed with Vercel. And I don't have anything personally against Vercel or anything like that, but some people do. Some people are like, eh, I don't know about this.
Yeah. My recommendation, if anybody asks, which nobody ever does, but my recommendation is to go with Astro until you're absolutely positive that Astro can't solve your problems. Okay. Why do you recommend that? It's just such a delight to work with. I originally switched to Astro because I was like, ah, I really like React. And I was using Eleventy before. And this is for my personal blog, right? And so it's a nice playground for stuff like this. And I thought, oh, I'll switch to Astro because I like their component model and I can just use React and it'll be great. And then I set it up and I never used React. I think I use React now for one or two things, but their Astro components are amazing. They do so much. And then built-in support for, with the Server Island stuff now, you effectively have that way to dynamically reload pieces of the page from the server, from a running worker or whatever. And it's super nice and so easy to set up. And then when you need React, like you can literally just inject React and build a spa on
that page. So it's great. Do you think it falls into that category of slightly too obscure? Maybe. Cause a lot of people like for a lot of people that decision, like that is a major aspect of their decision-making. We were just speaking with Anthony Eden of DN simple and he talked about how he likes Erlang and stuff, and he's built some of their core infrastructure in Erlang and eventually it's like a lot of it's go now. And it's just the reason it was like, well, cause like nobody really knows Erlang, but he, I mean, not, but him, but you know, like just the numbers aren't there for Erlang people. And it's like, what about Astro? Like, is there Astro jobs out there to be had or, you know, like that whole thing, is it slightly too obscure? I mean, Elixir is kind of in that middle ground as well, where it's like, yeah, the people who know Elixir are few and far between. They're generally good developers, but they're also makes them expensive to hire because they are rare and usually good engineers. Whereas Ruby devs are a type of dozen, you know, and so to speak and same thing with TypeScript folk and, and react people. Right. And next JS, like everybody knows next JS. Yeah. And so does that make Astro slightly too obscure to be worth like investing in. To that point,
I've never seen an Astro job listing, but I also haven't looked. Yeah. I think at that point too, it seems like from my perspective that Astro is focused on like these content driven sites versus I'm not sure what is not content driven, but marketing is content driven. So if you're building a marketing site, it's going to be content driven, not just, you know, you think about who is, you know, what are those kinds of sites being used for? So it's probably a front end to a new tech company. Probably great for that. Right. And then you get into this, just careful now is the world where you might want to say, what about Framer instead? You know, so you've got Astro, which is like non vibe coding and you got Framer, which is kind of like vibe coding in a way for, you know, taking this design tool and turning it into a developer tool. Now, John Long here on this show a couple weeks back talked about Framer and he's a front ender. He's a developer and he was reaching for Framer in the case of his works scenario. I think, you know, if it was a personal project, maybe he would choose probably a Ruby based project, but probably something more like Astro, more like an actual developer tool versus Framer, which is design turned website. And I don't even know how it works, but he's singing the praises of Framer. So I haven't used it personally.
I've never used Framer. I've just gone to the website for the first time
and that looks pretty sweet. So there are Framer jobs out to the, you can, you could be in marketing or be in, let's say like product marketing, product management, and there will be listings that say has experience with building out front end websites with Framer. So I'm not sure if that matches to Astro or not, but they're, they're like in similar camps,
you know, a Framer site is usually a content driven site or a marketing site, probably similar for Astro or to either a personal blog, a personal portfolio or somehow content driven.
Yeah. And I think to that, like their first class support for like Markdown and MDX and all of those content pieces like does work to their detriment to being considered like alongside a next or a react router or a framework like that.
Well, you know, a lot of, a lot of options out there. How do you choose is really,
I think the thing that has driven me crazy my entire career, like here I am as a personal person, just using Eleventy for its principles of like, Hey, it's basically just HTML and CSS with a little JavaScript, if you need it. And in that case, I think, what am I, what was I using that for? My personal site is in Jekyll. I think it was the CPU website, Jared, actually the very first one was like Eleventy keeping it simple, simple page, but keeping the code more simple than literally an HTML page with CSS sprinkled into the style bracket or something like that. That's where I used it. You know, it's cool though, you know, keeping it simple.
I've been using Eleventy a little bit myself lately just for a, I've been doing this thing called the developer dictionary and news where I'm just like defiant and just like jokey definitions of developer terms. And I thought, well, I want these to all kind of look similar, but be kind of content oriented. And I might eventually actually, as I accumulate these definitions, I might eventually want to put them on a webpage or something. And I'm not a designer, but I know what a dictionary looks like. So I was like, I can put together enough CSS, you know, combined with my coding assistant in order to have a nice little design and I can write, I want to write the definitions in Markdown. And so I'm writing them in Obsidian and want to then pull those into a uniform looking website that I can eventually publish. And I was like, well, Eleventy can do that. And so I dove into the world of Eleventy. I like how simple everything is that over there, Zach's done a great, Zach, not just Zach, but not just Zach, but him and a bunch of people now have done a great job with their docs and with making it very approachable. And so as a old school, you know, static site guy, it just all makes sense to me. Like I was like very easy to just do stuff and I haven't shipped anything yet, but I just use it to write in Obsidian these definitions. And then each one is like a well-formed Markdown file was like the same. I'm using all the YAML front matter as basically data. And eventually I can pull that into a database and write it, you know, in an actual CMS somewhere. So it's kind of like progressive enhancement for a web app where it's like, it starts off as Markdown files and static stuff, but there's a very easy path of like turning that into a database in the future.
I like that. It's cool. And Eleventy is really great. I think I switched before WebC came out publicly. But that, that I was thinking in components and I wanted to
write in components, which Astro has that stuff. Right. Yeah. And that's exactly what didn't back then. So WebC is Eleventy's take on web components, right? Yeah. Yeah. Which I'm not touching none of I'm literally HTML, CSS, zero JavaScript, because I'm just putting some HTML on page and
prettying it up, you know? Yeah. I was doing all of these like short code things in my Eleventy config, which also couldn't be, last I checked, couldn't be in TypeScript. So I was like, just madness because I didn't know what anything was. That reminds me, here's a pro tip that's old,
but maybe people haven't heard it, which is whenever you're writing a bash script or you're, if you're not vibe coding it, if you're actually writing to yourself, use the long form of the arguments in all of your commands. You know, there's always a short form and a long form. And so like the long form will be like dash dash file equals, and the short form is like dash F, you know? And we get, we get so used to the short forms because it's faster. It's easy for one-liners, but if you're actually writing a script that you're going to come back to later, it's self-documenting to use a long form every time. And so use the long form in scripts. I'm fine with short form for your one-liners and your command history, but force yourself to use that long form. Cause it's so much easier to understand, especially if it's like FFmpeg stuff. I mean, so many different flags that means so many different things and you can come back and be like, Oh, I know what dash dash file means. Whereas dash F it's like, does it mean format? Does it mean file? Who knows? And now you're in the man page. So rando, but you just inspired me to say that I think there was an old change log post about that. Wasn't there Adam way back
in the day. I was going to, I was going to interrupt you cause I wanted to mention this exact thing. This is, I believe Adam Yonks only contribution. He contributed one post, I believe to change to the blog was the blog, I guess the newsfeed at some point, like it was just like, it could have been like tips. It could have been pros. It could have been a project. Like the criteria back then was a little different, but yeah, his was advice. And essentially this, like if you're going to write a script, do the long form version of it. Because when you come back to it later itself, basically, I remember him writing that, I remember him
writing that and me being like, that's so true. It was kind of like something that just is like, so obviously true when someone says it, but then somebody had to say it once and then he might've been the first one. Probably not. What year was that? It's probably like the eighties when someone first said this, but it's just a good idea.
This would have been 1979. Oh, wow. So he is, he is the first though. No, it was, it was probably mid 2000, early days, 2010. Yeah. 2010. I mean, that that's crazy to say that's early days. That's early days though. 2010. It's my guess. If I find it sometime in 2010, J A H N K E YONK. Use long flags when scripting 2013. Now that we've shaved that entire year, that was, I mean, that's a good deep dive though. Cause I mean, it's, it's phenomenal advice. I think that was the first simple little tip,
but it's like, so obvious you're like, yeah, there's no reason not to like going far enough to write a script. You might as well make it more inscrutable when you come back versus inscrutable, which is how they usually are. Now, if you have vibe coded it, who knows what's in there? Who
cares? That's why when I R sync, I'm always long flagging it, man. Oh yeah. Oh yeah. Long flag for life. I'm just remembering, not that I've run the tar command anytime recently, but I know like tar-xvf or xzf. But like, I don't know what those flags actually do. I just know that one way of doing it will tar something. Yeah. Dash xvf. Yeah. It's like extract.
One of them was recursively or the folder F stands for folder. Oh yeah. Whereas like, if you do without that, it just can do a single file. The V I can't remember. And then it's like, no, that's the, that's the, that's the extract. The create is dash C Z V F. I'm not sure what any of those are except for the C means create, I think. So you'd know that if you get the dash dash in there. This is all from memory, just from typing it out. One-liners all the time. I just asked, wasn't there like extract Z files. Wasn't there like a mnemonic device people said like, Oh yeah. I think, Nick, I think, uh, cable used to say that xvf is extract V no X Z F extract Z files. And then the other ones like create Z freaking, I don't know what it was. Um, but you said this, whatever it was, I think it was cable. Somebody has this like mnemonic device for a member in tar commands. Uh, and those extract Z files and the other
ones like create the, at this point, I'm wondering who's paying attention to this
podcast right now. That's what I'm probably nobody. Well, we're at the end anyways. I'm
wondering who's paying attention to this, this stuff here. Phenomenal advice though. Phenomenal
advice. Yes. Yeah. This is where the good stuff, you know, we dropped the good stuff at the end. So what else is on the list here? Revisiting browsers. I don't know. Still using the safari.
Yeah. You moved on. I was, oh my goodness. I was forced admitted to use Chrome and like it was chromium for awhile. And then they like, like forcibly uninstalled arc for me. And I was very, very saddened by that, but they didn't forcibly uninstall arc for you. They need to forcibly uninstall it. They, uh, like all of the internal tools would like check and they would just not work. And then they would eventually lock you out of all of them. And you'd have to go ask to get unlocked and then never use that browser again. It was terrible, but I'm back on arc and I hate that. I like, I want something like that. Like something that's easy to manage with, with, uh, tabs on the side. And so I'm still in arc. I tried Zen browser for awhile, but honestly, oh yeah. Firefox isn't it like, so you're still using arc. I am. Wow. You got hooked even though it's dead, even though it's dead. I know it's like dead man
walking. Yeah. So how is Zen that much different than arc? You just, isn't it pretty close?
It kind of is, but it's, it's super confusing and it's config and then it doesn't have sinking.
So it's a fork of Firefox or it's just based off Gecko or whatever Gecko's called now. I don't, I don't, what does it not have no sinking? Basically Firefox. I didn't know
Firefox was still a thing. See, here's the good stuff at the end. See, now you're listening. Now you're listening. Perk your ears up. Let's do it. All right. Slay that Firefox dragon. Yeah. I don't know. Like things just break in it all the time. You just want like, I want, I don't know at this point, like which browser is going to give me the best experience for the one password extension safari ain't it for sure. Oh yeah. Really
upset with one password. Let me introduce you to builtinpasswords.app. Life's good over here
in built-in land. You know, they just like pop up their UI and these places and I'm like, God, the way I just want you to be a normal field. Don't clutter up my interface with your suggestions. And yeah, this is not an ad. No, this is, this is actually, well, I don't know. So, you know, this is where I actually would love to talk to somebody behind the scenes of one password on their product implementation, right? Yeah. Big fans, but like they must have it rough because you have to dance around. Different idiosyncrasies depending upon the
browser. So, so far it's gotta be a constant uphill battle for them. It's not native. It's
never going to be this beautiful work of art, although they've done their best. They should
just get acquired. They're probably too big at this point. They are too big. Pixelmator got acquired. By Apple? By Apple. When? What year? Maybe recently, October 25 or late 2024. Yeah.
Really? Finally. I mean, like it took a long enough, didn't it? Yeah. It took a long time. Yeah. They're not as big as one password though. I've been actually in this really weird world where I'm like anti Mac only software. Thankfully one password is not Mac only software. Oh, cause you're a windows guy now. Yeah. I am a, I'm an everything guy. I wasn't aware of this before I decided to come on. Just so you know. What's that? I wasn't aware that you were a windows guy. I wouldn't have agreed to come on. Oh gosh, Nick, you're missing out, bro. Now you're missing out. Windows is where it's at. For what? You think I'm kidding around here? For what? He wants to know what is, where it's at for what? Where it's at for everything. Everything works in windows. Everything's amazing. Microsoft works. Yeah. It all works. Linux even works on windows. I can SSH into my windows box right now and treat it like Linux with all my cores
and all my Ram available. And I can add to it as I want to. I can ZFS. I can do whatever,
all via windows. It's amazing. I'm doing some side work and there's one person who's doing, who's doing it all on windows and we're simplifying with Docker containers for everything, right? The Docker containers just don't work on windows. Don't understand it. Could be that I don't know how to use Docker cause I really don't, but I have Docker containers running no problem. It could be. I would blame the user at that point, Nick. I'm sorry. It could be, but you know, it does work with the other Mac developer that I share it with. So maybe that's more of a commentary on windows people than it is on windows. I will admit that Docker runs via WSL, which basically means it doesn't really run natively on windows. It runs natively on windows via Linux, which is the windows subsystem for Linux. That's what WSL stands for. That might
be more native than on Mac. So yeah, well, it's not native on Mac. That's for sure.
I had an issue with running Plex and passing through a GPU and all that stuff with Docker. So there's definitely some, but that's going to be common, like a PCIE device pass through to a container is always, you know, a crapshoot. It's always a challenge, but I really do like
windows a lot. It's actually everything bare metal, really solid. Just load your operating system, put the stuff on there. It doesn't be fine. Everything's gonna be fine. Write a script,
run the script. Vibe code that script. Long flag it. Yeah. I mean, in all honesty, these bash scripts I wrote for some stuff I do for archiving and stuff like that, they now have been ported to windows, which basically is nothing. I mean, it's just moving the file
there and making it executable. Changing the slashes to backslashes. No, I don't even have to do that. You must not be referencing any windows file paths. It, it reads them both.
What I do is I hop into windows. I up arrow until it says W S L space. You're not talking windows space a boon to this is on windows, dude. Are you kidding me? Last time I checked the host
operating system was windows. WSL is a subsystem for Linux. Yeah. I hop into that next thing and I'm on Linux. I could do whatever I want. You're on Linux. Of course, forward slashes work on Linux.
I can navigate and traverse the entire windows file path and run any Linux command against that windows file path. So you can type C colon forward slash, uh, C colon forward slash. Um, well you'd have to, you'd have to CD. Yeah, of course. Yeah. I mean, it, it does, it can do either, or you can do an LS or a D I R both LS is working, uh, natively out of the box for, you know, subsystem for Linux and windows. I mean, what I think honestly, I mean, it is super cool is that you can have this box with windows and Linux on the same box. And it acts as if they're the same, like there's a marriage. Like there's really no difference between windows and Linux from the command line, because when you run WSL, everything that is Linux can access the windows file path. Like there's no difference. It's all just the file path. It's it's actually really, really cool. I mean, there's probably some challenges with it that I'm not hitting personally, but I mean, I think it's pretty freaking amazing
that you can run dockers and all this windows related stuff and Linux. And it's the same box.
It's crazy. I know people who pay quite the premium to not run windows ever.
Yeah. What a shame though, because I mean, so here's an example is that you can air cool,
obviously your CPU, right? Like you can run a fan or two fans and have a heat sink on it and keep it cool, but you can also run an all in one cooler, like an, uh, a water cooler to keep it really cold and like 60, 70, 80 degrees Fahrenheit kind of thing. Um, maybe that's, maybe that's Celsius. Yeah, probably Celsius. That's my guess for that, but you can do that stuff. Like if you wanted to swap out an air cooler for a water cooler, you could, if I wanted to add a PCI card that adds four NVMe drives and allows me to have a 16 plus or 32 plus terabyte NVMe based ZFS drive on this window box, I could write this instant. My gosh, you could not do that with Mac. I mean, you can, but it's not the same. It's what frustrates me. He likes hardware. I told you my computers barely have fans. Yeah. I'm not a fan. Mine could actually heat a room. It doubles as a heater or it could if I didn't call it right there. That's right.
All right. Well, the nice thing about computers is different strokes for different folks and we can all do what we like and we can all support each other and whatever it is we want to do. What are we excited about? I'm excited about getting outside in the spring and seeing what the world looks like. What about you guys? Oh my gosh. Yeah. We live in the same place and
every year, like around this time, I'm like, I don't think I can last another minute of this
cold weather. It's been rough. It's been windy. Holy cow. I mean, you think you live in Chicago
with how windy our city has gotten. I got up on my roof yesterday because the, some cap over like the furnace exhaust thing blew off and I had to get up there to measure to buy a new cap to go to then go back up there and put it on. And it was like 50 mile an hour winds yesterday or something. That's what it felt like up there. My dad was holding the ladder and I was, it was trembling. I was so terrified. I'm not afraid of heights. You picked a really bad day to do it.
I did. You're getting done today. It's like really nice out right now. But yeah, it was miserable. I got up there. I measured it. I was very close.
I got up there. I measured it and a roofer came today and put it on because I wasn't going back
up there. We're going back up there. He picked a much better day. What about you, Adam? What
are you excited about? Honestly, golf, man. Golf. Okay. Really getting into the game of golf. It's a great time for it. Great weather for it. It is a great game. It's a great thinking game. My brother visited recently and I'd forgotten how much I love golf and he loves golf as well. And so we just spent time on the courses talking and gabbing and riding the carts and playing our shots and what you're going to hit with and this and that. And so it's just been fun getting back into golf, man. It really is a fun game to think through. It's such a mental game more than it is physical. It's both. It's both. Yeah. Very much both. If you had a disability where you couldn't do golf like I guess with legs and arms, I mean, it's challenging. So I mean, yeah, it's definitely both physical and mental. You know, you have to be able. So I mean, I got two arms. I can bury some of that club. You know what I'm saying? Like, it'd be lucky if I hit it on the iron properly and whatnot. But you know, I love golf. I love the mechanics of, I think like a lot of things you can find the unique details between certain things and say, well, if you're hitting with like a wood versus an iron, there's a whole different way you stand. There's a different place the ball might lie. There's a different approach to it. There's different, you know, all sorts of different mechanics that go into it. And so golf is such a, such a game to play with friends and such a game to just tour the world with too. So you can, you can do a lot, man. So like the next time we traveled, I'm thinking like, man, we should hit, hit some golf courses up when we travel instead of next time.
And yeah, I always struggle because I'm a lefty. So it's harder to find clubs,
but Nick, what were you gonna say? I was going to give you a pro tip that I saw. Next time you go and you really want to just like show up all the other golf people, you know, those like cap guns, like caps in there, put one on the golf ball and it'll just
amazing. Yeah. I mean, what smoke comes out. That'd be cool. Yeah. I hit that ball really hard off the, off the tee. I should do that with my kids. Like not tell them about it, just cause you know, sometimes they'll hit balls in our, on our backyard and just out into the corn tree corn trees. That's not a thing. Corn stalks corn fields. There you go. And uh, I don't play very often cause I don't like to be bad at things and not very good at golf, but I can go out there and put a cap on it and just explode one and then just retire, you know, and there's never hit again. They'll be like, do you see how hard, how hard dad hit it thing was smoking. That's a good idea. I should get that working. Well, if you like golf Adam, let me suggest a close alternative. It's called disc golf. Okay. Now here's the pitch for disc golf. All of the upsides of golf, none of the downsides. All right. Here are the upsides of golf. You're outdoors on a nice day. Check. You're with friends. You get the conversations. Check. You get to have some sort of challenge mentally, physically, and you're throwing a Frisbee instead of hitting a golf ball. Check. All right. Here are the downsides that you avoid. It's not that hard. Golf is very hard. You get frustrated. The ball goes sideways, et cetera. It's cheap, cheap as in free. There's no tee times. There's no signing up. You don't have to dress real nice. You can go shirtless. You can go shoeless if you want to. Nobody cares. It's disc golf.
You have to buy discs.
You have to buy discs, but compared to golf clubs, it's cheap. And you know, a round of 18 on a nice golf course, we're talking what? 60, 70, a hundred bucks per round. Um, what are the other downsides? The etiquette's pretty much gone. You know, golf has all the rules, all the etiquette. You gotta do things right. Don't do them wrong. Really? Fix your divots. Oh yeah. Do you know all the etiquette?
It's called common courtesy.
There's specific etiquette in golf. It's not just common courtesy. It's like, you wouldn't know that if you weren't a golfer. Uh, here's the only downside of disc golf is you got to hang out with stoners pretty much because they're the ones out there. They're the ones out there disc golfing. You know, it's like you and a bunch of hippies, but they're good people. They're very chill. You know, they'll let you play through. So disc golf, give that a shot.
It's like Frisbee. It's Frisbees. Yeah. What happens if I'm throwing it here and it goes way over there?
You gotta walk over there and just like golf. You gotta go over there and throw it from there.
See, I'm, I'm pretty decent at golf. I can hit it on the fairway. All right. Well, I'm not that good at Frisbee. That's for sure. Now, however, though, when I was young, I wanted to be a pro-fessional and you can't say it professional. You gotta say pro-fessional. Okay. I thought you said pro-fessional.
I thought you did too. Like he's gonna be a fisherman. Pro-fessional.
Pro-fessional. Professional. Lawyer. No, man. Uh, Frisbee player, you know? Really? Yeah. Like ultimate Frisbee. Skipping it off the ground twice into your hands, you know, skipping up the ground twice through the hoop. Now there is a pro-tourer. Catching it under the leg, you know?
There's a disc golf pro-tourer. This dream could be alive.
No, listen, the dream is dead. The dream is dead. Isn't he on like a pro- MKBHD is a professional Frisbee. Ultimate Frisbee, right? Ultimate Frisbee right here. Yeah.
Yeah. Good game.
Which basically means there's no rules. There's no rules and they put gorillas in the inside.
He's also hanging out with stoners because ultimate Frisbee is one of those games.
Yeah. Yeah. You know, they're, yeah.
Yeah. They're hanging out in the common area at the university, you know?
What is this podcast called?
All right. Let's call it a show. Let us know in the comments, which is better golf or disc golf or what Nick does, which he just wakes up at 5 AM and rides a bike for two hours. Isn't that what's your thing?
Yeah. I want to, but I'm becoming such a baby with the cold weather.
Oh yeah. Well, it's your time, man. It's your time.
You go out there and bike in the cold for two hours or what's your bicycle guy? I try and get like, when, when I'm not being a baby about the weather, I try and get 20 miles in before my kids wake up.
Damn.
20 miles.
That's about two hours, right? Or a little less.
80 minutes or so is what it takes me. I live right next to trails, so it's very easy. And there's like no wind in the mornings I've found. So it's really good.
Nice.
Interesting. Why don't you just get yourself a Peloton or something like that? Oh, that's so boring.
Nature.
Really? Yeah. I actually traded my stationary bike for a rowing machine. Much happier. Oof. Yeah. I'm long Peloton. He ain't lying. Is that a funny joke, Jared?
It is funny.
How long have I been long? I've been long Peloton for a very long time.
Yeah, you have.
I've been so long that they have like, they're like, nah, we're just done. So long to you. We're done. We're done with this. You know, we got to quit because this guy's just not stopping.
All right. Well, this show's getting long too. Let's, let's say goodbye. Nick, thanks for hanging out, man. It's always fun.
It was a blast. Thank you. So good, Nick. Bye friends.
Bye friends. If you've been wondering about Nick and the JS party gangs promised, but not yet delivered new podcast, the dysfunctional developer. Well, they've just started shipping episodes. You'll find two in the feed at dysfunctional.fm or wherever you get your podcasts. We love to hear your thoughts on anything and everything we discussed on today's show in our totally free, totally rad Zulip community. Sign up today at changelog.com slash community, then hop in Zulip and let your voice be heard. Thanks once again to our partners at Flyknot.io, to our sponsors of this episode, Retool, Heroku, and Depot, and of course, to the best beat freak in the entire biz, Breakmaster Cylinder. You heard it here first, our next full-length album with BMC drops on Monday. It's called After Party and it features beloved tracks from our outros, our ad rolls, and transitions. It's essentially an entire album of chill beats for you to flow to. Next week on The Change Log, news on Monday, Kendall Miller, founder of CTO Lunches, on Wednesday, and our old friend Matt Raya returns on Friday. Have a great weekend, like, subscribe, and review us if you dig it. And let's talk again real soon.