Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
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
eth68: Ethernet Audio Interface for Linux
eth68 is an Ethernet audio interface for Linux: bare-metal STM32H7 firmware that emulates a netJACK1 master endpoint, aiming for low-latency networked audio without a traditional USB audio gadget.
8 min · 1,749 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
Klassik Revives the KDE 3 Desktop on Modern Plasma 6
Klassik is a new open-source project that brings the classic KDE 3 desktop experience back to life on top of the modern KDE Plasma 6 stack.
2 min · 373 words
The forgetful CPU (Linux on M4)
A detailed write-up of first-booting Linux on an M4 Mac mini, covering CPU quirks, bring-up details, and the hardware surprises along the way.
7 min · 1,650 words
Fernando Simões digs into when page tables stop being a rounding error: shared mappings across many processes, Linux kernel history from Arcangeli to Qi Zheng's empty-page-table fix, and the trade-offs of huge pages.
6 min · 1,309 words
Nobody Is Listening on Port 8125
There's a Fedora box on my desk named `stick`. An app on it has been firing StatsD datagrams at `127.0.0.1:8125` ten times a second for about a week now, the way apps have done since Etsy taught everyone to in 2011.
10 min · 2,281 words
WSL containers is now generally available
Microsoft announces general availability of WSL containers: a wslc.exe CLI (aliased as container.exe) to build, run, and deploy Linux containers directly on Windows, plus an API for running Linux containers from native Windows apps, available via wsl --update.
4 min · 1,025 words
postmarketOS announces its new name, Nura, after a long community naming process—why the project is renaming, what stays the same for users, and answers to common FAQ questions.
4 min · 824 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
Jordan Petridis introduces Toolpak, a GNOME project for packaging developer tools in an image-based desktop world—why host tooling breaks on immutable systems and how Toolpak aims to fix it.
7 min · 1,644 words
Deploying Guix images on Linode
David Thompson documents migrating to Linode (Akamai Cloud) and deploying Guix system images—image building, boot configuration, and practical notes from moving off DigitalOcean.
4 min · 1,000 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
From Thin Air to Bootable Images: The tine Build System
Martin Pitt and Daan De Meyer introduce tine: reproducible builds of RPM, Go, and Rust components into bootable images from minimal host requirements.
21 min · 4,850 words
Every package is already installed
Farid Zakaria introduces omnibin: a FUSE filesystem that puts every binary Nixpkgs ever shipped on your $PATH—nothing installed upfront, 0 bytes on disk until something is actually run.
4 min · 1,001 words
Overview of AOOSTAR WTR Pro on *BSD
Joel Carnat’s hands-on FreeBSD/OpenBSD notes on the AOOSTAR WTR Pro NAS mini-PC: networking, storage, power, quirks, and what works out of the box.
10 min · 2,326 words
Bartosz Fenski’s continuous benchmark suite for multi-device CoW filesystems (btrfs, ZFS, bcachefs) measures snapshot aging, compression, rebuild, ENOSPC, and other workloads classic single-disk fio tests miss.
14 min · 3,195 words
Deshittification Part 2: Bypassing the App Store Gatekeeper
Lari Huttunen continues a Smart TV reclaim project: after isolating an LG WebOS OLED behind OpenBSD, blocking ACR/ad DNS breaks the App Store—how WebOS couples apps to telemetry endpoints, and how to work around the gatekeeper.
5 min · 1,259 words