Meta's releases Code Llama, now offers a 100-year plan, examples are sticky & the case for Rust on the web

Changelog News

Developer news worth your attention

Hello, friends! 👋

Ever wonder what would happen if an exceptionally nerdy podcast like ours was suddenly listened to by a mainstream audience?!

Wonder no more: this clip from Practical AI #232 struck a nerve on Instagram and has been viewed 5.8 million (!) times so far, reaching far beyond our core audience of software devs and technologists. Needless to say the comments section is… interesting. 😳

Ok, let’s get into the news. (Audio Edition)

🍴 OpenTF is forking Terraform

When we covered the OpenTF Manifesto last week, I wrote:

The group’s goal is to ensure Terraform stays truly open source forever and they’re asking HashiCorp to switch the license back.

According to OpenTF, there has been no indication by HashiCorp that they plan to revert the license, so they moved forward with the fork and they’ve filled out all the paperwork necessary to join the Linux Foundation.

We completed all documents required for OpenTF to become part of the Linux Foundation with the end goal of having OpenTF as part of the Cloud Native Computing Foundation. By making a foundation responsible for the project, we will ensure the tool stays truly open-source and vendor-neutral.

To me, this is the open source community doing what it does best: stepping up and taking action to fill a void for (and by) the community that relies upon a project.

If you’re wondering about the sustainability story of this fork… here’s a note from the FAQ:

So far, four companies pledged the equivalent of 14 full-time engineers (FTEs) to the OpenTF initiative. We expect this number to at least double in the following few weeks. To give you some perspective, Terraform was effectively maintained by about 5 FTEs from HashiCorp in the last 2 years. If you don’t believe us, look at their repository.

🦙 Meta gets in on the LLM-for-coding game

Add Code Llama to your list of code generating LLMs. Based on Llama 2, Code Llama comes in three sizes (7B, 13B, 34B) and in three varieties (general, NLP instructions, Python). Meta claims it out-performs other publicly available LLMs and it will share the same open(ish) license as Llama itself, which is free for research and commercial use (unless you compete with Meta).

🗓️ Getting started with Sentry Cron Monitoring

Thanks to Sentry for sponsoring this week’s Changelog News 💰

Scheduled jobs are supposed to be predictable, but sometimes, predictable != reliable. Sentry Cron Monitoring (Beta) helps you monitor the uptime and performance of any scheduled or recurring job in Sentry.

Whether you’re running your recurring jobs using Python, PHP, Node, .NET, Ruby or another SDK, this 20 minute webinar will show you how to get started with Crons. They’ll cover: Getting started using a demo app, effectively customizing your monitors, automatically registering monitors through Celerybeat and Vercel, Notifications and triaging, tracking job performance & tracing failed check-ins to errors.

Sign up for FREE and learn how to get started and manage your recurring/scheduled jobs with Crons!

🌏 offers 100-year plan

Matt Mullenweg is a long-term thinker:

For almost 20 years, has been committed to providing a user-friendly and stable platform where anyone with a story to tell can do so freely and securely. Many of our customers have been with us from the beginning, and we’re proud to have been a partner in their digital journeys.

Now, we’re thrilled to announce something truly new and exceptional: a plan designed exclusively for those seeking the ultimate in security
and longevity for their digital presence.

The plan locks in your domain name, ensures backups run, provides facilities for gifting & transfer of ownership, and offers premium support for for the duration of the 100 years.

🧲 Default behavior sticks (and so do examples)

Paul Gichuki from Thinkst recently bumped into something in their product design that made them rethink their use of examples. In a DNS configuration setting, they used someprefix as a default subdomain, which was meant to instruct their users to pick a prefix for the subdomain. Can you guess what happened next? Two in five people “chose” someprefix for their subdomain. 🤦‍♂️

Here’s what they learned through the process:

To be sure, this is not an individual customer problem. Looking at other configuration options present in our UI, the pattern is clear. When given an example, a significant number of users default to using that same example in their customisation. The behaviour is consistent across customers and configurations. This surprised us!

For this particular case, their plan is to show multiple prefix examples to the user so it’s clear that you need to select one. The big takeaway, though:

The outsized impact what seemed like a very minor placeholder choice made years ago helped us reevaluate how we select the examples we show customers. It’s a strong reminder about sweating every small detail in the UI; we were surprised at the oversized effect of our examples.

🕸️ The case for Rust on the web

Marco Otte-Witte and his team at Mainmatter have been investing heavily in Rust for web development and in this post he shares why they’re so confident making that investment and why he believes “Rust has a great future ahead of it in the web and cloud space.”

What could motivate a team that already uses Ruby, Java, Elixir, TypeScript, Go, or whatever else, to adopt Rust? There are two key aspects that make Rust a great choice for building for the web:

  • its efficiency and performance
  • the reliability and maintainability gains brought by its type system

He explains each of those bullet points in detail and goes on to describe how & where Rust fits best in the web world.

🧰 Tools for the ol’ toolbox

  • Effect: a powerful TypeScript library designed to help developers easily create complex, synchronous, and asynchronous programs
  • Privaxy: a MITM-based HTTP(s) proxy for blocking ads & trackers that’s “way more capable than DNS-based blockers”
  • Prettymapp: a web app and Python package to create beautiful maps from OpenStreetMap data
  • OpenCopilot: a tool for easily adding an “AI copilot” to your SaaS product
  • Graphweaver: turn multiple data sources into a single GraphQL API
  • Jacobin: a dependency-free Go implementation of the JVM spec for Java 17

😎 Meme break!

I call this one: “Emphasis Added” (plz send help)

Emphasis Added

🧫 Slack’s migration to a cellular architecture

Cellular architectures have been around for a little while, but this excellent write-up by Cooper Bethea at Slack strikes me as potentially the spark that’ll light the fire that’ll burn the First Order Microservice Architecture down. Because what’s smaller than microservices? Cells! Ok I’m being a bit cheeky here, but before you get all excited about the (admittedly impressive) infrastructure migration the Slack team pulled off, remember this critical qualifying phrase from the intro:

for large online services as a way to increase redundancy and limit the blast radius of site failures

💦 “Waterfall” doesn’t mean what you think it means

Go Time panelist Kris Brandow expands on his Unpopular Opinion that the software development methodology described in the waterfall paper is “far superior to anything that we’re doing today.” He provides the background for how he arrived at that conclusion, adds some suggestions for improving your software development process, and includes a bonus Unpopular Opinion at the end.

🦥 When I have a slower publishing cadence my blog grows faster

Henrik Karlsson was blogging in tune to the same advice that many of us have heard:

publish frequently and not overthink any single piece. The logic was this: the outcome for blog posts is a heavy-tailed statistical distribution—most pieces will be read by barely anyone, but a small subset of outliers will do hundreds if not thousands of times better than average.

But when he started blogging out of tune with that conventional wisdom, he noticed something:

Each time I’ve given in to my impulse to “optimize” a piece it has performed massively better (in terms of how much it’s been read, how many subscribers it’s generated, and, most importantly, the number of interesting people brought into my world)

In his (admittedly small) sampling across 37 blog posts, Henrik found that if he spends twice as long working on a piece, it does an average of four times better.

🎧 ICYMI: Recent good pods from us

The serenity of building your own OS – Adam and I talk to Andreas Kling about SerenityOS and Ladybird. Andreas started SerenityOS as a means of therapy. It’s self-described as a love letter to “‘90s user interfaces with a custom Unix-like core.” We get into the details of compilers, OSs, browsers, web specifications, and the love of making software.

Ten years of TypeScript bliss – Nick Nisi celebrates a decade of writing everyone’s favorite language with guest Josh Goldberg, who contributes to TypeScript, maintains typescript-eslint, and is an all-around great person! I also join the show, but mostly to troll Nick all along the way…

The new AI app stack – Recently a16z released a diagram showing the “Emerging Architectures for LLM Applications.” In this Practical AI episode, Chris & Daniel expand on things covered in that diagram to a more general mental model for the new AI app stack. We cover a variety of things from model “middleware” for caching and control to app orchestration.

That’s the news for now!

This week on The ChangelogAdam sits down with Warp founder Zach Lloyd to talk all about the terminal of the future.

Have a great week, tell your friends about Changelog News if you dig it, and I’ll talk to you again real soon. 💚