Don't guess my language, software talent is gold right now, the end of o11y, Multigres is Vitess for Postgres, and more

Changelog News

Developer news worth your attention

Jerod here! šŸ‘‹

Did you feel that Google Cloud outage last week?

Turns out this was another instance of Tony Hoare’s classic ā€œbillion dollar mistakeā€ mixed with (the also classic) ā€œdistributed systems are hard.ā€ The outage began when blank fields in a new service policy replicated a null pointer induced crash loop almost instantly across their global fleet of servers.

Props to Google for their transparent post-mortem and props to the SRE team that triaged the issue starting just 2 minutes after the null pointer rolled out.

Ok, let’s get into this week’s news.


šŸŽ§ The Roc programming language

I chat with Richard Feldman about Roc – his fast, friendly, functional language inspired by Richard’s love of Elm. Roc takes many of Elm’s ideas beyond the frontend and introduces some great ideas of its own. Get ready to learn about static dispatch, platforms vs applications, opportunistic mutation, purity inference, and a whole lot more. šŸŽ„ VIDEO

Art for the episode: Smiling faces. Title text. That kind of stuff.

😱 Stop uploading your data to Google

A few years ago, Lukas Mathis realized that losing access to his Google account would have been devastating.

I had photos and emails dating back to the mid-90s on my Google account. I had auto-upload enabled on my phone’s Google Photos account. What are the chances that one of these hundreds of thousands of pieces of data would trigger some automatic action at some point? What are the chances that I could get in touch with somebody who could fix this for me?

Those are good questions to ask and he isn’t merely being paranoid. There are instances of this actually happening to real people and it’s never you until it’s you and then it’s too late. Lukas set some rules for himself:

  1. Do not upload any data to Google. My Google account is too important to risk it. Now, no services are tied to it, except for those that must be tied to it.
  2. Self-host as much as possible.
  3. If self-hosting is not possible, use end-to-end encrypted services whenever possible.
  4. Use one service for one thing, so that when it gets disabled, only that one thing is affected.

Click through for his suggested replacement services.

🤐 Don’t guess my language

Robert Vitonsky:

If you’re still using IP geolocation to decide what language to show, stop screwing around. It’s a broken assumption dressed up as a feature.

IP tells you where the request comes from, that’s it. It doesn’t tell you what language the user wants, speaks, or even understands. It fails all the time — VPNs, travel, people living abroad, countries with multiple official languages. This isn’t cleverness, it gives outright annoyance.

I have to agree with him. That’s why the ā€œAccept-Languageā€ header exists, which Robert advocates for in this post. It lets your user agent send your preferred language to the server, no guessing required!

That’s your signal, use it. It’s accurate, it’s free, it’s already there, no licensing, no guesswork, no maintenance.

You don’t override screen resolution or color scheme with your own guess — so why do it with language?

šŸ† Software talent is gold right now

Tom (from GameTorch) wrote us a good reminder about how amazingly privileged we are as software developers, despite the not-so-great job market rn:

If you have software engineering skills right now, you can take any really annoying problem that you know could be automated but is too painful to even start, you can type up a few paragraphs in your favorite human text editor to describe your problem in a well-defined way, and then paste that shit into Cursor with o3 MAX pulled up and it will one shot the automation script in about 3 minutes. This gives you superpowers.

I’m not just a technical founder. Now, I’m also an entire marketing department. That’s pretty cool. What can you do? I bet you can do a lot!

I take for granted just how much tedium I’ve automated away that non-software people just live with. AI agents bring this ability to many more people, which is awesome, but they also make we software people able to do so much more with so much less effort. I can do a lot! And you can do a lot too. Let’s do cool stuff.

šŸ’° What are MCP servers?

Thanks to Fly.io for sponsoring Changelog News

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

That paragraph, to Sam Ruby, is both comforting (ā€œUSB for LLMā€? Cool! Got it!), and simultaneously vacuous (Um, but what do I actually do with this?). Feel the same? Then Sam has just the blog post for you! He’s been digging deeper and come up with a few analogies and comparisons that might help you make sense of it.

  1. MCPs are Alexa Skills
  2. MCPs are API 2.0
  3. MCPs are APIs with Introspection/Reflection
  4. MCPs are not serverless
  5. MCPs are not Inherently Secure or Private
  6. MCPs should be considered family

If those six bullet points catch your interest, click on through to the other side and see what else Sam has to say. Oh, and check out Fly.io while you’re there. You might love it (like we do).

šŸ”­ The end of observability as we know it

Surprise, surprise. LLMs are upending the observability industry, too. Austin Parker from Honeycomb does a solid job laying out the history and how it’s all going to change from here:

In a really broad sense, the history of observability tools over the past couple of decades have been about a pretty simple concept: how do we make terabytes of heterogeneous telemetry data comprehensible to human beings? We’ve seen different companies tackle this in different ways for technology like Ruby on Rails, AWS, Kubernetes, and now OpenTelemetry…

In AI, I see the death of this paradigm. It’s already real, it’s already here, and it’s going to fundamentally change the way we approach systems design and operation in the future.

Austin goes on to describe how Honeycomb’s favorite demo for Honeycomb’s favorite feature has been utterly disrupted by agentic AI:

I ran a single prompt through an AI agent that read as follows: Please investigate the odd latency spikes in the frontend service that happen every four hours or so, and tell me why they’re happening.

It took 80 seconds, made eight tool calls, and not only did it tell me why those spikes happened, it figured it out in a pretty similar manner to how we’d tell you to do it with BubbleUp.

This isn’t a contrived example. I basically asked the agent the same question we’d ask you in a demo, and the agent figured it out with no additional prompts, training, or guidance. It effectively zero-shot a real-world scenario.

And it did it for sixty cents.

Wowza!

🐘 Multigres is Vitess for Postgres

Supabase landed an epic hire, bringing Vitess co-creator, Sugu Sougoumarane, on to lead their effort on a Vitess adaptation for Postgres. Here’s what Sugu had to say about it:

For some time, I’ve been considering a Vitess adaptation for Postgres, and this feeling had been gradually intensifying. The recent explosion in the popularity of Postgres has fueled this into a full-blown obsession. As these databases grow, users are going to face a hard limit once they max out the biggest available machine.

The project to address this problem must begin now, and I’m convinced that Vitess provides the most promising foundation. After exploring various environments, I found the best fit with Supabase. I’m grateful for how they welcomed me. Furthermore, their open-source mindset and fully remote work culture resonated with me.

Multigres will be open source (Apache 2) and they’re assembling a team to build it. If you’re a Go programmer, consider applying.


šŸŽ™ļø Saltiness about frostiness

Justin Searls joins me in Apple’s WWDC wake for hot takes about frosty UIs. We go (almost) point-by-point through the keynote, dissecting and reacting along the way. Concentricity! šŸŽ„ VIDEO

Art for the episode: Smiling faces. Title text. That kind of stuff.

🧐 A look back 8 years after left-pad

Azer KoƧulu has avoided the subject of the left-pad incident for a long time, but he’s now in a good place to share his thoughts and exactly what happened.

In most of 2016, I spent almost every weekend camping in remote areas without any signal. If you’re curious how I felt when making the decision to unpublish; it was a choice made during self-reflection in nature.

Not driven by logic, anger, or greed.
It was a decision guided by my heart.

Most of us remember the wake-up call that left-pad’s disappearance (and Azer’s other 350+ packages) gave us, but few of us remember the details of why it all happened. I’m glad Azer wrote this.


šŸ“ Don’t forget your (un)ordered list


That’s the news for now, but we have some great episodes coming up this week:

  • Wednesday: Carson Gross from HTMX
  • Friday: Adam and Jerod and ā€œnilā€ other rando

Have a great week, forward this to a friend who might dig it & I’ll talk to you again real soon. šŸ’š

–Jerod