martyw.dev

Posts

Long-form writing — walkthroughs, deep dives, and the occasional rant.

Three glowing orange bars of descending height, etched with faint circuit-board traces, standing against a dark charcoal background like a three-tier bar chart.

Steam Machine, or the box you'd build for the money

Valve's Steam Machine landed in Australia at $1,609. I priced a cheaper build, a like-for-like one, and a higher-end one against it — and thanks to the RAM crisis, the usual just-build-one answer isn't the walkover it normally is.

A single matte grey sphere resting on a dark stone surface against a near-black background, lit from one side by a warm orange glow that catches its left edge. Vast empty negative space surrounds it.

Everything you own asks for something back

Not the one-plant, two-t-shirts kind of minimalism. A slower version built around a single idea — cost of ownership — and what changed once it clicked: a simpler wardrobe, a quieter desk, a streamlined digital life, and a noticeable weight off.

A long row of identical pale-grey upright tiles on a charcoal background, with a single tile in the centre glowing warm orange — the only one lit, casting an amber glow on the surface below it.

Your values aren't the ones you'd list

Most of what people call their values — being active, a big social circle, a good career — are really social idealisms: the life they think they should want. A short take on the distinction John DeMartini draws in The Values Factor, and the test for telling the two apart.

A grid of dark orange cubes on charcoal, with the one at the centre glowing bright under a shaft of light — the only one lit.

Raise your hand first

Owning a mistake looks like it should cost you standing. Done consistently and meant, it does the opposite — here's the outage that taught me why, and the mechanism underneath it.

A single glowing orange line runs straight across a dark field, then splinters into jagged cracks at the centre, casting a faint glow beneath.

The bill for being direct

Most people who call themselves brutally honest just can't read the room. Being direct when you can read it — and saying the true thing anyway — is a different trade, and the bill comes due differently at work than at home.

A single unbroken glowing orange line running diagonally across a dark, textured charcoal surface.

Stable URLs without a redirect table

A short random prefix plus a throwaway slug gives you URLs that survive title changes — no UUID ugliness, no slug-history table. Plus why the collision-retry loop matters more than the keyspace suggests.

A black stylus drawing a flowing orange flourish across a dark surface marked with faint circuit-board patterns.

How this blog gets written

How posts and notes here actually get made — AI-assisted, with a structured pass that flags speculation rather than laundering it as fact.

An exploded view of stacked translucent circuit boards, the top layer glowing orange with intricate traces.

My 2026 Tech Stack

Two years on from the 2024 list. The shipping-code part has changed completely; most of the rest looks the same — and where it doesn't, the reasons are worth knowing.

A glowing line-art house and a key balanced at opposite ends of a horizontal beam, on a dark circuit-board background.

The rent-vs-buy spreadsheet I finally closed

For a couple of years I was sure that renting and tipping the difference into index funds beat buying. Then I bought a smaller, older house on a worse street — and worked out what the spreadsheet had been missing about leverage and tax.

A single orange filament travels left-to-right across a dark backdrop, then fractures at a point into hundreds of fine divergent threads.

Promise.all isn't batching

When parallelising N small queries looks like a fix and is really just self-DoS at a slightly higher concurrency level.

A row of identical glowing orange pyramidal shapes lined up across a grid of darker cubes.

Write batch-shaped functions by default

Why I write repository methods that take arrays and return Maps, even when the only caller — today — is asking for one thing.

Glowing orange threads converging from a scatter of particles into a single luminous beam against a dark circuit-board backdrop.

Batching requests we don't control

How pushing dataloader up to the HTTP controller — out of the resolver layer it usually lives in — cut downstream database load by 83% on a read-heavy endpoint.

Close-up of an orange-glowing microchip seated on a dark circuit board.

My 2024 Tech Stack

What I'm reaching for this year — languages, frameworks, infra — and why.

A stylised orange GraphQL-like graph against a dark backdrop.

Thoughts on GraphQL After 2 Years

What two years of running a production GraphQL service taught me about where it earns its keep and where it doesn't.