Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Full Disk Encryption on Fedora w/ TPM2
A hands-on walkthrough from apalrd's adventures on how LUKS full disk encryption works on Fedora and how to enroll a key into the TPM2 with systemd-cryptenroll, including PCR choices, PIN options, crypttab edits and rebuilding the initramfs, as a first step toward a business-wide Linux rollout.
4 min · 923 words
Tell your network to explain itself and then some
A unixdigest.com tutorial that goes beyond using arp-scan to list devices on a home network, showing how to track and identify every machine and run your own DNS so you can block ads and telemetry without relying on an ISP, Google or Cloudflare.
5 min · 1,044 words
ARP! Tell your network to explain itself
Ben Calderon gives a friendly walkthrough of the Address Resolution Protocol: why local networks need both IP and MAC addresses, how arp-scan lists every device with its manufacturer, what an ARP exchange looks like in Wireshark before a ping, and how to inspect the Linux neighbour table.
2 min · 475 words
Use the Tello's GameSir T1d controller as a Linux gamepad
A guide to making the BLE-only GameSir T1d controller sold with the Ryze/DJI Tello drone work as a regular Linux gamepad by speaking its proprietary GATT protocol and exposing it as a virtual input device, with every button verified.
7 min · 1,703 words
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
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
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
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
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
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
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
Self-hosted HTTP tunnels with SSH and nginx
Vincent Bernat shows how to expose a localhost preview to a friend with only a plain SSH client and an nginx server you control: ssh -R with a dynamic port, an nginx server_name regex mapping per-port subdomains, wildcard TLS via ACME DNS-01, and a helper script plus NixOS module.
4 min · 998 words
Dissecting House of Apple 2 on modern glibc
An interactive GDB walkthrough of House of Apple 2 on glibc 2.43: FSOP past vtable checks, wide-stream arbitrary call, stack pivot, and ROP—with a follow-along lab.
2 min · 383 words
NetBSD: Playing with disklabels
A hands-on walkthrough of NetBSD disklabels for someone coming from Linux/DOS: how labels are structured, how to inspect and edit them safely, and the gotchas when partitioning disks the BSD way.
7 min · 1,633 words
Swap, ZRAM, Zswap and Hibernate on NixOS
Matthew Brunelle untangles swap vs ZRAM vs zswap for suspend-then-hibernate on NixOS: why hibernate needs real swap, how swap files complicate resume, and the config that finally worked after several wrong turns.
3 min · 780 words
Running Ubuntu on the Lenovo IdeaPad Duet
A hands-on walkthrough of firmware hacking a Lenovo IdeaPad Duet Chromebook (ARM64 MediaTek) to run Ubuntu after ChromeOS and postmarketOS fell short.
38 min · 8,821 words
Ana Hobden walks through installing and using Nix on the Steam Deck: keeping SteamOS intact while getting a reproducible Linux userland for development and custom tooling.
13 min · 2,993 words
moreutils: the utilities package every UNIX/Linux/Mac OS developer should know
Miguel Rentes walks through the moreutils package of Unix command-line tools, explaining with examples what chronic, combine, ifne, pee, sponge, ts, vidir, vipe, zrun and the other utilities do and how to install them.
11 min · 2,541 words