Random Disconnected Diatribes of a p&p Documentation Engineer
A few weeks ago I was trying to justify why software architects and developers, instead of politicians, should govern the world. Coincidently, I watched one of those programs about huge construction projects on TV this week, and it brought home even more the astonishing way that everything these days depends on computers and software. Even huge mechanical machines that seem to defy the realms of possibility.
In the program, P&H Mining Equipment was building a gigantic mechanical excavator. Much of the program focused on the huge tracks, the 100 ton main chassis, machining the massive gears for the transmission system, and erecting the jib that was as tall as a 20-storey building. Every component was incredibly solid and heavy, and it took almost superhuman effort to assemble (though you can't help wondering how much of the drama was down to judicious editing of the video).
However, according to the program the new excavator contains brand new computing technology that allows it to dig faster, avoid stalling in heavy conditions, and frees the operator from a raft of tasks and responsibilities (though they did manage to avoid using the phrase "as easy to drive as a family car"). Every part of the process of driving and digging is controlled by computers through miles of cable and hundreds of junction boxes and power distribution systems. It even automatically finds the truck it's supposed to be tipping into. I don't know about you, but I wouldn't want to be sitting in the truck when it automatically detects where I am and tips several hundred tons of rock. You never know if the operator has chosen that moment to switch it auto-pilot (or auto-dig) and wandered off for lunch.
And then later on, when it came time to test it and nothing seemed to work, there was no sign of a gang of oil-spattered brute force workmen - just a guy in shirt sleeves with laptop computer, and a couple of electricians. Getting it to finally work just required a geek to edit a single line of code in the central operating system. I guess it's a lot more satisfying when a successful debugging session results in some mammoth lump of machinery suddenly rumbling into action, compared to just getting a "Pass" message in your test runner.
Yet Ransomes & Rapier here in England built an equally huge excavator named Sundew way back in 1957, which you have to assume contained nothing even remotely resembling a computer. And it worked until 1984, including walking across country from one open cast mine to another 18 miles away (a journey that took nearly three months). I wonder if, in 40 years time, there will still be somebody around who knows how to debug programs in whatever language they used for the new excavator operating system. Or if, in the meantime, someone will figure a way to hack into it through Wi-Fi and make it run amok digging huge holes all over the place.
And do they have to connect it to the 'Net once a month to download the latest patches...?
It's customary to imagine that the most unpopular establishments in modern society are solicitors and estate agents (in the US, I guess the equivalent is lawyers and realtors; though I can't testify to their level of popularity from here). However, I reckon that the growing use and capabilities of mobile phones has paved the way for a whole new group of industrial charlatans. Aided, no doubt, by the possibilities offered by computerization and automation - something for which we, as developers, are partly responsible.
If you've tried to buy one of those fancy new smartphones recently, you've no doubt encountered some of the ingenious ways that the mobile phone service companies (the people who connect your amazing new device to the outside world) strive to confuse, obscure, bewilder, complicate, and generally befuddle us. It should be really easy: choose a phone, and then decide how much you want to pay each month for the specific matrix of services and allowances that best suit your requirements and usage patterns.
But, of course, it's not. You can choose to get the phone for free and pay a higher rate per month, or pay a bit towards the phone and pay a slightly lower monthly fee, or buy the phone outright and choose a package at much lower price. In theory, if you do the "free phone" thing with a fixed term contract, you'd think that the phone would be their responsibility throughout the life of the contract, just like if you rent a car or some other item. But that's not the case - if the phone goes wrong, it's your problem unless you pay extra for insurance. Yet you still have to pay the rest of the rental for the contract term.
It wouldn't be so bad, but all of the comparison web sites show that the free phone deals actually cost more over the contract term than buying the phone yourself. And, of course, the terms and conditions clearly state that the monthly fee and inclusive allowances for the contract can change during the term. And you can't replace or upgrade your phone until the end of the contract period either. That is, of course, if they can actually provide the phone and contract that you agreed to buy. Having spent three weeks wandering between delivery depots during the bad weather, my long-awaited Windows Phone finally arrived. Or rather, a package that I didn't order (and is, as you'd expect, a lot more expensive) arrived. Can they just "change it on the computer" to the one I ordered? No, it has to go back to them. Oh well, I suppose I can't actually go anywhere in this weather, so I don't really need a phone...
However, my wife (an intrepid traveller) just decided to equip herself with a new phone. She can't find anything like the old Motorola V8 that she loved so much, and instead went for a rather nice HTC Desire that does all the modern bells and whistles stuff. And rather than mess about trying to figure which service package she needed, and switch her number from our current provider, she just bought the phone outright to use with the SIM-only package we already have. Quick, easy, and pain free you'd think? No chance. First off, when you buy a "phone-only" package you have to, as the sales guy so eloquently explained, "have it on pay and go". That's what we want - pay for the phone and go home. Oh no, what it means is that you have to have a "pay and go" SIM card with it, and you have to buy at least ten pounds top-up to get the SIM card for free. Despite the fact that we don't want or need a SIM card (and didn't actually get one), we still had to pay the ten pounds charge for a "pay and go top-up" that we can't actually use.
The service package we have has a "Web Daily" inclusive feature, which - according to the web site blurb - "allows occasional access to data services for email and web browsing without paying for a fixed data allowance". Yes it does, but at 3 pounds ($ 4.50) per MB. OK, so the maximum charge per day is capped at one pound, but as you'll obviously access it every day when the phone automatically synchronizes your email, that's starting to look like an expensive deal. No problem: for five pounds per month you can add a data service to your package that has a 500 MB allowance. And you can add it over the web without having to listen to Greensleeves (or the latest hit from some unknown boy band) on the phone for half an hour.
I can understand that, when you add the data package, it removes the free "Web Daily" facility. However, it also removes the "Free Calls to Landlines" facility (where calls to non-mobile numbers are not subtracted from your "free minutes" allowance). Nobody I spoke to at the supplier can explain why paying more for the service means that you get less from it. Perhaps they imagine that everyone will send emails through the data package to people who they previously used to call, so they won't need to make non-mobile calls any more. Or maybe it's just another surreptitious way for them to make a bit more profit.
However, having got it all working, I'd have to admit that I'm amazed at what the phone can do. It took only a marginal effort to get it to work with our Wi-Fi, and talk to the hosted Exchange Server we use for email. It even synchronizes contacts with Outlook, and lets you upload and download music and photos from the phone as though it was a disk drive. As it contains an SD card, I suppose I shouldn't be surprised, but it's a refreshing change after fighting with the awful synchronization application that Motorola provided for the V3 (and which doesn't run on Windows Vista or Windows 7).
But, best of all, it actually sets the date and time automatically. My old Motorola V3 has never once managed that, so every time I turn it on it shows the date and time I last used it (which is sometimes a month or more ago). I wonder if I can justify buying a new phone just so I don't have to set the date and time manually...?
While I can't say that I'm a fanatical weather watcher, I am interested in the way that the contributing factors change and provide the rudimentary basis for weather forecasting (at least in the short term). Tapping the glass of the old wood and bellows barometer to see which way it's moving is fine for a rough guide, but more sophisticated kit can provide a lot more useful data.
I've rambled in the past about the weather station and corresponding web site I run (http://www.primrose-hill.com), and I'm starting to get quite proficient at rudimentary cause/effect recognition. At first it was exciting just to watch the real-time display, but now I generally drift straight into the trends page and look at the range of charts it provides. The usually smooth gradients of these charts provide a good indication of what to expect in the next 12 - 24 hours.
So it was a bit of a shock to see the results shown below a few days ago. OK, so the pressure had been falling steadily overnight and stormy weather was, therefore, anticipated. And then, at around 10:30, it levelled off:
And within just a couple of minutes the wind direction had completely changed through something like 150 degrees from South West to almost due North:
At the same time, this cold North wind brought the ambient temperature down almost instantly by 3 degrees, and then by a further 2 degrees within half an hour. This is the fastest drop in temperature I've ever recorded:
Meanwhile, the heavens opened and it began to rain. And, briefly, it rained at a rate of over 26 mm (one inch) per hour:
We'd had some rain earlier in the day, but within a few minutes we'd had another 1.5 mm, climbing to 2 mm within the hour:
I keep hearing about the gradual changes to our climate brought on by global warming, but this almost instantaneous change in the weather (local cooling?) was quite a surprise. And then, within the hour, it was snowing - though I knew that was going to happen because I'd just watched the weather forecast on the TV (and, yes, I know that's cheating)...
In fact they say this will be the coldest winter here in Britain since 1963/4. I can believe it - we've regularly had days where the temperature falls to minus 15°C (5°F) during the night and never gets above minus 5°C (23°F) during the day. They even said that one night last week it was colder in England than at the North Pole. Snow had been lying here for more than four weeks (waiting, as my Grandma would have said, for more). And while it's cold here, most of the Northern hemisphere seems to be suffering as well. I read that the temperature in Northern China was as low as minus 35°C (-31°F) in December so I suppose we're relatively lucky here. And, of course, everyone marvelled at the frozen lighthouse in Ohio.
So I suppose my New Year's resolutions should include buying a set of winter tyres for my car, stocking up on rock salt and shovels, and getting the central heating system serviced regularly. Meanwhile, if you are still at the "watching dials go round stage", you can just play with the semi-real-time page instead of looking at boring charts. It's updated every ten seconds:
Some while back, I was explaining why "USB" stands for "Unexpected System Behavior" (see Top 10 Tips for New or Nervous Computer Users). However, while roaming the web looking for something different for my wife for Christmas, I discovered that what it really stands for is "Useless Separate Bauble". You only have to explore some of the gadget gift sites to see why. Obviously I bought the wrong computer, because mine only has seven USB ports. It seems as though twenty is the minimum to achieve a harmonious and satisfying working environment these days.
I suppose I could buy a USB Motorcycle Engine that adds three extra USB ports, with the added bonus of making annoying motorbike noises whenever it's plugged in. Then I'd be able to connect a USB MSN Missile Launcher so that people can shoot harmless projectiles at me while I'm chatting with them. But best of all, I'd be able to plug in my USB Pet Rock. At least that would be less annoying than most other USB gadgets seeing as how it doesn't actually do anything at all.
In fact, paying money for stuff that doesn't do anything at all, never mind anything useful, seems to be a new and growing trend. I'm trying to figure when I'd need a pen that writes with ink that just disappears again leaving no trace (see KGB Disappearing Ink Pen), or a shower curtain showing the periodic table (useful in case I forget what the atomic mass of Caesium is while I'm showering, I suppose). Or even a pair of electronic eyeballs that blink in a very realistic manner and, according to the web site (though I'm not sure I believe it) can "turn any object into a lifelike lovable friend". Hmmm ... they obviously work to a different definition of the words "lifelike" and "lovable" than I do.
But at least I did find some really useful things. I toyed for a while with buying my wife an artificial hand for eating potato crisps without getting your fingers greasy. However, in the end, it had to be a remote controlled duck. Just the thing for extra bath-time fun.
And for myself? I reckon it's a tossup between an electric guitar T-shirt that you can actually play (and there's a drum one as well), or the more enigmatic "There's no place like 127.0.0.1" version.
As you can see, we're in for an exciting non-denominational gift giving season at our house this year...
So here a question: in how many consecutive years must something happen before it stops being a once-in-twenty-year event? I only ask because it would be nice if the people who pretend to run the country were at least a bit prepared for such an event.
I refer, of course, to the recent snow we've had here in Britain. Tales abound of services failing, lack of capability to manage the situation, and general incompetence. For example, despite the fact that, with the exception of the three worst days, everyone in our village has managed to get to work without a problem, there have been no letter post or parcel deliveries for nearly two weeks. Dustbins and recycling bins have not been emptied for three weeks, and there's been absolutely no sign of any council workers attempting to improve the situation for local taxpayers.
Talking to a colleague who lives in a similarly sized residential district in the US, it's interesting to compare how they handle winter weather conditions. Their local council emails residents with details of its plans, ploughs and grits the local roads, and delivers a pallet of rock salt for residents to use to keep paths and drives clear. Our council promised us a grit bin after the snow last year, but it's never materialized. And, best of all, a visit to their web site revealed that "they'd love to receive photos of the winter conditions for their picture gallery", yet there was absolutely nothing about how they plan to fulfil their duties of managing their district's needs.
Yes, I'm aware of the argument that we can't afford to have equipment standing around all year just in case it snows. But surely there must be some ways that they can be prepared and actually do something when it occurs, without investing millions of pounds in fancy snow blowing machines. A simple snowplough on the front of the gritting trucks would help, and some attempt to clear the side streets as well as the main roads would be nice. A local farmer happened to be passing last week and it took him five minutes to clear the worst from our road. Why don't the council have some official plan for farmers who can't get onto their land at this time of year to clear snow when required?
But I suppose the stories on the TV news and in the papers reveal the real depth of our country's incompetence. The council has to preserve grit stocks because they can't be replenished - the grit delivery trucks are stuck in the snow! Health and safety rules mean that refuse and recycling collectors cannot work when there is ice on the paths. And the highways department requires anyone who wants to use machinery on a public highway to complete a training course and apply for a special license. So that's OK then, we can take comfort from the fact that everything grinds to a halt because of the usual health and safety concerns...
However, where there really is a concern is with the web. Can internet shopping survive another year of late and non-deliveries without people deciding it's just not worth the hassle? I ordered a snow shovel a week before the worst of the snow came, and it's still somewhere in transit (probably the driver is using it to dig himself out as we speak). Even my new Windows Phone, which is coming by courier, has spent two weeks wandering between depots without seemingly getting any nearer here.
According to the managers of the major delivery companies and the post office, interviewed on TV during the "crisis", we can expect the disruption in deliveries to continue through to the New Year, and that's if there is no more snow. They say that they are working 24 hours a day to catch up, but that it's seemingly an impossible task; and suggest that people should not rely on getting anything delivered in time for Christmas. But, unless somebody built a few million new houses last week, surely they should be pleased about the economies of scale that the compression of deliveries will produce?
I read in the paper that a record 832,000 pounds was being spent on the internet every hour here in the UK last week, so there's a very large pile of undelivered goods somewhere...
I received an invitation to attend a "highly recommended" course this week on how to maximize use of Office Communicator, Live Meeting, and the Office Conferencing System. Specially timed, no doubt, to coincide with the rather interesting weather we are currently experiencing here in Britain. And obviously a really vital event to reduce the need for travel during this period of meteorological uncertainty.
Great, I thought, really useful - must sign up and watch the remote presentation! Except that, oddly, it's only being held in London and Reading (both some 180 miles away from me) and is not being networked. So I have to travel to see a presentation about reducing the need to travel. I suppose they assume that, until you see it, you won't know how to view it remotely. Maybe these photos of our usually green and pleasant land will indicate why I'm likely to miss it...
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"...