hey there, i'm Yoftahe Abraham. i'm a software engineer who likes building small, sharp tools. i work mostly in rust and typescript, with frequent detours into zig, go, ocaml, and nix.
currently focused on systems programming, type-safe data pipelines, and reproducible development environments. i care about correctness, performance, and keeping the surface area of any tool 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
contribution
bun
typescriptadded native bindings for a streaming json parser. merged upstream after a few rounds of api review.
stats
contribution
tokio
rustfixed a long-standing race condition in the signal driver. issue open for two years, closed in a weekend.
stats
contribution
nixpkgs
nixmaintainer of a small set of packages. mostly ocaml and zig tools that would otherwise bitrot.
stats
contribution
zls
ziglanguage server improvements. smarter completion and incremental analysis for larger projects.
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.