Software Projects

I’ve been a software developer for over 20 years. This portfolio showcases some of the products and web sites I’ve built, as well as projects I’ve released under open source licenses.

Open Source Software

I work on open-source projects to help better the software development community.  I have contributed to the Ruby on Rails framework and the Phoenix framework, as well as several other projects. In addition, I maintain these open-source projects:


I am the current maintainer of the node-livereload library. node-livereload provides a server for reloading CSS and HTML in the browser.


Allow specific people to access files from S3 or compatible cloud storage by logging in with Basic Authentication or a Google account. Users can preview audio and video files, and download protecte…


My shell configuration files, including Vim, tmux, and Bash configurations, along with installation scripts.


Project generator for Ruby projects, similar to Elixir's built-in Mix task. Generates tests and a binary stub too.


A lightweight local http server with CORS support that serves JSON data via a REST API. Great for testing stuff.


When developing front-end apps, you need an API. But that API might not support CORS. That means you have to write your own proxy and serve your app from the same server as your proxy. QEDproxy can serve your client-side app and let you proxy requests to a remote endpoint. Directory listing is supported, and index.html is a default filename.

Short-Attention-Span Docbook

Short-Attention-Span Docbook is a docbook build chain for OSX, Linux, and Windows. Contains everything you need to get started as an author as long as you have Java and Ruby installed.  Default XSLT stylesheets are included, as are command line tasks used to create PDFs. No complex setup processes required.

Web Applications

I've created several web applications using various programming languages and technologies.


CodeCaster teacher interface

Codecaster provides teachers with a way to interact with students in the classroom or remotely by sharing code and collecting feedback. Teachers can push their code out to students and students can ask for private help. An integrated chat allows conversations to take place during lessons. Teachers can also live-broadcast code to student machines.


Amelius interface

Amelius guides curriculum and subject matter experts through the course construction process. Define competencies for your courses, align lessons and items to competencies, and creaet your course content using Markdown so you can use it anywhere.  Share content with others, and even share your course publicly.


Rendera interface

Rendera helps you learn HTML5, CSS, ES6, Sass, and CoffeeScript. It ships with basic examples and lets you try out your own code. You can save your code or share a private hyperlink with others.