Search This Blog

Sunday, 30 May 2010

Ergonomic Experiences

Following on from my last post, on the subject of recommendations, I can heartily recommend that Evoluent mouse. I developed tennis elbow last year (and not from playing tennis), which has largely disappeared since I moved to using an ergonomic mouse. Ironically, the tennis elbow was probably triggered by me moving from a vanilla flat keyboard to a Microsoft Natural Ergonomic keyboard. Decades of habitual arm positioning were abruptly overturned when I started typing more naturally, and my muscles resisted. Ironically I made the decision to change keyboard when I noticed my wrists were starting to ache a lot.

It's a good keyboard though, and I've bought one for work and one for home use. There was another downside, or maybe it's an upside. Because the keyboard splits the keys into two groups, I had my nose rubbed in just how bad my two fingered typing technique was, so after thirty-five years of keyboard use I've finally had to teach myself touch-typing.

AI - Still Some Way to Go

A year or so ago I wanted to know the mass of the planet Jupiter (never mind why: it's a geek thing), so of course I typed "mass of Jupiter" into Google. Up came a list of hits, with Wikipedia as expected at the top. But above all of that was a single result from Google Calculator:

mass of Jupiter = 1.8987 × 1027 kilograms

It was like the Internet had just spoken to me, and I started to take seriously the suggestions from people like Kevin Kelley that our technology could be developing into an artificial intelligence.

So it was refreshing this week when I was browsing through my Amazon recommendations to find the Evoluent left-handed mouse, suggested to me on the grounds that I'd already bought the right-handed version. And even though it's annoying, I'm a little bit reassured when my Windows XP computer at work (though oddly not my home PC, which is also running XP Pro) spots on start up that my external hard drive is missing and so reports that my total disc capacity has decreased, only to next time warn me that it's just gone back up again.

Sunday, 16 May 2010

Comings and Goings in Programming Languages

Last week I wrote my first GOTO statement in around fifteen years. Strictly speaking it was a JavaScript 'continue' statement, but I specified a label after it to let me jump out of a nested loop, so in my mind it's a GOTO.

At University I was taught that GOTOs and labels were a bad thing because they encouraged spaghetti code. That was ironic, as they also taught me BASIC and Fortran IV, which completely depend on those very same bad things. However, looking at some of the code I used to write back then, I saw their point. Later, when I was writing assembly code for a living, and half your program seemed to be jump statements of one form or another, I really had my nose rubbed in how difficult this style of programming could be.

So for many years now I've tried to steer clear of anything that looked like a GOTO or a label. The nearest I got was in a C program when I mistyped 'default' as 'defualt' and the stupid compiler thought I was creating a label in the middle of a switch statement. (Boy, was that bug hard to spot.)

Going back to my 'continue', I have enough years behind me now to appreciate that jumping out of two loops is no worse than jumping out of one via a 'break', especially as the target label was just a few lines above. But in trying to remember all the arguments against jumps and labels, I suddenly remembered a former colleague saying about a computer language that it was the only one he'd ever met that had the equivalent of a COMEFROM statement.

Sadly, I cannot remember what that language was. A search on the web though found a language that actually does have a COMEFROM statement, namely Intercal. There was also a page explaining how one would work in Fortran. This is all quite amusing, but it's odd how much more difficult the idea of coming from is then going to, even though they're logically equivalent.

For another humorous but fairly unusable computer language, I would recommend Shakespeare, the language that lets your program read like a Tudor play. With true style, that implements a GOTO like this:

Hamlet:
   Let us proceed to scene III.

Social Networking and Me

Just been listening to last week's This Week in Google podcast, much of which centred on the recent concerns about Facebook privacy, as well as Facebook's apparent attempts to own the web. My own experience with Facebook used to be limited to a brief flirtation with it a couple of years ago. I gave up after a couple of weeks: I found I had little interest in giving the world a blow by blow account of my life, and I resented the wash of messages being a Facebook member generated, many from people I didn't even know. The final straw was a suggestion from a woman I'd never heard of that I should give her a slap. So I cancelled my account, or at least I think I did; it wasn't very straightforward.

Twitter and I have a similar relationship. As someone who's supposed to be tech-savvy, I felt I ought to open a Twitter account, but I quickly got fed up with having to repeatedly check for new messages (when I tried feeding them into Goggle Reader, I got someone else's messages instead--something to do with Google Reader not being set up to do logins). I do not share my user name, and have never tweeted. Despite this, I do get followers, though not for very long. None of them are names I recognise, and they all seem to be following hundreds of others without anyone reciprocating.

As someone who doesn't care to share the minutiae of his life with the world, the privacy issues of Facebook and others are less of a worry for me than the time it would take keeping up with all the messages they generate. I already have difficulty getting through all the blogs and podcasts I follow, as well as the music I want to listen to and the books I want to read, not to mention having a bit of a life away from the keyboard. Earphones and mobile devices have helped a lot: I've just finished listening to 'The Age of Innocence' (a novel I would probably never have got around to reading) on an Audible book, all done while cycling to and from work, or pounding the streets delivering election leaflets last month (much good that did). Even with their help though, there's still more content I want to consume than I can fit in to a day.

Despite me not being interested in Facebook and Twitter, in the last few weeks it's started to seem that I can't go anywhere on the web without being asked if I want to tweet about it or share it with Facebook. It feels like there's another layer being built over the web, one made up of the shared recommendations on social networking sites like Facebook, and maybe the time will come when newcomers to the web can be persuaded by the likes of Facebook to only access web pages via their site, in the same way that AOL and CompuServe tried with their home page portals.

Even Spotify, my beloved music streaming service, now invites me to share all my listening experiences. As if there might be someone out there who wants to know, in real time, which piece of music I've just listened to. Actually, I think I will start doing that, purely in the interest of research. I'll find out how long my few Twitter followers can stay interested in a stream of tweets directing them to pieces of music they've likely never heard of.

Or maybe I'll get some recommendations back.

Saturday, 8 May 2010

A Tangled Web

We were looking for the power adaptor for my son's mobile phone today. After searching all the obvious places, I reluctantly opened the drawer where anything remotely cable-like gets put to rest once we don't need it. It was a real mess.

This wasn't surprising: it usually is. But this time I decided to sort it all out, and chuck away anything that clearly would never get used again. It took nearly ten minutes to completely untangle the mass of wires, leads, and power cables. How does this happen? Logically, every time I add something to the drawer, it must end up sitting on top of everything else. So how do the leads tie themselves into knots? A mystery that may never be answered.

Anyway, now everything is separated, cables are folded and secured, and I'm deciding what to throw. My AKG wireless headphones, for a start. Plug the base station into my hi-fi, and I could enjoy listening to my CDs anywhere in the house or garden, with just the occasional crackle or hiss. And yet now superseded by so, so many different technologies. Trying hard not to remember how much they set me back 15 years ago. Still, I haven't used them for nearly a decade, and never will again, so out they go.

And why do I have four different sets of earphones squirrelled away (on top of the two sets I actually use)? Well, answered that: two leak sound, one sounds awful, and the fourth only works in one ear. Goodbye to the last two of those.

This illustrates another problem: my reluctance to get rid of something if it could conceivably be used again, even though it almost certainly never will.

One item is almost certainly an old fax cable from my last PC. I no longer fax, and my new PC doesn't have a modem anyway. Still, you never know. It can go back with all the USB and network cables that are so neatly wrapped, they clearly have never even been used at all.

And when did I ever need a cable with stereo connections at one end, and a microUSB connection at the other? I can only think it used to belong to the USB radio receiver I once owned. This would generate gigabyte-sized .wav files if I even tried to record a half hour radio show, and then became completely irrelevant once internet streaming radio caught on. The receiver's long gone, but the cable remains. Well, you never know.

There's our old battery recharger. Why did we buy another one to replace it? I can't remember, and I haven't got the time or inclination to experiment with it, so that one survives another day.

Finally, the sorting is over, the drawer is as tidy as I could wish for, and I'm left with a single power adaptor. Not, unfortunately, the one for my lad's mobile phone.