devICT is the largest software development community in Wichita boasting over 500 registered members. Since joining in 2012 I have taken on the responsibility of being the director. The group covers all aspects of software development. Our mission is:

To educate, empower, and connect software developers in the Wichita area.

Ardan Labs

My full time engagement is with the very talented team at Ardan Labs. We specialize in the Go programming language and offer training and consulting services.

Wrecking Ball Media

From February 2015 to February 2016 I was a contracting engineer at Wrecking Ball Media Group. As a part of this team I worked on a web based community platform for Adobe. The project utilized several different APIs from Adobe and other vendors to create a white labeled site for connecting and empowering creative youth.

Getting Started With Go

This is a talk I presented at the first Kansas Linux Fest in March 2015. I gave it again that month at my company’s internal roundtable and again for devICT that July.


In Go web development the Gorilla web toolkit is a very popular collection of libraries for common web tasks. The gorilla/sessions package provides an easy interface for using/storing users’ session data. There was no implementation for Cassandra DB so I created one.


BDD in Go is made easier using the Ginkgo and Gomega packages. Gomega specifically provides a collection of matchers for asserting that results match expectations. When using these tools to test an API I was developing I noticed some common patterns appearing around the assertion of HTTP status codes. I created the package to simplify some of those patterns.


From October 2010 to February 2015 the majority of my development focus was with my employer TimeIPS. We made a time and attendance system which is used by thousands of companies around the world.


pysag is a tool I developed for generating static web apps. It differs from other (great) static site generators like Jekyll by being focused on data first and pages second.

Regular Expressions 101

In March 2013 I gave a presentation to my local development group devICT over the different forms and uses of Regular Expressions. The talk was just under two hours long and was well received by the audience (approximately 25 developers). The presentation was broadcast through Google Hangouts On Air and the video is available on YouTube.

Implementing OOP

Back in June 2014 I gave a presentation to devICT about how to use Object Oriented Programming in PHP and Ruby. I chose this topic when I was explaining inheritance to a friend and realized others would be interested. I chose PHP and Ruby for examples because I was already familiar with OOP in PHP and I wanted to learn more about Ruby’s object model.

Templating In PHP With Twig

In November 2013 I gave a short presentation to devICT about the PHP templating engine Twig. The talk covered the basics of installing/configuring Twig, rendering templates, and writing templates.

Startup Wichita

Startup Wichita was a grass roots effort to connect entrepreneurs in Wichita with local people and resources. In March 2014 devICT held a hackathon to kick-start development on the community site.


At home my desktop PC acts as a UPNP media server and is the box I use to download torrents. This machine was inconveniently located in my basement. There were many times when I would want to start a download but the only device nearby is my phone. I found that finding and downloading a torrent file then getting it to my torrent machine was a cumbersome process. Furthermore, many sites that index torrent files contain advertising that ranges from annoying to inappropriate to explicit.

LiveJournal Amnesia

LiveJournal Amnesia is a quick script I wrote to automate the process of hiding the 200-some LiveJournal blog posts I generated in my late teens. It uses a public gem to talk to the LiveJournal API. Check out the README on GitHub for more info then you, too, can pretend like you never wrote that poem Junior year!

Geocommunicator API Client

I have a friend who travels around the country servicing natural gas pipelines. As part of his duties he has to translate latitude / longitude coordinates into state, township, range, and section information. He was doing this by hand dozens of time per day. I found an API from the Department of the Interior’s Bureau of Land Management which accepts coordinates and responds with the exact information my friend needed.

Natural Organic Warehouse

Natural Organic Warehouse (NOW) is a distributor of organic products for farming, gardening, and landscaping purposes. Their slogan is “better, cleaner, sustainable choices.” Through my consulting company Tortugas Consulting, LLC I helped to develop their online presence.

Norris Training Systems

Norris Training Systems provides pre-licensing and continuing education training to insurance agents. My consulting company Tortugas Consulting, LLC developed their e-commerce website which allows agents to purchase and schedule classes. Additionally agents can download documents associated with their course and take related quizzes to prepare for their state license exam.

Young Life Wichita

Young Life Wichita (YLW) is a local chapter of the larger Young Life organization. YLW supports local families through various charitable events and activities. My consulting company was hired to develop an online application where people could RSVP for different activities.


When I first read about Conway’s Game of Life I was intrigued. As an experiment I set out to see if I could implement the game in only HTML5, Canvas, CSS and pure JavaScript. The game works in both desktop and mobile browsers.

My Dotfiles

It seems like every *nix developer hosts at least their bashrc file on GitHub and I am no exception. My repo uses the Ruby gem homesick to easily keep my config files in sync.

Vim Contributions

When I started using Vim as my primary editor I found my second love. Its pure efficiency combined with its extendability have yet to leave me seriously wanting for any features. I have made some contributions back to the vim ecosystem.