• You are not logged in.

Programmer switching to Colemak

  • Started by Tetrinity
  • 79 Replies:
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

So, I've done it. I've made the switch to Colemak. What an interesting time it has been.

Let me back up a little. I've been using computers, and the associated QWERTY layout, since I was about three or four. I am now twenty-one, and my speed was around 80-90WPM, using a method I can only describe as "pressing each key with whatever finger happened to be convenient". Sometimes this would amount to pressing QWERTY "U" or even "I" with my left index, "V" with my right index or "E" with my left index.

This was all well and good, but then I got my first full-time job, fresh out of university, as a software developer. Each day, I spend eight hours typing at work and then spend most of the evening typing at home. The net effect of all this, two months into the job, was a very severe wrist ache. I started looking at ergonomics in general and came across Colemak. Over the course of six days with the assistance of TypeFaster, I learned the layout, and then switched more or less cold-turkey both at work and home, practicing in Amphetype instead. I'm now about a week and a half into the experience.

It's been frustrating at times. Quite a few times I switched back to QWERTY at work for a few minutes, just to get things done. My speeds at first were decent enough all things considered, averaging around 27WPM, but it still felt cripplingly slow. Another annoyance is that as a primarily Java and SQL developer, I use the semi-colon a lot, and that's a bit far out of the way now! I've been allowing myself to break the usual fingering rule there, hitting it with my ring finger instead, which feels more natural.

To anybody reading this still debating the switch, though, I say; push on through it. Last night I broke the 40WPM barrier in an Amphetype test, and tonight I was breaking that same barrier fairly often, with a top score of nearly 50. The typos I keep making - swapping R/S and E/I, hitting L when aiming for J, etc. - are starting to decrease in frequency, though accuracy is still a work in process, hovering around the 96% mark. I'm getting more used to the various rolls available; particular favourites to type are "client", "strike", "open", "neighbour", and "cursor". Still having trouble with "advice" and "portfolio", but I'll work them out. Typing is fun now, rather than merely a means to an end.

I am still experiencing a little wrist pain; this, I think, is inevitable when typing for 14 hours a day. But you know what? It's definitely not as cripplingly painful as it was two weeks ago, despite typing even more than normal due to all the practice. Colemak has served the purpose I hoped it would.

This is my Amphetype graph so far, spread over the course of about six days. Definitely an upward trend emerging, and one I hope to continue!

OHE5g8J.png

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

Grats! :)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 7
  • Registered: 21-Apr-2010
  • Posts: 818

Sounds like you are making great progress.

I'd take a step back and ask yourself why you are typing for so many hours per day.  Perhaps its a result of you learning Colemak?  It doesn't sound healthy!  I know how easy it is to get trapped in front of a PC.  I find that whenever I do escape to the countryside for a little exercise, or get out in the garden, I feel a million times better than sitting at the keyboard.

Perhaps Java is just too verbose with too many setters and getters!  Does your IDE not help you out with some nice shortcuts?  There's an idiom that a good programmer is a lazy programmer.  I read that as: there's a lot of merit in recycling code.  I find the junior programmers can sometimes be very productive, even though they are lacking a lot of technical knowledge; they glue code.  As I have become a better typist, my shortcuts have waned (which isn't so good).  A lot of my time is better spent with a piece of paper, reading or sounding out a problem than actually sitting in front of a PC when it comes to work.

Last edited by pinkyache (03-Nov-2013 00:42:12)

--
Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Thanks, guys :)

I'm not actually typing non-stop for those 14 hours, of course. That's just how long I generally am on a computer each day. For the most part this is because many of my hobbies are computer-based, and many of my friends I only talk to via IM or IRC. This was fine when I was only on the computer in the evenings, but adding work into the mix pushed it over the edge, perhaps. Maybe I'll try to get back into some of my older hobbies, such as swimming?

You raise a good point about taking shortcuts too, and using paper. I often do find myself typing out setters/getters, or boilerplate SQL, rather than just copy-pasting or using the automatic ones generated by the IDE (Netbeans, which certainly does automate a lot!). I picked up that habit from my first computer science teacher back in college, who considered it idle work to relax a little between the "hard parts"! You've given me food for thought, at any rate. I'll try to be more careful about the typing I do and the amount of time spent on the computer.

As for Colemak, I've been concentrating on accuracy over speed for now, trying to maintain >98%. I manage it maybe half the time in Amphetype, with the vast majority of my mistakes being mixing up keys between middle and ring fingers (R/S, E/I, U/Y being the worst). I find that I make a mistake with one of those pairs, then focus so hard on getting that pair right next time that I mess up one of the others, heh. Hopefully I can work myself out of that before it becomes too ingrained.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Today I was helping my girlfriend sort out some problems with her laptop. If that experience was anything to go by, my QWERTY skills have been somewhat affected! Ended up doing a hunt-and-peck, albeit still faster than my Colemak. My main issue was trying to use Caps Lock to delete all the typos I was making!

Broke 50wpm for the first time today. Turns out being more accurate saves time from not having flow broken and needing to delete characters. Who knew? ;)

Offline
  • 0
  • Reputation: 4
  • Registered: 08-Dec-2010
  • Posts: 656

True, my best speed records are always with 100% accuracy.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

After another few days, here's the updated graph:

VuKbeal.png

The improvement is of course slowing down, but it's still there. I'm now breaking 50wpm more often than not in Amphetype tests, after following its suggestion and beginning to type my way through a book (I picked Flatland; perhaps not the best choice given that it's supposed to include diagrams, but hey!). My single record, not visible on the graph due to dampening, is 59.0wpm, pretty much 66% of my old QWERTY speed after two weeks of Colemak. Accuracy is hovering around the 97-98 mark still, sometimes dropping as low as 95 but sometimes rising as high as >99. I'm still yet to have a 100% perfect test, but it's a goal I hope to achieve soon.

I have also discovered that deleting text by alternating the two Backspace keys is far more fun than it ought to be. Sure, I could use Ctrl-Backspace... or I could tap out a quick drumbeat on my keyboard!

Offline
  • 0
  • Reputation: 0
  • From: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122

Haha, awesome progress. Tapping both backspaces at the same time is so fun.

Posted without the aid of a rodent.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Thanks for the support, everyone :) today I'm going to bring the topic more in line with the title of this thread: programming with Colemak. Or specifically, programming in Java and SQL with Colemak. I do also use Python on occasion, but haven't had reason to do so since making the switch, so I won't discuss it here. I also work with HTML/CSS, but again have not yet touched an HTML document with Colemak. Though I have just discovered how much of a pain it is to type "HTML" ;)

Since Colemak does not change punctuation other than the semi-colon, most of its characteristics when programming are identical to those of QWERTY. That is, not very good!

- The relatively frequent ); digraph is very difficult. Shift on only one character, and a same-finger double stretch with the right little finger. Especially unfortunate given that I'm left-handed!

- Common symbols such as =, + and - are still a long way away from home row. Another awkward one is ||, which I've been typing by moving my left hand to hold left-shift and double tapping the | key with my ring finger. This is a habit from my QWERTY days, where it fit into my scatterbrained technique, but the movement causes me to lose track of where T is relative to my hand.

- A petty complaint perhaps, but the boolean value "true" has a same-finger digraph. One of the few words easier to type on QWERTY than Colemak!

Regular typing is as smooth as always; the trouble lies mostly with the punctuation. I was thinking of messing with mapping Alt-Gr+[letter] shortcuts to various punctuation symbols, which I saw somebody on this forum do but can't for the life of me remember where. I have basically no need for the existing shortcuts (ó and the like) as I only type English text, so I'm envisioning a block as follows:

o + - * = o o o o o
" ( ) ; ' o o o o o
| { } & o o o o o o

where o represents a blank space or some arbitrary character, and the semi-colon is on T. I just now made this layout up on the spot and I don't know a thing about layout design so it doesn't include everything I might want (< and > come to mind) and is in no way optimal, but any suggestions of what to try here?


I broke 60wpm twice in Amphetype tonight, with my new record being 61.3wpm. Average seems to be coming out at around 55, and other than a particularly nasty passage with usage of Caps Lock (which I thought I'd mapped to the key between R-Win and R-Ctrl but this apparently only works on my work keyboard) I've kept the scores consistently over 50. It's strange to think I was barely hitting that speed only three days ago, and yet now 50wpm would be a bad run for me.

Last edited by Tetrinity (06-Nov-2013 21:25:23)
Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

<> is already at Shift-,. so I'd put [] {} above those leading up to ()? I find '" easy to hit so personally I see no big need to remap those. I do agree with +-*& being a bit hard to reach.

I'd likely look for an Extend layer with template strings if possible. So Caps+I would print '#include' for instance, and Caps+3 might print '/* #################### */' or whatever you like to pad your comments with. Etc etc.

Last edited by DreymaR (06-Nov-2013 22:05:20)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

That's true, <> might not need remapping. Would you believe I somehow forgot they were already reasonably accessible despite having typed them in that very post?!

A column of brackets seems sensible enough, especially since it makes for a reasonable ); digraph. I still kind of want to use my left hand for the symbols, but I'm adept enough at using the NumPad with my right hand so maybe it'd work out fine to use it for brackets too. I'll have a play with PKL (using an AHK script for Colemakking right now) and a few different layouts and see what takes my fancy. Thanks.

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

There have of course been numerous discussions about this before. Ghen and tomlu have had good suggestions iirc, and others too.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Since I spent tonight dabbling with this so-called "social life" that seems to be all the rage these days, I haven't had the opportunity yet to look into the layouts, but I had an extended lunch break today and so decided to get in some typing practice then. I've added a few more points to both of the speed scores, with 63.9 and ~58 for single best and average, but more importantly... I finally managed a 100% perfect test! I was genuinely nervous approaching the end of that section and slowed right down for the last few words to help ensure I made it home, but that's a milestone for me to check off :)

I've really been focusing hard on keeping up accuracy; I'm still having trouble with R and S, and lately I've been mixing up N/K (think, know) and even X/C/V (exact, cavern) for some reason. I've been having serious issues typing the word "little", constantly typing "littli" instead. I also discovered a very unfortunate hidden flaw with Colemak when I typoed the word "walk". My right index, presumably over-anticipating the move down to K, hit the N instead of the L. Rather glad I caught that one before sending the email that contained it...

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

Haha! For 'walk' I use alternative fingering, hitting the L with the middle finger. Same with NK/KN etc.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

That alternate fingering does seem somewhat less potentially disastrous! I've tried practising "walk", "think", etc. with the different fingerings. Right now it's no faster than standard fingering since it feels a little odd sliding across, and I keep habitually typing it the "normal" way, but I can tell it'd be easier once I'm used to it. Interesting that I've mostly lost the ability to move around the keyboard like that since switching to Colemak, since the vast majority of my QWERTY typing was done that way.

I had another couple of days away from the keyboard, which probably did my wrists a favour if anything, but it was nice to get back to practice. Tonight's session was... varied, to say the least. At first I seemed to be pretty much matching my previous performance (~57wpm, 97.5% accuracy), but then I suddenly dipped quite severely, with my typing becoming very sloppy indeed. Accuracy was regularly less than 96%, which in turn dragged the speed right down. I took a break, and when I returned did some focused accuracy practice on Amphetype's list of my least accurate words. Some of them were as expected ("Isosceles", "Irregularities", "John", "privileged"), but I certainly didn't expect to see "first" in the list! I still have a couple of words listed as 0% accuracy, but for the most part I've improved on them a fair bit. It seemed to pay off; after a few "warm-up" tests, I was fairly consistently hitting over 60wpm, averaging perhaps 63, with a top score of 69.9 (argh!!). Accuracy still seems to be hovering around that 97.5% mark, though... getting even a few tenths higher is proving remarkably hard to pull off consistently. For every smooth and fast 98% or 99% I get, there's a 96% where I got flustered and kept making silly mistakes.

I've set up a rudimentary AltGr layout, which I'll take into work with me tomorrow and try out in a scope larger than a few random snippets. My main problem with them so far is simply remembering to use them!! I've seen it suggested to temporarily disable the normal keys to help with that, so maybe I'll give that a try.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Still working on that accuracy. I deliberately slowed down considerably, making quite sure every keypress was correct. This led to plenty of scores over 99%, including a few more 100% accurate tests. Gradually I increased the speed, until I eventually got back to where I was in terms of speed. There were a few blips, but right now my "last 10 average" in Amphetype is 62.8wpm and 98.3% accuracy. Hopefully I can keep this up in the long term and reach a consistent 99% accuracy.

I had a few more 69.x speed scores, and the high 60s in general are a little more frequent now. Still yet to hit that magic 70wpm mark, but it's only a matter of time...

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Only a matter of time, heh. Today I broke 70wpm a total of three times over a 40 minute practice session, with a top score of 73.1! The last 10 average right now is 66.2wpm, 98.1% accuracy.

The lower bound of my old QWERTY speed, 80wpm, is within sight. As with anybody switching keyboard layout, one of my goals has been to match the old speed, and it's crazy to think I'm already this close after just three weeks. A few more bursts like this one and I'll be there in no time ;)

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

After a few days of no notable (if any) improvement, I've had another burst of speed. First I broke my old single record with a rather nice 75.4. Then I nearly matched it with a 75.0. Then I edged a little further with a 75.9.

And then my fingers evidently decided they were bored of this messing around and out of nowhere came an absolutely stunning 82.3!! Some block had clearly been removed, because since then my average has been pretty much bang on 70wpm. At the time of writing Amphetype's last ten average is 69.9wpm, 97.7% accuracy. I am rather pleased with all this, in case you couldn't tell :p

As an aside, I've now finished typing Flatland. I picked Peter Pan as the new text, but I'm not really all that into it; anybody got any suggestions for new books to type my way through?

Been a while since we had a nice graph, so here we are:

4KZozYQ.png

I can't remember the exact date I started so the timestamps are educated guesses, but I'm approaching the one month mark. Part of me wanted to use the time-scaled graph to make the timestamps evenly distributed, but this way gives a much nicer looking speed curve :)

Last edited by Tetrinity (15-Nov-2013 02:07:45)
Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

I've scrapped Peter Pan and gone for The Adventures of Sherlock Holmes instead. Much more my style. :)

Saturday saw a rather worrying regression in both speed and accuracy, and my usual tactic of pushing through it with some accuracy practice wasn't really helping, so I took a break from practice (and indeed most typing) on Sunday. It seems to have helped some, as I was back up to speed at work and I confirmed it this evening in Amphetype, notching up a new high speed of 85.4wpm (with a 84.9 right on its heels) and a current last ten average of 73.0wpm. Accuracy remains around the 98% mark.

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Approaching the five week mark now, and I've had another small improvement. The average now seems to be around 77wpm, with scores above 80 becoming more and more frequent. This peaked at a full 90.0wpm, right at the upper end of my old QWERTY speed! Of course, there's a world of difference between 90wpm high speed and 90wpm average, but it's a very nice milestone to reach. Accuracy has also improved by a few tenths, settling around 98.4%.

I attribute this to Arthur Conan Doyle apparently being obsessed with the word "upon", giving me plenty of practice ;)

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Been a little while since I checked in, so I thought I'd post a quick update after seven-ish weeks of Colemak. Progress has definitely slowed down now that I'm approaching my old QWERTY speed, probably starting to hit my physical limits. My Amphetype "last ten average" sometimes pushes above 80wpm, but can also dip down to the low 70s at times. I've been trying to practice alternate fingerings for the 'kn' and 'dg' digraphs, which helps a little, though I find it tricky to type the 'kne' and 'kni' trigraphs using this method. Works great for the word "thanks", at least! As soon as I can keep that WPM average consistently above 80, I'm marking off the goal of matching QWERTY speed. My original stretch goal of some day reaching 100wpm seems very far away indeed, but there's no rush. Accuracy is basically the same as before too, hovering around the 98.4% mark, sometimes pushing the high 98s, sometimes dropping into the 97s.

One other experiment I've tried is the Angle mod, with mixed results. I actually first tried it at work to fill a brief downtime, and rather enjoyed it, though it took some getting used to; I was hitting the old B key a lot. The problems arose when I made the same change on my desktop back home. I'm a left-spacer, so using the Angle mod causes my thumb to hit the left end of the spacebar rather than roughly in the centre. This wasn't a problem on the uniform spacebar on the keyboard at work, but my home keyboard (a five-year old generic Dell) is only supported in the middle and so pressing the left end just makes it tilt rather than actuate. More motivation to look into picking up an ergonomic board, I suppose :)

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

Space bars can be weird sometimes, but usually not on good keyboards. I haven't had any trouble – but I feel that my left thumb homes quite near the middle of the bar even using the Angle mod. Hope it works out for you! :)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

Experimenting, it turns out that my spacebar only actuates when you press it anywhere below the B key, or under the right edge of V / left edge of K with more force than would be comfortable during typing. Anything further away causes a tilt instead, which essentially means four keys worth of space is entirely wasted by this keyboard, unless I want to start spacing by hitting both ends simultaneously! That's probably not the best statistic in the world.

I happened to get into a conversation about ergonomic keyboards with a work colleague today, and he mentioned having a Microsoft Natural Ergonomic at home which he recommended. I've taken a look at it and it seems okay, though it seems to have a lot of extra bells and whistles like multimedia keys and a "zoom" switch which I can't see myself using all that much. Plus it's one of those funny looking ANSI boards without a \| key or a decent sized Enter, and who wants that ;)

Go figure that after a few weeks of no real progress, I make an advancement right after posting about it! The average has been above 80wpm much more frequently tonight, though still dropping below now and then. Accuracy seems to be marginally improved, around 98.5% and 98.6%. I've also set a new speed record of 93.6wpm! Many others were also above the old 90.0 record.

bXxKdni.png

The graph here covers a time period of just over three weeks. Slow and steady progress is the name of the game. :)

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

Well, that sounds like a broken space bar to me. Sometimes the spring can get iffy.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 01-Nov-2013
  • Posts: 24

I can now safely say that I have attained my old QWERTY speed! The speed attained in Amphetype tests drops below 80wpm fairly infrequently now, and the accuracy is still around 98.5%. I'm pretty sure this is far in excess of the accuracy level I had with QWERTY, heh.

I do still have minor pains in my wrists, especially the right one, but... they're just that. Minor. Now that I'm back up to speed, I plan on practising in Amphetype less frequently from now on; perhaps one half-hour session once or twice per week rather than four or five times a week as I've been doing previously. With this further reduction in the amount of typing I do, I anticipate the pains becoming even less of an issue. :)

Offline
  • 0