Changelog & Friends — Episode 125
Yeeting stuff into public
Jamie Tanna discusses indie web principles, sharing salary history publicly, living with ADHD, and DMD - a tool for understanding dependency usage across organizations.
- Speakers
- Adam Stacoviak, Jerod Santo, Jamie Tanna
- Duration
Transcript(159 segments)
Welcome to Changelog and Friends, a weekly talk show about Jamie Tana's website. Thank you to our partners at Fly.io, the home of Changelog.com. Launch your app near your users all around the world. Find out how at Fly.io. Okay, let's talk. We are here with Jamie Tana, longtime listener, community member, blogger. I've been publishing your stuff in Changelog News over the years, it seems like at this point, and one of our voicemailers for last year's State of the Log. Jamie, welcome to Changelog and Friends.
Thank you. It's great to be here.
Not that I'm saying he's not a friend, Jared, but I was thinking maybe he wasn't really a friend. It's more like this is Changelog and Friendly.
I don't know.
Because he'll become a friend during the show potentially, right? Like, I was thinking about that on the way here. What do you think about that?
I feel like he's been like a community member. Right.
Hanging out in the Slack. We haven't held hands yet, though, so, you know. Well, he lives across the pond. It's not easy.
You hadn't with GoHug for ages.
That's true. It took us a long time to shake his hand and give him a hug, so. True. Yeah, Changelog and Friendly's, you know, it's got a ring to it. Maybe we could have a sub show.
I guess you're looking for a new subtitle. Maybe it's turning friendlies into friends.
There you go.
Oh, I like that. That's actually not that bad.
What I would like to hear, Jamie, is how it feels to get your very own Breakmaster Cylinder remix, because you are a recipient of a remix. I've never got one for myself, but it's got to feel good, doesn't it? How did it feel hearing your voice all remixed?
It was very cool. I mean, the fact that for the second year running, I ended up submitting my voice note late for State of the Log was just impressive, given I think I'd asked like a month before the deadline, when is the deadline, and I posted an update. So, yeah, I'm just still surprised that you managed to squeeze me in. That was very cool. And then, yeah, get my own, like, remix was pretty cool. I haven't yet said it as a ringtone, but maybe that's the next step.
You should. Is Jamie's the sweet robot dance make-up music? That's Jamie's, right?
That was the other Jamie. That's Jamie Curnow. Okay. Jamie's was the very last one because he submitted late.
Remind me what it says. Let's see if I can play it. You want the remix or the message? The remix.
I am podcast addict. I'd absolutely say that I often prioritize Changelog over cooking, over my life. I don't have time to ward the dog this year, so it is, like, a lot. I've listened to Changelog for five days at a time, in a room, just laughing, having a great time. And, yeah, really looking forward to what is happening over the next year. Thanks very much, everyone.
Thank you, Jamie. That was amazing. So I bet your dog's pretty sad. I know my dog, like, absolutely needs the atom tank filled up every single day. The dog begs me to go to work with me because, you know, for now I go to a separate office and my dog could not not be walked. And then at the same time, I need to cook. And I've never sat in a room for five days straight laughing at Changelog podcasts. So you've got me beat, but I appreciate that.
I'm just that dedicated.
OK, I take it back. You're a friend now. There we go. Just like that. We already did it. We haven't even gotten into the show yet, and we've already turned a friendly into a friend. So too easy.
And I was digging into my site history, and I found at least the first recorded time I tracked or listened to Changelog was 2016. So I've been listening for a good chunk of time.
So you track your listens?
I do. So it's something I started a couple of years ago was starting to track like every time I listen to a podcast, I'll publish a listen to my website. And as part of that, I then have a history of all the things I've listened to. But because I was only doing that from that point in time, I also have like a load of history. So I found a way to take podcast addicts SQLite database, reverse engineer some of the data out of that and backfill that to my site as well. In fact, I'm just now trying to charge up some of my old phones to see if they've got any history on them. I can also backfill. Interesting. That's dedication.
I love it, but I also wonder why. What drives you to want to do that, even so much so that you'll go into the history and dig it out of a database? Why?
So in 2018, I found out about the Indieweb community. Community is all around like owning your data, not relying on other platforms. So some of it is like Indieweb as a thing is quite cool, but it's also just like interesting for me to have that data. So for instance, like coming up to today, I was able to easily go back and say the first time I definitely know I listened to a changelog podcast was the 27th of August. And it was request for commits number four. And that was actually the first podcast of the changelog I listened to. It's also interesting because that gets syndicated to the Fediverse. So if people are interested, they can see the sorts of things that I'm listening to. They can find out about new podcasts as I've listened to them and stuff like that, which I find quite cool. It was just a passive way of sharing it. And then also because I have all that data, I can go in and I can work out like, actually in the last year, I have listened to five days worth of changelog. Yeah, exactly. Yeah. And then you can make sweet
robot dance, make out music, but with it, with that information, you know, it's amazing. So, okay, that is cool. I admit it. And it makes sense. The dedication, the syndication. So Indieweb, this is the idea of own your own data, publish through your own website and syndicate elsewhere or like blast out. I guess there's a couple of different ways of doing it, but that seems to be
the main one. Yes. So there's a really good article titled one year in the Indieweb. And this is the one that I usually recommend people read because there's a really good distinction there between Indieweb with a capital I and capital W versus Indieweb or lowercase or with a space between Indieweb. So there's a lot of people who think like Indieweb is I need to do these particular things to be part of the Indieweb. Whereas like at its base, it's just you own a URL and you publish content to it. It could be that URL is in front of substack or medium. It could be in front of wordpress.com or it could be infrastructure that you are hosting in your home lab. And you've got a load of stuff for that. But then as well as that, it has also morphed into things like earning data across different services. So one of the things you reference is posse, publish on your own site syndicate everywhere else or elsewhere. And so that is a lot of what I do or I try to do, which is in the before times before Twitter's API got taken down, I would reply to people's tweets from my website. And so I would actually go through a lot more pain and effort to reply to someone's post, which kind of showed that I actually did care a little bit more because I would like using so the Twitter app, I would share with an Indieweb app. I would write my reply or then hit send. That would go to my website. In about 10 minutes, my site would have rebuilt. It would have sent a notification to an app called Bridgy. And Bridgy would then say, cool, this is a reply to something in Twitter. So I'm now going to send an API request to Twitter. And I'm going to syndicate that post. And that will then appear on twitter.com. And in all that time, like someone's probably not bothered by my reply anyway.
They're going to lose an argument. By the time your reply comes in, they're like, they've moved on. They don't know what you're talking about.
But I've also found it quite good because it means that those sorts of arguments do calm down a little bit because, yeah, I'm going to be taking like hours to reply to you. And in fact, there was a time where a couple of friends of mine messaged me and was like, why have you just replied to my tweet from six months ago? And I had a bug in my site software that it wasn't actually sending those notifications called web mentions for a while. So suddenly I was replying to posts from like six months ago. And yeah, not great.
That's a good response though. That was a bug in my software. This reminds me a little bit somewhat, so go with me here, of back when I was religious about updating the song titles in iTunes, like back whenever you used to manage your own MP3 library. And it's not exactly a one-to-one, but I wonder if, you know, this indie web, which I totally agree with, I love the indie web, you know, like RSS feeds, like that's what we do for a living. We ship MP3s via RSS somehow to the world and we don't care about tracking. I mean, like we do to some degree, but just enough to know that there's signal, not noise, but it kind of reminds me of like this world where you pay attention to the details so closely, but others may not. And so the world doesn't really get populated with others like you who care so deeply about the, all the layers. Do you feel like that? Like, do you feel like that the indie web has a possibility of being more thriving because there's more folks who are so purist like you are. And am I wrong on my iTunes naming? Cause I mean, I used to be crazy about it before they would like do it for me. And now just there's Spotify and other things, so.
So yeah, I do see it as a bit of a parallel. So I definitely wouldn't say I'm one of the purists. There are a number more in the community who will do a lot more work for some of their stuff. And for me, some of it is just like the muscle memory of doing it and a lot better of like, well, I've been doing it for this long. So sunk cost fallacy. I have to keep doing that.
For sure. Yeah. That's what I meant by iTunes. I was like, man, I've been doing this, rename you for so long. I am going to keep doing it.
So for instance, like on websites like Lobster and Hacker News and even things like LinkedIn, I don't have like Posse set up. So I will just reply and it is kind of nice to sometimes just reply and it be done. But also I, I find it's really useful to look back on things. So for instance, I have ADHD. And as part of that, my memory isn't great. I blame the ADHD for that. And so something in 2017 I started doing was called blogumentation. So it's blogging as a form of documentation. And I very recently started a personal website. As part of this blogumentation, it was a case of I've just learned a thing or I've just done a thing. And it was kind of awkward to like Google around for and find a solution for. So I am going to be that person who writes a blog post about it. And even if it doesn't help anyone else, it would have helped me because I would have written about it. And next time I can go back to that. And partially or I definitely see this as like a really big positive for me as someone with ADHD is I now don't have to try and remember how to do the thing. I can now just vaguely remember have I written about the thing? And then I can go and find that in my website. Or I don't even need to do that far. I can just search through my site and I can say, I'm sure recently I was like talking to someone about this, like how to do contract testing with open API. And I can search through my site and then I can find a reply that I posted somewhere. And I find that really useful because to part of the blog mentation was tripped by a discussion with Scott Hanselman, who had a site called Keys Left, which counts down the number of keystrokes you possibly have, like based on stats, how many keystrokes you have left until you die of natural causes. And in this podcast, he was talking about like, I don't want to waste those keystrokes on something that like if he gets a dozen emails about how do I do this thing? He wants to be able to write that reply once and then save the keystrokes and put them towards something more useful. And I very much have internalized that of let me try and reference things that I've already written. So in fact, you can see behind me on the video, I have my URL in the background because it's very much like my personal brand. One of my friends for my birthday year before last got me a T-shirt which says I have a website, jbt.me, because I would just talk about it so much that it was like that sort of fun thing. And another friend of mine from previous company, he built a website called did you know Jamie has a website.co.uk? Because it was just so common that I would talk about my website and I would share links to things and like a lot of it was coming from the place of what I've written about this thing. I have helped solve the thing. So here you go. I have a lot of thoughts about that. I agree
absolutely on the blogumentation front and on the, as a completionist, it appeals to me to have everything always, but some pushback. Well, I actually, I pushed back on you about the same thing, Adam, at that conference. And we were talking about letting the LLMs like know all of our thoughts, you know, just like write everything down. And I think at that time I said, is there no value in that which is ephemeral? And I used to be like, always be recording, always be publishing. If it's not forever, it's not meaningful. And I'm starting to just like change my perspective on that. Maybe the kids are changing it for me. Cause you know, the younger generations value ephemerality more than we do because they've grown up where like everything they do is documented and tracked by themselves or by their parents or by the NSA or whatever it is. Right. And I just feel like life has, there's room in life for both things where there are some conversations that don't need to be documented. There are things that a reply on LinkedIn can just disappear into LinkedIn's database somewhere and doesn't necessarily need to be cataloged for you or for your language model to remind you of later. And I think the picking and choosing what I should keep and what can just go away, I think is part of the process, but I'm just kind of like letting go a lot more than I used to. I was like, does this conversation really need to be published or was it just, you know, I ran into somebody in the street and we talked for five minutes about our families and we moved on with our lives and that was just a really nice human thing. And maybe I said something there, like I have a website or I wrote about this, but beyond
that, I don't think it needs to have artifacts to be valuable. Yeah. Well, I'm with Jamie on one
front because I just had a conversation with somebody for the first time. We've been looking forward to meeting each other. We met each other at a mutual party for the Super Bowl. It's a very popular thing in the US. And the conversation was around nerdy things. And I guess this person is a lot like me where they don't meet other people that can go deep nerd on Linux and Unix and BSD and like ZF, whatever, whatever the fun tinkering things are. There's not many home labbers out that you can meet just like randomly in the street. So that's the point. And this person is a professional in IT around the windows system primarily. And through conversation, we're talking about our setups at home lab and whatnot. And I'm like, well, I really don't do this, but I did podcast with Matt Aarons, one of the co-creators of ZFS a couple years back. And a lot of people liked it. So you should go check it out. If you're really wanting to go deep on it, it helped me out a lot. Yeah. And then like a minute or two later, we're talking about something else like, well, I also
talked to, so you're the, by the way, I have a podcast. We also talked to Alan Jude recently
about open, you know, free BSD and all the BSDs and like the whole history there. And it was really cool. So you probably enjoy that too. So I kind of felt myself like self-referencing things I've done because we do document a lot of things that are, we nerd out about, right. That's just natural for us, but I get you on that point. I think the point you're trying to make Jared is that there is value in just, just simple humanity, not journalistic or must be recorded to then share later aspects. And that's, I don't disagree with that. I fully agree with that. And having a filter, you know,
I have lots of thoughts throughout the day as you guys do. I'm sure most of them aren't worth keeping, you know, and we make those choices, you know, Adam, I know you have lots of ideas.
Some of them you write down, other ones you don't, you know, and knowing where to draw those lines is just something I'm more, I guess, cognitive of than I have been in the past where I was more like, if it doesn't live forever, it's not of any value, you know, like you, you have, I didn't understand Snapchat. I'm like, why would you want to take a picture that just disappears? Like, it doesn't make any sense to me. And now I get it. I guess I've just evolved a little bit. I don't get that either. I just can't get it. I get it now. I've never, I was never there, so I don't get it. Fair enough.
But yeah, we should get Adam a t-shirt. By the way, I have a podcast, you know,
similar to yours. I have a website. Yeah, that would be cool. And I don't really, I don't like doing that though, necessarily. When I meet people, I'm not like, in this case, it was proper. It wasn't like boasting or self-promoting. It was like, literally, Hey, we're talking about this and this happened. So if you are curious at all about ZFS, this is a great resource of many you should check out and it enlightened me. So you should check it out. If you are so inclined, it wasn't like, let me like slap you in the face of my
podcast. And I guess it is hard to like drive that balance of like, you both have talked to loads of interesting people. You've got loads of interesting thoughts and people can learn a lot from that, but also does it feel like I'm just pushing you to consume all my content? Yeah.
So I would say if Jared and I were in quotes influencers, then, then when we did that, it would be disingenuous, but because we are definitely not in quotes influencers, we might be influencers with a lowercase I, just because we tend to think we're also indie web with a lowercase I. Right. Precisely. So I think if we were the true version of what people call influencers, then it would be icky. But because we're not, we're just normal human beings who just happen to have done something so long and so consistent and I suppose over time so well, that more and more people have joined our tribe. Right. That's like, I read Seth Godin's book way back in the day and like everything we've done has been a version of what he prescribed in that book is around tribes. It's such a good book. Like I love Seth Godin. He's got such amazing writing. You know, the dip is amazing. Tribes is amazing. I think it's called tribes, if I can recall correctly, but it was around that. It's like, Hey, there's, there's a subset of people out there who find what I think is interesting. And over time, what I find interesting evolves and I bring more and more things into there. Like my hat, Meat Church, right? I love, I love barbecue. I geeked out with a sponsor the other day. We were done with our conversation. We hung out for another 30 minutes, talked about Weber kettles. We talked about how we tweaked our stuff and like the conversation was totally over. Right. But we were just there now talking about barbecue and our favorite recipes and methods, et cetera. And that was what it was. And that could have totally been a podcast, but it was just, it was just a conversation,
which was cool. Yeah. There you go. There's some value there. I do like the indie web thing. I
guess. I mean, Jamie is indie web. I know you said there's like a proper now and there's also like a lowercase version of it is the proper now in a community. Is it like a group of people that identify and self identify? Do they get together? I feel like there was an indie web conference of some sorts. Can you tell us about that? Are you, have you been a part of any of those events and
stuff? Uh, so short answer. Yes. And the focus. Yeah. So the short answer, yes. Um, so it's indie web.org is the main page for, um, the indie web community. So it's more along the lines of like capital indie web, but the idea is it's meant to be the community for people doing indie web related things. So there are indie web camps, which are the conferences. Uh, in fact, in just over a month or just under a month, there's one in Brighton in the UK, but they have them all over the globe. I've been to a couple and they're quite good because you basically come in and you don't have to have built your own website. You don't have to know anything about it. There's like a few sessions at the beginning of the day where it's like, what actually is the indie web? Why is it actually important to even just like own your URL and not constantly be on twitter.com slash whatever, or now x.com slash whatever. Then people go around and like share their websites. So you have like demos of like, this is what my website looks like. And then there are breakout sessions where you can talk about different things. So some people are very interested in like owning their location data. So for instance, instead of using something like foursquare, they will use their website. And then there's also like interesting conversations around like privacy, things like that, because often a lot of people who are sharing their location data in real time are cishet white men who are not generally affected by, oh, someone knows my location, they're now going to stalk me. So there's like a lot of interesting things around that and trying to make that data less invasive, but also interesting because you may want to be able to know, here are all the places I checked into in the last week, because you may want to like draw a map of places you've been, stuff like that.
That's cool stuff. I feel like I've always been, I guess I identify with the indie web, it seems like that community, everyone that I've met so far are very inclusive. They're not like drawing lines like you are or are not indie web, you know, like that's not the point. The point is like to promote the stuff that you're talking about. And I'm a long time believer in Own Your Own Domain, published on your own website, syndicate, et cetera. And like Adam said, that's what we've been doing for years here on changelog.com. We have a website as well, Jamie, changelog.com. And yeah, it's cool stuff. How far do you go in with, so you've got Fediverse implementation or integration. Do you do web mentions? Those are always something that indie web people bring up. We have like, we've been adopting some of the new podcasting standards, podcasting 2.0 spec, which integrates stuff that's kind of like web mentions, like cross app comments, which is very much using, is it just Mastodon or is it the Fediverse? I don't know. It's using these kinds of things to try to create for podcasting some of the stuff that I think ActivityPub is starting to create a little bit for social and for syndication.
What all does your website do? So my website is a static website. It's built with Hugo. And as I mentioned, it takes like 10 minutes to deploy because I just, I've just got so much content in it. And I also, so for instance, like if I've liked a post, I want to mock that up with what that post actually is. So instead of just having like, I liked changelog.com slash friends, slash whatever, I want it to be like, listen to changelog and friends, the episode with James Hannah sort of thing. So as part of that, I also need to fetch like information around what that post is. So in the back, I'll be looking at, does it support microformats, which are an indie web markup around HTML, which lets you in your HTML elements, basically say like, this is the post's content. This is the title of the post. So it'll look for things like that. It will also look for things like open graph metadata and fall back to that. So it can do a few things to try and gauge what that is. That then, as I say, like takes a long time to build because there's a lot of content in it. It's yeah, got a lot of files and I'm also using GitLab CI's hosted runners because I've gone through like pieces of trying to host it myself and speed it up and then just being like, this is still costly and like time costly as well. So I've been playing around with lots of different options and then ESO about web mentions. So yes, I do support web mentions. So once my site deploys, finally, there's then a webhook that is sent to one of my services that I run. And that then looks at the site map for the site and says, which things have changed recently? And then it will go through each of those pages, find any links and send out web mentions to the world, which then on most of my posts will hit something called Bridgy Fed. So Bridgy is a service run by Ryan Barrett in the indie web who tries to bridge lots of different social networks. And so Bridgy Fed is the Fediverse version of that. And so I don't have to manage or understand any of the Fediverse stuff. I can just send a web mention and Ryan does all the hard work with the community building Bridgy Fed to understand what my website looks like using things like micro formats. And it will then translate that to an activity pub piece of content. And that will then get sent out to all the people who follow me elsewhere. So people directly from their Mastodon, Akoma, wherever, they can follow my site natively, get the same content as if you were just browsing it in the web, which is pretty cool.
Now, when you're writing, do you have some sort of alternate setup where you don't have to rebuild? Like, are you just rebuilding the current blog post? Because I know that I used to use Jekyll quite a bit, and it was a minute or two to build the whole site. And yet while I was writing, there was times where I would just rebuild the same file. Other times I want to see how that you know, some sort of aggregation page or tags page or those other stuff. And it got to be very annoying at one to two minutes just to work on it. But at 10 minutes and with Hugo, which is a much faster generator, your site must be very, very large. Does it ever get annoying while you're writing to have all this machinations? Or is that just not happening?
Oh, well, so I also started with Jekyll. I got to a couple of minutes and was like, this is really painful. Move to Hugo. And over time it's got worse and worse. So my solution for writing is don't try and preview the post. So I just do not run my site locally is a pretty horrible solution to it. But I'm fairly used to what markdown rendering looks like for my site. So if I'm doing like significant changes, like on the theming, I will then run it locally. What I will do is I will delete most of the site's content or get Hugo to exclude building most of the site's content, which that means that it is a lot quicker, a lot easier to run. Yeah, it's definitely not a good experience most of the time. Over like the last 18 months, I keep going to rebuild my website from scratch and make it a dynamic site, but that's a massive thing to do. And I don't really have time or I can't make time when I have so many other things I want to be doing, I need to be doing, but that then makes it really tough.
I don't know how you can write without previewing it. I just have to see what it looks like. Even though I kind of know what it's going to look like, I still want to see what it looks like, like the final version. There's satisfaction in that. Yeah. And I'm an editor. I don't do like a draft and then edit it. I literally edit as I write, which is one of the reasons why Despy is writing. Cause that's just a painful way of doing it, but I have never been able to just to write and not be like, well, that's a bad sentence. I just can't do that. People can do that. I don't know if you can just write their thoughts. They'll spit all their thoughts out and they'll be like draft one. And then they'll go back and edit it. I've never been able to do that. Cause I can't, I can't leave the crappy stuff in there, you know? So I'm editing the whole way. I'm also previewing like almost each step of the way. So
even knowing what Markdown is going to look like on the website, I'm still like, nah,
I just want to see it. Which is kind of funny because you just talked about the ephemeral idea, which crappy writing unedited stream of thought is kind of like embracing ephemeral in a way. Sort of. Yeah. So I would encourage you to revisit that idea, considering your new change
of thought. I should try it. I should try to write. I should try to write an entire blog post without stopping, you know, and just see if I can actually get that done. I think so too. I mean,
cause I had to, while you were talking there, the audience couldn't see it, but I was like shaking my head. Yes. And I was like, nah, no, maybe not because there's definitely times I throw things down and I appreciate it going back later. I'm like, wow, this reads terribly, but I get the idea and it's not published, but it, it gives me new position because it's old Adam's thoughts that I've forgotten that I go back and revisit that lead me to new thoughts. But I was bold enough to at least write it down, even though it sucked in the moment, you know, so I can appreciate
it about my past writing when I've written. So I know, um, a number of people who write draft posts on their websites. So it's a publicly visible, but it has a little banner that says, this is a draft post. It may contain errors. I may not have fleshed out ideas. And that's quite a nice way cause you're very much saying like, I have written this thing. I know it's not great, but I'm happy hit and publish. That takes some guts. It does. And like one of the problems with writing and writing publicly where lots of people are going to read it is that, Ooh, is someone going to complain about this comment or how many people am I going to get? Well, actually by, so I kind of have like two modes of writing. So my first mode is like documentation style, which is I'm just getting the thoughts out of my brain so I can forget about it. And in the future, I can come back to it and learn about it again. Or I have posts that I definitely do want, or I'm planning on other people reading. And some of those posts take like weeks of going back and re-editing and everything. And yeah, I'm fortunate that I don't mind too much about hit and publish and people's thoughts on it, but it still does take a while for some of the big posts that are right. Especially when I know it could be particularly spicy people can have big thoughts. Sure. What's up friends. This episode of change
talking friends is brought to you by our friends over at Vercel and I'm here with Lee Robinson, VP of product. Lee, I know, you know, the tagline for Vercel develop preview ship, which has been perfect, but now there's more after the ship process. You have to worry about security observability and other parts of just running an application production. What's the story there. What's beyond shipping for Vercel. Yeah. You know,
when I'm building my side projects or when I'm building my personal site, it often looks like develop preview ship. You know, I try out some new features. I try out a new framework. I'm just hacking around with something on the weekends. Everything looks good. Great. I ship it. I'm done. But as we talk to more customers, as we've grown as a company, as we've added new products, there's a lot more to the product portfolio of Vercel nowadays to help pass that experience. So when you're building larger, more complex products,
and when you're working with larger teams, you want to have more features, more functionality. So tangibly, what that means is features like our Vercel firewall product to help you be safe and to have that layer of security features like our logging and observability tools. So you can understand and observe your application and production, understand if there's errors, understand if things are running smoothly and get alerted on those. And also then really an expansion of our integration suite as well, too, because you might already be using a tool like a data dog, or you might already be using a tool at the end of this software development lifecycle that you want to integrate with to continue to scale and secure and observe your
application. And we try to fit into those as well, too. So we've kind of continued to bolster and improve the last mile of delivery. That sounds amazing. So who's using the Vercel platform like that? Can you share some names? Yeah, I'm thrilled that we have some amazing customers like Under Armour, Nintendo, Washington Post, Zapier, who use Vercel's running cloud to not only help scale their infrastructure, scale their business and their product, but then also enable their team of many developers to be able to iterate on their products really quickly and take their ideas and build the next great thing. Very cool. With zero configuration
for over 35 frameworks, Vercel's front-end cloud makes it easy for any team to deploy their apps. Today, you can get started with a 14-day free trial of Vercel Pro or get a customized enterprise demo from their team. Visit Vercel.com slash changelogpod to get started. That's Vercel.com slash changelogpod. Well, we know you're not afraid of being in the public because another thing that you've done famously is published your salary, right, over the years, which has gotten a lot of attention, has helped some people. Tell us a bit of that story and then we'll talk about it.
Yeah, so I've been posting my salary publicly since 2021. And part of it was I was leaving a job and I had just gone through the job hunt. And I've been talking to a number of people privately about salary and what the job market was looking like. And it was a particularly good time, not the most recent ridiculous job market, but it was a pretty good set of roles out there. And I was very happy with the salary increase I was getting at the time. And I very impulsively was like, you know what, I'm going to post about this. And I did not check whether legally I could do, which thankfully I was fine. But yeah, I was like, you know what, I'm talking to enough people about this and back to like number of keys left and everything. I want to make sure that this isn't an ephemeral thing. And this is something that people can refer to and people don't need to come up and ask me about it because like in the UK, people aren't happy talking about money. I think it's a fairly global phenomenon where people are just not going to talk about it. And therefore companies get away with like massively underpaying people, being very unfair, or even just people not realizing that they're actually doing pretty well for themselves. And yes, I posted my salary. I went back through my history. I had fortunately only had a couple of jobs. So I had all of this stuff available. I was still in the job I was at, that had been five years. So I had five years of finances that I could just download and upload. And yeah, it's been very good because it has helped a lot of people. Like I've directly had people I do and do not know message me to say thanks for posting it. But also in the last few years, I've had at least about 45 to 50,000 hits on that page. I say at least because a lot of people strip things like analytics, which is good. So it's probably a lot more than that. Yeah.
That's cool. I can definitely see how it would benefit people. And I see absolutely the benefit inside the same org, like people talking about their salaries inside the same org. Because then you realize like, wait a second, you're making that much? They're paying me half that. We're doing the same job. Let me go talk to the boss. That's an obvious win. I still think it takes a lot to put yourself out there. And I know that I personally have always been just like, how much money I make is nobody's business but my own. And how much money you make is not my business either. That's just been my default stance on life. And so it's interesting to see you willing to do that. And has anybody followed your lead?
Yeah, so since I posted mine, I know at least five or six people who've posted it directly off the back of me posting mine. So that's been quite nice, because it's been a mix of different people of ranges, levels, some people who work on like consulting, so have a slightly different income stream to just salaried employees. And then even since posting it, I've found people who had already been posting theirs. So for instance, Z Yasso, she's been posting hers for some time. So that's been quite good because it gives a little bit of difference. Whereas like, the people I know are all UK based and around the same sort of area. So things like cost of living, everything's fairly standard. But for a lot of other people, it's interesting. The other thing I found particularly interesting is, for instance, my previous job delivery. So I joined with a salary of £90,000. And this was during the period where companies were going wild for engineers, they were willing to throw out a lot of money. And about a year or so later, there was a round of promotions. And people who were promoted to the same level as I was when I joined, were getting 10% less on salary. And it's things like that, that if you didn't have this data very publicly, or people were talking about, you miss out on some of that context. A lot of companies do have salary plans. And that makes it at least a little bit better. But I've also seen job adverts, which are this salary ranges anywhere between 60 grand and 250 grand. That's not a helpful range. That's wildly different. Yeah.
What do you think, Adam? Would you post your... Let's say you and I went back to being W2 employees and just had an annual salary. Sharing that publicly, would that feel like something you'd be willing to do? Would you hesitate? No way. What are your thoughts? I guess it depends on how frequently I move jobs, because I know that that's one thing when you move a lot, or even I suppose a lot is not always an accurate way to describe it, because a lot could be every six months to a year or so. And that can be used against you in some ways, like on your new way in. Like one of the questions that's a meme on TikTok, which is, okay, so what was your previous salary? And then the person responds, I signed an NDA. It's a funny shtick they do. It's a comedic thing in a way. So I feel like I'm of your camp, Jared, where I don't, I feel like what I make is my own business and what you make is your own business. And I think the reason why is obviously societal. I think it begins with that when people know certain details about your person, they can begin to assume, they begin to, not so much cash judgment, but they begin to sort of determine who you are and what you can do based upon what they think they know about you. And then the biggest thing, it really is your finances, because that's like one of the number one resources that we all leverage to progress in life in some way, shape or form. And so that's the resource for which many people are judged by. Like, how much money do you make? Oh, well, that's why you drive that car. Oh, that's why you have that home. Or, oh, that's why you value these things. Or, oh, that's why X, Y or Z. So I'm like, maybe no. But then I also see the benefit of it in it. Like, I think if it was, I just don't know if I could be in that camp. Like, I see the benefit, but I don't know if I can participate in the camp that says, okay, let me do this. Yeah. I want to contrast this, though, because you mentioned this in the preparatory stuff, and this is something I knew about Oxide, is they, Brian Cantrell and Steve Tuck, when they founded the company, they were like, okay, we want to, we want to sort of pay ourselves a good enough salary. We don't have to stress so much about money. It's not so much that we're making where, you know, our company may be valued at X and on paper we're worth more because over time, Oxide begins to have a higher and higher valuation, but their salary is $1.75 a year USD. And when I met some folks recently at All Things Open, I was surprised to learn, this is when I first learned, I learned face to face that everyone in the company makes the same amount of money as the two founders. And so they said, I want to, we want to like pay everyone the same. And so I think in that context, Jared, that might be interesting for us, you and I, as Changela, to say, this is how much money we make. Now, it would really be amazing if we paid everyone else the same thing we pay ourselves, but that's not exactly true. So that might be embarrassing to be like, okay, there's a, there's that divide there, so to speak. At the same time, we're also the ones taking all the risk and riding the wave of, you know, down years, up years, et cetera. So I get that, but we're not building an Oxide company. In that light, if I were building an Oxide and I had similar possibilities, ambitions that Brian and his team do, then I would probably do that. That sounds like a, a good thing for the morale and a good thing to market. Like we're talking about it in this moment because it's cool, right? So there's a marketability to it. I think as well, so Buffer
in the last few days, they've also announced that they're doing similar. The way Buffer does it is they have everyone's salary as public, which I think I'm less a fan of. So I really like the way that Oxide does it where everyone gets the same and it's very, very stable and nice and equal or equitable. Yeah. Equal, not equitable. The buffer you have the risk that you can go and look someone else's salary up. Like I have absolutely made the choice that I am happy with for the rest of my life, because I'm not planning on undoing this. For the rest of my life, people will see what I'm paid, but to be able to know that one of your friends works at Buffer and just look up their name and look up how much they're getting, I'm not as much of a fan. And I believe there is a knockdown for employees, but it's the sort of thing that I don't recommend everyone try and post their salary publicly because very few people are going to do it. It is a very privileged thing to be able to do and to be happy doing. But if people are at least talking about it privately with their friends and family, that is really the important thing because companies get away with underpaying people. Layoffs and things are generally because people aren't talking about things. People are feeling that they're being like pitted against each other when really it's the workers who do the work to make the company what it is. And it's really important for people to get fair pay, fair share. And yeah, I absolutely think more people should be talking about it. Deliveroo, we didn't really talk about things like this. So aside from me joining and sharing my salary and a few people talking to me after the fact, we didn't really talk about salaries until redundancies happened. And at that point, people were much more happy to talk about things, much more happy to talk about, here's what I got on my performance management reviews, as things like it's a shame that we had to go through such a horrible position to feel that we could actually share those things that make everyone more equal and make it easier for us to
be better people. So two questions. One, did anybody at Deliveroo, especially upper management,
take offense or were they upset that you did that? So legally, we're protected in the UK. So fortunately, there's nothing they could officially do. However, it's one of those things that I am probably not quite tarnished, but I'm sure there will be companies who will look at me and be like, no, not that guy. So comments from Tina Fey over the last couple of days about not saying what you think about films, because you never know when you're going to work with that director, stuff like that. I am sure that there are going to be impacts of that, where people know that I will be willing to share my salary because I am protected to do so. And it is, in my opinion, the right thing to do for me. But also, I think, yeah, I speak out a lot. So in like team meetings and stuff, I was happy voicing the opinions that I would be happy lending my voice to us asking a question that I knew other people would be wanting to know. And I know that not just at Deliveroo, but at Capital One where I was when I posted my salary. I know that did make things difficult for me because I had handed in my notice. I had then posted that. I had miscategorized something as a counter offer when it wasn't. And I know that definitely did ruffle some feathers. And that was on me misunderstanding the wording of something. But there's things like that. And as I say, I'm sure there will be companies who look at me and are like, I don't think we want someone like that. And that's fine. But I'm happy if that's what they want to do. Hopefully, it doesn't mean that I can work literally nowhere. Because then I then I will
definitely regret it. Well, that was gonna be my second question was if there are any regrets whatsoever. And it sounds like there's some trepidation about potentially becoming persona non grata utterly. And which point you're like, well, that wasn't very smart. But beyond that, I mean, you're going to continue it for the rest of your life. So you can't regret regret it very
much if at all. Yeah, so I still absolutely plan on carrying on with it. I did recently add on call pay as well as a separate page on my site. Just because it's interesting, because different organizations have different things. And I feel it's something that I may regret it in 30 years holding myself to it for the rest of my career. Yeah. Mm hmm. He has the blowback. I think being
being too open, you know, there's not so much anonymity, but a certain privacy level of life has its benefits, especially like you don't know what the future is going to be. So if you're open now, I know you're you sort of pre committed to this conversation. And now here on the call, you're like for life, I'm going to share my salary. Like you've you've laid that down. And, you know, in two years from now, something you do could make you super famous. Maybe that's cool. I mean, that's part of like your brand at that point. You'll just embrace it. That's cool. But maybe somebody like I'm actually Jared knows this. He makes fun of me. I say absolute things because I feel so strongly in the moment and I make like a long term for every commitment in a way with something I'll say. And then later on, I'm like, well, my idea around that change. So now what I said in the past is no longer accurate. So I try to not be so absolute about things. My wife and I have a funny thing between us. We always say always and every time because early in our relationship, we would say you always do this or every time, you know, just these absolute things that are just totally not true. Right. It's just our irrational in the moment selves saying things that are not accurate and true about the other person. And then that's like now become our love language in a way because we make fun of old selves essentially by saying you always do this every time. We always say it back to each other just jokingly. But, you know, this absolute idea that you've done it forever. I wonder if how it'll play out for you long term, I suppose, because you're pretty young, right? Like how old are you? Are you willing to share your age? 29. Wouldn't that be funny
if he's like, I don't want to share my age. So, I mean, you got a lot of years left in your life,
right? Keys left for you is pretty, it's pretty big. Probably in the, you know, I would say probably 400 million keys is my guess for you. Oh, that's a lot. Well, I just did my own keys left and I knew my age and I just did some division there. So I assume that his is probably double-ish mine or at least one third-ish mine. You got a lot of typing to do. Yeah,
it's a lot of typing. But I guess on the topic of like regretting things. So I, since 2020, I've been posting week notes. So every week on Sunday evening, I write a blog post about what has happened in the week. And I started it just like before COVID. And it was interesting because certain things changed. And I'm looking back at that, but it wasn't until about six months, a year ago when I started hearing about like some of my extended family reading my week notes that I was like, oh, that's a bit weird. It's kind of like your diary in a way. But then I was like, why am I finding this weird? I have been posting publicly on the internet things about my life. So why do I care that my extended family have been reading it, let alone like someone, several countries away who I've never met. And that was like an interesting inflection point of rethinking what sort of things I have been sharing publicly. And so there's definitely some things that, so I also have like a private journal that I do post a bit more stuff into that. And I keep my week notes a little bit lighter on some things because yeah, like I have a fair few readers. I don't know exactly how many, but there's definitely people who have like messaged me like, ah, I've also watched that film recently. And I was like a little bit weird, but yeah. But yeah, also like I'm posting it publicly. Right. Yeah. It should not be unexpected because you are
literally publishing it for people to read, but yet sometimes it still is unexpected, especially when you know them. It's actually, there's a weird disconnect when it comes to strangers and when it comes to people that you know, like I get more self-conscious about something that I make, especially if it's like my work when somebody that I know or that I care about is going to consume it or judge it or whatever. But I ship stuff out to thousands of people every day to do the exact same thing, you know? And to me, like them judging it is fine. Like it's like, okay, like it or not, hopefully you like it. But if my wife thinks something sucks, you know, I was like, well, I didn't make it for you specifically, but if you
don't like it, that hurts, you know? And so it's just weird. This is like, we disconnect strangers
from people that we know. Yeah. Can we go up a personal layer deeper on this one? For whose person? Jamie's? For you, Jamie. Yeah. It's for you. Our guest, our friend, not our friendly, our friend. So you mentioned you have ADHD and you mentioned that you have the inattentive type and you mentioned that you have memory challenges. I think it's mostly in short term, not your like long-term memory. And what I know, because I was the host of a show called Brain Science for a Bit and I've studied neuroscience to some degree, not at all a clinical psychologist, nor a doctor of any sort, but just a layman who's curious. And that, you know, this is common for someone that has your diagnosis. It's called memory breadcrumbs. And so I think you do it. One is a, I'm assuming this, I want to hear your response. I think you do it one for therapeutic reasons. It's helpful for you to have this habit to do this. It's part of your ritual and routine in life that gives you peace to sort of put this out there. Then as a technologist, you value the exhaust, the output of that for future. Cause you can, again, I can vaguely remember I wrote about this X, Y, or Z, and then pull it up and don't have to leverage your memory anymore. You can sort of leverage your handicap in a way. And then also the personal journal is probably super therapeutic for you. There's certain things you probably learned over time you can't involve in these weekly notes, but that this is essentially like your response, kind of like a coping mechanism or a fight or flight kind of response in a way to your diagnosis that this is actually memory breadcrumbs for you. This is a way for you and how it's helpful for someone like you to put down what they learn and remember. And I'm just curious how that, how you feel about that. Like, is that
pretty accurate? Have I pegged that? Yeah. So I've never heard the term memory breadcrumbs, so thank you for that. I'm going to go and search around on that. And yeah, it absolutely sounds like what I'm doing. So on the technical side is, yeah, leaving those breadcrumbs for myself to try and remember what I was doing for the week notes. It was more just a, I've seen some friends doing this. I want to see what it's like, but it has definitely become this therapeutic thing where every Sunday night is week notes night and it gives me a chance to reflect on the week. It's like a lot of the time it's interesting looking back and I don't often read my old ones, which is also kind of ephemeral, but I'll read them while I'm writing them and then I won't look at them for years. But something interesting is like looking back and seeing, okay, so the things that I was most bothered about that week was like a technical problem that who cares in the big scheme of things, or I'll do things like I'll note the different media I've watched in the week. And that's interesting because I can see every so often, oh, I've actually only watched three things this week. So I've either not really watched a lot of TV or I've binged something a lot. And that's also interesting to like look back on. But yes, to go back to your original question, because AEHC sidetracked me. Yes, you did diagnose that fairly well.
Do you think it gives you a position of gratitude better? Because I feel like the reason why journaling is helpful is not just in the therapeutic process of espousing your own thoughts, you know, and putting them down on paper and or digital paper, whatever the medium really is. But it also maybe helps you reflect, like you said, reflect on what happened this week. And it's you may not go back and read the other ones, but you're probably taking track each week mentally. Okay, this week's different than last week where you see progress in the moment as you write it down. Does it give you a chance to sort of have a deeper gratitude for what's going on or does it give you contempt? Like what does it help you feel better or less about? So I guess when I said
journaling, it's not like proper journaling. It's more just like talking about things that have happened in the week. And there's not always like a lot of reflection. Sometimes it is just these are the things that happened and that were of note for me to have remembered during the week to write down. But yeah, sometimes like there are definitely trends and there's things like, oh, I've been very busy with work this week. I've been trying to deal with a complex problem. And therefore, like my personal life is maybe a little bit more chaotic. I think it was last week I was at the State of OpenCon conference in London. And in the lead up to the conference, I spent a lot of time mentally blocks to write my slides for the talk that I was presenting there. And so a lot of my free time was kind of like, oh, I should really be doing my slides, but I don't really have the brain power to do it. So I'm just going to do nothing. And I'm not going to do like a load of other life admin. I'm not going to do a load of other personal projects. I'm just going to not do anything because if I had the brain power, I would do that. And yeah, so it does give some reflection on things like that as well. Are you a big movie fan? You watch a lot of
movies? Yes. Are you a Christopher Nolan fan by any chance? The director of Christopher Nolan? Yeah. There's a movie he had done called Memento. Does this ring a bell to you? I haven't seen it. I've heard of it. Okay. Well, I won't ruin it for you, but it definitely involves memory and it kind of involves time because it really, it goes about the plot of the movie differently than any other movie. You've ever seen before. It's very groundbreaking in the way it tells the story, but loosely, this person has memory challenges and loosely, this person uses their own notes to guide them through their next steps. And sometimes these notes aren't really accurate because they have memory challenges. And so they, they, they remember them one way when they write them down for the future selves, these memory breadcrumbs, so to speak, but then in the moment, because they have short-term memory
loss, they saying too much, man, you're saying, I'm just giving you some stuff. Like it's really challenging. You're like, dude, this is one of the best movies of all time. Did I give it away too much?
I may not remember. That's pretty true. That's pretty, that's very vague. I think I was pretty vague. You should just go watch it. It's different than ADHD for sure. But it's, it's still the idea of memory breadcrumbs and like leveraging the things you write down to remember the things
in the future. We're going to have to blow the whole, the spoiler horn before that whole section
though. Remember that. You think so? God, whatever. Just in case. Didn't try to. Well, I know you were
trying to, but you just kept going and I'm like, Oh, he's starting to get more and more on the
floor. Pull it back. Yeah. Reel it in, reel it in. It's a good movie. I would definitely recommend watching it. And I think given this conversation, you will appreciate the movie even more. And we'll
know about it when we read your week notes. That's right. Like Adam was wrong. This movie is terrible.
I hope he doesn't read this. That's right. That's right. What's up friends. This episode is brought to you by our friends at Cinedia. Cinedia is helping teams take NAS to the next level via a global multi-cloud multi-GEO and extensible service fully managed by Cinedia. They take care of all the infrastructure management, monitoring and maintenance for you. So you can focus on building exceptional distributed applications. And I'm here with VP of product and engineering, Byron Ruth. So Byron in the Nats versus Kafka conversation, I hear a couple of different things. One I hear out there. I hate Kafka with a passion that's quoted by the way, on hacker news. I hear Kafka is dead. Long live Kafka. And then I hear Kafka is the default, but I hate it. So what's the deal with Nats versus Kafka. Yeah. So Kafka is an interesting
one. I've personally followed Kafka for quite some time, ever since the LinkedIn days. And I think what they've done in terms of transitioning the landscape to event streaming has been
wonderful. I think they definitely were the sort of first market for persistent data streaming. However, over time, as people have adopted it, they were the first to market. They provided a solution, but you don't know what you don't know in terms of you need this solution, you need this capability, but inevitably there's also all this operational pain and overhead that people have come to associate with Kafka deployments. Based on our experience and what users and customers have come to us with, they would say, we are spending a ton of money on spend on a team to maintain our Kafka clusters or manage services or something like that. The paradigm of how they model topics and how you partition topics and how you scale them is not really in line with what they fundamentally want to do. And that's where Nats can provide, as we refer to it, subject-based addressing, which has a much more granular way of addressing messages, sending messages, subscribing to messages and things like that, which is very different from what Kafka does. And the second that we introduced persistence with our Jetstream subsystem, as we refer to it, a handful of years ago, we literally had a flood of people saying, can I replace my Kafka deployments with this Nats Jetstream alternative? And we've been getting constant inbounds, constant customers asking, hey, can you enlighten us with what Nats can do? And, oh, by the way, here's all these other dependencies like Redis and other things and some of our services-based things that we could potentially migrate and evolve over time by adopting Nats as a technology, as a core technology to people's systems and platforms. So this has been largely organic. We never, from day one, with our persistence layer Jetstream, the intention was never to say, we're going to go after Kafka. But because of how we layered the persistence on top of this really nice pub-sub, core Nats foundation, and then we promoted it and we say, hey, now we have the same semantics, same paradigm with these new primitives that introduced persistence in terms of streams and consumers. The floodgates just opened and everyone was frankly coming to us and wanting to simplify their architecture, reduce costs, operational costs, get all these other advantages that Nats has to offer that Kafka does not
whatsoever or any of the other similar offerings out there. And you get all these other advantages
that Nats has to offer. So there's someone out there listening to this right now. They're the Kafka cluster admin, the person in charge of this cluster going down or not. They manage the team, they feel the pain, all the things. Give a prescription. What should they do?
What we always recommend is that you can go to the Nats website, download the server, look at the client and model a stream. There are some guides on doing that. We also have
Sanadia provided basically a packet of resources to inform people because we get, again, so many inbound requests about how do you compare Nats and Kafka? And we're like, let's actually just put a thing together that can inform people how to compare and contrast them. So we have a link on the website that we can share and you can basically go get those set of resources. This includes a very lengthy white paper from an outside consultant that did performance benchmarks and stuff like that and discuss basically the different trade-offs that are made.
And they also do a total cost of ownership assessment between people who are organizations running Kafka versus running Nats for comparable workloads. Well, there you go. You have a
prescription. Check for a link in the show notes to those resources. Yesterday's tech is not cutting it. Nats powered by the global multi-cloud, multi-geo and extensible service that is fully managed by Sanadia. It's the way of the future. Learn more at Sanadia.com slash changelog. That's S Y N A D I A dot com slash changelog. Well, we would be remiss to let you go and not talk about DMD because this is a tech podcast after all. Is this a tech podcast? I don't know. In the category in our RSS feed, it says tech or something. I can't remember what it actually put. Ostensibly it is. DMD, dependencies, one of my favorite things. Managing dependencies, not one of my favorite things. Dependency management data, a set of tooling for knowing all about your dependencies, right? Like querying, researching. Tell us more. Tell us more.
Dependency management data, DMD for short, and very poorly named. It's not the best name, I have to admit. I now have a t-shirt with it on, so I'm kind of like stuck into that now. Right. But I like it because it's kind of a reflection of my inability to name things well and think of catchy stuff. But yeah, so dependency management data is a project I was building while I was at Deliveroo and it was coming up to Hacktoberfest and I was a big proponent of open source, of giving back. And aside from issues that maintainers have during Hacktoberfest, I was still very pro, let's get some more Deliveroo engineers contributing because everyone should be trying to at least contribute to that. And one of the questions I was asked a number of times was, well, which project should I contribute to? Because it's hard to know where to start with open source. And I was like, instead of sending like, go for a good first issues list. I was like, you know what, let's look at the dependencies that Deliveroo has. And let's say of all of these, these are the ones we use the most. So maybe have a look at these ones. And Deliveroo is like a very good data-driven organization. So I was like, okay, I'm going to get some data to actually show that. So I ended up building some very horrible hacky scripts, which would take output from GitHub's dependent graph, and it would then pause those and spit out into an SQLite database. Over the next few months, I realized that actually this is quite useful thing, like being able to have a database of all your dependencies and being able to query them, being able to add additional insight is actually really powerful. So I started playing around with end-of-life.date, which is an API for looking up common end-of-life or deprecation dates. So for instance, how long is Node.js supported? When is, I don't think they have any physical hardware. There's lots of programming languages. They are very open to supporting new things. And so I was starting to add this data and realized that this actually shouldn't be a thing that just sits within Deliveroo. It's something that I can absolutely see other people getting benefit from. And I was spending a lot of evenings and weekends on the idea anyway. So I started an open source project for this called DMD, and it has just passed its anniversary of its first birthday. So I've been spending just over a year, I think one in three days of the last year, I have been committing to the project. So I've spent a lot of time working on it. And as well as being able to just have a list of those dependencies, being able to say things like, where are we using Terraform in the organization? Or which go HTTP servers are we using? And how many are different teams using? You can also do things like looking up OpenSSF scorecard data to say things like, of the dependencies, my most critical application in our business relies on how many of those do zero code review and how many of them just yeeting things into prod. And it turns out it's quite a lot more than you would think. So having a lot of that data is really useful. And both my time at Deliveroo and now at Elastic, we've been spending a lot of time using that data to make some really interesting decisions and interesting understandings of our data. And yeah, you can find some very interesting things. And I've said interesting about a dozen times there.
It's very interesting. So interesting. Yeeting things into prod. I like that. Well, on the name, so DMD, DMD is cooler than what it stands for, you know, dependency management data. If somehow you could fit a recursive acronym in there, then that would be really cool. You know, if you could still maintain the DMD, but free piece of marketing advice, there is a excellent AC DC song called TNT. You could repurpose because they have this big DMD TNT. You could attach yourself to that. Don't change the name. Just give it a little bit of excitement, a little bit of explosion, a little bit of hard rock to round out the soft edges. What do you think, Adam? I think it's dynamite. You know this song? Yeah. Thank you. Sorry about that. I had to bring it in. I loved it. I loved it. Does it matter what stack you're using or anything?
Is it agnostic? Yeah. So that's a really good question. So first of all, like the change logs data is all in there. So you can actually go and have a look. Oh, can I? Yeah. So, okay. I like that. So would you like to see which of your dependencies are end of life deprecated? Have
security issues? Absolutely. Please. Yes. Be very interesting. We're shifting left here. Don't you know? Yeah. Put the brakes on hard. I don't want to shift. Break hard left. So for instance, in
this list, like you can see, you've got a couple of non-standard licenses, which just means that depth sort of dev, the API, or one of the APIs that dependency management data users couldn't understand the licensing. We've got a few packages that have vulnerabilities. And then you're also using go 120, which has been end of life for seven days. Like how are you not already on the latest version? What's wrong with us? But yeah, so like one of the good choices I made around dependency management data was trying to do as little work as possible. So instead of me trying to understand the different ecosystems and all the data that they use and how the different package managers work, I'm outsourcing that to someone else. So the original version uses Dependabot, but the data that I was getting from that didn't include a lot of things that we used at Deliveroo. And we're just starting to roll out RenovateBot for dependency upgrades. And as part of that, I noticed that Renovate had a just like a load of support for a load of different things, but it also spat out a big blob of JSON, which contained all the packages it knows of. So what I've done is I've added a very small wrapper on top of Renovate to basically dump out that dependency tree. So for instance, you can, so another link I've just dropped in there, Google Doc. So yeah, one of the reasons for using Renovate meant that I could support dozens and dozens of different things out of the box for very little work. So for instance, because Renovate understands Mix, the Elixir dependency management tool, I actually have all the details of all the versions of tools that Changelog is currently using. And from that data, you can then look up things like which version of the OAuth libraries are we using, do any of our dependencies have some pretty poor repository health, things like that. So out of the box, it supports a lot of things depending on which tools you use to extract it, but then you can also plug it in with things like software bill of materials, SBOMs. So if you're using a platform like Snyk, you can export the data from Snyk. You can still leave Snyk managing that and you can just import that data into DMD. So you still get the visibility. You just don't have to do the data collection part. Super cool using Simon Wilson's dataset
underneath the hood, huh? I've seen that on the homepage.
It is very useful. And yeah, user interfaces, user experience, just like design in general is not my passion, which a lot of people have seen over the years. So having the dataset project as the database browser was amazing because didn't have to do anything. It's really useful. And as you've seen, you can share URLs with people and it pre-fills the query. So this is really useful internally where you want to send it to someone. You want to say, Hey, your service uses load of insecure dependencies. You can just send someone a link and they can get that instead of sending them like 300 lines of SQL. And it's like, go to this URL, then paste it in. Yeah. Yeah. Super cool, man. Have you gotten much pickup? Have you gotten people using it? So I've definitely got three companies who are using it right now. Two of which I've worked out. So it's not as fun. It's grassroots marketing, you know, just one, one job at a time. Yeah. There's definitely at least one company who I have not been there to set it all up. So that's been cool. And I have talked with a number of other people and I've been doing some conference talks here and there. So I know there are people trying it out who maybe haven't told me they're using it. Yeah. It's fun to just get more people using that and understanding some interesting things because in my opinion, this is better than any of the other offerings that other platforms have. But also this coming from a very specific view and I don't have a lot of VC funding, so I can't do as much as they can. Right. Do you have any VC
funding? I do not. Just to be clear. Not a lot. It means none. Well, now you have a grassroots
marketing idea. You know, that's free by the way. I'm not going to charge you for that. The TNT AC DC tie-in is really going to, I think, take this over the top.
That's brute force, actually. Not grassroots. We'll see. There's opportunity here, right?
I mean, like, could you turn this into a product? So it's absolutely something I'm thinking of. For instance, I was listening to change log 577 with Nadia and a lot of things I was like, ooh, this is an interesting idea and ooh. And so like recently I have been listening to a number of podcasts around building open source businesses. So there's the business of open source with Emily O'Mear, which is really interesting, around like different companies who've tried to do it. And it's something I'm actively thinking about. I haven't yet done anything on it, aside from a bit of hacking around with things, because like some of it, I think, organizations probably want to be in control. So saying, hey, attach this GitHub app for this thing that some random developer you've never met and just give them access to your source code for everything. A lot of organizations probably aren't going to be up for that. So I'm trying to look at making it easy for self-hosting, for organizations to bring it in and it kind of just to work. And yeah, so there's a few options there that I'm looking at around how to make that easier.
Yeah. Well, to be clear, at one point Sourcegraph was just some random developers. And at one point socket.dev was just some random, well-known developer, for us at Bookadijay. And they both have GitHub apps. That is part of the install process. I know that that was one thing I talked to Quinn Slack about on Founders Talk was how did you get these enterprises to trust you with their data? He's like, that was the hard part. That was like the biggest hurdle. But, you know, once they did, it wasn't that challenging to prove the value. So I think if you can prove that value and prove the trust, then I think it gets a little easier. That's the, that's the true hurdle, the dip really for that one or a different way around it, really, you know. Well, good luck to you on that. I mean, I want to hear more for sure, but good luck to you on that. I mean, that's a, it's a fun battle, you know, it's a worthwhile
battle. And it is one of those things that like the sorts of use cases that's unlocked have been like honestly game changing for at least me. At Deliveroo, one of our platform teams kind of pivoted what they were doing because they could suddenly do so much more with this data, but they were able to understand, say, which Terraform modules the team's using and at what versions. And they were able to easily see that they were able to run a fairly straightforward SQL query because not everyone's going to find SQL straightforward, but they were able to write that query with the dataset UI and just see across the board, which teams are doing different things. And then I'd also ingested things like ownership information. So it would actually say like, oh, and it's this team that owns that and the teams could break it down by different things. I've over the last month or so I've written a number of case studies on the website around like different use cases that has been used for. And it's things like we're in the middle of an incident at Deliveroo. There wasn't like causing any problems, but it was a proactive incident raised. And we'd noticed that there was one of our doc sidecars for Kafka consumption was susceptible to a race condition. And one option would be to try and just like grep through lots of different code bases and find what was affected. Or it was like a seven line SQL statement that we could just do because we had all the data there. And it's things like that that until you have that data, you probably can't see some of that benefit, but once you have it and you can start interrogating those sorts of things. And as you say, about the source graph, it's being able to actually think up those sorts of questions when you didn't have anything there before is difficult, but then you get access to it and you're like, oh, actually, yeah, I can now do a
load of things that would never available. That's why I think those examples you have and just like the sample questions are a useful thing because you help the person dream, you know, realizing, because otherwise it's like, I'm kind of like, yeah, I got data on lots of stuff, you know, it's like, I kind of know my dependencies and there's tools built into hex, for instance, that will say what's outdated, you know? It's like, yeah, that's probably good enough. It's like, yeah, but can you ask this question and you answer this, can you know this about your, and I'll start to think, oh, okay. You open, you broaden the imagination of the potential user. And so I think the more of that you can do as well as the TNT tie-in, which is going to be just groundbreaking, you're going to give it up, man. It's becoming not dynamite. Oh, I don't know.
That might've been my best, my best image. Keep going, man. I'm just razzing you. I think there's
like a, there, it's like a version of a subset of what Sourcegraph offers, like is answering questions about your code base. Yeah. Right. And you've got to have certain, you know, queryable knowledge, which isn't always on everybody's purview. And there's a version of this is like in the camp of socket, which is kind of why I mentioned both of them because they both required to have the user's trust of their data and their code base, which is obviously part of the battle. But I think you're a version, you're like a love child in a way, but like a smaller love child. And I don't even know the full tool, but it's a version of maybe a hate child. Who knows, Jared? I don't know, man. I'm going with love. Okay. It's a version of what both of those tools do, but not to their full circumference because Sourcegraph has obviously done some really cool stuff with insights and their dashboard they do with that, which I think is pretty cool too, which is kind of what you've done here in a way, but it's, it's, this is more of a hacker's version of it, which is command line and whatnot, but I think there's something here. I would encourage you to pursue what a good next step might be to, to prioritize this. Maybe there's people who are like, you know what? Sourcegraph is just way too big. I need something that's simpler. And maybe there's people who's like, you know what? I don't need the security aspects of socket, but I like some of the things it does because socket is all about dependencies, but from a security lens and, you know, even from a, is this repository active and answering certain questions about the repository, the dependency, you know, has the committers or core team members changed recently? Things like that. That's kind of sort of what socket does and deeper levels and more alerts and awareness, but that installs as a GitHub app. That's like one of the most popular ways. I know that because they're a sponsor and not sponsoring this one here, but they have sponsors before, and we know for us, but that's how, like one of the main ways people interface
with socket is via the GitHub app. Yeah, I guess, um, I'm also trying to avoid going after, like, I don't want to try and compete with people like mend and sneak and the big companies doing that sort of thing. Why not? Because I think for some of it, it's, I believe they're still going to get like business. It's always true in competition, but I guess, so I don't see it as like able to compete for some of the things and I don't want it to try and compete with some of the things. So on like the, say the security aspect for sure. I think that's like a fairly saturated market and there are lots of people who have a massive share, but there aren't many people doing things like give me a list of dependencies that haven't had code review recently, but in the last 90 days, how many of those dependencies have yeeted stuff into prod without any code review. And there's things like that, that I can add some interesting views on that data while also giving the ability to add your own stuff into it while also being able to play nicely with things like S-Bombs produced by other tools. So you can use existing
platforms. Yeah. Keep doing it, man. Don't stop. Even if you have to overlap a little bit, I think there are certain things that obviously like sneak is just a Goliath in the industry, but at the same time, and I'm not trying to poo talk by any means, I think what I've heard negatively about the sneak is not that they're bad, but that they report on CVEs. It's like known vulnerabilities. It's not predictive, it's reactive. So I think if you can get, you're kind of like teetering in the predictive realm because you're able to give insights that not, that are not easily foreseen otherwise, like has there been PRs in the last 90 days on X number of my dependencies? They may not say that you have eight bad dependencies. It may just say, these may be ones that you should question or look into personally, or use other tools that give you more insights beyond this. Cause it's like, it's a smell. You're identifying code smell or dependency
smell of sorts. There's definitely something there. Keep going. I am definitely planning on, I'm not putting it down anytime soon. It's been yeah, massive passion project and I'm hoping to yeah, go a lot further with that.
Yeah. I think maybe Jared might be onto something though, with this TNT stuff, you know? Yes. Cause you, cause you can like bring in more iconography and stuff like that around, you know, like if you have bad dependencies, that's a blow up moment, right? That's a, that's a dynamite situation, right? It's a bad thing for your code base to have sad dependencies. So maybe, maybe you could pivot the TNT versus DMD. I don't know.
I'll have a look at the licensing fees for using TNT as a song.
Well, well there's always BMC and renditions. You know that right? Great artists steal Jamie, great artists steal. That's right. You can always do a rendition of the song. It's it could be like the song,
not the actual. It's an homage, you know, it's fair use. It's an homage and ask for forgiveness, not permission. I mean, that's, that's the indie web way, isn't it? I didn't just say that up.
This message is not vouch for by the indie web. Yeah. Well, I'm glad we're friends now versus friendlies. This is so much cooler than the
friendly aspect. Yeah. It's been cool. Cause yeah, I've been listening to you both for years. Although one thing that is interesting is listening to you at like one time speed. So I usually listen on 1.7 times. So, so I have actually listened to a couple of podcasts at one time to prepare. So we wouldn't disappoint you, you know,
how slow we are in real life. Oh man. Wow. There's so many people who listen to podcasts that beyond one X, I just, I have honestly tried several times to just taste the sauce and see if I like it, which I do not because the speed up sauce. Yeah. Like I just, I'm like, what am I? Am I missing? Something is something wrong. And maybe I was telling Nick this actually, cause we were, we were hanging out when I was here for that conference recently, Nick Nissi by the way. And I was like, maybe, maybe your brain operates at a different frequency, like a higher frequency than mine does. And so it allows you to listen at a higher speed because you comprehend slightly faster than I do. Not that we comprehend differently, but that the frequency for which we comprehend is different because I'm a, I'm an artist myself and I like the pure nature of the art. So I can't change the way, like I'm not watching movies at 1.5, right? Like, I'm just not going to do it. It just, it ruins the whole thing. So I just can't do that with anything else, whether it's a book or a podcast or anything, I'm going to listen to it at the director's intended speed. And as close as I can get to what the director intended, cinematically, even if it's a film, you know, like if someone says you've got to watch Oppenheimer in the theater for the first time, and then you can watch it anywhere else you want to afterwards, I'm going to do my best to get to an IMAX theater with the rocking sound system, or I'm just not going to do it at all. I'm a teetotaler in that respect. So that's my mode. So maybe that's, you just listen and comprehend at a higher frequency than I do.
I have both experiences because I listen to our stuff fast at sped up 1.75 to 2x,
just because I'm listening to the clip. I'm not listening to enjoy the conversation necessarily. And what's funny about that is that I clip out of overcast. And so I'm listening at 1.75x, but when I hit the clip button, it opens up a brand new little clip widget thing, which does not have the speed applied to it. And so I actually get the fast and the slow version multiple times throughout a single episode. And that's when we sound really dumb at them, because we'll be like talking about this good. And then I hit the button. It's like,
Yes, I know what I'm talking about. I'm like, Oh man, I'm really slow.
That's a very strange experience. I would not, I would not advise it.
Yeah. Back-to-back speed is probably in, wow, that's gonna be jarring.
It is jarring. So Jamie's hard to disappoint you with our regular speeds of our brains.
You know, it's how we operate.
Hopefully we didn't lose your attention too many times throughout this conversation. We do appreciate you hanging out with us. And the work that you're doing, your radical transparency with your salary, definitely interesting and helpful for many people. Very cool. Your commitment to syndicating and your website, your commitment to your website that you have is laudable. And this is a cool project. DMD, check it out. Sounds like TNT. So, you know, it's cool. And what else? Anything else before we say goodbye to our friends?
No. Yeah. Thanks very much for having me. It's been really fun. It's been nice to speak.
Shout out to the multiple people who've requested to have Jamie on the show throughout the years. Most recently, it was Dan Moore. That's right. Dan Moore. Who was a recent guest. And you pointed us to Dan, didn't you? I did. Did you guys cut a deal? Did you cut a deal?
No, he messaged me after. Yeah, he messaged me after being like, I request you, you request me.
He's not the first one, though. Somebody else used the request form and submitted you a little while back. And so it was percolating. The timing was percolating. I had multiple requests. Plus, obviously, I've known your work for many years. So I thought, yeah, it's time. It's time to get him on the show.
I think the issue with that one request, though, was they were recommending the TNT
project he was working on. And they were correct. And we couldn't find it.
Right.
It was actually DMD.
Exactly.
So we couldn't find you.
You need to redirect on that sucker.
That's right. TNT.dev. Check it out.
Oh, that'd be cool.
Can you get that?
We're over here renaming his project.
He's like, I don't even like, he's like, I got a t-shirt already, guys. I'm not renaming it. I got a t-shirt.
I'm checking it for you real quick. Let's close this loop at least. And then we'll let everybody
go. Check domain. TNT.dev is already taken. How about a different one? Shame.
No, that was the only chance we had.
That was it. That was it. Now we can't do it. All right. Goodbye, friends. Bye, friends.
Bye, friends.
It just so happens that Jamie is a changelog++ member. So he was super forward to stick around for a bonus 15 minutes and chat with us about vim, zed, his reluctance to use AI code tools, and more. If you're not a plus plus subscriber, now is a great time to directly support our work with your hard earned cash or even better, your employer sponsored education budget. As a thanks, we make the ads disappear, send you some free changelog stickers, hook you up with bonus content like this and more. It's better, but don't take our word for it. Here's Jamie's.
It is better. It's been better for years.
Join Jamie and hundreds of your fellow listeners who have already got in on the better at changelog.com slash plus plus.
Make your dreams come true. Just do it.
Thanks again to our friends at fly.io and to Sentry. Use code changelog when you sign up to save 100 bucks on their team plan. And of course, to our mysterious friend, brake master cylinder. That's all for now, but let's talk again real soon.