Random Disconnected Diatribes of a p&p Documentation Engineer
When you think about it, it's clear that software architects and developers should rule the world. Not that - in reality - they don't already. Let's face it, almost everything that goes on in the world today, from air traffic control to motor cars to the microwave oven in your kitchen is powered by software. But what's becoming clearer over time is that they should be running the Government as well.
Here's the justifications:
1. Software developers manage usage of their primary resource, memory, knowing that there is a finite limit to the amount available. At some point you'll run out of slots to plug more in. You can't just print more memory for your application to use. Governments, meanwhile, have no idea how to manage their primary resource, which is, of course, money. They just keep spending it until there is none left, then print some more, and then discover that there still isn't enough to keep their economy running. Examples: Government debt and the financial crisis.
2. Software developers realize that efficiency is the key to making an application work well, and for generating income that allows them to prosper and build even more software. Individual components of the application are accurately targeted, fine-tuned for performance, and only instantiated when required. Governments, meanwhile, work on the principle that the best way to promote efficiency is to appoint more people to watch the people who are already watching other people who are trying to do something. Efficiency in Government consists of using maximum resources to manage input, instead of minimizing resource usage whilst achieving the required output. Examples: taxation systems and nationalized health services.
3. Software architects design systems based on known and tested mechanisms and patterns, thinking ahead to avoid applying limitations that will inhibit any future changes or extensions to the system; and considering interoperability, effectiveness, and reuse. Governments, meanwhile, design systems based on ideology and with no consideration of impact and unintended consequences; and usually based on untried practices and unproven assumptions. Examples: health and safety regulations and the Human Rights Act.
4. Software developers implement comprehensive testing regimes for their products, and provide an efficient feedback mechanism that allows them to discover faults and improve quality before the application is deployed. Governments, meanwhile, implement new systems with no prior testing and have no effective feedback mechanism that supports changes when glaring errors or omissions are discovered. Faults are either ignored, or result in changes that make things worse. Examples: the European Union and the single currency.
5. Software architects and developers innovate rapidly, meet constantly changing requirements, and fulfill aspirations in a fast moving market with regular new paradigms. Governments, meanwhile, plan for yesterday and strive to maintain power and the status quo. Examples: Doha trade negotiations and global environmental summits.
6. When a fault in a system is detected, software developers apply effective patches and updates to resolve the issue. Governments, meanwhile, prevaricate and apply wildly unpredictable and often unsuitable or unsatisfying fixes that often make things worse. Example: Cheddar cheese.
OK, so that last one might seem a rather strange example. But if you read about how the Irish Government is responding to the disastrous ramifications of its membership of the European Union last week, you'll understand. They've decided that the best way to counter the effects of running out of money is to give everyone in the country a nice soothing block of cheese to take their mind off the crisis (see Let Them Eat Cheese). A move that Jeremy Paxman on Newsnight rather neatly summed up as "quantitative cheesing".
But at least Wallace and Grommit would have approved (though Wensleydale would have been even better)...
So here's the problem with the Internet. They say it's supposed to bring everyone closer together and make the world a smaller place. But actually, at least in a virtual sense, the opposite is happening. Things that are geographically "next door" now seem like they are hundreds of miles away. It's all a bit like looking down the wrong end of a telescope.
OK, so you are probably wondering what kind of weird tangent I've gone off on this week. Maybe, as a friend commented on my blog a week or so ago, I'm on either too much (or too little) medication. As justification for my wild allegation, therefore, I'll materialize my virtual procrastinations by explaining the actual scenario that played itself out this week. It all started with wooden delivery pallets, tarpaulins, cats, and jumble sales...
The basic problem is that our local cat sanctuary raises money to look after a considerable number of waifs and strays though a variety of events, of which my wife is an active participant. A major one of these events is the bi-monthly jumble sale, which requires the accumulation of large volumes of assorted bric-a-brac, clothes, toys, and all kinds of other assorted saleable items. And, therefore, somewhere to store them.
Having exceeded the capacity of our current storage facilities, the only option now is to store non-delicate materials under tarpaulins on wooden pallets in the yard. However, even summer weather here in our wild and desolate corner of England often consists of rain and gales, and keeping the tarpaulins secured to the pallets is a problem. So my wife decided that she needed a big box of those hefty clamps that market traders use to secure the covers on their stalls, which seem able to withstand all kinds of inclement weather.
No problem! That's just what the Internet is for. OK, so finding a supplier required some frenetic application of various sets of search terms, but after a period of concentrated Binging we'd located a couple of suppliers. And having chosen the ones she wanted at a specialist market trader supplier's site, we flashed the plastic (including a not inconsiderable amount for next day delivery) and sat back to await arrival.
And, lo and behold, the next day a big van pulled up and deposited the goods on our doorstep. Strangely, the name on the van (different, of course, from that on the website) seemed oddly familiar. The reason only became apparent, however, when some loud and entirely unladylike language began to emanate from the kitchen where my better half had just read the delivery note and discovered that the name of the supplier we purchased from is actually a trading name, not the real name of the company.
Yes, you guessed it - the reason that the name on the van seemed familiar was that the company is located on a local industrial estate only about a mile and half away from us. My wife had peered down the wrong end of a telescope and paid nine pounds for the privilege of doorstep delivery from a company that she assumed was hundreds of miles away. And my mentioning that the site did have a "collect from warehouse" option as well as an "expensive next day delivery" option on the purchase page didn't really help...
Yet you only have to visit a search engine, mapping web site, or one of those sites that tests your connection speed to discover it's possible to determine your location from just your IP address. And I guess it's even easier on a phone that has a location capability built in. So here's a suggestion for the IE development team: as well as protecting users by checking the validity of the site's certificate and displaying a nice padlock if it's OK, how about also popping up a dialog that says "It would be cheaper just to walk down the road and fetch it"...
So it's been an interesting couple of weeks. I've been enthralled by some ancient mechanical technology, discovered that I can no longer buy a very ordinary item of computing equipment, pondered on the business logic inside foreign ATM cash dispensers, and become very familiar with ladies stockings.
OK, so maybe I should start by explaining the last of these to head off any rumors. Some friends of ours run a company that manufactures high quality fully fashioned nylon stockings for sale all over the world. It's a fairly specialist product and so volumes are small, and they only employ a few people. However, a recent minor disaster in their factory meant that they were way behind with dispatching orders. So they called in favors from friends, which is why we spent a weekend helping to pack stockings for a major customer of theirs in the US. It certainly made playing with computers seem a much more attractive career. Mind you, my code often morphs into equally complex tangled heaps; though thankfully it doesn't usually, like 15 dernier nylons, stubbornly adhere to the desk, the walls, my gloves and tee-shirt, and every other faintly static-charged surface.
But what really fascinated me about their factory was the knitting machines. If, in the improbable case that you venture into the vaguarities of my blog on a regular basis, you'll know that I'm a devotee of historical mechanical engineering technologies. So being able to watch a 10 ton, 60 foot long machine concurrently knitting 30 stockings to some incredibly complex pattern without any input from computers (or, in fact, any source of control other than an experienced operator and a huge variety of cogs, chains, pulleys, and levers) was absolutely fascinating. More than 10,000 miniature needles moving in unison, some 100 reels of yarn steadily unwinding, dozens of shafts and cogs spinning, the delightful aroma of hot oil and ancient machinery, and more noise than a road repair gang at work. Amazing.
If you want to see a picture of knitting machines similar to these, check out this page.
So what has all this to do with our hi-tech industry? Well, how about this: I'm reasonably sure that the ATM machine I used while in Cyprus doesn't depend for its logic or programming on a series of cogs, levers, and chains. It's all some very clever computerized mechanism that is obviously more reliable and less prone to weird behavior than a 60-year old mechanical knitting machine. So why, when I wanted to withdraw some Eurothings in cash, did it execute the following process:
I'm going to take an educated guess that it figured I was English from my language selection, assumed that all English people come from England, and that they all use real money (Pounds sterling). So it helpfully converted the usual nominal dispensing amounts from Pounds to Euros - even though it knows that it can dispense only 20 and 10 Euro notes. An interesting usability feature they probably paid some developer thousands of Pounds (or Euros) to implement within the software...
And then, arriving home from our holiday, I discover that the 15" LCD monitor in my server cabinet has decided that displaying stuff (other than as a blurry mass of colors) is no longer part of its remit. So I pop over to the website of one of my regular suppliers to order a replacement. Have you tried to buy a 15" monitor lately? Probably not, but I can tell you that you needn't bother. They're even rarer than hen's teeth. None of the numerous sites I tried, including several of those annoying shopping comparison sites, could locate one. But nothing larger will fit inside my server cabinet unless I chuck out most of the servers first.
And this is where I have to issue an apology to Amazon.co.uk. I've moaned in the past that they are damaging their brand visibility by allowing people who work from their spare bedroom to get equal prominence on the Amazon site, when I really only want to buy stuff from Amazon themselves. But now they do allow you to filter out merchant associates when showing products. And, better than that, one of their associates sold me a reconditioned 15" monitor at very reasonable price. Perhaps I should buy three so I have plenty of spares.
Or maybe I could just ask our hosiery friends to knit me a picture of the Windows Server 2008 desktop...
Here in England, the well-known and much loved actress Emma Thompson recently started a debate about the use by kids of slang terms that only serve to make them sound stupid. She cites things such as "yeahbut", "like", "innit" (perhaps an abbreviated form of "I'm a nitwit"), and use of the word "well" in phrases such as "I'm well tipsy". Or even "I'm well ill". Somebody even wrote to the newspaper to say that, as his train was pulling into Sevenoaks station, one of a group of teenage girls sitting opposite asked "Is this like Sevenoaks station?" - to which he replied "Yes, though the amazing similarity is probably due to the fact that it IS Sevenoaks station..."
But is does seem as though our vocabulary is changing at an increasing rate these days. At one time we had a "World Wide Web", and then we just had a "Web", and now - according to the latest version of the Microsoft Manual of Technical Style that all us technical writers have to abide by - we just have a "web". And they even make us miss out the spaces now, so we have a "website" rather than a "Web site". But I suppose it saves on paper and network bandwidth.
And I guess it just mirrors the way that "the Internet" became "the 'Net", then just "the net". And "E-mail" morphed to "e-mail" and then to "email". It's happened in the past to things like "Biro" (invented by Ladislas Biro) and to "Hoover" (named after William H. Hoover, who started the company that perfected earlier designs). And then, once they get to be lower-cased and spaceless, we start creating our verb derivations - such as "emailing" and "hoovering". So how long will it be before we hear about people "webbing" and "netting". The fact that our wealth of newly-derived words often already have a proper meaning seems to be irrelevant these days.
One wonderful line from some obscure poem I read ages ago, supposedly about the noises that emanate from an upstairs apartment, was "The moving hoover hooveth, and having hoov'd moves on".
But what's interesting is if the real reason we had to get rid of "World Wide Web" was because it started with the wrong letters. Having to repeatedly say "doubleyew doubleyew doubleyew dot..." each time you read out a website URL was a pain. Though, thanks to George Dubya Bush, we can now generally get away with just "dub dub dub dot...". Though I always find that hearing it conjures up visions of a nursery rhyme.
Perhaps if Tim Berners-Lee had started out by calling it the "Random Resources Repository", we'd still have a proper name for it. I mean, it would be easy to say "arrrrrrrgh dot...", and everyone would understand that the extended length of the arrrrrrrgh signified three of them. And I doubt that even our linguistic regulation people here at Microsoft would decide we had to call the stuff on servers "reposites". Plus, we could have arrrrrrrghlogs and arrrrrrrghmail and arrrrrrrghpplications (though that just sounds like somebody posh saying "application").
But I suppose it would only encourage more pirate jokes (what did the doctor say to the pirate with a bad leg? "It looks like you've got arrrrrrrghthritis")...