FreshBooks Tools, from Andrew Lombardi, is a Python CLI and MCP server for FreshBooks: log time, check invoices and run reports from a terminal or by asking an assistant, with documentation that can’t drift from the code.
Proton’s CTO wrote a memo that nearly eulogized writing code by hand. Lars Faye points out that expertise comes from experience, and the memo doesn’t say where the next generation gets any. Here’s what used to teach it, and three ways to keep teaching it.
The PHP2Shell story has reached the people who sign the checks in the same week it reached the people who file the patches. Are we seeing anything actually happen for once? Are people trying to row the boat instead of just rocking it?
Compute power can reproduce almost anything; it can't imagine anything. "Learn to code" pointed people at what AI is able to automate, and we should have been asking for imagination, not lines of code.
Information is only scarce when somebody makes it so, and the people who refuse to make it scarce are the ones rewarded least. They are carrying a load they can’t bear forever.
Andrew Lombardi wrote "Unit Tests are Not the Enemy" as a response to seeing people proud to remove verification from their codebases. That's removing the bad fire alarms, not addressing the fire, and he has suggestions for actually doing it all well.
Stephane Bury has released Arcana, a Java CLI/library that extracts an amazing array of archive types, including ZIP, 7z, RAR, TAR, CAB, MSI, ISO 9660, and XAR, and many, many more.
Alberto Denia's artisan and engineer are a good lens on agentic coding: an artisan keeps his fingers on the code, and an engineer relies on the factory to make bricks. Both work, at different scales.
Kristen Maevyn's essay "The Decoherence Trap" names the cost a system accrues when it holds several valid but mutually incompatible models, so every change becomes a job of translating between them and guarding against side effects.
Mike Jackson wants the blind men and their elephant retired as a lesson in systems thinking, and his reasons are good. The parable's flaw is its narrator, who stands outside the world he describes and always has.
Pele, Obsidian's new Mermaid graph renderer, has no DOM dependency and no runtime dependencies, which means it runs on GraalJS on a stock JDK, as well as being a very nice drop-in replacement for client-side Mermaid.
Emergent design says architecture should flow from how something is used rather than from how it was dictated. Inside a codebase, that’s tests pulling the structure into shape. Across codebases it’s something older: a narrow substrate, a caller nobody expected, and a universe that stops exactly where the primitives do.
In "The Geometric Model of Maintenance," someone finally checked the “one month of code, ten days of maintenance” rule against real git history. The number holds up. What it’s made of is worth a look, and so is what you’d need to measure before it tells you anything about your own code.
Nate Meyvis takes up a question AI skeptics keep raising: if AI-assisted coding is so powerful, where is the wave of new, good software? Several of his answers hold up well, particularly that approval chains don’t speed up and that much new software is private. What he doesn’t address is the question itself.
Terence Eden paid strangers to follow his README and found a dozen things wrong with it. Most of them a disciplined authorial pass would have caught first. A few, nothing but a reader catches.
Psychologically, almost every listener decides what you mean before you finish saying it, and decades of writing advice can’t fix that, because that's an aspect of the listener and the advice is aimed at the speaker. A language model is the first listener that takes instructions... and that gives us a way to fix the way we interact with the models.
Testcontainers, a project that uses OCI to provide, well, containers for testing for modules, has a reuse feature that lets a multi-module Maven build share one Postgres container across all test JVMs. This requires creating a separate database per JVM to maintain isolation and avoid migration conflicts.
BCN now runs on three front ends, a new Primate landing page, animated mastheads, and a backend that is finally becoming the stream aggregator it was meant to be.
Alex Martsinovich argues that agentic coding causes four unavoidable harms - slop, alienation, deskilling, and team breakdown — but these aren't technological inevitabilities, they're the results of specific choices about how to use AI coding tools.
Nolan Lawson explores why developers often build custom solutions instead of using native APIs, largely looking at JavaScript, but it's something that shows up in most languages and environments, for good reason.