Building an Ojibwe Crossword Puzzle for Minoo

How Minoo’s crossword game teaches Anishinaabemowin through daily puzzles, Elder-authored clues, and a three-layer learning design.

March 25, 2026 · 4 min · Russell

Kernel and Systemd Service Hardening

Tune kernel parameters with sysctl and sandbox services with systemd to reduce your VPS attack surface.

March 25, 2026 · 4 min · Russell

Publishing a PHP monorepo to Packagist with splitsh-lite

How waaseyaa went from a monorepo with 43 path-repository subpackages to individually installable Composer packages on Packagist using splitsh-lite.

March 25, 2026 · 6 min · Russell

AI-native PHP: the waaseyaa AI packages

What ai-schema, ai-agent, ai-pipeline, and ai-vector enable in a PHP framework designed for AI from the ground up, and an honest look at what’s built versus what’s planned.

March 24, 2026 · 8 min · Russell

Caddy Hardening: Security Headers and Rate Limiting

Add security headers, rate limiting, and server identity removal to your Caddy configuration.

March 24, 2026 · 4 min · Russell

Shkoda: a campfire word game for learning Ojibwe

The first game on minoo.live teaches Ojibwe vocabulary through a campfire that burns as long as you keep guessing right.

March 24, 2026 · 3 min · Russell

Automate your Dev.to presence with the Forem API

Build scripts that track your Dev.to analytics, surface unanswered comments, monitor follower growth, and engage with your community automatically.

March 23, 2026 · 8 min · Russell

Docker Security on a Shared VPS

Why Docker bypasses your UFW rules, how to fix it, and container hardening practices that matter on a shared VPS.

March 23, 2026 · 5 min · Russell

From scaffold to live site in 11 minutes

How a Waaseyaa site goes from composer create-project to production HTTPS in 11 minutes — and the deployment patterns shared across all Waaseyaa applications.

March 23, 2026 · 6 min · Russell

Three Tiers of Data Freshness in a SvelteKit Static Site

How to serve live data from a statically deployed SvelteKit site using prerendered pages, cached client-side fetches, and SPA fallback routes.

March 23, 2026 · 5 min · Russell