Beware the Bloat Monster

I’ve just finished reading ‘Getting Real‘ by the 37signals’ guys. It’s a very, very impressive book, one that everybody involved in any aspect of software development should read at least twice.

But instead of writing a review (How can I compare to the mighty Seth Godin?) I want to focus on the chapter “Beware the Bloat Monster”:

You don’t have to become an outer space pen that writes upside down. Sometimes it’s OK to just be a pencil.

“Sometimes it’s ok to just be a pencil” is such a wonderful sentence. It needn’t even apply to software engineering, it could apply to anything. We strive for so many, often unatainable, things but forget that it’s OK to just be a pencil.

I shall revel in my pencilness

Disemvowelling

Not a word that most of you will be familiar with but the concept of disemvowelling is oh so cool. To disemvowel means to remove all vowels from a word. And … you might say. Well it was started by Teresa Nielsen Hayden as a way of reducing the effectiveness of a troll on her blog. The expression was coined by Arthur D. Hlavaty in the comments. You can see the post here.

So if someone is trolling a post on your blog you just remove all the vowels from the post and lo and behold the sting from the comments is gone. As an example the first part of this sentence would be transformed from:

Not a word that most of you will be familiar …

to:

Nt wrd tht mst f y wll b fmlr …

Now as far as I’m concerned this is a stroke of genius. You are not censoring the comment but you are making it very hard for people to read. The troll generally loses interest at this stage and then stops making everyones life a misery.

For the geeks amongst you this is very easy to implement programatically — but I guess you already know this! In ruby, for example, you would do the following:

‘Not a word that most of you will be familiar … ‘.gsub(/[aeiou]/i, ‘’)

For the non-geeks interested in what this means gsub mean global substitute and the /[aeiou]/ is a regex class meaning any of the letters between the []; the i means ignore case. The ‘’ is what you substitute each matched letter, i.e. nothing.

Consumer Absurdity

I was walking to work today and I noticed a banner in a clothes shop saying “Spend over $250 and get a free …”. I didn’t read the “…”, I read it as “Spend more and we will give you a pointless piece of junk that you didn’t even know that you didn’t want”. Now you might think “oh thank goodness you pointed out that I want “…”. I didn’t actually know I needed it, yet alone how much it will improve my life”. Well, you might. You might not of course but the sad thing is that some people will. Why would they put the sign up in the first place.

So to recap; you go into the shop to spend $125 on a pair of trousers you see the sign and think, “um I could get a new shirt as well”. So you buy the trousers and the shirt (you wouldn’t normally spend $125 on a shirt but hey I’m getting “…” for free). The net result? You spent twice as much as you intended and have a expensive shirt you didn’t want, but might come in handy and a “…” that you will discard on the ever growing pile of “…s”.

And the economic rationalists tell us this is a good thing?