GeePaw Hill Profile picture
Jan 27 16 tweets 3 min read
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 and everybody.
G amd I got along great. We were both heavy smokers and committed drinkers and hardcore software geeks. We spent many an evening after work, just hanging out, talking about geekery, smoking cigarettes, and drinking like fools.
So, in the work, I was doing Test Driven Development (TDD). I mean, don't kid yourself, long time ago, and I wasn't doing the TDD I teach today, not by any stretch. I was still just learning it, and in that setting, it worked pretty well. (It was, frankly, an easy problem.)
And Gary was my boss, and he tolerated it, as an eccentricity, exactly the way any boss tolerates someone whose product and person they like. "So, he will only wear purple socks, it's no big deal, let him, cuz I like him and he does good work." That kinda thing.
One day, a bug. One of the pieces of junk had rev'd its firmware, and the TTY scripts weren't doing the thing anymore. So we sat down together in the debugger, and we quickly realized there was an extra CRLF (or maybe a CRLF had been sent instead of a prior CR, long time gone.)
So we agreed on the fix, and we made it, and I ran my TDD tests, and we got, idunno, 80 reds and 3 greens. :) We had the right fix, conceptually, but we put it in the wrong place, and instead of fixing the one bug, it created many many bugs.
We backed it out, wrote a test for the case, and worked for a while until we had the new test green and all the other tests green, too.

Smoke break.
We go outside, light up. And G's *really* quiet. You have to understand, we were both friends and co-geeks, and we chattered like magpies the entire time we were together. And he's just standing there with me, in a cloud of smoke, staring off into the distance.
Then he immediately lit a second smoke, not something we usually did. And he hadn't said a word, and I'd run out of things to say, and I was genuinely a little concerned, but I couldn't think of anything to say.
Finally, he stubs out his cigarette, turns back to me, and he just says one sentence:

"I guess this TDD shit really works, doesn't it."
Then we went back inside, and he started sitting with me every day, learning TDD right beside me as I was learning it.
We had a terrific time together, and then the project got taken away, and I went on to other gigs. About two years later, they called me out of the blue.

"We want you to come back and show our team how to do that stuff."
I'm like, "What stuff? MFC? I don't use MFC much anymore, and I don't have any prepared material."

"No, no, not that. We want you to do all that stuff you did before, that we didn't give you permission to do, and actively ignored while you were doing it.

That *TDD* stuff."
I went back with them for about a year, and I coached a team for them, that was very successful, doing TDD -- and the rest of XP as I understood it.
(A side note: on that second project, I worked with one other man and *nine* women. First time I'd worked closely with female geeks. They were *so* smart, *so* fast, *so* open, and *so* strong. It broke every stupid idea I ever had about women in tech.)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with GeePaw Hill

GeePaw Hill Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @GeePawHill

Jan 26
Kate Bush, "Night of the Swallow".

The Dreaming was the first album I heard from Bush. It is stunning. I mean, every take, it is stunning.
Bush is one of the greatest "I may in fact be hopelessly insane" singers of all time, but whackos are a dime-a-dozen, what's astonishing about her work is how she works to give you the *grounding* you need to hear the insanity.
Read 4 tweets
Jan 26
Here's Chet Baker & Gerry Mulligan, "My Funny Valentine".

Mulligan was just enough older than Baker, & more successful, to tune him up and get his mind right. The Baker/Mulligan takes are pretty much all impressive.

It's a quartet, w/Carson Smith one-stringing bass, and Bunker pitchin' in little snare-brushes. But we speak of the two.
Chet was on a rail to death, and it was astonishing that he lasted as long as he did. He might have made of west coast cool a movement, but he really just made of it a symbol, and the east coast -- Miles, the incomparable Miles -- trampled that idea.
Read 4 tweets
Jan 22
Either 1) the horse is sick, or 2) the water is sick, or 3) they're both fine and the horse just isn't thirsty.

Two pro-tips:

a) It's not usually #3.
b) #1 and #2 often co-present, cuz drinking sick water will make a horse sick.
Give that #1 & #2 -- co- or singly-presenting, are so vastly much more common, I'm always startled when people seem so confident that they're in a #3 situation.
It's always, how do I get these horses to drink this water. It's never, what might be making my horse sick, or what is it about this water that a healthy horse won't drink it?
Read 5 tweets
Jan 22
Mulling over a little Oxygen Not Included for tonight and tomorrow. Not sure, but I'mo start it and see how I feel. Seed: V-SNDST-C-66913931-0 Classic, Survival. An Oxygen Not Included Scre...
Some concepts for this one: I'm gonna repeat the deluxe-hab-unit thing, but will start with a very small crummy hab-unit, and only upgrade when I'm really ready. I'm gonna go oxygenate-everything instead of atmos-everywhere. I decided to try *not* using a dedicated researcher.
Finally, most importantly, I'm gonna try to stall on identifying a final "central spine" location until I'm ready to really commit to its final location, i.e. by getting near space above and oil below. I'm gonna make the tentative spine *very* wide.
Read 6 tweets
Jan 21
Another VBS.

Led Zeppelin, "Over the Hills and Far Away".

For my generation, of course, this is a second-tier overplay -- "Stairway" is the most overplayed song of all time -- but if you can manage to hear it the first time. If you can just come to it fresh. This is stunning.
Do you know what I should like to know? I should like to know what Armstrong would have made of it. I should like to know whether he'd've put it on one of his tapes with his commentary.
Read 5 tweets
Jan 16
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. A photo of two "trip-lets", cubes of wood, casting
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 isn't changing code, it's changing the world.

Black Lives Matter.
I was recently asked to prepare some content around the topic of software design. There are a lot of ideas out there about "good" software design and "bad", and about rules or the lack thereof. It's a rich topic, a lifetime game.
Read 32 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(