Technique

Real Programming S01E03: Baby Needs New Shoes!

This entry is part 3 of 4 in the series Real Programming

Real Programming S01E03: Baby Needs New Shoes! Watching those itty-bitty numbers for the dice is making me crazy, so let’s get some dice images going today! If you want to follow along in the code, the project is https://github.com/geepawhill/yz (Note: Transcript and closed captions to be added soon.)

Real Programming S01E02: Look, Ma! A Test!

This entry is part 2 of 4 in the series Real Programming

Real Programming S01E02: Look, Ma! A Test Last time we did a rapid-fire model/view split, just so we could test. Now we gotta test this bad boy a little! If you want to follow along in the code, the project is https://github.com/geepawhill/yz Hey, it’s GeePaw and I still have Wally, and Molly’s off camera, and we’re back with Real Programming: the show that still doesn’t have a slogan, but that’s OK. We’ll keep going. Anyway, when last we left you, …

Real Programming S01E02: Look, Ma! A Test! Go to Post »

Real Programming S01E01: Getting Started | Video

This entry is part 1 of 4 in the series Real Programming

Real Programming S01E01: Getting Started Hi Folks! In this first episode we lay the groundwork for a simple desktop Yahtzee application. If you want to follow along in the code, the project is https://github.com/geepawhill/yz Transcript Hey, folks. It’s GeePaw sitting out here on my deck, where I do most of my work in the summer months. And today is the first episode of my new series called real programming, the show where we don’t have a cool slogan yet. Anyway, …

Real Programming S01E01: Getting Started | Video Go to Post »

Discipline: A Short Rant

People use the word “discipline” reasonably often when they talk about the software trade. I tend to avoid that word, and I wish more folks followed me in that policy. Most of those folks are not meaning anything untoward. They might easily use “orderly”, “consistent”, “persistent”, “systematic”, and so on, instead of “discipline”, and as I say, I wish they would. “Discipline”, in other parts of the forest, is an ordinary part of the vocabulary of extrinsic motivation by punishment …

Discipline: A Short Rant Go to Post »

Always Small, Always Better, Always Wrong

Always Small, Always Better, Always Wrong. This is the mantra for anyone who seeks change in virtually any genuinely complex environment. I’ve written a lot about small and better, but not so much about wrong, which is what I want to take up today, but first, a little refresher. The complex systems I deal with professionally all fall under the simple problem statement: "make software for money". Those systems include lots of different aspects and layers. Two of these, at …

Always Small, Always Better, Always Wrong Go to Post »

Slicing Stories? Don’t Use Horizontal Layers

I’ve had some questions & comments about yesterday’s tweet: there are a million ways to slice stories. All the ones that slice it by layers are mistakes. Michael D. Hill (@GeePawHill) May 11, 2018 That’s natural and good and thanks to one and all. When one tweets a one-off like that, all pithy and telegraphic, folks who may not “already speak the lingo” can be mystified. I’ll take a few tweets to spell it out a little further. A little …

Slicing Stories? Don’t Use Horizontal Layers Go to Post »

Use Supplier Or Supplied Or Both?

A coding pattern; replace supplied data with a supplier or a supplier with the supplied data. It is very common to create code with an interface like this: do( Data supplied ) We then use the data somehow to perform our functionality, whatever a do(…) method does. On the other hand, sometimes we create code with an interface like this: do( DataSource supplier ) And its body is basically the same as our starting chunk, but with a prolog that …

Use Supplier Or Supplied Or Both? Go to Post »

How To Test Depends On What To Test: Money, Chaining, And Steering

To have a serious conversation about how to test, we have to start by considering what to test. As a microtesting TDD’er, what I want to test is our logic. Enter the Money Premise The money premise of TDD reminds us we’re in this for the money, that is, the primary purpose of TDD is to enable us to ship more value faster. Deciding what is "value" is not a TDD task. The larger agility certainly asks us to make …

How To Test Depends On What To Test: Money, Chaining, And Steering Go to Post »

Avoid Implementation Inheritance: GeePaw Goes All Geek-y

So, day off before travel before onsite, playing ONI, having fun, but I want to muse about a highly geeky matter anyway… Do you ever override in a sub-class a method that’s already implemented in a super-class? I want to recommend to you a policy of avoiding that like the plague, whenever you can. I will go further: I avoid, maybe not as much as the plague, but surely as much as the measles, even deriving any sub-class off of …

Avoid Implementation Inheritance: GeePaw Goes All Geek-y Go to Post »

The Rigorous Playpen

I’m bettin’ u already got some code. If yer a geek in a substantial code base in an org w/more than a half-dozen other geeks, i’m bettin’ u already got a lot of code. In your team’s head, if not somewhere on an out-of-date piece of paper, there is a picture of "our code". I want to draw a box somewhere where there’s room in that picture, and I want to label it "rigorous". Let’s call it the rigorous playpen. …

The Rigorous Playpen Go to Post »

Scroll to Top