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
š± 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:
- 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.
- Self-host as much as possible.
- If self-hosting is not possible, use end-to-end encrypted services whenever possible.
- 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.
- MCPs are Alexa Skills
- MCPs are API 2.0
- MCPs are APIs with Introspection/Reflection
- MCPs are not serverless
- MCPs are not Inherently Secure or Private
- 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
š§ 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
- Magistral | Mistral AI
- Getting past procrastination
- A receipt printer cured my procrastination
- OK, Iām sold on multi-agent LLM systems now
- People prefer pricier Waymo rides to Uber / Lift
- Frequent reauth doesnāt make you more secure
- Armin Ronacherās agentic coding recommendations
- Restoring user agency in a world of locked-down apps
- A Swift package for running Linux containers on macOS
- Walmart and Amazon might issue their own stablecoins
- Shopify adding stablecoins with help from Circle and Stripe
- Add Atlassian to the list of āAgentic AI in your terminalā providers
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