Skip to content

Horseplay, Golden Hammers, and Enterprisey Bodhisattvas

Who uses the word "horseplay" except these signs?

Last night Kim and I were at the mall, picking up Kim’s bride’s maid dress for a wedding this weekend (it’ll be awesome! Greek food!). I noticed the sign above in the mall corridor which basically says, “Hey, you kids with your baggy pants and throwback jerseys! SCRAM!”

But, the thing that stood out to me was the word “horseplay.” Where do you ever, ever see that word except on these signs? It’s not like The Kids are sitting around at home, thinking, “man, we gotta get to the mall and do some horseplay. I really want to go horse-off…at The MALL!”

And while I could go on — what is “excessive loitering”? Is it like indecent materials? “I can’t tell you a priori, but I’ll know it when I see it” — the more germane point to ask is: what language and words do you use to describe software and technology? Does your audience know what those words mean? Do you know the language of your audience?

wget GoldenHammer

You can’t run into a room of rails enthusiast and start talking about “enterprise”: they’ll run you out on a rail, tar, feathers, and all…if they let you live. We’ve seen that scenario played out a thousand times, and it keeps getting better every time.

Now, I don’t want to pick on rails in particular; for the concerns of this topic, things are actually going all right in that camp at the moment. The same line of thought applies to anything.

There was HTML/web apps in the 1990’s: perhaps one of the most successful misappropriations of technology and intent in the software world ever.

Functional and concurrent programming is next on the block: holy crap that’s the class I just barely passed in school!

We’re just barley scratching the surface of what SOA/web/SaaS really means for programming as a whole: what does it mean when you can depend on a URL?

I have a general rule I apply to wildly successful technologies that solve Big Problems: any quick and easy technology that works for those Big Problems in the short term will immediately be taken up by developers en masse to solve every problem in the long term, no matter if the technology was meant to or can solve that problem. That’s right, golden hammers.

Unfortunately, the response from most technology experts when these golden hammers blow-up in developers hands is, “uh, you’re not supposed to go that fast.” It’s kind of like if cars didn’t have seat belts, and each time someone flew through the windshield after a 90 MPH car chase, Detroit said, “well, you’re not supposed to drive those things above 5 MPH…no further questions (morons!)…movin’ on…”

HTML, CSS, and JavaScript — “the web” — suffered from this problem in a big way and are just now getting to what I’d call a “normal” way to develop and run software. Google had to hire roomfuls of PhD’s to figure out how to design for and deliver at scale. Unfortunately, Google seems to have corned the PhD-as-sys admin market, breeding fine pedigree data centers while the rest of us are left with mongrels. (Us Yanks love the under-dogs against our better judgments, though, so I’m gunnin’ for the mutt.)

Bodhisattvas for the Enterprise

Here’s another take. One of the few people to raise the “enterprise” discussion with the rails community and avoid being rail’ed out of town is Dave Thomas. I mean, how can you be upset at the pickaxe guy? Not only is he the guy we all want to be when we grow up: he, like, knows this stuff.

What I liked about his commentary was that it was coming from a Bodhisattva. After achieving enlightenment, he wanted to come back and help out all those developers still coding in J2EE (not even JEE!), to pick one code-samsara:

Can we, as a community, do anything to make the lives of these developers easier. Can we find a way of bringing them in out of the cold?

I don’t really pass judgement that this mind-set is better than ignoring all those developers in “the cold.” Nirvana is a good gig if you can get it. Instead, I’m more concerned with each “side” — legacy and new — in a technological evolution (be it packaged->SaaS, GUI->-web, closed->open source, or even “enterprisey”->rails) using language that each other understands. Otherwise, we end up beating our shoe on the podium, and that never turns out well.


When you’re in the mall, and you see some punks doing “excessive loitering,” can you really tell those kids to “scram” when you use words like “horseplay?” Can those “punks” tell the security guard they have no other place to go hang out by flipping the guard the bird?

As Steve put it, “you’ve got the power: now what?”

Disclaimer: Sun is a client.

Technorati Tags: , , , , ,

Categories: Community, Enterprise Software, Marketing, Programming.

Comment Feed

6 Responses

  1. I hate to be stupid or ask stupid questions but I do like to learn and I was hoping you could tell me what your position on concurrency is if you see it as a future GoldenHammer.

    Brit ButlerApril 18, 2007 @ 6:41 pm
  2. Brit: it's not a stupid question. Concurancy is unquestionably going to be a Good Thing in the future. It'd be silly to think otherwise. It's kind of hard to see how coders would use concurancy as a GoldenHammer — though I can see that people would start to think they need to use it everywhere, for no real good reason once they figure it out: I've already seen this years ago with Threads in Java.

    The larger point was making sure the pull that "trend," if you will, into the realm of "things people will probably have a lot of yelling matches about" along the lines of "What was wrong with Java/.Net/blah/blah concurrancy, why do I need to use erlang now?"

Continuing the Discussion

  1. […] Horseplay, Golden Hammers, and Enterprisey Bodhisattvas Love the golden hammer bit! (tags: punditry technology) […]

  2. […] those people, friends, do better as consultants: why would they want to work in companies? Why be a Bodhisattva when you can have your enlightenment and pay your bills with it […]

  3. […] A while back I talked about the fact that different sides of tech debates rarely use the same language and semantics when talkin…. […]