Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
A GNU Guix blog tutorial on extending Guix with new guix commands: listing available extensions, the existing extension packages and meta-package, and walking through creating an extension's project directories and Scheme module so it can be distributed and used by others.
5 min · 1,143 words
OTel-Native by Design: Building Products That Export to Any Observability Stack
An OpenTelemetry blog guide for SaaS and self-hosted product builders on letting customers export logs, traces, metrics and profiles over OTLP to any OpenTelemetry-compatible backend instead of locking them into built-in dashboards or specific vendors.
14 min · 3,135 words
Making a flexible “neon” t-shirt with LED filaments
Earlier this year I had the perfect excuse to experiment with some flexible LED filaments that had been sitting in my “interesting parts” bin for years -- the company I work for was putting on a neon-themed event, so obviously I had to custom-build some LED neon attire! The only problem was this was announced less than a week in advance.... This is how I designed and assembled a wearable neon shirt in just a few days.
3 min · 741 words
Eli Bendersky introduces Monte Carlo simulations, which apply randomness and the law of large numbers to scientific and engineering problems, through worked examples: estimating pi by throwing darts, a combinatorial simulation of the card game SET, and a retirement portfolio projection, with code.
8 min · 1,757 words
Building Dn-FamiTracker on Linux
rexim (Alexey Kutepov) documents how to cross-compile the MSVC/MFC-based Dn-FamiTracker chiptune tracker on Linux for Windows using msvc-wine, CMake and a patch replacing a CMD build script with Bash, then running the result under Wine.
3 min · 731 words
A guide to the C programming language written from the perspective of someone who learned Rust first. BD103 walks through the surprising and unexpected parts of C for Rust programmers, including booleans and headers, strings and pointer lengths, integer types like size_t, the arrow operator, and the memory safety pitfalls Rust usually prevents.
9 min · 2,046 words
Janet on x32: 32-bit Pointers, 64-bit Speed, 25% Less RAM
Alex Alejandre tests whether compiling the Janet language for 32-bit pointers saves memory: an -m32 build on Arch cut memory about 20% but ran 50% slower, while the x32 ABI on an old Ubuntu server averaged about 25% less RAM with mixed speed changes, not enough to justify a broader call to action.
11 min · 2,564 words
Extend Lua with Zig 1: Hello World
The first part of Robbie Lyman's series on extending Lua with Zig: installing Zig, writing and running a Hello World, and building it with a first build.zig script, aimed at Lua programmers new to Zig on the way to calling Zig functions from Lua.
10 min · 2,331 words
hitogata describes rainbows, a specification for memory-mapped devices (console, arithmetic, disk, date/time and screen) attached to the ok stack-based virtual machine, turning it into a fantasy computer, with the memory layout of each device and open design questions.
10 min · 2,300 words
A Practical Guide to “Plug&Pwn” for Pentesters and Defenders
SCRT's Clément Labro gives practical guidance on the Plug&Pwn research from DEF CON 34, showing how emulated USB devices and Windows Plug and Play driver installation can yield SYSTEM code execution on a locked machine or privilege escalation over RDP, and how configuration hardening can block it.
20 min · 4,624 words
Methods for Migrating Virtual Machines From VMware ESXi to Linux-Based Hypervisors
LINBIT's Matt Kereczman surveys ways to move VMs off VMware ESXi to Proxmox VE, KVM/libvirt, oVirt/OLVM, OpenShift Virtualization, OpenNebula or XCP-ng: copying VMDKs and converting with qemu-img, virt-v2v, OVF/OVA export, platform-specific import tools and other approaches, plus what to plan for and how to choose.
8 min · 1,760 words
A hands-on tour of go build -toolexec: how the go command invokes the compiler, assembler and linker, and how to time, rewrite and instrument every run, from a simple stopwatch to injecting packages via importcfg and keeping the build cache honest, as used by garble, Orchestrion and OpenTelemetry's otelc.
23 min · 5,364 words
John Murray walks through installing Nix on Valve's Steam Frame headset using the official installer's Steam Deck mode, then managing apps and dotfiles declaratively with standalone Home Manager, including launcher integration, system files on SteamOS's immutable root, Tailscale, and the Frametop desktop.
9 min · 2,004 words
Property Testing with Agent Swarms
Inanna Malick shows how to have coding agents build property-testing machinery (reference models, generators and assertions) for a repo, then turn the failures into small, reviewable fixes. Pointed at OpenAI's Codex, the public playbook found thirteen distinct correctness bugs, and runs on jj, uv, Prometheus and Babel produced merged upstream fixes.
6 min · 1,325 words
Making a GTK application in Haskell, part 1
Feriel Choutri de Tarlé starts a Floreal Technologies tutorial series building a todo-list desktop app in Haskell with GTK 4 and the Adwaita library, setting up the project, a model-view-update architecture, and a runtime that redraws the window when the model changes.
7 min · 1,668 words
Using docker-compose with Podman rootless
Elouan Martinet explains how to run docker-compose against rootless Podman by enabling its Docker-compatible user socket and setting DOCKER_HOST, with tips on disabling rootful Docker, podman unshare and podman mount, rootless Docker, and user lingering so containers survive logout.
3 min · 657 words
Cache-Aware Programming: How Software Learns to Work With the Hardware
A practical essay on why memory access patterns often dominate runtime: caches, locality, and how programming choices make software cooperate with modern hardware.
6 min · 1,473 words
Why My Asus Laptop Kept Rebooting After Sleep and How to Fix it
Ibrahim Diallo traces years of lost work on his Asus Zenbook Pro 17 to the MediaTek MT7922 Wi-Fi card crashing on resume from sleep, and shares the simple fix: stop the Wi-Fi device from entering its power-saving sleep mode.
3 min · 689 words
Making React Context Cheap with React Compiler
An experiment with a 5,000-radio group asking why React still has no context selector: following React's split-and-memo guidance, then letting React Compiler memoize automatically, and concluding that making each render cheap matters more than counting or avoiding renders.
6 min · 1,489 words
GPU sharing via Timeslicing in Kubernetes
A write-up on NVIDIA GPU time-slicing in Kubernetes: how the GPU Operator advertises virtual replicas of one GPU so several pods can share it, the context-switching overhead and per-pod observability gaps this brings, how it compares with MPS and MIG, and a glossary of the key terms.
5 min · 1,232 words