setkeh@setkeh.com:~$
setkeh@setkeh.com:~$ cat ~/about.md

About

James Griffis, aka SETKEH. DevSecOps contractor, homelab operator, EVE Frontier tooling developer, fisherman. Regional NSW, Australia.

I'm James, handle setkeh. DevSecOps engineer by trade, homelab operator by compulsion, and lately the person building on-chain tooling for a spaceship tribe. This site is where the notes end up when something bites hard enough to be worth writing down.

whoami#

I’ve been in the field since 2011, starting in backend development and datacentre hardware and working through systems engineering into DevSecOps. I contract remotely through my own company, Atlas Digital Engineering, from regional NSW, Australia, on AEST. The short version of what I do for clients is on the hire_me page.

I also run NetherPunchGaming, which is where the game side of my life lives: the Rust servers I host, the tooling around them, and my EVE Frontier development work. There’s a third business, Amber Home Services, in aged care, which is about as far from Kubernetes as it gets and is a good reminder that not everything is a platform problem.

What I’m building#

  • EVE Frontier tooling for [-MAX-], the Dominion Tribe. EVE Frontier runs on the Sui blockchain, so the tribe’s world state is on-chain and readable. I lead development on the tools that read it: Nexus, a Discord bot that surfaces tribe world state; Drover, a Flutter web dApp for inventory, structures and deep links that can be pinned in-game; and efctl, the CLI underneath both. Go, gRPC and GraphQL against Sui, Move contracts, a lot of BCS decoding, and a standing rule that every byte layout gets verified against a real captured sample before it’s trusted.
  • The homelab. Real hardware, real uptime, real diagnostics. A Dell M1000e blade chassis, a TrueNAS Scale box, and a Proxmox to OpenStack migration that spawned TrueNasCinder, a Python client and Cinder driver for TrueNAS. My main development box has taught me more about kdump and Ryzen C-states than I ever wanted to know. It’s also the testbed for everything I do professionally, which is why it gets treated like production.
  • RustServerManager, a multi-server WebRCON hub for the NetherPunchGaming Rust servers, in Go and Flutter over gRPC.
  • SecondMind, an Obsidian knowledge and identity graph that ties me and all of my AI agents to one shared understanding of who I am, what I run and how I work. This site’s terminal theme is a sibling of the morning brief that graph renders for me each day.

How I work#

  • Evidence over assumption. When something is broken I want the second data point before the invasive fix. Byte-for-byte verification against a running system beats “looks plausible”.
  • GitOps by default. Issue, branch, PR, review, and the issue thread is the system of record. Docs get fixed in the same change that made them wrong.
  • Signed everything. Every commit is GPG-signed from a YubiKey. If a commit of mine isn’t signed, it isn’t mine.
  • Straight talk. Failures, skipped steps and open gaps get reported plainly. Overselling a fix costs more than admitting the caveat.

Off the clock#

Fishing, hunting and camping, ideally somewhere with no mobile signal. The long game is doing some of that semi-professionally as working holidays, which fully remote work makes possible and DevSecOps on-call makes interesting.

Contact#

For anything that isn’t a job offer:

Hiring enquiries go through the hire_me page and its own address. Mail about work sent to the blog address will probably be missed.

If you use GPG, and you should, my key fingerprint is FA92 9DF3 2F5B EA3F DBBD A2A8 6740 B732 D350 7B5E.