@ayende You ought to try Mercurial. in reply to ayende 1 week ago
05
Jun

Keyboard switching in IE8 is insane

Earlier this week I took delivery of a new laptop at work. Because I use Colemak with my Microsoft Natural 4000 keyboard and qwerty when the ergonomic option is not available (unfortunately I find flat keyboards and Colemak just don’t mix, though the Colemak/ergo combination is light years ahead in terms of comfort) this means I am likely to be switching to and fro between the two layouts a lot more on the same machine.

Unfortunately, the Windows keyboard switcher is completely insane in this respect. It’s maddening that it sets your keyboard layout separately for each individual window rather than letting you set it across the board for all the windows that you have open, and even more so that it doesn’t give you an option to change this behaviour.

But it gets worse. In IE8 you can set the keyboard layout individually for each tab. This meant that at one point this morning I had Colemak in Twitter and qwerty in the browser’s address bar.

Yes, I know there’s the whole thing about each tab being in a separate process, but Google Chrome has a similar architecture and gets this right. Microsoft: this is a bug, not a feature. Please fix it.

12
Apr

Trying out speech recognition in Windows Vista

Over the past few months I’ve been rather intrigued by some of the reports that I’ve read about Windows Vista speech recognition.  For example, Scott Hanselman claims an increase in speed from approximately 72 words per minute when typing to about 125 words per minute with voice recognition—an improvement of approximately 75%.

Now Hanselman works for Microsoft, so it is only natural that he would give something to do with Windows Vista a glowing report, and let’s face it, a typing test is actually a very artificial way of trying out this kind of thing—you’re not chopping and changing all the time but reading verbatim off the screen.  Other people are less complimentary.  Microsoft’s ill fated demonstration of Vista’s speech recognition went down in history, with the immortal phrase “Dear aunt, let’s set so double the killer delete select all” appearing on the evening news and geek T-shirts.

I haven’t actually used Windows Vista that much until recently.  My old laptop only had Windows XP on it, and I use Windows Server 2003 at work.  However, a couple of weeks ago I got a new laptop, complete with Windows Vista, so I thought I might as well put it through its paces, and so today, I’ve been trying it out.  I’ve set myself the goal of writing a complete blog entry without using the keyboard or the mouse: opening Windows Live Writer, navigating Firefox and Google Reader, finding other pages that I want to reference, and inserting hyperlinks, using speech alone.

My experience so far has been more along the lines of the ill fated demonstration than Hanselman’s glowing report, but to be fair, it’s still early days.  Initially it was painfully awkward, and after a few hours it’s still pretty clunky, but it does seem to be learning from its mistakes and it does get it right about 80% of the time.  The problem is that the 20 per cent of the time when it doesn’t get it right, or when you want to chop and change things, it is very slow and fiddly.  Some things don’t even work: “show numbers” doesn’t show numbers correctly for hyperlinks on Ajax enabled sites in Firefox, and your blog’s category names don’t appear in the “categories” drop down list in Windows Live Writer.

Yes, it’s more comfortable than using the keyboard, but it does take a lot longer, and thoughts only trickle from your brain into your document rather than flowing.  It is also pretty frustrating if you keep chopping and changing things, as I do when I’m writing. Perhaps if I persevere at it I might find it improves, but I don’t think we’re going to be dispensing with our keyboards anytime soon. 

04
Feb

Seventy-one

I surpassed 70 words per minute on Colemak for the first time today. I have now all but abandoned qwerty…

(For those of you who are getting bored with me being a noisy Colemak fanboy, this will be the last of it round here — promise. I’ve started up a separate blog for that.)

11
Jan

On Colemak

Over the past week or so I’ve been trying out the Colemak keyboard layout again. I’ve been a bit ambivalent about it up to now, partly because I found some Colemak users a bit too enthusiastic, but more because I was getting thoroughly disillusioned with ye olde Kinesis keyboard, so my attention to it has been rather intermittent, to say the least.

However, unlike Michael Kaplan of Microsoft’s International Fundamentals team (that’s the mob that decide which keyboard layouts get included with Windows and which don’t), who dismisses it out of hand because he thinks they’re too zealous, I have actually tried it out, and on Ryan Heise’s typing test the other day I managed about fifty words per minute with it. That is about as fast as most people type, and faster than anything I managed with Dvorak. Impressive, even if it is only about two thirds of my qwerty speed.

Since Colemak is so similar to qwerty, and many of the keys stay in the same place, it is vastly easier to learn than Dvorak if you are an existing qwerty typist, and it is also much easier to retain fluency in qwerty while you’re at it. I’ve managed to get this far with surprisingly little effort using a “qwerty by day, Colemak by night” approach, which has the added advantage that it doesn’t interfere with your productivity while you’re learning.

So will I stick with it? I don’t know at this stage. It certainly seems more comfortable and disciplined for normal text, but I’ve found that it tends to get in the way a bit when I’m trying to write code, especially in C# or JavaScript. However, I now find it pretty easy to switch to and fro between the two layouts depending on which one takes my fancy at any given time, so I may well do. Colemak for text-based work and qwerty for code seems to be a strategy with quite a lot of mileage in it.

Quite how much you stand to gain from learning it I am not sure: the rough impression that I get from people’s reports is that speed gains are of the order of 20% or so at best, so your mileage may vary. Personally, I don’t consider qwerty to be the disaster area that its detractors make it out to be — loads of people use it without complaint, and I can manage a fairly respectable, if indisciplined and inaccurate, 80 words per minute or so with it. However, if you are particularly frustrated with it — and emphatically if you’re thinking of learning Dvorak — Colemak may be worth a try. Since it is dramatically easier to learn, it renders Dvorak a total waste of time. Colemak is also well known for its enthusiastic and lively community, who, although some of them can get a bit carried away with themselves at times, are actually quite helpful and supportive, and more than willing to give advice if you need it.

Alternatively, of course, there is always voice recognition software

17
Dec

Making the “zoom” slider on the Microsoft Natural 4000 keyboard do something useful

Unapologetic mindless link propagation time — this is just way too useful to let it slip: Olivier Dagenais on a hack to make the "zoom" slider on the Microsoft Natural 4000 keyboard function as a "scroll" slider. (Hat tip: Ayende).

09
Oct

Farewell to the Kinesis

I’ve decided to call it a day with my Kinesis keyboard.

This hasn’t been an easy decision. The Kinesis Advantage is a very nice piece of hardware, and I actually quite like it. Once you get used to it, it is very comfortable to type with, though you need to use Dvorak or Colemak to make the most of it. However, there is one very important thing that I have never been able to get used to on it: programming.

I’ve tried it with qwerty, and with Dvorak, and more recently in the past couple of weeks with Colemak, but these haven’t made any difference. The fact remains that there are some keys which are rarely used in normal typing that are used very frequently in writing code. Keys such as the square and curly brackets, the backslash, plus, minus and equals, and the cursor keys. These are frustratingly awkwardly placed on the Kinesis, and I have never managed to get used to them.

Yes, I know that the keyboard is reprogrammable, but you would have to reprogram something else in their places, and that something else would just be as awkward.

A while ago, someone left a comment on my blog assuring me that I would get used to it and I just needed to bear with it. Well, I’ve now had it for eighteen months and I still haven’t got used to it. There comes a point when you just have to face the fact that something isn’t going anywhere and you need to throw in the towel.

Since programming is what earns me my daily bread, I just can’t carry on regardless.

I’m going back to the Microsoft Natural line of keyboards, which are a tried and trusted solution that I’ve always found very satisfactory. I’ve ordered myself a new Microsoft Natural Ergonomic 4000 keyboard, and I am expecting delivery on Wednesday. I first saw one earlier this year on a visit to a client and I was fairly impressed with it. The key beds are curved slightly to make it more ergonomic, though the effect is much more subtle than the Kinesis. And while the £30 price tag may sound a tad extravagant given that keyboards come pretty much free with computers these days anyway, it is a lot more reasonable than the £225 you spend on a Kinesis. Besides, I don’t like flat keyboards that don’t give you the separation between the hands.

I’m not sure whether I will settle for one of the alternative layouts in the end. I found them almost essential on the Kinesis, on which qwerty is particularly cumbersome, but on more conventional keyboards the difference seems much smaller to me, and probably not worth the effort involved in switching. I never managed to match my qwerty typing speed on Dvorak, and now that I’ve switched back over the past few days I’ve realised that I can manage quite a good rate on qwerty, though I haven’t actually measured it properly. There is also the Remote Desktop Problem — when you have to use other computers, alternative layouts tend to get in the way somewhat. Besides, I’ve expended far too much time and energy on this whole kettle of fish and I am rather disinclined to experiment any further now.

23
Aug

Six weeks of Dvorak

I’ve now been typing in Dvorak for about six weeks, and it finally seems to have clicked. This is my fourth attempt, and this time it all slotted into place after about two weeks. Unlike my previous attempt, this time I have had no discomfort, probably because I am using my Kinesis keyboard almost exclusively now both at work and at home, and avoiding flat keyboards like the plague.

I wouldn’t claim to be the world’s fastest typist yet, but it has certainly improved my keyboard discipline. I am now at last able to touch type properly in a way that I was never able to do on qwerty, for starters, and this in turn means that I am finally getting the most out of my Kinesis contoured keyboard. It’s also fun to see people’s reactions when they try to use my keyboard and find that not only are they confused by the shape of the thing, it doesn’t give them the letters that they expect. Hehe…

One thing I have found however is that while Dvorak is a definite improvement for text, the difference is smaller when you are programming, particularly in a curly-brackety language like C# or JavaScript, since you are making much more use of numbers and symbols. Having said that, a lot of what you have to do as a programmer involves writing text — comments, specs and the like — so it is still an improvement anyway.

I decided in the end not to bother with any of the other alternative layouts. I briefly tried Colemak, and while my initial impressions were favourable, I came to the conclusion in the end that its advantages over Dvorak are too small to be worth bothering with. It seemed to work relatively well on a flat laptop keyboard but for some reason I found it no easier to get to grips with on my Kinesis than Dvorak.

There are actually several qwerty derivatives knocking about, and the main thing that makes Colemak different from, say, Asset or Arensito is its small but noisy fanboy community. Its Wikipedia article was deleted back in November on the grounds of non-notability and has since been protected to prevent re-creation, much to the disgust of the fanboys. Yeah, there was the CapsOff million dollar competition, but it seems that was an obscure affair where it turns out that the prize money was entirely funded by donations. Given that the CapsOff website says that they would list all donations on the website, and I couldn’t find any listed anywhere, it seems that Colemak won its designer a lot less than the touted million dollars by a very large margin. Sure, it may become more popular, but I’ve already put in enough effort switching to Dvorak, so I think I’ll give it a miss for now.

23
Jul

Does the keyboard have a future?

I got a new phone today. My old one died at the weekend but fortunately there was a spare one available at work that I have been given the use of. My mobile number is unchanged.

Unfortunately it is not an iPhone, but it does have some rather interesting features. One that I rather like is handwriting recognition, which even makes a reasonable attempt at interpreting cursive (joined-up) handwriting. It is accurate enough to be usable most of the time, and though it does make enough mistakes to slow you down, it seems to get more accurate the more you use it. It is certainly much easier to use it for texting than a tiny numeric keypad.

With technology like this, one wonders whether this means that the writing is on the wall for the keyboard as we know it. Speech recognition may have had a bit of a bad press, but it is improving all the time. We now have futuristic technologies such as Microsoft Surface and the iPhone either out or in the pipeline. Computer scientists at Cambridge University have even produced a device that can decode facial expressions.

Sure, all this may still be slow and resource intensive at present, but the technology is improving all the time, and while voice recognition may not be suitable in all settings (you wouldn’t make many friends using it in an open plan office environment), handwriting recognition is certainly rather promising, and it could well be a serious rival to the humble keyboard as our main data input device.

Having said that, I don’t think it’s curtains for the keyboard just yet. It comes into its own when you need to combine speed and accuracy. Skilled touch typists can reach speeds of eighty words per minute or more — speeds at which your handwriting would rapidly become illegible even to human readers. We developers will probably be the last ones to hang up our keyboards in the end of the day — the requirement for both speed and accuracy is paramount when you are writing code.

20
Jun

Typing perfection?

I have given up on Dvorak once and for all. It does make for much more disciplined typing, but I found that just as I was getting up to speed on it, I was beginning to experience some discomfort in my right hand and arm. There are some nasty artefacts in Dvorak, perhaps the worst of which is the position of the L key, in the top right hand corner of the keyboard. Having to stretch your pinky as much as that gets really sore after a while. Since the main reason why I started looking into alternative keyboard layouts was that for the past two years I have been experiencing some general fatigue and mild discomfort on and off in my right arm in the first place, I thought that it would be prudent to take note. I was also finding it very uncomfortable to type URLs on my Kinesis keyboard, where said pinky has to do the Riverdance to handle the forward slash and the shift key for the colon, then move out of the way to let your right middle finger handle the “www”.

At the moment I am back on QWERTY at work and hating it. However, there is a very promising new kid on the block as far as keyboard layouts are concerned: Colemak. Unlike Dvorak, it takes QWERTY as its starting point and only shuffles some of the keys around, leaving almost all the punctuation and symbols and some of the less frequently used letters in pretty much the same place. This makes for a much more comfortable typing experience that is also much easier to learn, and it has none of the nasty artefacts of Dvorak either.

The Colemak layout

After only two or three evenings, I am already more comfortable with it than I was after three weeks of going completely cold turkey on Dvorak on my first attempt back in July 2000. It also seems that switching to and fro between QWERTY and Colemak will be much easier than switching back and fro between QWERTY and Dvorak. You can get full instructions on how to use it, and a Windows installer, from the Colemak website. Hopefully it won’t be too long before I am good enough at it to be able to use it at work too.

Update: I didn’t eventually switch to Colemak in the end. (See discussion.)

08
Jun

Another crack at Dvorak

Over the past week or so I’ve been having another go at typing Dvorak again. I’ve been getting rather frustrated recently at my long standing indiscipline and uncoordinated habits on a QWERTY layout, particularly in my right hand, and I’ve been anxious to ditch it in favour of something a bit more sane and logical for quite a while now, the problem being, of course, the amount of time and effort it takes to make the switch, and the dire impact that it has on your productivity during the first couple of weeks.

This time I think it is within my grasp, however. This is my third attempt to get Dvoraking, and I can now easily manage over 30 words per minute on my laptop, where I have rearranged the key caps. I am still a bit slower on my Kinesis keyboard which does not have the keys relabelled, so I am having to learn to touch type properly on it, and that makes it a bit more of an effort. Nevertheless, it is now at the stage at which the impact on my productivity is minor enough for it to be tolerated at work, and once you reach that stage, it is plain sailing all the way.

Dvorak keyboard layout

I am well impressed with just how much more comfortable it is than qwerty, and also that it seems to encourage and even enforce much more disciplined keyboard habits. I find that the fingers on my right hand tend to gravitate naturally to the home keys for their resting position now, for instance, whereas on qwerty they tended to gravitate to anything but the home keys. I am also finding it much easier to type without having my palms resting on the wrist rests at the front of the keyboard all the time.

One thing I have found however is that if you frequently have to remote desktop into other computers and servers, a reprogrammable keyboard is absolutely essential. Terminal Services uses the keyboard layout programmed into the server rather than your local machine, so unless you are prepared to switch back and forth all the time between qwerty and Dvorak (and everything that I have read on the subject is unanimous that you shouldn’t while you’re learning), relying on the ability to change the keyboard settings in Windows simply won’t cut the mustard. The keyboard switcher in Windows can be pretty temperamental at the best of times, and nice as it would be to switch all the servers I access to Dvorak, there are other people around who also have to log in as an administrator as well as me, and if they end up typing gibberish or are unable to even log in thanks to the Dvorak layout, they are likely to get rather annoyed.

It seems that there are quite a few alpha geeks and bloggers who type Dvorak. Well known Dvorakists include Bittorrent inventor Bram Cohen and WordPress head honcho Matt Mullenweg. For a light-hearted and entertaining look at the benefits of the Dvorak keyboard layout, check out DVZine.org, a Dvorak advocacy site in web comic format. It’s a seriously cool intro to it that is well worth a read, even if you don’t plan to switch.