I keep Linux servers boring.
Boring means nobody gets paged at 3am. I do the unglamorous work that gets you there. Hardening, monitoring, and the small Go tools that close the gap between what a server is doing and what you can actually see.
sysmon-gov
github.com/prasul/sysmon-govA real-time terminal dashboard for LEMP and WordPress servers. Tells you what a box is actually doing in the five seconds after you SSH in.
- Go
- tview
- Linux
- Redis
- MariaDB
scrnshot
github.com/prasul/scrnshotShareX for the Mac. Capture, optimize, upload to a server you own, and the share URL lands on your clipboard. One universal binary, no cloud account.
- Go
- macOS
- CLI
- TUI
Bulwark
github.com/prasul/bulwarkA Go WordPress security auditor for Centmin Mod and LEMP fleets. Built to find real compromises without drowning you in false positives.
- Go
- WordPress
- Security
- Linux
wpfleet: monitoring WordPress fleets from the inside
github.com/prasul/wpfleet-exporterOn-host monitoring for WordPress fleets. It watches from the inside, where the real signals are.
- Go
- Prometheus
- MySQL
- Linux
- Aug 2026
The lemp stack hardening to ensure multi tenants doesn't corrupt each other
Building an Ansible role that isolates multi-tenant WordPress at the OS level on Rocky/AlmaLinux 9, and the bugs it took to get CI passing.
devops - Aug 2026
Race Conditions in Parallel CI/CD Deploys: What Actually Breaks
Why parallel CI/CD deploy jobs corrupt state, and the locking, atomic-swap, and serialization fixes that stop it
devops - Jul 2026
SSH was up, the website wasn't: a bonding interface failure
SSH worked fine internally, but every request through Cloudflare timed out. Here is what happened, how I fixed it, and what I still do not know.
sysadmin
Not looking. Still worth a message.
I am happily employed at BigScoots and I am not job hunting. But I read everything that lands, and the right problem has a way of being hard to ignore. If you are building something where keeping servers boring actually matters, say hello.