jak tiano

Software

This is a curated collection of software that I've written that I think is worth sharing. It ranges from deployed personal infrastructure to unfinished architectural experiments. In my personal work, I care about small systems that one person can understand, direct control over important data and infrastructure, and software that remains runnable for the long haul.

Current projects live across my personal repositories and the Studio Pollinator organization. Older Rust and systems work remains on SourceHut.

Working philosophy

The hard part of software is usually legibility and maintenance, not cleverness or framework selection. I do my best to: 1) write as little code as possible; 2) import as little code as possible; and 3) rely on mature and tested code and protocols when I do rely on it.

I try to stay focused on the problem or experiment at hand, and err on the side of "this will still work or compile if I try to use or modify it in 10 years".


Current Systems and Agent Work

Projects and explorations around self-hosted AI tooling and the application infrastructure that makes it useful. Some are functional systems in regular use; others are deliberately early architectural experiments.


Application Prototypes

Graphical UI applications and prototypes that I'm actively working on.


Utilities and Small Experiments

Smaller systems, libraries, and experiments that support my other work or pursue a tightly bounded technical question.

command-go No AI AI-Assisted

Library 2025–present Go source ↗

A collection of narrow packages for recurring application concerns such as command trees, environments, API clients, metrics, and reporting. The packages work together with Go Agent Skills so agents can reuse established implementations instead of repeatedly inventing them.

hyperstruct No AI

Exploration 2024 Python · HTML source ↗

An experiment in defining and extracting structured data from ordinary HTML through reusable CSS-selector-based schemas, with minimal extra markup for page authors.

collect No AI

Utility 2023–2025 Rust source ↗

A small rendering language for composing plain-text source files into a render tree. I use it to share document structures, query page collections, and produce intermediate SAM across my websites.

SAM No AI

Utility 2023–2025 Rust source ↗

My implementation of Semantic Authoring Markdown, an alternative syntax for writing semantic XML and HTML by hand. collect renders into SAM, which then produces the final pages on this site.

Radeon Kernel Module Patch No AI

Utility 2023 Shell · Linux source ↗

A script and kernel patch for loading the Radeon VBIOS on a 2006 MacBook Pro under modern Linux. It automated the recurring work needed to keep an otherwise unsupported machine useful.

command for Hare No AI

Library 2023 Hare source ↗

A port and refinement of the Rust command-line parser written while learning Hare and exploring its approach to small systems programs.

command for Rust No AI

Library 2023 Rust source ↗

A dependency-free command-line parser supporting subcommands, operands, short and long options, and generated help. I built it to get the features I needed without bringing a large dependency tree into small Rust programs.


Programming Language Research

Coalescent Computer was a 2022–2023 research project about content-addressed programs, symbols, and computing environments. The complete project has its own research site.

co No AI

Exploration 2022–2023 Rust source ↗ project page ↗

An experimental content-addressed, concatenative assembly language. co assembles programs to the COINS instruction set and manages a local symbol library whose names resolve to immutable program fragments.

cohost No AI

Exploration 2022–2023 Rust source ↗ project page ↗

A stack-based virtual machine for COINS programs, with an extensible virtual-device protocol over Unix sockets. Its primary purpose is executing programs written in co while keeping devices outside the core runtime.

COINS No AI

Library 2022–2023 Rust source ↗

The shared Coalescent Instruction Set library and living specification. It defines a compact bytecode that preserves enough assembly semantics for valid programs to move losslessly between source and bytecode representations.