Open Source
Libraries I maintain and patches I have upstreamed.
Libraries
- Library · TypeScript · ★ 18 timekeeper-countdown
Zero-dependency countdown engine with a snapshot-driven API and a React useCountdown hook, structured as a monorepo (core engine plus framework adapters). The framework-agnostic core uses wall-clock (performance.now) precision, immutable per-tick snapshots, and ships a fake-time provider for deterministic tests. Published to npm under the @timekeeper-countdown scope with VitePress docs and CI.
npm: @timekeeper-countdown/core @0.2.0 · @timekeeper-countdown/react @0.2.0
- Library · Erlang erli18n
Internationalization (i18n) library for Erlang/OTP, fully GNU gettext compatible — drop-in support for .po/.pot files from Poedit, Crowdin, Transifex, Weblate, and xgettext. A first-class pure-Erlang gettext alternative (gettext/ngettext/pgettext) with atomic catalog loading, runtime Plural-Forms resolution, and CLDR validation, filling the gap left by the stalled gettexter without forcing an Elixir polyglot build.
Contributions
phoenixframework/phoenix
The productive web framework for Elixir — peace of mind from prototype to production.
- Merged · #6635 Don't pass type: :id to scope references in generated migrations
- Merged · #6633 Fix phx.new crash when parent directory contains a colon
- Merged · #6632 Raise on list value in query string parameter encoding
- Merged · #6631 Fix outdated flash component example in docs
ninenines/cowboy
Small, fast, modern HTTP server for Erlang/OTP.
- Open · #1715 Set SO_LINGER to {true, 0} before the linger loop
ninenines/cowlib
Support library for manipulating Web protocols (HTTP/1, HTTP/2, WebSocket parsing) underpinning Cowboy.
- Open · #156 Use SWAR in cow_http1 header and path parsers
ninenines/ci.erlang.mk
Automatic Erlang/OTP version management for Erlang.mk CI.
patrick-steele-idem/morphdom
Fast, lightweight DOM diffing/patching with no virtual DOM — the diffing engine used by Phoenix LiveView.