I am a family man and software builder living near Seattle, WA. You can learn more about me at About Me. If you're looking for a highly technical team leader, check out Hire a Fractional CTO.
Ever locked yourself out of your own EC2 instance? I did exactly this week while "improving" my SSH configuration. The good news is I was able to get back in with a EC2 trick. I'll show you a proven method to regain access: E...
AI Learns to Listen: TypeScript Client for OpenAI's Realtime API
1/31/2025
code & professional & software-engineering
Developers can use the OpenAI Realtime API to build features that enable users to have back-and-forth voice conversations with an AI large language model. I'm working on a new startup with a friend, and our use case significa...
Bridging the Gap: Communicating Between the "Browser" (Renderer) and the Main Process in an Electron App
12/31/2024
code & professional & software-engineering
I've been working with Electron to create installed desktop applications with JavaScript/TypeScript and I found myself writing up notes about how to have the Browser code communicate with the "main" process. I decided to shar...
Congratulations Micah
12/7/2024
I share this letter with you for the whole world to see so that you know how proud I am of you. At twelve years old, you have accomplished something few others will. While few will earn a black belt, fewer still will dedicate...
Writing Shell Scripts with TypeScript instead of Bash
2/21/2024
code & professional & software-engineering
bash/shell scripts are a common part of every developer's life. There is no doubt in my mind that anything can be done in bash, but I am often surprised how just how surprised that I am at the behavior or limitations of the l...
Surprising Side Effects of Server Side Rendering in Next.js for SEO & Performance
1/23/2024
code & software-engineering & professional
It is popular to talk about how Server Side Rendering (SSR) in Next.js is good for SEO (Search-Engine Optimization). While SSR can be a net positive for SEO it is not strictly necessary and it hurts if you're not careful. I'l...
When Empowering Employees to Take Risks, Isn't Empowering (and Why That Needs to Change)
12/27/2023
people-management & leadership & professional
As a leader, you believe in empowering your team to take risks. But are you also empowering them to manage risk?
Rationalizing Frequent Deployments for Product Managers and Software Engineers
12/12/2023
code & product-management & operations & professional
Over the years I've become the biggest advocate that I know of for deploying software frequently. Really frequently. There are two reasons I've come to a rather extreme view on the matter. First, the more often you deploy the...
Now Write Right: 3 Best Practices for Writing to Innovate and Influence
11/28/2023
writing & product-management & professional
Recently, I explored the reasons for writing in the tech industry . Now, let's delve into how to write effectively. It is challenging to write a good business narrative and even harder to explain exactly how to do it. I'll pr...