Hello. My name is Mark Finger, and I make web stuff.
You can find me on
or send me some email.
I’m currently floating about Sydney and working at the
A build tool for the web that prioritises performance during development and
is heavily optimized for hot-swapping code and assets in milliseconds.
A wrapper around webpack that enables persistent caching and compilation within
Pre-rendering React components with Python data.
Performs a naive structural scan to identify and initialize JS modules that can be
hot-swapped without side-effects.
A data store for a build pipeline that merges asynchronous job requests and handles
file changes by intercepting and unrolling job chains.
Simple persistent-caching for Node. Balances some IO-perf and code-complexity
trade-offs by storing records in distinct files.
A JS library for recursively building a cyclic dependency graph. Makes heavy use of
immutable structures to enable snap-shots to be taken.
A Node library that forces function calls to occur only once and always in the
process's next tick.
Python to Node RPC. Enables Python processes to make synchronous and blocking
calls to Node. Provides a manager process that spawns Node processes on demand
and provides a lifecycle such that child-processes can be reused when the
A webpack plugin that outputs an asset manifest with relative paths that can consumed
by the python library. Enables built assets to be integrated into larger systems.
Python tools and utils for providing optional support for django's staticfiles, settings,
env variables and serializers.
Simple Python wrappers that enable programmatic invocations of the Node and NPM binaries.
Simple JS pub/sub implementation.
A browser library for binding event handlers to element positions that are relative to the