articles · wleeaf
Writing & field notes.
Essays, build logs, and marginalia from the workbench. Made in the quiet hours.
01
Live Editing Suzerain: Walking an IL2CPP Heap to Find a Hidden Lua VM
How I built WolknerProtocol, a real-time state editor for Suzerain, by reverse engineering its Unity 6 IL2CPP build to find the in-process Lua variable table without any static knowledge of class layouts.
07 MAY 2026
02
DNS For People Who Just Want Their Site to Work
A, AAAA, CNAME, MX, TXT, NS, SOA. What they do, when to use them, and how to debug when things break.
06 APR 2026
03
Building a WebSocket Server From Scratch in Node.js
The WebSocket protocol is simple enough to implement by hand. Here is what happens under the hood.
05 APR 2026
04
awk in 10 Minutes With Practical Examples
Nobody reads the awk manual. Here are the patterns that cover 90% of real-world use.
04 APR 2026
05
Makefiles Are Not Just for C
Using Make as a project task runner when npm scripts and shell aliases fall short.
03 APR 2026
06
Python One-Liners for Server Troubleshooting
When awk gets ugly and bash gets painful, Python -c is right there in your PATH.
02 APR 2026
07
Writing systemd Services That Actually Work
Unit files, restart policies, environment variables, and journalctl. A practical guide to running your own daemons.
01 APR 2026
08
Git Worktrees Changed How I Handle Branches
Switching branches without stashing, losing context, or waiting for node_modules to reinstall.
30 MAR 2026
09
Debugging Running Docker Containers Without Restarting Them
exec, logs, inspect, and nsenter. Four tools for figuring out what is happening inside a container without touching it.
29 MAR 2026
10
Caddy Patterns That Replaced My Nginx Config
Wildcard certs, host matching, VPN-only routes, and SPA fallbacks in a single Caddyfile.
28 MAR 2026
11
Bypassing ISP Deep Packet Inspection on Linux
When your ISP blocks websites at the packet level, here is how to get around it without a full VPN.
28 MAR 2026
12
jq Is the SQL of JSON
Every API returns JSON now. jq turns your terminal into a query engine for it.
27 MAR 2026
13
SSH Config Tricks I Use Every Day
Stop typing full hostnames and passwords. Your SSH config file is more powerful than you think.
26 MAR 2026
14
Self-Hosting Matrix: Federation, Calls, and What Nobody Tells You
Setting up a Matrix homeserver with Element Web, voice calls, and federation. The documentation leaves out some important details.
26 MAR 2026
15
Split Tunnel WireGuard: Private Services Without Routing Everything
How to set up WireGuard so only traffic to your private services goes through the tunnel, while everything else uses your normal connection.
25 MAR 2026
16
Bash Traps and the Art of Not Leaving a Mess
How trap, set -e, and a cleanup function can save you from half-finished deployments.
25 MAR 2026
17
Running 15 Services on One VPS With Docker Compose
How a single compose file, two networks, and some naming discipline keeps everything manageable.
22 MAR 2026
18
What I Learned Setting Up My Own Mail Server in 2026
Running your own SMTP/IMAP server is supposedly a nightmare. Here is what actually happened when I tried it.
15 MAR 2026
18 dispatches · RSS · the studio