Random Disconnected Diatribes of a p&p Documentation Engineer
In between the usual spates of frantic two-fingered typing of exciting new guidance this week, I've been attempting to expand my brain to the size of a small asteroid (with appropriate apologies to Douglas Adams fans, the size of a planet seems a rather optimistic aim). All this comes about because an increasing amount of stuff in the project I'm working on at the moment, the upcoming version of Enterprise Library, depends on new whizz-bang features of the .NET languages such as lambda expressions, nullable types, anonymous delegates, and implicit typing. As an upgraded VBScripter, much of this might as well have been written in Klingon for all the sense I could make of it.
It means I've had to do a crash course in advanced C# so that I don't look too much of an idiot at product meetings and demos by asking stupid questions such as "did you miss the word 'delegate' out there?" or "shouldn't the 'select' bit come first?". So I've been reading (and re-reading) a book by fellow Englishman Jon Skeet called "C# In Depth" (ISBN 1933988363), and I can definitely recommend it. It skips the usual "What .NET is", "How to do foreach loops", and the history of the Internet; and dives straight into the exciting new stuff in C# 2.0 and C# 3.0. It's well written and understandable to mere humans, yet delves deep into the topics and really makes sense of them. The only criticism I have is the overuse in almost every chapter of the excruciatingly awful term "syntactic sugar" when referring to the new language features.
And I've even had to order an equivalent VB.NET book as well so I can figure out how do code sample translations for the docs, and write my own demo code in both languages without just cheating and using Telerik's useful Code Converter site. It will be interesting to see if the combination of explanations from two different authors, in two different programming languages, makes the topics clearer or just more incomprehensible. Maybe after I've read them both a few times, my brain will be approaching small moon size. Perhaps I can even persuade people that my increasing bald patch is due to "syntactic squeeze" inside my head forcing out the few remaining gray hairs.
But what really prompted this week's doubtful diatribe was a throw-away comment in Jon's book. He says (though I'm not allowed to quote the actual words due to copyright restrictions) that developers previously had to rely on manually written documentation, whereas the syntax of the recent versions of languages such as C# 2.0 and 3.0, combined with the increasing capabilities of IDEs such as Visual Studio, means that this is no longer required. He suggests that documentation is often incomplete or inaccurate, and that developers rarely read it anyway.
This is kind of worrying, especially as a large part of my job is to create documentation for code projects, rather than just architectural guidance. And it seems that the bits developers do rely on most are the API reference sections that simply list and describe the classes and their members; and is built by an automated process from the generated assemblies, XML, and PDB files. OK, so this does depend to some extent on developers putting meaningful summary sections in their code for it to make much sense, but I can't see Microsoft paying me full time just to click the "Go" button in Sandcastle once a month. Do I need to start looking for a new job?
Yet, I'm not convinced that the huge amount of effort we put into producing documentation for p&p projects such as Enterprise Library is a waste of time. Yes, given a requirement to write a function to calculate some esoteric mathematical result, or interact with a Web Service, or even a whole application to do some kind of data processing, you may only need to know about the syntax and usage of elements of the language. Maybe that's what Jon was getting at. But when it comes to understanding a new technology, code library, or development framework, surely developers need some additional assistance in the form of written (or other format) guidance.
Most of the effort we put into documentation for things like Enterprise Library involves an overview of the feature so you can grasp what it does, when you should use it, and see an outline of how it works so you can understand it. Then there's information that's hard to get from looking at the code or using IntelliSense; such as configuration settings and their effects, recommendations on choosing appropriate methods and overloads, explanation of the return values and the ways you can use them, and more. I can't see how the brief descriptions in an API reference can provide this kind of assistance.
Or could it be that I'm just not a capable enough programmer to be able to do it without somebody holding my hand? Maybe I just need to get to know more people with planet-sized brains...
I read somewhere a while ago that the word "expert" comes from a combination of the two Latin words "ex" meaning "a has-been", and "spurt" meaning "a drip under pressure". I'm not sure I actually believe it, but is does seem a remarkably fortuitous match to my capabilities when it comes to the grudge matches I regularly indulge in just trying to keep my own network running. I suppose I've rambled on about my semi-competence as a network administrator enough times in the past. It's one of those areas where you think you're starting to get the knack of it, and then you realize that it's only because you haven't yet discovered all the things you don't know.
I guess it's a bit like the famous quote from Donald Rumsfield (the US Secretary of Defence a while back), who told a Pentagon briefing that "There are known knowns; these are things we know that we know. There are known unknowns. That is to say, there are things we know we don't know. But there are also unknown unknowns. These are things we don't know we don't know." Pretty much sums up the task of network administration I reckon. I just wish I could get a list of the things I don't know that I don't know - probably there's a Web site out there with it on, but one of the things I don't know is where to find it.
Anyway, enough prevarication - time I dragged this post back to somewhere nearer to reality (or at least as near as I usually get). The background to all this is another round of network updates aimed at trying to achieve a more reliable - and faster - connection between the confines of my daily routine in a remote office perched precariously on the edge of the Internet, and the big wide world of high speed connectivity out there. In a shock announcement a few weeks ago, our Government took the bold step of announcing that they expect everyone in the country to have access to "high speed broadband" at a speed of at least 2MB by no later than 2015. I suspect they're thinking we'll catch up with countries like Japan who can get 100MB without really trying.
Well, I get about 1.6MB on a good day over my 2MB ADSL connection, so waiting till 2015 for an extra 0.4MB seems a less than attractive proposition. And I'll still only get 512K up, which is the real killer when you use VPN or need to send large documents and files. And, unless I move house to next door to the local telephone exchange, I'm not going to get anything faster over ADSL. However, our national cable company suddenly seems to have got its act together, and can now provide data connections in our area. They even offer a symmetric service, with packages from 4MB to 100MB both ways! The only hang-up is that the cheapest is around 5,000 pounds ($9,000) per year.
But they do a "business service" that's 20MB down and 1MB up for a much more realistic rate, and so I've taken the plunge and ordered it. However, I hear regular disaster tales about cable services, so I decided to keep the ADSL line as well to provide redundancy in addition to higher speed. LinkSys do a reasonably priced load-balancing and failover router (the RV042) that should do the job nicely. And it will no doubt prove to be a useful source for a forthcoming diatribe on networking for dummies.
In the meantime, it means reshuffling the existing stuff around to make room; and to reconfigure the servers to provide separate connections for the Web server and DNS, which require static IP addresses, and the main network gateway that doesn't. That way I can take advantage of load-balancing for the internal network, while leaving the stuff that needs static addresses - and isn't, in reality, very busy - on the existing ADSL line. It all seemed very simple until I started to Visio the network diagram (is Visio a verb these days?), and discovered I don't have enough network cards in the servers...
So here I can sing the praises of Hyper-V. Previously I used one NIC for the host server O/S, one for the virtual internal switch, and one for the virtual external switch (as described in Hyper-Ventilation, Act III). Now I need two separate external connections, so I reconfigured the Hyper-V network to have one virtual switch connected to the internal network NIC, and two external switches connected to the other two NICs. I took the precaution of removing the VMs from Hyper-V manager first, and - amazingly - when I re-imported them, they retained all of their IPv4 settings! OK, so they did forget all their IPv6 settings, but that's not a huge job to reconfigure. And I even moved one of the VMs from one machine to another using the Export and Import tools, and it worked a treat. I have to say that going Hyper-V certainly seems like it was a good choice.
However, I came across one issue that first raised its ugly head a while ago. Hyper-V tries to be clever and ensure that you always have a working connection in the base (host) O/S. This means that, if you have more than one NIC in the machine, you end up with multiple active connections in the base O/S - and you have to disable the ones you don't need. That's OK, but I noticed that Service Pack 2 helpfully re-enabled all of the connections without telling me, and I only found out when I got error messages saying there were duplicate machine names on the network. Now I only have one connection to the internal network, so that error will never arise. If the connections in the base O/S get enabled again by some update or other factor, I'll have active connections between the external network and the base O/S.
One saving grace is that the duplicated connections have no fixed IP address or DNS entry, and rely on DHCP, so they won't actually work because the external router doesn't support DHCP. But if they were connected directly to an ISP, that IPS's system could provide one quite happily I guess. Would you know about it? I asked some Hyper-V experts whether I should uninstall the duplicated connections in the base O/S, but they advised against it. It seems this is resolved in Server 2008 R2, but you probably want to keep your eye on your base O/S connections until you upgrade.
And Server 2008 isn't the only thing that's waiting for the software to catch up. As part of the upgrades, I replaced the somewhat limited (and nearly full) Buffalo NAS drive with a gleaming new NetGear 4TB X-RAID package to try and keep my backups (including the server VMs) safe. Guess what? Just like the Buffalo drive, it can't talk to Server 2008 Active Directory. The updated system software is in beta and I'm loathe to try that with my precious data, so I'm back to using the drive admin account in my backup batch files. As they say in the trade (though I'm not sure which trade): "Rearrange these words into a well-known phrase or saying: Your Guys Act Together Get".
Finally (yes, there is an end to this post in sight), I discovered an interesting feature of the built-in Windows standard firewall. After moving the external DNS server from the gateway server to the Web server that lives in the perimeter network, I enabled the "DNS Service" filter in the standard Windows firewall to allow access for lookups from the Internet. As usual, after any network updates, I ran a port scan to check I hadn't done anything stupid. So it was a bit of a shock to discover that port 135 (DCOM / RPC) was open. It seems it's to allow external management of the DNS server using the MMC snap-in, and only allows connections to the DNS server executable, but I'm pretty sure that's not really something I want to allow anyone and his dog to do from their spare bedroom. Yes, I know that my external router will block port 135, and they'd need to be able to log on anyway, but it seems like I should have been told this would happen.
The answer is to configure Windows Firewall With Advanced Security (on the Administrative Tools menu). It looks a bit scary, especially as - at first glance - it seems like there are tons of enabled "Allow" rules that you definitely don't want on a public machine. But if you click the Monitoring node in the tree view you should see that the Public profile is active, and so most of the enabled rules (which specify the Domain or Private profile) are not active. Click the Firewall node to see which rules actually are active. To see (and change) which profile a connection uses, open Control Panel | Network and Sharing Center and click Customize for the connection. In my case, I disabled the DNS Service filter in the standard firewall dialog and enabled the two Public rules in WFWAS for DNS Incoming - one each for TCP and UDP on port 53. A subsequent port scan found port 135 firmly closed. Back in the standard Windows firewall dialog, the DNS Service entry now displays a "shaded tick" status.
All this shows how it's a really good idea to always check every update to your network - you can use a site such as Shields Up at Gibson Research for public facing machines and routers. I actually got a "perfect TruStealth rating" from them and from a couple of other sites on one connection, so I feel like a real administrator now. Though I'm sure there'll be some new unknown unknowns to discover tomorrow...
Anyone unfortunate enough to have followed my frantic ramblings over the years (though this blog and my diary from a previous life) will know that, in our house, we are fully paid up members of the modern all-singing, all-dancing, digital media and entertainment society. Well, OK, so we have a Media Center that is our main TV, DVD player, music jukebox, streaming device for our favorite saved videos, and presentation mechanism for a huge library of digital photos. We even use a photo screensaver, so we can relive those wonderful memories of the past whilst daydreaming in our armchairs in the evenings (pipe and slippers being optional accessories).
So, you can image the massed panic and total disruption to our daily life when, the other day, my wife pressed the button on the front to fire it up - and nothing happened. Of course, I didn't panic. Or, at least, I didn't panic immediately, knowing that it was just a glitch that the big red switch on the wall would resolve. And when it didn't, I panicked as well. But after the requisite period of running around waving our hands over our heads and howling in anguish, I came up with the solution: "No problem, we'll just buy another one."
Ha! Where did they all go? Only a couple of years ago there were dozens of different ready-built and off-the-shelf systems available, but a search of the Web revealed that now there seem to be only two - neither of which will work with our aging non-HDMI screen, nor have twin digital TV tuners. And digging deeper, it seems that they are both discontinued products anyway; in fact, if Sony is an example, the retail lifetime of a new model is about six weeks. The young sales guy at our local Sony Centre had never even heard of the two unsuitable ones I found still listed for sale at a few suppliers.
Eventually I found a company locally that advertises some nice-looking custom built machines, with a huge range of tempting options for power supplies, video cards, and the rest. But they don't have a showroom or any machines you can look at, don't do demonstrations, and only take orders over the Web. From previous experience, I reckon that a Media Center machine is definitely something you need to see working (and hear how loud it is) before parting with the not inconsiderable volumes of credit card.
But then I found a refurbished Acer 510 (like we have now) available from a London company, and snapped it up - and it turned out to be just as faulty as ours. The refurbishment obviously consisted of losing some of the screws, bending the cabinet lid so it didn't fit properly, and disconnecting the power button. So it's gone back to them. In fact, the behavior was not unlike that of our own broken one, which is currently languishing in the workshop of a local PC repair guy. I've told him he needs to get it to work, even if it means bodging an external power supply (which seems to be the fault), but he doesn't seem to hold out much hope.
The alternative looked like some consumer-related setup such as Sky Plus (satellite), or a "normal" TV with a slot for a memory card. But none of these can provide the total immersive experience of Media Center. And I've yet to find a "standard" PC that, while it might have Vista with Media Center installed, is quiet enough for the living room - or hibernates and wakes reliably to record stuff. For the last few days we've been using a very old Humax DVR that I bought in a sale when they were discontinued some years back, but the interface and capabilities make you feel like you're using a home computer from about 1985.
And then, after much more Web research, I came across the I.US range of Athlon-powered Media Center machines. The prices are a bit scary, but they get great write-ups from the H-Fi magazines (they seem to be aimed at hi-fi-retailers rather than computer dealers). I even found some available from Amazon, so - with a view to regaining marital harmony - I've bitten the bullet and flashed the cash. At least it's a nice looking case, so we can use it as an ornament if nothing else.
So, here's the question: As the average Joe (and Joanna) become more and more media-immersed with their digital cameras, downloaded music, and huge wall screens, surely there should be more systems available rather than fewer? I can't even find systems that use the competitors to the Windows Media Center software (Dell did have a version at one time). And why don't those cinema sound systems or digital video recorders that seem to be obligatory with modern TVs have facilities for seamlessly displaying photos and playing music?
Footnote: Interestingly, I've had replies from a couple of companies that do Media Center systems, which never showed up in my endless Web searches. One company (Russound) tell me they tried to get into the market but just couldn't sell them. Maybe it's just too specialist an area - I know only one other person who uses Media Center. Yet, once you're into it (and accept that it is, after all, a computer so it does need some TLC at times), you'll never go back to "ordinary" TV again.
FootfootNote: I also found this site that UK readers may be interested in if searching for a ready-built Media Center system: http://www.mediacenter-tv.co.uk/. I don't have any other information about them, but they do seem to list plenty of highly configurable systems.
FootfootfootNote: You might also like to take a look at http://www.media-centre-pc.co.uk/index.php?dispatch=categories.view&category_id=165 and http://www.vivadi.com/Media%20Centres.html.
It's a strange experience when you open the curtains in the morning to be faced by men in high visibility jackets and hard hats only a few yards away, and 30 feet above the ground. Mind you, the noise made by the assortment of cranes, diggers, and other plant they use - combined with regular hammering and occasional swearing - means you don't get to overlay in the mornings. I've even got to know most of them, and give them a cheery wave as I try and convert from half-asleep to some state of semi-awakeness. Though they do seem somewhat reticent about waving back to a zombie-like character with a dragged-through-a-hedge-backwards hairstyle, and still adorned in a bright blue check dressing gown.
What's interesting, though, is how they seem to build houses these days. In some ways, it's quite reminiscent of the agile process, which we follow here at p&p. OK, so they do have a detailed plan when they start, but you can see the way that this gradually morphs as they turn it into bricks and mortar. And even more so with some of the actual construction processes they follow. For example, the bricklayers leave slots in the wall for the scaffold poles as they build upwards, but obviously nobody told them how long a scaffold plank is - so they leave slots at seemingly random intervals. This means that the scaffold guy has to bodge together extra bits so the joints between the planks are properly supported. Maybe nobody thought of implementing an IScaffoldPlank interface.
And they leave nice neat holes in the wall for the pipes and stuff as they build, but they never seem to be in quite the right place. Though they do have metal frames they build into the wall for the windows, yet they tell me they don't order the windows until they've measured the holes after the brickwork in finished. So even if they do have specifications, they don't actually trust them. I suppose it's their equivalent of test driven development.
Agile development encourages completion of iteration tasks as chunks of a complete project, and the bricklayers obviously follow this technique. They even do paired development (funny how you never seem to see just one). And in an effort to complete their part of the process during the current iteration, they even build the extremely precarious "sticking out bits" on the corners that finish off the end of the fascia where walls, tiles, and gutters meet. And then, when the carpenters lift the roof trusses into place, they invariably knock these off. And even when they don't, the bricklayers seem to have to come back and alter them because they don't line up with the other bits.
After the roof trusses are in place, the roofers arrive and carry bundles of tiles up onto the roof and place them in nice equally-spaced heaps over the whole roof area. Yet when they come to lay the tiles onto the roof, they have to start at the bottom so that they overlap properly. By the time they are a third of the way up the slope, hammering in the fixing nails has the occasional interesting side effect of causing tiles to slide off the heaps above them and crash down onto the scaffolding - often narrowly missing them. Mind you, the experts seem to be able to catch these as they go past, like it's some kind of game. They rest end up in pieces in my garden.
You'd think that it would make sense to just carry them up onto the roof as they needed them. Yes, I know they have to build up equally on both sides of the slope (or the roof will fall off the walls with the unbalanced weight), but I reckon they do it so that they can see if the roof will actually take the weight of several hundred concrete tiles. The fact that they seem to put them all up there and then go away for a couple of days only reinforces this opinion. Probably it's their implementation of experimental spikes.
Still, it's going to seem very quiet here in a few weeks time when they've finished. I know you can buy CDs that just play the relaxing sounds of waves and birdsong. I wonder if I can get one that plays building noises...
So here's an interesting approach to merchandising and pricing your products. Imagine, if you will, that you have set up a company to build sports cars, and you reckon your can sell 50 in the first year. Or maybe, closer to home, you have invented some fabulous new piece of software that you're convinced will sweep the world off its feet and find a home on every desktop and server out there (yes, when I was a lot younger I started out like that as well...). Anyway, after a year, you discover that you are only selling half what you budgeted for, and so you're losing money. What do you do?
Well, you could decide to trim your costs to get back on budget. Or you could redouble your efforts in selling the cars/programs/whatever-it-is-you-do to reach your initial target. Or you might instead consider improving the product so it is easier to sell, making up the gap that way. It's a fair bet that one of these approaches - or, more likely, a combination - will solve the embarrassing "hole in the finances" problem...? Or, maybe, instead of any of these, how about just doubling the price?
If that sounds like a daft idea, and may in fact result in reduced sales, you obviously aren't familiar with the way that Government departments tackle this kind of not-unheard-of problem. After all, they are a monopoly in many areas of public service and provision, such as the people who look after registering land ownership or issuing passports. Here in our little Communist corner of the People's Republic of Europe, the Land Registry and the Passport Office have both announced that, because people can't afford to buy houses or go on holiday any more, these two offices are both running over budget. It seems that the income from the fees they charge has dropped dramatically during the recession.
In fact, one of my wife's friends works in the local Land Registry office and she's regularly been regaling us with tales of how they have nothing to do - and are having to look busy by reorganizing the filing system, re-sharpening their pencils every hour, and moving everything from one room to another and back again. She was worried that she'd be made redundant, but that's not the way they do things. Instead, they just put their price up for each registration. And no messing about with 5% increases here, add another 75% on instead.
And then there's passports. Or, as they have now become, "combined identity and travel documents". Not only have they doubled the price, but it seems that the Government doesn't know enough about us already and now they need to put every detail on some database that they can then sell to make some extra money. Of course, it will be really useful in reducing crime and terrorism, and make us all feel safer because we'll have an extra plastic card that we can wave around to prove who we are. Maybe they'll be able to do all the fancy things you see on these TV forensics programs as well, like identify people from the perfume or aftershave they wear, or by the color of their socks. I watch C.S.I. so I know about these things.
In fact, my favorite one was where they were at some big trucking company office where there was a huge map showing lots of red dots where all the trucks were wandering around the roads of the state. A pal of mine has been involved in this kind of project for a local council, so I know it can be done. Though I seem to remember they only did snow ploughs and grass cutting machines, so it was a bit less exciting. My theory is that they could afford only a limited number of geo-location devices, and they figured they wouldn't be doing much grass cutting in the snow.
But I'm wandering off topic. So, as we watched these trucks on the big screen blinking their way around the map, the C.S.I. people started firing questions. "Can you remove all the ones where the driver never goes on route 17?" Three taps on the keyboard, a satisfying bloopy noise, and some of the red dots flash and then fade away. "Now remove all the ones where the truck was off the road last Tuesday". Click, click, click, bloop, gone. "How about all of the trucks with a dent in the passenger door?" Tap, tap, tap, bloop, gone. "Now remove all the ones where the driver has never had whooping cough". Well, you get this picture... after a few more iterations there's only a single red blinking light left, so that must be the murderer!
But I still can't figure why, when you want to search some incredibly huge database of fingerprints, the system decides to make the most of its processing capabilities by retrieving all the ones that don't match and drawing a picture of them on the screen. Still, at least when it does find the right one, it flashes in a very attractive manner and all of the information you could possibly want scrolls across the screen. I wonder if they use an HTML Marquee tag. And our police will soon be able to do the same after we've all been photographed, iris-scanned, and fingerprinted like criminals for our new "combined identity and travel documents".
That is, of course, if they actually get the stuff into the database with some semblance of approximate accuracy (supposedly most of the Government databases have at least 10% errors, and the driver and vehicle one has nearer to 20% errors). I even read this week that they've still not got a system that's supposed to transfer court records to the police national database working because "some of the information is too complicated". It was supposed to be up and running three years ago, and they've already spent on it, according to my rough calculations, a sum of money equal to the entire tax take from our village for the next 75 years. I can't imagine how us people that live in the real world (and obviously only have to work with simple information) would get a way with that - even by doubling the price.
I'm fast coming to the conclusion that you actually need to be quite stupid to use a computer these days. Within a few years those with even a minor modicum of capability, or just a hint of innate common sense, or even mental agility that verges on a level around normal, will find themselves completely excluded from the ever-present, always-connected, online virtualness and technological future of man (and women) kind. We'll be reduced to writing on stuff called "paper" and sending these hand-written messages to others by buying "postage stamps". Or actually talking using ordinary words over a voice connection called a "telephone".
OK, so this partly comes about as a result of my daily battles with software that is either so simplified and "user-friendly" that it's almost impossible to make it do what you want, or which seems intent on trying to hide from you anything that does not involve answering inane questions. Yes, I know I've ranted on about this in probably far too many blog posts in the past. And I appreciate that software should be as intuitive and easy to use as possible to open up our wonderful world of computing technology to the widest possible audience.
But this week I've seen with some horror the effects of our attempts to achieve this in gory close-up detail as I've tried to help some friends get set up with their new computer. And these aren't stupid people trying to do difficult stuff. They have both run retail businesses before they retired from full-time work, and can quite successfully manage things like programming a video recorder, working the latest types of mobile phones, and eating gum whilst walking. And what's worse, they actually had another friend who is technically quite competent help them get their modem and Internet connection set up and working, yet fail to complete the job.
So these people looked on in horror as I tried to get them started with a bit of basics on using a GUI, starting and stopping programs, and gentle Web surfing. Questions I never even anticipated, such as "Why are there so many different ways to do the same thing?" and "What are all these little pictures on the bottom for?" (the notification icon area which contains no less than 11 icons that do nothing when you click on them). And even "How do I turn it off?" They didn't seem to intuitively grasp that you need to click the button that says "Start" if you wave your mouse pointer over it when you wanted to stop.
Then there's the free 60-day trial of Office that continually pops up a dialog asking you to register it, sends you (after several clicks) to a page that gives you a product key and tells you to copy it into the Office "register" dialog, but then sends you an email to tell you to do it all over again. Or the Norton program that nags continually until you click the "Fix" button, then does a few tricks, and then starts to "check your system" - at which point everything stops with no indication of what it's doing or how long it will take. And then it starts to "backup your files" to some online repository (no idea where). It says you can carry on working, but reports that the process failed when you close the nag window.
On my first visit, I set up a Windows Live email account for them so they wouldn't have to keep changing their email address when they change ISPs (I've read enough horror stories about the one they are with, though I suspect that all ISPs have a reasonably equal number of these circulating the 'Net). But the next day they told me that they hadn't managed to get into it again because they couldn't figure out what to do when presented with the initial Home page. "Why do I have to wave my arrow thing all over the page to see which bits do something?" they asked. I'd explained that links were usually blue and underlined, so they were completely fooled by links that are black and only go blue and underlined when you move the mouse pointer over them; and doubly fooled by the main login one that lit up blue. Though no doubt, after a while, they'll get used to the strange and often unintuitive conventions we take for granted (like "I can understand Maximize and Minimize, but what does Restore Down mean?").
Still, all of this is just a familiarization process, and they'll soon become proficient and inclusive members of our high-tech community. Though where the fun really started was trying to get their ISP email working so they could receive messages and online bills. My ISP (British Telecom) allows you to specify any email address to receive the "important information about our services" messages. But their ISP insists that you use their own email system, so we had to persuade Windows Email (a.k.a. Outlook Express) to talk to their mail servers. No, you can't just use the Webmail feature because the email setup process (which you have to do yourself) requires that you verify mail server registration using an "important information about our services" email that they send you before you can log in (?).
You kick off this registration process through their own Web site, after logging into it with your "broadband account details" - which are different from your email account details they send you in the welcome pack with your modem (even though you don't yet have an email account). And here we come to the nub of the issue that drove me (and them) crazy. The ISP provides a password to log onto their site in the "welcome" letter. But after endless attempts we couldn't make it work. So we phoned the automated "password reminder" service. The nice electronic lady read out the user name and password - exactly the same as in the welcome letter.
Now I don't know about you, but faced with a password (and this isn't the real one) such as "H6C2W9A3", and being canny enough to guess that - like most systems - it is case-sensitive, what would you type in? My guess is the same as we did over and over again: "H6C2W9A3". What you actually have to type is "h6c2w9a3". Yes, it's case sensitive, but to save confusion they print it in the welcome pack using "letters that look the same as the ones on the keyboard". And the automated password reminder service read it out as "haych for Henry, number six, see for Charlie, number two, double-you for Whisky, number nine, 'ay for Alpha, number three". Not even a suggestion that there might be some lower-case stuff in there.
Now you see what I mean about stupid people? The only people who will be able to use the Internet in a few years time are those who WRITE EVERYTHING IN CAPITAL LETTERS and don't even realize that there are such things as "small letters". And, after all that, when we finally did get to the "My Account" page, we found the following message (and note the interesting use of grammar): "My Account is currently unavailable. We making some improvements to our customer service and online systems over the weekend".
Probably they're making them more compatible with stupid people...
There's some ethereal guy called "system" wandering around inside my servers stealing stuff. It's a bit like when you were a kid and your parents hid things from you. When my hamster died, my Dad told me it had gone to live on a farm. Of course, when I got a bit older and my Grandmother passed away I realized he was telling fibs because she suffered from hay fever and was afraid of cows, so there's no way she would go and live on a farm. Yet, even though I've now reached the age where people generally feel they can tell me the truth (often, worryingly, to may face), I discover that Windows Server 2008 is still hiding stuff from me.
I suppose it's all related to the poor decisions I made when ordering my servers. Ever since I set them up with Hyper-V, and virtualized all the machines I find I need for my diminutive network here at chez Derbyshire, I've been struggling for disk space. It seems that 300GB is just an aperitif when you get serious about virtualization. OK, so the Server 2008 docs do say you need a minimum of 40GB for a standard installation, but I made the VMs only 30GB. My Windows 2003 Server VM that runs ISA is 30GB and has 22GB free. Though the Windows 2008 VMs that don't have very much at all installed are both showing only 8GB free of 30GB so maybe they were right...
Anyway, although my math skills may have waned since leaving school, I managed to calculate that I could run four 30GB VMs on a 150GB disk (yes, I know you're supposed to put them on separate disks, but my network loading is somewhat less than heavy - none of the machines goes above about 3% CPU utilization). Yet I could never get all of them onto the disk. OK, so Hyper-V does use some extra space for each VM when it's running (about 2GB for a 30GB VM), but I should still have space for four of them. In fact, as one of the VMs is a tightly locked down copy of Windows XP used for browsing and troubleshooting while I'm pretending to be a system administrator, and its only 10GB, I should have space left to swing several cats round simultaneously. But I could only ever fit the three 30GB VMs onto the disk.
I did try reducing the size of the VM with the 20+GB of free space using the Hyper-V tools, but (as they say in several blog posts I found) it's not a trivial exercise. You can convert the VM to a dynamic disk and compact it (it went down to 5.6GB), but when you convert it back to a fixed size disk there is no option to specify the size because it automatically grows to the partition size specified in its boot sector. You need to edit the partition size to reduce the physical disk size, and I didn't fancy playing round with that on a Sunday afternoon. Please, Hyper-V guys, can we have a tool to do this (and better docs that explain why you are wasting good gardening time playing with the existing tools).
So I've put off dealing with this issue for the last few months since setting everything up, but now that we are suddenly experiencing tropical conditions here in Little Olde England I decided I needed to find a way to get this sorted so I could shut down the "spare" server and reduce the searing temperatures in my server cabinet (see last week's ramblings for details). So out comes the calculator: three times 32 (the three VMs on the disk) equals 96. Check the disk properties and it says 133GB used, 14GB free. So where did all the spare disk space go? Maybe it's got some lost clusters, so I schedule a disk check and reboot. After restarting, look in the bootlog.txt file and - lo and behold - around 40GB is described as "in use by the system". What on earth for? Is it hiding secret documents from me? Does it need some spare disk space for playing Mahjong when nobody is watching? Is it full of dead hamsters that never made it to the farm?
So I did the usual, check the properties of each folder and add the total sizes together. 96GB. Then turn on "view operating system files" and do the same. Still 96GB. See what I mean? Most things made of metal expand when they get hot, so my disk drives should be getting bigger not smaller. I even considered looking underneath to see if there was a pool of congealed clusters that had leaked out of the bottom (OK, so not really). But then - "Aha!" - I remember seeing the occasional error message in Event Log about something to do with "Not sufficient disk space to create shadow copies". One of those messages that I've conveniently been ignoring.
So after furkling through the properties of the disk, I find that Windows has allocated 41GB to shadow copies. I suppose the fact that you can see this in the Shadow Copies tab of the Properties dialog means that it's not technically "hidden", but where is the file? You can't see it in Windows Explorer, even with "show operating system files" and "show hidden files" turned on. And how do you stop it happening? After reading some online docs and blog posts, it became clear that the shadow copies are there because the disk has a share set up, and it allows connected users to get at the previous deleted or updated data that was on the disk. I have the disk with the VMs on shared at admin level to be able to do backups, so I can't really just turn off sharing. And according to the Shadow Copies dialog, they are disabled on the disk anyway.
I had a go with the vssadmin command line tool that is part of Server 2008, but that said it couldn't find any shadow copies (that system guy obviously hides stuff from Windows as well). It seems that vssadmin can only delete shadow copies you create manually. And to make it worse, the more I tried enabling and disabling shadow copies, the larger the shadow copy got. After ten minutes it had grown to 55GB! In the end, more by luck that any administrative capability on my part, I found that by clicking the Schedule button and deleting the two existing scheduled shadow copy tasks, and setting the size to 300MB (the minimum you can specify), the shadow copies magically just disappeared. Suddenly I've got tons of spare disk space on all of my drives!
Of course, now I can't sleep at night worrying that shadow copies aren't occurring for my shares, but seeing as how: a) I didn't know there were there before, b) I've never had reason to use them, and c) I can't see why I'd need to get a previous copy of a VM when they are all exported and backed up in multiple places regularly (and don't actually change that much anyway), maybe I'm just being as paranoid as usual.
I suppose I'll find out one day when the sky does fall in, and I can't get to the Internet to update my blog. You'll probably be able to tell when this happens because the post will suddenly end in mid
OK, OK, so one month I'm complaining that our little green paradise island seems to have drifted north into the Arctic, and now I'm grumbling about the heat. Obviously global warming is more than just a fad, as we've been subjected here in England to temperatures hovering around 90 degrees in real money for the last week or so. Other than the gruesome sight of pale-skinned Englishmen in shorts (me included), it's having some rather dramatic effects on my technology installations. I'm becoming seriously concerned that my hard disks will turn into floppy ones, and my batteries will just chicken out in the heat.
Oh dear, bad puns and I only just got going. But it does seem like the newer the technology, the less capable it is of operating in temperatures that many places in the world would call normal. There's plenty of countries that get regular spells of weather well into the 90's, as I discovered when we went to a wedding in Cyprus a few years back. How on earth do they cope? I've got extra fans running 24/7 in the computer cabinet and in the office trying to keep everything going. I'm probably using 95% of my not inconsiderable weekly electricity consumption keeping kit that only uses 1% of it to actually do stuff from evaporating (the other 4% is the TV, obviously).
Maybe the trouble is that, here in England where we have a "temperate" climate, we're not really up to speed with modern technology such as air conditioning. Yes, they seem to put it in every car these days, but I only know one person who has it in their house, and that's in the conservatory where - on a hot day - it battles vainly to get the temperature below 80 degrees. I briefly considered running an extension lead out to my car and sitting in it to work, but that doesn't help with the servers and power supplies.
I've already had to shut down the NAS because it's sending me an email every five minutes saying it's getting a bit too warm. And I've shut down the backup domain controller to try and cut down the heat generation (though it's supposed to be one of those environmentally friendly boxes that will run on just a sniff of electricity). And the battery in the UPS in the office did its usual summer trick of bulging out at the sides, and throwing in the towel as soon as I powered up a desktop and a couple of decent sized monitors. It's no wonder UPS are so cheap to buy. They're like razors (or inkjet printers) - you end up spending ten times more than a new one would have cost on replacement batteries. Even though I cut a hole in the side and nailed a large fan onto it.
Probably I'm going to have to bite the bullet and buy a couple of those portable air conditioning units so my high-tech kit can stay cool while we all melt here in the sun. In fact, my wife reckons I've caught swine 'flu because she finds me sitting here at the keyboard sweating like pig when she sails in from her nice cool workplace in the evening. At least the heat has killed most things in the garden (including the lawn) so that's one job I've escaped from.
By the way, in case you didn't realize, the title this week comes from a rather old BBC TV program. Any similarity between the actor who played Gunner 'Lofty' and this author is vigorously denied.