Skip to content
View vic's full-sized avatar
🐊
hoy amanecí dichosamente herido de muerte natural
🐊
hoy amanecí dichosamente herido de muerte natural

Sponsors

Private Sponsor
Private Sponsor
@defewit
@aveeryy
@theutz
@drupol
@rcouto
@fabianhjr
Private Sponsor
@benbelov

Sponsoring

@sini

Block or report vic

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
vic/README.md

Hi, I'm Vic 👋

Compilers, effect systems, Nix, and whatever I fell into this week.

Sponsor @vic   CV

Writing open source since 1999 · GitHub user #331 · Mexico City 🇲🇽


What I'm proud of lately

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/ircc

Yes, I built a chat room for robots. They are better at it than I am.

Smaller things

  • 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.

I LOVE Nix

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

  • den context-aware, aspect-oriented configuration. People use it for real things, which still surprises me.
  • import-tree import every Nix module in a directory tree. The one that started it all.
  • flake-aspects aspect composition with dependency DAGs
  • flake-file generate flake.nix from module options
  • dendrix community distribution on the Dendritic pattern
  • dnx: an attempt at a parallel Nix evaluator on interaction nets.

Effects, FRP and friends

  • nfx algebraic effects with handlers, for Nix
  • fx-rs ability-style effects for stable Rust, after Scala's Kyo
  • fx.go effect handlers for Go
  • ned stream-based FRP for Nix, inspired by Cycle.js
  • bend lens-based bidirectional parser combinators for Nix
  • zen a tiny Nix module system
Even older: Elixir, Scala, Go, Emacs, and a Nix engine
  • params Ecto-style parameter validation for Elixir (my most-starred one, go figure)
  • gleam-nix build Gleam with Nix
  • zio-logic μKanren-style logic programming for ZIO
  • rebecca-theme the purple turtle theme for Spacemacs
  • leader Vim-style leader key for your $SHELL
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

About me

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."

Work with me

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

Connect


If something I made saved you some time, supporting the person behind it keeps it free and in the open. 🙏

💜 Become a Sponsor  ·  ☕ Buy me a coffee

Pinned Loading

  1. rev rev Public

    Biblical commentary on Revelation by Ranko Stefanovic