Projects

These are the projects that I have created and currently work on:

  • Cathode: A terminal-centric replacement for the .NET console APIs.

  • Celerity: An expressive programming language for writing concurrent and maintainable software.

  • Graf: A graph-oriented intermediate representation, optimization framework, and machine code generator.

  • libap: A port of LLVM's arbitrary-precision numerics types to Zig with a C API.

  • Novadrop: A developer toolkit for interacting with and modifying the TERA game client.

  • Ruptura: A Windows DLL injection, function interception, and memory manipulation library for .NET.

  • TERA Arise: A game resurrection project for the final build of TERA EU.

  • TON: A human-friendly language for programmatic authoring and safe interchange of tree-structured data.

  • Zig SDK: An MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler.

  • Zig Toolsets: The Zig compiler and standard library packaged for use in MSBuild.

I have created the following projects in the past, but I no longer maintain them:

  • Alkahest: An extensible TERA proxy server.

  • Atomique: Sane atomic operations for .NET based on the C++11 memory model.

  • Augmentrex: A reverse engineering tool for the Steam version of Hellgate: London.

  • ExMake: A modern, scriptable, dependency-based build tool similar to Make.

  • ExParsec: A parser combinator library inspired by Parsec.

  • Flect: A pragmatic, functional systems programming language.

  • MCI: The Managed Compiler Infrastructure is a modern and intuitive compiler backend for managed languages.

  • Oninaki Reincarnation: A combat and post-game overhaul mod for the Steam version of Oninaki.

  • SDB: Command line interface to the Mono soft debugger.

  • Satori: Libraries and tools for the Epiphany processor architecture.

I've contributed substantially to many other projects:

  • .NET Runtime: A cross-platform runtime for cloud, mobile, desktop, and IoT apps.

  • Binary Ninja API: Public API, examples, documentation, and issues for Binary Ninja.

  • ClangSharp: Clang bindings for .NET written in C#.

  • DMD: The reference compiler and runtime library for the D programming language.

  • dnlib: Reads and writes .NET assemblies and modules.

  • DocFX: Tools for building and publishing API documentation for .NET projects.

  • Draco: The Draco programming language compiler.

  • Elixir: A dynamic, functional language designed for building scalable and maintainable applications.

  • gpr: A .NET Core tool for working with the GitHub Package Registry.

  • Homebrew: The missing package manager for macOS (or Linux).

  • LDC: The LLVM-based D compiler.

  • LLVM: The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

  • LuaD: Bridge to Lua from the D programming language.

  • Meson: The Meson build system.

  • Micro: A modern and intuitive terminal-based text editor.

  • Mono: Open source implementation of C#, CLI, and .NET.

  • Mono.Posix: POSIX/Unix interface for Mono, .NET and .NET Core.

  • MonoDevelop: Cross-platform C#/.NET IDE.

  • Nerdbank.GitVersioning: Stamps assemblies with Semantic Versioning 2.0.0-compliant version information derived from Git commit height.

  • Orleans: A cross-platform framework for building distributed .NET applications.

  • Pegged: A Parsing Expression Grammar (PEG) module, using the D programming language.

  • PeNet: Portable Executable (PE) library written in .NET.

  • Phobos: The standard library of the D programming language.

  • Silk.NET: One-stop-shop for high-speed .NET multimedia, graphics, and compute.

  • Spdx: An (unofficial) library for working with SPDX (Software Package Data Exchange).

  • VapourSynth: A video processing framework with simplicity in mind.

  • VS Code Zig: Zig language support for VS Code.

  • Waf: The meta build system.

  • Wcwidth: A .NET library that calculates the width of Unicode characters.

  • WebMarkupMin: A set of markup minifiers for .NET.

  • Xamarin.Android: Provides open source bindings of the Android SDK for use with .NET managed languages such as C#.

  • Xamarin.Mac/iOS: Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.

  • Zig: General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

(And probably others that I have forgotten…)