Eric Shull

Software Consultant & Developer, Grand Rapids

Eric Shull

With a degree in mathematics, I believe code shouldn't just get the job done, it should describe the solution elegantly. Code should be flexible, and as a code base matures it should become more capable, not less. Good system design unveils possibilities and allows developers to leverage small changes to great effect.

I'm deeply interested in programming languages and their ability to express ideas, from popular languages like Clojure and Haskell to stack-based languages like Forth and vector-based languages like APL, to interesting experimental languages like Io. I've created a stack-based programming language for expressing mental math algorithms and a vector-based language for generating vector graphics.

I enjoy writing, and have written a disproportional number of posts on Atomic Spin. I wrote a series of micro-essays on tools and techniques that I find small, fast, and simple. I wrote a parser for the Fountain screenplay format and built a tool for formatting stage plays. I spent a year writing and publishing a short story every week.

Open source projects
  • saveSvgAsPng: a popular JavaScript library for converting SVGs to PNGs in the browser.
  • vdom: a ClojureScript library that wraps the virtual-dom library.
  • Pennygame simulation: simulations of manufacturing lines under different situations and rules.
  • Taxicabland: a geometry sketchpad using a non-Euclidean geometry.
  • Stack Math: a stack-based programming language written in ClojureScript.
  • Solar system plotter: a map of the solar system for any given date.
  • Burn chart plotter: a tool for easily creating burn charts from CSVs.
  • Color similarity visualization: a tool for visualizing large sets of colors.
  • Flinch: a stack-based programming language written in Go.
  • state-lexer: simple lexing libraries for JavaScript and Go.
  • Elevations: a tool for parsing GPS data files and plotting position and elevation.
  • like: a suite of tools for finding files with like filenames.
Awards, Conferences, & Groups
  • Clojure/conj 2015
  • AgileConf 2014
  • Great Lakes Software Excellence Conference 2014
  • MIdwest UX 2013

The Atomic Team