bytecode.news

Bring Back Idiomatic Design

John Loeber wants idiomatic design back, and he's right - but the loss of idiom wasn't laziness, it was physics. IBM's Common User Access standard worked because the OS enforced it and the hardware was fixed; move to the browser, then mobile, then AR, and the contract doesn't bend, it voids. We're not in a period of design failure; we're in the same chaotic pre-standardization phase that preceded CUA in the first place. The question isn't how to restore what we had - it's how to recognize the improvised patterns that are already winning, and hold the line when we find them.

GitButler: An Approach to Git Branch Management

Scott Chacon and Markus Feilner have introduced GitButler, a tool that changes how developers work with branches in Git: instead of working on a branch, possibly introducing changes that belong in other issues, developers can work on a cohesive codebase and split changes into lanes that make more sense in context, which can make working with git much cleaner.

Performance Whack-a-Mole

Optimization isn't a single measurement and a fix. It's whack-a-mole: find the loudest problem, fix it, then look at what the problem was hiding. Jonathan Vogel's second installment in his Java performance series shows this process live, with JFR recordings and flame graphs - including a contention bug that was completely invisible until he pushed the concurrency high enough for it to matter.

The Economics of the Modern Web: The Three Percent Problem

We've decided, collectively, that the things we love should be free and paid for by someone else. Thunderbird just put a number on how that's working out: 3% of their users actually invest in the project. We want good software, honest journalism, and open source tools that last, but we just don't want to be the ones paying for them. That's a problem.

Boilerplate Three Ways

Three projects had releases that generate scaffolding for database access: spring-crud-generator uses an entity specification as the director for generation, scythe uses SQL queries as story drivers for data definition and API endpoints, and fluent-repo-4j provides a more direct database access model for Spring, not as reliant on domain-driven design for access patterns as the formal Spring Data modules.

Site Status: Updates on the way!

ByteCode.News has some pretty fundamental updates on the way behind the scenes, to make maintenance and updates a lot easier than they were. What's running right now is "old code" but this will open up the process for a better future for the codebase.

Primate 0.37: Migrations, Typed Env, and a Cleaner Module API

Primate, an opinionated web framework primarily written in Typescript but with support for many languages, has reached 0.37, with added support for migrations, a greater emphasis on developer correctness and ease of use. It's worth a hard look for services.

DoytoQuery: A Different Kind of Mismatch

DoytoQuery's author published a performance comparison against a number of data access frameworks, and it came out well - which isn't surprising, given that its author wrote the framework. They're deservedly proud of their work, and DoytoQuery has some interesting concepts in how it works, and may be worth further investigation, although there's a documentation gap and, as with most data access frameworks, an impedance mismatch.

How Would You Avoid AI?

A writing community survey asked "do you use AI?" — which sounds simple until you realize Grammarly is AI, your search engine is AI, and your spellchecker might qualify too. So: how would you actually avoid AI if you wanted to? And is there any good reason to try?