Changelog & Friends – Episode #81

Change my mind

with Adam & Jerod

Featuring

All Episodes

Jerod and Adam use Chris Kiehl’s post on development topics he’s changed his mind on (over the last 10 years) as a proxy for discussion on dev things they HAVE and HAVE NOT changed their minds on.

Featuring

Sponsors

RetoolThe low-code platform for developers to build internal tools — Some of the best teams out there trust Retool…Brex, Coinbase, Plaid, Doordash, LegalGenius, Amazon, Allbirds, Peloton, and so many more – the developers at these teams trust Retool as the platform to build their internal tools. Try it free at retool.com/changelog

Augment Code – Developer AI that uses deep understanding of your large codebase and how you build software to deliver personalized code suggestions and insights. Augment provides relevant, contextualized code right in your IDE or Slack. It transforms scattered knowledge into code or answers, eliminating time spent searching docs or interrupting teammates.

Temporal – Build invincible applications. Manage failures, network outages, flaky endpoints, long-running processes and more, ensuring your workflows never fail. Register for Replay in London, March 3-5 to break free from the status quo.

Fly.ioThe home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun to get started in minutes.

Notes & Links

📝 Edit Notes

Chapters

1 00:00 Let's talk! 00:38
2 00:38 Sponsor: Retool 02:45
3 03:23 Start the show! 00:30
4 03:53 Wordsmithing blog titles 04:49
5 08:43 REPLs are not useful design tools 04:19
6 13:02 Most programing should be done long before code is written 08:23
7 21:25 Take no pride in understanding complexity 00:45
8 22:11 Adam hasn't changed his mind on...? 07:43
9 29:53 Jerod hasn't changed his mind on...? 09:14
10 39:07 Sponsor: Augment Code 03:30
11 42:37 Colaboration is still hard (if not harder) 03:21
12 45:58 Software can't solve people problems 07:42
13 53:40 Let's talk to Steph Ango (Obsidian) 02:08
14 55:48 Don't obsessively tweak your environment 02:22
15 58:10 Tweaking htop 14:09
16 1:12:19 My tools can't help you do what I do (at the level I do it) 06:36
17 1:18:55 Sponsor: Temporal 02:04
18 1:20:59 Every dev should learn SQL 10:34
19 1:31:33 Just in time learning 13:30
20 1:45:03 Adam's AI Homelab is runnning on Windows 11 Pro 03:04
21 1:48:07 Should we be running AI services locally? 04:46
22 1:52:53 Bye friends 00:04
23 1:52:59 Closing thoughts and stuff 03:32

Transcript

📝 Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. 🎧

Alright, should we talk about change of mind, changing our minds? Should we talk about Chris Kiehl?

I think that’s how you say his name. Shout-out to Chris, a software developer and overall pretty cool guy. His words, not mine. I can’t vouch for whether or not any of that’s true; I just read it on a webpage on the internet. But Chris writes that, and he also writes “Software development topics I’ve changed my mind on after 10 years in the industry.” Now, this did not make Changelog News, for a funny reason… Maybe not funny; maybe an unfortunate reason. Title’s too long, dude. I just couldn’t figure out a way of getting that title down to where it made any sense. And so I was like… “Tough nuts, I guess. You’re not going to be on Changelog News.” But I thought it was a great post.

Yeah, that is tough. You have to paraphrase the title to get it in there.

Yeah, I couldn’t even think – how would you shorten that, Adam?

Let me try. Let me test my wits here.

Yeah, show us your compression algorithm. “Software development topics I’ve changed my mind on after 10 years in the industry.” That’s his post title.

“Dev topics I’ve changed my mind on after 10 years.”

That’s pretty long still.

I mean, that’s about as much as you can get – you can short development to dev. Topics has got to be topics. “I’ve changed my mind on…” You can’t lose that phrase. And then “after 10”, which is the key numeral there of how many years…

Right. This has become a pattern, hasn’t it? Like, “Something I’ve learned after”, and then it’s like whatever many years it is. I feel like we’ve had a couple of people who’ve written successful posts like that, and then other people are like “Oh, I’ve also spent n years doing a thing”, and…

It’s a good limiter. Yeah, you can sort and limit pretty easily, you know… Because if I’ve spent 10 years in the industry, I might be like “Okay, I’m inclined to read this, because I may have similar or the same takes.” But if I’ve been in the industry two years, I’m like “Well, I don’t have the depth, so that one’s not for me. But maybe I’ll watch it anyways. Maybe I’ll check it out anyways”, you know?

What’s the lower limit you can put on a post like this and still get some traction? You know, like, “Software development topics I’ve changed my mind on after… Six weeks in the industry.” How low can you go and still get people’s attention? That’s a good question.

I think a year for most topics. I think AI may be like weeks… Because really, I think I had some different ideas three months ago, and some of those ideas are still the same, but they’ve matured or they’ve morphed a little bit, you know…

Right. Well, a change of mind does require some prerequisites, right? You have to have formed an opinion previously.

And then you must have been holding that opinion for some amount of time, to test it against the real world. And then you must be convinced that that opinion was wrong, and change your mind… Which is easier and harder to do, depending on the person, the experience level…

I think people who are fresh to topics can change their mind a lot, because they haven’t had time to harden their heart for whatever it is that they’re currently thinking of. So you and I have been in the industry for a very long time now. Did you know that?

How long have you been in the industry? He doesn’t really define the industry, but I think we can just say the software world.

I would say – I think I entered officially in 2003. That was more on the services and hardware side of things, data center side of things. And it was more in the development - and when I say development, I mean business development - side of things. But I was learning more about technology, servers, firewalls, virtualization etc. And then I began to build, and stuff like that. And so shortly thereafter, I was actually into the software, not just the hardware and the biz. I’d say since 2003.

So you’re over 20 years.

Yeah, I think so. Officially, as of this year.

Wait… 2023. It’s 2025 now, so officially that’s like two years ago.

What year is this, man?

[laughs] Really.

22 years then, Jerod. Geez, I can do math. Thank you very much.

Well, there was that one time vortex that happened somewhere between 2020 and now… There was like a vortex.

You know, is it really 2025?

Nobody really knows what time it is, as the song goes. So I’m with you, maybe a couple of years behind… I graduated from college I think in ’06… ’05 or ‘06. It’s always very fuzzy. And went straight into industry pretty much from there. But I was already doing stuff on the web in college. Prior to college, my computer use was basically Napster and video games…

And Winamp, and stuff. It wasn’t really productive creating things. I wouldn’t say I was in the industry, but… Yeah, probably 20 years for me, since it is 2025… And have you changed your mind at all?

There’s actually a lot that I don’t think I have changed my mind on… There’s a lot that I have and a lot that I haven’t, I would say.

Okay… So yes and no.

My list is not exhaustive, because I’m thinking like “Gosh, what did I know, or think I knew, that I think now I don’t know or know…?” And maybe it’s changed… It’s a lot of years to go through, to come through, really.

Yeah. Well, we went through a little exercise, the two of us… We thought of a few things we have changed our mind on, things we haven’t changed our mind on, which I think is also powerful… And Chris did the same thing. So he starts off with a list of things he’s changed his mind on. Things he now believes, which in the past he would have squabbled with himself. And then he also has a list of opinions he’s picked up along the way, and then finally, things he has not changed his opinion on. So we’ve done similar, but I thought we’d talk through some of Chris’s, because many of these things are agreeable to me. Other things I would need clarification on what exactly he means. I mean, it’s a bolted list, right? So this is how you go viral on software.

Keep it simple, scannable, digestible, 10 minutes or less… 30 minutes if you want to dig…

“Things I’ve learned after n years”, you know, make the topic too long, and then just list it up, and let the rest of us opine on it. So we’re going to start with a few of those. Where should we go first? Here’s one that I thought was interesting. REPLs - this is tying now back into our discovery coding conversation with Jimmy… Chris thinks REPLs are not useful design tools, though they are useful exploratory tools.

That’s a good one.

To that I would say “Exploration is design, man. Let’s go. Get your discovery coding hat on and explore your way to a design.” I think REPLs are great design tools, because you get to explore the space that you’re trying to design for. It’s kind of like if you’re trying to design the interior of a room, and you’re not allowed to explore that room first; you’re not going to be able to come with a design. But a REPL is a way that you can explore the living system.

Could you imagine that? It’s like, design – get a couch for this room. How big is the room? I can’t tell you. Can I feel the walls? No.

[laughs] So he’s changed his mind to that… And I would beg to differ. I think REPLs are useful design tools, insofar as they are used exploratory. Now, perhaps Chris thinks there’s a different way to use a REPL in order to design things, and I’m not thinking of that. But that’s the disadvantage of not having him here with us, and the advantage of getting to assume what he thinks, because then we can just disagree with a straw man.

What does REPL stand for?

A REPL is a read, evaluate, print, loop. And so it is an interactive environment where you can execute some code, you can read – well, you can read… Are you reading, or is it reading? I never thought of it so definitionally.

Maybe both.

Yeah. So there’s stuff you can read, and it can read, and you can evaluate expressions right there, and print out the results, and then do it again. And so it just – the environment is modified as you run it. So if you declare a variable after the loop, you can then use the variable etc. And so it’s exploratory, it’s interactive… It’s pretty rad. It’s where I do most of my design work when coding.

Oh, gosh…

Oftentimes I will take things right out of the REPL and paste them into somewhere else, into a text file, and…

Call that coding.

Well, that is coding, right?

What is coding after all…?

That’s true… What is coding?

Leslie Lamport thinks coding is typing. He does not like typing. He likes to think outside of the code. I think it’s more than just typing. I’ve picked a nit with him on that before… But he’s way smarter than I am, so I’ll let him have that one. But I think coding is murkier today than it ever has been. Like, what does it mean to actually do a thing? Because everything’s changing underneath us.

[00:12:29.18] Yeah. You really have to enjoy, I guess, typing characters into a machine. Right?

Yeah, totally.

You have to think, obviously, you have to have some domain knowledge, you have to have thought through maybe a problem set, how to handle it, like middle out, something like that…

Which is always the way you should.

That’s right.

[laughs] [unintelligible 00:12:50.01]

And then you’ve got to type it in there.

Or have someone else type it for you, like some sort of robot that you just dictate to.

Yeah, that’d be nice.

So here’s Chris’s other things he’s changed his mind on… And I feel like we should get Chris on, with Jimmy, and have them go at it… Because this one, he says “Most programming should be done long before a single line of code is written.” And here we have an outliner, right? So it takes all kinds… I’m not against outliners. If this works for you, go for it. But there’s also discovery coding… And I would have to understand what he means by “most programming”. Again, what does it mean to program? What does it mean to code? I think Chris means you should think through things before you do things.

I’ve got no problem with thinking before you act… I just think that we think better while we’re acting, and while we’re exploring. And so I tend to get to a line of code faster perhaps than he would… But younger him would be with me.

Yeah, I don’t know… I don’t fully – I don’t so much disagree, but let me… It’s like the spaghetti thing in your brain, right? I don’t want to walk around while I’m doing the dishes, or cooking dinner with this spaghetti stuff in my brain. Albeit, there are times when I have my biggest thoughts or biggest breakthroughs not in the moment of the action, right? I mean, “Oh yeah, I didn’t think about that. Let me do it like this next time.” Or when I get back to my terminal or whatever, let me –

In the shower?

When you’re on a walk?

“Let me try this new thing out.”

Right.

So I guess if he’s calling that programming - yeah, I suppose… You know?

Yeah, are we talking about sitting at the terminal and typing code into a text editor? Are we talking about actively trying to solve a problem of software? And I agree that you can absolutely, and should, and most of my good ideas come away from the keyboard.

But then I’ve got to come back to the keyboard and try stuff…

Gotta do it.

…and find out that idea kind of stinks actually. You know, when I was walking down the road over there, it sounded like a brilliant idea. And then when I tried it, it wasn’t so smart. So I think there’s no –

I would reword this… “Most programmatic thinking or most thinking that you should do should be done away from that keyboard, long before you get to the keyboard to write it.”

I do think that once you’re stuck, you should step away.

And you can step away way faster than I usually do. I probably waste hours by not stepping away quicker. But the thing is, when you get stuck, doesn’t stepping away feel like you’re just giving up? Like, it feels like you’re admitting failure… And I don’t want to be a failure. I want to succeed in life. And so I’m going to sit here and figure this out, dagnabbit. But then I do finally admit that I can’t figure it out right now, and I step away, and I go take a shower, or I go work out, or I go ride a bike, or whatever it is… And then right there, when I wasn’t thinking about it, pops in the actual other way I could do it, which is way similar and solves all my problems. That’s a confounding part of the process.

[00:16:06.13] I would even say an energy renewal too, because there’s times you get fatigued. I wouldn’t say necessarily physically, but maybe mentally. Maybe a little both. But you step away and you get that cold water in your face if you’re gonna wash your face, kind of thing… “Girl, go wash your face”, throwback to that good book title… Rachel Hollis… You know, go wash your face. Get refreshed. Maybe you come back with some new energy.

There’s times I’m trying to do something, and I’ve got the willpower, I think I have the energy, I’m making progress, but it just feels like I’m just – I’m walking through three feet of snow. It’s not even mud. Imagine like having to lift your leg up three feet just to get your foot out of the hole, to go forward, to put it into a brand new hole.

Oh, yeah. The worst. It’s going to just sink right back down again.

Yeah. I’m making progress… I can see the finish line… But I go away, wash my face, snow melts… Better world, you know?

Well, some procrastination is really actually smart. The hard part is discovering what procrastination is smart, and what is just lazy.

You know, I’ve been trying to find that out for a very long time… Because there’s times I’m like “I don’t want to do this thing until I absolutely have to do it, because that’s when I’ll spend the least amount of time on it.”

Right. Under pressure.

And I get it done in the moment, it’s over 10 minutes versus an hour kind of thing…

And some problems go away while you’re not doing them, and you realize “I never had to solve that problem. It disappeared while I was procrastinating.” But other problems get bigger, and hairier, and worse while you don’t do them. And knowing the difference is wisdom, right? That’s everything.

Oh, man… What is this Jerod? What is this you’re throwing out here? All this wisdom… Just slapping us with the wisdom stick.

[laughs] Well, I’ve been in the industry a long time. I have a lot of failures under my belt, which you can learn from…

Ah, yes…

I learned something from Gerhard years ago, which wasn’t really him teaching me something. It’s almost like he put words to something that I already knew, but then I – it reified, to use a term. And that was when I was visiting London for OSCON Europe, or something like this… And I visited Gerhard for the first time. We saw each other IRL for the first time, it was cool, went out to lunch… We hung out at the Pivotal office there, and played some ping pong. And we were playing ping pong, and - I don’t know if they call it ping pong or table tennis over there. I can’t recall. Gerhard could straighten us out on that… But he’s very into it, and I like a good game of ping pong, just like anybody else…

For sure.

And we’re playing with some of his colleagues, who were on their break, or whatever… And he said “Do you know why we play ping pong while we’re at work?” And I was like “It’s fun, I don’t know…”

It’s fun.

He was like “No. Because we refresh our brains. Because when we’re playing ping pong, everything else in the world disappears for a few minutes, and all we’re doing is just playing ping pong. And we can just put everything away, just for a few minutes, and then come back to it. And your brain is refreshed.” And I was like “That’s right. That’s true.” I’ve known that, but he said it to me and I was like “Hm! That’s a great way of looking at it, because that’s really what is happening.” And so useful distractions, usually physical, sometimes mental, but just in a different area… Competition, wash your face, as you said… I have a dartboard over there, and don’t really use it anymore, but when I used to get stuck, I’d just throw darts. That helps. Take a walk, take a shower…

[00:19:49.00] That’s so smart. I agree with that sentiment. It is like a different take on “Step away to get unstuck.” But what you’re focusing on is what the activity is when you’re stepped away, you know? Because if you have to put blinders to everything else, you obviously have to focus - some would say laser-focus - and you can’t think about that problem anymore. You literally have to put it down and put it away completely, to focus on the collaborative process of ping pong, or table tennis, or washing your face, or whatever the activity is that lets you kind of sort of put blinders on everything else, all the problems.

Yeah. And there’s something like a childlike wonder that comes out during games of competition… It doesn’t have to be competitive. Even I’m sure when you go mountain-biking where it’s like you’re just being free, and you’re being a kid, and you’re just doing something that has exhilaration, and it takes concentration… And if you don’t pay attention, you’re going to get hurt, so you’d better take it seriously. And so while you’re taking it seriously, nothing else can really fill your mind. That’s the hard part about actually stepping away to get unstuck, is you can step away, but you can’t necessarily turn your brain off the problem, unless you force it out by doing something that requires your brain and your body lots of times… And then you’re actually stepping away. And so I think it does force us to turn our brain off to the problem, which gives us that chance to refresh. So I’m a big fan of ping pong, or whatever your game of choice is. Foosball is a good one…

I like that one. So good.

Yeah. Alright, moving on. Anything else that Chris has said here that you agree with or take issue with? There is no pride – this is Chris talking… “There is no pride in managing or understanding complexity.”

That one’s probably deep for him, right?

That’s pretty deep, yeah.

Because I can think about some ideas where that applies to, but maybe his contact is pretty particular. Pride… Somebody must have been prideful around him, around managing some complexity.

My guess is it was from his younger self. Like, he used to take pride in it, and now he doesn’t.

Yeah, I guess so.

Because these are things that he’s changed his mind about.

I would love to ask him questions about that, because all I have is questions, really.

We’ve got to get him on the show. We can’t just talk about his blog post, we’ve got to talk to him.

Okay. Let’s switch bases then, and go to second base, which is where we always go after first base, unless we get out… And talk about our own mind changes, since here we can talk to each other. We don’t have to guesstimate what we mean. You haven’t changed your mind about much…

I tried to [unintelligible 00:22:26.02] my brain for changes… Couldn’t find them. Not a lot of change, honestly. I mean, it’s been a lot of the same for a decade and a half, basically. It’s not a lot of change here.

Do you want to start with things that you haven’t changed your mind about, though? Like, things that you believe in the industry?

Oh, yeah. I think that would be easier for me.

I’ve always thought frontend/CSS is hard. And I still believe frontend/CSS is still hard.

[laughs] You may be more right now… Okay, let me caveat that. CSS is easier than it’s ever been…

It is still hard though.

…just as a standalone technology… Except for that it’s overwhelming now, because there’s so much it can do.

But it’s never been easier to accomplish stuff with CSS. However, frontend, which is much bigger than just that, I think - and I’ve been here a long time - has never been more complicated than it is today.

And so I think you might be more right about that than you were in the past.

Yeah, bro… I mean – oh, I did conflate them. I will agree with that. So let’s maybe just – frontend over there, CSS over here.

Sure. Okay.

I will agree that CSS has gotten easier. And I will say that it’s become easier potentially because of LLMs. I think because – you know, I’m not a daily driver on frontend building. I’m not building frontend sites every day, so I don’t have the muscle memory every day of how I lay something out with CSS. Or like I did back in the day. Back in the day I really thought at one point, Jerod, that I could design and build an entire frontend without ever looking at the browser. That I could just write the code and then call it done at some point… You know, Command+R…

[00:24:11.06] You were like Cypher, staring into the matrix.

Yeah, I really felt like that. And I don’t think I’ve ever actually given myself the true try on that, but I think I may have done simple things like menus, and rough layouts. Not like a full-on design, but enough to be like –

So you just go from like blank page, to like writing all the HTML and the CSS…

That’s right.

…and then you’d just load the browser once and it looks like.

I would have loved to put that to the test back in your golden years.

My golden years… [laughs]

Or the good old days, whatever it’s called. Golden years is when you’re older, isn’t it?

And now I don’t think I could ever do that. Maybe, maybe… I mean, I’m just – my time between progress in CSS to other tasks, and then back to it again is too far in between for me to maintain that muscle memory well enough, I think, like I used to be able to do when I was younger… Or I maybe just had less things in my brain at once. So I really feel like CSS is still really, really hard. Like, even with Tailwind. And I’m pro utility classes. I’m pro Tailwind. I know some people are absolute haters of it. Whatever, you know?

Purists.

Yeah, purists. Well, I say “Why not both?”, right? That’s my favorite thing. Tailwind in the HTML, and then Tailwind applies in the CSS. Why not do both? Tailwind’s really good and easy to do. I mean, the [unintelligible 00:25:36.24] is cool… And you can multiline that, versus like one single line. It gets a little easier. You can still define rules, and stuff like that. You can include – I don’t know what you call them anymore. I’m nomenclatured out on CSS. You can make a class and include that class later through an apply… It’s cool. No more Sass required for this. Just use Tailwind and its utilities to build your CSS. So cool.

I’m not anti-Tailwind at all. I think that most of the little things that I build are scoped in such a way that for me it feels like overkill, because all I need to do is ask an LLM how to get the layout I want with Flexbox or with CSS Grid, and then I can just toggle stuff.

I really like the dev tool’s ability to like change the flow and the direction of Flexbox things. I can just like click which one I want and wait until it looks the way – so I’m the opposite of you. Like, I’ve got to have it in front of me, looking at it, and I can just kind of twiddle bits around until I get to something that I’m happy with. And I think that it’s never been easier to do that, than it used to be. But I do think on many, many projects, for especially teams, like you and I working together, Tailwind makes way more sense, because we can just throw the utility classes in there, and not have two different styles and have to synchronize the way we build things out. We just are like “Use the right classes, and everything’s fine.”

That’s right. There’s a way. There’s a way. Yeah, I think there’s a lot of good stuff in there. That’s why I was so – in that conversation with Chris Coyier, I was so pro what CodePen could do… Because I feel like where else can you play with HTML and CSS in particular - and sure, you can sprinkle some JS in there if you want to… But primarily, it’s HTML and CSS. Where else can you do that in a way where you can show it to other people, create little things, and show off than in CodePen, right? That is the coolest. Being able to riff like that, basically, and show off a little bit… That to me is super-cool. And I don’t even know if they’ve – I haven’t played with it in a while, but I’m pretty sure they have Tailwind baked in. I don’t know, I would imagine they would. Chris is smart… But being able to play with that kind of stuff in the browser, where you can show off to somebody and just let it be a toy, so to speak, or just a stab, or a spike, I think you’ve said before… That to me is kind of cool.

[00:28:09.11] I also like a lot of those stuff around Tailwind and like you can define your colors, and stuff like that. That to me in your Tailwind config is like just the coolest. Being able to do all that like that, and you can define where – you would have to do that in CSS before in like the root, with variables, or not at all, back before variables weren’t even there… I think that’s cool, that you can define all these color palettes and stuff like that… And it’s built into the way Tailwind works at a structural level, not just classes and utilities and stuff like that. It’s part of the overarching nicety framework that it brings. That to me - cool. But it’s still hard.

I think it might always be hard, Jerod. What do you think? CSS.

Well, I mean, 20 years later it’s still hard for you, so… Do you expect that to change at this point?

I guess not. For some, it’s easy.

Well, I think if you did it more often… I think some of it is because of your proximity to the technology, not being on all the time… There are certainly people who are writing frontend, and specifically doing the CSS 40 hours a week, 60 hours a week.

Could you imagine?

Do you do anything that much?

No… [laughter]

You do anything that much and it’s going to become easy to you.

So that’s funny, I used to be like that… I would work all day and all night, on nothing but that, all the time. That’s why, I guess, smaller problems, less complexity.

Well, then it’s always going to be hard, until you commit.

What about you? What has not changed?

What has not changed? Okay.

Is that what we’re answering here, is what’s not changed?

Right now we’re doing things we haven’t changed our mind about.

That’s right, things we haven’t changed our mind about. Thank you.

So there’s a few things I’ve been preaching for years and years and years and years, and I don’t think I’ll ever change my mind on them… And one of those is “Slow down to go faster.” I have not changed my mind. I still think if you want to go fast, you have to slow down. And it sounds like a contradiction, but it’s not… Because as you go slow over the course of time, you end up going faster, because you don’t have to redo, rewrite, start over, or backtrack as often as if you were moving too fast in the first place.

As Kelsey Hightower said it - let’s see if I can remember his saying… It was really cool, as everything Kelsey says is cool. I think he said “Do it right, do it light. Do it wrong, do it long.” I tell that to my kids sometimes, and they’re like “What’s that mean?” I’m like “I don’t know, but it sounds cool, doesn’t it?” [laughs]

“I don’t know… Listen to this podcast, you’ll get it.”

Yeah, you do it right, you do it light. You just slow down, you go faster. It’s the old tortoise and the hare. And so much of the tech industry is focused on raw and utter speed, and we end up foot gunning, as they say, shooting ourselves in the foot repeatedly, or shooting our teammates in the foot, or the future developer who’s replacing us because I’ve spent my 12 months and I’m moving on… And we end up churning and burning a lot of our colleagues because we’re so focused on speed. And if you would just slow down, and take the break, or write that additional test, or look at the source code, or don’t abstract that method yet, or you know, insert your way of slowing down here, that those small decisions over time lead to faster. And I still believe that today. And I think I wrote that blog post like 15 years ago, so… Yeah, that’s one.

[00:32:02.26] Is that similar or the same as “Keep it simple”? Or is like “Keep it simple” in there, of slowing down?

It’s definitely not the same as keep it simple… It’s in there.

Because you’re saying “Don’t do that abstraction now”, which is kind of “Keep it simple.”

Yeah, that was one example of slowing down.

And in fact, many people – this leads me to another one about DRY, which we can get to in a minute, but… Many people think that not doing the abstraction makes it less simple. But obviously, I disagree with that, which I used to not disagree with that… I don’t know, simplicity is a really tough one. Obviously, it’s something to strive for…

Subjective, for sure.

…but there are complicated things in the world. This is kind of where I was getting with – I can’t remember who was it on the show we were talking about simplicity, recently… Maybe it was Bert. I think it was. Because he was all about simplicity, less dependencies, less abstractions, more simplicity, straightforward… And I was talking about how I think a lot of people desire that in their code, and I think he said “Well, a lot of people like clever, complex things.” And going back to Chris’s point about “Don’t have an ego about being able to manage complexity in your head”, that’s kind of a young person’s concept, I think, where it’s like “Look how brilliant I am, because I can manage all this complexity in my head.” And so Bert was saying “Well, most of us don’t really want simplicity. We actually want complexity, because that makes us smarter.” I understand that. I think many of us do desire simple solutions though… And yet we still find ourselves with complex ones over time.

And so there’s definitely some slowdown to go faster in that, like “Slow down to keep it simple”, which is incredibly difficult, and I still fail at, after all these years. I think I’m being simple, and then I’m actually realizing, “Oh, it’s too simple”, because I wanted to keep it simple, and it doesn’t handle all the things it needs to handle… Because like I said to Bert, the real world is complicated, and some systems cannot be simple. I mean, look at our tax code, just as for one instance. You think TurboTax can be simple software? I mean, it just can’t be, because it’s handling a very complicated thing. Now, it can be more or less simple in its approach, but you’re not going to be able to file somebody’s tax - I mean, not just one person’s taxes - arbitrary people’s taxes in any given year without some serious complexity. That’s just not going to happen. And so the real world is jagged, and backwards often. And changing… You know, look at time zones; political… I mean, think how much software is changing right now because of DOGE, for instance.

Yeah. How much tech that has been wiped away or accrued.

Or created. Yeah, exactly. As there are machinations in the political sphere.

“We’re getting ready to ship this.” “Just cancel it all.”

[laughs] Yeah, how many of us –

[unintelligible 00:35:08.05] matter anymore.

I mean, I’ve built things that never shipped, and it wasn’t a software reason. It was like just business, or change of mind, or… It’s like “That’s not going to ship.” It’s like “Oh, wow.” And I’m sure our listeners are just like – everybody’s lived through that project that like you put your heart into and you’re proud of it technically, and then it’s just like, “Yeah, it’s never going to see the light of day.”

And then you can think, “Well, at least I got paid well.” And hopefully you can think that… That’s the [unintelligible 00:35:38.18]

Or learned, to use it in the future.

Yeah, exactly. You try to get like silver linings out of it, you know…

So yeah, simplicity is really tough.

[00:35:50.27] Slow down to go faster… Yeah, I never really understood that. It always seemed like, obviously, a conundrum of sorts, or a paradox, essentially… Like “What? No, that doesn’t make sense…”

Well, it goes back to one of your favorite sayings, “Slow and steady wins the race.”

Preach, bro. Preach.

[laughs]

You know, there’s times I even have to re-explain that to myself, because I try to go too fast, “Slow down and check yourself…”

Right.

And I always tell people when we say or someone says – I think most people mean it this way. I know we do. Slow and steady doesn’t mean you literally go slow. I think even here, slow down doesn’t mean don’t go fast. It means slow and steady means going at a speed, the fastest speed possible to remain steady.

Right.

Your team may be able to achieve a much greater velocity, or yourself may be able to than prior versions of you by not also going slow. You’re still sort of going fast, but you’re steady. Whatever that is to go forward on this thing, on this mission, whatever it might be, in a steady manner, as fast as you can go, while being steady.

Mm-hm. Yeah, well said.

And that’s how you win.

Yeah, exactly. And especially in a digital landscape that can change dynamically as we build it. Like, we are building things that are completely malleable, and we can completely destroy our creations by just making that rash decision, going through that one-way door and not realizing it was a one-way… And then you get out over your skis, if I might just use like all the cliches… And it’s too late. Like, you’re going to land on your face. And now you’re way backwards. Now you’re just playing catch up. And so many of our projects are playing catch up with the timeline, because we set the timeline too drastically, and so we cut corners, and made bad decisions, and moved too fast… And then that thing’s never going to ship because of all the tech debt we’ve accrued… And it’s like “If we would’ve slowed down and checked ourself, we’d actually be moving faster in the long run.”

There you go. Good summary.

Okay, that’s one of mine. Slow down to go faster. Haven’t changed my mind. I did find the original blog post… It was 2010, so yes, I wrote that 15 years ago.

Wow, man. What was it titled?

Slow down to go faster…

There you go. Too good. [laughter]

What makes me mad is I think – I’m not sure if I coined that, but I’m definitely one of the only people that have written that, or like probably the first one… And if you google it, other jokesters show up first, and it’s just like “Come on, people… Why does McKinsey and company–”

“This guy, Jerod Santo’s got some good ideas. Let’s just take his title.”

Who are these McKinsey people? And then somebody on Medium… It’s like “Come on y’all, that was written in 2023.” Anyways… Ideas are cheap, so I don’t deserve much for that one. And I don’t think I invented it either. But when you Google the exact phrase, you’d think that my post would show up.

I’m sorry, man…

It’s okay, I forgive you… [laughs]

I’ll backlink you, bro. I’ll get you up there.

Yeah, we’re already doing everything we can, so…

Break: [00:39:02.14]

What else? You got another one?

I think collaborating is still hard. It’s always been hard. Collaborating has always been hard, especially – maybe face-to-face it hasn’t been that hard to collaborate with, but I feel like as a remote team, true in the groove, what is the mission, collaboration is hard. Tools change over time, then you’ve got politics over a tool… Like, I’ve ebbed and flowed on Notion. They’re one of our sponsors, as you may know, Jerod, but I had them back as a sponsor because I’m using Notion all the time.

Right.

And for a while there, we only use Notion for one single thing, because we tried to collaborate around certain things and just never got in the groove… And I think it’s mainly a tool problem, not a consolidation or a compartmentalization problem, because “Is Notion the best place to write?” was the question we had… And the answer is probably not. Like, I’ve used Obsidian, and now I’m kind of like in between Obsidian and Notion. And I don’t know which one to reach for when I’ve got to take a note anymore. I was like “This drives me crazy.”

Is that collaboration though, or that’s just for your own use?

It’s for me… So there’s certain workflows that I have, like sponsors and campaigns… There’s a lot of details involved, and I’m just like “I need to share these things.” Google Docs work, but then they were too arduous, or the template wasn’t that great, and then it became formatting… And so Notion just sort of simplifies some of those things. And so now I’m back in this Notion world, because it can let me build dashboards and workflows and operating systems, basically.

Right.

And it didn’t have to be shared. It can just be me. This is how I work, and it’s my environment, and this is what works, let’s just say. I can’t do that kind of stuff inside of Docs, inside of Obsidian… At least not that well. And so Notion kind of won a couple battles in terms of workflows. And then I can share the things, too. And so now I find myself in Notion more. All that to say is that collaborating with a team is so hard. You’ve got Zulip, you’ve got Slack, you’ve got Discord… You’ve got places to go, and you’ve got opinions everywhere of “Where can we talk in the real time? Where can we talk in the async?” “Oh, you don’t like that tool. Gosh, you have an issue with that.” “You don’t like Jira? Man, who likes Jira?” I like Jira. I met one dude, he’s a good friend of mine. He loves Jira.

Really?

Loves Jira, because it’s so powerful.

That’s like a unicorn.

Not because he like literally loves Jira. It’s like, “This is the best tool for an enterprise like ours. It’s so flexible. It’s so sturdy. It’s got so many APIs and so many ways in and out of it that you could just get things done. So many integrations.” I’m like, “Great. Those are great reasons to love it.” Those are the reasons I don’t love it, because I don’t have those needs, you know?

Right.

So I feel like collaboration is just so fractured, bifurcated, fragmented that it’s just like “Which tool, where to go”, and then by the time you get in there, you’re like “Well, now we’re paying 200 bucks a month for a small team.” It’s like hundreds of dollars a month just for like one person to do all the collaborating, or a couple in a small team. I just feel like collaborating is hard, and I wish – I don’t know if software can solve it, because it’s tried again and again and again, you know? And I feel like it’s just like this drum that never gets beaten hard or good enough.

Let me hop in here, because you just said a key phrase that lines up with something I have changed my mind about…

…which now I believe, and I used to not believe. Software can’t solve people problems. I used to think you could just throw software darn near anything. And I used to be like “Let’s do this. I solve problems with software. I’m going to solve your problems with software.”

“Let’s make some software.”

Yeah. And now, after years of trying to do that - and sometimes it works, and most of the times it doesn’t… Software can solve some problems, but it can’t solve people problems. And collaboration ultimately is a people problem. Now, can it help? Yes. But can it actually solve it? Can you find the one true tool that’s going to finally make us collaborate better? I just don’t think you can do it. I mean, a lot of what you’re talking about here is like people don’t want to do – I mean, I know that I’m not a fan of this new idea to go back to Notion, because we’ve done it before.

And that’s why I haven’t asked you to do it.

Yeah. And I’m like, well, I thought I was using Obsidian now, and I’m happy with Obsidian, and most of my stuff doesn’t need to be shared. And when I do, it’s a Markdown file, so maybe I can – but I’m not dealing with third parties as much as you are, like external entities like our customers… And so I don’t have to like make it look nice. It can be H1s and H2s, ultimately… And so for me, Notion is cumbersome and too much, just like Jira is for some people… And if I can avoid it, I would love to, because like you said, it’s one more place to go. Did I put that in Notion? Did I put it in Obsidian? Right now, I’m living in one world and I’m happy, for my notes at least.

And that’s a people problem. You have to convince me, I guess, that it’s worth it. Or I have to just be like “Alright, I’ll try it for you”, and then we’ll see where it goes. And we’ve done this with lots of tools over the years. Trello, Notion… Did we do Pivotal? Did we do Pivotal Tracker, me and you? Probably not…

It was early days, just you and Gerhard. I was in there a little bit. It was like early, early 2016. Early days.

GitHub projects… I’m just thinking off the top of my head. I’m sure there’s others. And the problem is everybody thinks differently, and we think differently at different times. Like, that’s the real people problems. My tastes have changed over the years too, to where what I used to think was good I don’t think is good anymore… And so I have to even convince myself to stay with a tool, even if I’m not collaborating, you know? I’m like “You know what? This used to be cool, but now I’m just thinking “Umm… Not cool.” And then later on, I think, “You know what? Trello was pretty cool. Maybe we should use Trello again.” And I go back to it, and I’m like “Oh no, Alassian ruined it by putting a bunch of other crap on top.” I’m not sure if that’s true or not, but that was my first impression.

Yeah… It is true. So true.

Their single sign on was such a mess.

It was a mess…

Like, they consolidated things, and now I have an Alassian account, and I don’t care, because all I use is Trello, blah, blah, blah, blah… Yeah. That’s just one dynamic of people problems, you know? It’s like, we can’t actually solve people problems with software. We have to solve people problems with people skills. [laughs] And that sucks.

I concur with that.

That sucks.

My resistance, I think, with things like Notion - this is not a Notion problem. This is not even their fault. My resistance is the lock-in that happens. And I’m thinking, “Okay, great. Let’s create some workflows.” And we do. And we start to collaborate. You and I even, just two people. And we start to use their commenting feature. And maybe they launch a real-time chat that sort of supplants some of the things we talk about in Zulip or DMs, and so now we’ve got two places we talk in real time… Well, now our productivity is reliant on that particular feature set, but then the overarching tool begins to maybe not be so good, or something else revolutionizes something. It’s not even that it changed or got worse because they’re poor developers or poor leaders, it’s just that the puck moved, and that happens in tooling. That’s my resistance. It’s like “Gosh, man, I’m just tired of –” And maybe I’m just crying here, okay? I’m sorry if I’m crying here… 22 years deep, apparently, in this industry…

[00:50:14.10] [laughs] It’s time to cry.

You get some scars and some calluses. I am just tired of moving from tool to tool to tool over all these years. Now, I will agree - and by no means is this sponsored. They are a sponsor of ours, but this is my own true sentiment… I do think that right now Notion is one of the best places. It’s on all the platforms, it’s got some AI stuff in it… I’ve found that Notion AI pretty useful to summarize things, and help me find things in a massive workspace, or notes… Rather than search in this one weird way, I just go to Notion AI and just search for these things.

So I feel like they’re onto something, and I really hope that they can kind of keep iterating, because every year they kind of launch a new version of it, and it’s gotten better. And I was even surprised when I went back to it after how much we really – I don’t want to say hate it, but we’re like, after that year of having all of our sponsorships in there, and it just sucked, and I feel like our sales sucked, because I didn’t enjoy how it was organized anymore. It was so hard. It was just like, every day it was just hard to manage our schedule. What was available to sell, where was it at, who had the spot…? It was just hard. And so we were using probably the wrong tool for the right job. The right job we needed to get done, but that was the wrong tool. And ultimately, Google Spreadsheets was just better at it, and it was just a simpler tool. So slow down, keep it simple maybe.

And then the other golden rule, which is like most of the time a spreadsheet’s best.

That’s right. Yeah. When in doubt, spreadsheet it.

It really is. Seriously, start with a spreadsheet, and probably stay there, unless there’s a real reason to move out. I know you’ve prompted me many times to write us some custom stuff…

I still want you to…

I know you do.

But I resist it, because I’m like, I don’t – the problem changes too frequently… And so every time you would make the software great, I think I would be like “It’s got to change”, and you’d be like “Dude, this is a complete architecture change.” This is a whole new feature set.

Right. And I’m like “Do you know how much work I had to put in to get anywhere near what you have with Google Sheets right now? Like, let’s just keep using that, because it’s so flexible…”

And you’re going to hate whatever I build, until I dump years into it [unintelligible 00:52:24.16] building a backend sales system for years?

So I’ve been very resistant… As you know, I’m a tough sell, especially when it comes to writing code. I’d rather have no code.

That’s the best. No code is the best.

Some of this lock-in fatigue that you have is one of the reasons why I, to this day - and maybe it won’t last, but I still love Obsidian… Because its philosophy of file over app takes me to happy places. I just love the fact that at the end of the day, I’m writing Markdown files, and I can take those anywhere, and then I just store it on a hard drive, and I can sync them with Dropbox, and if Obsidian disappeared, I’d be just fine. I have plenty of other Markdown editors, including Zed, which I write code in all the day – all day long; weird sentence… And I love that. And Steph Ango, the creator of Obsidian, has this whole philosophy written out called “File over app” that he wrote. I’d love to get him on the show, by the way. Steph, if you listen, please, come on the show. We are fans, we’d love to talk to you.

That’d be good. We’ll get you an official invite, just share your email address. We’ll find you. We’ll get you.

That’s right. That’s right. And if you listen and you know Steph, and you can help Steph know that we’d like to have him on the show, please, hook us up… Because - very interesting person, lots of stuff I agree with. I’ll link up in the show notes his post called “File over app.” It’s a philosophy.

[00:53:56.01] He says, “If you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read, use tools that give you this freedom.” I like that, and I like Obsidian for that reason… Because at the end of the day, it’s just an awesome, I think, layer on top of files. And that gives us freedom and [unintelligible 00:54:16.24]

Yeah, that’s why I love it so – I mean, don’t get me wrong, my recipes are still in Obsidian. All of my building an AI machine, creator PC, Ubuntu machine… All of my personal docs I’ve created to tell future Adam what old Adam learned is still, and will be in Obsidian. It’s the things that I think - and so this “File over app” scenario, there’s certain workflows that I can see how I could possibly use it in Obsidian, but it’s a personal thing. I can’t share that easily with a group and get them to just jump into a way. They have to have certain plugins, and community things, and maybe it’s a – something’s going to be in the way in Obsidian, and it’s going to go beyond file, because the problem set that I’m trying to communicate, the communication is beyond a simple file.

As a single person or an individual, with my own things, yeah, it works. And it’s so fast… I love Obsidian amazingly, amazingly. It’s so good. But to collaborate with a group of people around a workflow, Notion’s better.

That’s totally fair. That’s totally fair.

But lock-in sucks, man. I’m so close to asking you to come back in Notion, though. I’m waiting to feel really good about it by myself, though. There’s a couple of things I think would be kind of cool… A couple of things we do; not every collaboration, but a couple key flows that require that ebb and that flow, that yin and that yang to get done right.

Let’s talk about something I’ve changed my mind about…

…because I know this one’s going to strike deep into the heart of many people. I’ve actually shared this in the past as an unpopular opinion, and I think it was unpopular. So I mostly share this when I’m making fun of Nick Nisi, because it was one of my favorite pastimes… Shout-out to Nick. And by the way, Friendly Feud coming soon. The cast of JS Party will be there. Thank you to everybody who took our survey, we’ve got a huge response. We got way more responses than I wanted… So I’ll have to comb through all those. I wanted a hundred, but I forgot to turn the type form thing on, where you can like close it after N responses… And so we’ve got way more than a hundred, which is great. It’s just more than we needed. So happy, happy that you all support us. And that will be recorded early March, and so it’s going to be coming to Changelog & Friends here soon. A quick update on Nick Nisi. But what I believe now, which I used to not believe, especially as a younger person with more time on my hands, is that customization and tweaking of your environment is the root of all yak shaves. I think we waste way too much time customizing, tweaking, filling, changing our programming environments than we need to. I think you can get 80% of the way there with 20% of the effort, and then knock it off and get some work done. Stop customizing. You’re just shaving a yak; I know it feels good, but you’re not doing the main thing. You’ve got to keep the main thing the main thing.

And I used to customize to the hilt. My dotfiles were pristine, and I checked them in, and I changed them, and I loved all that stuff. And I went searching for other people’s themes, and I was like – you know the people who have like a comment font, and then a code font, and then like dark mode, and light mode, and they can toggle it based on where they are in the world, or whatever it is… And they’ve just got all that stuff figured out. It’s like, you don’t need to do all that. You can just write code, and be happy.

What do you think about that, Adam?

You know, it makes me think about Htop. Vanilla Htop is not good enough for me. I always have to tweak it a little bit.

And so I think that drastic customization is not good, but I think subtle customization is good.

80/20 rule.

Right. I think I’m not sitting there, tweaking everything I can possibly – and I’m just thinking of Htop, because like literally, every machine that I command…

What’s wrong with Htop? I’ve never launched it and thought “Well, this isn’t good enough.” But maybe I just don’t know.

Well, then you should see my Htop.

I would love to. I could even customize mine. I hope I don’t have to brew-install Htop. That’s how long it’s been since I’ve used it.

Let’s see here…

So my local Mac, I use iStat Menus, which is rad, and provides me cool charts and stuff, without having to be in the terminal. Yeah, I just launched Htop, it shows me, you know, that Brave is using all my CPU right now… And that I have nine processors, and I’m using 26 gigs of RAM out of my 64… What am I missing here? I’ve been up for 12 days… What’s yours look like?

I’ll just share it with you. I mean, I don’t know how to do this in our new world of video first, but I’ll share with you in Zulip. We’ll get it on the screen for the pod on YouTube later.

But this is my Htop, man…

Okay, let me describe this verbally. Hostname - Cineplex. Oh, can I dox you?

Yeah, that’s cool.

I just hostname-doxxed you. Hostname, Cineplex. Uptime, 16 hours. Is that days?

That’s hours, because I think I downed it, and then I pulled the latest Docker images and compose up it.

Now, I would argue that my stock Htop is better than that, because mine says uptime 12 days, and yours lacks information. But I guess it looks cooler… And then it shows the standard top things of the average memory and swap usage… All of your processors are listed along the right-hand side. You have 16 processors, so that’s kind of cool…

Threads, technically.

…whereas the stock one lists them horizontally, I guess, like zero –

So you’ve rearranged the order of things… And I think maybe your colors are more vibrant. I don’t know, what’d you tweak here?

Mainly layout.

So hostname is there, uptime is there, and there’s a blank space in between those two sections on the left. So you’ve got two columns, left and right; on the right is all the CPU cores. On the left is information, essentially, of like the system; hostname, uptime, and then a blank space in between to separate average CPU, the memory usage, and any swap usage. And notice that there’s 0k swap. My system’s tuned.

I also have 0k swap, if we’re gonna brag about it…

There’s no swap going on here. Yeah, we’ve gotta brag about no swap, bro. I mean, that’s how it goes.

[laughs] That’s right. No swap over here.

The name of the game is no swapping.

That’s right.

Then you get the blank space in between, and then you’ve got network and disk. Now, if it’s a ZFS machine and I’m running like ZFS pools, I’m going to have arc there, and things like that, to tell me about my ZFS pools.

Okay, so I’m missing that section. I don’t have network and disk.

[01:01:42.18] Okay, so you just add it. F2, and you go into your Settings there, and you can add it to your left. You push Enter on the one in the far right, and you arrow left, arrow left, and you put it wherever you want. And then you push Enter again and you put network and disk wherever you like.

Okay, now do you store that into like a .rc file, or something?

So here’s the thing… And this goes back to your principle of customization.

To my knowledge, Htop - and maybe Btop is better. Maybe this is where Btop is better. I don’t know. I like Htop because it’s simple. Htop does not have a configuration file that can translate from machine to machine. For whatever reason, it’s a unique snowflake.

Hm… It’s not simple.

The layout is the same on all these machines, and I would go and tweak it for this one little thing. It takes me just enough time, maybe a minute or two to do this; not much. But I would love it if it was a config file that I could just paste. But no, that’s not how Htop works. But Htop is simple, Btop is kind of loud and expressive and vibrant and visual. I think Btop’s – some would say it’s better, Htop to me is just simple. So that’s me. All that to say is –

I’m flabbergasted, honestly. I don’t want to call your expertise into question, but I just feel like there has to be a way to get a config file that’s just [unintelligible 01:03:06.28]

Please. Make me wrong. I would love it, because you’ll solve a big problem of mine. The last time I checked into it in the Htop docs, it was a unique – it wasn’t a config file that was… It was like – it didn’t even make sense, the config file. There is one for it, but it doesn’t make sense…

…when you look at the format of it. It’s machine to machine, and it’s unique. I think it’s because it’s like basing on sensors, and stuff like that… Because you can have like CPU temperatures in there, like per core. And if you have LLM sensors installed, you can get a bunch of stuff. We’re in the weeds.

Yeah. I think that – and I’m over here, trying to prove you wrong. I think that you are right and wrong. I think you’re mostly right.

I’m mostly right.

Technically, you’re wrong, because there is a config file. However, it’s written by Htop, and overwritten anytime you hit [unintelligible 01:03:57.00]

And it’s not human-friendly.

Exactly.

So it’s not cool. Like, you could figure it out, but [unintelligible 01:04:03.15]

How cool would it be if it was human-friendly? C’mon.

Yeah. I mean, who makes a config file like “You know what? I mean, friendly - not necessary on this one, suckers.”

“Friends to computers only, this config file…!”

[laughs]

Well, that’s not a config file. That’s just dumb, whatever that is. I don’t get it. But anyways…

I think if all your friends are computers, and you don’t have any human friends, then –

Every machine, Jerod, is a version of this layout… Unless it’s got ZFS on it, then I’m adding Arc and a couple of the niceties that’s like particular to that machine… But it’s always all the cores on the right, and the left is the information to every single machine.

So you hop in there and hit F2 every time, like once per machine.

[unintelligible 01:04:36.09] and it’s once and done for its lifetime. I’m not creating new machines all the time…

I will say that Cineplex is a new machine for me. I moved Plex off of Proxmox. It was a VM in Proxmox… So get this - it was Proxmox, Hypervisor, Ubuntu VM, a Docker application running Plex.

Okay, okay.

I moved it onto a new machine, standalone Intel NUC by itself, Ubuntu 24.04 installed, Docker again, and it’s running in Docker there. And so now Cineplex - it’s the new hotness. Plex was the old machine, now Cineplex is the new machine. I just like the name Cineplex. It’s kind of cool.

Cineplex is cool.

It is kind of cool.

And so this is running your Plex server.

Yes. This is running my Plex server.

And does Docker make that easier? Because couldn’t you just like apt-get install Plex and be done, like on top of Ubuntu?

Yes, except for, I believe - this has been my hypothesis - that it’s easier because this application has moved from machine to machine to machine, lots. I feel like it would just be easier to rsync that Docker directory, which is my home directory slash Plex. And all of it lives in there. The compose file, all of the data lives in there. I don’t even use volumes with it. That compose file, and then any data that goes with it. It’s about a hundred gigs, this application directory…

[01:06:10.09] I just rsync it to a new machine, docker-compose-up-d and it’s running. So I feel like Docker makes the application composable wherever it needs to be, versus like “Okay, I’m apt-getting and installing this thing, and it’s tied to the machine more.” I can leave it tied to Docker and let Docker be the runtime, and no matter where Docker’s at, I can run the application.

Provided the hard work and support, of course… But that would be pretty easy.

Yeah, that makes sense.

So that’s been my reasoning for Docker. It didn’t make sense to Proxmox, VM, then Docker… So I just took out a layer and got rid of Proxmox, and maintain a standalone Ubuntu machine… And it’s called Cineplex. There you go.

And it’s got a cool Htop config.

Just enough customization. So I’m concurring with you – this is a long-winded…

Oh, I forgot what we were talking about…

Yes. Long-winded… I think – and I’m with you, I think that people… I’ve seen this, and it’s tantalizing.

It is.

You’ve got somebody – I just was watching this video, this really great cinematographer, also a developer tool kind of fella… He’s got his perfect desk. Perfect desk. It’s got this super-awesome keyboard, he built it himself…

Of course.

…he’s got these keys that don’t need lube, because they come pre-lubed…

Oh, that’s cool.

He can KVM between his Windows machine, so he can game and he can KVM between that and his Mac…

Rockstar. Ninja.

And I’m just like “Oh dude, I just don’t have that time.” I mean, I would love that. I don’t want to say it’s a young person’s game, but I feel like it is, because you and I are so far into our careers that we’ve got either more problems to deal with and we can’t spend the time there, or we’ve now let go of things like that. And we realize this principle you’ve shared is truly true… That overly-customizing your environment is kind of a fool’s errand. What did you say it was? It’s just not – it’s not smart…?

I called it the root of all yak shaving.

Root of all yak shaving.

Because I thought that sounded cool.

That does sound cool.

I mean, it is a yak shave, and yak shaving is unnecessary by definition. Well, it depends on how you think about it. Sometimes a yak shave is a necessary series of events in order to do what you originally wanted to do… But other times you’re just out here shaving yaks, and you’re not actually doing the main thing. That’s more – I’m using it that way.

Yeah, I do think it’s a fool’s errand, and I think if you like compute as part of your joy of your life and this is your identity and stuff, like, have at it. Have fun. The problem is that when a lot of us see that person who happens to be also a great software developer, and then we idolize their setup, and we think “If I could just customize mine to be like Primeagen’s”, or whoever it is, whoever it is that you’re idolizing, “then I could also be a great software developer, like that person”, and it’s like “No, dude. You’re just going to waste all your time customizing your machine”, and you’re not actually getting better at the craft. You’re just like tinkering around the edges of the craft… Which I used to do as well. And so I’ve just set those things aside, and I think that we all would do well to set those things aside, in moderation, like you said. I think you can get 80% of the way there with 20% of the effort. I customize some stuff. I got my new terminal last year and my new text editor, and I’ve customized a few things on both of those, just to make myself a little bit happier. Nothing wrong with that.

You’ve gotta get a blanket and a pillow, some coffee…

But I’m not out there, reading every config I can set on Ghostty in order to just make it look like the sickest it could possibly look, for instance.

Right. Yeah, I think you realize there’s just enough – so I’m all about good environment. And so I think what you’re trying to suggest is that you should make the environment you’re in comfortable. Whether it’s a chair, a text editor, a new tool, whatever. Htop… Pick your environment of where comfortability is important, and do what you’ve got to do to make it good for you.

Your version of that and my version of that is probably two different measuring sticks.

But you do you, whatever works for you. But don’t do too much. Don’t spend all your time there, because you forget to do the task that was originally planned in the first place. I do want to give this person a shout-out, because this person does create some amazing videos. And so I’m mentioning this fellow named Luda. If you want to check him out on YouTube, I’ll link it up in the show notes. Of course, youtube.com slash - and this is important, I’ve learned. The @ symbol. So youtube.com slash @capitalludalx. Ludalx, basically.

Why is the @ important? Because you can get to ours without it.

You know, I learned recently that somebody – let’s see if it’s important for this person. No, it’s not important for this person. It is important for Techno Tim. So if you went to @technoTim, I think… I don’t know. I learned this recently, because I was trying to get there by just URL hacking. So if you go to youtube.com…

Slash…

Www dot –

https://

That’s right… Slash @technoTim, you will get to the Techno Tim that we know. If you take the @ away - let me see if this is still correct - you get to a whole different person.

Really?

Yes. So @technoTim versus technoTim is two different people, two different profiles. But that is not unanimous across YouTube. So your mileage may vary.

Youtube.com/changelog.

Yeah. We’re both @ and non-@. And for my friend LudaLX, it is true that he is both LudaLX and @LudaLX. So pick your flavor, go there and check it out. His latest video, “The cleanest Mac, slash” – well, it’s not the latest. “The cleanest Mac/PC hybrid desk set up you’ve ever seen.” Now, you will be enamored by the amazing cinematography. You will be like “I need those speakers to get by in my life. If I could just customize my environment to be like that.” And then I say quickly throw that away, and just do what’s necessary to make the environment yours.

Do you remember Amy Hoy?

I do, of coyse. Of coyse… [laughter]

Am I talking with Elmer Fudd all of a sudden? Or who was that?

Of coyse, of coyse.

Of coyse.

I’m blushing over here… Yeah, of course.

That was funny. So… Long time creator out of the Ruby community, startup person… I don’t know. Talented individual. She puts out a lot of microsites, a lot of interesting visualizations, and I think one of the sites that she built that I still use is like everytimezone.com etc. And she’s always had a great design eye, and the ability to bring her design eye to fruition… And I remember her complaining - this was years ago - because every time that she would create something… Usually, she was creating back then I think a lot of cheat sheets for different tools, and they’re just very well done. Like a Git cheat sheet, and whatever. A Rails cheat sheet. And they’re just nice. And she says “Every time I put something out there into the world that I’ve created for people, all these people in the comments ask me like what tool I used to create this.” Which is kind of the same thing as like “What’s your text editor config?” And they’re missing the entire point of like “How did I go about thinking through what a good design for a cheat sheet would be, and like how I pick my typography, and my color schemes”, and all the things that designers think about when they’re doing information design, or technical writing even. And they’d ask me like “What tool? Like, was it Adobe Illustrator?” As if me telling them or me handing my set of tools to a neophyte would turn them into an expert all of a sudden.

[01:14:02.13] It’d be similar to like seeing a master carpenter and being like “If only I had all of his tools, I would be just as good as him at that thing.” And it doesn’t connect. It’s not true. And so trying to emulate or recreate an expert’s environment is not going to make you an expert. And we seem to think we can jump in line somehow.

So I don’t disagree with that, but I disagree with that. And here’s where I disagree. And maybe it’s not a direct disagreement, it’s more like a roundabout, let’s just say.

Okay. I’m ready for it.

There are many times, I would say in the last several years, where I’ve admired somebody’s work, and wanted to know their tools behind the scenes. And at least from my perspective, it isn’t “How can I recreate you with me, or how can I be as expert level as you are?”, it’s more like I have been down the road enough to know that there’s a right tool for the right job. And sometimes I want to learn somebody’s hacks, because their right tool is like literally – that light is over there dangling off of duct tape, you know? But it’s in the right place. And so there’s things you learn by learning how they got to where they’re going, or what they’ve used to get there… And so at least my perspective isn’t “Let me become an expert like you” - and maybe that’s the line of questioning they’ve given Amy, and that’s just like maybe where I’m off… Is that – and I would say this in particular with NetworkChuck. I was watching one of his from I think 2020 recently, because I stumbled on how he does what he does… And I’ve always wondered how he did the pen thing on his screen in real time during the videos. And it’s so simple that you wouldn’t think it’s as simple. And so unless you knew how he did it, you might not stumble on the same simplicity. Maybe he’s changed since then, I don’t know… But he uses a Wacom pen like I do, on a tablet… And he has Photoshop open in a green screen mode. So the background of Photoshop is the green screen, essentially. And his writing is white, so it’s chroma-keyed. And so he has software that watches Photoshop, and he can in real time during his videos draw on the screen for you. And he sees it too, because he’s seeing it in Photoshop. I would have never thought that that’s how he did it. Am I going to recreate that? No. But if I think of ever wanting to do that, I’m like, I know now how he did it, and at least start there on my journey of finding out which tool helped me get to wherever I might want to go. You do that with lighting, you do that with… You name it. Woodwork…

I think you are talking about tools, but it’s a proxy for techniques, which is entirely different thing, isn’t it?

I think so. I mean, obviously, you use tools to deploy a technique.

But the How is really what you’re interested in figuring out.

And the What might be tangentially a part of that.

Well, I was like “If I had that camera, I could be Chuck. If I had that camera, that lens, that light, I could certainly just grow my beard out and boom.” No, I didn’t think that.

Right. Well, for instance, you said like there’s a light hanging off of – maybe it’s duct tape over there, but they have it placed just right.

And it’s like, well, the knowledge, or the experience, or whatever brought them to put that at the exact right place and know… You can’t just transfer that by buying the same duct tape. Like, you have to actually either learn it yourself, or ask them “What are some of your techniques for accomplishing such high quality?” That would be a question that I don’t think Amy would have a problem with. But “What tool did you create this in?”, like, she can just answer. “It was Adobe Illustrator.” And it’s like “What did that do for you?” It’s like “Okay, I should go get that, I guess.”

Have you ever launched Illustrator?

Gosh, it’s such a hard, hard tool to learn…

Actually, one of the worst one’s After Effects. Good night…

Yes. Yes. Well, that’s why I said I might be a little off in my disagreement, but that’s how I approach the –

No, I definitely – I don’t disagree with what you’re saying. I think you can certainly learn techniques from people who are good at it. And it may be even just copy the way they do it until you can figure out your own process.

Fake it till you make it. Emulate until you make it. Whatever. Pick your –

[01:17:56.22] Right. But focusing on the tools is an incorrect focus, in my opinion.

For sure. For sure. And I like NetworkChuck, by the way. He’s very, very talented in what he’s done… And he will tell you “Hey, this isn’t about the tools I use.” He says the same thing. Like, “You can go and get all this stuff and not be the same.” It’s about – we know this, Jerod… Gosh. It’s about showing up. It’s about being consistent. It’s about caring. It’s about a level of sweating particular details to iterate towards whatever your version of greatness is. That’s what it’s really about. But I love it when people share some of the tools they use, because I’m like “Man, I don’t –” It’s exposure, it’s learning… Now I know “Well, that’s –” I’ve got a Wacom tablet. I knew how that worked, but I didn’t think to use Photoshop with a green screen, basically. Like, that’s cool. Whatever he did there was super-cool. Very smart. Very simple, too.

Break: [01:18:51.06]

Alright, should we continue changing minds, or should we –

Let’s change some minds, man… What else can we talk about here?

I’ve got a couple more… Let me just rattle off [unintelligible 01:21:08.07]

Yeah, let’s pick a couple.

DRY, as we know it, is a mistake.

Okay, I agree.

Not something I’d change my mind on. “SQL is good, and everyone should know it, but not really anymore.” That’s the other one I wrote down. Do you want to talk about that one?

Is that it? Is that your list? Two?

Those are the change minds. Haven’t changed my mind - Convention over configuration is Rails’ great idea. I think that’s something that I thought originally, and I still think today. And that’s the end of my list. Like I said, I had four and three, so…

Anything there you want to bite off and chew? Or maybe we just –

I’m down for any. Whatever you’re most passionate about. You pick. I like them all. You choose, since it’s your list.

[01:21:53.04] Well, let’s talk about SQL, because I think that that might lead us into another conversation… Or maybe we just end on that. So I’ve always been a pretty big fan of ORMs, honestly, probably, which is object relational mappers; for the uninitiated, this is when you have a programming language library that maps on top of your database rows and columns, and allows you to CRUD - create, read, update, and delete - database records without writing native database language of SQL, structured query language.

I used to really dislike SQL. I thought it was gnarly and hard to learn, and ugly… And I’ve always liked ORMs, mostly because ActiveRecord, which is Ruby on Rails’ ORM, has always been a pretty good ORM. I’ve also tried Datamapper and other ones back in the day… Nowadays I use Ecto from the Elixir and Phoenix people… And I think SQL is kind of like Vim. Remember Gary Bernhardt telling us on the old Vim show where he’s like “You’ve tried this and this over the years… You went from TextMate, to Atom, to this…” And he’s like “I’ve just been getting better and better at Vim.”

“Here’s me, 30 years deep…”

And I’m like “Oh, you’re so much better than all of us, Gary.” Which is probably true… But I’m still using Zed today, so I didn’t learn my lesson. I feel like SQL is kind of like that. Like, you can invest in a language and a library and then you can switch libraries, and they all kind of map on top of what are ultimately outputting SQL expressions… And some are better and worse, and they allow you to break out of the box, and write your own fragments… And I think Ecto is a pretty good one… But after years and years and years of like ending up with SQL, and then learning it because I’m looking at it now, even though I didn’t write it - I wrote some Ruby code, for instance - I just think SQL is really powerful. It’s been here since day one, practically, of most of our careers… It’s not going anywhere. And it’s one technology, the language I’m speaking specifically, that is worth every software developer learning, because it’s transferable across jobs, projects, languages etc. And I didn’t really invest in it directly, in my career… I kind of learned it slowly through osmosis. And I probably would have been better off just setting aside all the ORMs all the years, and just being like “Learn SQL really, really, really good” and I’d probably be a better developer. And so I’ve changed my mind about that… It’s probably too late for me. But for you youngsters, maybe, invest in SQL.

However, my addendum to that sentence is “But not really anymore.” That’s because you know what is really good at writing SQL? It’s language models. They’re just really good at it. And so do you have to learn it anymore? I don’t know. I guess you have to be able to try to use it after your LLM’s written it for you, and make sure that it works the way it’s supposed to… But I haven’t written a SQL query in a couple of years now by myself… And so there’s my addendum, is like maybe we don’t have to learn SQL, because it’s so low level… So low-level - that’s a weird thing to say. It’s low enough of a level that your everyday developer starting today and going forward won’t have to just write it directly anymore. They’ll have tooling that writes it for them. So that’s my change of mind, but also not so sure, because of what they’re doing to our workflows.

Yeah, I think it’s still valuable learning it, though. Because if you write Ruby code and the ORM maps out and spits out SQL, and you have a better understanding, or that LLM is down, or unavailable, and you’re like –

It’s local, baby. Come on.

[01:25:51.28] “…I’m kind of stuck here. I think I remember how this SQL thing works”, and you’re sort of stuck there. That seems like a first principles scenario, where you eventually will have – the first principle of being a good developer would be to use a database. And if you’re using a database, use a SQL-based database. And then to understand at some level how to construct SQL queries. But still be proficient in Ruby and ORMs, and how you use it natively in that language and that framework, because you’re faster, better, whatever… And I’m with you. I think that’s where my curiosity sort of lands at, is “Give me the things that make up the foundation.” I don’t want to become 110% expert in that foundation. I want to become 50, 60, 70, maybe 80, if it’s really important to me, but at least 50% on some of these foundational things… And potentially get to 80% of mastery with it, or awareness of it, or understanding of it because I think that gives you a good baseline. So when you don’t have your tool belt, or your complexity killer, which is an LLM, it’s like “Hey, I want to do this query. Write it for me.” Like, I don’t want to – there was some things I was doing recently with a backup, and I was in Bash, backing up a directory… And I don’t know all of 7Z’s params that it can be tossed, and at which case I would use them… I would never want to do that. I just want to know that 7Z is the tool. That’s my 50%. 7Z is the tool.

I’m using that tool to compress this thing. And I can use it on Windows, I could use on Mac, I could use on Linux… It’s available anywhere I want. But I’m not going to go and learn all the things about this thing so I know which params to use to keep the permissions, to do different things or certain compression levels… No. I’m going to ask the LLM to help me with that, because that’s mental bandwidth I want to give to something else that’s more important.

Right.

But I want to know enough about 7Z that it can. And I don’t need to know about all those swappables there. Same thing with SQL. Like, you should know enough about it to be content, and I would say secure in the code you’re writing and the queries you’re putting out there… Because whether you’re not [unintelligible 01:28:24.00] your database or spinning up your CPU to whatever, and your database machine topples over because you’ve written a poor query.

Yeah. No, I absolutely think that SQL is one of those foundational technologies that I think I eschewed when I was just coming out of college, because maybe I was taught probably indirectly that it was kind of a passing fancy, or it was like a thing that people are using, but it’s not going to necessarily be here forever… And there are query languages that have come and gone. I mean, I think that if you spent a lot of time investing in, for instance, MongoDB’s query language, that’s not useless information, but it’s not broadly useful, because there’s just not enough databases out there that speak MongoDB query language, or whatever it’s called. MongoQL… I don’t know. I know it’s JSON-esque, or JavaScript-esque.

And I’ve been leery of any database technology that comes out with a brand new query language and not SQL in addition. I think that that’s a dangerous proposition in terms of personal investment… But I’m not sure how much - like you said, how much does each person need to become expert in the foundational technologies today and tomorrow, versus maybe just proficient enough to guide and direct the LLMs towards success. I don’t know. I feel like that’s a moving target…

[01:30:06.01] …and one that I’ve been more skeptical of probably in the past than I am today. I think it’s progressing at a more steady clip if I’m talking about language model advancement is progressing out of a steadier clip than I thought it would. And they’re getting better, but yet still not ultimately reliable. So there you go. There’s my change of mind.

I think if I was coming out of college – if I would’ve been talking to me coming out of college…

Oh yeah, I like this.

…and I would have asked myself “What should I really learn?”, now today I’d say “You should learn SQL”, for sure. Like, just directly, go learn it. Master it. It’s going to help you.

80%? 110%? Where would you land?

Not 110%. It’s technically impossible. But I’d go –

It’s a stretch.

I know. I just like to point that out and be pedantic. I’ll go probably 80%. Yeah, I’d get 80% of the way there. Why not?

Whereas I probably only got like 30% of the way there, and then it took me years and years and years and years to like flesh out that knowledge.

Yeah. You know, the challenge though with learning like that I have found personally to be the case - and I’m sure you probably agree with this, too - is that I can’t truly learn and retain the learning unless I have a reason to learn it. And so maybe with you it took those years and those different experiences to have the reason to learn to the depth of 80%, as an example, you know?

Yeah. I’ve always been a means to an end kind of guy, so I do have to have an end goal in mind. I don’t learn for learning’s sake very well… Which is kind of what you’re saying, right? Like, you have to have a reason.

Yeah, it’s almost like I have to have a need, I have to have a problem, I have to be trying to solve something, or at least some curiosity that I’m trying to close a loop on, and then I can learn it. One example I can give you is that I’ve shunned away - if that’s even the right way to say it… I’ve just written off Windows in my life, years ago.

Yeah, same.

Until recently. Until recently. Now I think there’s a world where I as a computer user slash developer slash podcast slash business person slash whatever, I find that there’s a place for Windows, there’s a place for Mac, and there’s a place for Linux.

Where’s the place for windows for you?

This is still in motion. This might dovetail into a topic that is a bonus, I would say… So I tried to – I prefer Docker, so let’s just caveat that, for running applications. I tried to play with LLMs, Ollama, and stuff like that, Open Web UI on Linux, and had issues with seeing the GPU, and enabling the GPU to Docker on Linux. And maybe it’s just me and I’m still just not there yet, but Windows was super-easy. It just worked, because Windows is so widely used that, and NVIDIA is so widely used on Windows machines that there’s a perfect marriage there. I didn’t have to go and load drivers and be special about it. It was just there. And when I launched Docker desktop on Windows - well, guess what? The GPU was available. I didn’t have to do anything special. And in minutes, I was to a place that took me trials and tribulations beforehand. And it could be because I was poking in the dark, and it could be because of X, Y and Z. I don’t think it’s Linux’s fault… But I’ve found that getting to Ollama running, accessing the GPU, and Open Web UI being there, Tailscale on the machine, and then now that essentially AI machine is available to the network and all my tailnet was just like so fast comparative to the same path with Linux.

[01:33:56.21] And so creator PCs, even…. I like to build machines. They’re fun to build. Swapping out components, choosing your CPU, and stuff like that… I think the thing that Macs do for people like us is they really simplify it. It’s like “Well, I don’t have to think about any of those parts, because Apple solved it in a single small box, and it churns through less power.” But to a tinkerer, that’s not very fun. And I admit that it’s a solved problem by them, but it’s not that fun.

So a creator PC or an AI machine - I think those are the two areas where I think Windows has a good chance to kind of go there for me. Could you do the same thing with Linux? Probably, but I had issues. And I was like “You know what? Maybe I can solve this”, because I’ve seen other people solve it easier with Windows. And it’s actually not that bad. It really isn’t.

There’s a cool script from Chris Titus that will install and debloat certain things around Windows to make it more enjoyable as an experience, less user hostile, as I said on that show with our good friend Tim Stewart/Techno Tim. I was like “I’ve written Windows off. It’s user hostile. I don’t like it.” But now I’ve given it another chance and I’m further along to the AI machine running on my network and accessible via my tailnet, to the point where I’ve got - let’s see here - multiple models running… Just too easy. It’s too easy now. It’s just there.

And you wanted to build that machine. You didn’t want to buy something.

Well, what would you buy?

A Mac Mini.

Yeah, I suppose. Yeah, what’s the – that’s no fun.

Because you said Linux versus Windows for your AI machine. I think macOS runs Ollama great.

So I’m not even saying there’s a right way or a wrong way. It’s just more about exploring.

Yeah. I was just curious why you ruled out macOS for that use. I think for a creator PC, then yes.

Yeah, I can’t build a Mac machine, that’s why. I can’t do that.

So that was a prerequisite to your decision-making, was like “I’m going to build something.”

Yeah, being able to build something, or repurpose hardware I already had, basically, into something that wasn’t – like, if I could build my own machine and put macOS on it, I would totally do that. But that’s not possible. If I had my rathers, I would install macOS over Windows pretty much any day of the week. Any day of the week. But that’s just not the option that Tim Cook/Steve Jobs and anybody else at Apple’s given us. It’s just not there.

Is Hackintosh not a thing anymore?

Maybe they are, but they’re always – there’s a word in there, hack. It’s always seemed like trouble-filled, and issues, and…

Isn’t that part of the tinkering?

Nah, not for me.

I mean, I’ve never been curious to the Hackintosh way. I’ve been curious to the Linux way, the stable, production-ready, production-possible way… And I could be wrong, but I feel like the word hack in Hackintosh is what just deters me. For the same reason I wouldn’t run – was it AchiLinux, or AshiLinux, or what was the name of it?

Asahi?

Asahi. Gosh, way off.

For me it’s Asa-hi. I don’t know how to say it.

On an Apple machine to run Linux. It just seemed very buggy. It’s not where my curiosity is. I’m not saying it’s wrong, it’s just I’m not curious there. I would much rather – but then again, I’m thinking “Gosh…”

But then you could have your cake and eat it, too. You could have your [unintelligible 01:37:29.02]

Precisely. That’s where maybe I’m wrong. Maybe an M4 Mac, a base-level–

And I’m not sure if Hackintoshes are still a thing or not, because that was a big community back in the day, but… I know with its switchover to ARM things changed, and… I don’t know, I don’t keep up, because I just run Apple hardware. But I wonder where the state of that is.

Yeah. Well, I would say you could probably answer that, because you’ve got an M1 Mac, you run Ollama, I think… How do you run your local AI? Do you do that at all? Do you just go to ChatGPT every time now? Are you local-only?

[01:38:05.06] I do both. It’s kind of like Google and DuckDuckGo, you know? …where like I use DuckDuckGo and then I’m like “his result might not be good” and I go to Google. And I kind of do that with – I switch back and forth between DeepSeek and Ollama 3.2. And now that DeepSeek is out, the DeepSeek Coding latest I think was the one I was using… And I use that. And then when I’m like “Is this the best response that you could do?”, I then go over to ChatGPT and I paste the same prompt into ChatGPT. And I think that ChatGPT pretty much is the Google to my local DuckDuckGo currently. It’s better. Not as good as Changelog++, but it is better.

No, it is not that better. It’s a different better.

[laughs]

So there’s where I’m at.

I also wanted to be curious, too. It wasn’t like “Oh, let me build this –”

Oh, I’ve got no problem. I’m just playing devil’s advocate here.

No, I like that, because it pushes back on your reasons why you would do X. And also, I was like “Maybe this Windows world has got its pros and its cons.”

Maybe it’s cool.

Maybe it’s cool. I’ll tell you one thing, it’s got some cool things in it; it just remaps certain keys… One thing I like about it is whenever you hover over the icon in the taskbar, and if you’ve got multiple instances of it, it will let you choose which one. Like, if you hover over it, it gives you this new UI that shows you “Here’s one, two, and three”, for example, like [unintelligible 01:39:30.10]. That’s kind of cool. Am I going to move there for that? No, but it’s nice that it’s there.

Right.

And I think WSL has some really cool stuff involved, and I haven’t even gone as deep as I could so far, but like Windows Subsystem for Linux version two is what is being used now… You can run Linux side-by-side with Windows. It’s almost like – it’s a VM, yes, but it feels more native because you can reference the file system on both. And I think that’s super-cool, the way they’ve melded that together. And I haven’t explored it all, but I think it’s just wild how they’ve done that. And we’ve known about WSL for years. And here I am, just now learning it. You know what I mean? Like, that’s just the JIT of learning, in my opinion. I’ve known about WSL, but I’ve never had a need to learn it or a desire to learn it beyond just knowing it’s there. Now I’m like “Okay, I can probably spin up this, and run Docker”, and Docker leverages WSL on Windows to make Docker do Docker things. But man, it was just pretty easy. Honestly, pretty easy.

So let me ask you a real dumb question, from somebody who hasn’t booted Windows since college. You build a creator PC. How do you get Windows on there today? Do you like USB-drive it, or whatever it, or…?

Yeah, yeah. It is a bootable ISO. And if you’re doing it on Mac –

So it’s just like it used to be. There’s not like cool, new ways of doing it.

Network-booted, or something…

You’re just booting into your BIOS, you put your USB stick in there, you’re confirming which – selecting that USB drive to boot from, it boots and you do the install process. It’s no different than the way you would do Linux, or…

And how do you get it onto there? Do you just download it for free off of windows.com, or…? How do you get your actual OS?

Yes, you can download the 64-bit ISO from Windows.

And it used to cost money for that, you know?

So they – it does still cost money.

That’s not cool.

I believe they’ll let you use it to a certain capacity for free. You can’t change the desktop background, you can’t do certain things… But it will be a machine I believe that can run in perpetuity without any restrictions. There’s like certain things you’d want to do you can’t do without getting a license key.

And so I really wish – like, that would be… Maybe they would lose tons of money, but that would be cool. Like, make Windows free, like macOS is free. macOS is essentially free to anyone who can run the hardware.

[01:41:56.13] I figured they would eventually get there, but they also have so many enterprises paying for licenses that I’m sure there’s some bucket of money that would just stop flowing in, that’s not worth doing that.

So Windows by default should be free, or could be free, as an example, in this world. Windows Pro could be the paid license. Just saying. Just saying. It’s got some cool firewall stuff… Windows Firewall Defender is pretty cool. It’s pretty easy to configure. It’s pretty easy to hop into the command line and do like IP config to know where you’re at, for example… It’s pretty easy to run things in like sudo mode, or whatever you want to call that, like as an administrator… I mean, it’s not dramatically different than maybe even macOS is in terms of what you could do… It’s just a different flavor, honestly.

No, I get it. Here’s why I will never go there.

Backslashes are trash, dude.

They are trash, man…

[laughs]

I haven’t encountered any backslashes yet, though.

Oh, you haven’t gone to the C prompt, right? If you launch cmd.exe, it launches you to C:\, doesn’t it? Or have things changed that much?

You know, I haven’t navigated the file system via the terminal yet.

So I just haven’t gotten there.

Don’t do it, man. Don’t do it.

Once I’m there, maybe I’ll be like “This is the worst ever.”

The honeymoon will be over.

Yeah, I’ll be like upset about it.

Alright. Well, that was a good – I appreciate that you’re exploring, that you’re tinkering, that you’re trying out things that most of the people listening to this know very well, all the basics you’ve described to me, about how Windows works…

You’d be surprised.

Meanwhile, I don’t know anymore, because I haven’t run it since college, but… Cool. It’s a Windows world that you’re entering.

I’m open to a Windows world. I’m open to a place where –

He’s exploratory.

…where Windows is an option. I would love a monitor that has KVM built into it, like this guy did. And it’s not because I saw him. I’m curious about this world where the monitor can be the KVM to it. You have a keyboard and a mouse plugged into the monitor or connected to the monitor, the monitor is the KVM. You can swap between a Windows PC and a Mac machine. Now, I would love to see how well some of these LLMs run via Ollama on like an M4 Pro, or something like that. Because maybe that’s just the easy button. Maybe that’s the less fun tinkerer button where you can – I mean, I’m not getting a chance to build that machine, but that’s kind of the, in quotes, fun part, is choosing the components, and choosing the motherboard, and putting it in a cool case, and maybe some RGB if you want to… Now, that’s not me, I’m not an RGB kind of guy, but I do like things to be aesthetically nice, you know? So thus far it’s just in this rack mount kind of ugly thing that was just in the rack. Like, it was a different machine beforehand. It was actually my Proxmox machine that ran Plex. And I built it for Plex before, and now I’ve repurposed it.

Gotcha. Well, stay tuned… Will Adam’s mind be changed about Windows? He’s open to change. He’s open.

It’s production-ready right now. I mean, I can go to – the machine’s name is Genesis… I can go to Genesis right now and run Open Web UI, and I’ve got Ollama 3.2, 5.4, latest DeepSeek 70B, DeepSeek 32B… 70B is a little slower, but 32B is pretty fast. I mean, it’s almost real time results with it. 5.4 is pretty good, actually.

And do you run your max against it then? Like, are you running it from your Mac over the network to your AI machine?

[01:45:50.14] So I’m in the browser right here in Safari, on my Mac.

Oh, you run it in the browser.

Gotcha.

It’s a Open Web UI. Do you know about Open Web UI?

Yeah. I just think you should hook up something native to that, like the enchanted one, or something; like, some deeper Mac integrations. It’d be cool. I haven’t used Open Web UI. Maybe it’s amazing, and you don’t have any need for something like that.

Well, Open Web UI basically is a version of what ChatGPT is to Ollama. So rather than doing it from the terminal, you’re doing it from the web, like ChatGPT. And you can choose your models, you can do code interpretation, you can do all sorts of things.

The other cool thing is you can right lane/left lane two different models. So you can single-prompt, add two models to the same prompt, and let whichever one win, and choose the one that’s winning. So if you know “Well, I will sometimes get better mileage out of 5.4 versus Ollama 3.2”, for example, you can compare those two together in the same question and just choose which path you want to go, or keep going down both paths. It’s kind of cool.

So are you off ChatGPT then?

[laughs] So you’re like me, straddling.

That’s the test. So that’s my hypothesis, is – so my question really is this… This is the question I think I’m trying to answer. It’s one, fun to tinker, but two, is it worth spending the money on hardware to local your AI, given that more and more models would become more and more open source? Or is it better to pay X dollars to Open AI, or whomever - Perplexity, or you name the different places you can go to. Claude, for example. There’s some cool stuff happening in Claude, because there’s a lot of things they’re doing in that web UI. Claude in particular, with like document-based collaboration with the LLM. [unintelligible 01:47:40.16] say collaboration, given that you’re so anti-humanizing these things, anthropomorphizing these things… But being able to in the UI iterate on the document in a way that you as the prompter can know it’s not being changed… It’s like changing parts, versus whole document kind of thing.

Claude’s got some cool stuff going on, too. So to zoom out again, my question really is like is it worth it? And it may not be true today, but at some point it will be - will it make more sense to have your own AI-able hardware on your land, on your local network, to run against Home Assistant, to run against yourself, your kids, whomever it could be? It could be a service inside the household. Could it be that today, and skip the bill? And I don’t think it’s about cord cutting; because this is like kind of cord cutting in a way… But it’s like, I don’t always want to share all that info with someone else. It’s in my own local LLM.

Right.

And you have nothing to hide until you have something to hide. You know what I mean?

That’s right. No, totally. I think that’s a real good reason to want to do it, and I think that if we could – I think the models will get there in terms of their quality responses, and I think that the interfaces will get better with how you actually feed your life into that local networked thing… But will the devices come along?

[01:49:12.20] Like, it would be rad if I could take my Echo and point it at that, instead of Amazon servers. Now, I don’t think Amazon has any reason to do that, but if there was like an Echo-like – because ultimately, like you said on a previous episode, you want to talk to these things. And right now we’re talking to an Amazon server. And I’d much rather ask questions, or have my kids ask questions of something that’s running on my local network… So when they do ask a personal question to an LLM, it’s not forever in Amazon’s database, tied to a human. I think that that’s really creepy.

So I think that ultimately these efforts are worth it. I think right now the trade-offs aren’t quite there yet, and there’s way too much groundwork to be laid by nerds… But we’ll get there.

Yeah, I think the recipe though is you could do it on Linux, Mac or Windows, apparently… Apparently…

Apparently…

…is Docker, Ollama, Open Web UI, either a really powerful CPU, or an IGPU. I don’t think Ollama actually recognizes IGPUs, or GPU. And GPUs are scarce, expensive… You can find decent ones on eBay… They’re actually – if you can eBay well, you can find a decent one. Maybe just buy the M4 Mac Pro, and call it done. And maybe you’ll have a limitation, right? That’s essentially an IGPU. It’s an integrated GPU. I think Ollama runs well there, to my knowledge. But if you want to go crazy and do multiple GPUs, you’re going to have to motherboard that thing. That means you’re going to choose between Linux and Windows. And in my case, I was like “Okay, I got better mileage or easier mileage on my shoes when they were stamped with Windows.” And so that’s the route I went. But basically, Docker, Ollama, Open Web UI… Pick your model from there. Capable hardware… And that’s how you can get to local LLM today. You can play with DeepSeek, you can even do a smaller parameter model… LLaMA 3.2 is probably the one that most people can run, because it’s small enough. LLaMA 3.3 is pretty big. It’s 70 billion parameters. It’s sizable. 70 gigs, I believe, which is larger than most people can run on a single machine, unless you’ve got multiple GPUs.

I wanted to get to that point where I could run those things, and what I would love now is once I’ve sort of gotten that mastered and running stable, to begin to – and I don’t even know what the terminology is, Jerod, so forgive me if I’m stupid in this regard, having done what we’ve done for so long; now I’m actually learning it… It’s I want to train one of these models, or teach it a particular trick. The particular trick is like “Okay, here’s all of our agreements, here’s how we price, here’s how we quantify… Make that job easier.” Can it make that job easier? Can it make me faster in those ways, and be just as accurate, and sweat the details just as much as I do, in the real time, doing those exercises myself? That’s what I’m really trying to get to. I would love it if I can get to certain things I do that are deep think things, that are crucial in business to get right… I don’t want to give people the wrong price, give them the wrong contract, or the wrong terms… I want to give this thing certain parameters, certain business parameters to get to certain results, so I can kind of like word-calculator my way to faster, easier, better quotes for people, and stuff like that. I don’t want it to write my novels… I just want it to help me make those kinds of things faster, and be my word calculator, and be very accurate. So that’s my next journey.

Cool. Well, let us know how it goes.

Okay, I will.

Bye, friends.

Bye, friends!

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. 💚

Player art
  0:00 / 0:00