MOD files as a sound library with channels in MMBasic

Music and effects running side by side without cutting each other off. The path I took uses PLAY MODSAMPLE and a small set of fixed channels.

Fix connection drops on Omarchy

Pings and pages work, then they don't. How to settle a flaky Omarchy connection with IPv4 over DHCP and a properly wired DNS stack.

Boot Omarchy without a LUKS passphrase

Every boot asks for the LUKS passphrase. How to make Omarchy unlock and start up on its own instead.

Caching array lookups inside hot loops

When the same array index shows up five times per iteration, hoist it into a variable. Small change, real effect for me.

LOCAL costs more than you'd think in MMBasic

Reaching for LOCAL feels like clean programming. Inside hot loops it turned out to be the wrong reflex for me.

CIRCLE per frame costs more than you'd think

Tiny dots, tiny cost, right? Once I profiled it, CIRCLE was one of the most expensive calls per frame. Here's what I did about it.

Rolling your own vector font in MMBasic from DATA

Pixel fonts don't scale cleanly, and they don't fit a vector game visually either. How I built a scalable typeface out of DATA statements.

hugo-cms.nvim at a Glance

Short overview of my neovim plugin hugo-cms.nvim, and the whole series in reading order.

Rotating vectors in MMBasic without a FOR loop

Rotating each vertex by hand with COS and SIN is the obvious move. MATH V_ROTATE does the same job faster, with no per-point loop.

Toggle Completion in LazyVim with a Keybinding

Toggle blink.cmp on and off per buffer with Ctrl+Q in LazyVim. A small plugin override using Snacks.toggle.