Oleh Aleinyk

@oaleinyk.bsky.social

Software engineer, bookworm, 🇺🇦 oaleinyk.xyz

Heartbreaking. And a wake-up call. It is no longer about being difficult to find a way to sustain yourself through your work online. It is no longer sustainable to keep a website up now. Axel has done so much for the web and all of us. Buy one of his books if you can. We've learned so much from him.

2ality blog: temporarily offline

Dear visitor! Two things happened recently:

- The income from my book sales went from being enough for me to live off (2024) to zero (2026).
- The traffic to my blog and my books (which were free to read online) increased beyond what I can currently afford. Virtually all of it comes from AI crawlers, so there is no ad income.

Therefore, I’m taking my blog and my books offline so that I can decide what to do next – especially w.r.t. AI companies stealing my work. This may take a while (think months): I don’t have any energy to deal with this right now.

I apologize for this (hopefully temporary) inconvenience to my human readers! You can still buy my books at Payhip.

Axel Rauschmayer
Axel Rauschmayer (also on 🦣)@dr-axel.de · 4mo ago

1/ I’m still processing what’s going on in tech at the moment. I used to feel at home in that world. It used to feel incredibly creative and positive. Now it’s increasingly full of bugs, dark addicting patterns and AI slop. 2ality.com

We need everyone to wake up to how fragile our shared commons are. We can't wait until we drown in security incidents and more projects close down, using them as excuses. If you're in a position to help (every company is), check who you depend on and need support (everyone), and fund them.

jj workspaces feel much nicer for parallel work than Git worktrees, and the important part is not the shared repo. In jj I can just start working in a workspace, and the work becomes part of history through @ without first creating a branch or deciding to commit.

Rewrote my agent coding skills from checklists to thinking instructions. Specific rules like "use X not Y" ground the agent and go stale as the language evolves. Guiding it to ask "is there a simpler way?" and self-research before deciding lets it go much further. Cognitive quality instructions?

One thing I'm realizing with code agents: the speed gain shouldn't become pressure to ship more. I want to use that time for quality. Better tests, thoughtful design, simplification. Boring is the goal.

Reflecting on a pattern: each time we adopt new tools, we discover they weren't built for the new intermediary — search engines, app stores, algorithms — and rush to optimize. The product drifts a little further from the person it was meant to serve. "AI-first" codebases feel next in line.

I've gotten more from practical experience than from memorizing "best practices" — and that goes for prompting AI too. Concrete examples show you the tradeoffs. Best practices usually skip that part. In practice, "when does this apply?" gets me further than arguing about whether it's the right way.

Noticed that amp became much more expensive (MCP might be contributing here, not sure 🧐). Tried their race mode for a change (haiku 4.5) - super fast, results are very close to what I need most of the time, and it is cheaper.