Ghost Engineers, Electrobun is a fresh take on Electron, handling cookies is a minefield, a career ending mistake & more

Changelog News

Developer news worth being thankful for

It’s Jerod! 👋

Who would’ve thought that Ben Affleck’s take on AI replacing Hollywood actors would so well represent my take on AI replacing software engineers…

AI can write you excellent imitative verse that sounds Elizabethan. It cannot write you Shakespeare. The function of having actors in a room and the taste to discern and construct that is something that currently entirely eludes AI’s capability and I think will for a meaningful period of time…

Well said, Ben. Ok, let’s get into the news.


🎧 Local-first, y/n?

Our friends Johannes Schlickling & James Long join us to discuss the movement of local-first, its pros and cons, the tradeoffs, and the path to the warming waters of mostly local apps.

Art for the episode: podcast art on the left, episode title on the right, avatars in the middle, runtime on the bottom.

🫥 Busting the ghost engineers (0.1x-ers)

From Ghost Jobs to Ghost Engineers. Is our industry haunted? Here’s Stanford researcher, Yegor Denisov-Blanch:

I’m at Stanford and I research software engineering productivity. We have data on the performance of >50k engineers from 100s of companies. ~9.5% of software engineers do virtually nothing. How do we know 9.5% of software engineers are Ghosts?

Our model quantifies productivity by analyzing source code from private Git repos, simulating a panel of 10 experts evaluating each commit across multiple dimensions.

We’ve published a paper on this and have more on the way…

Turns out, the news gets worse the further away from the office you get:

  • Remote work: 14% ghosts
  • Hybrid work: 9% ghosts
  • In office work: 6% ghosts

Maybe studies like this one are helping inform many orgs’ RTO policies? Fascinating stuff. Check Yegor’s full thread for more findings.

🐇 Electrobun is a fresh take on Electron

This ambitious (but just getting started) project “aims to be a complete solution-in-a-box for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript.”

It uses Bun to execute the main process and has native OS bindings written in Zig. The end result is small app bundles (~12MB), even smaller app updates (using bsdiff) & everything you need in one tightly integrated workflow. But!

Electrobun is in the very early stages. We currently only support development on arm macs, it has memory leaks, has no tests, it’s not available in npm yet, and many core things are still missing.

If this is attractive to you, now is a good time to star the repo for later or hop in and start contributing.

🍪 Handling cookies is a minefield

April King opens this deep-dive with an all-too-familiar phrase…

I had been more than content to ignore the vagaries of how cookies function until the end of time, except that one day I stumbled across this innocuous piece of Javascript

You probably want the meat of her post, too, but I’ll jump to the end for the why this matters part:

When I first discovered this in the real world, it was only through sheer luck that it wasn’t a catastrophe. A manual tester was playing around with a third-party library update and had run into a strange set of errors on our testing site. Without bringing it to my attention, this update — doing something unlikely to be caught in automated testing — would have certainly been pushed to production. As a result, every future website visitor would have received a broken cookie and been locked out with an inscrutable error until the update was reverted and the cookies were cleared out.

And that’s exactly the problem with this specification ambiguity — it’s such an easy mistake to make that millions of websites and companies are only an intern away from a complete meltdown. And it doesn’t only affect tiny websites on obscure frameworks, as major websites such as Facebook, Netflix, WhatsApp, and Apple are affected.

One enduring quality of our software systems: it is far too easy to unknowingly make catastrophic mistakes! When will we learn?

💰 Not your grandma’s SQLite

Thanks to Fly.io for sponsoring Changelog News

Another awesome video from our friend Annie Sexton on Fly’s YouTube channel!

It’s entirely possible to have strong disaster recover AND distributed replicas with SQLite when using Litestream and LiteFS. In this video I chat with Litestream and LiteFS creator Ben Johnson about how this can be done.

YouTube thumbnail for the video: Annie Sexton and Ben Johnson’s faces with the text “SQLite is rad, actually”

😭 A career ending mistake

John Arundel says when it comes to this post: you came for the schadenfreude, but you’ll stay for the thought-provoking advice.

This isn’t about the time I inadvertently shut down one of Britain’s nuclear power stations, an entirely true story for which the world is nevertheless not yet prepared. Nor is it about the poor junior developer who accidentally destroyed the production database on their first day (they’ll be fine, bless them).

Instead, I want to talk about another kind of career ending mistake, one that affects more than just the unlucky few. Indeed, it’s a mistake we’re probably all making right now. And that’s not planning the end of our careers.

Kudos to John on the excellent word-play there. The career ending mistake is not planning the end of our careers. Got it! Now, what exactly does it mean to plan the end of your career? He describes that by answering questions like:

Where will you be when you realise that this is where you’ve always wanted to be? Where do you want to end up? And is that where you’re currently heading? If not, what should you do about it?

🕺 It’s a coding Font Off!

Do you remember in Ben Stiller’s (classic comedy) Zoolander when Derek and Hansel (so hot right now) wanted to determine who was rally the hottest male model? The only way to know that truth was a Walk Off… Replace Zoolander with Source Code Pro and Hansel with Fira Code and you immediately get the point of Typogram’s CodingFont.com.

Our conversation with the Departure Mono folks have me re-evaluating my coding font and this site’s blind taste test game was the perfect tool to pick my new coding font (JetBrains Mono btw) for the next few weeks.


🎙️ Two tickets for Departure, please

We’re joined by a dynamic duo, Helena Zhang & Tobias Fried, who team up on all sorts of digital passion projects. This includes the wildly popular Phosphor Icons plus their latest joint, Departure Mono, a monospaced pixel font with a lo-fi technical vibe… that both Adam & Jerod are pretty much in love with. We discuss their tastes & inspirations, how they collab, making money on passion projects like these, velvet ropes & so much more.

Art for the episode: podcast art on the left, episode title on the right, avatars in the middle, runtime on the bottom.

🕹️ A Marble Madness-inspired WebGL game

Netlify recently reached 5 million devs on their platform (congrats)! To celebrate, they commissioned this very cool Marble Madness game that’s silky smooth and a lot of fun, much like the original. Now, the game is a glorified ad for Netlify, but it’s a good ad and one where you can even play a mini-game as you go: try avoiding the glowing white dots along the path. Here’s how they built it.

🦋 This website is hosted on Bluesky

Well, not the site we linked to above, but the site discussed (and linked to) in the site we linked to above. Is that confusing? Anywho… Daniel Mangum has been up to shenanigans with the AT Protocol that underpins Bluesky.

Note: I communicated with the Bluesky team prior to the publishing of this post. While the functionality described is not the intended use of the application, it is known behavior and does not constitue a vulnerability disclosure process. My main motivation for reaching out to them was because I like the folks and don’t want to make their lives harder.

💰 Bringing Postgres into the AI era

Thanks to Timescale for sponsoring Changelog News

October marked a landmark shift for Timescale — they transformed Postgres into a full AI development platform, modernized its GUI with AI, and enhanced usability and performance for real-time analytics. This post shares this update and how these new tools can help you build faster, smarter, and with fewer obstacles.

  • Pgai Vectorizer let’s you automate AI embeddings with one SQL command in Postgres
  • SQL Assistant gives you an AI companion so you can code faster and smarter
  • Foreign Data Wrappers connect distributed data without extra steps
  • Chunk Size Recommendations helps you optimize for performance
  • Open access to powerful tools for every developer — explore their open-source work on GitHub

📐 Don’t forget your (un)ordered list


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

  • Wednesday: Nick Sweeting joins us to discuss ArchiveBox!
  • Friday: We’re off for Thanksgiving break!

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

–Jerod