Skip to main content

Posts

The Lumberjack Paradox From Theory to Practice

November 17, 2025

Neal Sample called it the Lumberjack Paradox: AI gives us a chainsaw, but we risk forgetting how to use the axe. In this post, I explore why code samples are the critical line of representation for modern engineering, and why fragmented documentation isn't just confusing developers—it's poisoning the AI models they rely on.

Charts in Google Sheets

March 7, 2024

Okay, so today I was trying to create a cool column chart in Google Sheets, but it wasn’t going well. I had choices, but none were quite right. I could have a multi-color chart that was mushed together, or single color but neither option had labeled bars. I could include a legend, but that puts the data separate from the content. My source data was a list and I wanted to do counts of types and then chart those counts.

Learn about the Sidecar Pattern in 5 minutes

September 1, 2019

Let’s talk about the sidecar pattern. Named after the device that attaches to a bicycle or motrocycle, this architectural pattern describes components of applications that are independent from a main application that have access to the same resources and support the main application much like the vehicular sidecar. Vehicular sidecars were originally invented to allow for safely carrying an additional passenger. Design pattern sidecars in some ways provide support of an “additional passenger” through isolating the different components that may be designed and architected by different teams, for example when a development teams works on an application, and an SRE team works on the monitoring for that application. While the different components need access to the same shared resources, and should share the same lifecycle, they may need different runtimes, languages, or be developed and deployed in isolation from each other. Other than monitoring, this pattern is often used for logging, configuration, discovery, and general health checks.

Learn about the Circuit Breaker Pattern in 5 minutes

August 13, 2019

There are many infrastructure design patterns. In this post, I want to dig into the circuit breaker pattern. This pattern’s name comes from electrical engineering and circuit breakers. Circuit Breakers in Electrical Engineering # The power company delivers electricity to your home at a constant voltage (that varies depending on your country of residence). Voltage is the measurement of the force that pushes electrons through the circuit. Current is the rate of flow of the electrons. The wires that carry the electrons, light bulbs, computers, and other appliances place a load on the current, so resistance varies throughout the house. Resistance produces heat.

Why should you contribute to an open source project?

August 1, 2019

Why should you contribute to an open source project? # Participating in open source is a gift that keeps on giving. Everyone has their own motivations, but some of the benefits of connecting with the community in an active role include: Promotes learning and development of skills. It’s an opportunity to practice collaboration skills in roles that aren’t tied directly to performance reviews. It’s also an opportunity to develop other skills driven by your interests that you might not be part of your day job. Builds and promotes visibility. Your employer benefits from your participation in open source communities. It also helps you find new jobs, and potential co-workers. What do you need? # The first thing you need to do is figure out your employer’s policies for contributing to open source and review your employment agreement. While I think every company using open source software should give every employee time to contribute, often the contribution policies are problematic even if individuals contribute on their own time and on their own equipment. If your company doesn’t have a policy or has a restrictive policy, sharing A Model IP and Open Source Contribution Policy may be helpful in providing guidance to improving the policy.

Diversity in Lens - Optimism

July 23, 2015

Earlier today I was sharing my feelings about optimism and it being one lens to look through to view the world. Each of us make a choice about “reality”. We process a moment in time through our experiences and our current state of mind cataloging it for future interactions. Shared stories from others help us to further entrench ourselves in our beliefs and values. Even in listening to a story, we are interpreting it based on our own assumptions about reality and what the words mean. We assign context based on our own beliefs, often assigning values of someone’s character over words and behaviors rather than viewing it through the subjective context that individual is experiencing.

Starting a local Coffeeops

July 1, 2015

A few years ago I met Marius Ducea at Chromatic Coffee. Afterwards reflecting on the time that I spent, I felt more enthusiastic about my work in the industry due to Marius being awesome and the mental engagement outside of the everyday. Marius has been a key DevOpsDays Silicon Valley organizer for years and community builder within the Chef and DevOps community. His insight into a variety of current and future technology was interesting and educational.