I build practical bridges between .NET software engineering and knowledge representation. My public repos range from a multi‑paradigm language (Fifth) with embedded knowledge graphs, through RDF/SPARQL tools on .NET (inference engine, LINQ‑to‑SPARQL, triple‑store experiments), to a suite of Fish shell plugins that sharpen day‑to‑day dev workflows. You’ll also find formal‑methods‑flavored experiments (Petri nets, decision trees), bite‑sized AI/ML prototypes, and pragmatic ops/dev‑productivity utilities. I’m an advocate for specification‑driven development and curate resources to help teams ship from executable specs.
- The Fifth Programming Language (site)
- ActorSrcGen Source Generator for C# Actor Model
- Coco/R compiler generator for Docker.
- A modelling language to describe architectures
- Very Fast Storage Engine for a Triple Store
- A series of posts on Working with Knowledge Graphs
- An inference engine using SPARQL for RDFS and OWL2
- A CLI app to apply SPARQL migrations to a remote RDF Graph
- A LINQ Query Provider for RDF using SPARQL
- OWL 2 Turtle syntax VS Code snippets
- A packer/ansible build system to create a hardened centos VM image suitable for secure use
- A CLI tool for creating multi-output decision trees - as described by Knuth in TAOCP (vol 4)
- A library for generalised Petri Nets in C#
- Erlang/OTP compatible Petri Net library.
- A .NET windows service to auto-commit changes to a local GIT repo
- Import activity logs into DayOne using the DayOne CLI tools.
- VIM Neosnippets with Turtle snippets
- Pandoc template for writing letters in markdown
- Meteogram weather data charts