2018

TDD Pro-Tip: Graceful and Awkward

TDD Pro-Tip: The first step past beginner-TDD lies in grasping the difference between awkward and graceful collaborations, and learning the myriad contextualized patterns for moving from the former to the latter. Folks invest a little in TDD, maybe cuz they’re excited, maybe cuz they’re ordered. They read a little. They try an exercise or two. They learn a little about their xUnit options. Maybe they boldly even use TDD to write a method or a class in their day job. […]

TDD Pro-Tip: Graceful and Awkward See Full Post

Building the Wrong Thing

Folks worry a lot about building the wrong thing, that is, making software that does not please the many and different interests of the org, the users, the operators. I’ve certainly seen that. We all have. Government seems particularly consistent at doing it, tho surely there are plenty of commercial orgs that have the same problem. I see this problem differently from most folks. I’d like to take a few tweets and walk through my approach. The key insight for

Building the Wrong Thing See Full Post

TDD Pro-Tip: Build Cells

TDD Pro-Tip: Build cells — logic nucleus on the inside, environment inputs & outputs on the outside, and a semi-permeable cell wall between the two. The metaphor i’m proposing here is really about the nature of borders in code. Prior to TDD, my grasp of this topic was driven largely by the great theory of object-orientation that began to emerge back in the ’80s and came to dominate the modern s/w landscape. As with so many aspects of the programming

TDD Pro-Tip: Build Cells See Full Post

The Gold Of Microtests: The Value

This entry is part [part not set] of 3 in the series The Gold of Microtests

Okay, twice now i’ve intro’d this question about the value of m-proof, the rather trivial proof microtests give: what the geek said is what the computer heard is what the geek wanted. Time to just deal with it, eh? Remember that all of the value that comes from microtests comes before we’re done with the program. As we’ll see, some of it comes from the fact that the artifacts — the microtests — exist at all, and some of it

The Gold Of Microtests: The Value See Full Post

The Gold Of Microtests: Another? Intro

This entry is part [part not set] of 3 in the series The Gold of Microtests

I made the claim that m-proof, the seemingly valueless dust that microtests give us, is actually gold. Not only that, but it’s gold whose working out clearly connects to the triple focus of our movement: the made, the making, and the maker. Microtests prove that what the geek said is what the computer heard is what the geek wanted. How can such a low-seeming value really be gold? Let’s work it out, eh? The gold of microtesting comes to us

The Gold Of Microtests: Another? Intro See Full Post

The Gold Of Microtests: The Intro

This entry is part [part not set] of 3 in the series The Gold of Microtests

Okay, shall we take a breather from difficult concepts and do something at least a little more concrete and geeky? And the windswept trees whisper "yessssss, yessssss". Recall that a microtest is a tiny snippet of test code, run in a separate app, that depends on a tiny snippet of shipping code. It is typically focused in its intent on a single branch or calculation in that shipping code. It is fast to write, to read, to diagnose. What does

The Gold Of Microtests: The Intro See Full Post

Difficult Concepts #2: Simple Causality In Humans Is Non-Existent

This entry is part [part not set] of 3 in the series Difficult Concepts

Difficult Concept #2: Linear single-factor causality in shared human activity is so rare it can be safely assumed to be non-existent. "Because" is a word with astonishing power. Like most powerful things, it can lead us rapidly to joy and just as rapidly to grief. In the mechanical world, the "becauses" are primarily linear — one right after the other from A to Z — and single-factor — one thing is moved and it moves another and that’s all there

Difficult Concepts #2: Simple Causality In Humans Is Non-Existent See Full Post

Difficult Concepts #1: Doing, Knowing, Saying, Hearing, Learning

This entry is part [part not set] of 3 in the series Difficult Concepts

Difficult Concept #1: With most high-skill activities, the doing, the knowing, the saying, the hearing, and the learning are all dramatically different things. That’s pretty pithy, so I better unpack it a little. Let’s take one of my high-skill activities and break it out as suggested by the headline. I routinely, multiple times a day, walk to the nearest outside place, my upstairs deck when i’m working at home, light up a cigarette, smoke it, drink from a bottle of

Difficult Concepts #1: Doing, Knowing, Saying, Hearing, Learning See Full Post

Difficult Concepts #0: A Prelude

This entry is part [part not set] of 3 in the series Difficult Concepts

Difficult Concept #0 There are "difficult concepts", which can provide enormous value when we explore, experience, and act through them, but which we can never bring entirely within our reach. Welcome to a new series of muses, the difficult concepts series, to which this is the prelude. As always with the muses, these are improv, and as such provisional and partial and performance. In my life, I have encountered some ideas that seem to, on the one hand, provide enormous

Difficult Concepts #0: A Prelude See Full Post

GeePawing & Mentoring

I’ve spoken of thick vs thin culture. And my earlier muse was mostly for boss-types, and I promised to do the same for non-bosstypes. But I need to pause here, and do something different. I need to talk about mentoring/coaching to create proper context. (I should pre-announce, i’m semi-lit. I doubt I could pull this off if I were entirely sober, but I doubt I could pull it off if I were entirely drunk, and there it is. I get

GeePawing & Mentoring See Full Post

Scroll to Top