A small experiment


a-small-experiment.exe
created (updated in this commit)
Tags:

While helping some guy in in #archlinux:archlinux.org figuring out sway, I came about the answer to all my prayers: a way to just unassign caps-lock.1 While wondering whether an alternative keybind would be useful, I found grp:shifts_toggle and grp_led:caps. Allowing you to switch keyboard layouts by hitting both shift keys at the same time.

So basically, I started this entire thing to try out xkb-options.

First off I decided on what flavour of DVORAK to use. There are a lot. After some consideration I went with programmer-DVORAK which is said to be faster. I don’t care to be honest, to me it just sounded useful to have a layout specifically created for programmers.

Best WPM Count: 12 (11.06.)

Day 1 – June 8th

# session length: 28 minutes
+ 39 LOC
-  0 LOC

DVORAK is different. Well, duh. But I think I underestimated just how different it is. Programming for a living is great, but it also means that I can’t just rearrange my keys for no reason. I have to be somewhat productive at work. So I decided to put a cheat-sheet in the upper right corner of my screen and just typing blind.

First stop: A typing test.

  • QWERTZ: 47-50 WPM
  • DVORAK: 6-7 WPM

Okay. Not that great. Taking a 85% dip in speed pretty much prevents me from using it for anything other than screwing around at the moment. So, no DVORAK at work for the time being. Me being tired probably does not help either.

Notes from Day 1

  • what kind of madman had the idea to put the numbers behind shift??
  • I should remap vim to use dvorak
  • TIL: there are exactly 2 keys that did not change: A and M. My new favourite keys.
  • I decided to write a complete program using DVORAK, in order to learn it. I must be out of my mind.
    • Running git init, go mod init, writing a README with 4 Lines of text (of which 2 are headings), and beginning the entry point of the program took around 26 minutes. What am I doing here?
  • I decided to record my attempts at writing this program. Just in case I have to explain to a therapist what I am doing with my life in the future.

Day 2 – June 9th

# session length: 34 minutes
+ 30 LOC
-  0 LOC

Learning a new keyboard layout is tiring. I can manage about half which roughly corresponds with the amount of time it takes to do even the most basic of tasks.

Today I made the changes to my vimrc and am now in a hell where I forgot to comment out the DVORAK keybinds and being to lazy to go back in. So I guess I’ll stick with using the arrow keys for movement.

Speaking of movement: we always take the easiness of vim movements for granted. They are not. Sometimes I sit almost 20 seconds just staring at the keymap trying to figure out what keys to press to get to the second opening bracket. I also started using number keys and was not disappointed. They are as confusing as they look in the screenshot. Small thing: having a bigger keyboard starts to cause some minor issues: When entering " I tend to hit > instead. Y is not the last key on the bottom row.

Notes from Day 2

  • My brain hurts
  • I should probably add the LOC written with DVORAK to be able to plot them later or something. Or at least to see a slight increase.
    • should I add the lines added to my vimrc? probably…
    • well… this motivation thing just went out the window
    • let’s add the length of the coding session as well

Day 3 – June 10th

# session length: 25 minutes
+ 0 LOC
- 0 LOC

Today was a lazy day. I was pretty tired and just typed this text and some typing test. I finally hit the 10 WPM mark. Big issue was that typing this slowly actually slows you down further as your thoughts escape you before you have typed them down. Which kinda makes writing this even harder. I can actually feel my focus, or what little I had of it slipping away. This is also why today’s entry is rather stort.

Day 4 - June 11th

# session length: ?? minutes
+ 0 LOC
- 0 LOC

I have identified my most problematic keys: Y, B, and W so far are causing me the most issues. My typing speed of 10 WPM seems to be stable, but still far from what i would consider “ready for production”.

I also decided that I will write these posts in DVORAK, just for the sake of it.

Todays training was my first attempt at real life application, as I chatted in DVORAK… or rather: replied minutes later to topics that were over already. I did not record that for obvious reasons.

God I’m tired.

Day 5 - June 12th

# session length: 33+35 minutes
+ 43+41 LOC
- 21+0  LOC

It’s saturday, and not just any saturday: I finally got a good night worth of sleep. Today I finally managed to deride on a finishline: I want to be able to type fast enough so I can reply to messages without taking suspiciously long… which is still pretty far away, but way better defined than the previous “dunno, guess I’ll just stop sometime” nonetheless.

I managed to squeeze in 2 sessions today which also required me to think of a multisession layout. I came up with this math-based system which works alright for now.

Day 6 - June 13th

# session length: 0 minutes
+ 0 LOC
- 0 LOC

Not a good day. The only thing I did was install a Dvorak keyboard on my phone. Can I call it a cheatday? Sure I can. So: today was a cheatday.

Day 7 - June 14th

# session length: 34 minutes
+ 0 LOC
- 0 LOC

Today I tried another new application: server configuration. It was okay-ish… I didn’t get much done, but that’s hardly surprising. Using vim with DVORAK is still no fun. I guess I’ll have to reconfigure everything. Oh boy.

Unfortunately, I missed benchmarking my speed, but my estimate would be about 13 WPM. (typing numbers is hard)

I typed today’s entry entirely without my cheatsheet. I’m just so happy, since typing this took at least another 30 minutes.

Day 8 - June 16th

# session length: ?? minutes (a long time)
+ 93 LOC
-  0 LOC

Sooo… I might have skipped a day. To make up for it, I’ll write an entire blogpost. I have not yet decided on a topic; maybe why yaml sucks.

[TODO: write post and insert here]2

Fuck… writing the post with DVORAK is exhausting. Not being able to type fluently makes it quite a bit harder; not using the cheat-sheet does not make it easier either.3

Day 9 - June 17th

Today I got my first COVID shot! That’s good for obvious reasons, and bad news because it hit me like a truck. So, no more dvorak than this for today and sick leave because learning something new this way is just impossible for me.

No penalty for skipping while sick obviously.

Day 10 - June 18th

I was dead yesterday… I just got up to “walk”4 the dog and fell back into bed.

Day 11 - June 19th

I feel better. And I found this nice website5 to practice typing DVORAK. I did this until I was tired (so 45-ish minutes?) and felt like I at least did something to get back on track.

Day 12 - June 20th

I decided to do the nice little website if I don’t feel like coding. And today I didn’t feel like it. So website it is.

Of course I forgot to remember where I left off so I started anew and got to lesson 4 (god, numbers are in weird locations)

Update

I just did Lesson 5 as well and now know what undeveloped muscles feel like: they feel like shit. Seriously, take a look… that is something else.

Now I will also do my speedtest. The result: 12 WPM

I’ll be damned if I can’t top that after a good night of sleep.

BTW: I removed the vim-rebinds. I just miss t as a movement key. Guess I’ll have to get acquainted with the arrow keys… :/

Day 15 - Tabs vs. Spaces

Today I finally managed to type out an entire blogpost in DVORAK, you can read it here. This is not the penalty from day 8, I have something different planned for that.

Day 114 – The End

You may have noticed a slight gap between this update and the one before. This was caused by some serious case of procrastination and loss of interest. For now I’d say this experiment was a failure, but maybe I will come back to it in the future.


  1. For real. Who actually uses this key? More than 2% of keyboard users? ↩︎

  2. I actually managed to type a rant about yaml but thanks to the issues with typing DVORAK it came out as nothing more than incoherent ramblings, so I scrapped it for now. Don’t worry, my hatred for yaml is deep enough for me to polish this one sometime. ↩︎

  3. Yes, I am aware that this is a voluntarily chosen lot. ↩︎

  4. Walking is an overstatement… I let her out to do her stuff and lurched my way back upstairs. ↩︎

  5. http://gigliwood.com/abcd/lessons/ ↩︎


Do you know better? Have a comment? Great! Let me know by sending an email to ~mpldr/public-inbox@lists.sr.ht


If you feel like it, you can Liberapay receiving, or GitHub Sponsors.
Unless stated otherwise the texts of this website are released under CC-BY and code-snippets are released into the public domain.
© Moritz Poldrack

RSS Feed available I am sponsoring the letter @. Yes, that's a thing. This website's content doesn't need AI to be stupid! Website Status
Share to the Fediverse