On a quest for fault tolerant systems that refuse to die.
Weapons of choice: Rust, OCaml, and Erlang.
The coolest thing I've worked on was the late Helium blockchain.
beam_stats
: collect detailed Erlang VM metrics and send to arbitrary, pluggable backendshope
: Higher Order Programming in Erlang - a living experiment with uniform, composable abstractionsstream
: streams with parallel processing, lazy filtering and optimal random samplingcontract
: an embedded Design by contract DSLx-plane-data
: X-Plane UDP data parser for Erlanggoogle-authenticator-uri
: Google Authenticator URI constructor- RFC 4226 - HMAC-Based One-Time Password
- RFC 6238 - Time-Based One-Time Password
- RFC 5849 - OAuth 1 Protocol: server and storage independent library, supports eventual consistency via state-based CRDTs
crdt
: select, app-level, state-based CRDTs (used above)merkler
: a Merkle tree implementation for Erlang
Of which beam_stats
and
hope
are my go-to.
ma
: mail archivist - pull from N IMAP accounts into 1 SQLite databasephorg
: idempotent photo/video file organizer (EXIF + hash --> filepath)barista
: concurrent status bar with feed process monitoring, expirations, remote control and live reconfiguration (successor topista
)stamon
: collection of various status data collectors/aggregatorspista
: event loop over N FIFOs, reading line streams and writing into N segments of your status buffer, with a TTL per segmentpistactl
: being inspired by ii,pista
is minimal and calls for a convenience layer in practice, this is itgg
: git of gits - discover, catalogue and compare all your git reposdups
: duplicate file finderprobe-me
: TCP port probing microservice for lightweight perimeter monitoringgit-analysis
: exploratory analysis of a Git repositorydropbox-conflicts
: build a tree of conflict dependencies in your Droppbox directorytt
: client and a crawler of twtxt (a P2P microblogging network
tiger.ml
: Tiger front end in OCamlnumerals
: how do they even work?ShilovLinearAlgebra
: concrete tests for (some) theorems presented in Shilov's Linear Algebra book- Evolutionary Computation Exercises
BTW, I use Void with dwm, st, and a home-grown status bar.
I gave VSCode and JetBrains an honest try - they're very nice, but feel like major degradations of ergonomics from my whole desktop being an integrated development environment.