summary refs log tree commit diff
diff options
context:
space:
mode:
authorvenomade <venomade@venomade.com>2025-02-28 21:45:36 +0000
committervenomade <venomade@venomade.com>2025-02-28 21:45:36 +0000
commitd3301277aa11a5ee75f11bf205a30a3604f8c066 (patch)
tree5923fb11b9601c49f558e9954ecaef052c31d6eb
parent109a7d179f4a35d3e12d5f9be0deaa4d4d92c7a6 (diff)
Add Colemak article
-rw-r--r--articles/switch-to-colemak.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/articles/switch-to-colemak.html b/articles/switch-to-colemak.html
new file mode 100644
index 0000000..8eddab3
--- /dev/null
+++ b/articles/switch-to-colemak.html
@@ -0,0 +1,80 @@
+<!doctype html>
+<html lang=en>
+  <meta charset=utf-8>
+  <title>Should you switch to colemak?</title>
+  <meta name="description" content="Venomade's Personal Site">
+  <link rel="stylesheet" href="../css/style.css">
+  <link rel="shortcut icon" href="../res/favicon.ico" type="image/x-icon">
+
+  <main>
+
+    <article>
+
+      <div class=box><div class=inner>
+      <- <a href="../index.html">Return Home</a>
+      </div></div>
+
+      <div class=box><div class=inner>
+
+          <p style="text-align: right; color: #555; font-size: 0.8em; margin-bottom: 0;">
+            28th February, 2025
+          </p>
+          <h1 style="margin-bottom: 0; margin-top: 0;">
+            Should you switch to Colemak?
+          </h1>
+          <h4 style="color: #777; margin-top: 0;">
+            My review of the niche layout after a year of use.
+          </h4>
+
+          <p>In December 2023, I started doing much of my work away from a desk on my laptop, a Lenovo T440p. Even though the T440p has a relatively nice keyboard compared to many modern laptops, I still experienced aching and strain (especially in my right index finger) after prolonged programming sessions. As a programmer in my early 20s, I knew my keyboard usage wasn&#39;t like to slow down over the next 50+ years, so I needed to make a change.</p>
+          <p>I looked into ergonomic keyboards, but they were too expensive. Ergonomic mice seemed too strange, I was already averse to the little nub on my laptop&#39;s keyboard. I needed something cost-free to try, which led me to keyboard layouts.</p>
+          <p>During my research, I found three relatively popular layouts suggested to alleviate typing strain:</p>
+          <ul>
+            <li><a href="https://en.wikipedia.org/wiki/Dvorak_keyboard_layout">Dvorak</a></li>
+            <li><a href="https://workmanlayout.org/">Workman</a></li>
+            <li><a href="https://colemak.com/">Colemak</a></li>
+          </ul>
+          <p>Dvorak, while its relative popularity was a big benefit, turned me off almost immediately due to the drastically different placement of punctuation keys, the semicolon was especially jarring. Workman had a much more appealing key layout but still wasn&#39;t quite what I was looking for. Ultimately, I settled on Colemak.</p>
+          <p>Colemak seemed quite appealing from the perspective of a QWERTY user:</p>
+          <ul>
+            <li>The <code>Z</code>, <code>X</code>, <code>C</code>, and <code>V</code> keys remained in the same positions which is perfect for default shortcuts.</li>
+            <li>The <code>W</code>, <code>A</code>, <code>S</code>, and <code>D</code> keys were in the same relative orientation, which has proved helpful.</li>
+            <li>Most other keys remained in the same or similar positions, and I could clearly see the process I would need to follow to transition from QWERTY to Colemak.</li>
+          </ul>
+          <p>I primarily used <a href="https://apps.kde.org/ktouch/">KTouch</a> (only available on Linux) to learn Colemak. As is my usual style, I committed to a full cold switch, switching from QWERTY on my laptop, desktop, and even my phone.</p>
+          <p>This was a challenge. I quickly grew to hate using my computer for anything beyond KTouch practice and watching videos. As a result, I relied more on my phone, which had the Colemak layout visually printed on the screen. Surprisingly, this became an invaluable learning aid, as it helped me build a mental map of the key positions which was very useful when I got back to my physical keyboards.</p>
+          <p>For about a month, I barely programmed, spending my time painting Warhammer miniatures and playing <a href="https://en.wikipedia.org/wiki/The_Legend_of_Zelda:_Tears_of_the_Kingdom">Tears of the Kingdom</a>. Eventually, I could type slowly but steadily, and I attempted to return to programming, only to hit a roadblock: Vim.</p>
+          <p>Early in my programming journey, I was drawn to Vim because of its almost magical ability to manipulate text. After using it, and later its cooler brother Neovim, for about four years, I eventually realized the error of my ways and switched to Emacs. However, I was using <strong>Evil Mode</strong>, which replicates Vim keybindings in Emacs. Unfortunately, Vim motions do not work well with Colemak. That may sound reductive, but after months of effort, I came to the conclusion that even with my best attempt at a custom <a href="https://git.venomade.com/dotfiles-archive/tree/neovim-colemak/lua/config/colemak.lua">Neovim configuration</a>, it still felt unnatural and noticeably worse than QWERTY.</p>
+          <p>I began questioning whether Colemak was to blame, maybe it was poorly designed, or perhaps it just wasn’t suited for programmers. Then, just at the right time, <strong>System Crafters</strong> released <a href="https://www.youtube.com/watch?v=AG_OB3CiPnI">a video</a> about switching from Evil Mode to Emacs&#39; default shortcuts, something I had never really considered before. The horror stories about Emacs bindings being unergonomic and destroying pinkie fingers had always put me off, but I decided to give it a try.</p>
+          <p>Switching to default Emacs bindings (with Caps Lock remapped to Control) solved everything. My hands naturally fell into place:</p>
+          <h4 id="left-hand-">Left Hand:</h4>
+          <ul>
+            <li>Pinky on Caps Lock (now Control)</li>
+            <li>Thumb on Alt</li>
+            <li>Other fingers on <code>A</code>, <code>R</code>, and <code>S</code></li>
+          </ul>
+          <h4 id="right-hand-">Right Hand:</h4>
+          <ul>
+            <li>Thumb on Spacebar</li>
+            <li>Other fingers on <code>N</code>, <code>E</code>, <code>I</code>, and <code>O</code></li>
+          </ul>
+          <p>This positioning allows for small hand movements to access Emacs&#39; most-used shortcuts. My favorite is <code>C-a</code> and <code>C-e</code>, which move to the start and end of a line, respectively. These are my most common movements when programming, and it’s amazing to have them directly under my fingers instead of jumping to <code>0</code> and <code>$</code>, then pressing another key to re-enter insert mode before typing again. With Emacs bindings, my fingers rest on four vowels and remain within a minimal movement range of the <a href="https://en.wikipedia.org/wiki/Letter_frequency">nine most common letters</a> in English. A tiny shift of my left hand returns me to a natural touch-typing position.</p>
+          <p>While I thought I was touch typing on QWERTY, learning Colemak made me realise I had developed bad habits. My school’s typing program emphasised speed over proper finger positioning, leading me to rely on just 2-3 fingers per hand, moving them chaotically. This likely contributed to my discomfort.</p>
+          <p>Since switching to Colemak, I’ve experienced significantly fewer strain issues. Whether that&#39;s due to the layout itself or finally learning proper touch typing is uncertain, but the improvement is undeniable.</p>
+          <p>One major benefit of Colemak is how typing <em>feels</em>. In QWERTY, I typed words letter by letter due to the inefficient layout. With Colemak, I type in <em>arpeggios</em>, this is especially noticeable on <a href="https://monkeytype.com/">Monkeytype</a> which I used to test my speed while I was learning.</p>
+          <p>Instead of typing &quot;started&quot; as <code>S-T-A-R-T-E-D</code>, in Colemak, it becomes <code>ST-ART-E-D</code>, utilizing comfortable <a href="https://colemak.com/Hand_alternation">rolls</a>, sequences of adjacent keys on the home row pressed in a rolling motion. This improves both speed and comfort, making typing much more enjoyable. In fact, I now enjoy it so much that it inspired me to write this review!</p>
+          <p>Despite its advantages, like all things, Colemak has its drawbacks. Firstly, when using someone else’s keyboard, my speed and accuracy drop significantly. Luckily I&#39;m not in that situation very often but it is definitely noticeable to others when I am. Secondly, every keyboard I own has QWERTY-printed keycaps. Although I don’t look at the keys while typing, it’s certainly a minor visual annoyance. I do plan to buy blank keycaps for my <a href="https://fekertech.com/products/feker-alice">Feker Alice 80</a>, but they aren’t cheap, so I’m holding off for now.</p>
+          <p>So, after a year, what do I think of Colemak? I definitely made the right choice—not just in leaving QWERTY, but in choosing Colemak specifically. I was able to regain my typing speed quickly, and with default Emacs bindings, I can now perform text-buffer surgery even faster than before. The fact that I’ve had no typing-related hand strain since switching speaks for itself, though whether that’s due to the layout or proper touch typing is unclear. However, the rolling motions are undeniably a Colemak-exclusive advantage, and I’m very grateful for them.</p>
+          <p>Thanks for reading my review! This wasn’t meant to tell you whether you should switch to Colemak—that’s a personal decision, and like most things, the best way to find out is to try it yourself. Apologies if I rambled a bit (or a lot); this is my first article on the new iteration of my website, so hopefully, my writing will improve as I go. If you have any comments or questions, feel free to email me at <a href="mailto:venomade@venomade.com">venomade@venomade.com</a>. Otherwise, have a great day!</p>
+          <h3 id="useful-links">Useful Links</h3>
+          <ul>
+            <li>Colemak: <a href="https://colemak.com/">https://colemak.com/</a></li>
+            <li>KTouch: <a href="https://apps.kde.org/ktouch/">https://apps.kde.org/ktouch/</a></li>
+            <li>Monkeytype: <a href="https://monkeytype.com/">https://monkeytype.com/</a></li>
+          </ul>
+                        
+      </div></div>
+
+    </article>
+
+  </main>