tag:www.rhnh.net,2008:/colemak Colemak - Xavier Shay's Blog 2008-12-10T12:17:55Z Enki Xavier Shay notreal@rhnh.net tag:www.rhnh.net,2008:Post/128 2007-07-08T07:26:00Z 2007-08-15T07:28:06Z The Switch to VIM <p>I&#8217;m been meaning to try out Vim for a while, especially since I now use two different platforms/editors for development (mac/textmate at work, linux/jedit at home). Finally got some time to try it out this weekend, and initial reports are positive! The thing that strikes me the most is how quickly you can navigate/select things without using the mouse. Vim&#8217;s navigation shortcuts are like <span class="caps">CTRL</span>-(LEFT|RIGHT) on crack. Regex search forward and back, move by multiple lines, seek to next/prev char. I haven&#8217;t internalized this navigation yet and already I&#8217;m loving it. Give me some experience and I&#8217;ll become an absolute machine. It&#8217;s a bit weird because I&#8217;m using colemak, so the &#8220;stick to the home row&#8221; mantra doesn&#8217;t really apply, but overall it&#8217;s still quite bearable. I need to figure out how to replicate the Apple-T shortcut in textmate (quick swith to file) and I think I&#8217;ll be sold. I&#8217;ll use it at work for the week and see how things go. For reference, I found the <a href="http://www.vi-improved.org/tutorial.php">tutorial on the vi-improved site</a> to be quite helpful.</p> tag:www.rhnh.net,2008:Post/117 2006-09-18T10:55:00Z 2008-12-10T12:17:55Z The Colemak Diaries <p><strong><span class="caps">UPDATE 2008</span>-12-9:</strong> In response to Gregor&#8217;s comment, yes I&#8217;m still using Colemak. Eesh, it&#8217;s been over 2 years now. I&#8217;m very happy with it &#8211; I type fast and I can still use <span class="caps">QWERTY</span> when I have to.</p> <p>I spend more than 50 hours per week in front of my computer. A large proportion of that time is spent coding or typing. It is well known that <span class="caps">QWERTY</span> is an inefficient keyboard layout, so in my quest to do things the Right Way I decided to do something about it.</p> <p>I considered two alternatives &#8211; <a href="http://www.mwbrooks.com/dvorak/">Dvorak</a> and <a href="http://colemak.com/">Colemak</a>. The former is the more popular, but Colemak &#8211; a newer layout &#8211; appears to have addressed many of the issues people have found with Dvorak. No point going into detail here, I&#8217;ll just link you to the <a href="http://colemak.com/faq">Colemak <span class="caps">FAQ</span></a>.</p> <p>And so here presented is a diary of my transition to Colemak.</p> <h3>Day 1 &#8211; August 23</h3> <p>A Wednesday evening after a long day at work. No mood to code, what is on my list of low-priority-things-to-be-done? Ah yes, this one has been here for a while &#8211; &#8220;Learn Colemak&#8221;. Biggest concern is the productivity hit my coding will take while getting my <acronym title="Words Per Minute">WPM</acronym> back (80+ in <span class="caps">QWERTY</span>). I&#8217;m coming to the end of a project at my day job, which means less typing than normal as I&#8217;m testing/debugging. Busy social calendar will keep me away from my contract work for a bit, so it would seem that now is the time.</p> <p>Installation on ubuntu linux is dead simple. I&#8217;m stuck into Lesson 1 on the wiki in under 5 minutes. Freaking weird &#8211; I have to concentrate really hard lest I go into autopilot and let my fingers sneakily revert to <span class="caps">QWERTY</span>. Brings back memories of &#8220;Home Row&#8221; on the Apple IIe from grade 2.</p> <p>A remapped caps lock is the best thing since scoped closures. Within my first few mistakes I&#8217;m tapping away with that left pinky like it&#8217;s my job. Even if I go back to <span class="caps">QWERTY I</span> am keeping this mapping. I can&#8217;t recommend it enough.</p> <p>After a about an hour on and off I&#8217;m fairly confident with level 4. <span class="caps">WPM</span> on proper text is a frustrating 15.</p> <h3>Day 2 &#8211; August 24</h3> <p>No, this won&#8217;t normally be a daily affair, but these first few days are going to be the interesting ones. Today I was a little anxious about taking Colemak to work, but confident I could get through the day and at least get something done. Installation on windows was also simple. Not quite as straight forward as linux because you have to manually install the language, but it ain&#8217;t rocket science.</p> <p>&#8220;Automatic&#8221; words such as usernames and passwords are the trickiest. Passwords especially because you don&#8217;t get any feedback on what you&#8217;re typing.</p> <p>I use .NET at work, and Intellisense is a godsend. I hardly have to type at all! Going back to &#8220;automatic&#8221; behaviour, shortcuts such as <span class="caps">CTRL</span>+S are particularly difficult. It&#8217;s a good thing <span class="caps">CTRL</span>+R isn&#8217;t mapped to anything destructive in any of my apps! Semicolon is another tricky one, I think partially because (in <span class="caps">QWERTY</span> also) I never hit it with the right finger &#8211; my hand is usually moving to a shortcut or the mouse.</p> <p>I was planning to stay away from <span class="caps">QWERTY</span> as much as possible, but I have to use VMWare a lot and none of my VMs have Colemak installed. It would be impractical to do so. To try and minimize the detriment this would have on my Colemak skills I made a point of typing two fingered and looking at the keys while I type. Sad thing is I can still go faster than when I&#8217;m typing Colemak, so I deliberately slowed myself down. Whether this was of benefit is a question maybe one day science can answer.</p> <p>The day started with patience. By 4:30 I&#8217;m ready to smash my keyboard through the monitor. Breath in. Breath out. I&#8217;m going home.</p> <h3>Day 3 &#8211; August 25</h3> <p>This exercise has been promoted fairy near the top of my things-not-to-do-hungover list. Right there above &#8220;Go to work&#8221;. I found the easiest (not necessarily best) way to type is by staring at the keyboard picture I printed out and sat below my monitor. <span class="caps">WPM</span> is up to 25.</p> <h3>Day 11 &#8211; August 31</h3> <p>Maybe it wasn&#8217;t such a good time to start learning. I was away all weekend, and then am out every night because it is production week for the musical I&#8217;m doing. I haven&#8217;t spent any more time at all practising, only just general usage at work. It is no longer painful to type, but I feel I could be a lot faster if I dedicated some time to practice.</p> <h3>Day 15 &#8211; September 5</h3> <p>Panic sets in as I try to type something one handed while talking to someone on the phone. It just isn&#8217;t happening. Encountered other problems when having to type with a colleague looking over my shoulder. Calm down &#8211; look at my print out. Occasionally they want to type on my machine, and here the windows language manager really fails me. You can set the current input language quickly through an icon on the toolbar, but it remembers what setting you had for each application. So I change it, they type some code, switch to a browser, flail their fingers, and before they know it have searched for gibberish. I can&#8217;t think of a scenario where this behaviour would be beneficial &#8211; there should at least be an option to disable.</p> <h3>Day 17 &#8211; September 6</h3> <p>Had to do some typing at a friends place. Took a minute or two to install Colemak, typed to my hearts content, then uninstalled when I was done. I can still type <span class="caps">QWERTY</span> if I have to, but the cases where this is required is less than you would think. When doing tech support on a foreign machine, often it is better to let the user drive anyway.</p> <h3>Day 28 &#8211; September 17</h3> <p>One month. Just tried lesson 12 in gtypist and got 47 <span class="caps">WPM</span>. I feel that is pretty good since every word has a z or an x in it. Error rate is still fairly high (7%) but I think I would have had that problem on <span class="caps">QWERTY</span> anyways. Seriously, who types that many bottom row characters? I find the things that slow me down the most when coding is punctuation. With ruby underscores give me all sorts of grief because they are such a big stretch. I&#8217;m considering remapping it to an easier to reach key, but not sure what could be replaced. Maybe switch it with semicolon (on Colemak &#8211; where P is on <span class="caps">QWERTY</span>). Having learnt an alternate layout has given me confidence to further modify my keyboard to achieve typing nirvana. Note that the underscore is in the same place as it is on <span class="caps">QWERTY</span>. Learning Colemak has dramatically improved my technique, and at the same time exposed some potential hurdles to higher speeds. My <span class="caps">QWERTY</span> speed was largely a result of extend usage.</p> <p>Overall I am very satisfied with switching to Colemak. It was frustrating at first, but is much more comfortable to type now that I am used to it. My speed is still not quite what it was with <span class="caps">QWERTY</span>, but is fast enough for everyday usage. A few more weeks of usage and I&#8217;ll be faster than a greased pig.</p> <p>Not to mention the awesome geek cred&#8230; (* tumble weeds *).</p> <p>Looks like I may need to bring forward my purchase of a <a href="http://daskeyboard.com">keyboard fitting of my elite typing status</a>. The connection at the back of my old keyboard is getting dodgy anyways. Honest.</p>