Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

James Healy

@james.social.yob.id.au.ap.brid.gy
393 followers 1 following 90 posts

string concatenator, cyclist, runner (!), reader, engineering things at @buildkite, formerly @greensync and @ConversationEDU [bridged from social.yob.id.au/@james on the fediverse by fed.brid.gy ]

PostsRepliesMedia
James Healy @james.social.yob.id.au.ap.brid.gy · 16/10/2026
@wezm high quality bug report no doubt helped the fast turnaround - all signal, no noise, easy to reproduce
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 11/10/2026
d’oh, 5% inflation on my $100 Osteo visit as the 2% (ish) card fees go away
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 10/10/2026
The impact of LLMs on creative industries is depressing. Obvious slop like this book about @camwilson is the small amusing edge of the badness www.abc.net.au/news/2026-10-10/cam-…
abc.net.au
Someone used AI to create a book about me and sold it online
Cam Wilson, who is the ABC's AI reporter, recently discovered an AI-generated book about him and a book he wrote.
001 1
James Healy @james.social.yob.id.au.ap.brid.gy · 10/10/2026
I uncomfortably agree with this take. The tech oligarchs aren’t working in our interests, there will be a financial crash when the bubble pops, LLM assisted coding is useful enough that it will continue post-crash, human+LLM has better results than LLM alone so most skills that make programmers […]
social.yob.id.au
Original post on social.yob.id.au
010 1
Reposted by James Healy
Sam Stokes @five-eights.com · 07/10/2026
Coding agents reduce software development to a simple matter of: * specifying requirements * verifying correctness and quality * maintaining and operating software you didn't write As we all know, those have always been the easiest, most well-understood parts of the craft, so everything is fine!
214279 142
James Healy @james.social.yob.id.au.ap.brid.gy · 09/10/2026
More evidence you shouldn’t believe all claimed data center projects will actually happen (Still worth fighting if you have one planned for your residential street though!) www.abc.net.au/news/2026-10-09/firm…
abc.net.au
Breaking: Data centre operator pulls share market float after lacklustre investor demand
The company searching for private funding as IPO gets pulled just a day after it closed its books to investors.
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 06/10/2026
My partner just gave me the “where the hell have you been the last 10 years old man?” face when I shared this.
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 06/10/2026
I am an old man who doesn’t use social media outside the fediverse, so I had no idea people self sensor with words like “unalive” or “grape” to avoid algorithmic sinbinning. I hate the way these systems influence society www.anildash.com/2026/10/06/kill-un…
anildash.com
We are going to kill "unalive"
Comments
100 1
Reposted by James Healy
Terrible Maps :bot: @terriblemaps.zpravobot.news.ap.brid.gy · 02/10/2026
A two-state solution with very few practical issues
003 3
James Healy @james.social.yob.id.au.ap.brid.gy · 28/09/2026
10% good news for my train line, 90% bad. Great to have the single track problem officially acknowledged, but all tangible improvements delayed to the never never. Even the previously scheduled level crossing removals […]
social.yob.id.au
Original post on social.yob.id.au
001 1
James Healy @james.social.yob.id.au.ap.brid.gy · 26/09/2026
LLM code review has definitely picked up silly mistakes I’ve made, but I enjoyed this look at what is lost in dropping human feedback and collaboration www.adaptivecapacitylabs.com/2026/0…
adaptivecapacitylabs.com
There is more to code review than (automatable) detection
The abstract for article “The End of Code Review: Coding Agents Supersede Human Inspection” paints this picture for the reader… > **Abstract** – Code review has been the primary quality gate in software development since Fagan formalised code inspection in 1976. For five decades, having a human examine and comment on a colleague’s changes before merge has been a cornerstone practice at organisations of every size. Coding agents are large language model (LLM)-based autonomous systems capable of reading, writing, testing, and repairing software. We argue that coding agents have crossed a threshold of capability at which traditional human code review is no longer a necessary component of a software quality pipeline. Our argument rests on two claims: every stated goal of code review can be served by agents at lower cost and higher throughput; the naive integration in which agents write code and humans remain the mandatory reviewers is a dead end because it neither provides meaningful assurance nor scales with AI-assisted throughput. The article is structured well and quite straightforward for engineers who aren’t used to reading research articles very often. However, I do think the argument critically depends on a problematic framing: **_the substitution myth_**. The author decomposes peer code review into four stated functions: defect detection, style enforcement, knowledge transfer, and awareness. It argues an agent can perform each one. The conclusion, of course, is that if an agent can execute each of those functions, then the agent has the capability to replace a human reviewer. I think this overlooks some important aspects of peer code review that _cannot_ be reduced to a function: **A peer reviewer’s confusion** When an experienced engineer reads a diff and says “I don’t understand this.”, their confusion _is_ the finding. It means the code is either too complex, the abstraction is wrong, or the intent is not clear. An LLM will always ‘understand’ the code in the sense of being able to _process_ it. It can’t give you the signal of legitimate human incomprehension. The article treats comprehensibility as something that is more about style than anything else. It’s not. It’s an emergent property and it shows up in the interaction between a person attempting to understand the artifact and the artifact itself. **Qualified skepticism about whether the change is even necessary** Questioning the existence of a change, like: > “Should this actually be _two_ PRs?” or > “This solves the symptom, not the problem” These are questions about intent, scope, and appropriateness of the change. All of that comes _before_ whether the code is “correct.” The article’s framing assumes that a) the code change being reviewed is necessary, and b) the main purpose of the review is verification. But anybody who has ever had contact with production understands that code review is _often the last_ (or sometimes only) moment when someone can be expected to challenge whether the change is even necessary. **The ability to see what is _not_ there** A human reviewer can notice that an API contract has changed but the error handling didn’t. They can notice what is _missing_. In other words: being able to recognize what is _expected_ to be present, but isn’t. The article doesn’t acknowledge this at all, which is particularly interesting, given that absence blindness is exactly the class of failure that LLMs tend to be quite poor at. The agent reviews what is there; engineers with expertise can easily notice what’s missing. **_Who_ wrote the code influences the scrutiny of the review** Peer code reviewers have a sort of _calibrated attention_ that comes from past experience with the code’s author, who is often a colleague. For example: a less-tenured engineer’s first commit to, say, a payments module will likely get different attention than a veteran and ‘grey beard’ engineer’s routine refactoring. Reviewers typically match the situation’s who, what, when, and where to their own experience of where risk lies. The article seems to treat all diffs as equivalent inputs. **Code review is bidirectional and constructive** It seems to me that paper reduces knowledge transfer down to just information delivery; the agent simply ‘generates explanations.’ But discussion in a code review is a _joint_ _cognitive activity_. The peer reviewer learns about the author’s approach, the author learns via the reviewers’ questions, and the result is a shared understanding that neither party had prior to the discussion. This is **coactive** work, not simply a transmission. An agent’s summary isn’t a substitute for a conversation that changes both participants’ mental models. **Operational context that lives outside repos** > “We just had an incident in this service last Tuesday.” > > “The team that owns this downstream consumer is about to deprecate that interface.” > > “Legal told us not to log this field anymore.” Human reviewers possess so much more contextual knowledge than they’re aware of, even though they can recognize connections in the wild. People understand the current state of the organization, recent events, and informal agreements that aren’t captured in tests, docs or version control, and they can recognize how these may influence the code under review. This happens so often that it’s all but invisible. The article assumes the codebase _is_ the complete context. It never is. **Accountability for the code isn’t just a beuraucratic formality** The article treats human responsibility as a compliance artifact, a “named human” for legal or other rule-related purposes. But being aware that you are personally responsible for approving a change shapes how you review it. It is the “skin in the game.” An agent that “signs off” on a pull request bears no consequences and certainly has no incentive structure that fuels an earnest evaluation. While the paper does include ethics concerns in its discussion section, it ends up redirecting it to “requirements engineering and post-deployment monitoring” which seems to me as hand-waving way of kicking the can down the road. The most fundamental issue I have with the article is that it assumes code review is a first and foremost a **detection** process: you find defects, style violations, security issues, etc., and the assumption is that detecting these faster and cheaper is universally better. But code review is also a _coordination_ process, a _sensemaking_ process, and a _governance_ process. The _**substitution myth**_ often plays out in this same way: 1. First, decompose the human contribution of work into measurable functions. 2. Show that the machine can replicate this human contribution into measurable functions of its own. 3. Declare the human redundant. This approach often falls apart at the same point: the human contribution that mattered most was the _integration_ across functions. People’s ability to adapt to unplanned circumstances and contexts and serve the social accountability expected. This ability to adapt in those situations aren’t accounted for in the original decomposition step #1, above. I don’t think they were accounted for in the original article, either.
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 16/09/2026
Huh, the old unused Optus HFC is being taken down in my street. I assumed it would be left to rot indefinitely after FTTC/FTTP rolled put
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 11/09/2026
I'm too old for this game, I'm ready to be a farmer. pnpm 12 includes a backwards incompatible change to the lockfile format without incrementing the lockfile version, and the GH issue about it is bots on bots github.com/pnpm/pnpm/issues/13805
github.com
pnpm 12 emits the env lockfile document for every project, making pnpm-lock.yaml unreadable to single-document consumers (GitHub's dependency graph reports 0 dependencies) · Issue #13805 · pnpm/pnpm
Verify latest release I verified that the issue exists in the latest pnpm release (12.0.0-rc.3) pnpm version 12.0.0-rc.3 Which area(s) of pnpm are affected? (leave empty if unsure) Lockfile Link to...
021 2
James Healy @james.social.yob.id.au.ap.brid.gy · 06/09/2026
RE: mastodon.social/@bcantrill/11722048… Now I don’t need to write the post I’ve been stewing on, @bcantrill did it better
mastodon.social
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 03/09/2026
@andrewnez words on semver, breaking changes, and JavaScript version constraints might be up your alley?
000 0
Reposted by James Healy
Akshat Rathi @akshatrathi.bsky.social · 01/09/2026
What is that sound? It's the noise that of a million "what about" brains exploding. 🎁🔗 www.bloomberg.com/news/article...
925793 257
James Healy @james.social.yob.id.au.ap.brid.gy · 01/09/2026
reprog.wordpress.com/2023/12/27/sem… by @mike is a great read on this too
reprog.wordpress.com
Semantic Versioning is a terrible mistake
When I first heard about Semantic Versioning, or SemVer, I thought it was one of those ideas that’s so obviously right that we were all going to benefit from someone having just codified it and written it down. In a nutshell, it’s the idea that your software should be versioned with a three-part string in the format MAJOR.MINOR.PATCH, each being an integer — for example, version 1.13.3. If you fix a bug you increment the patchlevel for the resulting new release (yielding 1.13.4 in this case). If you add a backwards-compatible feature you increment the minor level and reset the patchlevel to zero (yielding 1.14.0). And if you have to make a backwards-incompatible change, you increment the major version and reset everything else (yielding 2.0.0). This is good because it means downstream authors whose software consumes yours can safely upgrade when the patchlevel increments; and also when the minor version increments, though they might want to read the release notes to see if any of the new stuff is useful. But they know _not_ to blindly upgrade when the major version increments, because the new version will not be backwards-compatible. Upgrading to a new major version of a dependency is significant work. This photo, like the one at the top of the post and the one below, was taken from Mashed’s post Dragon Roll: What You Should Know Before Ordering. Here’s the problem: **people interpret SemVer as permission to make breaking changes**. Back when software engineers used to have a bit of respect for actual engineering, a major release was, well, a major event. One that would be avoided whenever possible, because one of the very first tenets of software engineering is that you keep your interfaces backwards compatible. It’s just basic decency. Back in The Old Days, Unix libraries (libc included) didn’t even _have_ version numbers. Because they _never_ made backwards-incompatible changes. So software written in 1990 would Just Work in 2000 — as it should, in any sane universe. Now? New major version of some significant dependency arrive virtually every week. A lot of my work is the JavaScript/Node ecosystem. Node itself is on major version 21. Babel is on major version 7. React is on major version 18 and even something as trivial as react-router is on its sixth major version. Just think about that! A piece of software so trivial that its only job is to say “when serving the page at route **/foo/bar/baz** , use the React component **< BazHandler>**” has thrown its arms up in the air and completely changed its API _five times_ since v1.0.0 came out it 2015. That’s five major changes in eight years. And this disease is catching. A program that I am slightly involved in maintaining as one of the tangential parts of my day job was first released as v2.0.0 in 2017 and is now on v27.0.0. That’s 25 breaking changes in six years. The maintainance burden is intolerable. Listen up, kids. **Cool APIs don’t change.** [See also]. To say it another way: **If you need to make a breaking change to your API, it means you screwed up.** Don’t screw up. And don’t think just marking your breaking change with a new major version number makes it OK. It does not. All it means is that people are unlikely to _accidentally_ upgrade to your incompatible version. It still leaves them with the burden of reading all your release notes, figuring out what changes are relevant to their code, thinking through what changes that requires them to make to their own work, making those changes and verifying that nothing broke. * * * **Notes** 1. Yes, I know that React stayed in the v0.x.y space all the way up to v0.14.8, then leapt straight to v15.0.0. That makes no difference: it’s still 17 breaking changes. 2. Yes, no doubt react-router does have all kinds of fancy extra facilities that I don’t need. That’s no excuse for five breaking changes to the trivially simple core. When grown-ups add new features, they _add_ them: they don’t change existing ones. 3. This is by no means limited to the world of JavaScript/Node: the modules I mentioned that’s on major version 27 is written in Java, using the Maven dependency system. ### Share this: * Share on Facebook (Opens in new window) Facebook * Share on X (Opens in new window) X * Like Loading... ### _Related_
010 1
James Healy @james.social.yob.id.au.ap.brid.gy · 01/09/2026
Javascript library maintainers, I'm begging you to stop bumping your major version yob.id.au/2026/09/01/major-version-…
yob.id.au
Bumping the major version of your Javascript library is user hostile · James Healy
312 3
James Healy @james.social.yob.id.au.ap.brid.gy · 17/08/2026
Finding it hard to have sympathy for writers upset about Claude watermarking. If you write for a human audience and you want precise control over your prose to engage the reader then …… don’t use an LLM?
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 16/08/2026
I'm an old dog who learns new tricks slowly, but it's been over a year so time to accept helix has replaced vim as my terminal editor of choice yob.id.au/2026/08/09/helix.html
yob.id.au
How I use Helix · James Healy
010 1
Reposted by James Healy
CM Harrington @octothorpe.mastodon.online.ap.brid.gy · 16/07/2026
RE: mastodon.social/@verge/116929855572… I am sure this will be fine.
mastodon.social
102 2
James Healy @james.social.yob.id.au.ap.brid.gy · 01/08/2026
“The engineers who will leapfrog their peers in the next few years are the ones who treat AI as a force multiplier on deep knowledge rather than a replacement for it. They understand what they're asking the model to produce. They review generated code with the same critical eye they'd apply to a […]
social.yob.id.au
Original post on social.yob.id.au
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 23/07/2026
RE: mastodon.green/@adayinthedotcom/116… My kids would like this, they dabbled with disposable cameras but the cost and annoyance of developing stopped me buying replacements
mastodon.green
000 0
Reposted by James Healy
Reginald @raganwald.social.bau-ha.us.ap.brid.gy · 21/07/2026
"We took a little time away from the Nazi Bar, but we noticed there's less pushback now for partying with the fash. So, back inside we go. Something-something, aren't-we-virtuous." #firefox #twitter #mozilla
A tweet from the official Firefox account on Twitter/X:

We took time off of X, but we're back. The internet is changing again, so we're here as an independent voice for our users and the open internet.
333115 115
James Healy @james.social.yob.id.au.ap.brid.gy · 18/07/2026
direct youtube link: www.youtube.com/watch?v=SlasmhEcXDo
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 18/07/2026
This has been in my to-watch list for over a year and I finally got there. Well worth the time - @robpike 2023 presentation to uni students on what professional software engineering looks like is as relevant as ever in the age of AI (runtime is 75 mins, the youtube video has a second lecture […]
social.yob.id.au
Original post on social.yob.id.au
101 1
James Healy @james.social.yob.id.au.ap.brid.gy · 18/07/2026
ah yes, Aysrrakua. That country that I live in. Suddenly this article is much less trustworthy (but seriously, why do all induction cooktops use easy to clean but annoying touch controls?!)
screenshot of an AI authored article about induction cooktops in "Aysrrakua"
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 17/07/2026
RE: aus.social/@ppossej/116933336195110… Yikes
000 0
Reposted by James Healy
École des Bro-Arts @aphyr.woof.group.ap.brid.gy · 11/07/2026
I have to say this new thing where users report each other as suspected LLMs is both understandable and, for a moderator wrangling a crowd of queer train enthusiasts online, deeply exhausting.
2106 10
James Healy @james.social.yob.id.au.ap.brid.gy · 10/07/2026
via www.theage.com.au/technology/telstr…
theage.com.au
Telstra may have avoided meltdown by spending just thousands on a known problem
Insiders say the equipment behind the Triple Zero outage was flagged for replacement years ago, but the work landed in the “too hard” basket.
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 10/07/2026
Sounds familiar
100 1
James Healy @james.social.yob.id.au.ap.brid.gy · 09/07/2026
Only just tuned in and realised GitHub Agentic Workflows are roughly “non deterministic GitHub Actions using markdown instead of YAML”. Why would anyone want this when building a quality gate or automation? Using an LLM to generate deterministic scripts and workflows, I can understand.
100 1
James Healy @james.social.yob.id.au.ap.brid.gy · 06/07/2026
@timbray perfect spot to share the Australian Prime Minister’s advice for employers after the 1983 americas cup youtu.be/s8mdHO2_Zo8?si=SOtRCQKxz0y…
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 29/06/2026
a twist! fair work commission case load *is* up a lot, but they (obviously) can't prove which submissions are LLM assisted so it's kinda hard to know just how much LLM's are contributing www.smartcompany.com.au/artificial-…
smartcompany.com.au
Fair Work Commission blamed AI for workload surge. An FOI reveals a different story
The federal government says AI-generated claims are clogging the FWC, but FOI documents suggest there is little concrete evidence the technology is driving the surge in applications.
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 29/06/2026
RE: aus.social/@decryption/116815782853… and just when I thought I was out, @decryption pulls me back in. This is a bargain for local daily tech news!
aus.social
000 0
James Healy @james.social.yob.id.au.ap.brid.gy · 28/06/2026
@vincent any plans to dabble in a Bluesky/taproot version of makeup? I’d love to follow a few folks there, and read only full coverage would beat two-way partial coverage (ala bridgy) for me
000 0
Reposted by James Healy
highly praised and little read @hannah.posts.rat.pictures.ap.brid.gy · 28/06/2026
Each broom agent can spawn additional, autonomous broom agents, each with their own pails. This allows apprentices to accelerate monotonous water-fetching tasks and save their time and energy for more interesting and useful work
4132138 138
James Healy @james.social.yob.id.au.ap.brid.gy · 28/06/2026
RE: mastodon.social/@ptua/1168242991159… This is my line. Get on with it Labor, time to duplicate the track
mastodon.social
100 1
Reposted by James Healy
jonny (nonvenomous) @jonny.neuromatch.social.ap.brid.gy · 16/06/2026
only amateurs "pay for tokens," i'm out here using the free models, aka putting a prompt in any issue in any github repository and labeling it with "good first issue" and waiting for the people with full-auto openclaw agents to randomly open pull requests against it
13039 39
Reposted by James Healy
Dan Fixes Coin-Ops @ifixcoinops.retro.social.ap.brid.gy · 08/06/2026
It's 1998, you make a website in the copy of frontpage express that came with your computer, it's just like Word and it's very easy, you figure out how to upload it to the couple megs of web space that your ISP gives you (the instructions are on their website), you visit your site in your […]
retro.social
Original post on retro.social
1932234 234
James Healy @james.social.yob.id.au.ap.brid.gy · 08/06/2026
@davidbhimself.online also effective!
010 1
James Healy @james.social.yob.id.au.ap.brid.gy · 08/06/2026
a small line I'm trying to hold while experimenting: no anthropomorphising. * ❌ "Claude and I....." * ❌ "Codex suggested I ..." * ❌ Co-author tags by non humans on git commits * ✅ "I used Claude to ...."
110 1
James Healy @james.social.yob.id.au.ap.brid.gy · 08/06/2026
has the minimatch API *really* changed in incompatible ways that many times?!
010 1
James Healy @james.social.yob.id.au.ap.brid.gy · 08/06/2026
not required for ruby, but for JS: library maintainers, bump your major version as infrequently as possible (so applications like ours don't end up with 8 distinct versions of minimatch and its brace-expansion dep)
110 1
James Healy @james.social.yob.id.au.ap.brid.gy · 08/06/2026
Is there a version of this classic ruby post for the javascript ecosystem? always commit lockfiles in apps, never commit them for libraries, libraries should be as flexible with dependency versions as possible to improve nested resolution in apps, etc […]
social.yob.id.au
Original post on social.yob.id.au
210 2
James Healy @james.social.yob.id.au.ap.brid.gy · 05/06/2026
The new asymmetry between writing and reviewing strikes again archive.is/VIntY
100 1
Reposted by James Healy
everton137 @everton137.social.vivaldi.net.ap.brid.gy · 21/05/2026
Interesting post by the author of @allaboutberlin on how AI is killing his awesome website. #AI #OpenKnowledge #Berlin
AI is killing All About Berlin. When you Googled something, you used to get a link to my website. Now you get an AI-generated answer trained on my work.

This has a devastating impact on traffic. It's hard to fund my work with 70% fewer visitors. In another year, it will be impossible. Instead of writing new guides, I spend my days preparing for that future.

Yesterday, Google announced two things: AI-generated answers will completely replace search results, and AI-generated answers will soon contain ads.

This is the future of the web. I don't know where All About Berlin fits in that future.
0167 16
James Healy @james.social.yob.id.au.ap.brid.gy · 18/05/2026
yesterday I was defending npm as no less secure than other ecosystem package registries and just a high profile target for supply chain attacks... Today I discover there's no way for it to authenticate against private registries other than storing long lived credentials in a known location on disk
001 1