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.
Minja: A collection of bindings and tooling for writing Binary Ninja plugins in .NET languages.
Niru: A full-system computer emulator written in C#.
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.
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.
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.
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.
LuaD: Bridge to Lua from the D programming language.
Meson: The Meson build system.
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.
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.