Smoke and Microsoft

March 9, 2011

Ms Charl Everton, Microsoft’s anti-piracy manager, says that running a pirated copy of Windows is tantamount to gun running, human trafficking and drug dealing. The same was said recently in a series of radio advertisements by British American Tobacco with regards to buying smuggled cigarettes.

Let’s examine these statements with a jaundiced, sceptical eye.

Microsoft is a mega-corporation that has been found guilty in both the European Union and the USA of anti-competitive behaviour, but this doesn’t mean it’s OK to buy counterfeit MS products. It doesn’t mean that those who pirate their products are rapists or genocidal megalomaniacs, either. We won’t go into the argument of whether or not the pirating of a software product is stealing; we’ll just accept for the purposes of argument that it is in some sense wrong, like copyright infringement.

The same can be said of smoking smuggled cigarettes—the smoker is depriving the national fiscus of the tax revenue that would have accrued had the cigarettes been legally imported.

So why do Microsoft and BAT make these absurd statements? What do they have in common?

Well, both Microsoft and BAT have a terrible public image. Microsoft is perceived in many quarters to purvey an inferior product that consumers are forced to buy because of Microsoft’s stranglehold on the PC software market. If you don’t believe me, just try to purchase a laptop computer without some version of MS Windows infesting its hard drive.

The cigarette companies sell a product that is known to be harmful to all who partake of it, and is fatal to a significant proportion of them, yet most of their customers are powerless to cease purchasing the product because one of its constituents, nicotine, is one of the most addictive substances known to man.

So, in order to divert attention from their own moral shortcomings, the companies must paint those who trespass upon their intellectual property as worse than they themselves are. They don’t want people to think, “Gosh, I know pirating software or buying smuggled cigarettes is wrong, but these guys are scumbags; ripping them off is a actually a public service, so I’ll go ahead and do it, anyway.” They want you to equate intellectual property infringements or petty smuggling as somehow akin to child rape—unthinkable.

There are perfectly legal alternatives, though. I stopped smoking, thereby saving my health and a stack of money to boot. I decided I would rather write with a quill and calculate with an abacus rather than buy another Microsoft product; I discovered Linux, which is superior to MS Windows in every respect and that there is a free office suite, OpenOffice, which is just as good as MS office.

Don’t pirate Microsoft’s rubbish and don’t smoke BAT’s rubbish, smuggled or not. But don’t buy the crap they purvey, either, or the crap they say.

Creative Commons License
Grumpy Old Man by Mark Widdicombe is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License

Computer con

March 1, 2011

There’s a very old joke which goes like this:

An English professor is enjoying extracurricular jollies with the wife of a colleague. He is atop the lady when her husband enters the room.
“I’m surprised,” exclaims the husband. “No, sir. I’m surprised. You are astonished,” says the professor.

Well, I’m both surprised and astonished at a scam that has been perpetrated in Ireland. Firstly, I’m surprised that anyone attempted this con because no sane criminal could possibly believe it would work. If someone came to me and said, “Hey Mark, I’ve had a brilliant idea for conning suckers out of their money. We take the Dublin phone book, right? Then we ring people up at random and say we’re from Microsoft and we have detected there’s something wrong with their computers. We tell them we can fix it online, but they must pay for a service contract. We get their credit card details and debit them say €100 or €200 and we don’t do a thing to their computers.”

“What do we say when they ask exactly what’s wrong with their computers?”

“We just make something up. Say their analogue navel rectifier’s got an exploit. Nobody who uses Windows knows anything about computers, anyway. If they sound really suspicious we just go into the wrong number routine.”

“Nah. Forget it. Nobody could be stupid enough to fall for something that obvious.”

But fall for it they did. In their droves. This is where the astonishment comes in. There are people who dress themselves in the morning and walk amongst us on their hind legs who are so stupid they would give out their credit card details over the telephone to strangers. A lot of them don’t even realise that they have been conned: they think there was an actual problem with their computers that the helpful folk at Microsoft have fixed for them.

Microsoft Ireland pay a person to be their ‘customer experience manager’. I would rather have the job of licking the mall toilets clean with my own tongue after a hot dog eating contest than fill that role, but it is filled by one Mary Ashe Winton, who has this to say:

Anyone who receives an unsolicited call from someone claiming to be from Microsoft should hang up. We do not make these type of calls, offering a technical support package.

Quite right, Mary. I hope Microsoft pay you top dollar in exchange for your rare gift of common sense.

Creative Commons License
Grumpy Old Man by Mark Widdicombe is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License

Fatal Error

January 3, 2011

Computer programmers are supposed to be intelligent. So why do I continually come across illiterate, nonsensical error messages? I don’t know the answer to that, but this post is directed at programmers in an effort to get them to think about what they do and correct the problem. If you aren’t a programmer, feel free to do something else for now, normal service will be resumed soon.

Software companies spend millions on ‘useability’ research, getting their user interfaces as good as they possibly can, but the whole effect can be ruined by one application developer who is too lazy to do his job properly. Here are some things developers should think about when handling errors in their programs.

Who will be using the program?

Obviously error messages aimed at pre-school children will be very different from those aimed at post-graduate computer scientists. This is so obvious it shouldn’t need to be stated, but programmers seem not to be aware of this, or have forgotten it in the heat of the moment. Don’t put a message like this in a game, for example:

Error at mem 0xffff17ba: unphased bypass operation. Reset second pulse generator to continue.

(unless the game actually has something called a second pulse generator which the player could be expected to know how to reset.)

Who will read the message?

This is related to the preceeding question, but is not identical to it because often different error messages are generated for different audiences. I work for a large retailer writing and maintaining database applications that are used by employees in the our distribution centres. It is reasonable to display an error to the user of the system that looks like this:

Error 1234 has occurred. Please contact the support helpline on extension 5678.

The same program could have written a different error to a logfile for the support department:

Error 1234: Country code does not exist on the country table. Please escalate to the IT department.

Instead the following error message is both displayed to the user and written to the logfile:


Apart from the annoying capitalization and the adolescent abuse of punctuation marks, this error message is useless because it doesn’t tell anyone what the problem actually is, or how to solve it.

The user cannot read your mind.

A lot of error messages are generated because the user has entered data that is in a format that the programmer did not expect. This is entirely the programmer’s fault unless he made it clear in advance what he expects. For example, in the US dates are usually written in mm-dd-yyyy format, whereas in the rest of the civilized world they are written as dd/mm/yyyy. There can be few things as annoying as entering the date and a message pops up telling you that you have used the ‘wrong’ format. Why didn’t you tell the user in advance what the expected format is?

Date (dd/mm/yyyy):

Being proactive in letting the user know what you expect goes a long way towards reducing frustration.

Is the information you request necessary?

Here’s a gem:

You need to supply a fax number in order for your request not to receive fax notifications to be processed.

Why? This user probably doesn’t want fax notifications because he hasn’t got a fax machine. This programmer clearly hasn’t thought about what he is doing at all. Similarly, why should someone have to give his hat size in order to become a blood donor? If you really want to alienate your customers, invading their privacy in this fashion is a good way to go; if you want this information for some or other reason, like marketing perhaps, then by all means ask for it, but don’t insist that it is provided. I’ve ‘walked away’ from many ecommerce sites because of their insistence that I divulge impertinent information.

Don’t only give the error—give the solution

You’ve told the user about the problem, but what must he do to recover the situation? If you don’t tell him you’ve only done half the job.

Error: software patent violation. You cannot continue to run this program. Please write to your MP or Congressman to get software patents banned.

OK, that’s another hobby horse I don’t want to ride right now, perhaps another day, but the frustration level of not being able to do whatever it is you want to do because of an obscure software error without having the faintest idea of how to fix it is high. Inform the user–give him options that will allow him to progress, or at least recover to the state he was in before the error struck.

All these things can be summed up in two words: good manners. Treat your users with the respect they deserve as your customers. Your error messages should be pertinent, detailed, informative and allow your users to do their jobs as efficiently as possible. I leave you with this hilarious quotation from the Microsoft C# programming manual, which perhaps goes some way towards explaining why error messages are as bad as they are:

The ButtonProperty value is a string that represents the property name used by the installer to retrieve the value of the button group. This property can be referenced by custom launch conditions to make decisions concerning application installation. For example, if the ButtonProperty is set to Buttons, you create a launch condition that examines the value of the Buttons property. If the first radio button is selected, Buttons takes the value contained in the Button1Value property. Likewise, if the second radio button is selected, Buttons takes the value contained in the Button2Value property. Many of the customizable dialog boxes have similarly configurable properties, which allow you to create a rich and complex installation experience for your users.

Creative Commons License
Grumpy Old Man by Mark Widdicombe is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License

ABC of Netese

June 20, 2010

A is for AFAIK: As Far As I Know. What follows is invariably false.

B is for BSOD: Blue Screen Of Death. Common on Windows systems. Those who have “upgraded” to Windows 7 may now enjoy a Beige Screen of Death. I understand that Microsoft have trademarked “Burgundy Screen of Death”, “Buff Screen of Death” and “Brown Screen of Death” to cater for future releases.

C is for Crapplet: A badly-written, buggy computer application, like MS Office.


D is for DFTT: Don’t Feed The Trolls. A “troll” is anyone who disagrees with you in any internet forum; if you can’t think of a logical response to an argument, you just label the other person a “troll”.

E is for EOL: End Of Life. In non-Netese this condition is known as “death”.

F is for FUD: Fear, Uncertainty and Doubt. This refers to the deliberate spread of misinformation with a view to achieving some nefarious purpose. An example is Microsoft making vague threats of impending patent litigation against Linux businesses with the aim of dissuading people from using open source software. Uncertainty and doubt are tautological—one of them is redundant.

G is for Godwin’s Law: States that eventually, in any online discussion, someone will compare whatever is being discussed to Hitler or the Nazis. Once that happens the discussion is effectively at an end—no further useful contributions will be made.

H is for HAND: Have A Nice Day. Just as banal and meaningless on the internet as it is in real life.

I is for IANAL: This does not indicate a preference for some perverse sexual activity, it means I Am Not A Lawyer. Always followed by legal advice that is totally wrong and in some cases dangerous, such as: “IANAL but AFAIK(cf) if you plead guilty they can’t give you the death penalty.” Variations exist such as IANAD (I am not a doctor), IANACP (I am not a concert pianist) and so on.

J is for JAHOYFT: Just Ask Her Out, You Fucking Tool. What could possibly go wrong?

K is for KOTL: Kiss On The Lips. What it says, sometimes enlivened as KOTL(WT) (Kiss On The Lips (With Tongue)).

L is for LOL: Laugh Out Loud. Used by bores who enjoy laughing at their own jokes, or wish to inform their readers that their sense of humour is so deficient that they find something that is profoundly unfunny funny. Variations include ROTFLMAO (rolling on the floor laughing my arse off) and suchlike. Do not put LOL at the end of a tender epistle under the misapprehension that it means Lots Of Love—you will surely ruin the mood.

M is for MUSH: Multi-User Shared Hallucination. Netese for the phenomenon known for thousands of years as religion.

N is for NSFW: Not Safe for Work. Usually accompanies email attachments that are pornographic or otherwise iffy and that you would not want your boss to see. Or, to be more accurate, you wouldn’t want your boss to see you seeing.

O is for OMG: Oh My God. Used by those experiencing MUSH (cf).

P is for PEBKAC: Problem Exists Between Keyboard and Chair. A way of saying a problem is caused by user error without causing offense to the user. It assumes the user is too ignorant to know what the acronym means, which really causes offence if he does.

Q is for QFA: Quoted for Accuracy. Why?

R is for RTFM: Read the Fucking Manual. Aimed at those annoying individuals who are too lazy to figure anything out for themselves, but will expect others to go out of their way to give assistance. Yes, I’m talking about you; you know who you are.

S is for SWIM: Someone Who Isn’t Me. A short, snappy way of saying someone else.

T is for TANSTAAFL: There Aint No Such Thing As A Free Lunch. There is, you know. You just have to know where to look and hone those mooching skills.

U is for UTFSE: Use The Fucking Search Engine. This comes into its own when you have told someone to RTFM (cf) and they tell you that the answer they want isn’t in TFM, then you tell them to UTFSE, Which is when they bleat that how to use the search engine was their original question, at which point you pack your bags and leave town.

V is for VEG: Very Evil Grin. Stay away from people who perpetrate this.

W is for WUBU2: What Have You Been Up To. Almost invariably used in conjunction with a VEG (cf). The correct response to this piece of impertinence is STFU & MYOB.

X is for XIT: Exit, used by people too lazy to type the letter “E”.

Y is for YTMND: You’re The Man Now, Dog. What you say to your dog when you want him to start paying the mortgage, mowing the lawn and so on. His response is invariably to ROTFLHAO.

Z is for ZOMG: An extreme form of OMG (cf) used by Moonies, Scientologists, Catholics, Protestants, Muslims, Jews and other assorted nutcases.

Creative Commons License
Grumpy Old Man by Mark Widdicombe is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License.

Cyber Jiggery-Pokery

May 25, 2010

Sometimes we get ripped off in subtle ways. An example of this is the thumb drive for my computer which I recently bought. It purports to have a capacity of 8GB, but it really doesn’t, for two reasons.

Because the internal architecture of computers depends on switches which can be in one of two states, computer storage comes in exponents of 2. A bit is one such switch and a byte is an array of eight, or 2 cubed. Unfortunately, when computer science was in its infancy, it was decided to hijack terminology from the decimal world to describe binary quantities. Kilo in decimal-speak means 1000 (10 to the power of 3), but in the binary world it is taken to mean 2 to the power of 10, which is 1024.

Similarly, Giga in decimal is the prefix which means 10 to the power of 9 (1,000,000,000), but in binary it means 2 to the power of 30, or 1,073,741,824. In my view it is reasonable when purchasing a computer storage device to assume that the quantity quoted is a binary quantity, not a decimal one, but this is not what actually happens. My so-called 8 Gigabyte drive, which should store 2 to the power of 33 bytes (8,589,934,592) actually only stores the decimal quantity (8,000,000,000 bytes), so I have been short-changed by nearly 600MB, enough to store a full length feature film.

To be completely fair, this is partly the fault of the computer scientists who should have come up with their own terminology from the beginning; the other (larger) part of the fault comes from the hardware marketers who cynically exploit the ambiguity to gain a competitive edge in a cut-throat market.

We also get ripped off in blatant, unsubtle ways. This same drive contains files which are allegedly essential for the correct operation of the device, and are not removable. These files are not stored in an area in addition to the 8 GB which I am supposed to have; they are part of the 8GB, so they eat further into the amount of storage I thought I was buying and would have available for my use.

These files are Windows executable files which are of no use to me whatsoever because I don’t run Windows on my computer—the files don’t do anything at all, but take up a few hundred MB of space which I thought I was buying for my own use. Because it isn’t worth the manufacturer’s while to produce different versions of their product for different operating platforms, we all have to suffer because of poor Windows design, even if we don’t use Windows.

What can we do about it? Not a lot, unfortunately. I suppose we could approach the advertising standards authority and tell them that this thing we have bought isn’t what it says on the tin, but I wouldn’t hold out much hope from that quarter, or from other related agencies or consumer protection organizations. We just have to put up with it if we want to buy these things, and be aware that we aren’t going to get what we should be getting.

Creative Commons License
Grumpy Old Man by Mark Widdicombe is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License.