Compilers, effect systems, Nix, and whatever I fell into this week.
Writing open source since 1999 · GitHub user #331 · Mexico City 🇲🇽
A small language for describing Nix fleets. You declare your own nouns (hosts, users, k8s, terraform, androids, whatever your world has) from nixos to complete networks of services, and Ren puts each piece of configuration where it belongs. It grew out of Den, so if you know Den you already know most of the ideas, just with a smaller grammar.
Related bits:
- ren-ports: real fleets (mine and a few friendly strangers') re-modeled in Ren by an agent, to see if the thing holds up. Not canonical, just a stress test with nice diagrams.
- dungeon: Den's API rebuilt on Gen libraries. Still very much in progress, most of the tests are not there yet, and I'm not going to pretend otherwise.
A local IRC-like chat for Claude Code sessions. Each session is a #channel, you make rooms (&review), invite sessions, and agents working on different projects can finally talk to each other instead of through me. It opens no network port at all, only unix sockets on your machine.
nix run github:vic/irccYes, I built a chat room for robots. They are better at it than I am.
- tinted-jjui: jjui themes generated from base16/base24 schemes.
- vix: my NixOS + Darwin config. The place where my ideas get tested before they get to embarrass anyone else.
It all started with a little import-tree and then, as it happens, became a whole organization: denful. Docs at denful.dev.
Aspect-oriented Nix
context-aware, aspect-oriented configuration. People use it for real things, which still surprises me.
import every Nix module in a directory tree. The one that started it all.
aspect composition with dependency DAGs
generate
flake.nixfrom module optionscommunity distribution on the Dendritic pattern
- dnx: an attempt at a parallel Nix evaluator on interaction nets.
Effects, FRP and friends
algebraic effects with handlers, for Nix
ability-style effects for stable Rust, after Scala's Kyo
effect handlers for Go
stream-based FRP for Nix, inspired by Cycle.js
lens-based bidirectional parser combinators for Nix
a tiny Nix module system
Even older: Elixir, Scala, Go, Emacs, and a Nix engine
Upstream and community
| Project | Role |
|---|---|
| Apache Buildr | Contributor, ASF member, PMC chair |
| asdf-vm | Maintainer and plugin author |
| jjui | Contributor to this awesome jj TUI |
| Rubinius | Early contributor, wrote Enumerable in Ruby |
| Ragel | Ruby and Rubinius backends |
| effects-bibliography | Collaborative bibliography of computational effects |
I've been writing open source since 1999, mostly by reading other people's code late at night. In 2023 I burned out and left tech completely. I spent that time with poetry, art and theology, and came back with more love than I left with. I still build things, but now I do it because I want to, not because I have to.
I think of what I make as acts of love that happen to compile. Free and libre, no VCs, no equity.
- 🟣 I love the color Rebecca purple, Rothko paintings, and effect systems (in that order on good days)
- 🎹 I obsess over my Glove80 keyboard and over layouts that hurt my fingers less
- 🔇 About 50% hearing loss. Open source has been my voice, so written and async is where I feel at home
- ✝️ Seventh-day Adventist. I belive LOVE is what created us and want us to return to it, so LOVE makes us!
- 📖 I also work on berean.faith, a scripture-study platform where the Bible explains itself
- 💜 I'm single, feel free to fix this 😄
- 🥔 Leave a potato, or literally anything else. Just say "Hey, here's a potato."
25+ years across compilers, language implementation, algebraic effects, functional programming and Nix infrastructure. Open to remote roles in any of those.
- Mostly Rust, Nix, Go, Scala, Elixir
- Also fluent Haskell, Elm, Ruby, TypeScript
- Infrastructure NixOS, Kubernetes, Terraform, Docker, CI/CD
📄 Full CV
- 💬 Open a discussion about anything, I'd love to hear from you
- ✉️ [email protected] (for business, and spam)
- 🦋 Bluesky · X @oeiuwq
If something I made saved you some time, supporting the person behind it keeps it free and in the open. 🙏







