This site is - much like it’s author - under active development. Not sure what it will be or where it will go just yet. I have a number of interests, thoughts and ideas so expect anything. Or nothing, life might be better if you don’t have any expectations. Thanks for stopping by my personal fragment of the Internet.

Local First Development

If pressed to define how I approach programming, the words “pragmatic essentialism” will be used at some point. Do what works and make it as simple as possible to get the job done across time. This manifests itself in various ways in my day-to-day work. One of the rules I try to hold to is that the set up of a project for development should be as localized as possible. Read more...

How to Get Ready for College (and Life)

On a recent afternoon, my son sent me a text message that read simply, “how do I get ready for college”. He’s 18 and starts his first semester in a couple weeks. Like most people, the only thing high school really challenged was his patience. He’s smart and he tends to overthink things. This results in more stress than necessary. He also seems to enjoy asking profound life advice by way of text message. Read more...

Observations From the John Muir Trail

In July of 2018 my son and I hiked the John Muir Trail. This was my second time and his first. The trail covers 211 miles from Yosemite National Park to the summit of Mount Whitney. It includes over 84,000 feet of elevation change and some of the most stunning scenery in the Sierras. We hiked it in 17 days. What follows is a collection of thoughts and observations. In one sense they are simple and obvious. Read more...

Some Days

Some days are better than others. I’m not sure if this is a function of energy, intention, luck or some combination of these and other factors. Days in the mountains are good days. So are days spent learning, reading and relaxing. Productive days where I crush that task list, execute on projects and accomplish all my dailies are often good days; in retrospect if not during. Then there are the not so good days. Read more...

The Howling

Modern life is full of miracles. Problems that bedeviled humanity for 5000 generations have solutions so commonplace that we have forgotten what true struggle looks like. The last two centuries have seen a boom in human progress and flourishing. Even with two world wars and the threat of nuclear annihilation marring our recent history, we have somehow managed to endure and improve the lives of billions. In less than a human lifetime more than half the world has been lifted out of extreme poverty. Read more...

An Assembly of Small Victories

Think small. You don’t often hear that advice. No, it’s all big dreams, follow your passion, five-year plans, moonshots and grand visions. There’s a place for those things. Maybe they are goals or directions, or simply a set of wishes. But without action they are only so much smoke and dust. For action, you need to think small. Decompose that expansive end-state down into smaller pieces until you can can connect it to your day-to-day. Read more...

A System of Systems

You are not you. Not in the sense that you imagine yourself to be. That internal monologue in your head and that world view you have, that’s not your singular identity. It’s an assembly of complex and conflicting components that your brain smooths out into an image of unity. Western civilization says that we’re all unique individuals. Zoom out and abstract enough and you can fool yourself into thinking that. Read more...

Supporting Traits

I’ve set up my resume in a way that is different from most that I have seen. Sure, there’s a job history, mention of those degrees I achieved, and a list of specific technologies, languages and tools that accompanies the CV of every programmer. I tried to keep it all intentionally simple. Before all that, there is a section for Core Skills and Supporting Traits. I’m not 100% sure it’s a good idea, but I think these two categories are crucial. Read more...

Memento Mori

“That man lives badly who does not know how to die well.” - Seneca We are a limited and temporary process of becoming and ending. I am going to die, so are you, so is everyone we’ve ever known or loved. How frequently do other people consider their own mortality? Such reflections can arise when the universe throws us out of our usual patterns - perhaps with the sudden death of a loved one, a health scare, a major accident narrowly avoided, or some other upending of the status quo. Read more...

Running Jenkins in Docker on AWS or a Mac

I’ve been working on a Jenkins image that will run in AWS. At the risk of going full Inception in the opening paragraph, I want the Jenkins container running in Docker to be able to run Docker commands. Running Docker inside Docker is a possibility but the author of the feature has other suggestions for this use case. So I want the running Jenkins container to be able to access Docker running on the host machine. Read more...