Random Disconnected Diatribes of a p&p Documentation Engineer
I suppose it's a bit like that film The Matrix - you realize that you live in an ethereal and closed world only when you actually get to step outside of it. Or, like some people who have never been to another country, your view of the rest of the world is shaped just by what you see on TV. I guess I've been like that with open source stuff, and particularly Java; looking out incredulously from my little village of Microsoft technologies and products at the wide world beyond.
I started my computing days with what we euphemistically called a "home computer" (basically a games console with a keyboard), and progressed via a series of Amstrad computers to real PCs. At the time I was doing statistical and reporting work for a large manufacturing company, and had played with several MSDOS-based databases until I finally found nirvana with Windows 3.1 and Microsoft Access 1.0.
OK, so I'd learned a lot of computing theory in the meantime (such as a mixture of languages and programming theory), and I'd even written and sold technical, commercial, and business software. But most of it, especially after drifting deeper into the Windows way, was aimed at Microsoft operating systems and integration with Microsoft products. Gradually I'd been drawn in and captured by the Redmond magic.
It's only since I began work on our current HDInsight project that I've had to navigate deeper into the dark and scary jungles of open source; slashing away at the undergrowth of bewildering terminology with my virtual machete (Bing); wading knee-deep through murky and meandering streams of sometimes conflicting advice and guidance; and peering in amazement at the vast array of previously undiscovered wonders of nature such as ants, pigs, hives, zebra, and even a strange yellow elephant.
Sitting inside my nice comfy and well-defined Microsoft technology world, it's un-nerving to realize that until recently I never knew that all of this even existed. OK, so I've had dealings with Java, though mainly only under duress, and I've read about and even learnt a bit of other languages and frameworks such as Python and Ruby. In fact my first serious attempts at creating Windows DLLs were with Pascal (mainly because I could never get my head round C++). So Java code itself isn't really an issue.
No, where it all gets complicated is that almost all of the docs I read about Hadoop and the associated technologies are written by experts for experts. It seems like you need to know all about a whole range of topics and technologies before you can start learning about them. It's a bit like letting someone watch a medical drama series on TV and then giving them a scalpel, an operating theatre, and some (currently) live patients to practice on.
For example, I read endless articles about testing and debugging. It seems I should start by mocking out my objects (makes sense) and use a test runner to execute them within a single node local installation of Hadoop and with the Java virtual machine in advanced debug mode (I think). So I read about PowerMock, but it says I should use it with Mockito, but that says it's an extension of EasyMock. And I probably want to do it all from within Eclipse.
And to set up a local cluster I need to install Hadoop directly, although I have the HDInsight single node development environment already installed on my laptop. Can I use that instead? And if I want to run the Java VM in debug mode I probably want to use another program called ant to configure it. I'm sure I'll work all this out in time, though at the moment I'm wondering if it's going to be easier just to phone a friend (or ask the audience).
What's clear, however, is just how adaptable, configurable, and interoperable all this stuff is. I suppose I'm used to a strict product hierarchy and road map, nice dialog boxes and configuration web pages, and reams of beginner documentation for the Microsoft technologies that make up the confines of my own little world. Now I've strayed outside of the Microsoft Matrix, and discovered a whole wide world out there, I can't find a map. I'll probably spend the rest of my writing days blundering through the undergrowth, peering hopefully at every new edifice of civilization I can find, until - hopefully - it all start to fall into place. Or until some kind soul (aka Program Manager) taps me on the shoulder and mutters the equivalent of "Dr. Livingstone I presume."
Yes, the adventure is fun at the moment, but I'm quite looking forward to going home again...
So this week we had another digital failure in our household. At least I'm happy about the fact it was much less embarrassing than some other technical discrepancies that seem to have befallen the worlds of science and engineering recently.
The rather expensive Soundbridge Internet radio I purchased a few years ago, in response to my wife's requirement for more "proper" rock music stations in a location where Digital Audio Broadcasting (DAB) cannot reach, has curled up and died. And it did so in the usual disappointing digital way - no puff of smoke, loud bang, or any external sign that something had gone wrong. It just refuses to turn on or do anything at all. No doubt following the modern failure paradigm for electrical goods that I've described before (see Why Doesn't Stuff Go Bang Any More?).
Of course, my local disaster doesn't by any stretch of the imagination compare to that of Queensland University's Pitch Drop Embarrassment. This fascinating experiment, complete with live webcam view, is now so famous that it got a mention not only on TheRegister.co.uk, but also a half-page spread in one of our national newspapers - which happened to mention that the last time anything exciting happened, several years ago and unseen by any human eye, they rushed to watch the video and only discovered at that point the webcam had failed. I notice in the pictures that they now have three webcams watching for the burst of activity that's confidently expected to occur sometime this year.
But a faulty webcam can't get near to competing with the issue at Sweden's Ringhals power station last year, where they could have saved a lot of money just by installing a webcam. It seems that someone accidently left a vacuum cleaner inside one of the containment vessels, and nobody noticed when they started a pressure test. The resulting fire reportedly caused hundreds of million dollars of damage. At least the boss of the plant, Peter Gango, was able to quickly pinpoint the root cause of the event by telling reporters that "those items aren't supposed to be left in the containment when testing."
And another nice use of language to disguise webcam-related disasters has come to my notice recently. It seems that, before being abandoned altogether a couple of years ago, the wandering camera-equipped Spirit rover NASA sent to Mars had become permanently stuck in a sand drift. At which point it was re-designated from a "rover" to a "stationary research station." Maybe I should just re-designate my Soundbridge radio as a "non-audible listening device."
But instead I've taken the plunge and replaced the Soundbridge with an equivalent from Roberts Radio. It actually seems to work better than the Soundbridge (which doesn't appear to be available any longer), and has some neat features such as integration with Last.fm, and it even connects to a UPnP stream exposed by Microsoft Media Player. Though where we live it can't manage to drag a usable FM station out of the ether, and only finds a single DAB channel with enough meter bars to be usable.
Probably I should save money by avoiding all these high-tech devices, and use the cash to move house. Somewhere that gets radio and TV reception without needing huge aerials and signal boosters. Maybe somewhere like this...
You have to wonder whether the increasing use of tablet computers and touchscreens means we'll soon be back to the equivalent of a world that depends on stone axes and making fire by rubbing two sticks together. At the moment I'm doing my utmost to hang on to some semblance of advanced device interaction technique but there's a good chance that, in time, I'll also succumb.
This musing began when I noticed the gradual change in proddy-finger technique used by my wife with her new Nexus tablet. Previously, her frantic interactive facebooking and emailing sessions were rudely interrupted every few hours by the fact that the text on the screen became unreadable through a layer of greasy finger marks.
However, the fancy cover she bought to protect the device came with a neat pen-shaped, rubber-tipped stylus, and within days she'd become completely dependent on this. Now the screen is pristine after even the heaviest sessions of online social interaction. She tells me it's not only easier than using your finger, but more accurate and faster as well. And I have to admit that, after trying it out on my Surface RT, I can only agree.
But here's the thing. While I'm not the fastest or most accurate typist, I do manage to employ several fingers most of the time, and even a thumb or two for spaces now and then. And I can do it quite easily with the onscreen touch keyboard (in fact I'm doing it right now). However, watching my stylus-converted wife I realized that she was back in the world of one-fingered pecking using the equivalent of a pointed stick, rather than actually typing.
I suppose you could use a combination of fingers and stylus in the appropriate places, but that doesn't solve the greasy finger problem. Maybe the answer is gloves that have rubber tips of the correct flesh-matched consistency on all the fingers. Or just keep some wet wipes handy. Perhaps somebody already makes a cover for popular models of tablet computer that has a special holder for a packet of wet wipes.
Of course you could apply the "horses for courses" argument and say that some tasks should be carried out on a tablet, and others only on a real computer. During a recent discussion about applying Microsoft's Accessibility Standard (for example, you can't say "right-click" because there might not be a mouse) to a Hands-on Lab document we are creating, a colleague suggested that "nobody in their right mind would use a touch-screen device to run Visual Studio." OK, so basically I have to agree that writing programs in VS on a 7" tablet wouldn't be my idea of fun.
But many new laptops and convertible devices have a proper keyboard, a mouse track pad, and a touch screen. So I could just as easily be tempted into some proddy-finger action after typing a Lamba expression, rather than reaching for the mouse. Comments I'm already hearing from converted users of convertible devices is that it's a real shock going back to a computer where finger-on-screen action results only in greasy fingerprints. Jabbing at onscreen buttons with an index finger is much quicker than grabbing a plastic desk-bound rodent, or scratching around on a track pad to find where you left the mouse-pointer last time - and then manoeuvring it around the screen.
And maybe this transition to touch-screen interaction is becoming more obvious through its impact on the industry as a whole. I recently read that Logitech, best known for its keyboards and mice, went from a profit of $37m a year ago to a loss of $24m last year. That's a lot of unsold mice. Though it's likely that the difference was also caused by a reduction in sales of other traditional accessories that we no longer seem to need.
For example, instead of a monitor riser stand we now crouch uncomfortably over the tiny screen of a desk-located or knee-bound laptop or tablet. We don't need an ergonomically designed keyboard with soft-touch keys any more, we just get finger-impact injuries and stiff shoulder muscles. No requirement for a carefully designed mouse means additional wear on elbow joints as we scroll and point all around the screen. And the lack of a cushioned wrist rest is certain to speed the development of RSI.
Of course, evolution will soon resolve these problems for us. In only a few thousand years the successful members of the human race will have developed a long cranked neck, thin pointy grease-free fingers, and even a much larger nose to support our Internet-enabled glasses.
Those of us with small noses and fat fingers who fail to evolve will, of course, be easy to identify. We'll be the ones searching Amazon for sharp stones and abrasive sticks...
So I'm still fighting to keep Media Center as the main TV system here at chez Derbyshire, despite the veritable aggro it seems to spew out at regular intervals. On top of the increasing vagueness of the program categorization in the guide (it seems to think that "The Only Way Is Essex" is a documentary), the habit of the TV tuners to go walkabout when asked to do three things at once causes huge disruption to my wife's carefully crafted soap recording schedule.
OK, so maybe the hardware is aging a little, and the TV tuner card isn't the best in the world, but I've yet to find a decent compact and quiet Media Center box to replace it. So once again this week I've been plying it with more custom kludge software in an attempt to stay ahead of the aggravation curve. So, yes, it's yet another post about how to manage Media Center...
I've tried using services that regularly reboot the machine on a fixed schedule, or that just restart hardware drivers and services, but none seemed to be the right solution. Both tend to fire up at inappropriate times (usually in the middle of a recording or when you're trying to watch something it did manage to record), and so I finally decided that a notification mechanism was the optimum answer.
Failures are not that common anyway, occurring generally a couple of times a month, so rebooting every night is overkill while rebooting once a week means an error might go on for five or six days (or until you reboot manually). I considered a system of restarting the computer only when an error is detected, but then you're back to the rebooting at inappropriate times problem - often it will continue to record most things when only one tuner has stopped working.
And, anyway, how do I detect when an error has occurred? The obvious way is to look in the Windows Event Logs. The log named Media Center (in the Applications and Services section) helpfully contains Error events when a tuner fails, and meaningful Warning events when a program fails to be recorded correctly. And I already have a utility that can read event logs, so I'm half way there.
So I set to and created a modified version of the Server Monitor service I use to monitor my main network servers by removing all of the unnecessary crud and adding a capability to specify three pairs of values for the event source name and the partial text of an event message that the service will search for in the logs. The service already supports running scripts, external programs, and sending email messages. It also writes its own events to the Application log so that you can set up Scheduled Tasks that run in the context of a specified user account (the service needs to run under the Local System account). This means that you can use batch files kicked off by an event-driven Scheduled Task to do things such as closing and restarting the Media Center UI.
Initially I played with firing off a script from the service to reboot the computer using the shutdown command, but (as noted above) it's not an ideal solution unless you need to be away from the house for a while and you need Media Center to look after itself. Instead I set it up to search twice a day for new events in the Media Center log with the source Recording or ehRecvr, and containing things like "failure" and "not recorded" in the error message, and to send an email listing all of the new warnings and errors.
You'll need an SMTP server to actually send the emails. I set up my internal IIS 6.0 SMTP Service that sends emails from the various services and devices on my network (such as UPSs, the NAS, and the server monitor services) to allow relaying for the Media Center machine, or you can probably relay through your own email provider (such as Hotmail) instead.
So far it's worked well. You can look at the recording history within the Media Center ten-foot interface and see if there really is a problem, and reboot from the Settings section of the home screen when required. All you need is a smartphone or tablet by your side that can receive emails, and you'll never need to leave your armchair again.
However, deleting the history entries in Media Center doesn't seem to delete them from the Media Center log file - I guess that Media Center just listens for new events and stores them in its own database. To prevent being repeatedly reminded of old events after restarting the computer I added a configuration setting to the service that can be set to force it to ignore any existing events. Alternatively, you can simply clear the Media Center log when you reboot the machine.
If you want to access Windows Event Logs from a remote machine, such as one that has administrative privileges on a Media Center box that's running under a user account, you'll probably need to enable the inbound Windows Firewall rules for "Remote Event Log Management" (click the Advanced link in the Windows Firewall dialog or open "Widows Firewall with Advanced Security" from the Start menu).
You can download the service I created for free, including the Visual Studio 2010 source code, from here if you want to give it a try - and maybe even adapt it to suit your own requirements. There's no limitations on how you use the code, and there's loads of configuration settings so it might be useful in other scenarios as well.
But be ready for your partner to suddenly mention in the middle of a conversation that they "just got an email from the TV"...
One of the great things about being a technology pessimist is that you don't suffer that sinking feeling when something doesn't work as expected. And, of course, you get to experience a nice ripple of surprised elation when stuff actually does work as it's supposed to. This week I've experienced a roughly equal mixture of both.
I've rambled on in the past about the rather nice Dell Latitude E4300 that's been my main portable technology plaything over the last four years or so. It's got 4 gig of memory, a reasonably fast CPU, plenty of ports for my legacy peripherals, a superb matte screen with LED backlight, and all of this lives in a rather attractive metallic red case. And it's amazingly light and compact as well – easily the best laptop I've ever owned.
However, a constant stream of bleeding-edge pre-release software and myriad updates to the underlying Vista O/S (yes, I'm still a satisfied Vista user on some old kit) has taken its toll. Several things don't work very well, and it seems to spend the first half an hour of every day trying to collect all the wayward ones and zeros into some semblance of order - instead of doing anything useful such as opening my email inbox.
So I decided to experiment with the shiny new Windows 8 to see if I can live with it on a non-touch screen. I've been using it on the Surface RT that arrived a couple of weeks ago and I actually quite like it. In fact I'm writing this post on it right now. I'm also due to receive a super-duper touchy-feely ASUS laptop from work any day now, which will be great for collecting greasy fingerprints - and even for connecting to the corporate big iron when I need to do some internally-connected stuff.
So why not see if I can frighten the old Dell back to life by installing a scary new O/S? Or, even better, see if I can give it a whole new lease of life, like I did by upgrading an old XPS laptop to Windows 7 some while back. Mind you, there seemed no point in putting all this effort into it when the hard drive was probably one of the root causes of the arthritic performance, so before anything else I ordered a 128 gig SSD to replace it. The nice people at Crucial even do a proper upgrade kit for the E4300, so the hardware installation bit was only a ten minute job – including blowing the dust out of the innards after I took all the wrong panels off before I read the instructions.
After that installing Windows 8 was a breeze, and the change in performance is startling. It boots in less than ten seconds, and loads applications like they were already running in another window. Amazing. I've always been a bit reticent about SSDs after reading reports about doubtful reliability with the early ones, but it seems that even some parts of Windows Azure datacenters use them to maximize performance, so I guess they figured out how to make them more reliable.
It wasn't long before I'd got Office 2013, Visual Studio 2012, and all the other bits and pieces I use for my daily bread-winning tasks installed as well, and by now I was almost in ecstasy as the constant ripples of surprised elation overwhelmed my technological pessimism. Until I remembered why I'd never upgraded this machine to Windows 7 before – anything later than Vista must have BitLocker turned on to be allowed onto the corporate network.
But after some firkling in the BIOS I discovered a previously undiscovered TPM chip, and figured that maybe I could get BitLocker to work on this machine. It turned on OK, and quite happily encrypted my drive. However, every third reboot produced an error that "a compatible TPM module was not found” and I had to enter the recovery key (which is 48 characters long) to get it working. By teatime I'd decided that enough was enough, and turned BitLocker off again. It only took three hours to unencrypt the drive, but at least I still had a working setup.
So it seems that this machine is destined to never see CorpNet again, even if its memory will live long in the Active Directory Users and Computers list as a tribute to many years' faithful service. I just hope the new laptop arrives before I need to get access again, though I suppose I can just drop the old hard disk with Vista on it into the Dell if needs be.
And because I won't be joining it back to the corporate domain, I decided I might as well join it to my own domain here in my remote home/office. That way it will pick up all the domain rules and configuration settings, including using my own Windows Server Update Services (WSUS) server instead of going out to Windows Update each time.
And, just to balance out the pessimism-based elation/disappointment ratio, all I got from the Windows Update dialog was the incredibly useful "Error 800b0001” message. A brief Binging revealed that the WSUS server needed an application of the KB 2720211 patch, which several people reckoned would fix the problem. Oh no, it doesn't. You also need the KB 2734608 patch, which openly advertises that it fixes the problem with talking to the new "hardened” Windows Update client in Windows 8.
So at last I have what feels and looks like a new laptop, and all I need to do now is learn the keyboard equivalents of the proddy-finger actions. I quickly figured that Windows key + Q gets you to the nearest thing to a Start menu - the Search box where you can find and start all your regular programs. And I pinned the Control Panel widget to my Start (Home?) screen, along with all the applications I use most of the time, just to make life easier.
You even get a new game in Windows 8 - shuffling the start screen tiles around to get them in the order you want is just like playing one of those old picture tile slider puzzles. You have to plan four or five moves ahead or they all shuffle around randomly when you come to move the last one, and you have to start all over again.
And I guess that, if by some remote chance you're still here, you'll now be wondering about the title of this post. What I can't figure is why, when it's to set to automatically install updates, my WSUS server didn't automatically install the updates that make it to work with Windows 8. It turns out that they aren't actually on Windows Update. They are optional service updates that can prevent WSUS from distributing any custom updates you might have created. But it would have been nice to have been warned about it. Seems you only find out when you have the same problem as me, and search the web for an answer. Or if you are interested enough in WSUS to sign up to some mailing list.
But perhaps it's a good thing that everything didn't go right at the first attempt. I'm not sure my constitution could cope with an excess of surprised elation ripples at my time of life...
Why would you want to use a "Big Data" solution? It's a question that we've been trying to answer in the first chapter of our forthcoming p&p guide to Windows Azure HDInsight. For a long while, everything we found on the web and in the original HDInsight docs on the website talked just about the volume and unstructured nature of the data as the justification.
Meanwhile the docs and presentations from Hortonworks (who created the Hadoop implementation behind HDInsight), and existing books about Big Data, all have comparison tables for a relational database and Hadoop/HDFS. And all of these concentrate on the differences in data volume, disk write speed, handling unstructured data formats, the point at which a schema is applied to the data, and how query processing is distributed.
OK, so this is valid and useful information, but it all comes back to the suggestion that you should choose a Big Data solution such as HDInsight only when a relational database just can't cut it. You know how it is - your boss just sent you 20 Petabytes of data as text strings and he's happy to wait till next Tuesday for an answer to his question. This probably happens to lots of people every week.
But when you really start to think about it, and talk to people who actually know about enterprise databases, data warehouse systems, and BI (Hi, Graeme) you discover that almost anything real people want to do is most likely perfectly possible using the kit that's already running in their datacenter. SQL Server Parallel Data Warehouse (PDW) can cope with Terabytes of data, which realistically is all that most people will have. Let's face it, the total size of the census data for the whole of the U.S. is only a few hundred GB.
And the fact that Hadoop "moves the processing to the data instead of moving the data to the database engine" doesn't mean that much if the database has fibre connections to the data store. Yes, the fact that Hadoop does it as distributed parallel tasks might speed up queries, but PDW is built to do that, and there's typically no shortage of cores in modern processors. I'll accept that you need some serious hardware for SQL Server and PDW if you are doing anything more than pretending to be a DBA, but for most organizations that already do proper BI this is pretty much the case.
So, like many people, I was starting to wonder if this Big Data thing was just another fad that would be gone in a year's time. Is it actually "Big Hype", or even an updated version of the famous old IBM misquote: "I think there is a world market for maybe five Big Data systems."
Except until I watched a presentation by Microsoft technical fellow Dave Campbell. The point he made is that it's not really about any of the comparisons related to volume, or structure, or parallel processing, or distributed storage. These are just technical details. What it's really about is getting insights from data. Which is probably why they called it HDInsight.
When your mind is wandering while you're in the shower or eating your cornflakes, and you suddenly get hit by inspiration about some question you might be able to answer by querying all that data you keep collecting, you've discovered what Big Data is all about. If you need to go and see your data architect, DBA, or data steward to implement your inspiration they'll tell you it will take two weeks to design the query, a week to update the data models, three days to cleanse and validate the source data, and a day to set up the report. And it's perfectly possible that, after all this, the report won't show anything useful. Or it will show that you should have asked a different question.
If you are a Douglas Adams fan, no doubt you are already mumbling "Deep Thought" to yourself.
In the presentation Dave talked about how you simply fire up a new cluster in HDInsight, load the data, and ask the question. If the answer is useful, then you know what query you need to get your DBA to create in your data warehouse. If the answer isn't useful, but suggests that a different question might be interesting, then you go ahead and ask that question. And if there are no questions that provide useful answers, then the only thing you've lost is a few hours of your time and the hourly cost of the "pay only for what you use" Windows Azure HDInsight cluster.
And it's fairly safe to assume there are more than five organizations in the world that would find this useful...
So we've gone from a tabletless state to a twin fondleslab-equipped household in a little under two weeks. My wife no longer has to squint at Facebook pages containing 4 point text on a tiny smartphone screen, and I don't have to wait for Windows to get started on my "downstairs laptop" when I want to check my email. Technological nirvana perhaps?
Normally, I try to standardize our household purchases. While we don't tend to wear matching shell suits (at least, not since the late 80's), I did insist that she use a Windows 7 computer in her office so I would be able to fix it. And we both have the same HTC phone so that she can use mine after hers falls onto the tiled floor, or I can use hers after I drop mine in the bath.
However, things don't seem to have worked out quite that way with the fondleslabs. She's familiar with Android on the phone, and so when she decided that the cats could buy her a tablet for Mother's Day it was inevitable that it would be a Google Nexus 7. It's had some of the best reviews of the Android-powered ones, and is about the right size - some friends have 10" iPads but she reckoned they were a bit unwieldy.
And then, out of the blue just a week later, our friendly post lady turned up with my company-issued Windows Surface RT complete with the cheaper touch keyboard. First impressions are that it's a really neat piece of kit with a glorious screen, and it's surprisingly fast for a Windows O/S equipped mobile device.
So, as we've been dual-tabletized for a couple of weeks now, what's the verdict? Obviously, as a 'Softie I need to be a bit careful here, but it's interesting to compare the two in several areas. In particular what my better half thinks of the two, based on the things she most uses a tablet for - email, Facebook, web browsing, YouTube, etc.
In terms of speed there seems to be nothing between them. Both are superbly responsive, though the Surface does seem to take a bit longer opening some applications. But strangely, perhaps because of the position of the control buttons, she instinctively uses the Nexus in portrait mode and the Surface in landscape mode; which makes the text larger on the Surface because the page is wider, but you have to scroll more. Yes, you can rotate both devices and stretch the screen to enlarge the text, but the Surface just naturally seems to be better for browsing complex web pages.
However, figuring out where to go and what to do when she suddenly ends up on the Windows desktop is confusing, though the hardware button below the screen takes you straight back to the tiled intro screen. What does seem odd to her is that you need to swipe on nothing at the edge of the screen to get the options menu, and several tasks require swiping from the top or bottom - again there is no visible "tab" to indicate this. On the Nexus there's either a tab at the edge of the screen or a button displayed in the status bar.
Navigating within applications on the Surface also seems harder sometimes, especially when going back to a previous screen. The Nexus has a "back" button in the status bar, but many Surface apps have a hidden "back" button on the page that only shows when you touch the screen. So figuring out how to stop playback of a music track on the Surface, for example, takes some getting used to.
One area where the Surface does score well with my wife is the sound quality through the built-in speaker; it seems clearer and more rich than on the Nexus. The Surface also has an onscreen keyboard that feels more usable because of the size in the default landscape mode, but she hates the clip-on physical Surface keyboard with its lack of feedback and floppiness. And I find that, unlike a laptop, it's almost impossible to use the Surface on your lap with the physical keyboard. The screen angle with the fold-out stand seems wrong when you put it on the table or a desk.
After playing with both, my wife has gravitated to the Nexus for the familiarity of the applications and navigation (it's much like her HTC phone), and because it seems to be easier and more natural to hold in one hand while prodding and swiping with the other. She also seems to prefer the default portrait orientation - perhaps, again, because it is similar to the phone. But she's impressed with the Surface, especially apps such as the weather (much better than the Nexus one) and the availability of a proper back-facing camera (the Nexus only has a webcam).
Which is the better one as far as I'm concerned? I like the Nexus because it's neat and handy, and quite happily integrates with our own private email providers. But I hate it because it doesn't recognize the format of all our stored music and video files (WMA and WMV). I suppose this isn't surprising, and probably I should have used MP3 and MPEG when I ripped and stored them. The Surface, of course, does recognize WMA and WMV.
But what's won me over to the Surface is Windows 8. I never thought I'd like it (and maybe I won't so much on a non-touch laptop or desktop when I get around to upgrading), but on the tablet it's really good. The tiled interface is perfect, especially after a bit or reorganization around the apps I use most often. And, best of all, I can drop into the desktop where everything is familiar. If I want, I can fiddle with settings in the same way as all the other computers in our house.
Even better, it does proper networking with my Windows domain through the wireless router. By setting it up with a local account rather than a Microsoft (Live ID) account I can access any of the read-only shares on the network where we store music and video, so copying them onto the machine was easy compared to plugging the Nexus into a USB port of another computer. And I can save files I create in Word (such as these rambling blog posts) to a shared folder on the server that is backed up each night.
What's clear, I guess, is that the Surface is really a touch-enabled Windows laptop without a keyboard; and almost a laptop when you clip on the touch keyboard. OK, so you can't install standard Windows applications, but it has everything we typically use for non-work activities already installed. Plus Word, which to me is the most useful of all. The only real limitation I've found so far is that, unlike my Android phone, it can't connect to Microsoft corporate email servers because it doesn't meet the remote security requirements.
So, the final decision? With the very limited range of uses my wife has for the device, the Nexus seems to do it all except handle her favorite music videos that are in WMV format. And it's half the price of the Surface. Yet, after using the Surface for a while, I find the Nexus awkward and I miss having the familiarity and power of real Windows underneath. It's like I know what's happening with the Surface, even if I'm still struggling with some parts of the new tiled interface, whereas I'm never quite sure what the Nexus is doing.
It looks very much as though I'll be Surfacing the web, while my wife is sitting Nexus me...
Nobody could accuse me of being posh, and compared to most of the developers I work with here at Microsoft I'm probably not the brightest button in the box. But I did study mathematics in the past, including matrix theory. I just never got to pronounce it right.
It all came rushing back to me as I was watching a presentation about using singular value decomposition (SVD) to identify textual semantic spaces in a Big Data solution. I guess with a title like that I should have known better, but it did sound interesting. And would probably be really useful if I could understand any of it. Mind you, it was the end of a particularly stressful day and I was trying to get some other jobs finished at the same time it was playing on the second screen. Maybe an early start straight after a couple of cups of strong coffee will help next time.
But what struck me was that I remember everyone at school and college pronounced "matrix" with an "a" sound like in "apple", not an "ay" sound like in "say". Perhaps that's where being a rough English Northerner rather than a posh Home Counties softie comes into play. We say "grass" with the same "a as in apple" sound rather than "grahhss".
And even when the movie "The Matrix" came out and everyone called it "The May-tricks", I never thought about the different pronunciation. I suppose because, in my day job, you don't come across many matrices. Though I will accept that if you pronounce the plural as "may-tress-ease" rather than "mat-ress-ease" you're less likely to get confused when visiting a bed shop.
Though it did remind me of the story about an Englishman and an American who were trying to set up a meeting at a mutually convenient time:
Englishman: "You don't pronounce it like that! The proper way is 'shed-yool'" American: "Really? Is that what they taught you at sshool..."