The Changelog: Software Development, Open Source - Kindle as a smart device, Changelog on Mastodon, GPT-3 up in your CLI, no arch better than bad arch & Mish Manners (News)

Episode Date: November 21, 2022

Matt Healy says your next smart device is a $30 Kindle, Changelog sets up an instance as Mastodon takes off, Anurag Bhagsain puts OpenAI's GPT-3 in your CLI, Kirill Rogovoy argues that no architecture... is better than bad architecture & we talk to Mish Manners at All Things Open 2022.

Transcript
Discussion (0)
Starting point is 00:00:00 What up nerds, I'm Jared and this is Changelog News for the week of Monday, November 21st, 2022. Let's do it. The top story from Sunday's edition of Changelog Weekly was Matt Healy announcing, your next smart home device is a $30 used Kindle. Matt says, quote, A lot of tools that used to be separate have now converged into one, the phone. You might not buy another camera again, and you probably won't buy a calculator.
Starting point is 00:00:36 For the most part, it's a good tradeoff. What we lose in the tactile pleasures of a good single-purpose device, we gain back tenfold in having all those devices in our pocket all the time. That's all fine for calculators, cameras, music players, and the like, but our phones are also the nexus of all kinds of data we want pushed to us. News, messages, notifications, alerts, status updates. Things we want to know about without going looking for them. A phone isn't actually great for this kind of ambient awareness. It's usually in a pocket or purse, so the ways it can get our attention are limited. A buzz, a notification on the lock screen, a red dot on an app icon. I can choose to let myself be interrupted, or I can compulsively check in to see what the latest alerts might be.
Starting point is 00:01:19 I found myself wanting a less intrusive channel for ambient data, something I can glance at in passing without giving my full attention or opening myself up to whatever other interruptions End quote. The device he landed on is, you guessed it, a Wi-Fi connected Kindle 4 mounted on the wall. In the post, he walks you through why this is the perfect setup, why e-ink, why a Kindle, why a screenshot of a webpage. And he also provides instructions on how you can set up a $30 Kindle to do the same. Amidst all the Twitter turmoil, Mastodon is busting at the seams as technologists from all around the world turn to the Fediverse and Activity Pub as a potential answer to their social networking woes. As a result, I spent some time last week
Starting point is 00:02:09 setting up an official changelog instance hosted by our partners at Fly.io. It was pretty easy, thanks to Docker and a config repo by Aman Gupta-Karmani that I forked and customized for our use. I'll link to his and our fork in the show notes if you're curious how everything's wired together. Streaming stuff under the internet. Why?
Starting point is 00:02:32 Tubes. The internet is tubes. Adam and I first spoke with Mastodon creator Eugene Rochko in September of 2018. That was episode number 315 of The Change Log, which, it turns out, is more relevant today than ever and so in march 2016 i just wanted to check well how is that new social thing doing right now and i saw that it was still alive and um but it obviously looked kind of awful visually so it's
Starting point is 00:03:03 like i like using tweet deck i kind of want to. So I was like, I like using TweetDeck. I kind of want to make an interface for it that works like TweetDeck and that looks good. And maybe people will switch. But I didn't have any big ambitions about that. I just thought I'd make something that people who are really used to NooSocial would just switch to. I wasn't expecting anyone from outside that circle to make a jump. But I soon found that NoSocial had a rather arcane code base, very old-style PHP, and I just shuddered and I kind of decided to try starting from scratch.
Starting point is 00:03:42 We called that episode Join the Federation? Mastodon Awaits. And I did set up a changelog account on mastodon.social after publishing, but we never ended up using it. I guess Mastodon had to wait a few years for us to finally join the Federation, but we're here now, and you can find all of our accounts at changelog.social slash directory. The AI in your dev tools revolution continues apace. Come with me if you want to live. This time, Anurag, Bagsain put GPT-3 all up in your CLI, answering your questions. Stay here. I'll be back.
Starting point is 00:04:18 After installing with NPM and configuring your OpenAI API key, you can ask it how to do things, such as the command, AI ask, check process running on port 8000. It will take that question, hit OpenAI's GPT-3 API, and return its best guess at the matching command. In this case, LSOF-I TCP colon 8000. Trust me. Which is better? Bad software architecture or no architecture at all?
Starting point is 00:04:47 Kirill Rogovoy argues it's the latter. So you're telling me there's a chance. Yeah! He says, quote, it took me several years to learn how to write code that scales to tens of team members and a million lines of code.
Starting point is 00:05:03 It took even more time to learn to write stupid code again. Turns out, building a solid architecture in your code can easily be busy work and procrastination. Turns out, you can waste a lot of energy trying to get rid of End quote. He doesn't claim to have the answers yet, but shares a few practical heuristics that helped him avoid poor outcomes. One, no code is equal. Two, let it beg for structure first. And three, always start with one. If you want to know what exactly those things mean, read the post. That is the news for now, but stick around for a fun bonus conversation with Mish Manners in the hallway track at ATO 22. Coming up on Friday, we revisit last fall's episode with
Starting point is 00:06:13 Gerge Arose on the Insane Tech hiring market. Things couldn't be more different than they were a year ago, and Gerge has been tracking and reporting on all the goings on. He has some great insights on where we're headed, solid thoughts on how to avoid being laid off if possible, and actionable advice about moves you can make to get back on your feet quickly. Have a great week, and we'll talk to you again real soon. Let's start with the NFC. Yes. Oh, yes. So before, you were just sitting over there.
Starting point is 00:06:49 You lost it earlier. You found it. I did. What is this? Give us a short story. The NFC, what does it do? And then tell us what happened when you lost it and you found it. So it's a little NFC chip inside a resin cast.
Starting point is 00:07:00 And you can use a thing called NFC tools. They're available on iPhone or Android. And you can program that little chip to do whatever you want. So it could be, so for mine, it's programmed to do one single action which is take me to a website in the browser.
Starting point is 00:07:15 So if I tap it on your phone, I've got one set up to go to my Twitter and I've got one set up to go to my website. So can you tap my phone with that and take me to your site so I can follow you? Is that the purpose? Exactly. Let's do it. So tapping you now. Well with that and take me to your site so I can follow you? Is that the purpose? Yeah, yeah, exactly.
Starting point is 00:07:25 So if like I... Let's do it. So tapping you now... Well, do I have to be... Well, it's an iPhone, so it's like... It's unlocked. Hang out. It's happening.
Starting point is 00:07:33 On the back. I've found problems with iPhones. Maybe I have a blocker on the NFC. Because they usually have blockers on them. Let's see. Let's take it out of the case. Maybe this is NFC blocking case. Here, try mine.
Starting point is 00:07:41 Mine's naked. Try mine. Mine's naked. Well, iPhones tend to work on the front. I feel like maybe you're casting a spell on my phone right now. Some people say like, oh, if it was a security conference, we'd never be doing this. Oh, Twitter NFC tag. Open in Twitter. So there you go. So I tapped my little, it's a little Xbox controller.
Starting point is 00:07:59 Yeah, and it takes you to my Twitter. Mish, I'm on your Twitter. So a lot of people say, oh, what's your Twitter handle? You've got to open up the app, you've got to go to the thing, you've, I'm on your Twitter. So a lot of people say, oh, what's your Twitter handle? I've got to open up the app, I've got to go to this thing, I've got to type in your handle. Right. It just does all of it in one go.
Starting point is 00:08:10 That's kind of cool. Yeah, yeah. So you just carry around a couple of those. They're like a little piece of plastic. It's like a keychain. Yeah, yeah. So I have two of them
Starting point is 00:08:17 on a keychain. So you can see one there. So one's a PlayStation controller. Right. And the other one's an Xbox controller because I like both. Right, cool. And then there's one there that was missing. Well, other one's an Xbox controller. So I like both. Right, cool.
Starting point is 00:08:25 And then there's one there that was missing. Well, still is missing, but it's in my pocket now. But it came off, and I was like, I better tweet it out that I've lost it and open source the shiz out of this thing, and hopefully the community can find it. The shiz out. I was down there at Major League Hacking, and I saw her. She was looking for something.
Starting point is 00:08:40 I'm like, did you lose something? She says, yes. But I had no idea what you said, really. But I empathized. I was like, I'm so sorry that you lost this thing. And then she's on Twitter, and she's like, I'm going to get Twitter to get this thing for something. I'm like, did you lose something? She says, yes. But I had no idea what you said, really. But I empathized. I was like, I'm so sorry that you lost this thing. And then she's on Twitter. And she's like, I'm going to get Twitter to get this thing for me. And I'm like, OK, great.
Starting point is 00:08:50 I'm going to get Twitter to find my NFC Twitter chip. So this is the loop being closed. She found it. Yeah, I did find it. So it was on the ground on a strip of black plastic. Hence why I missed it the first time. But it's very colorful, right? Isn't it colorful?
Starting point is 00:09:01 It is. Well, this one. Well, that one is. This one's more colorful. The other one's like a dull blue color so I really blended into the tape and yeah, it was on the ground between the retro desk and
Starting point is 00:09:11 security. Where does that one go? This one goes straight to Twitter. And that's your link tree? Is that what that is? A link tree? Basically a link tree. Is it the Michelle tree? It's mishmanners.info. So I built my own link tree because I didn't like link tree. Gotcha.
Starting point is 00:09:26 Okay. Awesome. So how do you program the thing? So all you do is download an app called NFC Tools. It's on iOS or Android. And you just tap the chip that you want to program and say, give it like an action. Yeah. And they can just do one thing?
Starting point is 00:09:42 Yeah, it just does one thing. And then if you want, you can lock it. So what Michelle does when she's at a conference, she'll leave them in a pile. She'll give them out to people. It's got her Twitter on it. They can tap it, follow her Twitter, and then she's left it unlocked so that you can then program it yourself. Right.
Starting point is 00:09:57 And then she encourages you to then lock it so if it's not lying around, no one can just randomly write. Reprogram it because then you start using it. It's like, well, now it's no longer the thing you thought it was doing. Well, I've seen people do these things for like garage door openers. So instead of having your actual garage door open, I was telling Michelle this earlier. Instead of having your actual garage door opener in your car, which if somebody breaks into your car, pushes that thing, they can get into your garage. And that's usually the second door in is usually the secure one. But they can get in your garage, which has lots of stuff, right?
Starting point is 00:10:27 Your car for sure, in most cases. Or a bunch of boxes full of gear. Boxes, your trash potentially. Well, things you may not want them to get into, let's just say. So instead you put an NFC there and it's biometric to your phone. So you have to open your phone, BU, and then use the NFC, which would then open your garage door. Yeah, we've got something similar now. Oh, to your phone. As, and then use the NFC, which would then open your garage door. Yeah, we've got something similar now.
Starting point is 00:10:46 Oh, to your phone. As in, like, it's biometric unlock. Either you've got to put your own pin number in. It's defense in depth. Lots of interesting. Do you have them around your house at all, or do you just use them for this? Well, I'm in an apartment, but we have, like, they just installed, like, a similar system. And it's an app that I can, like, download, add it in, and say, yep, this is my primary residence. I can add,
Starting point is 00:11:06 set up like a network and be like, I live here. My housemate also lives here. So we can both use our own biometric unlocks to get in. And it also means that they can call me on my phone. I can click a button, see the camera, as long as I'm connected to the internet and see who's home. Go, oh yeah, there's a package. I'm in America. There's a dude standing outside my house in Melbourne, Australia. Yep, let him in with the package. Is that right? Just like that because of NFC? Because they use it there.
Starting point is 00:11:33 That one's not specifically NFC. That one's going over the internet. So that one's more like, I mean, there is an NFC chip that we have as well, but unfortunately the system is not advanced enough to allow you to add your own NFCs, and it's obviously not an open system, so I can't just go and program my own. What they're meant to do, though,
Starting point is 00:11:55 is put essentially programmability into the real world that you control and can lock, and you can sprinkle them throughout your house. Turn on lights, doing different things, household automations with you and your family. I'm me, so when I tap mine, it can be the same NFC with the action, but I'm me. So I can see when I do this action, it does, you know, the lights this way. It dims it to 50%.
Starting point is 00:12:16 Question. Can you do the laundry for me? I wish. I love it. Well, I'm sad. Why? Because we sent you a shirt, and I didn't see you wear that shirt. Oh, she didn't know we were going to be here.
Starting point is 00:12:28 I know you did. I thought for sure at this conference you'd wear it. Knowing we'd be here, you knew we'd be here. She works for GitHub. She's obligated. I'm stretching the truth. I'm being funny. I was about to say yesterday that I got the shirt,
Starting point is 00:12:39 but I'm very impressed that you remembered that you sent me a shirt because I love that shirt. Yeah. It's a really nice shirt. It's the best shirt ever. I wear it like this. Like, I've got my current GitHub shirt on, which is, you know, the gray shirt, the jeans, and the plaid over the top. Right.
Starting point is 00:12:54 Is that your uniform? It's part of the uniform. That's how I wear my chain dog shirt. Please wear it. I love it. It will last. I'm even a bigger maintainer now. I've got a bigger project.
Starting point is 00:13:02 Well, it's not really that big. It's bigger. It's bigger. She's backtracking a little project. Well, it's not really that big. It's not bigger. It's bigger. She's backtracking a little bit. Hang on a second. It's bigger. But yeah, I started a project for Hacktoberfest this year called Mish Friendly Food. So my name's Mish, obviously. And every time I go out for dinner, I'll go
Starting point is 00:13:18 somewhere. People who come out with me understand that I have a lot of dietary issues. I'm gluten-free, dairy-free. I'm allergic to mango, potato, banana, coconut, chickpeas, cashews. Holy cow. There's a whole thing. So whenever I go traveling, especially to a place that's not English as a first language,
Starting point is 00:13:38 sometimes I don't even know what gluten is. To the point where one guy was like, bananas. Can you eat bananas? Do they have gluten can you eat bananas do they have gluten in them they do not have gluten no they don't have gluten but i'm allergic to bananas i think he misunderstood me so some poor soul wandering around thinking bananas have gluten in them so we were chatting about this at lunchtime i had breakfast when we were recently in norway and a bunch of us were sitting around and one girl was like i need something to work on for you know Hacktoberfest I was like oh yeah cool and then like we just got chatting about this on dietary stuff and I was like you know what's really funny we're at dinner the night before
Starting point is 00:14:13 and there was pizza and obviously pizza is not gluten-free but I said to the guy like is there any mish friendly pizza or like are we gonna have mish friendly pizza there he sends me a message back about half an hour later being like I've spent the last half an hour googling what mish friendly food is oh gosh because he thought it was an actual dietary makes sense
Starting point is 00:14:31 category which makes sense and then someone was like you should SEO that and I'm like that would actually be really cool so someone searched for it and someone was like
Starting point is 00:14:39 why don't we start like that this could be a thing and then it just got like cool we're going to do this for Hacktoberfest so it's a um online app just like a web app where you go to the website mishfriendlyfood.com because i wanted to call it something cool and everyone's like no mish
Starting point is 00:14:54 friendly for sure so i have.com mishfriendlyfood.com and you can go there you can type in your dietary requirements or allergies then you can select the language you want to translate it into. No way. That's so cool. For Hacktoberfest, I managed to get a bunch of different translated languages, so a whole bunch of people came and contributed for that. People helped me build the site, so we did a JSON database, set it up in, first of all, it was this whole big,
Starting point is 00:15:21 do we do React, do we do Astro, do we do something else, and it ended up being Astro. So we set up the Astro database side of it. And then we've got the website working. We've got all the translations there. Got a little bit of search functionality happening. And then eventually it's going to be, you can print it out in a cute little card,
Starting point is 00:15:37 digital or physical. And then you can hit a button to do some Twitter integration. So it sends you a text message of your result. So if you've got dietary requirements, you can travel. Wow, I love it. And we're so sure that you know. Boom.
Starting point is 00:15:50 What does it print out for you? What's the result? Does it just say how to say it in that language? No, it just gives it like the text of that language. So if it's chicken, it'll print out, I think it was poisson in French. Right, okay. Yeah, but like usually people got like a list.
Starting point is 00:16:03 But actually, this is a good thing to rift on. So while doing that, I encountered a lot of different, not issues, but things that I had to learn and work through as a quote-unquote maintainer for this. So a whole bunch of people were committing to stuff at the same time and someone changed all the file structure while there was all these commits. And I was like, this is good.
Starting point is 00:16:25 And I was talking about a live stream and someone was like, yeah, I saw that happen. I was like, Misha's going to have fun with that. Yeah. So that was fun. So that was fun. Merge conflict, not just within a file, but within like the whole structure.
Starting point is 00:16:36 You can't do it in the GitHub UI. Right. Got to do it some other ways. That was fun. Things like, yeah, pull requests and people have got multiple things in some other ways. That was fun. Things like, yeah, pull requests. Some people have got multiple things in one. It was interesting. Even things like doing automated auto-generated release notes.
Starting point is 00:16:52 Yeah, I learned all this, like, cool stuff. Yeah. Because I have, you know, you've sent me a T-shirt as a maintainer. So I've done a little bit of other stuff before, and there's, like, a bunch of people contributing, but not all at once. Yeah. So this was very interesting. I really enjoyed it that's cool yeah yeah everybody has a hard time
Starting point is 00:17:10 saying they're a maintainer like you kind of said quote-unquote maintainer yeah right and then we had another issue where we were on a show and they had to like justify them being a maintainer i'm like listen you're a maintainer like they had to be like they were like well the reason i say quote on quote is because i take i'm relatively new they're not big projects like i'm not a big but i'm still a you are still a maintainer it's just you're not like a big maintainer or you might not be an experienced maintainer like you know i've got some experience there's tiers and categories to be a maintainer just like saying like some people come in and go, oh, yeah, I'm like not really a developer. I've done a little bit of code, but not much.
Starting point is 00:17:50 It's like, well, you kind of are a developer. You just, there's different levels, right? Then they show you what they've built and you're like, excuse me? Or they're like, I'm not, you got the game? I'm not a gamer. Oh, yeah, let's sit down and play. Oh, yeah, you're a gamer. Yeah, totally.
Starting point is 00:18:04 Exactly. Yeah. totally. Exactly, yeah. Yeah. What else? We talked a little bit about, you could talk about my talk that I gave today. I gave a talk today. Oh, you gave a talk? Yeah. What about?
Starting point is 00:18:13 Automatically generating your release notes, but not just that, like automating your entire release process. Right. And also like the pain points that maintainers face around doing releases. So things like having to write notes or having to like ship and package things, having to bump things to different versions. So yeah, it ended up being a really good talk. We talked through that whole process.
Starting point is 00:18:35 And you know when you give a talk and people are in the audience and you know they've had like that kind of experience because they're just sitting there going, Mm-hmm. Right. Yeah, they might even say, mm, out loud too. And then some people, like when I'm showing them, like how to automate this, they're just like, oh, wow, wow, oh, wow.
Starting point is 00:18:54 And I'm just like, okay, the talk's good. The talk's good. Nice. Is this talk going to live anywhere? Are these notes? How do I do this stuff? I'm glad you asked. You could scare my NFT to.
Starting point is 00:19:07 So, yeah, so I was in of room that wasn't live streamed but i'm a bit of a content creator so i recorded the whole thing myself i'll be creating a youtube video out of it okay but i also wrote a blog post on it as well so if you go to the dev.to so the practical dev site. Under my username, Mish Matters, I wrote an article. What did I title it? Why do releases? How to automate the release process or something around that, which is essentially my entire talk. A very catchy title.
Starting point is 00:19:36 Yeah, yeah. And the big thing is a big ship with Ship It on the top. We love Ship It. Ship It. We love Ship It around here. So that blog post is essentially my entire talk distilled down
Starting point is 00:19:48 into words and also links out to other tutorials and videos I've done. And then you can also go to my GitHub repository, github.com slash mishmanners and go to my talks and presentations. There's a one there for this conference all things open and it's got a list
Starting point is 00:20:04 of all the links and references and everything I used in my talk, including that blog post. Thorough. Very thorough. Very thorough. Appreciate that. Medium. Multilocation. She's a bit of a content creator.
Starting point is 00:20:16 She's a step ahead. I learned that one from B. Dougie, who runs open source. He used to be my boss. He's the Beyonce of open source, I hear. Yeah, he's the Beyonce of open source. He used to be my boss. He's awesome. He is awesome, I hear. Yeah, he's the Beyonce of open source. He used to be my boss. He's awesome. He is awesome.
Starting point is 00:20:27 There he is right there. Shout out to B-Doggy. Shout out to B-Doggy. He literally just shouted you out on this podcast. Right here. And he just happens to be standing right next to me. Well, Mish, thanks so much for coming on the show. We appreciate it, guys.
Starting point is 00:20:40 Thanks so much for having me. Awesome. I do actually, I've been trying to track him down. There he is. Thank you for that. How do I do actually, I've been trying to track him down. There he is. Thank you for that. How do I get this? Well, you've got to draft. Do you have a chip?
Starting point is 00:20:52 QR code.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.