A browser wallpaper that flies a WebGL camera over real terrain at 15-35 km: Copernicus DEM, real sun/moon/stars, and OpenStreetMap-derived car and settlement lights at night.
Richard's Blog
Same model, same file, four times the speed: moving my homelab LLM off llama.cpp
One month on my homelab LLM ran at nine tokens per second — measured, plotted, and explained across three posts. Then one weekend changed everything: the same model file, byte for byte, on a different engine, at forty-seven. What Strata does differently, which of my published diagnoses did not survive it, and the traps (buffered streams, thinking budgets, VRAM cliffs) between you and the same numbers.
Scabix: Salix, Scabiosa and a knife-tip of dishwasher detergent
Salix and Scabiosa mixed 1:1 give the colour I wanted right away — but on my flex nib the mix wrote far too dry and railroaded. A knife-tip of dishwasher detergent powder fixed the flow and deepened the colour; only drying time suffered.
Eighteen Cores and a Stubborn Plateau: The Flash-Next CPU Upgrade Bench
Swapping the 10-core Xeon for an 18-core E5-2697 v4 delivered exactly the predicted +55 % decode — and disproved my own prefill diagnosis: the 212 t/s plateau never moved, proving it GPU-bound. Before/after bench plus a wall-socket energy comparison.
Ash for the desktop: an Omarchy theme set derived from Harbor
The Ash palette on the desktop: an Omarchy/Hyprland theme pair derived from Harbor by a recolor script, plus an ImageMagick tool that turns your own photos into matching wallpapers.
Chasing Flash-Next: bringing a 95 GB Qwen model to a 96 GB homelab
Sequel to the 35B post: a 94.5 GB, 177B MoE on the same 2016 Unraid box — how 1.1 t/s page-cache thrashing became 9,2 t/s of A/B-verified production, with the telemetry measured in the server's own counters and the true cost per token metered in joules at the wall socket.
Why Local AI Feels Slow: A Beginner's Guide to Tokens, Prefill and the Memory Wall
Prefill vs decode, why memory bandwidth caps tokens/s, MoE, quantization and context limits — a crash course with real measurements from a 12 GB GPU and a very patient Xeon.
Inside this blog: a share-notes engine with a themable frontend
How this blog runs on Trilium's public share: a custom EJS template, six note-based theme families with matching palettes, and the same colors for the Trilium app and Gitea - all in two repos.
A 35-billion-parameter model on a 12 GB GPU: measuring real-world speed for coding and note-taking
Benchmarking Qwen3.6-35B-A3B (MoE, 4-bit) on an Unraid box: Xeon E5-2630L v4, 64 GiB DDR4 ECC, RTX 3060 12 GiB. What prefill, decode and load times actually feel like for coding agents and Trilium note-taking.
FAST-LIO with loop closing on IGNIS-8
A code-level tour of IGNIS-8's LiDAR-inertial odometry: a FAST-LIO-style error-state Kalman filter fusing the L1 PM's 250 Hz IMU with its 20 Hz point cloud into a 6-DOF pose, plus a keyframe-based loop closer that detects revisits, confirms them by scan match and rebuilds the four-level voxel map without drift.