Changelog News
Developer news worth your attention
Hello friends! š
Itās hard to believe our little podcast+newsletter combo goes 64-bit with todayās edition! This reminds me of the greatest N64 game in the āVerse:
GoldenEye 007 (change my mind)
Itās also hard to believe that our JS Party pod is creeping up on its 300th episode! This reminds me that weāre accepting listener text & voice messages to compile a āBest of the festā episode:
Submit yours (get a free t-shirt)
Ok, letās get into the news.
š¦ InfluxDB officially made the switch from Go to Rust
A watchful Redditor posts to /r/rust:
Looks like influxdb flipped the switch, deleted all the Go code, and is 99.5% Rust now!
And InfluxDB co-founder/CTO replied with a detailed post on why they made the switch and their multi-year journey to arrive at this milestone. The āwhyā (which Paul calls the normal reasons) include:
- No garbage collector
- Fearless concurrency (thanks Rust compiler)
- Performance
- Error handling
- Crates
And, of course, he felt compelled to answer for The Big Rewrite itself, saying:
I realize people think weāre 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 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 the last rewrite weāll ever need. I definitely donāt have the stamina for another one ;)
š„§ The Raspberry Pi 5 is finally here
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 PCIe 2.0.
A nice upgrade from the 4, notably includes a a component made by the Raspberry Pi Foundation for the first time: the southbridge. They call this āa step change in peripheral performance and functionality.ā
The Pi 5 will be available for purchase before the end of this month, starting at $60.
Related: Jeff Geerling answers questions about the Pi 5
š Debugging Errors Faster with Distributed Tracing
Thanks to Sentry for sponsoring Changelog News š°
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?
Join Sentryās 20 minute workshop! Lazar Nikolov & Ben Peven 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 faster.
š¶ Bruno is a local-only Postman alternative
Postman and other API explorer tools are rad, but as I told Abhinav Asthana (founder) 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 (et al), but it stores your collections directly in a folder on your filesystem, using a plain text markup language called āBruā.
You can use git or any version control of your choice to collaborate over your API collections. Bruno is offline-only. There are no plans to add cloud-sync to Bruno, ever.
š¤Ŗ gokrazy is really cool
Xe Iaso on what makes a Linux distribution, why they believe Android isnāt one, and why gokrazy (a Linux implementation written entirely in Go) is really cool:
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 gokrazy install to run additional software, you do so by adding the Go command path to a configuration file and then updating to trigger a reboot into the new versionā¦
This is a very minimal system, and itās all you need to run statically linked Go programs. Itās very easy to deploy your own services to it too. Itās probably the easiest platform I know of that lets you just deploy a Go binary and have it run as a service, automatically restarting when it crashes.
Sounds really cool to me!
šØāš Lessons from years of debugging
This post is 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.
Debugging is programming, and programming is often mostly debugging. One of the most useful skills you can pick up as a developer.
Hereās the first three (of 16) pieces of advice, all of which Iāve parroted on various pods over the years:
- Reproduce with the smallest example. In the simplest environment.
- Read and re-read the error statement. Read the stack trace. Add more logging if you donāt know where the error is thrown.
- Change one thing at a time.
Check the full post for more of Mattās lessons. Hereās one more to remember: Itās almost always your faultā¦
š§ ICYMI: Recent good pods from us
Vibes from Strange Loop ā Weāre taking you to the hallway track of the final Strange Loop conference. First up is AnnMarie Thomas, who gave one of the opening keynotes titled, āPlaying with Engineering.ā We also caught up with many first-time and multi-time attendees who shared their favorite moments from Strange Loop over the years. Youāll hear from Richard Feldman, Colin Dean & Taylor Troesh. Finally, we talk with Pokey Rule. He gave a talk about his project called Cursorlessāa spoken language for structural code editing.
#define: a game of fake definitions ā I gather a group of friends for our first game show experiment on Changelog & Friends! This is a game of obscure jargon, fake definitions & expert tomfoolery. Our contestants checked their imposter syndrome at the door, because they either know what these words mean or they fake it ātil they make their peers think they do.
Reports of Nodeās death are greatly exaggerated ā Amal, KBall & Chris convene a āsemi-emergencyā pod to discuss the recent (deserved) hype over Bun and what it all means for Nodeās community, maintainers & users. Theyāre joined by Node team members Matteo Collina & James Snell who are here to dispel Bun antagonism rumors, discuss the pros & cons of each runtime, explain how Node continues to thrive & even announce a VERY big upcoming feature!
Zero Trust & Go ā Michael Quiqley from NetFoundry joins Natalie to discuss Zero Trust concepts, why they are important for secure systems & how to implement them in Go.
š¤ Open Source does not win by being cheaper
Anh-Tho Chuong from Lago on the āThis product is X, but open sourceā trend:
Iāll admit itāIāve done the same when describing Lago. When Iām not in the āstartup pitchā mood, I default to, āWeāre Stripe Billing, but open sourceā. Or my co-founder might say, āWeāre like an open-source Chargebee.ā Frankly, it gets the job done.
Of course, if thatās all there was to us, we would have failed by now. What weāve learned is that open-source tools canāt rely on being an open-source alternative to an already successful business. A developer canāt just imitate a product, tag on an MIT license, and call it a day. As awesome as open source is, in a vacuum, itās not enough to succeed.
How does an open source project (backed by a business) succeed, then? Anh-Tho makes her case for three ways that open source can win:
- by solving a transparency problem
- by solving an extensibility problem
- by being better
š„ A cross-platform Redis desktop manager
Tiny RDM is a lightweight Redis app for Mac, Windows, and Linux. Built with Go and Wails .
š» Lost in the network
Have you ever wondered what happens behind the scenes when you send an HTTP request? How do the bits know where to go when you ping someone on the local network? Today, Nagy KrisztiƔn tries to find answers to such questions.
From the physical layer all the way up to the application layer, Nagy gives us a glimpse of what happens āunderneathā us when we use the internet, at least as far as the router.
Whatās beyond thatā¦ is a world of its own, with things like DSL, SDH, PPP, MPLS, BGP, OSPF, and a bunch of other acronyms I donāt even know about. And yet, in most cases, our packets get to the right recipients. What is this if not magic?
š Video of the week
Admittedly, this is slightly on the juvenile sideā¦ but we had such a blast with Rich Harris on JS Party that I just had to share one of the fun moments with you:
šøļø Web dev roundup
- Modernizr: Andy Bell updates his CSS reset from ~4 years ago and explains the āwhyā behind each rule
- Explainr: Josh Collinsworth on classic rock, Mario Kart & Tailwind CSS. Itāll make sense, I promise
- Expandr: Chris Coyier documents CSSā solution for auto-expanding textareas
- Matchr: Aiden Baiās experimental TypeScript library for zero-runtime pattern matching
- Minumizr: An obsessively minimal Java web framework in ~3800 lines of code
Thatās the news for now, but we have some great pods coming up this week:
- Wednesday: Daniel Thompson from Tauri on The Changelog
- Thursday: Jarred Sumner from Bun on JS Party
- Friday: Mat Ryer returns on Changelog & Friends
Have a great week, tell your friends about Changelog News if you dig it, and Iāll talk to you again real soon. š
āJerod