campbell-moore.com / likes
Unsolicited opinions

Stuff I like

Software I keep coming back to, games I have not grown out of, and a few things I will argue about. Nothing here is sponsored and nobody asked. If it is on this page it is because I use it, not because I read about it.

Software I keep coming back to
OPNsenseFirewall

A firewall you can read. The configuration is one file, the code is there to open, and when something is wrong you can find out why. I have had a fix accepted into core, which tells you something about how they handle reports.

Proxmox VEVirtualisation

Containers and virtual machines without pretending they are the same thing, and a command line that does everything the interface does.

Local modelsAI

Running models on my own hardware to see what they can genuinely do rather than what the announcement says. The gap between those two closes faster than most people realise, and the only way to know where it is today is to run it yourself.

1PasswordCredentials

The SSH agent alone earns it. Keys that live in hardware, approve with a fingerprint, and never sit in a file called id_ed25519.

ForgejoCode hosting

Everything I want from a forge and nothing I do not. Runs in a container, backs up as a directory, and will still be mine next year.

resticBackups

Deduplicating, encrypted, and — the part that matters — fast enough that you actually run it. A backup you avoid because it takes all night is not a backup.

GIMPImages

Thirty years of being free, scriptable and not for rent. I have written plugins for it and would again.

Games I have not grown out of
World of WarcraftSince forever

I raid lead and I have run guilds. Thirty people, one attempt, one voice, and everyone tired — it is the purest stakeholder management I do all week, and considerably less forgiving than most of the paid kind.

DayZSandbox

Still the most interesting sandbox anyone has built. The mod tooling is why I ended up writing a texture plugin and an archive recovery tool, neither of which I set out to write.

HearthstoneTwenty minutes

For when the evening has twenty minutes in it and not four hours. No apologies.

Opinions I will defend
On lock-in

If you cannot leave, you did not choose it

I have been paid to architect exactly this — designs that run in any cloud and can come back on-premises. A product that makes leaving painful has told you how much it trusts its own quality.

On AI

Brilliant tool, terrible strategy on its own

I use it daily and it has genuinely changed how much I get done. It is still not a plan, a decision, or an excuse to stop understanding your own systems — and the teams doing best with it are the ones who worked out where it does not belong.

On data

JSON is a file format, not a database

Fine for moving data between things. Using one as permanent storage means someone has not yet met a query they could not write by hand, and is about to.

On diagnosis

If no counter moved, you have not found it

A plausible explanation is not a cause. Capture the traffic, read the counters, prove it — otherwise you have swapped a problem for a story about a problem.

Not for me
WordPress

Plenty of people do excellent work with it. I would just rather publish files than administer a platform, which is why this site is what it is.

Subscriptions for local software

If it runs on my machine, on my data, I should be able to keep running it.

Vendor drivers, but the distribution's

The packaged ones are always a version behind and subtly different from what the vendor tested. This costs an afternoon to learn and I have learned it more than once.

Light themes

Forty years of staring at screens. Let me have this one.

Disagree with any of it? That is rather the point — tell me why. The list changes when something better turns up, which is the only reason a list like this is worth keeping.