IT & apps · 20+ years
Hi, I'm Mark.
I work on multiplayer backends
Two decades building web and mobile, most of it lately on the server side — sockets, state synchronisation, and infrastructure that has to stay up and stay affordable. I write about it here, and keep a few small tools I got tired of googling.
What I take on
Multiplayer & real-time backends
Sockets, wire protocols, state synchronisation. Keeping thousands of clients agreeing on the same thing at the same time — and staying up when they all arrive at once.
AWS architecture & cost optimization
Where most companies quietly lose the most money for the least reason. Right-sizing, storage tiers, data transfer, and the instances nobody remembers turning on.
Technical advisory
Second opinions on decisions that are hard to reverse. Architecture reviews before a rewrite, build-or-buy calls, and telling you in month one rather than month four.
Web & mobile development
Frontend and backend, iOS and Android. Twenty years of shipping things that have to keep working after the launch post scrolls off the front page.
Not sure which of these you need? Describe the problem and I'll tell you honestly whether I'm the right person for it.
Tools
All tools →Every one runs in your browser. Nothing is uploaded, nothing is logged.
- JSON FormatterBeautify, minify and validate JSON — with the exact line and column when it breaks.
- Convert CaseSwitch text between UPPER, lower, Title, camelCase, snake_case, kebab-case and more.
- Text DiffCompare two blocks of text side by side and see exactly what changed.
- Hash GeneratorMD5, SHA-1, SHA-256 and SHA-512 — plus an honest reverse lookup for MD5.
- Epoch ConverterUnix timestamps to human dates and back, in any timezone.
Recent writing
All posts →- Cloning a private GitHub repository over SSH on UbuntuGenerating the right key, choosing between a personal key and a deploy key, adding a second repository to a server that already deploys one, and decoding the 'Repository not found' error that GitHub returns instead of a permission denial.
- Expanding an EC2 disk without downtime: EBS, partition and filesystem on Ubuntu and Amazon LinuxFinding the volume ID, growing an EBS volume from the web console or the CLI, then connecting over SSH to extend the partition and the filesystem — ext4 on Ubuntu, XFS on Amazon Linux — plus the NVMe naming, the 2 TiB MBR limit and the growpart failure nobody explains.
- Git on Ubuntu 20.04, 22.04 and 24.04: install, GitHub authentication and cloning over SSHInstalling Git, generating an SSH key, connecting it to GitHub, and every other way to authenticate — personal access tokens, the gh CLI, deploy keys for servers, and juggling two accounts on one machine.
Got something difficult?
Consulting, collaborations, or a second opinion on a decision that's hard to reverse. I read everything and reply to anything that isn't a template.
Get in touch