VIR · INVICTVS
Ex libris Brandon LaRocque
❦ programmer · curator · former chef ❦
the canon · the shelf of what built me
the influences · the hands behind the shelf
the stacks · ten thousand books, counted
the annals · every release, logged nightly
I. On the Author
My work focuses on native Linux desktop software. I build with Rust and GTK4, C built with Meson, and Python where the standard library reaches. Everything is local-first by default. I rely on SQLite in WAL mode with a single-writer worker, read-only connection pools, and FTS5 for search. No cloud accounts. No Docker. No Electron. No telemetry.
Where a rule can be a compile error instead of a convention, I make it one. I would rather ship against a hard memory ceiling than an optional benchmark, and I will port a battle-tested architecture with attribution before I invent a new one.
I drive an AI coding harness across the workspace, and I built it a staff: dragon-agents, twenty-four read-only research subagents that map repositories, audit releases, triage CI, and verify a claim before it gates any work. The staff reads and reports; it never writes. The drafting happens at my direction in the main thread, and the deciding happens nowhere else.
Compile-time invariants, test suites, dry-run defaults, single-writer SQLite: agent-drafted code meets the same gates any human patch would. A machine cannot argue its way past a borrow checker, and I wired my workflow so that I cannot either.
I came to this work late. I spent nearly twenty years in restaurants and mining camps before picking up The C Programming Language. I read it at night between shifts because the cover looked serious and I wanted to know what serious looked like. I am a Computer Engineering Technician student now with a CS bachelor’s underway at Algoma; the paperwork is catching up to two decades of practice.
By temperament I am an archivist. I keep a private Calibre library that runs into the four figures, a music collection sorted by hand, and an RSS spool I read every morning. Friends have called the practice shadow librarianship. The catalogue is my own, kept on my own disks, and indexed by my own tools. Most of what I build is designed for people who treat their library as a resource worth maintaining.
The site is named Vir Invictus, the unconquered. I picked it a long time ago and it stuck.
I am open to work, and when the problem is cool enough the rate is a formality; the cool ones are why I got into this. Write to larocque.brandon+outreach@gmail.com.
❦
II. The Collection
Native Linux desktop software sits at the centre, with games, KOReader companions, and small utilities at the edges. Local-first is the default; the throughline is curation. What follows is a selection of the most active work. Atrium is the largest piece in motion. The rest are sorted by category.
Applications
Atrium
The native Linux task manager you grow into, not out of. An Org-mode app wearing a Things 3 / OmniFocus disguise: UUIDs on every node, plain-text round-trip, deadlines and schedules and contexts as first-class data, in a fast GTK4 surface styled by vir-gtk that never asks you to open Emacs, with search powered by vir-search.
Docket
A plain-text task editor, clean-room faithful to the TaskPaper format: projects end with a colon, tasks start with a dash, and the files stay plain text any editor can open. Folding, live queries, and the reference's structural commands in a GTK4 surface.
Viaduct
A Linux port of Brent Simmons\' NetNewsWire RSS reader: a headless core and a GTK4 front end styled by vir-gtk, smart feeds parsed by vir-search.
Framework
A native Linux document viewer for PDF, DjVu, CBZ, CB7, CBT, CBR, XPS, EPUB, FB2, MOBI, AZW3, TXT, and Markdown: the gap between feature-heavy clients (Okular) and bare MuPDF wrappers, a SumatraPDF-shaped experience for Linux.
raindrop-cli
Dependency-free CLI for raindrop.io and pinboard. Full REST API coverage over stdlib urllib; designed ANSI for humans and --json for scripts and agents, typed errors, rate-limit backoff, --dry-run on every write, blast-radius-gated confirmation prompts, and a two-way additive sync between the two services.
vir-gtk
A standalone Rust library extracting the shared GTK4 styling and D-Bus portal interaction layer for the VirInvictus desktop suite: the Kanagawa stylesheet and portal plumbing behind its apps, libadwaita removed.
vir-search
A domain-agnostic Rust library for parsing Calibre-style search expressions into a typed AST. It provides the lexer, generic recursive-descent parser, and date-range resolvers shared by Atrium, Conservatory, and Viaduct.
Quire
A soulver-style notepad calculator: prose and math share one plain-text sheet and every expression answers in a right-hand results column, with dimension-checked units, currency, and line references that renumber themselves.
Books & Calibre
Hermitage
Built for the single user who wants a modern desktop experience over a Calibre library without Docker or a web auth layer in the way, powered by cquarry.
CalibreQuarry
Calibre power-user tooling built on cquarry: catalogues, statistics, integrity audits, and write-capable curation verbs behind --apply-shaped guards. Installs from PyPI as calibrequarry.
bindery-cli
A command-line surgeon for malformed EPUBs. Evaluates thousands of books in minutes, repairing structural defects, unwrapping illegal HTML markup, and auditing for content damage (OCR, wrong-language tags) before swapping the fixed formats natively into your Calibre database via cquarry.
cquarry
A canonical Python package providing read-only access to Calibre's metadata.db and a full parser for Calibre's native search expression grammar; the opt-in cquarry.write module is the collection's only sanctioned write path.
Carrel
A single-user reading room for a curated calibre library: ok-lab accessible typography, no login, metadata.db attached read-only, and a search bar that speaks Calibre's own expression language. The code rides in the companion fork.
Music & Audio
Conservatory
Conservatory owns the music, podcast, and audiobook files on disk; the database is truth and the folder tree is a projection of it. Browsing is foobar2000-style facets; playback runs through libmpv from one queue. The surface is vir-gtk's flat Kanagawa on plain GTK4; vir-search drives the search expression grammar.
lattice-music
Tooling for music collectors who keep the filesystem as the source of truth. Library-tree visualisation across artist / album / track / rating / genre.
deadbeef-cui
A faceted-browser plugin for the DeaDBeeF music player, bringing foobar2000-style Columns UI / Facets to Linux.
KOReader
Colophon
Native statistics viewer for KOReader. Imports a copy of statistics.sqlite3, draws its own Cairo charts, surfaces the analytics the reader itself never shows.
saforums
Read the Something Awful Forums on your e-reader: login with persisted cookies, forum index and bookmark shelf with unread counts, and continue-at-unread, rendered as native koreader post cards. Screen-scraped by a written contract, tested against synthetic fixtures.
Dead Reckoning
Navigation-cockpit preset for KOReader's bookends plugin: session pace, chapter ETA, projected finish date, and chapter ticks on the progress bar.
Sleepscreen Banner
KOReader user patch: redraws the sleep screen as a Kobo-style floating card over your cover, with a random highlight as a pull-quote. A prettified fork of zenixlabs' patch.
1-timezone
KOReader user patch: forces a correct POSIX timezone inside the process (setenv + tzset), fixing the clock, time sync, and autowarmth on framework-less installs where no TZ is set.
Games & Engines
Hearthfall
Grimdark clan-survival for the terminal. Seasonal turns, a fog-black map, and a finite clan split between foraging, exploring, and war. The engine is stdlib-only pure logic with no i/o and no rendering, driveable from a repl; every draw goes through one seeded RNG, so a seed replays a run exactly.
The Foundry
dragon-agents
Twenty-four read-only research subagents in a local ZCode plugin: release audits, CI triage, repo cartography, claim checks, markets and machine-health briefs. Nothing they read is ever written; the deciding and the editing stay with the main thread.
annals
The codex's own bookkeeper: every release and commit across the collection, rendered nightly into one reproducible ledger. Its published output is the patchnotes page and the ledger line below.
The rest of the codex
The collection keeps twelve more volumes on the shelf, each with its own page: AudiobookTools, Catagotchi, crash-course, Haveli, Hearth, hex, opends, project-void, project-yeschef, Topograph, vir-tui, and whisker-street.
As of 2026-11-06 the ledger reads 44 repositories · 1,590 releases · 5,292 commits; November 2026 added 46 releases across 8 of them. The newest entry is hex 0.13.1 (11-06). The whole record lands in the patchnotes, regenerated nightly from each repo’s own log.
❦
III. Dispatches
- The Homestead
- The Arithmetic of Enough
- The Dig: Five Months of OpenDS
- The Workshop: A Day at the Terminal
- What I Use: Constraints and Good Iron
If any of this saved you time, the tip jar lives at GitHub Sponsors; Liberapay (liberapay.com/bdkl) and bitcoin (bc1qkge6zr45tzqfwfmvma2ylumt6mg7wlwmhr05yv) ride along in the profile's support section.