ENGINEERING NOTES
THINGS WE BUILT.
THINGS WE BROKE.
THINGS WE LEARNED.
Linux 7.3: A BPF Scheduler Per Cgroup
Linux 7.3 completes nested sched_ext, so a cgroup subtree can run its own BPF scheduler. Here is how sub-schedulers work and how to try sched_ext on a lab box.
Why Your GPU Is Slow: PCIe, ReBAR and NUMA
Check your GPU's PCIe link speed and width, Resizable BAR and NUMA placement on Linux with lspci, sysfs and numactl, and fix the silent bottlenecks.
Cap CPU and RAM with cgroup v2 and systemd-run
Learn how Linux cgroup v2 limits CPU, memory and process counts, and use systemd-run to cap a runaway job in one command, with the raw files to inspect.
Build a Container Network by Hand with ip netns
Build a container-style network from scratch with Linux network namespaces, veth pairs, a bridge and nftables NAT, and see what Docker automates for you.
Fix Bufferbloat on Linux with fq_codel and CAKE
Reproduce bufferbloat with iperf3 and ping, then fix it on Linux with fq_codel or CAKE using tc. Includes a router shaping recipe and what to measure.
Multi-Gen LRU: Stop Linux Thrashing Under Memory Pressure
Tame Linux memory thrashing with the multi-gen LRU. Check it is on, set min_ttl_ms, read the working-set histogram in debugfs and reclaim cold pages on demand.
Linux 7.2 Cache-Aware Scheduling: Keep Threads Close
Linux 7.2 added cache-aware scheduling that packs a process's threads onto one LLC. See how SCHED_CACHE works, the debugfs knobs, and how to benchmark it.
Reading Linux PSI: Why Is My Machine Stalling?
Use Linux PSI (/proc/pressure) to tell memory, I/O and CPU stalls apart, set kernel pressure triggers in C, and chase the culprit with vmstat and bpftrace.
ext4 data=journal Is Deprecated in Linux 7.3
Linux 7.3 deprecates ext4 data=journal, with removal planned for early 2028. Find out if you use it, what it costs you, and how to move to ordered mode safely.
Ubuntu 26.10 Upgrade Checklist for Servers
Ubuntu 26.10 ships Rust coreutils, drops SysV init scripts, moves to OpenSSL 4 and splits OpenSSH. Here is what breaks and a script to audit your servers first.
Node.js Goes to One Major Release a Year
Node.js is dropping odd releases for one major every April, with a new Alpha channel and LTS for everything. What changes for servers and CI, with a script to track it.
My Fold6 Inner Screen Broke, So I Locked It to the Cover
Galaxy Z Fold6 inner screen dead and black every time you open it? Force the cover screen to stay on with adb device_state, Shizuku and Termux, no root needed.
Fixing Linux Freezes During Steam Downloads
Steam hits full speed and the whole Linux desktop locks up. A root-cause walkthrough of dirty page writeback, dm-crypt workqueues and QLC SSD cache exhaustion — and the exact sysctl and cryptsetup fixes.
Engineering a Smart Home Monitoring System
When there isn't an off-the-shelf sensor/automation product that fits, the alternative is custom hardware/software integration — built to the actual requirement.
Engineering a PLC Control System
Translating sensors and actuators into reliable control logic — scan cycles, structured text, and why industrial code is written differently.
Running Local LLM Infrastructure
What changes when inference moves off a hosted API and onto GPUs you control — model serving, memory budgeting and the operational tradeoffs.
Building Autonomous Development Loops
Specification-driven, self-correcting engineering: how a loop that inspects, implements, tests and fixes itself is structured — and why it needs a spec, not a prompt.
Building a Reverse Proxy From Scratch
What nginx and Envoy are actually doing under their config files — routing, connection handling and failure modes, implemented directly.
Writing a Linux Character Driver
A field guide to the character-device interface: registering a device, wiring up file_operations, and talking to it from userspace.
NEWSLETTER
Get the engineering notes in your inbox.
Kernels, GPUs, networks, AI infrastructure — and the things we broke along the way. No spam, one click to leave.
We store only your email address, to send you new articles. See our privacy policy.