I work on a lot of side projects, but not all of them are public or well packaged. Here is a curated list of projects you might find interesting — check out my GitHub for more.

2026-02

vfat-rs

A FAT32 filesystem implementation written in Rust. Supports reading and writing files, directories, and long file names.

🦀 Rust
CI crates.io GitHub stars
2026-02

TLA by Example

Learn TLA+ specifications through interactive examples. Write specs and run the TLC model checker directly in your browser. It has since moved under the official TLA+ org.

📜 TypeScript / ☕ Java / 🌐 WebAssembly (CheerpJ)
GitHub stars Visit now
2026-02

tlaplus-formatter

A formatter for TLA+ specifications, based on the Wadler-Lindig pretty-printing algorithm. Now integrated into the official tlatools repository. Read the blog post · Try it online.

☕ Java
GitHub stars Visit now
2025-04

Genereto

A static site generator written in Rust. Simple, fast and powerful. It powers my personal website and a few more. Documentation.

🦀 Rust
GitHub stars Documentation
2020

Horust

A supervisor / init system written in Rust and designed to run inside containers. Documentation.

🦀 Rust
CI crates.io GitHub stars Documentation

You can find more of my projects on my GitHub page.

Notable Contributions

🔒 CVE 2025-06

Microsoft SymCrypt — Heap buffer overflow in XMSS^MT signing (GHSA-rvj8-8h6x-hjmg)

Found an integer truncation bug where a 64-bit leaf count was silently truncated to 32 bits, causing a heap buffer overflow during XMSS^MT signature computation. Fixed in v103.11.0. Advisory

🐛 Soundness Bug 2024-07

TLC Model Checker (TLA⁺) — Concurrency bug in temporal property verification

Identified a soundness bug affecting verification of temporal properties when TLC uses multiple worker threads. Present since ~2009. GitHub issue · Announcement

🔧 Maintainer 2024-09 — present

Maintainer for VSCode TLA⁺ Extension — github.com/tlaplus/vscode-tlaplus

One of the maintainers of the official TLA⁺ extension for Visual Studio Code. Notable features contributed:

  • Detect PlusCal/TLA⁺ divergence before translating
  • Unicode operator completions
  • Integrated tlaplus-formatter support
  • Restore counterexample navigation in the MC panel
  • Merged stdout/stderr streams to reliably capture SANY output
  • Option to keep focus on model buffer when running TLC
  • Show errors tab first and add direct links to errors from SANY output
  • Colored diff highlighting (additions, deletions, updates) in state changes
  • Show simulator progress in the side panel
  • PDF generation: feature parity with the TLA⁺ Toolbox
  • Display infobox when .cfg file is missing
  • Don't generate .cfg file when transpiling PlusCal
  • Fix broken syntax highlighting after the first submodule
  • Fix commented operator definitions being incorrectly stylized

Other Contributions

Other Projects

2025-09

TLA+ Wiki

A community wiki for TLA+. Started as a GitHub repository, migrated to DokuWiki, and now hosted at docs.tlapl.us as part of the official TLA+ ecosystem.

📖 DokuWiki
Visit now
2025-07

code-vibes

A simple webapp that streams music while programming.

📜 TypeScript
Visit now
2025-05

Yes, we kana

A webapp to help you learn Japanese: hiragana, katakana and more. I've developed this while studying Japanese.

📜 TypeScript
2025-05

OpenSingleTab

A simple browser extension to keep your tabs under control. Available on Firefox and Chrome webstores. Open source, safe reimplementation of OneTab.

📜 TypeScript
GitHub stars
2018

Apache Oozie Workflow Visualizer

A small tool to visualize Apache Oozie workflows, built while working as a consultant. I was working with very large workflows and hadn't access to any UI.

📜 JavaScript / 📊 D3
GitHub stars Visit now