Modern-Synthesis

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 […]

The Shadows of Software Design See Full Post

MMMSS – A Closer Look at Steps

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

Earlier, we sketched out MMMSS, Many More Much Smaller Steps, laying out the bare bones. Cool, cool, but now we need to thicken our sense of the idea. Today, let’s close in a little more on what "step" means to us. Many Much More 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

MMMSS – A Closer Look at Steps See Full Post

Many More Much Smaller Steps – First Sketch

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

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 isn’t gonna happen in one thread, but let’s get started. Before we dig in a little, let me remind you that I’m aiming here for geek comfort good, respite. I am far more concerned with changing the world right now than I am with changing

Many More Much Smaller Steps – First Sketch See Full Post

Ten I-Statements About Refactoring

HOT TIP: Ted Young’s "Make Your Code More Testable" class is coming up August 23rd. The class is excellent (and covers much of what I talk about below), Ted is a wonderful teacher – and I scored you a discount code. Go to MakeTestable.com and use code GEEPAW when you sign up to get $75 off! In the spirit of my Ten I-Statements about TDD, here’s ten more, this time about refactoring. I’m not covering everything, just hitting some of

Ten I-Statements About Refactoring See Full Post

On (Not) Using Mocking Frameworks

I’m long past on record that I think the use of auto-mockers outside of legacy rescue situations is bad policy. First, it’s easy to write "psuedo-tests" using an automocker. Psuedo-tests are tests that appear to prove things about your code that they don’t actually prove. Now, note, I’m not saying auto-mockers force one to write psuedo-tests. They don’t. But they do make it awfully easy. How? The combination of "don’t care" arguments in mocked method specs with hardwired returns makes

On (Not) Using Mocking Frameworks See Full Post

Two Mantras, One Theme

Two recurring phrases in my work are 1) It is like this because we built it to be like this. 2) The code works for you, you don’t work for the code. Two sides of one page, phrased on the front as negative critique, and on the verso as positive encouragement. Before we dig in, I remind you of the relative unimportance of geekery to me just now. This is just respite. Please work for change and support the others

Two Mantras, One Theme See Full Post

Path-Focused Design

"Path-focused design", of stories, architecture, code, is design that understands that we can only reach a distant City on the Hill by taking one stride-limited shipping step at a time. Sunday muse-day, comfort food for the geek in me and in you, but please remember, we don’t really just want to change code, we want to change the world. Stay safe, stay strong, stay angry, stay kind. Black Lives Matter. In the software design theory of the ’80s and ’90s,

Path-Focused Design See Full Post

Big Batch Releases

Big-batch releases, coordinated and controlled by a central intelligence, fail, and fail frequently. Several aspects of this are fascinating, because of the interplay of hard mathematical reality with human frailty. Let’s take a swing. It’s Sunday muse-day, comfort food for the geekery-inclined. Enjoy, take respite, but don’t forget we want to change a lot more than just code. Black Lives Matter. Stay safe, stay strong, stay angry, stay kind. We can characterize releases by the number of stories in them.

Big Batch Releases See Full Post

Sharing Configurations

You can put all your configuration in a shared library and eliminate just about every mis-configuration in your multi-process application. It’s not free, but it’s cheap, and it kills a lot of minor pain. Let’s take a gander. It’s Sunday geek comfort-food time. I hope you enjoy it, and I also hope you remember it’s not the most important story out there. Please keep working for change, once you’re rested. Stay safe, stay strong, stay kind, stay angry. Black Lives

Sharing Configurations See Full Post

Re-Orienting Around Backsteps

When large teams struggle with trunk-based development (TBD) or continuous integration/deployment (CI/CD), a good strategy is to re-orient how the teams face "backsteps", moments in our workflow where a discovery forces us to re-open a stage we thought was closed. It’s been a hard stretch for those of us seeking peace and equity. I offer this geekery not to suggest it matters as much as that does, but only to give us a little respite. Stay safe, stay strong, stay

Re-Orienting Around Backsteps See Full Post

Scroll to Top