I’m a maker and a teacher; I love to build things and share with others. Over the years I've been a consultant, pursued a Ph.D, taught at various higher education institutions, bootstrapped startups, written books, built software that deploys software to hundreds of thousands of systems and generally enjoyed working with technology. Here you will find a variety of things that I have chosen to publish and share with the world - hopefully you find something of use here!


I am available periodically for low-volume, high-impact consulting; feel free to contact me if you're interested.

I specialize in building software on the JVM that scales (see things I've worked on) as well as system architecture but I can usually fix or build just about anything or teach you how things work.


I am the author of a few books:

Sometimes I write about things I am working on or have learned


I am currently teaching part-time at North Eastern University and have previously taught courses at the University of California, Merced, Columbia Community College in beautiful Columbia, CA as well as California State University, Stanislaus on subjects including data structures and algorithms, big data analysis, machine organization and operating systems development.


Some things I have built or worked on at various places:


I do a lot of programming in Ruby, Python, Java, Scala, C, C++, C# and (most recently) Erlang and Go; I have also been known to do some data analysis with R.

I like to share the things I build


I am the maintainer of a few projects, including the following:

Additionally, I have made significant contributions to a number of popular open source tools: