Where this started
My first Linux install was Slackware in 1996. I was in IT at the tail end of DOS and Windows 3.x and the start of Windows 95, and viruses were rampant. I wanted a computer I could work and play on, and didn’t feel a Microsoft product would let me.
First boot? “Toto, I’ve a feeling we’re not in Kansas anymore!” Back then it was hard to make it your own, because you spent so much time getting everything working before it broke again … if it wasn’t a driver acting up, then it was X running like ass and looking like sh!t … or the f#cking modem would just dump on you. I was project co-lead on Gentoo Linux’s port to Sun Sparc32 and Sparc64.
At the CMP Media XChange 2004 show in Chicago I watched a Linux vendor try to lock users in for updates and support. They tried to close an open system and failed. About a year later I went into business for myself and built that business model to be open, and I’ve taught quite a few people to run a successful MSP. The repos below are where that open streak lives today.
Everything here is public on my GitHub, and the weekly field notes on how it all comes together live on geekthegreybeard.github.io.
Rabbit R1 games and gear

Snowline Sprint
Rabbit R1 games and gear · JavaScript
Tux races belly-down against 3 penguin rivals on 25 alpine courses, built for the R1’s 240 × 282 screen. Tilt to steer, double-tap to jump, and roll the wheel to boost or brake.

Marble Madness 3D: Momentum Lab
Rabbit R1 games and gear · JavaScript
My isometric marble game for the R1. 25 courses with banks, bowls and ramps, plus moving platforms, elevators and floors that fall out from under you if you hang around too long. Tilt is how you steer.

Marble Madness
Rabbit R1 games and gear · JavaScript
The 2D tilt maze for the R1. 20 levels, 3 difficulties, bombs, bounces and a touch D-pad if you’d rather not tilt.

Tic Tac Toe Extreme
Rabbit R1 games and gear · JavaScript
Tic-tac-toe, but you need 5 in a row on a 10×10 board to beat the R1. Pick an easy, medium or hard AI, and it keeps score of your wins, draws and losses.

RabbiRack
Rabbit R1 games and gear · Python
A modular, 3D-printable desk rack for Rabbit r1 devices. Print 1 cell or join a bunch into rows and columns on expandable bases. My models and source files are free to use under CC0.

Splat-I Rabbit R1 OS
Rabbit R1 games and gear · Shell
Build notes and files from bringing the Rabbit R1 up on CipherOS (Android 16), plus the RaBobster lockscreen, icons and screenshots. Written so you don’t have to be an Android ROM expert to follow along. Cute bunny art by James Bubenik.
AI, automation and MCP tools

n8n Template MCP OSS
AI, automation and MCP tools · JavaScript
An MCP server that searches public n8n workflow templates and risk-checks them for webhooks, code nodes, sketchy external calls and secrets before you import anything. It won’t do a live import on purpose.

ffmpeg-API
AI, automation and MCP tools · Python
A small FastAPI service for the everyday FFmpeg jobs: convert audio and video, pull audio out of video, grab frames, strip silence. It ships with an MCP server so agents can use it too. A standalone Splat-I module.

Timedate API & MCP Server
AI, automation and MCP tools · Python
Send it any IANA timezone, get back the current time, date, UTC offset and abbreviation. A tiny FastAPI app with an MCP server on top, so an AI assistant can ask what time it is too.

OMI-Memory-Supabase
AI, automation and MCP tools · Python
Self-hosted memory management for Omi using n8n, Postgres/Supabase and a FastAPI review UI. Omi captures get treated as evidence, and nothing becomes a real memory until you review it. Proof of concept.

OMI-Tasks-Supabase
AI, automation and MCP tools · Python
Same idea as OMI-Memory, but for tasks: a self-hosted review UI plus a Postgres schema. Omi action items land in a review queue and only become real tasks once you approve them. Built with FastAPI, Postgres/Supabase and Docker Compose. Proof of concept.

Codex Limit Watcher
AI, automation and MCP tools · JavaScript
A Linux desktop app that keeps an eye on my Codex 5-hour and weekly usage limits and when they reset. Light and dark modes, a mini mode, and your account number is masked by default. MIT licensed.
Hardware automation

IKEA Desk Automation
Hardware automation · Python
Runs IKEA/LINAK standing desks over Bluetooth on Linux, no Home Assistant or cloud needed. An optional Intel RealSense depth camera can raise the desk when I walk away and bring it back when I sit down. Still a prototype, and it dry-runs by default.
Just for fun

Jade Cube: Cosmic Mahjong
Just for fun · Python
Mahjong with floating jade boards, illustrated HD tiles and music visualization. Play solitaire or traditional Mahjong against the computer. This repo holds the published site only, and the code, art and music rights are reserved.
GeekTheGreyBeard
