From big to small, things I've worked on over the years that I'd like others to know about.



GLSL fragment shader viewer and browser. An editor-independent version of atom-glsl-preview.

Atom GLSL Preview

Live preview GLSL shaders in the Atom editor.

Screenshot of atom-glsl-preview showing code on the left and a rendering of the shader on the right.
GLSL Grapher

Graphing tool for WebGL developers.

Screenshot of glsl-grapher showing a graph of the sine function.

Run GLSL shaders in a canvas.


Formatted diffs for failing go examples.


A disorganized collection of useful scripts that live on my $PATH.


A simple tool that creates a dynamic image of a price in bitcoin, based on a reference price in another currency (USD, for example).



Online multiplayer board game in the spirit of Rummikub.

Screenshot of Rumm.
Shader Sketches

Shaders I've made with the help of shaded.

Screenshot of shader sketches gallery.

Experiments in generating identicons.


Interpreter for a massively simplified version of Forth.


Interpreter for the brainfuck programming language.


Beyond Identity

Passwordless and phishing-resistant authentication.


Expressive mobile messaging platform with digital handwriting and 3D animation.

ScribbleChat screenshot and a description of the app: Use ScribbleChat to send customizable, animated messages using unique handwritings, fonts, and effects. Reply with animations, too! Now available in iMessage, Facebook Messenger, Kik, and Skype.

Digital handwriting as a service.

Annotated image of generated handwritten text with every lowercase 'a' highlighted, showing that each instance of the letter is slightly different.
FPGA Mining Co.

The first custom Bitcoin mining hardware company. Founded by myself and a few friends as a fun weekend project, it turned out to be a successful business.

Photograph of the circuit board for the X6500 FPGA Miner.
Proton CT Collaboration

Developing the world's first proton computed tomography (pCT) scanner. My involvement as a physics researcher on the pCT project began in 2008.

See also: contributions I've made to other open source projects.