VIR · INVICTVS
Ex libris Brandon LaRocque
❦ programmer · curator · former chef ❦
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 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.
❦
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.
Viaduct
A Linux port of Brent Simmons\' NetNewsWire RSS reader. Styled by vir-gtk with search powered 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, providing the foundational visual identity without libadwaita.
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 that underpin the VirInvictus ecosystem.
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: catalogs, 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 lightweight, 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 ecosystem's only sanctioned write path.
Music & Audio
Conservatory
Conservatory owns and organizes your music, podcasts, and audiobooks on disk, presenting them through a foobar2000 Columns UI browse surface and played through a libmpv daily-driver engine that runs all three media types from one queue. UI styled by vir-gtk and search powered by vir-search.
lattice-music
Tooling for music collectors who keep the filesystem as the source of truth. Library-tree visualization 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, ships the reading analytics nobody else has.
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 rest of the codex
The collection keeps eleven more volumes on the shelf, each with its own page: AudiobookTools, Carrel, Catagotchi, dragon-agents, Haveli, Hearth, opends, project-void, project-yeschef, Topograph, and vir-tui.
❦
III. Dispatches
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.