Helping Geeks Produce for Over 40 Years.

My mission is to help people learn how to embrace change and harvest its value. That’s why I started the Camerata: a community of like-minded teams and individuals pushing forward the industry of software development. Click the button and discover the benefits of becoming a member today!

Recent Posts

Ten I-Statements About Change

Here’s ten I-Statements about change, in the geek trades, and beyond. My hope is that it will give you a richer sense of where I’m coming from in my blogs, talks, videos, and courses. Before we begin, though these statements are about the geek trades, I am actually far more concerned with change in the world. We can change this. We’re the only thing that possibly can. Stay safe, stay strong, stay angry, stay kind. Black Lives Matter. A little

Read More »

Trade Collapse Begins?

I’ve oft mentioned how the twin cost-revolutions in geekery warped & nearly destroyed our trade. Then wondered if we’ll get to a place where it’s no longer profitable for most companies to write bad software poorly. This morning I wonder if I’m seeing the beginning of it. I don’t have any facts & figures for you. But it feels like I’m seeing more and more companies wonder if the gravy train’s caboose will soon pass the station. It won’t happen

Read More »

Robot Worlds E04: Yes, Commander!

This entry is part 4 of 4 in the series Robot Worlds

Robot Worlds: End-to-End-ish Time to flesh out at least one of those ends we got from last time! If you want to follow along, the repo is at https://github.com/GeePawHill/robot-worlds. Transcript and captions coming soon . . .

Read More »

On Not Knowing

When I was a wee lad, 28, 29, 30, I knew the C Windows API by heart. I had, in my bathroom, both the technical docs and a copy of Petzold, and I knew it cold, stone cold. Every one of the ~500 calls, all of the arguments, and for most of them, the order of the arguments. I was a good programmer because I was a terrific memorist: I could learn things by heart, and I could organize them

Read More »

Robot Worlds E03: End-to-End-ish

This entry is part 3 of 4 in the series Robot Worlds

Robot Worlds: End-to-End-ish Let’s get ourselves a first crude end-to-end test running. If you want to follow along, the repo is at https://github.com/GeePawHill/robot-worlds. Transcript and captions coming soon . . .

Read More »

Robot Worlds E02: Sockets & A Spike

This entry is part 2 of 4 in the series Robot Worlds

Robot Worlds: Sockets & A Spike In this round, we get to some code, but it’s "special" code, because it’s in a spike. What’s a spike? Watch and see! If you want to follow along, the repo is at https://github.com/GeePawHill/robot-worlds. Transcript and captions coming soon . . .

Read More »

Robot Worlds E01: Getting Started

This entry is part 1 of 4 in the series Robot Worlds

Robot Worlds: Getting Started Welcome to the new Robot Worlds project! My friends at We Think Code have cooked up a nice little problem for their students, a client/server version of a simple robot worlds simulation. This new series isn’t a solution video, not exactly: but it’s intended as an example of how a cranky old geek like myself gets a spec and starts plugging away at it. Though this is a series for students, it’s not about the syntax

Read More »

The Shadows of Software Design

On the cover of Hofstadter’s famous Godel, Escher, and Bach, there’s a photo of an artifact he made, called a "trip-let". The trip-let, when lit from three different angles, produces shadows that spell out "G", "E", and "B". Let’s talk about software design. Before we dig in: I love to think & talk about geekery, but it’s comfort food, not my most important story. Take a break, enjoy this thread, but please stay in the larger game with me, which

Read More »

Me, Gary, and TDD

True story: Eighteen or so years ago, I had a gig rolling code at an engineering company. We were writing a windows app using Microsoft Foundation Classes to drive a TTY interface to a box of various radio hardware junk. I was gigged in by a guy I’d taught a c;ass (in MFC) to, because he liked that I knew my shit, and he loved that I spoke openly about joy, right in the classroom. right in front of God

Read More »

Real Programming S01E10 – Some Visual Mechanics

This entry is part 10 of 10 in the series Real Programming

Real Programming S01E10: Some Model->View Mechanics We got ourselves a making app last time. This time, we’ll use it to try out some visual mechanisms. If you want to follow along in the code, the project is at github. Transcript and captions coming soon . . .

Read More »

MMMSS – The Pin-Making Floptimization

This entry is part 5 of 5 in the series Many Much More Smaller Steps

In our efforts to optimize the Many More Much Smaller Steps (MMMSS) path, we’ve tried and rejected the "shortest-distance" floptimization. Today, let’s take up the "pin-making" floptimization, in which we create specialists, stations, and hand-offs. Many More Much Smaller Steps – First Sketch | GeePawHill.org The first plank of my take on fixing the trade is MMMSS: If you want more value faster, take Many More Much Smaller Steps. Today I want to start laying this out for folks. This

Read More »

MMMSS – The Shortest-Distance Floptimization

This entry is part 4 of 5 in the series Many Much More Smaller Steps

We’ve built ourselves a positive case for "Many More Much Smaller Steps" (MMMSS). There’s a counter-case, tho, based in a trio of proposed optimizations. Sadly, those optimizations usually flop. Today, let’s take up the "Shortest Distance" floptimization. Many More Much Smaller Steps – First Sketch | GeePawHill.org The first plank of my take on fixing the trade is MMMSS: If you want more value faster, take Many More Much Smaller Steps. Today I want to start laying this out for

Read More »