The Changelog: Software Development, Open Source - Brewing up something for work (Friends)
Episode Date: February 23, 2024Mike McQuaid, maintainer of Homebrew, and now CTO at Workbrew joins us to discuss open tabs, social media spam and distractions, TikTok's addictive nature, Apple Vision Pro and its potential future, t...he maintenance of software, the swing back to old school web development, the value of telemetry in open source projects, Mike's ongoing involvement in Homebrew and what they're working on at Workbrew, Homebrew's relationship with Apple, the importance of developer experience, and sooo much more.
Transcript
Discussion (0)
Welcome to ChangeLog and Friends, our weekly talk show about brewing at work.
Big thanks to our friends and partners at Fly.io, the home of changelog.com.
Launch apps near users too easy.
Learn more at fly.io.
Okay, let's talk.
My LinkedIn messages, one of my favorite places to live.
Has anyone ever enjoyed sending or receiving a message on LinkedIn?
Like it's, I don't know.
Like the thing I like about it is it's kind of ubiquitous now.
It feels like the one place where I can contact pretty much anyone.
Yeah.
It's become that, huh?
I never want to be talking there in that tiny little box in the bottom right of my screen.
Right.
And then you maximize it and it's still not very big.
And you're like, that's not maximized.
Yeah.
Here it is.
Oh, hey, Mr. 500 tabs. So it is oh hey mr 500 tabs so someone called
me mr 500 tabs oh man you were offended i bet which is not me at all i was making fun of mr
500 tabs like relentlessly the whole week it was adam for sure but and then and they were trying to
relate to me and i was like sorry, sorry, man. That's Adam.
I'm more of a tab 17 kind of guy,
is what I told him.
How many tabs you got open over there, Mike?
I'm currently rocking.
If you include the tab that this is in,
four tabs.
I have this.
I have Workbrew that I'll talk about later.
In my development server for that,
I have Workbrew's code coverage,
and then I have the link to upload my local audio
as soon as this call is done,
because otherwise I'll forget.
So you're focused.
Now, do you close all four?
Like after this is over,
do you close everything down
and you have zero tabs then?
Yeah, probably.
Yeah, I'm a bit of a kind of clean freak
when it comes to tabs and desk minimalism and all this stuff.
I just like to just not have stuff.
Same.
I don't reboot very often, but I do try to like just exit stuff.
I'm like, get out of here.
Get out of here.
Did you ever use that?
I think Marco, was it Marco Arment who made that quitter app?
I never did.
Yeah.
So that I quite like that for like focus and stuff.
So you can basically just tell it what stuff to silently quit in the background. I never did. So yeah, so like, it's a pretty good, like, I don't need it as much nowadays, but like, yeah, my gap days are just like ping, ping, ping, ping, ping.
Like it's a nice focus thing.
Can you pick which apps count and which apps don't count?
Yeah.
So you can just say like mail.app, Slack, whatever, and you can choose between quit
or hide.
So you can say like, if it's, you know, on the screen, just hide it.
Or if it's running in the background, just silently quit it.
And yeah, like it's running in the background just silently quit it and yeah like it's i don't know
i definitely couldn't have it all the time but it's a nice focus app for because i'm one of those
people like i can't i think justin seuls has talked about this before like if a test takes
more than like five seconds then it's just like okay i'm gonna go click something because my brain
needs dopamine right i just did that this morning with SPF records. You know, I'm just like realizing that we had a problem with an SPF record and I went
to update it and I changed it.
And then I was like, you know, waiting for the DNS to clear and so I could run the test
again, like not an automated test, just to like see if the thing was going to actually
return correctly.
And that's, I think the TTL was set to like 10 minutes you know you can
set it to an hour i think is default 10 minutes one minute whatever it was set to like 10 minutes
and i was like all right and by the time 10 minutes had passed i was like seven or eight
things passed i forgot about it for like an hour and a half yep and i was like oh i was doing a
whole nother thing over here oh my god you know i had like a process. I was going to make something,
get something done and I just completely,
finally I found the tab
and I was like,
oh yeah,
SPF,
okay.
Yeah,
that's the worst.
I feel like we're building
slowly a running list
of things
in this call
that people don't want
to deal with.
LinkedIn messages,
SPF records,
that's number two.
Absolutely.
No one ever woke up
this morning
and was like,
woohoo,
I need to
fix my SPF records
like
this is going to be
a good day
right
100%
yeah
never
0%
I should say
I have zero
idea what an SPF record is
well it's like
sunscreen
I am on the
Clelfair website
because they have
like the number one
Google result
for SPF record
but I am not
schooled on what
these are
don't don't don't go there stay that way it's so uninteresting Google result for SPF record, but I am not schooled on what these are. Don't,
don't,
don't go there.
Stay that way.
It's so uninteresting.
Yes,
I'm winning.
It's a happier life without knowing.
All right.
But I got it fixed.
So we're good to go there now.
I know Google and Yahoo are both cracking down on their email spam
prevention.
Maybe they should give some of that over to the Macedon.
Have you guys probably haven't been on Macedon this week or have you? It's been spam prevention. Maybe they should give some of that over to the Mastodon. Have you guys probably haven't been on
Mastodon this week, or have you?
It's been spammy. There's a whole spam campaign
going right now.
Oh, really? Interesting.
I've not really seen it. Are you on the normal
Mastodons?
What's your server?
We are on our own server, so it's attacking
indies like us, basically.
It's not on our server, because we are
literally eight accounts or twelve accounts. You can't sign up it's not on our server because we are literally like eight
accounts or 12 accounts like you can't sign up for account on our server it's just for our
for our stuff we just wanted to be branded and you know try it out and stuff but they basically
just sign up on small servers that have open accounts and then they just spam other stuff
the funny thing about it is it literally is a picture of the of a can of spam with like a discord url in the picture which to me is like wow who's gonna type that in or something you
can't click on it but i mean it doesn't make any sense so it's almost like a joke i think they're
just showing you how bad mastodon's spam features which are pretty much non-existent right now are
maybe it's just elon maybe yeah grassroots evenings and weekends trying to spam
grassroots marketing for x you know if mastodon's bad maybe they'll come back maybe they'll come
back yeah hey more jack dorsey i guess to try and drive people to blue sky or zuck like it's
it's one of those guys one of those three is probably behind the spam campaign well zuck
he's real competitive so i wouldn't put it past him. I gave in today.
I,
I actually,
I deleted the app from my iPhone,
but I didn't delete it from the phone.
I deleted it from like the install,
you know,
that where you can hide it kind of thing.
Which app is this?
X.
Well,
actually it's Twitter.
Why is it X?
It's X on iOS,
but it's Twitter on Mac OS,
which is strange.
And the reason why is I just cannot stand the
notification spam I just can't take it anymore I'm just like none of these notifications are for me
I don't even follow this person there's a whole new one with like a chat bubble not the
star splash thing where it's like I don't even care about this update from Elon or people I
follow but I don't like if I want that I would get it in my feed, not in my notifications.
I feel like, I don't know what's happening, but it's just dumb.
Whoever's doing that, it's just, like, me, the dumbest feature.
It is not engagement.
It's annoying.
And I'm just over that.
I'm just totally over, like, my notifications not being for me.
That's the whole point of notifications, right?
If I want my For You tab, I would go to For You.
That's kind of a For You thing, right?
Not a followings thing or even a notifications
thing. It's a For You thing. It's things you might be
interested in that they want to algorithmically
share with you, which I'm cool with.
I would go there, opt in.
But stop using my notifications and
abusing them because now I'm just like
I don't even trust the app anymore.
That it's important. That I should care about. Things that I want to pay attention to. I've subscribed to. I'm just like I don't even trust the app anymore that it's important that I that I should care about things that I want to pay attention to I've subscribed to
I'm over it I don't even care really about Elon honestly I don't even care like everybody's upset
about him whatever I mean because you can't control the world you can't control who's president
you can't control who owns Twitter you know what I mean like is that synonymous really I mean it
kind of is you can't control who is the president of X or wherever.
Right.
And I didn't mean that punny, but it kind of was a pun.
I was using X as a variable, not X as a platform.
Yeah.
I had to explain it.
Sorry.
Because I was even like, did I do that on purpose?
No, I did not.
So I feel like I don't even care if Elon is in place.
I don't care.
What I do care about is the fact that Twitter was good at some point.
It was at least useful.
Like even if you didn't care about the conversations.
Yeah, 2010.
Right.
It delivered on its promise.
Subscribe to certain people, get certain feeds, engage when you want to.
And now I feel like it's just not that for me.
But this is just generally like the whole way the internet works now, right?
Is it's like if you want to consume content that way it has been an uphill battle on this for like five to ten years at this point like
even like when you say my notifications like i mean even apple has joined the party of like
random apps random first party apple apps that will like spam you with like offers or like sign
up to apple tv or whatever like at this point
when i get an iphone or a mac like i'd really probably like to just be able to say no apps
do any notifications by default even like badges and like i will literally just turn on the apps i
care about because yeah it's just so bad for everything now and all social media are now
if you're i guess we were talking earlier about like being distracted and sucked
into things for me like any
social media with like a
like explore tab or anything
like that I just cannot have it on my phone
I do not have the mental
willpower to not just sit and like
the wherewithal same I can't
yeah I'm not in control at that point
if I go to slash explore on anything
once I'm in there I'm like oh I can flip one more I I'm not in control at that point. If I go to Slash Explorer on anything. Once I'm in there, I'm like, oh, I can flip one more.
I'm subject to whatever their mind control is and it works.
It's MKUltra at its finest.
Really?
I had three iOS notifications yesterday from reputable apps.
All three were ads.
I had a Southwest ad, which is like, you want to know when your plane's arriving or delayed.
So you have to have notifications for Southwest.
Uber, okay, maybe not quite as reputable, but reputable-ish. your planes arriving or delayed. So you have to have notifications for Southwest Uber. Okay. Maybe
not quite as reputable, but reputable ish. And then a third one was like one of those bike,
those electric bikes that when you go to the, you know, you're in the city and you want to get a
bike, it's like ride or, or bird or lime. I don't know which one it was. It's like, I haven't used
that one for a long time. And here they are telling me there's like 20% off rides tomorrow.
I'm like, I'm not even in a city that has that particular service.
Anyways, it sucks because the apps that you do want to be notified once in a while,
but you don't want their ads.
It's even worse for kids or like young adults that are getting into technology
because they don't know any better.
They're like, yeah, notifications all the way.
They'll be sitting there like interacting with the ad like hey you know that's an ad right like if they're playing a game like a lot of games are subsidized by ads especially on ios of course
and you know my son there's times when we let him play certain games on the ios platform and
he will be playing something and i'm, what is that game you're playing?
He's like, oh, this is not a game.
It's the ad.
Because you have to, like, they force you to interact with it
to get past it.
Yeah.
And I, like, basically, like, do everything besides slap his hand.
Like, get out of there.
Like, it's a bee.
Like, get out of here, you know?
Oh, yeah.
Stop doing that.
He's like, but it's kind of fun.
I'm like, that's the problem.
It's funny because my kid uh well my my eldest kid
is just entered the like playing games on an ipad sort of level recently um and with the exception
of minecraft which is again pretty good for not spamming ads at you like apple have missed a trick
i think with advertising because i found the not being showed ads filter for half decent games like no ads no
in-app purchases basically that's Apple Arcade so he only gets to play games in Apple Arcade
right so those are the only games I will install on his device and I will pretty much install all
of the Apple Arcade games that are around right now that seem wow that meet the kind of age
settings that i've done in the parental settings and stuff like that and then yeah i've seen no
shady behavior no in-app purchase stuff no ads anything like that in any of the apple arcade
stuff so for me that's just become like until he gets old enough that he figures out that stuff
exists outside of this wool garden and he badges me to the point that I
give in or whatever that for
now like it's perfect because it's
you know you just have this nice selection
Apple Arcade huh? I didn't consider that
yeah and I don't even want
Apple Arcade I just have it as part of my
Apple One family
whatever anyway right? What I needed was just
the storage like the family storage
and so I upgraded to Apple Premium One or whatever.
And then you get a bunch of other stuff
and Apple Arcade's in there
and it's really great, I think, for that purpose.
So yeah, so that's the only thing I use it for.
I don't think I've really played any games there myself,
but for my kid, it's like a
how to avoid horrible, spammy crap filter.
Note taken.
I'm going to take that note and do something with it
because i cannot stand these they're kind of predatory in my opinion i don't think kind of
i think like literally i mean i think we're gonna i had a really disturbing moment in an airport a
few weeks ago i've been like quite passionate about this for a while my kids are young enough
that like you know they're years away from even wanting to be on social media. But I sat behind this maybe 11 or 12-year-old kid in the airport
who was sitting on TikTok, flicking between stuff.
And I saw a couple of posts in a row with really pretty misogynistic
comic book-related memes.
The comic book itself was not misogynistic,
but stuff had been combined together to make some almost statement about women women and he was sitting there next to his parents doing this and i just was
thinking like his parents have no idea of like what is being delivered straight into his brain
right now in like and tiktok feels like i don't have a tiktok account i've never really used it
um tiktok feels from friends and what i read and see and whatever like essentially the best
dopamine it is transmission mechanism we've got for social media so far right and it's yeah i
guess it's it's scary for me that like it's got really really really good but i think particularly
little kids are just like right well not that little but little adults even are defenseless
against this stuff right because they
don't they don't have the ability really yet to say like yeah maybe this should just like not be
on my phone like for me with like instagram now i have instagram for literally my middle ground is
i follow people who i literally see in the gym at the same time when i go to the gym to like see
like what's going on with their like latest gym goals or whatever right and when i
use instagram my phone i install it on my phone i basically see what's going on from the people
i followed i post anything i want to post and then after i've done that i delete the app from
my phone every single time because i just i have no self-control otherwise and i will just go
again and again and again yeah like well at least you admit it and you're aware of it yeah i think
that's half the battle is being aware that you have you know how controlling these they're just so good at
getting your attention and just so good at like keeping it tantalizing your curiosity i was we've
shared this a couple times i know i have on tiktok i like i like the platform i think it
it really has so many really good qualities for things you could be curious about and people that
are educating and sharing content.
But then you kind of get into the,
like,
especially as,
you know,
Jared and I aren't creators,
but we are in the creator world.
You're totally creators.
The two of you.
I mean,
not,
not,
not like TikTok.
Yeah.
In the,
in the creator sense where people say I'm a content creator,
we're not.
We're podcasters.
You know,
we talk to people.
Yeah.
Like when I introduced somebody, I seem a podcaster,'m a content creator. We're podcasters. You know, we talk to people. Yeah. Like when I introduce somebody,
I seem a podcaster, not a content creator.
I think we're definitely,
we're more like akin to like talk radio even,
like AM.
Like does anybody get AM radio?
We're like software shock jocks, you know?
Software shock jocks.
That's awesome.
Yeah.
I mean, that's,
where's that going with that?
TikTok as a platform for creators.
When you think about TikTok from a creator, in quotes, creator standpoint, and you want to get big, you're trying to find things that essentially hook people.
What is a hook?
It's an addictive thing.
It's something that gets you involved.
Like, we don't even, to our knowledge, design our shows to be hooky in any way like we may do
things that are list we call ourselves listener obsessed at least i do like i want to make sure
our listeners enjoy our podcasts but i'm not trying to hook them or manipulate them into
listening to more insofar as that i think they'll enjoy it like we're not trying to get to a goal
whereas with tiktok and pretty much every platform that is like this, that you immediately delete, Mike, it forces creators to be just, I'll just call it hooky.
Like you have to be hooky.
You have to be.
Yep.
Hookers.
Is that what you're saying?
They're hookers?
No.
Hooky.
You're hooky.
Oh, hooky.
Yeah.
And you even have a lot of people on YouTube.
There's a big kind of push where there's people who've been on there for at least five years maybe a decade they're just quitting because they cannot maintain the rat race anymore because they're not
creating content they want to create anymore they're creating content that the platform wants
which is not exactly the same right it's not content they enjoy to make that's all i feel
like that's always been there in some ways and it's always been that kind of like temptation
or devil's pact or whatever like i i remember finding that like blogging in like literally like 2005, 2006.
Right.
And, you know, I was part of kind of some open source communities back then.
And there was like federated blogs or whatever.
And like I learned pretty early on that like if you if you post some flame bait, right, you get way more views, like way more views, way more
engagement, way more comments, way more other people are going to like talk about your person,
link your post and all this type of stuff. Right. And like, you know, I guess for me,
that was me in my like early twenties. And even back then it was clear that like,
oh, I have a choice here. Right. I can chase the views and post the stuff that will like make
people angry or upset or argumentative or whatever. Or I can post the stuff that will like make people angry or upset or argumentative or
whatever or i can post the stuff that will like make me happy or make them happy or be interesting
and maybe a little bit more like low-key but is like perhaps a little bit healthier and i think
the hard thing we have right now is we have as you said like that if you kind of really want if
you're a content creator and you want to chase the views you have to do that stuff but then it's we
also have this intersection between social media apps have
got really good and the phone. Like there's a lot of like anti smartphone chat and a lot of anti
social media chat. But I think the, the hard thing for me is like the subset between those two
things, right? Social media on a desktop is way less addictive. And like having a smartphone where
you have no social media, like most of my smartphone usage now like most of the text i read is like books or my one vice i allow myself is
like 15 minutes of hacker news a day or whatever but like if you if you have it locked down to that
extent it's just it it doesn't have that same effect on your brain and yeah it's i don't know
it's interesting but a bit scary The times we're in now.
Here's another way to get views.
And yes, this is a segue.
You can post your Apple Vision Pro review.
That'll get you some views, won't it?
Oh yeah.
Now we had, last time we talked, Mike, it was right after the announcement, right?
Apple Vision Pro. It was, yeah.
And we were prognosticating and we were guessing and we were talking about whether or not we
would buy one or all these things.
That was probably nine months ago.
It's out there.
You are a big VR guy.
Yep.
I did not buy one.
Adam, did you buy one?
No.
Mike, did you buy one?
I did not.
Oh, my gosh.
I would take one.
Same, same. My kind of curve on this has been like, I was fairly excited.
And then when I read the early reviews, I was moderately disappointed.
And then when I, I guess like the person whose content related to Vision Pro I've consumed the most of is probably Justin Searles.
And his first like initial review made it sound terrible and then like as he talks about it more it sounds like actually more more good over time and it
sounds like he's now basically just using it as like purely screen mirroring and it's still great
for that so yeah so like i think i don't know like i could see myself in a later non-pro iteration
like showing out some money for this,
particularly if I'm flying with work again a bit more now than I was previously,
and I could see it being good for working
or viewing movies or whatever when you're flying.
But yeah, I can't see myself using it
as a standalone device or my primary thing.
And I think the main thing I'm sort of like really,
I like all the
gesture based stuff like i haven't played with it yet but i don't know from what i read and see and
it looks very finicky and doesn't quite look like it's going to work as nicely as the keyboard
certainly keyboard and mouse but even like the kind of hand gestures handheld controllers that
other stuff have what about the two of you are you tempted to buy one like what would the price need to be for either of you like would you buy one if it was like
100 bucks adam i presume you would yes um yes he would 100 bucks yeah you would you know i don't i
mean i suppose maybe at 100 bucks but even then i'm just like i just don't i i'm not attracted to
the medium yeah i. I guess.
I think I have everything I want already.
I've read the book, Ready Player One and Ready Player Two.
I kind of get where we're going to go.
And if that's even somewhat predictive, which like Star Trek was predictive and so was other movies and science fiction we've had.
If it's even 50% predictive, I'm not sure I want to be a part of that.
Really. And I like it for folks who, like I have a theater. If it's even 50% predictive, I'm not sure I want to be a part of that, really.
And I like it for folks who, like I have a theater, so I don't have a need to have a big screen.
Like I already have a real literal big screen.
So I'm not attracted to some of the promise of small, bigger.
Whereas I can totally empathize with somebody who does not have a larger TV or a larger screen to want to have a larger screen.
I get that. And that's for them. I don't really see myself, even at a hundred bucks, I probably,
I think maybe I would have to because of what we do, Jared.
Let me get you your hundred bucks here. Let me, let me convince you.
If it's your hundred bucks, maybe Jared.
Okay. I'll give you a hundred bucks for it. Here's, here's how I would convince you on that.
Okay. Go for it.
You, you fly on airplanes, right? Maybe once, twice, four times a year. Yeah.
Yeah.
I know you do.
So $100 on an airplane gets you a seat upgrade maybe.
Sure. You know, you go from coach to business or from business to first.
Save the $100 on your seat upgrade and spend it on a Vision Pro,
and you can sit in the very back of the plane with all the weirdos cramped in
and you feel like you're in a giant movie theater
or something like this.
I don't know.
I don't have one, but that's what they're saying.
Like that to me is the most compelling use case.
That's when I would use it and love it.
Other than that.
That's not getting me, Jared.
I would love to go to someone's house who has one
and use it for a few hours
and I probably would be satisfied and done.
Yep.
I would be like Guilfoyle when he tested out the VR rig from the dude in Silicon Valley.
And I would be like, this thing is rad now because it has the compression algorithm that
makes it better.
But I don't think I would really enjoy it, honestly.
I think it'd be like a toy.
I'm not that attracted to it.
I don't like to be a naysayer about technology because I'm like, that is such innovation.
I recognize everything that it promises
but it's just not for me.
I feel like it looks more like
a toy to me right now as well.
I think I said this before but
it feels like it's going to be like the Apple Watch
where the first version they're
just like, this can do 40 things
and within a couple of years
they'll realize you can do
well, Apple and or the users will be
like it can do two things really well right and then everyone doubles down and builds the apps and
and even the device right it's one of the reasons it's got this like front mounted screen and all
this type of stuff and if you like pulled a bunch of the sensors out of there i'm sure you would get
the price down fairly dramatically and even being like plugged in, right? If you're going to use it entirely,
some of the folks who are using it entirely tethered to a Mac,
it's like, well, if you can do that and you can have it plugged into your Mac and fully powered
off your Mac and use that with no battery and stuff like that, then again,
maybe that becomes more compelling. I don't know.
Here's the thing that would actually get me is if I would say work applications.
If we could be doing this podcast, like we're doing it right now on a computer.
We have Zoom in front of us or a version of Zoom.
It's Riverside.
So I'm not trying to, I actually almost thought it was Zoom for a second because it was so
Zoom-like, right?
It's just like y'all are, you know, little squares on my screen.
If it could be a bit more realistic, because it's kind of weird, Jeremy.
We say we hang out with people here in podcasts,
and we're not literally here with them,
but I feel like if we hung out a week from now at a conference,
I don't think I'd feel dramatically different.
I would feel like we've kind of hung out.
It doesn't feel, aside from the fact that I can't smell you,
because that's an in-person sentence, right?
More of a feature.
Right.
Yeah, I'm not trying to sniff you.
But that would be an in-person feature, right?
That's something I can't get.
That's a data point that's, you know, restricted in this medium.
Until smell-o-vision.
Yeah, until smell-o-vision, which still hasn't come around.
I think maybe for scenarios like that, where it's like a meeting or a hangout with folks, that's probably where I could be more interested in the whole experience.
The siloed, me by myself doing something, I don't need more of that.
I've got other things that I'm more interested in that I do solo as adventures or curiosities.
I would hang out with people in a more realistic setting in an Apple Vision Pro or
something like it if that was the thing that drew me there. And that's something I think a business
would pay for because you kind of get the experience. You can sort of put some scenes
behind you. You can have a more in-person feeling. It'd be tough for podcasters though,
because our guests would also have to have one. You had to send one around the world, you know?
For sure. Well, that was the case too until microphones was the same thing for us for a long time.
COVID changed microphones, yeah.
Yeah, microphones are more popular.
So we have more guests that have better microphones.
They're not ubiquitous, obviously.
We still have those challenges.
But that would be something that would make me, you know, well, if we had one for everyone, like a set panel of hosts, for example,
and we know it's just you, me, and Mike every single time. Yeah, we might drop.
Okay. So what would we spend for something like that? Like as a business, what would be worth it
for us? 500 bucks a piece or? A grand, you know, maybe even a grand and a half. I mean, we spend
a thousand bucks on a decent audio setup, know so i'd probably say between 500 and 1500
somewhere in that range per person is probably a decent spot to be and i would i wouldn't mind
doing that really if it changed the now if i had to wear this thing on my face all day long like i
already hate having to wear headphones you know and i get it like that's what we do because it's
what we we prefer to hear better with our our Sony 7506s or whatever they are.
I think they're 7506s.
The pros.
Is that a product placement?
That's a good one.
I love the Sonys.
I'll probably place those all day long.
These are the only headphones I'll wear as a podcast.
That's for sure.
I love them.
Yeah.
The Professional Series.
So I think if I had to upgrade this to like a full-on face mask, basically, that's a heavy headgear.
And we'll podcast for a couple hours sometimes in a day.
Like I'll have phone calls, you know, Zoom calls daily. mask basically that's a heavy headgear and we'll podcast for a couple hours sometimes in a day like
i'll have phone calls you know zoom calls daily if i had to wear that thing for like five hours
a day or four hours a day as any decent in quotes content creator might you know through meetings
business and the podcasting part of it that would kind kind of suck, man. I mean, it would be
good in terms of immersive, but it would suck in terms of, wow, I'm going to bolt this thing onto
my face. What does the end game look like then? I think that's a somewhat ubiquitous. Oh, it's
already been told. Ready Player One, man. I can't reveal it though. Yeah, but are they wearing masks,
full on masks? Well, no, at that point it becomes a neural net. It's like, it's something that taps
into your brain synapses.
Okay, so we're a little bit far away from that
unless Elon succeeds with
his neural link. You've got to ask Elon about that.
He's already put a microchip in somebody.
I don't want to ask him about that.
I don't want to ask him.
I'm sure I know what he would say.
It's right around the corner is what he's going to say.
We're already doing it.
We're 18 months away from all of his inventions.
Did either of you all read his biography from Walter Isaacson?
No.
No. Is it good?
That's worth a read.
Like, yeah, I mean, I have a very complicated relationship with the guy.
Like he, you know, fired a bunch of my friends.
But like, it's a really interesting book.
And I think kind of like Isaacson's book of Steve Jobs,
which I also read, whatever, like 10 years prior.
I think biographies are always more interesting
on complex people, right?
Like I feel like the last few I've read,
like Arnold Schwarzenegger,
I read not his most recent one, but his older one.
I read Will Smith's one,
like literally a week before that happened on the Oscars.
Oh, wow.
Like I just became like the local Will Smith expert because I just had decided to
read his biography on holiday.
So did you see it coming then?
You probably saw it coming.
Well, I mean, I guess it's, well, this is the thing.
Like I feel like this is why these biographies are interesting is that like these people
who are very polarizing, right?
Like often have kind of a lot of stuff in their upbringing and where they've come from
and what their relationship with their parents was like and stuff
like that.
And like when you've read that stuff,
it makes you look at them differently.
Like,
I don't think it makes you excuse when they do bad things,
but I think it does make you understand maybe a little bit more how you end
up being that person.
Right.
Sure.
Well,
when I say I don't want to hear what Elon would say,
I'm not like,
I'm not death on Elon Musk.
I'm just, I'm just over it. Musk I'm just oh yeah I'm just over it
you know that's the same way I am with
politics and stuff it's like I just don't even want to hear
about it because that was my main complaint
was Twitter became Elon Musk's
as the main character for like
a year that was my complaint about it
more so than the changes to the moderation
or the features and stuff it's like
I'm just sick of him as the main character
and so I just kind of him as the main character.
And so I just kind of like,
ah,
even though,
you know,
there's a lot about the guy that's very interesting and he's had a lot of
success and he's,
he's changed a couple industries.
So I'm not,
I'm not completely anti Elon Musk,
but I just,
I know what he would say about Neuralink.
I've already heard him say it.
But I guess this is the thing is like,
he's,
I don't know how I can quite explain this,
but it's almost like there's multiple axes of surprising, right?
Is that like Elon or various politicians or whatever
may well come out on Twitter or wherever,
or X or whatever tomorrow,
and say the latest like wild thing that everyone's like,
oh, well, you know, like I never thought they'd say that.
But like, they're not going to come out and say something surprising that's like oh well you know like i never thought they'd say that but like they're not going to come out and say something surprising that's like actually this really polarizing
viewpoint i've had in the past i turns out i talked to a bunch of people and like i'm a bit
more chilled like i can see both sides now right like uh you know it's like things are surprising
because they are never almost like nuanced or contextualized or whatever.
It's just like, it's almost like what we were saying earlier, right?
About like blog posts or content creation or whatever.
It's more like shocking than like, oh, like I wouldn't have thought
that person would look to things that way.
Oh, that's a nuanced take.
Oh, that's helped me understand the world like differently.
Like I'm with you, Jared.
Like I think that's why I find like so much of some of these characters in this conversation so boring is that it's just
you know like i might not be able to predict like the exact words that come out their mouth a lot
of the time but it's like i can predict the emotions they are trying to channel most of the
time and like like my father-in-law you know he's uh originally from ireland and did his phd at harvard super smart guy and like if you
ask him any question about anything even moderately contentious he starts with one of two phrases
either well it depends or a common misconception is right because he's just like the nuance factory
right like anything that you want to make a very polarized obvious this way is right that
way is wrong like he he's allergic to like that way of thinking and to me like the really really
smart really interesting people in the world are allergic to that way of thinking and it feels like
that is harder and harder to find because the algorithm punishes that type of almost like
long form let's not just inflame people let let's go and bring sides together, let's have an interesting deep dive exploration on a topic that's commonly overlooked, whatever.
Right. There's a parallel to software in that whole relationship because as developers, we want everything to be object oriented or binary or straightforward or solvable or deterministic.
And so we're trying to create, you know, with certain constraints around a world that is none
of those things, right? Like the world is gray. The world is analog. It doesn't have ones and
zeros. It has like all these varying all these varying degrees between one and zero.
And that can be very frustrating.
And so what I've found is the most laudable, interesting, successful engineers are the ones who are able to somehow work around all of the fail points and the nuances and the gray parts of the world and have software that still is robust and survives and works.
But as engineers, we want it to be like, no, it's true or false, guys. It's just true or it's false.
And obviously the answer in this case is false. And you said true, so you're wrong. So it's the exact same analog, you know? But yeah, like you said, the people who have lived a long time,
a lot of times, a lot of people with experience and also with education,
they realize that what we see in the digital world
is not what the real world looks like.
There's lots of other, lots of data points missing,
as Adam likes to say, like the smells.
We're missing all the smells.
Was it Jeff Adwood who first came out
with the Strong Opinions Weekly Held thing?
I feel like it was on coding horror that i first
read that but again like to me like that feels like the personality trait as you say of like
great engineers it's yeah and you know almost like an aside from like whether they feel that
way about stuff outside of engineering but like in some ways you kind of have to have strong
opinions because you have to have some rules to like write code like code is almost by definition
strong opinions because there's an if-else statement right and you can't do like it's
literally rules yeah if depends you know like but then equally i guess you know the more you learn
about like big systems and refactoring and working in teams or whatever like again all that comes down
to like weekly held as well right you need to be willing to change things day to day, week to week, month to month, year
to year.
You need to change things when you have, when you grow a team, when you grow a company,
when you grow an open source project, like when you grow as a person, like, and yeah,
like it feels like it's that eternal balance in, in engineering between those two poles like you know strong computer logic rules and then like weekly held
emotions humans feelings organizations like and anyone who tries to go like really really hard
in like one of those directions and not the other like i feel like ends up making a bit of a mess of
things yeah like ends up making a bit of a mess of things. Yeah.
Well, friends, I have some good news for you.
It is launch week once again for Sentry.
And I'm here with Rahul Chhabria from the product team at Sentry.
So Rahul, what can you tell me about the launch week this year for Sentry?
In March, we're making a huge investment into our product platform.
We're trying to make it faster, better.
In November, we shared a sneak peek about our new metrics offering.
So now developers will be able to define custom metrics they care about and monitor how quickly their app is responding
to the business measures they have to be accountable for,
plus also like the customer experiences that they've committed to.
And that's going to be available in an alpha.
People can sign up to get access.
We'll turn it off for them in a couple of days once they write in, and they can get going right away.
On top of that, we are looking more at how do we make the product smarter?
Now, I know the world is talking about AI and ML, and they're all solving, like, we think, like, entertaining problems.
But Sentry is taking a more thoughtful approach to it.
We are trying to look at what is the developer trying to do?
Like, our goal is not to have you sit in Sentry all day long.
Our goal is not have this, like, be a tab that you need to keep open.
Our goal is to have this be a tab you open when something is wrong, give you the information you need right away, tell you how impactful it is to your user base,
and if you should care. And if it is something you should care about, here's how to fix it.
So we're taking a broader look at how developers use the product. Where's the noise they're seeing?
Like, are they seeing repeat events? Are they seeing like things that are not critical rise to the top and have to automatically resolve them or ignore them? So we're going to make
Sentry a little bit smarter with artificial intelligence to give you a more prioritized view
of the issues that really matter
so you can solve them quickly
and move on and not be distracted
by random rage clicks that are,
you know, just ghost issues.
Those are the two major things coming out.
It's like thinking about more like
defining the metrics you care about,
also figuring out ways to like organize your issues
so developers can actually solve those problems faster.
And then we're also working on a few features
for our mobile developers.
Sentry is a platform
that works with any technology you want.
But for mobile developers,
there's always been this like,
wait a second,
there was an error.
But hold on,
let me go dig up this device
and see if I can recreate it.
I can't recreate it.
Okay, let me go look at the stack trace.
It's definitely something there.
I'll just fix it, push release.
And hopefully those,
the crash rates go up
and the crash for user rates go up.
But there's, it's always like this idea,
like I still need to figure out,
like where is that bank of used old devices
for someone running, you know,
iOS 13 on an iPhone 11 somewhere.
So we're giving them the ability,
we're previewing the ability
for mobile developers to actually see
what happens on an end user session.
So that way there's no question
about the problem or the latency issue and building out more performance capabilities
so they can see exactly how fast their app is performing. Those are the three big things
we're planning on talking about aside from core platform announcements, some
integrations and cool partnerships we're working with. I guess the big investment in machine learning
and artificial intelligence. Okay, Sentry's launch week happens March 18th
through the 22nd. Check the show notes for a linkry's launch week happens March 18th through the 22nd.
Check the show notes for a link to the launch week page.
I'll be showing off new features, products.
You can tune into their YouTube channel or Discord daily at 9 a.m.
Pacific Standard Time to hear the latest scoop.
Or if you want to get swag along the way,
enter your email address at the page we'll link up to get swag all along the way.
Or join the Discord, whatever works for you.
Head to Sentry.io.
That's S-E-N-T-R-Y.io.
I'm sure they'll link it up somewhere.
Or check the show notes for a link.
While you're at it, use the code CHANGELOG
to get $100 off the team plan.
Again, use the code CHANGELOG.
Go to Sentry.io.
The other complexity with software is that even if the strong opinion was right on day one,
it can become invalidated on day two because the world around it changes.
Like the world is not static
and we don't write our software in a vacuum.
And the longer we don't maintain our software,
we find that actually it doesn't even work anymore.
Like if you just let something sit,
this is why we have terms like bit rot,
which still frustrates me to this day.
It's like I returned to old projects.
I had a client who I wound down the relationship with them, but they still need my help recently.
And they have a Ruby on Rails app that's been unmaintained by their choice, not by my choice,
but they didn't want to pay for maintenance for years on Heroku.
And I was like, okay, well, the hard part about me helping you make this change now
is actually just even getting an environment that works part about me helping you make this change now is actually
just even getting an environment that works running so that I can make the change. And so I
dove into that whole process, you know, just trying to get a working environment going.
And it was untenable. It was actually, I was like, I can't even do it. There's just version
mismatches. Heroku doesn't support this old version anymore.
I can't upgrade to this version because that doesn't support this.
Blah, blah, blah, so on and so forth.
And it's like, the world changed.
It's sad.
I wish Heroku didn't deprecate and then just remove support for what you're running.
But they did.
And I can't do anything.
It's like a rewrite or, I don't know, let it live as it is until it just dies on the vine.
It was sad, but it was true.
At that point, you have to wonder if software,
this is kind of like polarizing a bit,
is software a cancer on the world?
It is such a helpful thing, obviously,
but the moment you don't maintain it,
it becomes against you, basically.
It can't support itself anymore.
It requires a subscription, a person, a person's time.
It requires a commitment to be runnable in a world that, like you said, is not static.
It changes.
It's a dynamic world.
And at some point, we're just going to be like our whole job, and I guess that kind of is the case already, which is why it's a little polarizing.
We already do maintain software on the daily.
It's already part of humanity.
But now that we have software as like humanity has been older than 100 years, right?
Like in the last 50 years or maybe more than that now, I suppose, maybe 60 plus years, maybe even close to 80, we've had the idea of software, right?
You've had a hardware
device that had something soft on that you can change software and humanity has not had software
in its zeitgeist or i guess day-to-day for as long as humanity's been around it's only a recent
thing in the last 50 or so years and so now we have this thing that requires us to show up daily
make it progress the world and then the world relies upon it and then we have this thing that requires us to show up daily, make it, progress the world, and then the world relies upon it, and then we have to maintain it.
And then the moment you let it go, like in this case here, and let's use Docker.
And maybe that doesn't change your versions, right?
Maybe you could have installed all of your dependencies locally and that would have been okay.
I don't know.
You could have frozen your dependencies. We now have this thing that requires us
to show up and give it love in some way,
shape, or form for it to keep giving us love back.
That's kind of cancerous.
I don't know. I kind of feel
the opposite.
I love it. Go.
Let's hear it.
I guess for me, the thing that's been nice about the last
5 or 10, 15 years with software
is it feels like it's becoming more universally accepted in the software industry and even outside, like even kind of consumers of software that like software is not static and it requires continuous maintenance.
And I guess like while you were saying that, I guess I was thinking about, I mean, how many things in our life genuinely require zero maintenance right over i
mean there's some individual appliances but anything of like you know a house right if you
lock the doors and just shut the doors on your house like eventually that house is just going
to fall down right like with if you do like literally nothing to it your car you're like
you know i guess over here we have for our heating systems our boiler or your ac unit or
most things like i think we maybe had this little blip in the 20th century where we
we shipped a bunch of like electrical devices that in some cases probably not anymore like
could actually last 20 years plus without anyone doing any preventative maintenance or repair or whatever
and in some ways it felt like a lot of the software industry looked at software like that
for quite a while right and there was some small minority of us of which you know i was definitely
one of them standing on the sidelines being like hey like these package managers you use the software
and your package manager all this type of stuff like it might feel good to just like sit on a fixed version of all your stuff forever but like
ultimately the world is changing around you right like if you do that then your mac os version
changes or your linux kernel changes or literally like countries in the world change their time
zones so like your calendars are not correct anymore it's like the world is a an always changing thing and to me maintenance is almost like
admitting that like that's a thing and trying to kind of honor that and i i guess like particularly
open source land it it does make me happy that this word of like the maintainer is so front and
center because it feels like we're also learning that like a
maintainer is a different role to a creator right like i have never made any open source like this
blew my my kind of company that i started last year my ceo this blew his mind that i have worked
on ruby professionally for you know over a decade at this point done a bunch of stuff with homebrew
a bunch of stuff with github some some of the kind of you know fairly big name projects in the ruby ecosystem i've never created
a ruby gem ever i have never created any open source project from scratch that has got any
traction whatsoever right like i've done i maintained homebrew for like 15 years now but
i would never there's no world in which i would have ever created homebrew like that's not the type of person i am but i'm the type of person who could take someone else's idea when
the ball is rolling and be like cool how do we keep that rolling how do we make it better how do
we like improve the community how do we bring people on whatever but like i don't come up with
like cool new ideas by myself right like that's not who i am but equally there's a bunch of people I know who are incredibly prolific talented creators in open source land have created many npm modules ruby gems like
open source projects whatever it may be but they don't have the stomach for like plugging away at
that for year after year I mean decade after decade in some cases like just keeping that
stuff going like that's not what interests them and it makes me happy in some ways that it feels like we as an industry are
recognizing that like even as you said jared like that little rails app you can't do that you can't
just rely on a bunch of open source project walk away for five years and then come back and expect
to be able to just be like well let's pick up where we left off because the entire world has
changed around you while you did that, right?
That needed to be maintained, and it was not maintained.
And as a result, it has maybe died, right?
In this case, it was literally eight years of unmaintained.
Which, hey, speaks well, I guess, of my code,
because it served their purposes for eight years without anybody touching it.
I felt good.
But then I felt actually really bad at the end of it,
because I was like, gosh, really hand-tied here. Let's figure out a way of doing
this that's not going to cost a whole bunch of money. Because obviously, if you had the money
all along, they'd be fine. But they didn't have the money to maintain because it's expensive to
maintain software. I'm going to agree with you, Mike. Sorry, Adam. I'm going to go against you
on this one. Here's why I don't think it's a cancer because, and the example of a home or a
large appliance is a good one. We maintain things that are valuable and provide us value. Maybe you
can say our relationship to software is symbiotic, like it needs us and we need it at this point.
But we only maintain things that provide value. That's what legacy systems are. We don't like
legacy because it's like hard to deal with. But the reason why it's
legacy is because it's valuable. It's actually doing something for the world. Otherwise, no need
to maintain it. Right. So cancer, you can't just ignore it and it goes away. But a software system
that's no longer bringing value, you just don't maintain it and it just dies. It doesn't spread
and kill you. So I'm going to go with mike on this one although i do
understand where you're coming from adam because yeah definitely it's spreading and definitely
there's more and more people that need to maintain the software or bad things happen right i said
cancerous which is not exactly seeing it's cancer okay it has you know traits and similarities i
would say mainly that I would say.
Mainly that I would say, well, maybe.
You said it's like cancer on the world.
Isn't that what you said?
Cancer on the world?
Cancerous.
I mean, we can roll back the transcripts.
Go back to the tape.
I'm also just throwing it out there, really.
Yeah.
Because, you know, let's say you throw up a website.
Even with the web today, I mean, to establish a decent website that is attractive to mainstream or still not the same full fidelity as if you like handcrafted the website but if you
leave that website for like like you said like your home close the doors for a bit for unmaintained
for your make zero changes maybe in the case of a Squarespace Wix or other you might they might
because of the platform upgrade for you but it still required somebody to commit their time to maintain something that is in quotes valuable because i
suppose there's an exchange you're paying for the service and so therefore that's the value exchange
but now we've got to show up and like kind of keep loving this thing and kind of keep giving
this thing a little nudge and a tweak and a turn and, you know, dependency upgrades or
whatever it is along the way, standards change, you know, in this dynamic world that now to kind
of keep getting the same initial value and the maintained value, we now have to keep committing
our time to keeping the thing in place. And as we, as, as humans, you know, as humanity remains
and goes even deeper, I mean, going back to even social media, as humanity remains and goes even deeper.
I mean, going back to even social media,
as we get more deeper into our livelihood being because it's there,
we are here.
Now we can't give up, like you said, that symbiotic relationship.
Now we can't.
And maybe at some point we now have to serve software just so it can serve us.
Maybe that is symbiotic.
I just wonder at some point, is it long-term worth it you know like even with more
connection like we're not that we're better off as humanity but like it hasn't solved the kind of
primary human problems we still have hunger we still have poverty we still have racism we still
have any isms that are negative out there we have where the whole internet was fraught with
just hate in a lot of places there's also a lot of love too and i get that i just don't know if
we've actually solved maybe we're going the wrong direction with this podcast at this point but
i mean have you really solved the problem does software solve the problem and will it only
require more of our time to kind of keep the status quo i think it some of the stuff it depends
how almost like how close you fly to the sun.
So in some ways, I see it as three options, where you describe two of them already.
Say option one is you make some shiny, I can't really JavaScript, but whatever the JavaScript front-end framework is, du jour.
And your site looks amazing, and you click around, and and there's animations and cats fly at you from
everywhere and wow it's incredible like that's like option one right and then option two is what
you described before about like you just set up a site in squarespace or word square space or
wordpress or whatever it may be and then someone else just like maintains that for you but you have
a lot less control and like option three that i guess i thought of is the much derided when they pop up on sites like how i can use like someone who just has a website where like
there's no css there's just html and body and they're more or less like right like either i
don't care at all about like how this looks or like you can just use reader modes or an rss app
or whatever it may be to consume my content that way. I care about the words. I don't care about how it looks. And like, I guess it's like for each of those three, it's like for
option three, that site will probably be viewable more or less the same as it is today in literally
20 years time. It'll probably look exactly the same. Option two, as you said, you're probably
paying someone or there's some big multinational corporation and you've ceded some control in
exchange for that maintenance.
And it's option one, I think,
that is the most painful to deal with
because the more new, shiny, exciting frameworks you use,
then yeah, you pay a much heavier cost on doing that.
And particularly if you don't want to do
that kind of day-to-day maintenance or whatever.
Like it's interesting because I've just been building this kind of new Rails app for WorkBrew stuff.
And it's amazing to me compared to like last time I started a Rails project
from scratch, like how much stuff I've like written, you know, whatever,
like a little five line method.
And then I read some more of the Rails docs and I'm like, oh,
this is a one liner now.
I don't need to write this method.
I can like throw it away. Right. And like that And I'm like, oh, this is a one-liner now. I don't need to write this method. I can like throw it away, right?
And like that to me is what, again,
like we're in kind of private beta right now and stuff.
And like the customers we have,
I definitely lean into that.
I think it was Reid Hoffman or whatever.
It was like, you know, your first MVP,
you should be like embarrassed.
Like the way it looks and like all the wording
and the way like Rails will like auto-capitalize things
for you and sometimes it looks right and sometimes it looks a bit weird.
It's kind of embarrassing, the state of the app we've got in front of people.
And no one has complained about any of that.
No one has complained about how it looks ugly and janky,
how essentially no love has gone into design,
how there's no dynamic JavaScript doing anything other than Rails' built-in stuff.
The only thing our customers so far want to know
is more features, right?
They care about essentially more back-end business logic.
And I guess to go to your point from earlier, Gerard,
that is probably the stuff, again,
that back-end business logic.
It's the easiest to test.
It's the easiest to change.
It's the easiest to upgrade.
It's the least dependent on third-party libraries
and stuff like that.
And it's all the really shiny front-end,
whiz-bang magic, great design,
relying on the latest web standards
that will have trouble in two years.
And my three-line Ruby backend function
that powers some new feature
will probably be perfectly happy in 20 years, right?
And not be relying on the Rails version
or the JavaScript version or whatever it may be.
Yeah.
Speaking of front ends,
I was just thinking about our front end recently
for changelog.com hasn't gone through
any substantial remake since we launched the website in 2016.
And so that's eight years of just dutiful service
without any real maintenance.
That's a pretty big win, I think.
I mean, just in terms of...
I think that's a huge win.
Yeah.
I mean, I think it's showing its age now, both in the code and just the design.
We've had desires to redesign and change and do things,
but I can't say that for very many other websites I've made that have had that much
longevity without serious updates over time. So that's kind of cool. This is the thing that when
you think about those sites, and we can probably imagine some sites that we use that are, you know,
maybe more Rails or PHP or whatever, right? Some older school apps where it's definitely,
there's not a lot of javascript
stuff going on there right like the fit i find the failure states on those apps to be like so
much nicer right like i get an error message i don't get you know pops up it gets rendered it
might take a second or two for a new page load or whatever whereas i don't know if it's because
i'm still a safari user or because i
have a content blocker or whatever but like i just feel like for me increasing amounts of the internet
just don't work like i just click a button and nothing happens right like there's no nothing
loading and then i had to click around i go into my developer tools and it's like oh there's like
a javascript error there and like essentially just everything on the page just kills the entire site
yeah it's just it's just frozen but like it's i mean part of me is almost
like how would you even know this is a problem if you're just like a normal person right because i
know half the time i go and i i do that and i have like you know i'll be like logging into
this name and shame like british airways or whatever and this stuff's going wrong
and then it's some javascript error and i'm like oh it must be because i'm using safari so i switched to chrome and then i'm like oh it must be because i have adblock and then save adblock
and it's like no no this is just broken for everyone in the entire world right now like
and who knows if anyone's even being notified that this is the case i don't have any way of
notifying a person that this is broken and yeah it's just like this is just how things are now
and that for me is why like i'm not like anti-JavaScript,
but I'm very like,
if I can push that logic into my backend instead,
I can then write unit tests against it.
I can deliver the same code to every customer.
I can get century alerts or whatever more easily.
Like it just feels like a better world to me
than once stuff gets into the front end,
you can do a lot more but like yes yeah and
you're having to maintain that and deal with the changing javascript standards and all your
dependency tree that changes all the time and well as a guy who's plugged into the web dev community
by way of js party i can tell you that the pendulum is very much swinging back towards our
old school style for all the reasons that you just explained.
And that's very refreshing.
I know that we'll also eventually swing back the other direction,
but I agree with you.
It's a better failure path.
How's it swinging back?
Can you give like a one minute flow on what that means?
Yeah, so kind of the rise of HTMX
and simpler JavaScript libraries and frameworks,
kind of a little bit of a frustration with React as the de facto choice for your next web app is
no longer, I think, de facto. It's still probably the main choice, but because of RSC React server
components and some of the difficulty moving React to the server more.
And the confusion that has come out of that has made people kind of disillusioned a little
bit.
And just like how awesome Laravel and Rails are, you know, when you just compare them,
the experience.
I kind of want to build a Rails app today because I haven't for so long and just see
what it's like.
Because that's what Justin Searles also tells me.
I mean, all along, when you watch tech Twitter and tech Mastodon and stuff,
the PHP folks are just sitting over there laughing,
because Laravel is just a really productive thing.
And it's like a lot of us front-enders
and web dev JavaScript people are kind of reinventing
a lot of the stuff that other
camps have been, Django as well, have been
doing for years.
It's just swinging back that direction.
That's cool. Makes me happy.
There was a great one recently, actually. I think it was
on Hacker News, the comments for
some jQuery release.
The comments were like 50%
people being like, why would anyone be
using jQuery in 2024?
Like all the JavaScript standards mean that you don't need to anymore.
And then the other half being people being like,
yeah, I still use jQuery.
It's a really good library.
It solves a lot of cost for our stuff.
Like the APIs are just really pleasant to use, right?
Like it's, I won't name them
because I don't want to talk about,
you know, specific people who may or may not have sponsored this podcast at points in the past.
But I had that recently where I wanted to integrate with a particular provider for our app.
And I spent several hours trying to make it work.
And there was this other company that essentially sells like a, hey, we have a user-friendly wrapper on top.
Think like what Heroku sold for like aws and i had their
implementation of the other company's stuff working in like literally less than five minutes
like and the developer experience was just like my i'm like all the docs were there better using
their gem was better like everything was just a more pleasant experience all around like it was
just absolutely wonderful to deal with right the pricing is dramatically higher
but i'm like yeah we're just we're just going to pay that right because the developer experience is
so much worthwhile that it's like every time i think now about like working against the api of
the first one i feel sad like it makes me like not want to do my job and every time i think about
using the apis with the other one i'm like yeah this makes me happy because it's been they care and it's been well designed and like some of the kind of you
know again i'm i'm not super skilled up on like jquery state of modern javascript but even some
of the code examples people had in the comments they were like okay yeah modern javascript can
do this but like which of these two examples is more readable and more obvious what it means and
that like old school jquery you know, using the dollar sign parentheses way,
like it's super nice.
Like the reason why jQuery was really good
is a lot of thought went into having an API
that was really good.
And, you know, I kind of feel the same way
with like Homebrew, right?
Like Homebrew gets a lot of shade periodically.
And like one of the reasons I worked on it for so long,
one of the things I liked about it so early on was like there was this real amount of care in the community and from max
the creator and you know i feel like most maintainers there on like having a really nice
user experience right if you could like we we argue a lot about like what a good error message
looks like right a good error message informs the user exactly what they have to do. And if an error message says, you need to run this command, then the question is always,
why wouldn't you just do that for them? Why would you print an error that says,
go do this thing when you are on a computer after all, you could choose to do that thing for the
user. And yeah, I think a lot of our industry underestimates when you're building developer
tools or developer tools or
developer APIs or whatever, like just how important that developer experience is. Like
it's everything. I feel like it, that feeling of like, I like using this API versus this API makes
me sad to go to work is it's a real thing. And maybe I care too much, but like, I feel like it's
not just me that feels that way. Let me ask you this about homebrew and we'll talk about work brew.
I was on the website and I think you said something like 35 million people are using
homebrew or something, some large number that I was very impressed by.
Yes.
And it reminded me that you all have that telemetry built in because at first I was
like, well, how do they know that?
I was like, oh yeah, because they put in that telemetry and that was very controversial.
And maybe that's why some of the shade
continues to come your way to this day.
That was a long time ago now.
I was thinking about that in light of a recent post
by Julia Evans, popular Git config options.
Did you see this post by her last week, I think?
Yeah.
Where she basically went out
and aggregated a bunch of people.
She asks, she has a large following,
so she asks her followers,
what are your popular Git config options?
And then she just blogs them.
It's a good idea for a blog.
But she said this in the opener.
She said, I always wish that command line tools
with data about how popular their various options are,
like basically nobody uses this one,
or 80% of people use this, probably take a look.
Or this one has six possible values,
but people only really use these two in practice.
She wishes that that existed.
And so I can imagine that with Git,
or I can imagine that with FFmpeg,
or I can imagine that with name your developer tool.
That would be amazing for a user experience.
I'm going to configure this thing, vimconfig.
Here's probably the six vimconfigs that you want.
And we do a lot of boilerplates or starters and stuff that give us those things. But all of that would require
telemetry, wouldn't it? Like how are you going to know your popular options? And that's why I
thought of Homebrew and your guys' telemetry. So my question is like, has that super paid off
over the years or not? Like it was a big controversial decision. You put, I think it
was Google Analytics, wasn't it?
You just used that service years ago.
Can you talk about it?
Yeah, we originally used Google Analytics because they were the only people we could find
that essentially could handle our load
at our price point, which was $0.
It has been really, really useful.
The single biggest thing that it became most useful for,
and we basically ended up dropping a lot of the data that was not this, essentially,
was just the packages in Homebrew, like figuring out how widely used is this package.
So a common thing that would happen is like a new version of macOS comes out
and, you know, there'll be stuff that breaks.
And we're like, okay, we know there's some stuff like OpenSSL, curl, git, whatever.
We know these are popular.
Like we know we need to fix them.
But some random package, like none of the maintainers personally use breaks.
It's like, do we fix this?
Do we delete this?
Like, how do we know?
Like, and the analytics essentially gave us like a data-driven way of saying like, well,
actually, 100,000 people installed this in the last month so we probably want to fix it or actually no one
installed this in the last year or at least no one with analytics not disabled right so it's
probably not worth fixing right so like that being able to be data driven about those decisions and
i guess also like as someone who you know i've been learning a lot maintaining homebrew for a
while but like at the same time i was like at GitHub, right, and had been at various other kind of tech companies before that.
And it's, I feel like that's the kind of unfair, the unfortunate double standards here is that, like, in an open source project, like, you can see and you tell your users when you have analytics.
But, like, every single other app you use has some amount of analytics, right?
Like, basically everything right and certainly if you're dealing with like a server-side web app they can track everything
you do at all times and you will never even know and you have no ability to opt out and it's it
felt like you know trying to canoe with one arm tied behind your back or whatever trying to do
this type of stuff and trying to do essentially like i've been the product manager for homebrew
like trying to make these decisions about like what we do and what we don't do with absolutely zero data just meant that like essentially what you would have
to just do is just make arbitrary decisions and wait for the internet to scream at you and tell
you you're a terrible person for not knowing that this is incredibly popular and instead they instead
the internet scream at you for having the analytics but then you make less contentious stupid decisions and also like
our analytics as of whatever it was like i think a year a year and a half ago like we moved it all
from google analytics to like our own kind of cloud hosted influx db which is in the eu and
like with that the nice things are like this there was a certain amount of trust that when we were
google analytics that like we said hey don't we don't want you to store ip address information and they provide a mechanism for opting out but some people
just don't believe that google doesn't store that information right where so where with the server
we can just say well that's not stored right and the way we store it is an aggregate we don't
differentiate between users anymore because that was like a nice thing for kind of figuring out
user numbers but in the end of the day it didn't really help with anything meaningful in the project and yeah and
it basically just means now we have like a slightly more simplified like analytics setup that is more
expensive for us to run but it's significantly better from like a privacy and an empty perspective
and all our data is set up to like autoete every 365 days and all this type of stuff.
So yeah, we basically have now pretty much as good as you're going to get for opt-out analytics in an open source project where they need to maintain the infrastructure.
And to go back to what you said at the beginning, Jared, about Julie Evans' idea about the command line options.
Yeah, we're already talking about doing that and having, the very least something like you know the commands that are run we have some sort of analytics for them and then we use those
to like i think her suggestion was to sort the in the man page like to sort the items right so i
would imagine like brew install will be at the top because it's the most widely used then maybe
followed by brew upgrades but like what will be in position five or six or seven or eight or whatever, I don't really
know.
And right now, it's an alphabetical order, and that's arguably not as good as it would
be if it was sorted by actual usage.
So that's subcommands.
But I imagine configs, I'm not even sure there is a homebrew config where you can tweak it
and stuff.
That seems a little more intrusive.
You're reading my configs, which you kind of would have to
in order to get that information from everybody.
We've got a nice middle ground on this stuff, actually.
So if you go to,
I'm sure you can double look in the show notes,
that's the other thing I forgot to mention
with our analytics.
Essentially, all of the analytics data
we have access to as homebrew maintainers
is all on the public internet.
So if you go to formulae.brew.sh
slash analytics, then you can see all of the kind of events and all on the public internet. So if you go to formulae.brew.sh slash analytics,
then you can see like all of the kind of events
and like all the data for there.
And what we do, for example, is you say like,
okay, what does local configuration look like?
In reality, like the only stuff we care about is
are you using the default Humber installation
or not the default?
Because if you're using the default,
then you get binary packages, well, all of them.
And if you're using not the default,
then you don't get them.
So instead of logging, you have Humber installed in slash users slash Jared.
You have it in the default location or you have it not in the default location.
And you can go and look and there's a little page where you can see Humber prefixes for events in the last 30 days.
We can see like 41% of them have them in the default location on
apple silicon 39 default location on intel max 13 in the default location on linux and then there's
like a breakdown of smaller numbers of people who are running in like custom locations on
you know arm or x86 or linux or whatever like and And that gives us the information we need,
but at the same time preserves the anonymity
of the people who were not getting
your configuration from that.
Yeah, it's like a proxy for your actual config.
You're actually just answering the questions
that you really have versus just grabbing
all the config information.
Exactly, exactly.
And also, that's not done server-side.
Again, the other nice thing about
why you would think open source
analytics would be like more popular in some ways it's like you can go and see like go and look at
the humbrew code and you can see that like we do not send the string of like your local thing and
then sort out the server like we only send the data that like this is a custom thing and so you
can't dig into like literally the way the analytics is sent and say, hey, they're not being creepy
and sending all this data that we don't want them to.
That is cool.
So 35 million users.
Adam, does that strike you as a lot?
I mean, I guess I stopped and I'm like,
let me intellectualize that if I can,
or think about it, I guess, is a simpler way of saying that.
It's like, yeah, pretty much everybody uses Homebrew.
And so I don't know why it surprised
me but i was like dang that's a lot of people yeah i guess i'm surprised by the number but not
surprised by the number like it makes like it makes sense like hearing it that makes sense
because like what else would you use if you're on a mac and you're a developer and you want to be as
close to production which is unix slash linux in you know almost every case then you're going to
be on a mac in most cases being a developer.
Now, there's also a lot of Windows developers too.
They're running Linux subsystems.
Yeah, I guess it's not all Macs now, right?
Yeah, so that number is inferred
because we don't have analytics numbers for everyone.
So essentially what we have is we have the analytics numbers
and then we can compare those to the for a given package say
the github again with what i was saying earlier about like people on the server side can track
you have what they want so when you download a binary package from github packages that is logged
so essentially we can compare the difference between those two numbers for a given package
and see roughly how many people have opted out of analytics usage.
And yeah, it basically looks like
about 90% have opted out.
And again, the other thing that's worth noting
is this, you know, some of these users
are GitHub actions, like Cloud Runners
and stuff like that, you know.
But we don't discriminate.
We believe our bot users are just as important
as our humans.
Just as important as our humans.
Where would I find out if I've opted out?
Where would I determine that?
If you type
brew analytics in the command line,
it will tell you whether
the analytics are enabled or
disabled. So I've got influx
DB analytics are enabled, Google analytics
were destroyed. Yes.
That's because we had an intermediate time when
you could opt out of one and not the other or whatever. That Google analytics were destroyed. Yes. That's because we had an intermediate time when you could opt out of one and not the other or whatever.
I'm kind of the same boat.
That Google Analytics were destroyed,
that message could kind of go away,
but it's also fun.
Yeah.
Because we literally dropped all of our historical archives,
backups, everything for the Google Analytics stuff.
It's all completely gone.
You should add some ASCII animation of it exploding or something.
Yep.
Oh, gosh. I don't want to say anything, but okay.
You made me have to say it.
Oh no.
Do you still maintain Homebrew, Mike?
Are you still involved in the day-to-day?
Still very involved.
Yeah, I was elected the project leader again earlier this month.
We have like a governance process that you can read about if you want to sleep.
So we have little elections
and we meet in person as a group when we can basically like every year since covid and yeah
like so no i'm still involved like day to day if you make a pr on the main package manager repo
like i will almost certainly review pretty much every pr that goes to the package manager. Do you try to at all mirror user experience to something
like apt on Linux? I've used apt a lot like this I think in some ways that we kind of have like
different slightly different goals because we're not like a system-wide package manager
but yeah but in general like I am thinking of the other package managers I've used in both AppGate and Emerge and Pacman
and all these type of ones.
But also when I've used RubyGems or NPM or whatever.
I'm thinking about those when I'm trying to make decisions
about how the package manager should work.
What makes me say that or ask you that
is kind of what Jared said, which was the,
did you say a spinner, Jared, or something? what did you say that made me say what I said? No, I was
saying some sort of ASCII art of them destroying the Google analytics. Oh, okay. Disregard then.
Because I think whenever I run brew update or I run pseudo apt update, the experience is different.
Yeah. Like brew, homebrew, will
sit there for a bit, and sometimes I'm not even sure what it's
doing. It's kind of like,
it's keepy, it's not givey.
It keeps a lot of its information.
Can you do a dash v or something?
Is there a verbose mode? Maybe you could.
Is there a dash v?
Yeah, there's dash v is,
there's dash v, and then if you're a homebrew
developer, you can do dash dash debug as well.
And if you enable dash V and debug,
then you get a lot of output for everything.
Wow.
Well, I think dash V should be the default then,
because that makes me so much happier
when I run brute update dash V.
Do you want to bring Mike on the show
so we can figure stuff out together?
Wow, thank you, Mike.
Gosh, well, let's, can I be,
can I put my hand up and say, can that be the default?
Because I feel like whenever you
run a command like that for a package manager,
whether it's system-wide or not, you want
feedback. Pretty quickly.
When it doesn't tell you what it's doing. Especially whenever...
Like, I don't run
brew update often. You know, I'm just
not. And so, for example,
if I run brew update right now,
like, there's a lot of stuff out. Like, if I just
run brew update, it kind of hangs there.
Now it actually says you're already up to date.
But the feedback it gave me earlier when I ran it,
cause I like,
again,
I haven't ran it in a while.
It said that I had a lot of stuff that,
that needed some love basically that I needed to come here.
And,
and I,
if I run brew out,
brew outdated,
I can see what's outdated.
And it's quite a bit cause I have 109 outdated formula.
Now we didn't bring you on the show to sort of gripe about I didn't at least
but I'm always surprised by the UX
of homebrew
that it seems less verbose
and there are times
even whenever
when I run brew update I'm surprised by how long
it takes to get that
there's nothing telling me something's
happening so I'm like wow what's going on here did i did a break what's happening behind the
scenes but all i gotta do is dash v so i'm gonna try that now but let me suggest that'd be the
default because i would prefer a verbose update versus anything else yeah no i i think like now
that homebrew does a lot more auto updating anyway i think if someone manually runs brew update then
yeah i i think the thing that's tricky, again,
it goes back to what we said about maintenance, right?
Is that like brew update back in the day was,
even when it was doing something,
it was essentially instantaneous, right?
So like there's this kind of continuous,
almost like maintenance from the kind of product perspective
as well of like, okay, well,
this used to take 0.1 seconds for everyone.
It now takes kind of a minimum of like two or three seconds for everyone
if it's actually doing anything and it's not just like a new op.
So how do we get to a world where the output more better reflects that?
Also, like it used to be, you'd have to run it manually.
And now like it will auto update for a lot of people.
Like, so when you run it manually,
you probably even more want to see information than you did before and stuff so yeah i've written it down which means that i can promise
i will at least think about it on a day that is not today i'm also not a daily user of homebrew
but i am a multi-year user of homebrew like i can't remember not using homebrew yep i remember
but it was a long time ago that's why i brought up mac ports because that's what i was using before
yeah well i was the mac ports day but it was just so hard to use that I didn't really become a user of it.
It was super challenging.
But then again, I was also quite green with managing systems.
So it was probably me, not the tool.
But it wasn't as user-friendly.
Okay, maybe it wasn't the tool.
Jared made a face.
The MacPorts, for me also, was not super easy to use.
I was happy when Homebrew came out and homebrew started out being like super
optimized for Mac.
Like that was kind of the pitch in the version one or 0.1 or whatever,
which I was an immediate switch over. Cause I was like, yeah,
why not use all like it's it's for the Mac and let's make it fast and Mackey
and all this kind of stuff. And it kind of evolved from there even,
which I think we've talked about in the past.
But I can hardly remember life before it as well.
I'm sure there's millions of people
who don't know life before it.
There's just no homebrew.
Yeah.
Well, so the nice thing about the next few years is,
you mentioned kind of work brew earlier.
The company I'm working on now is essentially
building on top of and around homebrew and it involves me spending more of my time probably
on homebrew than I did a couple years ago for sure so like one of our big goals like as a company is
that even if you if you look in like five or ten years and you're still a happy homebrew user even
if you've never heard of Workbrew
or used it in any way or paid us any money,
like you will look at almost like as Workbrew grows
and that being an inflection point
and Homebrew gets like dramatically better.
Like I think from some level,
it's easy to look at Homebrew and be like,
well, it's basically done.
Like it doesn't need to have like really big changes,
but I think there is the potential to kind of still both the stuff you
said adam like just improving the kind of user experience like having it be and feel faster
having it be less error prone having it be able to kind of support more of the kind of workflows
that kind of developers want to use now like this is all stuff that we're kind of thinking about and
working on and you know we basically want we want homebrew to be better and we want that to be the kind of
bedrock for what we're doing with workbrew as well What's up, friends?
This episode is brought to you by ImageProxy.
ImageProxy is open source and optimizes images for the web on the fly.
It uses the world's fastest image processing library under the hood, LibVeeps.
It makes websites and apps blazing fast while saving storage and SaaS costs.
And I'm joined by two guests today, Sergey Alexandrovich, author, founder, and CTO of Image Proxy,
and Patrick Byrne, VP of Engineering at Dribbble,
where they use Image Proxy to power the massive amounts of images from all of Drupal.com.
Sergey, tell me about image proxy. Why should teams use this?
Everyone needs to process their images.
You can't just take an image and just send it to users' browsers,
because usually it's megabytes of data.
And if you have lots of images like Drupal does,
you need to compress and you need to optimize your images and you need
them in the best quality you can provide. That's where ImageProxy shines.
Very cool. So Patrick, tell me how Dribbble is using ImageProxy.
Being a design portfolio site, we deal really heavy in all sorts of images from a lot of
different sizes, levels of complexity. And when we serve those images to the
users, those really have to match exactly what the designer intended. And the visitors need to
receive those images in an appropriate file size and dimensions, depending on whatever their
internet connection speed is or their device size is. And that was just a constant struggle really
to really thread that needle throughout the course of the platform, using a handful of different
tools in maintaining that right balance of a high degree of fidelity, high degree of quality without
sacrificing the visitor's experience. And when we were exploring using M2 Proxy, we were able to
spin up using the open source version of the product, a small ECS cluster to just throw a few
of those really tough cases that went through our support backlog, looking at some of the cases
people were reporting. And almost to a T, we aced every one of those cases. Wow. So it seems like Image
Proxy was really impressive to you. Yeah, Adam, I just have nothing but positive things to say
about using Image Proxy. The documentation is crystal clear. Out of the box, it does everything
you need it to. Tweaking it to meet your specific needs is incredibly easy. It's wicked fast. It
deploys real simple and our compute costs have gone down over the open source tools that we've
used in the past. Even including the ImageProxy Pro license, it still costs us less to use and
gives our visitors a better experience. So as an engineer, I like using it. And as an engineering
manager, I like what it does to our bottom line.
So ImageProxy is open source and you can use it today.
But there's also a pro version with advanced features.
Check out the pro version or the open source version at ImageProxy.net.
The one thing I love so much about this is that no matter which you choose,
the open source route or the advanced features in the pro version,
you use the same way to deploy it.
A Docker image, one that is from Docker Hub that everybody can use, it's open source, or one that's licensed differently for those advanced features.
That's the same delivery mechanism via Docker Hub.
It's so cool.
Once again, ImageProxy.net.
Check out the demo while you're there and check out the advanced features for the pro version. Once again, ImageProxy.net. Check out the demo while you're there and check out the advanced features for the pro version.
Once again, imageproxy.net.
So the day after WWDC was the last time you were on the show with us and you had left GitHub.
Yep.
And you were starting something new.
Yep. But you didn't exactly know what you were on the show with us and you had left GitHub. Yep. And you were starting something new. Yep.
But you didn't exactly know what you were going to do, right?
Like you were kind of trying some stuff.
Yep.
And I'm curious, you know, take us from there to workbrew.com.
Were you already brewing on, pun not intended, maybe it was.
Were you already figuring out workbrew and you just didn't know exactly how it was going to work?
Or were you trying something totally different, you know, not home homebrew related what was your process to get here yeah so i mean
it was a kind of a bit of both like we sort of investigated in the kind of earlier days some
other stuff like we didn't go straight into the company with kind of it being working on homebrew
but basically we kind of built some small other things to begin with and then it became clear
pretty early on that like that wasn't playing to our strengths.
And my CEO, John Britton,
who used to be my manager at GitHub,
he's basically trying to convince me
to make a company around Homebrew for over a decade.
And him and various other kind of people have said like,
oh, this is a great idea.
And I've always been like, this is a terrible idea.
Why would you do this?
But the thing that is interesting for me now that what changed is that we're in a place i think
as an industry and a place as a project and stuff like that like i mentioned our governance
structures earlier i mean one of the nice things about those governance structures is homebrew is
in a place that even if i wanted to somehow try and completely take over Homebrew as a corporate entity like
I can't do that right we have structures in place to prevent me or anyone else involved with the
project or not involved with the project from from doing that so the project's safe the project's in
a decent kind of financial state and has a decent community that kind of meets together once a year
or so and stuff like that like we're also in a state with like sustainability and open source
where there's more conversation about that we've seen kind of various companies try
various things github sponsors existed we've seen hashicorp do what they did and what they do and
elastic do and they didn't do and all these types of kind of different models and to me it's kind
of felt like a sort of natural solution to the problems really that i guess i've seen which is
that another thing you
get with like a volunteer on open source project like homebrew because where no one's employed to
work on it is every so often big companies come to homebrew and they say hey we we want you know
integration for sso or mdm or one of these other like big company problems that small
individuals and hobbyists don't have and the homebrew volunteers go and you
know look at some sample documentation or whatever and they're like oh no no no no i'm not spending my
evenings and weekends on this i have absolutely no interest in doing that so it feels like there
is a kind of happy middle ground where the companies who have budgets and requirements
for stuff that your average homebrew user doesn't care about can get us in work brew land to go and be like hey like make homebrew play nicer with the way
our company does things and that's essentially what we're doing and that i never really saw it
floated that way until we kind of thought about it this year and that is being like a way to look at
open source sustainability through that lens and like the prospect of kind
of building company and making homebrew better at the same time like previously you know when
we were talking about this 10 years ago and we hadn't seen some of the success and less successful
attempts of this stuff it was more or less just like you know get an open source company around
an open source project dot dot profit was like the business model right
and i guess like i've never thought that that was something i wanted to do and like now we kind of
have a nicer strict separation where it's like work brew is doing stuff for money which we will
charge companies for we also work on homebrew stuff but the stuff that's in homebrew is free
it's open source it's worked on by
volunteers and you know it's a kind of it's a nice world right and it requires me as i did at github
to kind of wear two hats of like the the open source hat and the kind of company hat but like
you know so far it's going pretty well and even like you know we've got our first employee starting
in the near future he's a homebrew maintainer and And I've said to him, like, when I send you a message on, you know, our company Slack,
that's me talking to you as like Mike McQuaid, CTO of Workbrew.
When I send you a message on the homebrew Slack, that's Mike McQuaid, homebrew project
leader.
So anything I ask you to do on the homebrew Slack, you can just be like, nah, I don't
want to.
Like, I'm a volunteer.
I do this in my evenings and weekends.
I can't be bothered.
You would like me to review this pr no thanks dude like and yeah it's kind of i think that way of kind
of doing things and that way of thinking is maybe a little bit unusual and weird but like that kind
of idea of kind of having the company and having the open source as being two separate entities
that like can nicely symbiotically benefit each other, I think is where my head's at.
And I don't think that could have been done two years ago,
10 years ago, whatever.
I love it. It seems like a good idea.
It seems obvious in retrospect, some of the best ideas are.
The name's perfect. I immediately knew what it was for.
Yeah, I love the name.
Work brew, yeah.
You get your home brew and your work brew.
I mean, the line has been drawn.
You have, I think, coming soon, if I recall correctly,
on one of your pricings.
What's the state of, I suppose, the company?
You said soon per device per month.
It's get in touch, essentially.
Free forever or, which is homebrew,
and then workbrew is your price per device per month
is soon, not a number. number yeah so basically what we're doing
right now is we're trying to recruit i guess what we or others call like design partners which is
essential like private beta people who join with the expectation that like the product is not done
yet but like you can you are going to help us decide what the kind of v1 of the product looks
like so that's we've got some people who are on board right now for that
in kind of like a paid relationship with us
where they're making the product better
and we're building it sort of to more closely hew to their needs
as they would be if they were just like a rando customer.
And then essentially once we've got something there
that we feel like we could put a 1.0 label on,
we'll have a public launch and anyone will be able to kind of join and stuff like that.
But right now, essentially, that's what we're looking for.
We're looking for feedback from anyone who is interested in doing that,
or even anyone who kind of like some of the stuff resonates or it doesn't or whatever.
We're basically just like talking to lots of people and i'm building away what i can you know this some of the stuff that i've seen people kind of ask for in homebrew land for a
while like multi-user support like work brew i'm all like work brewed on my like local machine so
like when i run brew on my local machine it's actually like running in a separate work brew
user and like passing information back and forward that way and reports everything back so I can see if packages are outdated
on my machine, like a central location and all this type of stuff.
So yeah, it's getting there.
It's interesting also to see it live side by side with the project.
I mean, we hear the term and have heard the term
commercial open source software, like COSS, C-O-S-S being an acronym.
And being quite popular, there's a lot of companies that obviously have done versions of this, but I think yours is uniquely different that you've been a maintainer for so long.
I suppose internally you thought, well, if I'm going to keep being a maintainer, I better find a way to be able to, one, leave GitHub to do this thing full-time, but then also sustain myself
and potentially build a profitable, useful business for, like, why would you burn your
career capital, essentially, is what I'm trying to say. Like, why would you go and transition
to something else? Why wouldn't you just try and find a way to create a value artifact,
which is Workbrew, alongside the thing you've been pouring so much effort into
for as long as I've known you,
you've been homebrew.
Like I don't know you as anything else.
So,
you know what I mean?
We've known each other for many years.
Well,
he's never started anything else.
Right.
Exactly.
So,
I mean,
it's,
it's been a journey.
15 years.
Yeah.
15 years.
I've worked on a brew.
Wow.
So that's like as long as,
so that's 2009.
That's as long as this thing has been a thing, this podcast.
This is our 15th year.
There you go.
Interesting.
You just left us speechless there, Mike.
We all just sat here like, dang.
We're all getting old together.
I don't like my Apple Vision Pro.
It's just too heavy for my face.
Oh, my.
I wouldn't buy it for $100.
That's my best old person impression. Sorry
about that. Well, I mean, I'm glad, I'm glad you see it the same way I do, Adam, where I think this
is the thing is that, you know, I'm sure much like anything on the internet that will be kind
of naysayers about this stuff, but you know, in some ways I, I mean, generally not around my wife,
but kind of, I, I jokingly refer to like her brew is my like first child, right? Like it's,
it's older than your oldest, right?
Yeah, and it's probably like the single thing in my life,
like bar my relationship with my wife
that I've had for that long, right?
Like I've been there longer
than any educational institution
or any job or whatever, right?
So I guess like the idea that you would just do that
to like almost
instantly destroy 15 years of hard work and goodwill in the community.
Like it's like, yeah. Why would you do that? Why would you do that? Right.
And again, it's the type of thing where like, I could go get another job.
Like, it's not that like,
this is the only thing that I kind of can do is, you know,
do this stuff around work brew, but it's, you know, this is
what I want to do. And I think like, I genuinely think we can have something where we're actually
building better software for the people who already like homebrew and are using homebrew,
that we can have something that's like actually better. Right. And it's a big step up and provides
them with the stuff that they kind of need to to be able to kind of you i mean i guess
you know we've got lots of ideas that we've been thinking about but i mean certainly when you look
at you mentioned earlier about like app get like when you look in the kind of linux space around
this stuff you know you've got big companies like canonical and red hat and whatever and you know i
know that some of the kind of shine has kind of come off some of these folks but you know you can
pay them for commercial support and you can pay them for getting integrated
with how your business runs and they're a lot less opinionated than homebrew is and has been about
like how your company should work and even you know like i guess i saw this in github right like
you guys have both been using github since early days as well. Right. And in the early days of GitHub, it was internally and externally,
like there was a right way of using GitHub and there was a wrong way of using
GitHub.
And like,
if you want to go and like press the merge button and make your merge
commits,
that was the right way.
And you were going to have a good time.
And if you want it to like rebase everything and you never want to use the
merge button and you want to never have a merge commit,
like you're going to have a bad time. time right because you're just spending your whole time on
projects being like you know anyone who has a pr make sure you never click the big green button
that is like the most clickable thing on the whole page please do not click that right
and eventually over time like github learned, okay. Like actually it's maybe not terribly practical to go to kind of a massive multinational company
and say like, hey, FYI, the way you build software is wrong.
You need to build it our way or PS, give us money.
Like it's nicer to kind of go to them where they're at.
And for me, like I feel like similarly with kind of work brew, right?
Like the stuff that,
the way that kind of these big companies
or even like medium-sized companies increasingly
kind of want to work
is that doesn't play nicely with homebrew.
It's like, well, like I understand
why homebrew maintainers don't want to support
that way of working,
but at the same time, I feel like someone should.
And yeah, like this is what I and the Workbrew folks are kind of going to do.
And yeah.
The question I asked myself really about Homebrew is, or I guess curiosity from the outside is,
to me, it's such a staple for the Mac platform.
That's my platform.
And so that's where I've got my personal use case from. I know
that you've gone beyond the Mac with homebrew and I don't have experience there, but I wonder
how much of a first-class citizen has Apple treated homebrew like? That's one question.
And then the second question is how can you ensure that the Apple platform won't become hostile?
Because they're kind of doing, they just did this with the web, right?
They just did this with web app installations, I think, in the EU.
I'm trying to like grok the headline to some degree in my brain in the moment.
But, you know, to most developers, Homebrew is the first class citizen of package manager for developer.
But that's one way of developing on
the mac it's not the apple way like the apple native way which is like xcode and their other
developer tooling so you're sort of like a sidecar to the apple platform meanwhile developers feel
like you're a first class citizen like i don't use those platforms so that's not where i develop
i'm curious how that is for you like it do you think it'll be hostile ever for you? And has there ever been, you know, we love homebrew, let's make it more native or has
there been any entanglement with Apple in positive ways? Yeah. I mean, I think I maybe talked about
this before. I think, I feel like the biggest, most positive entanglement with Apple that was
fairly publicly visible and stuff is when they launched the Apple Silicon chips,
like they were really pretty proactive reaching out to us and being like, hey,
what do you need? And we're going to get you the CI infrastructure you need, like that you can run
all your CI jobs on, but also like what maintainers need Apple Silicon hardware, and we will make that
happen in a timely fashion and stuff like that. So like that was an example of them being very proactive
and that was very useful.
I think, but I think the interesting thing with Apple
is like it's a mutually beneficial relationship there, right?
Like at the end of the day,
like all three of us on this call
and most of the room maintainers are all running a Mac, right?
Like we like Apple stuff.
We probably all have iPhones.
Many of us have Apple watches.
Many of us have iPads, et cetera.
And like a certain amount of this stuff
just comes down to like,
well, that is the platform we choose.
And as a result,
we're going to put up with certain things.
In some ways,
would developing Homebrew entirely on linux
be easier than doing it on mac os like yeah probably like but doesn't linux need you exactly
but linux doesn't need us to the same extent exactly so yeah i i think i don't know there's
always that thing with apple where it's like homebrew has like a open channel with apple and
as does probably
not surprise you with Apple being Apple like I can't go into too much detail about what we talk
about and whatever because I'm sure that would make them upset just whisper it they can't hear
you but like yeah I mean I would say we have an open channel with Apple but it's it could be better
like it's but I guess even at GitHub which was a fraction of the size of a company of of apple like
you know by the end i could see that like some of the issues that kind of github had with like
communicating or collaborating with people outside the company were just the fact that this is what
happens when you have a big company right and like the way apple runs apple like and is that required
for me to get the shiny stuff that I like from Apple?
Like, I don't know.
Like, I'm not a business expert in that respect,
but I definitely think that they just,
they run the company the way they run the company.
And that makes things hard for them
to have really, really deep collaboration
with a project like this.
Like there's been times when they say like,
hey, all we need is to, you know,
we can help you with this thing.
We just need to know the name of your legal entity.
And it's like, we don't have a legal entity.
So, okay, well, tell us the person on this project who lives in America.
None of the people work on this particular project within America.
It's the stuff that I can see it from both sides.
I can see why it's hard for them to work with us.
And it's vice versa.
I just figured they would absorb you
by now I just figured like they would have made homebrew to me is like so ingrained and important
to a developer's lifestyle on a mac that yeah they would be like great this is still open source but
now like this is an apple project let's let's in quotes acquire it because it's just so crucial
imagine if homebrew didn't exist today. Like if tomorrow,
for some reason, Homebrew went away, what percentage of Mac developers would be totally
upset? And considering like, can tomorrow literally be the day of Linux on the desktop?
Because Linux is easy to package manage. Linux is easy to use. And that's actually the target
that most developers, like most, like 99.9 percent of developers are targeting anyways so like what's the final nail in the coffin to make someone like a developer move to
away from the mac would it be non-homebrew support or somehow they become hostile whatever i mean i
think that's where i'd be at what do you think jared you're over like grinning over there what
do you think well i'm thinking how could it go away well i don't know it's hypothetical jared
that's the whole point of hypotheticals.
Oh, I know, but you're asking how Apple is acting based on hypothetical.
But if I'm inside of Apple, I'm thinking, well, of course we could acquire Homebrew,
whatever that means, hire all the people and whatever.
But if Homebrew went away, like if Mike McQuaid died and John Britton and everybody who's
maintainers, they all died or they just quit.
Let's be nice. Let's say they just quit. Let's be nice.
Let's say they all quit.
It's all open source.
Like, Apple could just pick it up, say like, okay,
everybody on Homebrew.
Would they though?
They could very easily and say,
repoint your URLs to our infrastructure
and everything's just hunky-dory.
Okay.
Like that's, I mean, isn't that the case, Mike?
They could do that, couldn't they?
Pretty easily.
I don't know about easily, but I mean, isn't that the case, Mike? They could do that, couldn't they? Pretty easily. I don't know about easily, but I mean, theoretically, certainly.
I mean, we know in software land, everything is possible, right?
With some effort, they could do it.
I mean, in some ways, I think the reason why they haven't done that
is because A, it is messy and complicated for them to do that,
and they don't have to, right?
I mean, I've had conversations about this before.
As much as I love visiting your lovely country i will never move to america and i can say you know i can
give you the breaking news here i will never be a full-time resident of america ever this so if
you're apple right like if the project leader of the project is like well i'm just not gonna move
and everyone who would have to you know deal with homebrew
stuff is all in like cubertino and you have the person who's like contributed the most to the
project and it's like a project leader and it has a governance structure or whatever and they're like
no i'm not moving to america you're right thank you then i mean they can't really just acquire the project and and this is the i don't
know i feel like if if homebrew was the labor of love of like purely one person and that person was
happy to go and but even then right like the world we live in now is you could hire that person and
then a year later they could be like yeah i don, I don't, I don't like working at Apple anymore. I'm going to go quit and work somewhere else. And see, he suffers a cancer
after all. Mike, take us on, take us on a walk here. Take us on a walk. Like I don't want to
drop the playbook for Apple or anything, but you said it would be hard. I'm over here and maybe I'm
just the person who's, you know, uh, naive and thinking it can't possibly be that hard. But if you're inside
of Apple and your boss comes, you're an engineer and your boss comes to you and says, Mike, we got
a problem. What's that? Well, you know, the homebrew package manager deal. Like, yeah, I know
it. All the maintainers just quit. And millions of people are using this to install software on
their Macs. We got to do something. And you're like, okay, what would I like? How hard would it be?
Like, what would you have to do?
They could do so.
Well, I mean, I guess, again, what we talked about earlier,
there's like the technological hard
and then there's the people hard, right?
So let's say the technological hard, right?
So what they would have to do if like,
literally no one is willing to even update a readme.
No one's going to have another commit on the repo.
No one's going to have another commit
on any of the Humberrew repos at all.
There you go.
So what they would have to do would be,
okay, well, firstly, how do we tell all the Homebrew people?
All the Homebrew people would have to point their Homebrew to a fork.
Press release.
They would presumably fork the stuff and then put it over.
They would have to tell everyone how to do that,
or if they were feeling really yellow,
push some system-wide update that migrated everyone over.
So you have to effectively move everything over.
But in some ways, that's not even the hard bit of homebrew.
The hard bit of homebrew is there are 10,000 packages in there,
all of which are built and installed
and tested slightly differently,
all of which pull slightly different things
from slightly different places
and interact in slightly different ways
with each other and the ecosystem.
And some of those packages are very easy to update.
Some of them are very painful to update.
Some of this stuff is like, you know, easy to change.
Some of it's not easy to change.
And essentially you need to take over,
like, I think that's the thing is that that like it's not just a matter of like well apple can kind of point everything to themselves but what we said earlier about maintenance like homebrew requires
like fairly i mean considering how relatively few people have worked on homebrew in its history
it requires a astonishing amount of maintenance and Just keeping all of that software working and up-to-date
and compatible with macOS releases and stuff like that
is a lot of work.
And one of the great things Macs did in the early days
was Homebrew was released relatively shortly
after GitHub was public.
Less than five years, I think,
after GitHub was on the public internet
and you
could sign up.
And one of the smart things Max did was making it so that Homebrew was, from the outset,
not maintained exclusively by Max, but was like, hey, I'm Max, I do some stuff, but Homebrew
is maintained by the community.
And again, this is the problem, is that this is the nice thing we have with open source
projects.
People may have got annoyed with analytics and homebrew and various other stuff
but no one has actually ever seriously and successfully forked the project but if apple
were to take it over i would think there would be a very real chance at the same time you have
a bunch of community people who are like hey we want to go and do that and also those people are
like the community people
are happy to kind of work on a project where you know some of our maintainers get like a small
stipend but no one's being paid anywhere approaching like market rates for any of their time right and
no one is employed by homebrew to work on homebrew like how much do you want to spend your evenings
and weekends contributing to one of the world's richest companies to run their package manager?
Like, essentially, they would have to insource not just what the maintainers do, but what all of the volunteers do, essentially, as well.
Because most of those people are probably not going to want to spend all their time kind of helping Apple for free.
So, yeah, I think it's interesting.
Like, I think it's definitely kind of a tricky situation.
But as I said before,
like, I don't see a world in which that happens because...
Oh, I don't either.
I'm just playing a fun hypothetical.
But oh no, it's still fun to play with.
I guess to touch on something,
just because you might find this interesting,
I think we've touched on like homegrown Linux
a couple of times.
So like, that's a slightly kind of weird use case.
But I think one of the things
that makes homegrown Linux interesting and compelling to people is not so much the fact
that it runs on Linux, but the fact that it runs on macOS and Linux. So if you're working on a
project or CI or you have a split dev team or whatever, that you can say, hey, we're going to
use the same Homebrew package or brew files or Homebrew setup in CI or whatever. And we're going
to use that on macOS and Linux. And then we have homebrew setup in ci or whatever and we're going to use that on
mac os and linux and then we have the versions and the package manager whatever in sync between
those two places you know and were were homebrew or workbrew in future to ever do anything like
port homebrew to windows then you could have like windows mac and linux and you could have like
either cross-platform dev teams or dev teams in different departments or whatever
that can all share use of the same tool.
And that unifying ability of a single tool
is pretty compelling, I think.
And that's what people seem to like about it.
That is cool.
So did you have some customers lined up before you launched?
Some beta people?
Because it's all private beta now.
You said you had some large entities who had
previously approached you.
Yeah, we've got some kind of medium
sized companies in private
beta with us right now.
If anyone that's listening to this podcast and they think
Workbrew sounds compelling and they would like to talk,
then we would love to talk to you.
Mike at Workbrew.com or what's the way?
Yeah, so if you go to the
Workbrew homepage, then there's like a contact form workbrew.com or what's the way yeah so if you go to the workbrew homepage then there's
like a contact form workbrew.com contact and if you get in touch there then we will reach out to
you and we will talk to you about workbrew or homebrew or anything in between apple vision pro
um right any topic that mike has discussed today on the podcast it was workbrew.com that couldn't
have been like a open domain you had to go get
that one right that's that's just too good to just be like 15 bucks yeah i think it was it wasn't it
wasn't very expensive though but yeah the the name followed the idea by about five minutes it was
my ceo john's idea for the name and i was like yeah like that's and immediately i also thought
like you know homebrew like the it has its official logo
of like the the little beer mug and we've got our own little vector diagram for that but like you
know when you install stuff in homebrew you see the little beer emoji in your terminal and that's
almost like the unofficial logo right and i was immediately like yeah like the thing almost the
first thing that came was like work brew yeah work brew is coffee so yeah love it so workbrew.com points at homebrew or brew.sh you know but not the
other way around and of course you have a homebrew command line interface that has 35 million ish
users there has to be at least temptation to like you know integrate workbrew into homebrew
to get the word out is that something that you're thinking about that you'd like to do does that
cross a line for you
between the open source and the commercial stuff?
Or what are your thoughts on that?
I don't know.
Like, I mean, it's never say never,
but I think that's definitely something
where it's not up to me.
Like it's up to, you know,
the people who work on Homebrew
would need to decide that that is
in the best interest of the project
for that to happen.
And I guess like even
this you know i've made a bunch of prs to homebrew to enable functionality in workbrew
and again like the way i think about it is like if i'm if i'm building functionality into homebrew
to benefit workbrew it should still be useful by itself like the analogy i have either of you two
got kids who are like into like legos nowadays yeah Yeah, sure. Yeah. So I feel like the way Lego is now compared to how I remember it growing up,
like,
like basically now there's this real,
like two poles of Lego where you have like the really like super crafted kits,
which might have like a shark fin that like,
this is the only kit that possibly has like a bit of plastic in this particular
shape.
Right.
And like you have
the instructions and like they might offer you multiple things you can build but like ultimately
it's just not as general purpose and then you have the like i can just buy a big but go to the
lego store buy a big bucket of just like bricks and i can build with whatever i want right like
in some ways when i look at those two i see like homebrew as being the big bucket of bricks where
it's like what we're building in work brew land like homebrew as being the big bucket of bricks where it's like what
we're building in work brew land, like you could build that yourself with the bucket of bricks we've
given you in the open source project. But like, it's probably going to be, unless you have like
infinite amounts of time, it's probably going to be, and subject matter, understanding of homebrew,
probably just paying us to use the nice thing that we built for
you that has the the beautifully crafted shark fin is probably going to be a nicer experience for you
and i guess you know the other thing that i'm trying to do in building this i mentioned before
you know like i used to work at github and like for me like developer experience on like github
and homebrew and and i guess the user experience on apple products like
that stuff's really important and like that's equally going into like what i'm building like
is i really deeply care about having a user experience that is very nice and you know the
number one user of workbrew and is me right on my local machine and i as quickly as i could replace my like local homebrew with kind of
the kind of paid workbrew setup and every time anything annoys me i basically drop whatever
feature i'm working on and i like make it so it doesn't annoy me anymore right and i think like
that to me is like the best way of building developer tools is you build something that
you actually use yourself and you have a very high standard for quality and a very low standard for having things annoy you.
And you're willing to take feedback like Adam about a brew update,
not being verbose enough.
Yeah.
Well,
good stuff.
I love it,
Mike.
Cool stuff,
man.
Excited for you.
For sure.
I hope it all works.
I think it's going to work.
Me too.
It's got to work,
right Adam?
I hope it keeps working. Yeah. I think it's going to work. Me too. It's got to work, right, Adam? I hope it keeps working.
Yeah.
I think it will work, Brew.
Ah,.com.
Sign up today.
Yes, workbrew.com.
It seems like a proven methodology, right?
Like it's very much Sidekick, Sidekick Pro,
but it has even a clearer line because it's like home and work, you know?
And it's like very, to me, like I like the
cleanliness of that. I like the way you're approaching the open source stuff. Like it has to
benefit homebrew. It can't just be, well, we are the maintainers, so we're going to put it in there
anyways, kind of stuff. And I just feel like that's all very good vibes. And so I just, I think you're
on the right track. I just hope it works. I think it's going to work, but you know, come back and
let us know if it's working or if you got something else that's
works,
you know,
these things work.
Yeah.
How many times can you say work?
I was trying for,
we should get back to work.
Come back to work.
Yeah.
Yeah.
Well,
this is work,
right?
I guess,
I guess.
No,
this is friends.
This is just three friends hanging out.
That's right.
How come all of our friends use Safari?
I mean,
I feel like we need to get some new friends too,
because pretty much everybody we talk to are Safari users.
I feel like our demographic is very streamlined at this point.
I'm cool with that.
I feel like we should have like a,
you should do like a sticker run or something for like,
I use like some sort of like, I choose Safari over Chrome.
Yeah, I choose Safari.
I use Safari willingly and not by Apple dictate.
Right.
Like the rest of the people on iOS.
Cool,
Mike.
Well,
we'll,
we'll let you go.
Thanks for hanging out with us.
It's been awesome.
As always.
Always a pleasure guys.
Anytime.
Yes.
Bye friends.
Bye friends.
Bye.
Bye.
Two hours later.
Yeah. Two hours. This show, two hours this show.
Can you believe that?
Always good catching up with Mike.
Always good talking about Homebrew,
one of our beloved developer tools out there.
And I love Mike's perspective on maintaining open source,
building this company now, Workbrew, around Homebrew,
how he is constantly improving Homebrew as a result
of his direct and personal usage, and everything in between.
I want to give a special mention to two of our sponsors today, Century.
This is their launch week.
Use the code CHANGELOG if you sign up for a new account, you get three months free of
the team plan.
A hundred bucks off.
Links are in the show notes and also to our friends over at Image Proxy.
I love how Dribbble is using Image Proxy.
It was so cool to catch up with Patrick Byrne as well to just dig into how Dribbble dribbles
dribble using Image Proxy.
I just had to say that.
Check them out, imageProxy.net.
And of course, a massive shout out to our friends
and partners over at Fly.io,
the home of changelog.com.
Launch apps near users too easy, Fly.io.
And also to our friends over at TypeSense.
TypeSense.org, it's open source.
We use their cloud version. Jason and team that run TypeSense.org. It's open source. We use their cloud version.
Jason and team that run TypeSense are so cool.
We love them.
You should check them out.
And if you need a personal introduction,
hit me up.
I'll help you out.
Okay, friends, that is it.
This is the show.
We're done.
We're going to see you next week. Game on.