The Changelog: Software Development, Open Source - InfluxDB drops Go for Rust but gokrazy is really cool (News)

Episode Date: October 2, 2023

InfluxDB finishes a multi-year rewrite in Rust, the Raspberry Pi 5 will be on sale by the end of the month, the Bruno team builds an open source API explorer that's local-first and will never have a c...loud, Xe Iaso thinks gokrazy is really cool & Matt Rickard shares lessons from years of debugging.

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, October 2nd, 2023. It's hard to believe, but this little podcast plus newsletter combo goes 64-bit with today's 64th episode. This reminds me of the greatest Nintendo 64 game of all times, Goldeneye 007. It's also hard to believe that our JS Party pod is creeping up on its 300th episode.
Starting point is 00:00:38 This reminds me that we're accepting listener text and voice messages to compile a best of the fest episode. Submit yours at jsparty.fm slash 300 and get yourself a free t-shirt while you're at it. Okay, let's get into the news. An astute Redditor posted to rrust, quote, looks like InfluxDB flipped the switch, deleted all the go code, and is now 99.5% Rust. End quote.
Starting point is 00:01:08 InfluxDB co-founder slash CTO Paul Dix replied with a detailed post on why they made the switch and their multi-year journey to arrive at this milestone. calls the normal reasons include no garbage collector, fearless concurrency thanks to the Rust compiler, performance, error handling, and crates. And of course, he also felt compelled to answer questions about the big rewrite itself, saying, quote, I realize people think we are insane to rewrite the database yet again, but it's one of those things where hindsight is 20-20. If I knew then what I know now, I would have made different choices, but it's one of those things where hindsight is 20-20. If I knew then what I know now, I would have made different choices, but we also didn't have the same tools available in 2013 when we started it. I'm very confident that what we've landed on now is a very solid foundation that we can build on for many years. As long as I'm at Influx, it's going to be
Starting point is 00:02:03 the last rewrite we'll ever need. I definitely don't have the stamina for another one. Wink emoji. Four years since the launch of the Raspberry Pi 4, the Raspberry Pi 5 has arrived with a performance boost and in-house silicon that adds support for PCI 2.0. A nice upgrade from the 4 notably includes a component made by the Raspberry Pi Foundation for the first time, the Southbridge. They call this, quote, a step change in peripheral performance and functionality, end quote. The Pi 5 will be available for purchase before the end of October. It starts at $60 for 4 gigs of RAM, and you can get 8 gigs for $80. You know what time it is. Sponsored news!
Starting point is 00:02:53 Debugging distributed systems can feel like chasing ghosts. When requests fail or slow to a crawl, or are causing an error in another part of your stack, how do you pinpoint the issue when there are dozens of services involved? Well, join Sentry's 20-minute workshop. Lazar Nikolov and Ben Pevin will explore how distributed tracing can help you uncover those elusive bugs and performance problems. You'll learn the nuts and bolts of distributed tracing and how Sentry visualizes requests and operations across your stack so you can find an issue's root cause much faster. This event is 100% free and it's running on Tuesday, October 17th. Follow the link in your show notes to sign up today and get your tracing on.
Starting point is 00:03:33 Thanks to our friends at Sentry for sponsoring Changelog News. Postman, Insomnia, and other API Explorer tools are rad, don't get me wrong. but as I told Postman founder Abhinav Asthana when we had him on the changelog years ago, they lost me when the product started focusing on teams, cloud stuff, collaboration, etc. Bruno is cool because it's a lot like Postman and the others, but it stores your collections directly in a folder on your file system using a plain text markup language called Bru.
Starting point is 00:04:10 Or maybe it's Bru. I don't know. B-R-U. We might have to ask him. The team says, quote, you can use Git or any version control of your choice to collaborate over your API collections. Bruno is offline only.
Starting point is 00:04:23 There are no plans to add Cloud Sync to Bruno, ever. Cool project. Open source, of course. Check it out if you're like me. Love API explorers, but don't need all those fancy cloud features. Okay, so InfluxDB is done with Go, but ZLasso is not. Here they are on what makes a Linux distribution, why they believe Android isn't one, and why GoCrazy, which is a Linux implementation written entirely Go, is really cool. Quote, it boots in literal seconds, uses an insanely small amount of RAM out of the box, and runs with nearly zero overhead. When you configure your GoCrazy install to run additional software,
Starting point is 00:05:03 you do so by adding the Go command path to a configuration file and then updating to trigger End quote. Sounds pretty cool to me. I know of that lets you just deploy a Go binary and have it run as a service, automatically restarting when it crashes. End quote. Sounds pretty cool to me. Last up for this week, a post by Matt Rickard doing what he does best, taking years of hard-earned wisdom gained through experience and distilling it down to an easily digestible list of learnings. Matt says, quote, Debugging is programming, and programming is often mostly debugging, one of the most useful skills you can pick up as a developer. End quote. Here's the first three of his 16 pieces of advice,
Starting point is 00:05:57 all of which I've parroted on various pods over the years. One, reproduce with the smallest example in the simplest environment. Two, read and reread the error statement. Read the stack trace. Add more logging if you don't know where the error is thrown. Three, change one thing at a time. Check the full post for more of Matt's lessons. Here's one more to remember from yours truly. In my experience, it's almost always your code. This is just a humbling, I mean, nine times out of 10. So I mean, sure, the further you get away from your code, the least likely it is to be the where the problem lies. Is it in the Linux kernel? Probably not. Right? Is it in Node.js? Probably not. Now
Starting point is 00:06:42 there are bugs there, there are problems, and there are things that change out from under you. But that's like the one in 10 cases. Like, well, nodes API has a bug in this version. Most of the time, nine times out of 10, if you're looking for the problem, look in your code and then look in the code that's touching your code and then work your way down. Cause I, as a, especially as a young man would like immediately, I was a Ruby on Rails developer and I would like dive into the Rails code base immediately and be like what you know what are they doing wrong this time and it was like always me I was like wait a second talk
Starting point is 00:07:14 about checking your assumptions right so just be humble enough to like start with your own code and stay there for a while even when you can't find it before you decide I'm going to hop into Chrome DevTools and open up the source code for the dev tools. Maybe the dev tools are actually printing this wrong. You know, like that's how strongly I would not let myself be the source of the bug. So it's almost always your fault. That is the news for now, but we have some great pods coming up this week. Daniel Thompson from Toweri is on the changelog on Wednesday. Jared Sumner from Bunn will be on JS Party on Thursday. And Matt Reier returns to changelog and friends on Friday. Have a great week. Tell your friends about the changelog if
Starting point is 00:07:56 you dig it and I'll talk to you again real soon.

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