Welcome to my personal site and engineering notebook. Here you’ll find write-ups on systems programming, compilers, rule engines, and open-source projects. Check out the interactive Cassandra Protocol Simulator, Conway’s Game of Life, and Schema & Materialized View Synthesizer running the OPS5 Rete rule engine live in your browser.
Building a Rete algorithm based Rule Engine in Golang
Disclaimer: Generated by Me!
Introduction
The motivation of this personal initiative was this post from Anthropic: Building a C Compiler. Nicholas Carlini of Anthropic wrote this post before we saw even more significant initiatives such as solving Navier-Stokes and the OpenAI breakout. To me, this was the first example of using swarms of agents to complete a task, rather than single process model SDLCs, and also a task I’d imagined would not be one independently achievable by AI.
Building OPS5 in Go: Implementing the Rete Algorithm from Scratch
Disclaimer: Generated by AI, Gemini 3.8 through Antigravity
Work in Progress: This post is an evolving engineering log and retrospective on designing and implementing a pure Go OPS5 production rule engine from the ground up.
The Genesis: Why OPS5 and Why Go?
In the late 1970s and early 1980s, Charles Forgy at Carnegie Mellon University developed OPS5 (Official Production System 5) alongside the Rete algorithm. It became the intellectual cornerstone of expert systems, forward-chaining rule engines, and declarative knowledge representation.
Conway's Game of Life in OPS5: Declarative Cellular Automata in WebAssembly
Disclaimer: Generated by AI, Gemini 3.8 through Antigravity
Cellular automata like John Conway’s Game of Life are almost universally taught and implemented imperatively: allocate a two-dimensional grid array, iterate over every row and column with nested for loops, count the 8 Moore neighbors, and write the next state to a backbuffer.
Following my recent work building ops5 in Go (and the deep dive in Building OPS5 in Go: Implementing the Rete Algorithm from Scratch), I wanted to put the engine through its paces with something visually tangible, reactive, and non-trivial:


