Charm's new Crush TUI, the Tea app hack disassembled, a Price Per Token monitor, remote ramblings, and more!

Changelog News

Developer news worth your attention

Hello, friend! 👋

Can I ask you a personal question? (whoops, I just did.) When was the last time you had a good cry? There’s evidence that crying can relieve stress for a week.

That’s why Johnny Maroney made a website that makes you cry by showing tear-inducing videos. Go ahead. Click to feel something.

All dried out? Ok, let’s get into the news.


🎧 Solving the AI energy crisis

Greg Osuri, Founder and CEO of Akash Network joins us to share the backstory in his testimony before congress on the energy crisis and what it’s going to take to power the future of AI. From powering datacenters, to solar, decentralized AI compute, to zombies in SF. 🎥 VIDEO

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

😷 The smell of vibe coding

Alex Kondov knows when you’ve been vibe coding. He can smell it.

No one would write an HTTP fetching implementation covering all edge cases when we have a data fetching library in the project that already does that.

No one would implement a bunch of utility functions that we already have in a different module.

No one would change a global configuration when there’s a mechanism to do it on a module level.

No one would write a class when we’re using a functional approach everywhere.

Ultimately, Alex doesn’t care about how the code got in your IDE. He just wants you to care. To care about quality, to care about consistency, to care about the long-term effects of your work. And if you care…

Don’t leave a codebase’s maintainability to the weights of a model.

💘 A glam AI coding agent for your terminal

Our friends at Charm are at it again, this time they’ve built a Go-based AI coding agent as a TUI. Crush is multi-model, so you can choose from a wide range of LLMs (or add your own), it’s flexible, so you can switch LLMs mid-session while preserving context, it’s session-based, so you can maintain multiple work sessions and contexts per project, and it’s extensible, so you can add capabilities via MCPs.

An animated gif of Crush in action in a terminal

🧐 Disassembling the Tea app hack

There’s been a lot of speculation (and joking) that Tea, an app used by women to dish about men on dating apps, was vibe coded because of how epically and easily its data got leaked. Jan Kammerath disassembled the Android app’s binary and concludes, not so:

My assumptions after this initial forensic analysis is that this app was built by a single inexperienced developer, or by a team dictated by a single inexperienced developer. The app was likely not vibe coded as none of the models of the past months would’ve made such obvious mistakes.

Ouch. In other words, vibe coding would have produced better results.

This “hack” should’ve never happened. The “tea app” isn’t AI slop, it’s gross negligence from a, likely single, developer with very little experience that should not have been allowed to publish such an application without supervision. The app didn’t “get hacked”, it willingly published sensitive personally identifyable information to the world.

💰 Observability for your GitHub Actions

Thanks to Depot for sponsoring Changelog News

If you’ve ever stared at a failing GitHub Action wondering what on earth just happened, you’re not alone. CI logs are often a black box, and not the fun kind.

That’s why Depot just launched GitHub Job Details: a new observability layer for your CI/CD pipeline. It lets you zoom in on what each GitHub Actions job is actually doing, real build times, dependency fetches, compute performance, and more. No more guessing. No more click-fests through raw logs.

Your team gets better visibility into bottlenecks, misconfigured jobs, or flaky performance, without rerunning things a dozen times.

It’s observability built for CI, not just another dashboard.

💸 Price Per Token

Is your LLM spending budget on the rise? If so, Alex Ellman has just the website for you. Price Per Token provides up-to-date pricing info for major LLM APIs including OpenAI, Anthropic, Google, and more. It pulls data from OpenRouter.ai and even lets you estimate the cost of executing the same prompt across different models.

In the future, I assume every AI tool will have a smart routing layer up front that dissects our prompts, determines the sweet spot provider of just enough quality at the cheapest possible price, and dynamically routes it on our behalf. In the meantime, tools like this one from Alex could save you a bundle.

💬 If you’re remote, ramble

Steph Ango, of Obsidian fame, makes a suggestion for remote teams of 2-10 people like his:

Create a personal “ramblings” channel for each teammate in your team’s chat app of choice.

Ramblings channels let everyone share what’s on their mind without cluttering group channels. Think of them as personal journals or microblogs inside your team’s chat app, a lightweight way to add ambient social cohesion.

These channels should be at the bottom of the list, muted by default, with no expectation that anybody ever read them. The Obsidian team has found them “surprisingly sticky”

Because they are so free and loose, some of our best ideas emerge from ramblings. They’re often the source of feature ideas, small prototypes, and creative solutions to long-standing problems.


🎙️ SO much to dig into

Adam & I (plus zero other randos) dig into Stack Overflow’s 2025 developer survey results. We discuss SO’s decline, the desire for younger devs to have real chats with real people, the rise of uv and more Python winning, why people are frustrated with AI, and more. 🎥 VIDEO

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

🫨 Most language migrations are hype-driven

Bill Doerrfeld, for LeadDev:

More than 71% of experienced software developers say their language migration decisions were influenced more by industry hype than by proven outcomes.

That’s according to a recent HostingAdvice.com survey of 500 developers who’ve migrated production systems in the past five years.

In an industry that prides itself on being data driven, the findings show that software engineers can be just as susceptible to industry hype and FOMO when it comes to the latest programming languages and frameworks.

One liberating moment in my software career was when I finally realized admitted that most of my choices aren’t data-driven at all. It freed me up for two reasons: 1) I stopped lying to myself about that, and 2) I let go of a bunch of unused data.

🧩 Modern Node.js patterns

Node.js has undergone a remarkable transformation since its early days. If you’ve been writing Node.js for several years, you’ve likely witnessed this evolution firsthand—from the callback-heavy, CommonJS-dominated landscape to today’s clean, standards-based development experience.

The changes aren’t just cosmetic; they represent a fundamental shift in how we approach server-side JavaScript development. Modern Node.js embraces web standards, reduces external dependencies, and provides a more intuitive developer experience. Let’s explore these transformations and understand why they matter for your applications in 2025.

✌️ Typed languages are better for vibe coding

Onur Solmaz:

My >10 year old programming habits have changed since Claude Code launched. Python is less likely to be my go-to language for new projects anymore. I am managing projects in languages I am not fluent in—TypeScript, Rust and Go—and seem to be doing pretty well.

It seems that typed, compiled, etc. languages are better suited for vibecoding, because of the safety guarantees. This is unsurprising in hindsight, but it was counterintuitive because by default I “vibed” projects into existence in Python since forever.


📐 Don’t forget your (un)ordered list


📚 The Developer’s Dictionary

garbage collection (noun) The act or process of collecting trash code before deletion, for posterity or pettiness. Dev1: You gotta see the heaping mess I found in Rob’s codebase. Dev2: Ooh send it to me for my garbage collection!

“I thought they smelled bad on the outside” 😤


That’s the news for now, but we have some great episodes coming up this week! Both of our Denver live shows are shipping. Our interview with Nora Jones on Wednesday and Kaizen 20 with Gergard Lazu on Friday.

Have a great week,
FW: FW: FW: this if you dig it,
and I’ll talk to you again real soon. 💚

–Jerod