Gordon’s in Texas


Gordon is in Texas and having a ball, which is good to hear. His picture is quite cool too. He points out some interesting aspects of America in the post as well. Let’s work through them one at a time together:

  • I haven’t stayed in a Best Western yet, but so far I would have to say that the hotels I have stayed in have all been pretty good. Now, that might be because I am willing to spend money on hotels, but I think it’s also because it’s so easy here to change hotel if the first one sucks. For example, the hotel I stayed in in Portland had a many in a silly hat:
  • I have also seen churched with threatening signs, again in Portland for me. It seems to me that perhaps the clergy don’t want to be too bothered by the huddled masses?
  • Parking places with funny little boxes to poke money I thought was a Pacific northwest thing (as I’ve seen them in Oregon and Washington). It’s reassuring to know that other parts of the country have these too.
  • And yes, in general people here are wonderfully friendly.

Oh, and Gordon, don’t forget to checkout The Capitol Steps sometime. They perform in a federal building, which means there are metal detectors and armed guards on the way into a theatre, and they’re very funny if you’re into political satire. One of my personal favourites would have to be the excellent garbled speeches although they are really known for their singing.

Also, I need your written report on the national mall, and the Smithsonians.



Color ebook!


By far the most consistent criticism of The Definitive Guide to ImageMagick has been that the sample images need to be in color. I would have to agree with this point, which is why I am delighted that Apress took the time to go back around the production process and produce a version of the ebook with color images. It’s cool that they were willing to put in the effort, and not only that, they’re giving anyone who has purchased the ebook to date a free upgrade. Even better, now if you buy the printed book on Amazon, you get the color ebook for free!

I have a limited number of color ebooks to give away, so if you’re interested please leave a comment and explain why you’d like one.


Exciting news


Today email arrived with the contract for my second book (following on from The Definitive Guide to ImageMagick). This one is a still-secret project hatched with Stewart Smith, and I don’t want to mention the topic in public just yet. There are two reasons for that — there’s always a risk that the whole project will be a massive train wreck, and because Stewart and I haven’t talked yet about how we want to do the announcement. This book will be done with Apress, which I guess means that I thought they were pretty good to work with the first time.

Anyway, just keeping you up to date on the gossip…


Why software companies should be like Inca Kola, not Pepsi

I was reading an interesting blog post on Boing Boing the other day that got me thinking. The post is a link to the Wikipedia page on Inca Kola and how the Pepsi challenge destroyed Pepsi in Peru. From the article on Wikipedia:

In the 1980s, Pepsi’s infamous “Pepsi Challenge” (El Reto Pepsi) campaign helped to virtually destroy the Pepsi brand in Peru, due in large part to the fact that consumers do not enjoy being told they’re wrong. The campaign was quite simple actually: Tasting centers were set up in and around Lima where people could freely participate in a blind taste test between Pepsi and Coca-Cola. Attendees were presented with two covered bottles and two glasses, each bottle was opened and poured into its respective glass, whereupon the tester was asked to drink each and declare his or her favorite, but not before being asked which they preferred and drank regularly.

The campaign was a disaster, three results came from the testing, all detrimental to Pepsi: 1) People were angered by the fact that they were “wrong” in their choice and abandoned Pepsi, switching to either Coca-Cola or Inca Kola; 2) Those who chose Coca-Cola over Pepsi either switched to or stayed with Coca-Cola; 3) Those who were ambivalent between them cemented their ambivalence and switched to Inca Kola. Additionally, the costs of the Pepsi Challenge, which started to run into the millions of US dollars, coupled with managerial mistakes left CEPSA virtually bankrupt.

Thinking about this, I think it applies to the software industry too. Specifically my previous employer, TOWER Software (yes, they really do shout the name). Bear with me for a second while I explain my premise…

Firstly, TOWER has recently implemented a SDK support wiki. This is actually a relatively innovative idea, I can’t think of any other commercial software products which have wikis for their product support (although I am sure someone will point out how wrong I am now that I’ve written this). It is common for open source products, but it’s that sense of community that all software products can benefit from.

Now I hear from Lindsay that the wiki has been locked down. You need to request an account before you can access the content (let alone edit it, we’re talking about it being locked down for reading as well). The user creation process seems to involve making sure that you don’t really work for a competitor, and that you’re a customer.

To me, this is like the Pepsi challenge. Locking down the documentation makes two assumptions — that TOWER’s competitors don’t already have access to the documentation (I am sure that their either don’t know that TOWER exists, like Alfresco chap I spoke to at the MySQL User’s conference, or already have access to the documentation (there is a lot of cross pollination in the industry)). Now, why would other companies want access to the documentation?

Reason for spying on someone else’s documentation Number One

Perhaps the other companies think that if they have access to the documentation they can use that information to tell prospective customers that TOWER’s product sucks. In my experience this is the dumbest thing a sales person can ever do… Would you buy a product from someone who can only sell their product by saying that someone else’s is worse? Surely you want products from thought leaders (I hate that term), not someone on the defensive? It’s like the Linux companies from the 1990s who solely advertised on the bassi that their product sucked less than Microsoft’s. None of those companies exist any more, because it’s just not a compelling way of selling. They should have been put there explaining how customers could save money and do more with less. That’s the sales technique which works today, and that’s because it’s about Linux’s value, not the evils of the competition.

Reason for spying on someone else’s documentation Number Two

This is the Pepsi challenge bit. I can imagine that there are super secret product things on the wiki, and that they’re worried that competitors might steal their product ideas. This is perhaps sillier than the previous reason. Let’s think about this. I can take a product and mimic it with my own. I can then market it as a cheaper version, and perhaps I’ll win a small amount of market share, but in return for a lot of work to emulate someone else’s ideas with their legacy in that area. I would be much better coming up with something original.

People don’t tend to be interested in incremental changes to what they already have from someone other than the original supplier. The incumbent is likely to provide those as a minor upgrade really soon anyways, and there is a lot less risk staying with the what you know. It’s like Mark Shuttleworth said in his keynote at the MySQL Users conference, which was something along the lines of “I don’t like investing in companies which say they want to be the next “Microsoft” or whatever. I invest in companies which want to change the market by providing something new, and fantastic.” (That’s a paraphrase, please don’t sue me). It’s all about disruptive technologies — they seem to be the ones which end up producing wildly successful companies.

So back to the Pepsi challenge. It’s like Peru — customers don’t like being told they’re wrong, and if the products are too similar, then people will stay with what they know.

Hmmmm. That MySQL conference seems to have provided some good writing material. I should let it mulch in the back of my brain more often.

By that argument, it’s better to let TOWER’s competitors see the documentation, in the hope that they will copy it, and therefore shoot themselves in the foot.

So what should they do?

There is one tactic which hasn’t been tried yet, and I think it’s worth giving it a go. TOWER should embrace a public wiki. They should work with their customers to help them use the product, and they should accept the ideas and investment that comes from having users who are passionate enough about the product to hang out on the wiki. Having a lot more content online will also make the product much more discoverable online, which can only be a good thing.

They should go further though. TOWER currently employes people to write white papers which are handed to customers. Let’s be honest though, no one actually reads those things. When was the last time you read a white paper instead of web surfing, watching TV, or playing with the kids? Instead, those people should be working on improving public understanding of the industry, so the whole market grows? This could include putting content on places like Wikipedia, industry web sites and so forth. Those articles can of course include TOWER’s product as an example, but competing products should be mentioned too. In other words, we’re talking unbiased genuine content which helps the world. Which is how I would describe the Wikipedia ECM page but not the Wikipedia TRIM Context page.


This is a call to arms for TOWER to reopen their wiki, and embrace the community instead of running scared from it. What sort of company should be scared of their customers (be they either present or future)? Get out there TOWER and create some content! You have a great product, so why are you sitting on the edge of the dance floor? Get out there and do the rumba!

TOWER walks away from their public wiki

(I am a former employee of TOWER, and have many friends who still work there. I have no ill feelings towards TOWER, and am in fact still an investor. I now work for a potentially competing company, so bear that in mind.)


Did everyone else know this?


Apparently this behaviour has bothered me in the past as well, and I didn’t realize until I googled just now for an answer… I’ve never really thought to hard about this, but it turns out that bash’s return code checking for pipelines is rather dumb. Specifically, bash checks the return code of the last command in the pipeline, not the entire pipeline. For example:

    mikal@mstill:~$ exit 1 | exit 2
    mikal@mstill:~$ echo $?

We get the return code of the last process in the pipeline. Perhaps fair enough… Then again:

    mikal@mstill:~$ exit 1 | exit 0
    mikal@mstill:~$ echo $?

Here we get the return code of the final process again, which masks the error in the first process from being reported. You can get the return codes of all processes in the pipe like this:

    mikal@mstill:~$ exit 1 | exit 2
    mikal@mstill:~$ echo ${PIPESTATUS[@]}
    1 2

And then if you assume that the sum of all return codes will report if an error occurred:

    mikal@mstill:~$ exit 1 | exit 0
    mikal@mstill:~$ expr `echo ${PIPESTATUS[@]} | sed 's/ / + /g'`

Which is evil, but does what I want. Is there a less evil way of doing this?