martyw.dev

Hi, I'm Marty.

Things I make, learn, and think about. I write about software, hardware, AI, gaming, the homestead, and whatever else I'm tinkering with.

Recent posts

All posts →
A small black mini PC sitting on a slab of dark slate against a near-black background, with a ribbon of glowing orange light streaming out of its front ports and arcing up and away to the right, casting an amber reflection on the stone.

Coding from my phone

Terminus, Tailscale, and a NUC in the study. The setup I use to get real work done from a phone, and the two places it stops being pleasant.

A dark stone basin brimming with glowing molten-orange light, overflowing down one edge in thin rivulets and pooling on the charcoal floor below. Faint circuit-board traces are etched into the basin's side.

Ask for the method, not the fix

Six months of confident, plausible, wrong fixes for the same Postgres incident — and what changed when I stopped asking Claude for a patch and asked it to teach me how to diagnose one.

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.

Recent notes

All notes →

TIL that CREATE TEMPORARY TABLE in Postgres takes an ON COMMIT clause:

CREATE TEMP TABLE staging (id bigint, payload jsonb) ON COMMIT DROP;

Three settings. PRESERVE ROWS is the default and keeps the table around for the whole session. DELETE ROWS truncates it at every commit. DROP bins the table itself at the end of the transaction that created it, which is almost always what I actually wanted — a scratch table for one bulk load or one gnarly multi-step query, gone the moment I’m done with it. No cleanup step, no DROP TABLE IF EXISTS at the top guarding against whatever the last run left lying around.

Postgres deviates from the standard here, incidentally: SQL says the default should be DELETE ROWS, and Postgres went with PRESERVE ROWS.

The thing that made it click was PgBouncer’s feature map, which lists ON COMMIT DROP temp tables as working under transaction pooling and PRESERVE/DELETE ROWS as “Never”. Of course it does — in transaction pooling the server connection goes back in the pool after each commit, so anything session-scoped either leaks into someone else’s transaction or vanishes. Scope the table to the transaction and there’s nothing left to leak.

Threw together Relink Codex — playstyles, combo routes, weapons and sigil loadouts for all 28 characters in Granblue Fantasy: Relink.

Two things collided. The expansion pulled me back into the game, I’m somewhere around Proud and trying to learn characters I’ve never touched, and the usual way to do that is trawling Reddit threads and pausing YouTube videos on the frame where the actual information is. I didn’t fancy it. The other thing is that I pay for Claude Max every month and reliably don’t get near the token allowance, which is its own quiet kind of waste — the plan costs the same whether I spend it or not.

So the site is less a project than the output of a research task I didn’t want to do by hand. Three power brackets rather than one canonical build, because a loadout that’s right at 12,000 PWR is wrong by the time Endless Ragnarok has you at 40,000. Astro, static, no backend.

It’s current as of patch 2.0.2 and will quietly stop being true the moment Cygames ships another one. But re-running the research costs me nothing I wasn’t already paying, which was most of the point.

Summer Game Fest dropped on Friday and somehow the lineup read like it was scraped straight from my wishlist. Three of my favourite franchises, all in one show, all within a couple of hours of each other. I keep waiting for the catch.

Code Veronica is finally getting the remake treatment — retitled just Resident Evil: Veronica, Claire back as the lead, the reveal opening on a rainy Paris apartment block. It’s been the obvious gap in Capcom’s remake run for years and they’ve finally filled it. 2027, and on Switch 2 alongside the usual platforms.

Then FF7 Remake Part 3 turned out to be Final Fantasy 7 Revelation — Hamaguchi on stage, the Highwind in your hands, skydiving into an open world, job classes in combat. Spring 2027. The trilogy actually lands.

And the one I didn’t see coming: Stellar Blade: Blood Rain. New protagonist — Evie, not Eve — swapping the sword for gauntlet brawling, and Shift Up self-publishing this time so it’s not a PlayStation exclusive. Still early, but pointed at 2027 too.

So that’s my three most-anticipated games sharing a release year and a single showcase. Either the universe owes me one or 2027 is going to cost me a fortune.