Always code as if the guy who ends up maintaining it will be a violent psychopath who knows where you live

John F. Woods

Who I am

Good code is an art form, and like any good art, it's worth sharing. I have been developing software professionally for close to two decades now, and have always been striving to help others with guidance, advice and good open source code. Not to say that everything in my public repo is "good", but at least I can hope that it might be useful in some fashion. If nothing else, it's always been a hobby that has allowed me to step outside the corporate-imposed boundaries of software development; sometimes, you have to go and play with the new toys.

What I do

In both my personal and professional life, I tend to be a generalist, dabbling in a little of everything, but here are some of the key areas that I like to spend time on:

Programming & Technology

I spend a lot of my work and free time coding on my Java and Groovy programming projects while learning and exploring new technologies, programming languages and frameworks.

Personal & Family Time

My wife is an important part of my life. We cook together, play together and generally explore life together whenever we can. I also enjoy reading and watching science fiction.

Social Communication

I am an on and off StackOverflow.com contributor, a technical blogger, and a Groovy User Group presenter.

My Projects

Many of my projects start out as an experiment or proof-of-concept and never really progress much farther than that. I often call my GitHub repository, "the place where my projects go to die", but that's not entirely accurate since there are a handful that I continue to spend a lot of time on. Some people have a beat up old car in their garage that they work on from time to time - these are mine:

Vanilla Library

My version of the ever-present "common" library, that is a place where you put code that doesn't seem to fit in anywhere else, but you find yourself using quite often.

HttpBuilder-NG

An effort with a buddy of mine to renovate and modernize an older project for simplifying HTTP client code - a modern Groovy DSL for making http requests.

Ersatz Server

A "mock" HTTP server library for testing HTTP clients allowing for server-side request/response expectations to be configured so that your client library can mak real HTTP calls and get back real pre-configured responses rather than fake stubs.

Gradle WebPreview Plugin

Gradle plugin to help preview site documentation or other web content locally by starting an embedded web server with the configured content.

Gradle Natives Plugin

Gradle plugin to aid in managing native libraries associated with Java-based projects. I developed this while playing with game programming in Java, and it seems to have picked up a few users so I try to at least keep it working.

Gradle Dependency Checker Plugin

A Gradle plugin that adds some useful tasks for better managing project dependencies, especially in an enterprise environment.

Gradle Site Plugin

Gradle plugin which provides tasks and conventions to help with creating a project web site and other documentation.

Effigy

An abandoned Groovy library used to create compile-time generated JDBC row mappers. It was a bit of a failure, but an interesting experiment and some good Groovy AST code examples.

Contact Me

The best way to get in touch with me is via one of my social media profiles (listed below). I am always open to suggestions about projects or things to write about, and I am pretty active on StackOverflow.com so feel free to throw a question link my way if you think I can help.


Stehno.com content is copyright © 2016 Christopher J. Stehno and available under a Creative Commons Attribution-ShareAlike 4.0 International License. Icons made by Freepik, Zlatko Najdenovski, Madebyoliver, and Dave Gandy from www.flaticon.com is licensed by CC 3.0 BY
Creative Commons License Creative Commons License