Almost all of the work I’ve been payed to do for the past two years is closed-source, so I won’t be able to show that here, but below I’ve listed a few of the open-source projects I’ve done in my spare time.
Mocha HQ - 2016
A tool for running tests in development, MochaHQ parses Mocha configs and Jasmine test files, puts together a static tree of runnable tests, and generates a UI for working in a beautiful TDD-style fashion. More information available in the ReadMe.
https://github.com/splodingsocks/mochahq
Flow-Typed - 2016
I was part of the original effort behind the "Flow Typed" repository of library definitions for Facebook's Javascript static type system, Flow. In my spare time I did early work on the CLI for searching and fetching library definitions.
https://github.com/flowtype/flow-typed
Elm Example Apps - 2016
In preparation for giving introductory workshops on Elm at US conferences I’ve put together a few little apps as examples for the workshop participants.
http://choosey.murph.xyz - Input a number of options, and generate a random choice from those options.
http://markalicious.murph.xyz - Input markdown and format it with CSS in real-time, saving it for showing off later.
https://github.com/splodingsocks/elm-starter - A starter kit starred and used by a few people
The Cheese Palette - 2015
My in-laws are world travelers, and cheese lovers. Recently they combined their passions and launched a fancy-cheese shop. I volunteered to make their Web site. It started as a React.js project, using Braintree to process payments, but was re-written as a front-end only app in Elm when requirements changed. Ultimately requirements changed again, reducing in complexity enough to use Square's tools instead of a custom-built solution, leaving this implementation unfinished. But I open-sourced the code for others to reference.
https://github.com/splodingsocks/the-cheese-palette
Climbing Into Elm - 2015
Shortly after I began learning Elm, I presented on it at a local meet-up. Surprisingly, the video has been re-shared many times, and now has over 9,000 views on YouTube.
https://www.youtube.com/watch?v=-JlC2Q89yg4
Talk on Codemods - 2015
As part of a project to upgrade the version of Flow (a static type checker for Javascript) in a medium-sized codebase, I learned about performing major re-factorings across thousands of files by parsing javascript source into an AST, modifying the AST, and then programmatically writing out the transformed source. I presented on what I learned at a local JS meet-up:
http://murph.xyz/Codemods/
MrDict - 2014
As an exercise, I wrote an implementation of a Dictionary in Javascript, performing my own hashing, and testing it with thousands of entries.
https://github.com/splodingsocks/MrDict.js
Projects from Graphics Course at BYU - 2012
These projects are old, but have been included to show a diversity of experience.
https://github.com/splodingsocks/Raytracer - Ray-tracer from scratch in Python. It renders spheres, uses lights, and implements one shading model.
https://github.com/splodingsocks/MTools - A library for basic matrix math. (Used in the ray-tracer above)
https://github.com/splodingsocks/ShallowWater - A very basic (and slow) shallow water simulation written using Javascript & Three.js. This project was an exercise in translating a pre-existing mathematical model for simulating surface ripples into executable code.