Changelog & Friends – Episode #4

"Mat Depends"

featuring Mat Ryer

All Episodes

Mat Ryer is back and he’s brought with him 10 tips to be a 10x developer (like he is). After that, we try a new segment we’re calling “Tool Time” (and try out a few jingles for it along the way). Finally, it’s time to review our previous unpopular opinions and put some new ones into the world for your (dis)agreeing pleasure. Join us for an automagical time!

Featuring

Sponsors

FastlyOur bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com

Fly.ioThe home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.

Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You literally can’t get any faster!

Notes & Links

📝 Edit Notes

Chapters

1 00:00 Let's talk! 00:38
2 00:38 Mat Ryer is back 00:06
3 00:44 B2TF Musical? 👀 00:55
4 01:40 B2TF controversy 03:36
5 05:17 We own Mat 01:04
6 06:23 Mat Depends 👀 01:44
7 08:07 10x devs do exist 01:09
8 09:16 Mat's cookies 02:54
9 12:10 Here for the tips 00:08
10 12:18 #10: coffee 01:07
11 13:25 Just stay 'til #6 00:38
12 14:03 #9: standing desk 00:34
13 14:37 Stacking multiplier 00:41
14 15:18 #8: make mistakes 01:23
15 16:41 #7: new keyboard 👀 00:57
16 17:38 #6: write tests first 01:06
17 18:44 What is 10x about? 01:27
18 20:11 "10 Eggs" by Mat Ryer 01:12
19 21:23 Did you hear about wood milk? 01:37
20 23:00 Mat drinks oat milk 00:37
21 23:37 #5: pen and paper 01:13
22 24:50 "Dear Diary" by Mat Ryer 00:47
23 25:38 Better compilers 01:21
24 26:59 #4: water 02:13
25 29:12 #3: KISS 01:57
26 31:10 Adam's idea [page|bucket|box] 01:38
27 32:48 The best idea 01:09
28 33:57 Another idea 01:10
29 35:07 In the works idea 01:02
30 36:09 An almost good idea 01:07
31 37:16 Least recommended 00:59
32 38:15 An idea we're doing 01:11
33 39:26 #2: love yourself 01:50
34 41:16 #1: Vitamin D 03:21
35 44:38 A new segment! 00:38
36 45:15 Mat's Tool Time 00:57
37 46:12 What goes into a linter 02:18
38 48:30 How do you lint? 01:32
39 50:02 Elixir linter 01:04
40 51:06 Flat Earth!? 04:07
41 55:13 Adam's Tool Time? 00:14
42 55:27 "Tool Time Jingle #1" by Mat Ryer 00:39
43 56:06 Adam's Tool Time 02:19
44 58:25 The future of 1Password 01:47
45 1:00:12 "Tool Time Jingle #2" by Mat Ryer 00:27
46 1:00:39 Renaming 1Password 01:45
47 1:02:24 Jerod's Tool Time 04:02
48 1:06:27 Queen Latifah 02:17
49 1:08:44 Why Jerod needed ntfy.sh 03:24
50 1:12:08 Configuring DNS 01:56
51 1:14:04 Good DevEx 01:50
52 1:15:54 What is good DX? 01:39
53 1:17:34 Improve NextDNS 03:16
54 1:20:51 Unpopular Opinions! 00:17
55 1:21:08 Reviewing Adam's unpop 01:35
56 1:22:43 Reviewing Mat's unpop 02:44
57 1:25:27 Reviewing Jerod's unpop 00:36
58 1:26:02 Mat's 1st unpop 01:18
59 1:27:21 Mat's 2nd unpop 03:13
60 1:30:34 QUIZ TIME 01:20
61 1:31:54 Adam's unpop 03:29
62 1:35:23 Jerod's unpop 02:06
63 1:37:29 End with a song? 00:35
64 1:38:04 "Automagical" by Mat Ryer 01:00
65 1:39:09 Coming up next 00:58

Transcript

📝 Edit Transcript

Changelog

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

Mat Ryer is back, and he’s got a Back to the Future T-shirt on. You’re back!

I’m back!

The musical. There’s a musical Back to the Future. The musical?

Yeah.

I didn’t know this.

“Great Scott Marty!” I can’t believe you haven’t heard of the musical.

I haven’t.

Never. And I’m a big fan.

Yeah, of the originals, I assume. Not of the music al, if you’ve never heard of it.

Well, of course, I meant the Back to the Future fan.

Since he can’t logically mean that, Jerod, I would have just deleted it in my brain before saying it, if I were you. Yeah, this is a musical in London. I’m trying to defeat the camera as it follows my face…

Yeah, he’s really – for the audio only folks, I’m going to narrate this, to some degree. He’s like lifting his shirt… I don’t know if he’s trying to like show us something…

I think he’s trying to cover up his face, which would be much appreciated…

Beneath or the actual decal that’s on his shirt? It says “Back to the Future, the musical.”

Don’t pull it up any further than that, please.

And then the decal is “You’ve got doc, you’ve got your Marty McFly…”

So it’s a stage show in London. Okay, I’ve never heard of this.

It’s a stage show in London, yeah. And a musical, and a really good one. I enjoyed it.

There’s a lot of controversy around this film, you know that, right?

Is there? Well, some people say it’s not possible.

Yeah, I’m gonna try to recap it, to some degree. So the dad in the original film was not treated very well as an actor. And that’s why in part two – spoiler…! The actor was not treated very well, and had some issues with them, and something like that… And so basically, at least in this day, as an actor, you essentially gave your likeness to the franchise you were with. And that’s why in part two, the dad is upside down. You can’t recognize a person when they’re upside down, and so they transplanted his likeness with virtual effects, and all this different stuff… And there’s a big thing with this. And it was a muck. Amazing films, but that’s a thing no one really thinks about, is the dad was not the dad in part two, and that’s why he’s upside down, is to hide his likeness.

Yeah. I bet the lawyers didn’t see that one coming. It’s like, “No, we’ve protected your likeness. There’s no way out of this.”

That’s right.

Spielberg is just too smart. He’s like “Pop him upside down.”

I don’t even know how much the directors got into that, really… I wonder if it was like producers… I’m sure the director’s involved, but he probably advocated for this. But yeah, it was a big deal. Sorry I can’t give the full story, because I’m not that versed in it, but I’m a familiar with the controversy in the whole situation.

So the actor is Crispin Glover, George McFly being his name in the original. Now, when you say the dad is upside down - I haven’t seen Back to the Future 2 in a long time. What exactly do you mean by that? Is he literally upside down in the shot?

Well, you remember they go to the future in part two. They literally go to the future. Because they went to the past in part one. It’s called Back to the Future. It’s like the weirdest thing, right?

They went back to the future…

Right. They went literally back, after they went to the future from going back to the past.

The future’s in the forward, so how can you go back in it?

So in part two, they literally go into the future… And I believe they go to our timeframe. It was like 2015, or something like that.

Yeah, 2015.

Which was obviously not now, but it was recently now.

They went into the future, but it’s the past.

Right. And so in that future, the dad was upside down because he’d hurt his back, and this thing he was using was something to make his back better. And his hair was upside down, and he kept flipping it, and… Yeah.

It was floating around upside down. Because you can do that in 2015.

I remember the hoverboard. I remember the tiny pizza that gets huge. Always wanted one of those. I figured we’d have them by now, but maybe like physics, or something… Laws of the Universe. Can’t do it. Sports Almanac was pretty cool…

Oh, my gosh… That was pretty cool.

Yeah, it was a cool idea.

I want one of those.

But then Biff got it, didn’t he? And we all know what happened there.

Yeah, and he got rich.

He did, actually. He did quite well and became President.

It says here “Crispin Glover”, as you said, Jerod, “was a joy to watch, but was absent from the sequels. What happened?” And this was Collider. We’ll throw this in the show notes. And this post explains it, but there’s tons of YouTube videos on it, and whatnot.

So right now I’m thinking back to that spoiler horn I just wasted here, because - is the part that you spoiled is that he’s upside down in part 2? [laughter] Is that a major plot point? I can’t remember.

No, I think he means he spoiled the fact that it’s not – everyone’s probably tuning into Back to the Future 2, all the kids are on the way to see it… They want to see Crispin, and they’re gonna be bitterly disappointed.

Okay, fair enough.

Well, we had the horn, Jerod. You know, like any new toy, you’ve got to play with that toy.

I know. As soon as you said spoiler, I was like “Hold on, I’ve gotta push this button. That’s a spoiler horn.”

Horn away.

I’ll try and spoil some things, too.

Okay. Well, you do naturally quite well.

Thank you. Just a quick question then - do you own my likeness because of this? Like, how does this work? Because you have to have permission to put this video out.

Right, but you gave us permission, do you not?

Well, for this likeness, we didn’t ever talk about it. And how alike does it have to be?

That’s actually a really good point, because there’s a lot of people who work in the - I would say recording, generally, space; video to audio. And you really should have an agreement of some sort, or a likeness agreement, how it will be used. I mean, that is the right way to do things, honestly.

Right.

You could put me on T-shirts.

Or underwear.

And now that you say that - I mean, it would be smart of us as a business to do that. But it would be obvious. So no, we don’t. But you know…

[06:01] Yeah. You could sell Mat Ryer underwear, and I would have to use my likeness of this. And sell hundreds and thousands of copies. Not copies, but editions… And I see none of that.

Right. Underwear maybe not. I would say diapers. We’ll probably put your likeness on diapers.

Oh, or depends. That’d be a really good line. “It depends…”

Tech diapers for when you’re a 10x developer. Well, this is what I’m here to talk about today.

There you go.

No, it’s “Mat Depends”, Jerod. “Mat Depends.”

Mat does depend. Well, he depends on many things… Mostly himself, when he’s coding, because Mat here, it turns out - we’ve found out in the interim… By the way, Mat, we have to thank you for helping us sort of give birth to this new show, because last time you were on the Changelog Podcast, which you’re not technically on right now, but you are technically on right now… It’s kind of like back to the future, in the past…

Oh my gosh, what’s canon?

Everything’s canon.

Oh, man…

Yeah. So watch what you say.

Okay. This is complicated. How many timelines has Changelog got then? How is this not on Changelog?

This is a new flavor of the Changelog called Changelog & Friends. This is a talk show. See, we invited you on just to talk.

That’s right.

It shows our lack of judgment. But here you are, nonetheless. And you were on our prototype show. It was called “Git with your friends.” And we did a little bit of prototype. Did you know that we were testing you? We were testing things out when we invited you on that day?

No. Was I just a guinea pig? Did you own my likeness?

We did. We put it out there.

I don’t know if we owned it, but we certainly used it… And it turns out people actually enjoyed that episode.

Oh, nice.

Yeah, that was strange… So we thought, “Wow, maybe we’re onto something here.” So we invited you back…

How many enjoyed it? 31,000. Wow, at least 31,000 by our CMS’s tracking, which is - it’s missing about 10%, would you say, Jerod? About 10%? Maybe 12% or 15% tracking elsewhere?

Yeah. But 13 comments on the discussion thread, which is a good number of comments. And this gave us confidence to do this show again. So here we are. When we invited you back, you actually confessed to us that you think you’re a 10x developer, and you wanted to talk about it on the show. Tell us more. Tell us more.

Well, a lot of people think 10x developers are mythical, like Australians. I haven’t really got time to get into it now, but there’s a lot of evidence that Australia is not real. But this is real. I’m here to tell you that 10x developers do exist. I happen to be one of them. I’m coming to just admit that now, and just be honest about it… And also to come and just share 10 simple tips to be a 10x developer.

Just give it away for free.

So first of all, is it possible to ascend this hill? Are you born 10X or not? Are you just a rare unicorn? Do Adam and I have a chance?

Yeah, that is a great question. The thing is, whatever the truth is, you can never have the position that “Oh, I can just not be something.” You just never should have that position about yourself.

So think positive. Positive thinking.

Yeah, I think so. So I think you have to work from the assumption that you can X up your dev, and become some of the higher X-es; it doesn’t have to be 10.

Right. Maybe you only get to like 7.5x, but you’re trying.

Yeah, that’d be amazing.

That’s cool with me. I’ll take that.

Alright, let’s hear some of these 10 tips to be 10x.

Well, just before I start, I will just say, will you accept my cookies? You have to accept cookies.

[laughs] Can I select certain ones? I’ll take all your cookies, Mat…

Just the required ones…

Oh, you’re not going into the advanced; you’re not those guys – who goes in those advanced settings of the cookie pop-up?

Every time. I’m relentless.

Do you really?

Okay… [laughs]

He spends hours…

I just accept them. I’m just so tired of them. I’m like –

You look so serious, and I thought “Maybe Adam is the kind of guy who goes in and just selects…”

The occasional website.

My default is reject all. You’re gonna ask me again next time anyways…

Yeah, well, they can’t remember, can they, because you’ve rejected the cookie. That’s why they can’t remember Jerod.

Stack Overflow is relentless, man…

No, actually I accepted. No, I learned; I machine-learned it. StackOverflow I accepted over and over again, and I got sick of it. I’m not gonna keep accepting if you’re not going to remember my setting. Like, that’s what a cookie is for, you fools.

Yeah, what’s wrong with them? Why are they doing that to us?

[10:10] So I’ve been rejecting ever since.

I’ve been wondering if this is like an MK Ultra thing…

Hmm…

…with this accepting of the cookies. They’re just like seeing how much they can push you.

Yeah.

“How often can we get them to truly accept every single time they come here?” Because you have to, right?

It winds me up. We need to get rid of it.

You guys did it, didn’t you, Mat? Wasn’t it your fault?

It was the EU, yeah.

Well, technically not Mat’s fault then, right?

Well, I blame Mat, really…

Do you still have to accept the cookies?

Well, I’ll tell you, it just gets in your way of life. And I’m in a hurry. I’m trying to find out if it’s normal to say “Cheers mate” to a cash machine. So I haven’t got time for clicking. And nevermind all the advanced settings, and things. Yeah, so I’d say get rid of them. But anyway, you’ve accepted the cookies, so I can continue. And I will just say, number six is going to blow your mind.

No, we rejected them. We accepted the ones we had to have only, to be clear. So be clear, please.

You know, I’ve worked in tech a long time. I know exactly what a cookie is. And even I don’t know what they are. What’s going on?! Accept what?

[laughs] I know you’re not being honest right now, because you’re a web developer. Surely you know what cookies are.

What are you on about? Why do I have to click accept all the time?

I don’t know. It’s a good question.

Must have consent. Just like with your likeness, Mat. We can’t just assume you want to give it to us. We have to explicitly say “Yes, you can have it and you can use it.”

Yeah. But don’t put me on pants.

Underwear. Not pants, underwear.

Underwear.

And we have a perpetual worldwide nonscindable license, your license to put you on Mat Depends, which is a future product coming to merch.changelog.com.

Mat Depends.

I like that product. I suspect Depends is a brand of adult diapers?

It is, yes.

Yeah, but not “Mat Depends.”

That’s really good joke. Credit where credit’s due. That makes sense, once I figured out that it’s the brand. The US audience is gonna love that from the beginning.

So they’re gonna love it.

Oh, you weren’t getting the joke for a bit there. I’m sorry…

No, but I like it.

You know, the best jokes is when the person later on tells you they like it, you know?

Oh, yeah.

They don’t laugh at it, but like, that joke was good. Always feels great.

The audience is like “Can you just get to those 10 tips, please? I’m here for the tips. I’m here for the tips.”

Yeah, yeah. Here come the tips. It’s a good point.

Just the tips.

Okay. Number 10. Most developers don’t know about this one simple trick… Coffee. It’s delicious, healthy alternative to brushing your teeth.

That’s the first tip.

Kick the day off with a cup of coffee. That’s number 10. I mean, obviously, they’re gonna get better…

Can you be specific with the coffee? Can you tell me like type of bean, regions from, what was the elevation it was grown? Was it in the shade? Was it in full sun?

Do these things matter?

It does, Jerod. Very much so.

Well, I don’t know, but I’m asking Mat. For my 10x. I’m just here for the 10x, and I don’t really care about the details. So if I have drink coffee, fine. But does it matter? Do I have to go to Nicaragua specifically to get my beans?

I feel like you should feel happy about it, so make sure they’re not doing any evil. You can’t have evil beans. You can’t start the day with evil beans.

Okay, no evil beans. Taking notes.

What are evil beans?

You know how you have – they talk about them being ethically sourced…

These are like blood diamonds?

Exactly. You don’t want blood beans.

No blood beans. Alright. Fair.

There is a truth to that, yeah. Fair trade.

Fair trade. Exactly. You want to make sure everyone’s getting a piece of the pie. Coffee pie. So yeah, a cup of coffee in the morning. That’s simple. That’s how I’ll start.

So that’s number ten. Are these in order of importance, or are you building to something here?

Building up to number one, actually.

I can’t wait for number one. If number six is going to blow our mind, I can’t wait for number one.

Yeah, but hang on… On those lists online, when it says “Oh, here’s the top 10 things. Number six is going to blow your mind.” Why is it not number one, then? If it’s that good, it’s going to blow our minds, why is it number six? And why did you bother putting anything before it? Our minds are blown.

Maybe they know that they’re not going to have you for number one, but they might get you to that second page, right?

That’s literally it. They’re just like “Just stay till number six, and we’ll get a bit of ad revenue.

[13:57] “We’ll be happy. Yeah, we’ll get our clicks.” You know…

“And we can justify our existence making these horrible websites.”

Alright, let’s hear number nine.

Okay, number nine. Standing desk.

I got that one on lock.

Yeah. A lot of people sitting down a lot… Also, don’t just stand up forever. You’ve got to have the variety. It’s all about variety. You can either get a desk that moves up and down; the standing, that’s the sort of classic one. Or if you want to splash out, you can actually get your desk stationary, and have your floor go up and down.

I like that.

Yeah. And that’s like if you really want to do it, that’s how you do it. Go big. But yeah, standing desk. Change of scene, change of position…

So are each of these a multiplier? So if I got coffee and staying desk, now I’m a 2x, or 3x?

It could be, yeah. I think probably it does work like that, just for the sake of this format.

Good, because I’m two for two right here. I’m feeling pretty 10x so far. Keep going.

Yeah.

Technically, you’re 1.5, Jerod.

Okay. Well, I’m no mathematician…

Well, because you stand only, and he just said you can’t stand only. You have to have variety. Although you do have a couch near you, so that is your non-standing. So I’ll give you a 1.75 then.

I’ll take it. Keep going, Mat.

I thought you meant that he squatted all day. I was gonna say, that’s impressive. Half standing, half sitting.

That would be impressive. Like a wall sit, just hold that for the day… No big deal. What’s next?

Number eight, be okay for things to not work out. A lot of things that slows us down - we really want to make sure we’re not wasting our time. That itself can become a waste of time, where you get obsessed with trying to make sure you’re not going to make a mistake. And sometimes you’ve got to just jump into it. At some point, you’ve got to jump into it. And usually, the sooner, the better. But that definitely does depends; Mat Depends. Coming soon, from Changelog.

Is that synonymous with “Move fast and break things”? Is that kind of like, is it similar grounds?

Yeah, it is. It’s about “Be okay to make mistakes.”

And just leave them there too, right? Just keep going.

Well, if you’ve got a reason to fix it though, that’s great. That means you’ve got a reason to fix it. Like…

Is that like job security? Like, you have more work to do now, so that’s great?

No, I just mean you get invalidation of the project. It’s like, if someone’s complaining, “Oh, I’m trying to do this thing, with this thing you’ve just built and released very quickly, but I can’t do it”, that is great.

It’s a good point; you have to use the software to find the bugs. You don’t care about the bugs if the software is not useful, or being used.

Or use the bugs to find the software. Chew on that for a minute…

That’s true, yeah.

Alright, number seven.

Jerod’s like “I’m over this one…” Seven, please. Go.

This one has almost made too much sense. I feel like it needed to be more ridiculous, but…

No, it’s not a list of unpopular things to do to be a 10x.

I didn’t say that.

Oh. Fair enough. Number seven - new keyboard. Treat yourself.

See, now we’re back on ridiculous. I appreciate this one.

Some people have other interests. Some people have got kids… Some people have even got friends.

A few. A few people have friends.

But for the rest of us, mechanical keyboards, or just a different keyboard… Like, it’s the thing you interface with the most, physically. Mix it up. Again, it’s about variety. If you can, have a few that you cycle through.

How many?

I mean, I’ve got too many now. It’s becoming weird. Yeah, I need help.

Do you name names?

I’ve just got a Keychron Q9.

Oh, it’s got a cool, yellow Escape key, and a yellow return key. Or Enter. Oh, it’s wired though. It has a wire, Mat… That’s not 10x at all. Wires are not 10x. They slow you down.

Spoiler alert – well, unpopular opinion. Get the song on, because I don’t like wireless keyboards.

I might take the opposite on that. I like wireless. I hate wires. That’s too popular. Alright, Mat… So I’m waiting. Here it is, number six is going to blow our minds…

Six. Go!

Write tests first, baby, and get good at it. Writing tests after is horrible. Writing them first - you’re motivated… You get better results. You do. And they’re done when you’re finished. You don’t then have this chore hanging over you.

How does that possibly make you move faster?

[18:02] Well, it does for me. I don’t know. But genuinely, it’s about clarity of thought, and it’s about validating things as you go. It’s probably like there’s a bit more friction, but it’s really healthy friction. So maybe there’s a bit of – like, if you just didn’t have any tests at all, and just knocking something out as a prototype. In a way, that’s kind of different. In that case, I sometimes do do that. But if it’s something that I expect to have a life, and it’s going to exist properly, I’ll TDD it as much as I can, baby… Because I like the things it forces you to think about.

Have you tried test-only?

Well, I’m just gonna get ChatGPT to write the code.

I didn’t say anything about code. I just think test-only development would be faster, technically.

So you’re just writing tests…

Yeah, man. Really fast compared to everybody else.

Is being 10x about speed, or capability?

It’s gotta be… Productivity. It has to be, right? That’s the whole point. Your 10x more productive.

Well, you said “How is that faster?” So you’re implying speed, because - faster. So how do you really classify what a 10x engineer/developer is? What specifically is it? Is it about speed, is it about getting more done in less time? Is it about better software, faster? Is it about shipped faster? Is it about users revenue faster? At what point is it a 10X thing?

I think that’s a really good question. And there are probably people out there that made the same mistake I made when I originally heard this term… Because I originally thought it was 10 eggs. Like, people ate 10 eggs. You know, you get these tech bros that have these –

Eggs… Get outta here, Mat…

…really weird things. It’s just like “Oh, he’s a 10 eggs developer.”

Like in Rocky, where he drinks the eggs in the morning as he trains?

Yeah, just drinking eggs down.

And what do you want, salmonella?

I know. Did they not have it then? Maybe they haven’t discovered it. Or is it just too strong that even salmonella is like “Yeah, I’m not even taking this guy on…”

Or he just considers it part of his training, like his body just has to overcome it.

I’m sorry, I have to do this prompted. He’s back, Jerod. He’s got his guitar real close. Do a song, Mat. 10x Developer, right now. Go.

10 eggs developer… That’s a good prompt. You’re prompt-engineering over there, Adam…

And throw Mat Depends on there too somewhere. I’m like Howard Stern right now. That’s what Howard Stern does, with his musical guests. He’s like “Just go. Give it to me.” Go.

[20:13]

If you want your code to really have good legs… You’ve gotta wake up and drink 10 eggs… Yeah, drink them down, all those eggs; it’s gross, I know, it’s giving you salmonella… But it’s worth it… It is worth it…”

10 eggs.

Nice. Very good. Okay, so we’ve established 10x really translates to 10 eggs.

No, no, no, that’s just what I originally thought, but I was wrong. So actually, don’t listen to that song that we just did. Don’t learn from it, definitely.

Yeah, that’s just for fun.

Not even.

That’s motivation. If you need the 10x motivation, you listen to 10 Eggs, the song, and you get going.

Oh. So to be a 10x developer you have to listen to the 10 Eggs song. That makes sense.

You can have one of those 10x days. You’re waking up, you’re like – and by the way, if you’re vegan, you can just have oat milk.

Oh, gosh… Did you hear about wood milk?

[laughs]

Maple syrup.

Not even kidding you. Are you guys familiar with Aubrey Plaza?

She’s an actress.

Oh, I thought it was a place.

She was in Parks and Recreation… That’s one of her come-out, I guess –

It sounds like a place as well. It sounds like a park.

That’s where she was really found and discovered as a great actress.

[21:44] This is an impression of my boss, Leslie Knope. “Women should do everything. Check out my four-color pen. Hey, everybody, listen up while I talk about some really, really important stuff. Parks, parks, parks, parks, parks. [unintelligible 00:21:54.25]

[22:02] She’s a comedian, too. She’s very comedic. She’s also got a very serious face on her. And so you mentioned oat milk, and as a making fun of everybody who’s drinking macadamia nut milk, and oat milk, and…

Almond milk, and…

…pick whatever you can get milk out of milk, almond milk, you know… She said that she was revolting and going – there’s all these woods around her; she wanted to get milk from the woods.

[22:25] Now, let’s take a look at how wood milk was born. Not born exactly. More like squished into a slime that’s legal to sell.

And so she would chop down the tree… It’s a whole thing. You should check it out on YouTube.

Wood milk.

It’s hilarious. Hilarious. But it’s making fun of everybody who’s drinking almond milk, and oat milk and whatnot.

Plant-based milks. I think it was actually a campaign for milk.

Yeah, exactly. Exactly.

Or just to mock people who –

Well, it’s supposed to be tongue-in-cheek and funny, but also - yeah, I’m sure there were people that were offended by it, because she’s mocking them. But…

Yeah… It was not meant to be not offensive. It was slightly offensive, for sure.

Yeah. But you’ve got to be able to take a joke, haven’t you? I mean, I drink oat milk, and if I got angry every time someone made a joke about me drinking oat milk, which is all the time, actually, and I am getting sick of it… And people on the street, shouting… When I’ve got people on the street shouting at me about it – how would they even know I’m having it?

What does it sound like? They’re like “Hey, Mat, you’re drinking that oat milk again?” [laughter]

That’s it.

What do they say to you?

This doesn’t really hurt, does it?

Oh, it’s just Oatboy, Oaty McOatface. “Is he drinking oat milk? Go get him!!”

Is this why those people in Berlin kept yelling at your “Wanker!”, because you were drinking oat milk on the streets?

They did shout that a lot. That could be why.

Now we have a reason.

Up next, it’s number five… This is a match made in heaven. These are two-in-one, really.

So five is two.

Five is kind of two-in-one.

So it’s five and four together.

They’re in brackets. Yeah, they’re together. It’s not five and four. It’s a tale as old as time… It’s the classic pen and paper. Pencil if you like, but pen and paper. Material actual away from screens; use that to jot down ideas, write down insults if you want, if you’re getting angry at a couple of – say you’re doing a podcast with a couple of people, and they’re really annoying you… Write down your feelings. Don’t let them come out. Write them down just to get them out, and then you can carry on being nice to them both.

Can you give me an example of journaling for you to be a 10x-er? Would you say like “Oh, this fmt thing has just really got me upset…” What do you write?

[laughs] Wait, is it diary entries? Is that what we’re doing?

When you write about things like – yeah, that you’re upset about with the computer.

Isn’t it mostly just like reinforcement? You’re like “You can do this, Mat. You can be more productive. Remember the time that you coded real fast?”

“You are the best, really. You are 10x. You are 10 Eggs.”

Play some sad music over this and I think the listeners would get a sense of this.

[24:59] Dear Diary, today was not an easy day. I’m afraid the compiler complained that I didn’t have a semicolon in a really specific place. And… Like, it’s the computer. So it knows; it’s the one telling me that it needs a semicolon there. Put it there! Diary, it should just put it there itself. I’m livid. I didn’t have my coffee this morning, because I was ill-prepared… And I’m worried about my likeness ownership on different streams I’ve been on. See you later, Diary. Bye!”

Of all the people to be worried about their likeness, Mat, I just don’t think that’d be something that you should be concerned with.

But you are on to something though, I agree with this. Smarter compilers would be nice, right? If it’s wrong, can you just correct it for me and tell me that you’ve corrected it for me, and then make my life happier? Don’t yell at me… You know, and you’re my minion. Do the minion work.

Yeah. Yeah, it should be like “Sort it out. Do it yourself.”

That’s right.

[25:56] That reminds me of the Fly control command line tool. Fly. When you type fly, whatever, whatever, if there’s a new version, it says “Update available. To update, type fly version upgrade.” And I always wonder, why should I type upgrade if I want to update? Shouldn’t I just type update? Inconsistencies… Hold on to that thought, we’ll come back to it with developer experience, because that is annoying… Also, just go ahead and upgrade it for me. I’m fine, you know…

Yeah, but still, it’s quite a good experience. Quite a good developer experience, isn’t it? …telling you that, in that moment when you’re using it, there’s an update? Quite nice.

And then you’ve got to type upgrade?

I mean, you can manage that, mate.

It’s a completely different word, man…

It’s the same with Homebrew. Homebrew you don’t update things. You upgrade things in Homebrew.

I think we should introduce our friends to a thing called an alias. Like, when I type “fly version update”, it should just be like “Oh, he meant upgrade, because this command doesn’t do anything. But it’s very close to that command that does exactly what he was thinking.” Let’s hold on to this for our later discussion. Mat, number four.

Number four - I don’t know why, I’ve just written down “Water.” I think it’s because you need it, otherwise you might die.

[unintelligible 00:27:07.14]

These are amazing tips. I mean, this is like – if I was a survivalist out in the woods, these are things I would do. I would journal and drink water, and 10 eggs in the morning.

So does this 10x anything? You can just 10x anything?

No. No, this is definitely developer-focused. Some of these would be different if I was doing it for survivalists.

Half of them are not…

It sounds like 10x survivalist.

Yeah, half of them are just like random advice for anybody who’s going out into the woods.

Be okay for things to not work out.

At least what survivalists you know what a 10x means… Because they’re just gonna survive 10 times longer.

That’s right.

With developer, we have these questions about what 10x means. But with survivalists it’s quantitative.

I’ve watched enough, Jerod. I would say survivalist is not how long you survive, it’s how much you thrive. Because surviving is not thriving, you know…

That’s a thrivist. Completely different thing.

Yeah, that’s the truth.

Thrivalist.

[laughs] I’m always more of a thrivalist.

Yeah, the thrivalists are the next-level survivalists. They’re the ones that are like – they’re not just going out there to survive, they’re out there to live.

That’s right.

They’re stranded, but they’ve got like a four-pack.

Do they have shoes on? Are they wearing underwear made by themselves? Do they have hats?

Yup…

Adam asks the hard questions. “Do they have hats?”

Well, do they make-shift themselves a hat, because they’re walking in the sun? They’re doing distance…

Is that thriving, or is that surviving?

I would say so, yeah… I mean, because if you’ve seen enough of these shows, you see people who are like really sucking wind, and they’re basically eaten lizards, man.

Or worse.

They’re eating lizards and crying, and wishing for some shade. Then somebody else has got clothes manufactured. They’ve got makeshift shoes. They’ve got a an entire campus they’ve built because they’re just thriving. And they’ve got not just meat, but a stockpile of jerky, because they’ve been smoking it.

And meanwhile, their competition is drinking wood milk.

That’s right.

And that’s not thriving, that’s survivalism.

They’re out there trying to get the milk from the wood.

I think maple syrup could be – it’s not milk, but it’s interesting…

That’s sap.

You think it tastes good, or what’s your point?

Yeah, it tastes alright, yeah.

Alright. What’s our next number? Let me guess. Let me guess. Breathe…

No, I forgot that one, actually. But you should do that. I didn’t put it on the list. But this isn’t like instructions – these are just things I do.

These are 10 tips to be a 10x developer.

Yeah.

And number four was water.

Yeah, just - I had just written down water, I mean…

[laughs] Alright, let’s get through this…

I think you need it though, don’t you?

It isn’t necessary. It’s implied though, really.

Not on Mat’s list it’s not. It’s explicit.

That’s how important it is. But then you do bring a good point about breathing.

What was three again? Is it really breathing?

We haven’t heard three.

Gosh…!

He won’t reveal his top three. Mat Ryer’s top three survival tips…

[29:54] Okay, it’s the top three now. Not survival tips. These are thrivalists, if you want to be an X 10 developer. Number three - keep things simple. Really actually do keep things simple. One of the things that slows us down - this is a real one. One of the things that really slows us down, because things are complicated to do, and we build a lot of that complexity ourselves. So avoid doing it for as long as you can, and take on the hit later of having to go and refactor stuff, because you do it when you’re in a position where you really understand it.

It’s not to say don’t design, and obviously, there’s loads of things that you can move at the speed of light before… But when it comes to actually doing things and building it and making decisions, like about what dependencies you bring in, about what packages you’re using, what features you’re going after, what problems you’re trying to solve - the more complex that is, the harder everything is. So there’s a genuine tip for how to do - it’s really about focus. Keep things simple. Don’t overdo it. Don’t let this scope creep. If it’s going to creep, creep it smaller, if you can.

Small creeps are better than big creeps.

Yeah, they’re easier to deal with.

That one I can agree with. Water, I can agree with, but it’s sort of implied.

Yeah.

Yeah, this is a good one.

Pen and paper you don’t agree with? Do you write things down when you’re sketching ideas, like if you’re thinking about something technical?

Oh, yeah… Not writing though. Usually, it’s – I mean, yeah, digital notes are better for me. So I take lots of notes in different places, stuff like that. So I’ve got an idea page just in Obsidian. It’s just full of ideas.

Right. Like what?

Just ideas for like how to grow, how to do different things, fun things to do…

Open up the idea page.

Just read them all off.

Let’s hear some ideas.

Gosh… Alright.

Mat and I can critique your ideas here. This will be fun.

We should be angel and devil, Jerod. One of us should be –

Oh, okay.

But Adam can’t know which is which.

Okay. And we’ll switch each time around.

Yeah. So don’t look, Adam, at the screen. Jerod and I will decide.

Jerod, I’m going to point to the devil, okay?

Point up or down.

I’m going to point to the devil.

[unintelligible 00:31:57.02] Down is the devil. Okay, me.

Yeah, but that’s revealed it.

[laughs] Well, if you’re pointing…

Yeah, but he can’t see. I’m doing it so only visually you can see. He can’t hear it.

He’s sitting right there.

Yeah, but close your eyes, Adam. We’re going to just decide. Right. Jerod, what’s the up and down system? You can’t change the system halfway through.

Devil’s down and angel is up.

Okay.

These are all bad ideas. Holy moly. Let me get to my good ideas page here…

Oh… He’s his own devil.

Alright, let’s do a good cop/bad cop then, if we want to leave theology out of it.

Okay. Point at the good cop.

Yeah. Okay, ready?

Yeah. Got it.

Well, these ideas are pretty sparse. Okay, maybe I do need paper and pen. So some of these ideas are a little old… They seem to be pretty terrible ideas, I’m kind of embarrassed to even share really any of them…

Now that they’re coming up to scrutiny – well, pick one that you like.

Well, the one I really liked was – these are all really bad ideas…

No such thing.

[laughs] No such thing. Let’s hear it.

I’m gonna start with what I think might be the best idea in here… And Jerod, I shared this with you before, but this is sort of against the grain, because we’re trying to like keep it simple too, with our network, and not grow by too many podcasts. So I thought if ever we did a gaming podcast, or a gaming-friendly podcast, or a casual pod about games and gaming, it’d be cool if it was called High Score.

Hmm.

I’m loving this idea.

It wasn’t too much. I was like “That’s a cool name.” If we did a show on games or casual gaming… Because I’m not a gamer per se. I’ve played games, I play games, and I will play games, you know?

[laughs] But he’s not a gamer.

Not like, you know, Mike McQuaid, for example. He seemed to be way more into like A-list games.

Well, there’s like hardcore gamers, and there’s casual gamers…

Yes, precisely.

There’s like ex gamers, aspirational gamers…

You guys sure say gamers a lot for a couple of guys who claim not to be gamers, guys…

I didn’t make any claims over here…

Are you a gamer, Jerod?

I like games…

Yeah. Okay. Likes games… I’ll just write down “Likes games.”

Here’s another one I want to do at some point… And this is kind of like - people have done this one though, so I probably wouldn’t do it… And I wrote this down probably forever ago, before people were doing this more often. In particular, Network Chuck. He’s done this. He’s a coffee guy.

[34:10] Is it gonna be “Something-something-something. That’s the tweet”?

No, not at all.

Oh… Because that’s a classic now.

Oh, here’s an idea… Twitter threads. Is that it? Did I guess it?

No, no, no. It’s nowhere near Twitter. It is “Work with a coffee brand to create a hacker coffee blend.” So Mat, since you said number one was coffee for you, this is up your alley. We can call this “Blend 10x.”

I’m loving this idea.

10x. For developers.

Yeah. We put that in our merch store… We’ve chosen the – maybe we get a couple of different… You know, whatever. It’s kind of cool.

Maybe we could find a doctor to actually claim that it somehow makes you a better developer. I mean, we won’t be able to find one of them in the UK, but definitely in the US.

Yeah. You pay them enough, they’ll say anything.

There’s scientific proof about caffeine, inhibitors, and stuff like that with your brain.

We could have “10 out of 10 developers recommend”, you know?

Yeah, exactly. We just ask 10, and any that don’t say so, we kick them out.

So this one’s actually in the works, to some degree, this idea… “Create coding albums/mixes with Breakmaster”, which we’ve done; we’re kind of doing that behind the scenes… To put on YouTube. Like, music that people can program to. A 10-hour mix, just a jam session. And have many of them, many tracks. And Breakmaster is working on this… But that wasn’t my idea, but we’re working on it.

It could be called Coda

Yeah, just like the end bit of a song. Well, you know, just one idea. Pop it on the list.

Let me add this here to the list. It’s unique and different, you know?

But no, that’s a great idea, because you’ve got to find it to get in your zone, haven’t you? And sometimes, a way to do that is music. I sometimes listen to French songs, because I can’t understand what they’re saying… And it still sounds beautiful, but I’m not distracted by it, because it just sounds like a nonsense to me.

I’m with you, I can’t have lyrics while I’m working… But I like music. So if it’s lyrics in somebody else’s tongue that I don’t speak, I’m fine with it. It sounds like another instrument.

Here’s one you actually might like, Jerod. I never told you this one… And it’s almost good.

Fire Jerod. [laughs]

Am I still the good cop? I can’t remember.

Yeah, you’re good cop, yeah. I forgot to be horrible.

Okay, I have to like this…

I’m gonna read it verbatim. “It’s a live page powered by our “Recommended episodes.” So you go there –

Why is it in quotes? Because they’re not actually recommended?

I don’t know…

[laughs]

Itt means something. “Yeah, it’s recommended.” Well, these are all recommended… Right?

Okay… A live page powered by our recommended episodes. What happens at this page?

Right. So you go there – so if you just want to listen to good tracks from us, good episodes, past, present, future. It’s a cool-looking page, it’s got a live radio UI, it’s got some soft, cool visuals… It’s streaming text of our news feed, which doesn’t exist anymore… Tweets, clips… It’s a place to go to get good stuff right now.

I see.

And it’s powered by our Recommended page. That’s a half-baked idea. I often bring half-baked or not well thought through ideas to Jerod, and together we yin and we yang that thing. Or as they say on Silicon Valley, Yin and Yan.

Right. I like that idea. I think you could also go the other way, because there’s an audience for those episodes that really don’t work… Awkward, argumentative… You know, when it’s like, oh, there’s tension, or it’s just silence… You know, people are just not feeling it, or it’s nervous… You know, those shows.

Least recommended.

Pop them on. I love those. They’re so…

Awkward.

I can’t get enough to listen to them.

Is he joking with us? I can’t tell.

Well, he does uncomfortable things…

Oh, they’re amazing. I love those embarrassing ones.

[37:49] So I will say this… I’m not going to name the podcast, the episode number or the guest, but I will say that we have had an episode of one of our podcasts where a single question asked by the interviewer spawned a response that lasted 18 minutes.

I know the podcast, not the episode number. I’ve tried to forget it.

So if you like that kind of stuff, we just have one of those. But can you imagine? Somebody asks you something and you answer for 18 minutes… That for us is a record.

This one we’re doing, Jerod. This idea here is –

The bad shows idea?

No, no, this one I’m about to read to you.

I thought you meant this episode was gonna be on the bad show idea.

Yeah, I was done listening to that, so I was just gonna move on.

Adam, we need a little bell or something when you’re switching ideas, because we don’t know when one idea starts and the other one ends.

Here we go, changing the idea right now. This one is “Yearly Plus Plus members get T’s”, which we’ve wanted to do for a while. Special T-shirts. And then also a personal email from one of us, and ask them one or two questions, a minute or two answering them… Listen, share on Twitter… I don’t know; interact, essentially.

Nice.

We’re kind of doing that one, except for the yearly members getting T’s. Talk to your users, basically.

I email all of our members.

I know, that’s why I said that. We’re doing this one. We’re half-doing this one. We didn’t give them a T-shirt, but…

We don’t give them T-shirts, but we do give them emails, which are equal value of a T-shirt, I think. [Changelog Plus Plus. It’s better.]

I do not disagree. I’m done. That’s it. That’s the best of the bad ideas.

Alright… Not so bad. You’re just all self-conscious. I think those are some good ideas in there. But I am having to say that because Mat made me the good cop, so I was forced to enjoy all of your ideas…

Give us two, Mat. Give us number two.

Okay, number two just says “If you can’t love yourself, how the hell are you gonna love anybody else?”

Oh my gosh, Mat…

This is a RuPaul quote, but… Being polite to people doesn’t cost anything. Being nice, being kind… It’s a cliché for a reason. Give you a quick example - recently, I saw a guy outside who was carrying a little bag of poop, but he didn’t have a dog around him. I didn’t see a dog. So I was still nice to him. I just said “Good morning”, and then I just crossed the road and just went a different way.

[laughs]

This segment on Twitter – or on YouTube. We’re gonna put this out. They’re gonna watch my face react to your number two. And I’m gonna be saying – like, my face just is like in disbelief that that’s number two.

Are you saying that how Mat reacted to that guy is number two?

Yeah, that’d be good, too. That’s a good pun, thank you.

No, that’s bad pun.

That was an unintended pun. That was not intentional. But - yeah, that’s funny that this is number two in your examples.

Yeah, that’s just a coincidence.

Are you being serious, Mat, on this one?

About the poo story?

No, about this being number two. This is a 10x tip?

Yeah.

We’re almost at number one.

Be kind to people. You’d be shocked what you can achieve.

Was it dog poo in the bag?

I hope so, Jerod. I hope so.

So this is about giving people the benefit of the doubt, you know? You’re being gracious to this man, and assuming that it was dog poo. I get it… It’s a weird example, I’m not gonna lie. It’s a weird story to tell to just thousands of people. We’d never had to hear that story, but now we all know about it.

It’s possible he had some Go code in that bag.

Oh, come on…

That wouldn’t be poo… If you asked him where he was going, he might even say…

Dan-Tan! Dan-Tan! Yes…!

[laughs] He’s going Dan-Tan!

Oh, my gosh.

Okay, number one. Lots of pressure here. It has to be good. It can’t be as bad as number two.

Number one… Vitamin D.

Excuse me?

Vitamin D. Take it as a supplement.

[laughs]

Oh, my gosh…

Most of the supplements I don’t really take. If you’re in a country like in the UK in the winter months, you will not get enough vitamin D from the sunlight alone.

Right.

A lot of people think you can’t really get it from the sunlight, safely anyway… So supplements seems to be the

safest.

A lot of people think you can’t get it from supplements.

Yeah, but do your own research, definitely. But…

I will concur with this one… Because a lot of people are vitamin D deficient. Almost everyone is in modern society, because of just modern society. And for sure, taking a supplement. Now, I would also say, take it with the vitamin K2.

Is that K as well, vitamin K as well?

No, it’s called K2. It’s like B12, K2, you know…

[42:10] But hang on, you’re not one of these people that just believes anything, are you? [laughter] I don’t know how real we should take that. Are you reliable? Just objectively…

I will just say, blanket statement - we do not have medical advice here on Changelog podcasts. Consult your local doctor.

Let me see if I can find the science here. So there’s vitamin D… Yeah, here we go. Google this - vitamin D and K2. You google that and you find what it says. It says “Should vitamin D and K2 be taken together? Vitamin D should therefore always be taken in combination with K2, because the vitamins work together to synergistically”, I’m not making this up, “and ensure that Calcium obtained from food is deposited into the bones, and not the arteries.” It activates the D.

Well, hold on… What did you search for though, Adam?

Vitamin D and K2.

Well, obviously you’re going to find a website that says that. That’s what searching is.

Well, I know this. I’m trying to find the information. I already know this though. My doctor told me this. So I take K2 and vitamin D together.

So ask your doctor if that’s safe for you.

As well as vitamin D.

Yeah, vitamin. That’s how I say it. How do you say it, Jerod?

Vitamin.

Are you sure you’re not just saying it how I’ve said it though? Because I think I was the first one to say this, and I’ve said it in a British way.

I say vitamin, 100%. I don’t know how else you could say vitamin. But when I’m referring to vitamins, I say vitamin. But when I’m asked how to say vitamin, I just say vitamin.

There we go, he’s walked it back.

I’ll tell you how we say it here in Texas. “You’re taking them vitamins over there…?! Them magic pills…?”

[laughs] Here’s what I love, here’s what I love… It’s that Mat confidently says that his top tip, his number one tip for being a 10x developer is to take vitamin D. And then Adam says “Also take vitamin K2”, and Mat says “If you believe anything, you’ll just take anybody’s advice on the internet.” You just gave a top tip here, Mat. Do you think vitamin D is perhaps a safer vitamin to recommend thank K2? Or because you haven’t heard of K2?

Yeah, I just haven’t heard of that.

I just thought it was a movie. Wasn’t that where they get stuck on a mountain?

K9. It’s like a sequel to a K9 movie. I imagine it’s a robot cop who is a dog, and this is the sequel. It’s called just called K2. 2 Furious. It’s just called 2 Furious, because it’s just angry. He’s not going fast, it’s a dog.

K2 Furious. Yeah. Fair enough. Alright, well, there you have it. 10 tips…

10 good tips.

…to be a 10x survivalist. Let’s now turn to a new segment that we are testing out. A prototype. We like to use Mat to test different things. This one’s called Tool Time. This is where we share tools that we have been using lately, or for a long time. They can be critical to our workflows, they can be new to us, but we think they’re good, and we have reasons why we think they’re good, and we recommend them to other people if they have similar problems in their lives that these tools can potentially help solve. So Mat, you’re the guest, so you’ll go last night… No, we’ll go ahead and let you go first.

Oh, no, last is fine.

Tool Time. What have you got going?

Well, I want to shout out – this is a classic that I think loads of people already use. I use a Go-specific one, but there are this tool in other languages as well. I’m speaking in this abstracted way just to add some drama… Because it’s linting. Linting tools. I love them. I’m quite pedantic, so I’m very particular –

I haven’t noticed.

[45:42] Oh, yeah… So I’m quite particular about things. Like, if there’s a bit of smell in the code, it bothers me. And this is unusual for such a 10x-er as myself, because normally that’s the trade-off, is like, you’re just moving really quickly, and what you produce isn’t really high-quality. But actually, the opposite. Keep it high-quality. Linters help you do that. A lot of the Go tools tend to be – they don’t have loads of configuration, so you get a lot of kind of defaults that are pretty sensible as well.

What all do you think should go into a linter? And how does that compare with go fmt? Is that a linter? Is it just a formatter? Are these the same things, are these different?

Yeah, they’re subtly different. I mean, fmt does focus on literally formatting, and there’s a Go imports flavor also, which does the formatting and fixes your imports, which is really cool. But the linting things are around like if you just have declared things and haven’t used them. Actually, in Go that is an error sometimes.

I was gonna say, Go doesn’t let you do that, right?

Yeah, but you can still declare functions that never get called, and things; that’s still valid. So linters just help you pick up those edges, and just keep the quality there. By and large, the advice you get from a linter is pretty sound and worth following.

One time, it did suggest something that I didn’t like, and I did do a PR to remove it, and it was accepted. This was from the Go linter. So sometimes you do have to roll your sleeves up, and help get the laws changed if something’s annoying.

Yeah. Is this so that you can move faster when coding, and think less about the specific details that a linter can catch for you? Or how do you leverage a linter when it comes to efficiency?

Yeah, it’s really just about having that sense of the quality being high. You know when you have a project and there’s loads of warnings, and they’re just building up and up?

And you’re just like “Then what’s one more warning to that?” It’s nothing; you’re gonna accept it. If you have no warnings at all, from the beginning, and no lint errors or issues or whatever, then you see a couple, you’re gonna want to fix them. And it’s just that; it’s funny, because I think really to move quickly and to keep moving quickly, your quality has to be really high. This is why I start with tests; your quality is naturally very, very high. And you’ve got great test coverage, which also helps you move quickly, of course, because now you can make big changes and you know you haven’t broken things that were there before. There’s only so far you can get just by prototyping before it reaches the point where it’s no longer easy to add things, and change things.

So yeah, shout-out to the linters of the world. We love you. You’re pedantic, you’re awkward, sometimes we hate you… But just like a lot of people, we love you.

It’s a love/hate relationship. So in Go land - not the IDE, but just the –

In the land of Go.

Yes… How do you lint? What do you do? So you have go fmt, it runs maybe on Save, or on pre-commit hooks, and then your linter – tell us actually how it works for you in your day-to-day work.

On Save it does the Go imports formatting. So it fixes any imports and formats the code immediately.

So that’s the linter that you use, is the Go imports plus fmt.

No, that’s not really the linter; that is just doing formatting and import fixing. Then actually there’s a meta linter which you can use…

From Meta? From the team at Meta?

No, I don’t think so. It’s just meta because it runs lots of other linters.

It operates in the Metaverse?

It’s, it’s golangci-lint from golangci. We’ll put the link in the show notes. I use VS Code, and it’s just easy to configure. You just turn it on, and then you can configure it to say “Lint the whole package on Save.” Because sometimes you change things; like, the linter looks across the whole package, so it’s worth running the whole thing each time… And it’s just lightning fast. It is on my computer, and probably on most computers… Unless you’re on a Raspberry Pi and you’ve got a – I don’t know. Are you on a Raspberry Pi?

Right now?

Right now, yeah.

Not currently. No, not currently.

Using right now, recording via a Raspberry Pi?

It’d be good, wouldn’t it?

No. Not happening. Okay, well… There you go.

Not today.

Lint your stuff. Do you use linters?

I use a roller. That’s how I get rid of it.

Oh, yeah.

There is a linter for Elixir that I set up on our project and I used for a little while, and it just got too annoying, so I turned it off and I moved on.

[50:14] What kind of things was it saying? Just like “You suck! Why would you do this? Learn this!”

Yeah, mostly those things.

That’s not very nice, is it?

I just don’t want to hear about it when my code is bad. No, mostly it was just like its opinions dramatically were different than mine, and it was going to require a lot of configuration. And I probably diverge more from the Elixir kind of conventions, just because I work in isolation a lot, and don’t have to do too much working together with other people and playing nice… And so – it didn’t even really bug me, it was just like one more thing that wasn’t providing value, and I am a fan of simplicity, and removing things that aren’t providing value… And so I just didn’t really get the value out of it that it offered. But I think – I’m not against linters by any means, I think I’m with you on pretty much everything you said; I just don’t practice what I preach, I guess.

Yeah, it’s interesting. No, a dramatically different opinion to the linter is quite an interesting place to find yourself. It reminds me of Flat Earthers; they find themselves with dramatically different opinions about some things… But actually spending some time to learn about the shape of the Earth, and other things, might be beneficial. But yeah, it’s exactly what happens if it builds up and up.

Are you a Flat Earther, Mat? You’re speaking like you really know the details here.

He brings them up a lot though. He likes to talk about Flat Earthers. So he’s kind of maybe like not a Flat Earther, but maybe secretly is one. Like, he’s kind of obsessed with the whole concept of it… And so we’re wondering.

Well, I think it’s a conspiracy, the Flat Earth…

Oh, so you’re a conspiracy theorist.

…about the conspiracies, though. I’m a meta conspiracy theorist.

Oh, so you work for Meta, and you’re a conspiracy theorist. Okay.

I think they’re all fake. All the conspiracy theories.

With Meta linter.

Yeah, use the Meta linter, yeah.

Okay. There are some odd anomalies. Here’s the one thing… The one thing, not pro Flat Earth, but this is the one thing they say –

Ah, it didn’t take long. Here we go.

And this is really strange. And I’m not a Flat Earther, by any means. But I do find it super-strange and I would love to find scientific reasoning to why this is. And they say when you fly a plane, if it was around a circle, or if it was always going like that, you would always have to be edging down. Like, the plane always flies at the same altitude. I just don’t understand how that’s possible. And I get it, because you’d have to fight gravity to go up… But I’d love a scientific reasoning why a plane has to – you know, it flies across the curvature of the earth; why it doesn’t have to nose down? I really am just stumped by that one. I don’t get it.

Hm. Interesting. Never thought about that. I would think gravity would be the answer, but I don’t know.

Yeah. It does rotate down eventually, right? It must, because it’s going over.

No, no, no. They keep the same heading. The things that change – the rudders; the rudders that change its altitude and whatnot, don’t change to maintain the curvature of the Earth. Logically thinking about it, the reason why they don’t is probably because of gravity.

That’s what I was thinking.

The gravity is the unseen force that forces it to stay where it’s sort of at altitude-wise, and never have to adjust, because gravity is always pushing everything down. Like, when you see something fall, it’s not because it fell, it’s because the air around it was actually lighter. It’s interesting how you think about that. Even a balloon, you know?

Right.

Well, I don’t believe that response, because I’m actually anti-grav. I don’t know if you guys have heard of this, but…

Please explain.

Well, I just don’t believe in gravity.

Well, before we get into that, just - the plane is like in the atmosphere; if it’s like a fluid, the plane is bouncing on that fluid. It probably is wobbling all the time. It’s probably something like that. And then –

[53:53] I’ve been on airplanes, they do wobble quite a bit.

That’s true, yeah.

Well, you shouldn’t be flying them, Jerod, without your lessons.

There’s no mechanical change for the pilot to say, “Okay, maintain curvature of the Earth adjustments.” There’s nothing like that whatsoever. But I do think it’s probably gravity, and the fact that air pretty much is…

Yeah, like a fluid.

It’s similar principles to a liquid, it’s just air.

Yeah, I would think the atmosphere would have some sort of play on that.

Yeah, like a squeeze. Like it’s squeezing it. Are you seriously anti-gravity, Jerod?

No… ! What do you mean, anti-gravity? I just made that up to be silly.

Okay, gosh. I was like “Man, what kind of person am I dealing with here this whole time? Anti-gravity?!”

If you think about it, in the Einstein’s Universe, the mass is warping space-time, and we’re falling because of that. And so it’s not really a gravity pulling, but it’s more that space-time is warped, and we’re falling because of that.

The other thing interestingly, is gravity, the word - do you know how we say it also to mean like a big situation, like “the gravity of the situation.” That was the original term, and they named the force after that. It was like the gravity of it came later. So that word came first. I thought it was quite interesting.

So I actually am anti-grav, because I don’t believe in big situations.

Right. Yeah. You’re just like “Trivial.” Always trivial about everything.

Everything’s trivial. Yeah, there’s nothing to it. Alright, Tool Time. Adam, let’s move on to you, from antigrav –

Whoa, it’s tool time….!

That’s true, we do need a jingle. Should we get Mat to do us a jingle, Tool Time?

What key do you want it in?

Put it in A, for Adam.

Alright.

[55:27] It is tool time… It is tool time…

Yeah. Not all going to be winners are they?

[laughs] We can workshop that one…

Yeah, last time I did one, Adam, you were like “Oh, here’s some notes.” And then you left it in the podcast.

That was true.

It was an astonishing choice.

Yeah. I think my tool was more of a program, I guess; that kind of thing. And it’s oddly 1Password. And I’m really enjoying keeping my SSH keys in 1Password, so that I can biometrically - I use my fingerprint - get into things.

Beautiful.

Biometrically…

Biometrically…

Like other people’s houses? What kind of things are you getting into?

Well, one machine in particular - my favorite machine, because I built it - is called Endurance.

Endurance…

And this is both our, I guess, initial ZFS box. It serves many purposes, but I built it to be the Plex machine, but it also does a lot of storage, because I haven’t built the second machine yet. So I’ve got one, I plan to have two. And the second one will be called something else. But yeah, I’m SSH-ing into Linux boxes; Raspberry Pi’s, legit Linux boxes, other machines, whatever it might be.

Love it.

And I just do not like to type in passwords. And obviously, you could do keyless by just putting your key, your public key on the other machine. Pretty easy.

Right. That’s what I’d do.

But it’s even cooler when it’s literally you, when you biometrically authenticate the using of the key, which is what it does. 1Password catches it and says, “Hey, you’re trying to SSH into the machine. Sure that key pair is over there… But are you you? Because if it is, I’ll send the private key and match them up, and get the public key from the machine you think you’re going to. Good to go.” Biometrically signing into machines with SSH via 1Password.

So only you, or somebody with your finger can access that?

Yeah, it’s true.

Because this is the thing - a lot of people mistake this. You don’t just have one password, do you? In fact, you’ve got loads of different passwords in there.

Precisely.

Do you want to clear this up once and for all for the folks at home?

For sure, yeah. I mean, I didn’t brand the company, but I assume it’s because it takes one password to get into the application 1Password. Now, this week when we’re talk about passkeys; or actually next week… When the heck is this going out, Jerod?

[58:12] This goes out on Friday. So it will go out this Friday; passkeys is already out there in the feed.

I could be dead then, when this goes out, if I’m not careful.

I could be dead too, although I wouldn’t go out then.

Yeah, we’re not promised tomorrow, that’s for sure. Or even later today. I thought about that, when we were in that episode, Jerod. I didn’t bring it up because it was kind of anti the goal of the show… But I was like “What happens whenever it is a passwordless world?” Because at that point, 1Password the brand name is kind of obsolete. It’s almost like Facebook and Meta, to some degree.

My thought on that - because I did consider that; I was like “Wow, they’re all about passwords, and now it’s just passkeys.” But I think the idea is you still – you lock up all your passkeys with one password, so it’s extra secure. Because you’re not gonna have a passkey for your 1Password, are you? It’s to hold your passkeys, but it doesn’t open it with a passkey.

Yeah, I think you’d still have to have that something you know, which is –

I think you want diversity of authentication techniques. But nonetheless, 1Password is Adam’s tool for Tool Time. Now, Mat, we do need a jingle for Tool Time, so I thought maybe you’d give it a go, and see if we can get a jingle.

I just did one.

Oh, I thought we’d give it a second shot, you know?

Oh. Was it rubbish?

[laughs] No, but you know, iteration and opportunity. Maybe you could come up with something brand new, that was different, and we could pick –

I do like how Jerod came at that as if it never happened.

Yeah, I wondered if he was doing that or if he’s just forgotten.

I think it’s both.

I thought maybe we’d have a clean edit stop in case you wanted a second shot at it. But I’m mostly just messing with you…

It’s not necessarily gonna get any better.

[laughs] I just thought I’d give you the opportunity if you wanted a redo.

Thank you. No. I think when you listen back and pop a bit of reverb on it, you’ll love it.

Try this… Get your guitar out, Mat. Let’s try this. “Tools, tools, tools… Tools, tools, tools… Tools Time.” Let’s do it.

And then do the Tim Allen grunt, you know, from the old show Tool Time. Like, do one of those.

Well if you could put one of them on, that’d be great, because I don’t really know that. Okay…

[01:00:11.24] Tools… Tools, tools… Tools Time, Tool Time, c’mon, let’s go…!”

That’s better.

It’s a keeper.

Iteration.

That’s right.

Some other tool is iteration.

Opportunity. Teamwork makes the jingle work.

Adam, you said that you wouldn’t name it that, 1Password, if you had your way. What would you name it?

Oh, I didn’t say I wouldn’t name it that. I said I wonder what will happen when they’re passwordless. But I think Jerod cleared it up. So I don’t disagree that you would need one password to get into your passkeys when they take over all of passwords. So many words in there - passkeys, passwords, one password… What?!

Right. So you’re not gonna “yes, and” this segment.

I’ll “yes, and” it. Here’s what I would probably name it. Are you ready?

Yeah.

NoPasswords.

Clever. That could be a competitor. We could also have “The pass is always greener on the other side…”

Yeah. I’d keep working on that one.

PassGas…

Gosh, Jerod…

[laughs] Sorry, I was just going with rhyming words there. Could think of anything else. Pass gas.

Pass to the Future? That’s a good one.

Oh, that’s good.

And then I just wrote down “Pass B*****ds” I don’t think that’s appropriate… You might need to bleep that. I know it could be like the Tarantino movie title spelling. Let’s say it was that.

Mm-hm. Inglorious Passwords. Ooh…

Oh, there we go…!

I like that. But wait, there aren’t any passwords anymore.

That’s right.

Exactly.

That’s the whole point. It has to be Passkeys.

Nah, you can’t. Just keep it, it’s too good.

It’s Passkeys a good name, do you think, Jerod, for this world?

[01:01:51.10] It seems like it… Everybody knows what a key is. Everyone knows what a password is. And so it’s like “Hey, passkeys.” Like, “Okay, I passed my key, instead of my word.”

Yeah, that’s clever.

Yeah, but also, Inglorious Passtards is a stroke of genius that – we shouldn’t really just move on this quickly from it. It was that good.

Do you want us to have a moment of silence, or what do you want us to do about it?

Yeah, because I think Adam’s done a good sentence hasn’t he? How often does that happen? Let’s celebrate it.

Ta-daa…

Celebrate it.

Okay, that’s enough. That’s enough. If you add all that silence up, it’s one minute.

Alright, Mat, play that Tool Time jingle!

[laughs]

Sorry, I was giving you a chance.

You’re just not happy.

Third time’s a charm… Okay, so mine is called Ntfy.sh.

Oh, it’s interesting.

You can find it at ntfy.sh. I assume it’s called Ntfy. Tool’s called Ntfy.

That’s like nifty.

Actually, maybe it’s web 2.0, and they’ve removed the vowels.

They have it right there, Jerod, pronounced. Notify.

Yeah, I think that might be it. So the tool is called Notify.

How is that not nifty? That’d be such a good name for this thing. Oh, my gosh… I’m emailing them right now.

Well, the T is before the F. That’s why, Mat.

Well, they did it wrong. They should have done N, F, T, Y. Although then they might be associated with NFTs, and maybe they’re trying to stay away from that.

They could double that up when it fails, or if it does fail, because it’d be like “NFT. Why?”

Isn’t there a song like that? “N T Y” No? that’s a different song.

Yeah, there isn’t any song as well. I’m trying to email these people.

I know the song you were thinking of though.

What song am I thinking of?

It’s an ’80s rap song, I believe. “U N I E Y” or something like that…

“U I T T Y”… What is that?

Stop singing it, Jerod. Listen, I was just listening to the tail end of news, and you literally sang “It’s a whole new world”, and then you just denied singing A Whole New World. I’m like, “You just sang it.”

You’ve never heard me sing, if you think that was me singing.

What was it then?

You put out a tune; that was synonymous with singing.

Whose voice was making the noise?

I was mimicking the way the song might go.

Okay.

It’s different. Right now I’m just trying to get you guys to understand the song I’m referencing, but I’m not singing it. Don’t you dare.

You don’t have to be an idiot to go on and sing…

Okay, anyways… Ntfy, pronounced Notify, is a simple HTTP-based Pub/Sub notification service. This thing is really cool. It allows you to push-notify yourself from disparate scripts, programs, servers, cron jobs… Whatever.

Yeah. You name it, baby.

As simple as a Curl command. If it has curl on it…

As simple as that. It’s actually quite a hard command to use.

Yeah.

Well. You call yourself a 10x-er… It’s 100% free software. This is really cool. So I’ve had this problem for years, where it’s like “Hey, I have these different scripts, they’re checking on stuff, they’re doing stuff, they run at different times…” Mostly they’re just quiet, most of the time I don’t care. But when something happens, or when something changes, I want to be notified. And it’s like “How do I just send myself a simple notification?” I’ve used email in the past; email is not simple to do from like random scripts. And it has gotten harder and harder. I’ve used Twitter in the past. I used to have just like a private Twitter bot that I could just publish to, because their API was so awesome back in the day, where you could just post a tweet to a private feed, and then subscribe to that. These things are all pains in the butts.

So the cool thing about this one is like no signup, no login… You just pick a unique string as your key, and you like post to that endpoint. And then you download the app, Android, iOS, or what have you, run it on your desktop, and you just subscribe to that particular endpoint. And whenever it posts, it just push-notifies your phone. As simple as Curl… I mean, it’s super-cool.

It’s really nifty.

It’s Notify. Of course, you can get more fancy, and there’s payments stuff, and you can have sign-ins, and more security, and there’s all sorts of features. It’s built by, I believe, one person.

Philip C. Heckle.

[01:06:04.02] Yeah. And so I want to get him on an interview and talk to him about how it’s all built out, and stuff, just because it’s one of these things where I think he’s really, for me, drilled some key aspects of developer experience, where I’m like – I started using it, it just worked… I can say some other things about the way it works that I think plays into that, but I just want to open it up for you guys to talk about this Notify.sh. Pretty cool tool. What do you think?

I think if he came on the show, there would be one word I would associate with it, Jerod, when Philip comes on. In song form, I would say “Y N I T Y.”

Oh, that’s it! He found it.

Q, Queen Latifah.

[01:06:41.10] But don’t you be calling me out my name

I bring wrath to those who disrespect me like a dame

That’s why I’m talkin’, one day I was walkin’ down the block

I had my cutoff shorts on, right, ’cause it was crazy hot

I walked past these dudes, when they passed me

One of ’em felt my booty, he was nasty…

Yeah, Queen Latifah. Okay. What year was that?

Oh, Gosh, I mean, she was…

I thought you still had it open. Nevermind. Not a big deal.

I do. I don’t know what year it is, though. It doesn’t say that. ’80s, for sure. I mean, when she was rapping… Late ’80s maybe. Early ’90s, potentially.

Mat, do you know the song?

No, I don’t know that song.

You were around… 1993.

Okay. There you go.

Should we put it in the show notes?

U.N.I.T.Y. is a song by American hip hop artist Queen Latifah from her third studio album, Black Reign. That’s R-E-I-G-N, like the queen she is… Get it? That’s a good one.

Oh, because she’s a queen, isn’t she?

We do have a monarchy. Is she actually – it’s treasonous to say that. Is she actually a monarch?

Well, you can take that up with Queen Latifah.

Let me ask you a question…

Yeah.

What is Queen Latifah’s real name?

Queen Latifah. Double-bluff. That’s really a name. That’s my final answer. Lock it in.

I don’t think it’s known by the public. I heard this recently…

Oh. So you don’t know what her name is.

I don’t know her name, no. But I don’t think many people do, if they do. They must know her personally.

You teed it up like it was trivia for us… Her name is Dana Elaine Owens. Born March 18th, 1970.

That’s her real name? Just like that, one Google away?

Yeah…

So dear listener, I would not eat K2 if I were you at this point. I would avoid that, with my vitamin D…

Read the research, okay?

Yeah. Do your own research, but not like –

I did. It was one google away. Or Wikipedia page. It says Dana Elaine Owens.

No, I mean the research about the vitamins. I don’t want to be liable for this.

Well, Dana, good job being a queen, and a latifah. We love your music. It’s amazing.

Yeah.

I recall listening to Queen Latifah way back in the day, man… Yeah, for sure. U.N.I.T.Y.

That’s the Unity.

It’s the best. And so Philip will come on and unify our minds around Notify, and not Nifty. So Jerod, when you use this tool, like –

Ntfy…

Give me an example recently of how it’s useful for you. What were you doing that you needed this? Give me like the DevX version of how this worked out for you to be a solo Dev, getting this feedback loop.

Yes. So I guess shout out-to our Slack community who pointed this tool to me. I did put out some posts on socials, like “Hey, what’s a good way to just send yourself a push notification from a script nowadays?” And there’s another one called Pushover.net, that I think Lobsters uses for their community push notifications.

Also a good name, Pushover.

Yeah. I think Pushover looks cool as well. Really, just the one that got me was “Oh, no signup. Just post to the endpoint.” It’s like “That’s cool.” No auth, I don’t have to worry about credentials, and even like an auth header, or anything. I just post to an endpoint. So that’s easy for you to just play with.

[01:09:36.03] My initial use case for this was I have a – I’m on the UniFi networking things, and I use Next DNS, which is another cool tool that I will do a show on here at some point. Next DNS is the new firewall for the modern internet. This is like having a Raspberry Pi as a service, where they run all the things, and they manage the lists, and they add on features… Lots of really cool stuff, and super-cheap. It’s like 20 bucks a year to have that as a service. But you have to point your Dream Machine Pro, if you’re on this networking setup I have; that’s like my router. I have to point it at their DNS to distribute their DNS to my network… Which works great. You just install their little command line tool onto your UniFi, or onto your UDM Pro, and it grabs the DNS correctly, and it uses Next DNS’ DNS instead of Google, or CloudFlare, or whatever else; you’d be using your local ISP. And it uses that to block ads, trackers, you can have privacy, you can have security, blah, blah, blah, blah. All at the DNS level. The issue with it is, is that sometimes my UDM Pro would just stop using their DNS.

Oh. Why?

I don’t know why, actually. I think maybe a software update that like disables the command line… Because the way you install it, you just SSH in, and then you install their little deal, and it runs. And then it just stopped working. I didn’t notice for a couple of months. And I thought, “You know what would be great? If I could just know when that happens.” Because it’s easy to fix. But if I don’t know about it, now I’m unprotected and I don’t realize it, right? So what I wanted was a way of being notified by Next DNS when my stuff is no longer using them. And they don’t provide that as a service, but they do provide an API that you can just query and get your stats and stuff, and know if you’re still using the device.

And so I just scripted up a thing that just checks their API every half hour, it just runs off my laptop… It doesn’t have to be running like a server nonstop. It just has to run frequently. And it just checks Next DNS’ API and says, “Hey, are we still using you?” And they say “Yes.” And it does nothing. And then except for that one time when they say “No, you’re not using me anymore.” Then they just push-notify me. It says, “Hey, you’re no longer using Next DNS”, and I can go there and fix it. So that’s my use case. But that’s just one. There’s tons of little things.

I love the sound of that developer experience. By the way, it was getting a bit like – wasn’t it, Adam? …like being stuck with the boring guy at the party.

For a bit there, yeah. I was like “Let’s move on.”

Dang, guys… You asked.

I’m kidding. I was just agreeing with Mat.

I was also kidding, but…

So it integrates with – you install a package, Jerod, on the UDM PRO?

It’s just a POST, an HTTP POST.

No, no, to configure it, to use DNS, the UDM Pro.

Yes, there’s different ways you can set up your network, and that’s just the suggested one, when you have access to the router, and you can–

What are the other routes? I mean, could you just point to DNS servers? Because that would be the Easy button there.

You can… You have to – if your IPv4, they require you to have a… What do you call it? Dynamic, DY DNS? You have to have a dynamic DNS.

DynDNS, yeah.

I don’t know, there’s some sort of like feedback loop they require. IPv6 they don’t require, but for some reason they say my network does not support IPv6, which I’ve found strange, but didn’t really care enough to futz with. So I didn’t want to do it; you can also do it on the devices. So the cool thing about that is it protects you on cell networks as well. So you can just install like the Next DNS app on your phone; they are not a sponsor, but they darn near should be. And you can run it – so you’re running cell networks, and you’re running Next DNS, and so you’re having all the same protection. So that’s cool. So you can install it on every individual computer, but we have so many devices on our local network.

That’s painful. You want to do network-wide.

And they’re coming and going… So I just did it that way. And it works great, until it just stops working.

You don’t have IP6… So does that mean you’re going to miss out on all the new websites that come out? You’re just going to only have the ones that are already on IP4? Is that how it works? So you’ve still got Google and Wikipedia, but brand new websites…

No, no… Fancy, new ones?

Yeah, there’s gonna be loads of new ones coming out.

I don’t know, I guess I wouldn’t know about it. You’d have to tell me what I’m missing out on.

You’re gonna be left behind, mate. You’ll wanna get that upgraded.

I think he is upgraded to the point where you could be. I think UniFi’s pretty much on the edge of what’s supported. I’m surprised by that too, but…

Yeah, and it could be just a configuration on the router… But again, it’s like a yak shave, right? Like, this doesn’t work, so I’m going down this rabbit trail. Oh, that doesn’t work, so I have to do this other thing. I didn’t want to shave the yak, I just wanted it to work.

[01:14:05.04] What you want is a good developer experience like Ntfy when you’re just posting – it’s just a command, it’s just an HTTP POST, and that’s something you can use. That developer experience, I think, is really important. And this is part of, I think, what makes the tools good; tools that we pick, they have usually a good developer experience when we’re developers. And I think that’s something that, when people just write tools, they don’t spend enough time thinking about like making that sort of 10x experience for people. I.e. make it just perfect, make it seamless; you shouldn’t have to be fighting with config, and things like this.

As an example is something I’ve built recently. We have an API for this tool that we’re building at Grafana, which is this incident management tool… And the API has a client - we built a client, we auto-generated it - that you can use. And in the client, you can switch it to stub mode, so that you can just use it without it reaching out across the internet, and it just gives you canned responses. So it’s like built into the tool, it’s expecting you to write tests with this, at some point, and making that easy for you to do, in a way where we sort of own the responsibility for making that right, and people can just sort of rely on it.

So it’s little things like that, I think, make all the difference. And obviously, a lot of this 10x talk was kind of – you know, ,I was being quite silly… But if you want to really deliver something that’s amazing, spend the time on that polish a little bit, and do less. Have fewer features, but make them really good, and pay attention to that developer experience. It makes such a difference. Most people will just breeze through it, and they won’t give it another thought. And in a way, you’ve succeeded if that happens. But it gives you such confidence when you use the tools, when it’s just slick, and it’s like a pleasure to use? It makes all the difference.

Yeah, I was thinking about that, like what is good DX, and I think one of the things is like something that provides quick wins, and freedom to tinker, without feeling like you’re gonna break something or harm something. With Ntfy, why did I pick that over Pushover? Well, I can just start with a Curl post, and see if it works. And I was like “Oh, it works.” I can install it on my phone, I can send myself just from the command line… It’s kind of fun. You’re like “I’m push-notifying random crap.” And it has like geeky kind of things, like yeah, you can send emoji, and you can have warnings, and titles, and like that kind of thing that we nerd out on. But that quick win, of like “I’m sending myself and I’m receiving push notification within minutes of finding the service”, to me, that’s the kind of experience where I’m like “Yeah, I’m gonna keep trying this tool”, versus the one that has a little bit of the [unintelligible 01:16:38.08] So I think that’s really cool, this idea of just like freedom to tinker.

I couldn’t agree more. I think also, like you say, a quick win… Give people something for the investment they’ve just made. It’s a big ask to get people to download something that you’ve built, or try a tool that you’re building. So reward them every step that you can, somehow. And have that as part of the design when you’re thinking about what this is. That makes a big difference, for sure. And it’s like, people invest, and then you give them something in return that’s valuable to them. They will then, in turn, invest more often, as long as you’re getting it right and solving the problems. And then that’s really how you build trust with tools, is like, people have invested in making it better, in some way. That’s very meaningful. And so it’s like, yeah, I think there are a few of these philosophies that just apply to everything we build and that we’re thinking about.

Since we’re, I guess, probing potentially for a Next DNS sponsorship in the future, one way they could potentially make the service better is just to have that built-in.

That would have been the easiest thing, yeah.

[01:17:46.15] Because it’s not – I was looking at the documentation, it says “Queries from the UDM itself won’t be routed to Next DNS, nor encrypted, due to current system limitation. But all traffic on your network will; all devices on your network will.” So it could be like somehow just knowing that it’s connected, or that the UDM is respecting the DNS routing; it can be doing a probe every five seconds, I don’t know. Whatever makes sense, essentially, and say, “Okay, essentially what you’re doing with Ntfy, it’s doing on behalf of the service, it’s doing it itself.”

Right. So my code, basically, is just hitting their API, and I can’t remember exactly what it’s checking for… I’m gonna see it right now. It’s saying – it gets the profile’s endpoint, and then… Oh, that’s just to get the ID. The actual query count is this analytics endpoint from the last hour. And if there’s anything, then I’m fine. If there’s zero analytics for the last hour from my profile, now we’ve got a problem. And that could totally just be a thing that they build for you, and they’re like “Yeah, we’ll notify you if it’s not working.”

Now their better UX, I guess, would be it just doesn’t break, ever… But some of that’s more on my router than on them, I guess, to a certain extent. So points for them for having an API that I can just call, because that got me where I needed to go. So I’m still happy with them, you know… But even happier is if I could have just found in my settings somewhere to put my phone number in, or somewhere where it says – even an email would have been fine. “Email me when this goes down” would have been cool.

I don’t understand why they’re just not letting you configure custom or manual DNS servers, rather than installing something. Like, what is it doing on your network that requires an application, or some sort of package to be installed on your machine? Why can’t it just be DNS in the cloud that just knows your Mac ID, or just something that’s unique to your – it could even be a key, a public key.

I guess it’s valuable that it’s internally.

Yeah, I just don’t want to manage it at the machine level.

Well, yeah, because… I mean, the Easy button to configure DNS is literally to put in DNS servers. That’s the easiest way. And in that case, UniFi OS is always going to respect what you put in your settings to be your desired DNS servers.

Right. But when you do that mode, they require a loopback to them, for some reason. Like, you can do that.

Right. So back to the DX. Yeah, I think they need to better integrate with Unfy.

I think because they want to confirm that you are a valid customer of theirs, hitting their DNS servers. And so they want your IP address to be known, and so if you have dynamic DNS – because your IP address changes unless you pay for a static, right? So then if you’ve paid for that, you can plug that back into their system and say, “Yes, I’m using your DNS servers, and here’s my IP that I’m coming from. It’s a dynamic DNS address.” And they’re fine. But if you don’t have that, they don’t want you just to use their DNS servers. They want to know that you’re a customer, I guess.

They need Tailscale, because Tailscale’s got this figured out. Tailscale is state of the art.

Anyways, lovely to talk to you both… I’m just going to talk to some other people at the party as well.

[laughs] Do we have anything else that we haven’t discussed?

Well, we said we were going to quickly talk about wired keyboards. Is this a quick time for unpopular opinions?

Oh, shoot. Let’s do it.

Two minutes each. Go!

Jingle: [01:20:52.12]

As we open up the Unpopular Opinions segment, let’s do a quick review of last time’s unpopular opinions, and see which ones actually were unpopular. So Adam said, “You should really be habit-stacking.”

Oh, yeah. This has stayed with me.

This was 70% popular on Twitter.

Who doesn’t think that that’s a good idea…?

I know… And on Mastodon it was… Loading slower, because it’s federated. 80% popular. Neither poll pointed very many votes, because it’s kind of not too controversial, I would say. Just like good advice.

This one has stayed with me. I think about this a lot, and I’ve started doing it –

Do you habit-stack now? Are you a convert?

Yeah. Particularly, you mentioned in the example coffee. And by the way, if you don’t know what this is, go back, and - Jerod will tell you which episode it is. Go and listen to this. It’s worth listening to it. Some good tips.

[01:22:06.21] Episode 526.

526, baby. The old classic. Put that in your ears, I think…

But the coffee one… While coffee is being made - I have a robot make my coffee; I’m embracing the future - I will go and do something else. Tidy something up, or make a different mess.

Love it. I habit-stack as well. Whenever I’m taking my vitamin D, I always take K2 also.

Oh, there you go. You’ve converted.

Just a habit. You’re not stacking.

I stack them together.

Too tightly. If it’s stacked too tightly, it becomes one habit.

Hilarious. Nice. Okay, cool.

Mat said “Most people are building software wrong.” Here’s what’s funny about this one… This was not going to be Mat’s unpopular opinion. Here’s a little bit of a meta game here. Before the show, he actually told us what his opinion was gonna be, and it was something about having plans never works, because something always goes wrong… And during the show, Adam actually leaked that as a sentence…

…and Mat felt like now he couldn’t use it as an unpopular opinion. And so instead, he made this one up kind of on the spot. And I thought it was really funny, because you know, his plan didn’t go well. Something went wrong, and it ruined his plan.

It proves my point.

But instead, he said “Most people are building software wrong”, which was 64% popular.

So it’s not unpopular.

One person says “It sounds like a cultural problem to me. I’ve worked on several codebases that had more than 100 million lines of code, that we knew what we were doing, and why it’s important.” So shout-out to Joseph Winston for an epically large app. That’s on Twitter, of course.

Tweet us those 100,000 lines. Let’s have a look at them.

100 million lines.

100 million lines?!

Is that what he said?

That’s what he says. Now, he could just be lying. I don’t know the guy, but that’s what he said. 100 million lines.

Where does he work?!

You should follow up…

GitHub? Is he talking about in its database? That’s insane. Wow.

Over on Mastodon, 88% of people agree with you.

Oh, wow.

[unintelligible 01:24:01.06] says “I agree with anything Mat says.” So you have a sycophant there.

He sounds smart.

And then Lzap said “Do y’all even try to make unpopular opinions anymore?”

Good point, Lzap. We’re not doing a good enough job.

And then Jesse from Australia - may or may not exist - says “This is a really boring take. The same as saying, “I could build Twitter in a weekend.”

Yeah. I could build it in a weekend.

Hard to please, you know? Hard to please.

And yet, most of the people agree with you. Any responses, Mat?

Yeah, notice how the real people like me, and then Jesse, this Australian person… They’re like “Oh, I don’t like him.” What an easy thing to say.

Clearly a sock puppet.

Yeah, because I had to think of it, Jesse. I had to think of it on the spot, because Adam had ruined it earlier, and I’m trying to –

How did I ruin it? Remind me. Do we have time to explain how I ruined it? Did I do it on purpose? Was it vindictive?

You just said it.

You know when you have a conversation with somebody and then later on you kind of say a thing that they said?

Right…

You did that, so you just kind of ruined it for an unpopular opinion. It wasn’t on purpose…

Because you saw it in the notes, and you’re like “Oh, I’m gonna get me some of that…” And then you got your little grubby mitts on it and helped yourself to it.

So I had to improvise a new one, and it came out rubbish, Jesse, and it wasn’t great… But you’ve got to be prepared to fail, even in public, I think.

We said this. You said this as part of your tips.

That’s right.

Expect failure, basically. I’m paraphrasing your tips.

Now, let’s talk about automagical for a moment.

Oh, my gosh…

Oh, yeah.

Because I was the most unpopular of the three of us, which makes me the winner… Not that anyone’s keeping score, but I won by a wide margin… Although 57% of people did agree with me, which is less than you guys, but still more than 50. I also got more votes on mine, so I think it struck more of a chord. That’s on Twitter. Over on Mastodon, 50/50. 94 votes on Mastodon.

[01:25:54.12] How can it be 50/50 then? I can’t be, if it’s 94.

94, yeah. You divide that by two.

Oh, 47 each? Yeah. Wow.

So 50/50 is the least popular that we landed, but none of us were actually unpopular. So maybe we can beat ourselves this time around… Mat, what have you got?

We sure can. I’ve got two. I’ve got an original one. We did promise we were going to talk about wide keyboards… I’ll just say it quickly, just lay my cards on the table… Where are you going with the keyboard? You just have it in the same place, except now it can run out of battery. Just plug it in. That’s my unpopular opinion. Wired keyboards are tired. And what’s wired, is wired. Sorry, a wireless keyboard is tired…

Now, this is going to be unpopular. Spit it out, Mat.

Tired, colon. Mechanical, no. Tired, colon, wireless keyboards, wired, colon, wired. Easy.

[laughs] That was just a disaster, but I loved every moment of it.

Yeah, it was the best.

It was. But the editors are going to fix it, aren’t they? This whole clip’s not going out.

No, they’re not. I have no idea what you’re even talking about… But yes. Okay, cool.

We actually have an internal rule here at Changelog… Anytime Mat says “The editors are going to fix this”, it immediately stays in.

Oh…

So if you want it out, don’t mention it.

Should I do my second one, or do you want to talk about keyboards?

No. Adam, go ahead.

He’s got two, he says.

[laughs] Yeah, well…

Well, my second one is “Apple Vision Pro, I think it looks amazing. I’m definitely going to be getting one.” What do you think? I mean, come on. They’ve done a cracking job, it looks like…

I agree with you, except for the buying it one.

We did an episode on this, and I’ve had time to think… And the thing that has changed my opinion about it is this idea of thinking of it like headphones for your eyes. And I saw this somewhere… I’m trying to look where I found that. It was like a Steve Jobs commercial, essentially. Steve Jobs talked about headphones, and in your own world, and like this is an evolution of headphones. But it’s not just headphones, now it’s visual, too.

Yeah.

I think there’s a lot to be said there. It’s like, when you use headphones, you want to go into your own space, with your own private music, and not disrupt others. And that’s kind of where Vision Pro is trying to go, from a consumer standpoint. Now, a business application may be way different, of course, but from a consumer standpoint, it’s like headphones plus-plus kind of thing. So I’m not excited about the price tag, but I really do want them. I really do want to enjoy what can be done there. Hopefully, the world gets more vast, I’m sure it would.

Yeah. I was surprised by the price. But normally, if you’ve got a 4k TV, that’s 4k shared between both eyeballs. In the Apple Vision Pro you get 4k per eyeball. So both eyeballs each get 4k.

That’s what I want.

Yeah, so we’re talking – that’s a lot of k’s.

Yeah, but it’s a small screen, because it’s right in front of your eye.

Even better. It’s all condensed; it’ll be so sharp.

I agree, but in terms of cost… Usually, you think about material costs that go into something. Whereas like an 85-inch 4k TV has a massive screen that has to have 4k across the entire thing, your eyeballs just need these little goggles. I think it’s like the 13 cameras, and like, there’s just so many sensors in this sucker…

What are you worried about?

I don’t know, I was surprised, because the iPad – was it the original iPad, I think? It was rumored at $1,000, and came out at $500. And they really kind of wowed everybody with that price point.

Yeah. They went the other way with this, didn’t they?

It wasn’t the iPad, because that sounds cheap for the iPad… But anyway, there was a product that was like that. And this one, the rumors were $3,000. So I was thinking “You know what, they’re gonna come in at like $2,000 and really wow everybody.” And they actually went the other direction, they went more expensive than the rumors, which is rare.

$1,999 is a good price to start with that, in my opinion.

Totally. I might get one at $1,999.

2k would be an okay investment for most people. I mean, that’s an entertainment center of sorts. It’s expensive, of course, but an entertainment device is 2k-worthy. Like, you buy 2k TVs. Not 2k, but you get $2,000 worth of a TV from a TV. It’s pretty common.

Right. Or K2 TVs.

[01:30:04.21] Yeah. That’s a normal price.

Well, the Meta Quest 3 is 500 bucks, and nowhere near as good. But is it seven times better than a Meta Quest 3? I mean, that’s the price differential.

Did you see Zuckerberg on Lex Friedman?

I saw a clip, a six-minute clip. He did a standard, like “I’m excited. It really validates things”, etc.

Yeah, I agree.

“They’re coming at it from a different angle than us”, kind of thing. What else is he gonna say? “I’m crapping my pants…”

“All our graphics looks 8-bit compared to this.”

Right.

Quick Quiz…

Quiz time?

Jingle: [01:30:38.00]

If you’ve got two 4k screens in your eyeballs, how many total pixels is that? Closest wins. Jerod, we’re going to you first. We need an answer, please. How many pixels is two 4k displays?

I’m gonna go with 8,000. I know that’s wrong.

8,000. Really good guess. It does have an 8,000 in it.

Don’t give him a hint. I didn’t get a hint. Adam?

8 million.

8 million. Interesting. Okay. Well, the answer is - two 4k displays, you would have 16,588,800 pixels. 8.2 million per 4k display.

Yeah, that’s about right.

Well, it does not require you to state the size of the display? Because it’s an pixels per square inch…

Well, it’s 4k, ain’t it? I thought 4k told you how many pixels it was.

Does it? I don’t know. I don’t know these things. I just figure, a 4k display at different sizes is going to have a different number of – it’s the absolute value of pixels. I don’t know, I’m talking out my backside at this point. Go ahead, Adam.

I think that the Apple Magic Keyboard is hands-down the best keyboard ever created.

Wow. Big words. Why?

It’s got this button right there. I put my fingerprint on there, and boom. All things biometric. You find another keyboard, your mechanicals, or whatever – it misses that. So I wouldn’t mind having the traits and the attributes that you have, and if it’s cool. If they offered a Touch ID mechanical keyboard, I would say it competes. That feature right there alone is why I would only use this keyboard, and not another.

You could have just two connected, and then you just reach over and touch the thing…

True. And I saw – who was it?

Billy Bob-Thornton?

No, it was a YouTuber…

Morgan Freeman. Oh.

Russell Crowe.

Yeah, he’s big on YouTube.

No, none of those people. They actually took apart an Apple Magic keyboard and pulled out all the touch ID mechanical parts, like all the hardware and stuff like that, and remade it, and they just made a touch ID button that worked the same.

That’s cool.

So I would agree. If they would just sell me just the button, then I would use a mechanical keyboard, or at least be okay with trying other things… But until that happens, this, again, is hands-down the best keyboard ever made. That’s it.

That’s gonna be unpopular.

My keyboard also has one of those buttons, I will just go on record. But it’s a laptop keyboard. But it is a keyboard, and it has the button.

Is it an Apple one?

It’s a MacBook Pro.

Yeah. Yeah, but they could do it. They could do it on – I think they’re doing it with your phone, aren’t they? Like, unlock with your phone, and you can use your face to unlock, and things like this…

So I’ve found it. It’s Snazzy Labs on YouTube. Snazzy Labs. “I made a tiny touch ID button for Mac.” And in this video, he goes through all the steps. He disassembles an Apple Magic Keyboard, pulls out all the innards necessary for Touch ID, pulls it over to a standard device… It looks kind of cool. I think even 3D printed it. It’s like many, many steps to do it; a lot of effort. And it works. And it works.

[01:34:12.25] That sounds great.

So Apple’s really missing out. They could probably sell me that touch ID thing just standalone.

Yeah.

How many would you buy?

Not 10?

Would you plug it in, or just have it in your pocket, like your phone? Why don’t you just use your phone?

Well, it would be for the computer, to biometric to it.

Yeah, so it’d be USB. Wired or Bluetooth?

Well, in this case - that’s the other cool thing. There’s no wires. And this thing doesn’t require charging, ever, really.

Ever?!

I mean, maybe once a month… And it’s lightning, so I’m already charging other things with it… So it does it all. And it’s like, I could just throw this thing across the room, and it would come right back like a boomerang, because it doesn’t want to leave me.

Oh, man.

They would if it had a bouncy the cable on it. Missing a trick.

The trick really is - here’s what makes this keyboard good. It religiously, on a daily basis, takes vitamin D and K2 together. It never misses.

It’s got both the letters on the – it’s got them, hasn’t it? It’s got them both; you can see the D and the K. And the 2.

And therefore, that’s why it is, like I said, hands-down, the best keyboard ever.

Okay. Yeah. He’s concluded it. He’s summed it up. And I think that’s the sign they move on, ain’t it?

My opinion is I think Queen Latifah is the greatest queen in human history.

The greatest queen in human history.

No, I just made that up, because I still have an open tab that says Queen Latifah… I don’t think I have a good enough one to share this week.

Okay.

I’m gonna pass.

You can’t pass…

Alright, okay, here’s one. Here’s one. I’ll play the game. I’ll play the game.

He chooses to play!

I think the word “automagical” is an awesome word, and I think that we should all use it more. It’s so useful in many circumstances. You can say it when you’re trying to hoodwink somebody… You can say when you’re just too busy to answer a question, and some non-techie person asks you how something works; you can just say it’s automagical. You can put it on your splash page when you’re trying to really sell your product as something that’s just beyond automation…

Yup.

There’s lots of different ways you can use it, and they’re all pretty cool. I think we should continue using it, and actually, I would say we should use it more than we currently do as software developers.

Yeah. That synergizes with how I feel as well.

Yeah, I’ve just written down some other places you could use it. You could get it put on a cake. You could get it on a T-shirt… And the obvious one, you could actually think it in a dream. It’s also another way you could use that word, if you’re looking for other ideas.

You can actually change your last name to Ical.

Ooh!

First name Auto, middle name Magic. And then Ical is your last name. Auto Mag-Ical. That’s just your name now.

But most of the time people don’t use middle names, so it’d be Auto Ical.

Well, no, no – that doesn’t matter, Jerod. You would require full name. You wouldn’t answer or respond. Then, worst-case scenario, they’re calling you Auto. It’s like “Come on, Auto.”

And they’d think I work on cars.

In your accent, that’s a really cool-sounding name, I think.

Yeah. To my ear, that sounds cool.

Auto. It’s not the same.

Yeah. Auto. It sounds fake.

Yeah, [unintelligible 01:37:20.13]

It sounds like I’m putting it on.

It sounds like a vitamin. Auto.

Auto… I can’t do it.

Can you make a song called Automagical, Mat? Is that possible that you can song one more time for us?

Oh, this will be how we end the show. Let’s do it.

Yeah.

Could you automagically just sing?

It’s hard, because that doesn’t rhyme with lots of words, does it?

But Lee rhymes with everything. Automagically…

Yeah, but I don’t know loads the lee-words.

Free, tree…

You and me…

Just let it be…

Okay, yeah. Sorry, yeah. I just need you to just accept cookies again, because I’ve forgotten.

Rejected. Reject all.

Bye, friends!

Bye, friends. [laughs]

[01:38:08.02]

I’m looking at you, I’m wondering how you work… If I don’t find out soon, maybe I’m gonna go berserk. You don’t explain it, I don’t know a thing… You say it’s something magical, and that makes me want to… Scream… It makes me want to scream…

Automagical. Let it be.

Changelog

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

Player art
  0:00 / 0:00