Hey there, I'm Yoftahe Abraham. I'm a software developer who likes building small, sharp tools. I work mostly in rust and typescript, with frequent detours into zig, go, nix and kernel developemnt.
Currently focused on systems programming, type-safe data pipelines, and reproducible development environments. I care about every detail and make something as small as possible.
most of my work lives on github: github.com/yofabr
recent blogs
-
Learning assembly x86 (Jul 19, 2026)
reproducible environments are not a luxury. a few notes on how i use nix to keep my dev machines in sync.
-
why i write nix for everything (Nov 14, 2025)
reproducible environments are not a luxury. a few notes on how i use nix to keep my dev machines in sync.
-
a small zig json parser (Aug 2, 2025)
writing a streaming json parser in zig was the best way i could think of to actually learn the language.
project
tilde
ziga minimal, fast, and hackable terminal emulator written in zig. focused on speed and a clean rendering pipeline.
stats
project
nixdots
nixmy personal nix configuration, packaged as a flake. reproducible development environments for every machine i touch.
stats
project
kestrel
ocamla tiny, embeddable http server written in ocaml. built for learning, optimized for clarity.
stats
project
muxrpc-go
goa type-safe rpc framework for go services. streams, multiplexes, and never blocks longer than it has to.
stats
project
ferrite
rusta type-checked query builder for sql in rust. compile-time guarantees that your queries are valid before they ever run.
stats
project
tsc-watch
typescriptan opinionated file watcher for the typescript compiler. rebuilds on change, pretty-prints diagnostics, nothing more.
stats
language
Rust
my default for performance-sensitive work and code that benefits from strict correctness.
current note
what i reach for when performance or correctness really matters.
language
TypeScript
the day-to-day workhorse for product code, tooling, and fast iteration.
current note
the workhorse. types catch most of the dumb mistakes i would otherwise make.
language
Go
what i use for small services and utilities when the simplest thing should win.
current note
for tools and small services. boring in the best possible way.
language
Zig
the language i keep reaching for when i want low-level control without much ceremony.
current note
lower-level systems work without the ceremony. getting comfortable.
language
Nix
the basis of my dev environments and dotfiles, so machines stay reproducible.
current note
explicitly called out: i use nix for all my dev environments and dotfiles.
language
OCaml
a good place to explore strong types and compact, expressive code.
current note
slowly picking it up. the type system rewards the time you put in.