A real-time roguelike typing shooter, solo or multiplayer, on an HFSM-driven ECS engine of its own, played with Vim motions on a keyboard, a mouse or a phone's touchscreen.
- vi motions, operators, search and macros are the controls
- Own ECS runtime driven by TOML-authored state machines
- Enemies that adapt: a bandit learns the routes, a genetic engine evolves them
- Multiplayer over TCP or WebSocket, with dedicated game servers on demand
- One game for a terminal, a desktop window, an Android phone and the browser
A Go chess server with a REST API, Stockfish for validation and computer play, optional accounts, and durable replay. Three different clients share it.
- Human vs computer, human vs human, computer vs computer
- Resignation, draw offers and automatic draws
- Optional accounts you can delete yourself; anonymous games are kept 24 hours
- Durable history, replay on the board and in the terminal, PGN export
- Web board, terminal CLI, and the same CLI in WebAssembly
Eight rotatable rings, one notch each: line them up. Every ring drags its neighbours along at half speed, so each correction is also a disturbance.
- Random start, drag and tap controls
- Built-in solver
- About 1 MB, works offline, asks for no permissions
A single-binary log transport in Go. It collects from files, stdin or other nodes, then filters, rate-limits and formats entries for files, consoles, live streams or the next node.
- A Unix filter with no config: stdin to stdout, line for line
- Independent pipelines, each sources → flow → sinks, hot-reloaded
- Live SSE and TCP streams, a browser viewer, chaining between nodes
- TLS, mutual TLS and Argon2id-SCRAM on every link; address rules, per-client limits and PROXY headers on every listener
- Composed in a terminal UI (lw –tui) or in the browser, on the same engine, and tapped live on the terminal
Terminal I/O for Go with no terminfo: double-buffered cell diffing, true colour with automatic 256-colour fallback, raw key and mouse input, and the same API in a browser through a WebAssembly backend.
- Cell-level diffing: only changed cells emit escape sequences
- True colour and xterm-256 with perceptual mapping and blend modes
- Raw input: keys, modifiers, UTF-8, SGR mouse, resize
- Unix and WebAssembly backends behind one interface
- An immediate-mode TUI toolkit and inline CLI output as sub-packages
A buffered, rotating file logger for Go with disk-space management, operational heartbeats and hot reconfiguration.
- Lock-free asynchronous writes, minimal impact on the caller
- Rotation and disk-space limits built in
- Heartbeat records for production monitoring
- Reconfigure at runtime without losing records
Thread-safe configuration for Go from defaults, TOML files, environment and flags, with configurable precedence and per-value source tracking.
- Struct-based, typed and validated
- Configurable precedence across sources
- Reloads when the TOML file changes
- Reports where each value came from
A song advances one chord at a time on a 3×3 grid; you move across lanes and rows to collect notes and dodge walls. One deterministic engine drives two frontends, a terminal and a graphical raylib window.
- Deterministic, side-effect-free game engine; rendering decoupled from the beat
- Terminal frontend and a raylib frontend sharing one draw pipeline
- raylib bound without CGO through purego
- Synthesized sound effects; vim-style controls