How to thrive in a ChatGPT world, chat is a bad UI for dev tools, are better models better> Reasons not to refactor, nontraditional red teams & more!

Changelog News

Developer news worth your attention

Jerod here! 👋

We’re gearing up to play some Friendly Feud (the new game show on Changelog & Friends that smells an awful lot like our old game show on JS Party) and we need your help! Please take this brand new survey featuring all kinds of geeky questions. It’ll be fun PLUS you might win a Changelog t-shirt for the effort!

Ok, let’s get into the news.


🎧 Build software that lasts!

After 30+ years in the software industry, Bert Hubert has experienced a lot. He founded PowerDNS, published articles for places like IETF / IEEE, and built his own parliament monitoring system. That just scratches the surface.

Recently, Bert wrote about what it takes to build software for the long term. Let’s dig in. VIDEO

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

🤦‍♂️ Tech is supposed to make our lives easier

With Super Bowl LIX approaching, Bill Maher dropped a “New Rule” segment excoriating the software industry and our relentless pursuit of change for change’s sake. What does that have to do with the Super Bowl?

Enjoy the Super Bowl this weekend while you can because it’s probably one of the last ones to be shown on broadcast TV, which is a shame because streaming is ruining football and that’s Taylor Swift’s job.

Maher launches into a curse-laden tirade on what he calls Reverse Improvement (RI). The term is self-documenting, but he defines it anyway: “Making an upgrade to a popular product that nobody wants, needs or likes.” Examples follow:

When I get a notice that my phone needs an update it’s like getting a jury duty summons. I just had one in my phone and now (for absolutely no reason or any sense of improvement) the process of seeing all my pictures: going to different albums, adding to albums, all of it; it’s all different. So I have to relearn it, and now when I’m in an album all the photos in that album float by in a slideshow at the top. I didn’t ask for that I don’t want it and I don’t and I don’t want to have to go on a g** d*** expedition to find out how to turn it off!

The subjects of his ire, Silicon Valley nerds, of course:

You like over engineering stuff but don’t tell yourselves you’re making anyone’s life better. No one ever looked at a car and said, “If only the doors didn’t have handles… What an improvement!”

He goes on, of course. (The entire 8:44 is worth your time.)

Hopefully this serves as a good reminder that our aim aas software developers should always be on improvement, not merely change. If the technologies we invent don’t actually make people’s lives easier, what are we even doing?

🤖 How to thrive in a ChatGPT world

Two professors from the University of Washington put together a curriculum to help us manage the (already here, but not evenly distributed) new world where AI systems “saturate our information environment with bullshit at a scale we’ve never before encountered.”

For better or for worse, LLMs are here to stay. We all read content that they produce online, most of us interact with LLM chatbots, and many of us use them to produce content of our own.

In a series of five- to ten-minute lessons, we will explain what these machines are, how they work, and how to thrive in a world where they are everywhere.

💬 Chat is a bad UI pattern for dev tools

Daniel Delaney thinks deeply on a subject I’ve been pondering of late: the ideal language for specifying software requirements that meets the correct middle between humans and computers. Is it English? Is it Golang? Is it somewhere in between?

AI was supposed to change everything. Finally, plain English could be a programming language—one everyone already knows. No syntax. No rules. Just say what you want.

The first wave of AI coding tools squandered this opportunity. They make flashy demos but produce garbage software. People call them “great for prototyping,” which means “don’t use this for anything real.”

I don’t have a solution to this problem yet, but Daniel and I agree on one thing: chat ain’t it:

Current AI tools pretend writing software is like having a conversation. It’s not. It’s like writing laws. You’re using English, but you’re defining terms, establishing rules, and managing complex interactions between everything you’ve said.

This is the core problem. You can’t build real software without being precise about what you want. Every successful programming tool in history reflects this truth. AI briefly fooled us into thinking we could just chat our way to working software.

We can’t. You don’t program by chatting. You program by writing documents.

💰 Six predictions for AI in 2025

Thanks to Augment Code for sponsoring Changelog News

“The rise of specialty models is coming”, according to Augment Code CEO, Scott Dietzen.

He says:

With DeepSeek and open source AIs closing the gap, concerns raised about LLM commoditization, advances in LLM reasoning, and questions about the future of the scaling laws… 2025 is shaping up to be a tumultuous year in AI. And it’s only February 😉.

Scott has some interesting takes from the front lines of AI tooling. His third prediction in the list of six is one you’re likely to appreciate: Coding AIs increase demand for software engineers

Check out the entire list of predictions and what the Augment Code team is doing about it at augmentcode.com

🧐 Are better models better?

Benedict Evans:

Every week there’s a better AI model that gives better answers. But a lot of questions don’t have better answers, only ‘right’ answers, and these models can’t do that. So what does ‘better’ mean, how do we manage these things, and should we change what we expect from computers?

Benedict’s exploration into this topic is insightful and enlightening, comparing our plight with generative AI’s inability to be always correct with the original iPod’s inability to withstand being dropped on the ground. The common thread: shifting expectations.

After 50 years of consumer computing, we have been trained to expect computers to be ‘right’ - to be predictable, deterministic systems… But if you flip that expectation, what do you get in return?

⛔️ Reasons not to refactor

I’m a big fan of refactoring. So much so that in many aspects of life I stop to ask myself, “how can I refactor this?”

But refactoring is not ALWAYS a good idea and our friends at Thoughtbot took some time to write down six cases when you actually shouldn’t refactor a thing. I’ll let you click through for the full list, but the first one is super important and easy to fall pray to, so I’ll include it here for all to note: sometimes you only think you’re refactoring…

Many people use the word “refactoring” incorrectly. If we’re embarking on a change that is not really refactoring (for example looking at a bug or an adjustment after a third party change), we can’t fix it with refactoring.

What to do instead: we need to think and talk about it differently from refactoring. We can stop and consider how the system will change (from what to what) and raise it with teammates to discuss why it matters, what action to take, and when.


🎙️ The state of homelab tech (2025)

Techno Tim joins Adam to catch up on the state of Homelab for 2025, the state of AI at home and on-prem (AI Homelab) and where that’s heading, building a creator PC, choosing the parts for your build, GPU availability, Windows being user hostile, and why Tim is happy to be using Windows, Mac AND Linux. VIDEO

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

🙄 Oracle justified its JS trademark with Node.js

Ryan Dahl, who has been working way too hard to free “JavaScript” from Oracle’s ossified clutches:

Yesterday, Oracle filed a motion to dismiss in response to Deno’s petition to cancel its “JavaScript” trademark. But instead of addressing the real issue—that JavaScript is an open standard with multiple independent implementations—Oracle is trying to stall the process and sidestep accountability.

I can’t believe they actually submitted a screenshot of the Node.js website –an MIT-licensed project that Ryan created!– as proof of trademark use. I guess “highly-paid lawyers” !== “highly-competent lawyers” after all…

☎️ Non-traditional red teams

Zach Holman shares a few other concepts of a red team (traditionally, a specific group of people chosen to be the antagonist to your system). He says unleashing “someone with an ad blocker”, “someone with a password manager”, and “someone to look for d___s” will help your make your product better too.

💰 Building a SQL GUI in Retool

Thanks to Retool for sponsoring Changelog News

Whether you’re an “S-Q-L” or “sequel” person, you know it’s one of the most potent languages at your disposal. SQL, or Structured Query Language, allows developers to query, manipulate, and manage relational databases. It enables them to extract valuable insights from vast amounts of structured data and build robust data-driven applications.

With this post, you’ll learn how to use Retool to create an intuitive graphical user interface (GUI) that allows users to interact with databases using SQL without writing custom apps.

😵 We are destroying software

Redis creator, Antirez, who will be on the show in the coming weeks, penned a (somewhat ranty) post about fourteen ways he thinks we’re destroying software. Number seven will shock you! Just kidding, it’s:

We are destroying software by jumping on every new language, paradigm, and framework.


📐 Don’t forget your (un)ordered list


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

  • Wednesday: Arun Gupta on fostering open source culture
  • Friday: Jimmy Miller returns to talk discovery coding

Oh, and don’t forget to take our Friendly Feud survey! Have a great week, forward this to a friend who might dig it & I’ll talk to you again real soon. 💚

–Jerod