posts
- I blamed OpenCode; a 2-bit model passed Zig in it
Four 27B models failed a Zig agent task in OpenCode, and the client looked guilty. Then a 2-bit MoE in the same setup passed 6 of 6.
- Deleting a GitLab project gives it a new name
DELETE /projects/:id answered 202 Accepted. Five seconds later the project was still there, renamed. Then the local branch nobody pushed yet.
- 128k context is the floor, and prefill is the wall
A 128k context fits easily in 128 GB of unified memory. Filling it took gpt-oss-120b 29 minutes, and one model's 64k prefill hit a GPU ring timeout.
- The download that contaminated the benchmark
A model download bent one row of a long-context benchmark. The queue built to stop that got deleted by systemd at boot, then met a real power cut.
- No BIOS image, so I diffed the NVRAM
No BIOS file to download, flashrom segfaults. So: change one setting, diff AmdSetup from efivarfs. The 85W preset turned out to do nothing.
- 120 GiB for the GPU, set in the kernel, not the BIOS
On a 128 GB Strix Halo box the BIOS's 96 G GPU setting leaves Linux 31 GiB. The minimum plus two TTM parameters gives the GPU 120 GiB.
- Installing Fedora on a computer that hadn't shipped yet
Fedora 45 was installed, Secure-Boot-tested and debugged in a container and QEMU before the A9 Mega first ran Linux. Then the hardware brought its own bugs.
- The Falsifier That Never Fired
Spring should wedge at 256MB like Micronaut, or the r2dbc-pool theory is wrong. Ten hours later Spring wedged harder. Quarkus never noticed.
- Eighteen Requests for One Redirect
One 302 from a stub upstream, four HTTP client stacks, four bills: 18, 6, 3 and 1 requests. Two sensible defaults, multiplied.
- The Baseline Was the Bug
The JVM platform-thread baseline was measuring virtual threads, and native's famous 8x was dispatch plus double the heap. Matched, the gap is memory.