A black and white portrait photo of Martin Hicks.

Journal

Notes from real projects - AWS, DynamoDB, Rust, home servers, and whatever open source tool I'm currently building.


Articles

26th June 2026

Dynoxide 0.11.1: four conformance fixes

A small dynoxide patch. Four fixes where the engine evaluated an expression or validated a number a bit differently from real DynamoDB, most of them checked back against real AWS.

Read article
25th June 2026

Learn DynamoDB by running it - accesspatterns.dev

DynamoDB is a brilliant database and a hard one to learn. So I built accesspatterns.dev - a real engine in a browser tab where you learn it by running it, from your first GetItem to single-table design. No AWS account, nothing to install.

Read article
25th June 2026

Dynoxide 0.11.0: wasm on npm, plus a stack of fixes

Dynoxide 0.11.0 packages the browser engine as @dynoxide/wasm-engine - npm install and run a DynamoDB engine client-side - and a stack of correctness fixes, most of them turned up by the conformance suite.

Read article
9th June 2026

I watched DynamoDB change under my conformance suite

The reference in my DynamoDB conformance suite went red: real AWS had reworded its validation errors. Two regions have the new wording, two still have the old - a rollout caught mid-flight, with the suite watching the reference move.

Read article
3rd June 2026

Build the squad. Own the platform. The org chart will catch up.

Once the technology works, deploying AI agents becomes an organisational problem - where it lives, who owns it, who carries the risk. My answer: build a deployment squad, own the platform, and let the org chart catch up.

Read article
29th May 2026

Dynoxide 0.10.0: it runs in the browser now

The same DynamoDB engine now runs in a browser tab on OPFS, there's an official ~5 MB Docker image, and a storage-backend trait sits underneath it all. The biggest dynoxide release since the engine itself, and the first that breaks things.

Read article
28th May 2026

Running iai-callgrind on Apple Silicon

iai-callgrind needs Valgrind. Valgrind has zero Apple Silicon support. Here's the native arm64 Docker workaround I use to run deterministic instruction-count benchmarks locally - seccomp trap, --locked gotcha and all.

Read article
26th May 2026

How close is your DynamoDB emulator to AWS?

My DynamoDB conformance suite has a site now. Eight emulators, 684 tests, all scored against live AWS DynamoDB, with fresh results every run - standings, per-target history and the full matrix included.

Read article
12th May 2026

Filing my first security advisory

Logged into GitHub yesterday, hit a Dependabot alert on dynoxide, ended up filing my first GHSA. Here's what I'd tell past-me about the form, the order of operations, and the bug itself.

Read article
5th May 2026

Dynoxide patch notes: 0.9.10 to 0.9.12

Notes from the latest stretch of dynoxide patch releases - what shipped, what got fixed, and the takeaways.

Read article