Hacker News new | past | comments | ask | show | jobs | submit login
A tool that increased my typing speed (vasilishynkarenka.com)
144 points by chipz on Oct 12, 2020 | hide | past | favorite | 171 comments



The author proposes that we're somehow blocked from success because we can't type fast enough. Is that true? I don't agree; in fact, I'd rather be concise and communicate well than vomit more words onto the screen.

Additionally, beyond Dvorak, is there a better way to increase typing speed than spending what must be hours and hours building a bespoke solution for each one of your machines? And what is the cost of the inevitable tsunami of errors you make in the learning process? Are these neural pathways more valuable than say, learning a new language or practicing a different skill?


Personally I'm blocked from success because I spend too much time on Hacker News.


There's always stenography

http://www.openstenoproject.org/


For programming, we should be trying to type less. Tools like TabNine should help:

https://www.tabnine.com/


Besides the deep learning part, this is already very much what working in C# and Visual Studio (Code) is like.

To get to

> new FoobarGenerator().Create(new FoobarOptions { foo = 3 });

, the keystrokes would be more like

< new Fo<tab><enter>

> new FoobarGenerator()

< .Cr<tab><enter>

> new FoobarGenerator().Create(

< new<tab><enter>

> new FoobarGenerator().Create(new FoobarOptions

< { f<tab><enter>

> new FoobarGenerator().Create(new FoobarOptions { foo =

< 3 } );

> new FoobarGenerator().Create(new FoobarOptions { foo = 3 });


> Besides the deep learning part, this is already very much what working in C# and Visual Studio (Code) is like.

Or any of the big 3 Java IDEs.


Or vim with a few plugins.


Or emacs, presumably (and TabNine supports “Visual Studio Code, IntelliJ Platform (IntelliJ IDEA, PyCharm, Android Studio, and others), Sublime Text, Vim, Vim (Deoplete), Vim (Coc), Emacs, Atom, [and] Jupyter Notebook”).


Interesting idea, but it's hard for me to reconcile the potential benefits with the pricing model in that specific case, particularly if the model it's using is only trained on open source and not evolving according to the user's own habits.


It keeps training on your own code when installed if you chose it to do so.

Although this was not a great experience on my already slow two core macbook.

The results were pretty amazing though.


I'm actually surprised not to see that mentioned on the page. Feels like merely a formal approach to what is otherwise an adhoc method.


Not everyone’s words are equally valuable. Someone who does not vomit but actually has things worth saying, and a limited time in which to express them, would benefit from faster typing.

Worst case, it’s nice to get one’s job done faster to make time for other things.

You can always take your hands off the keyboard periodically if you want to write less.


Right, but it's the vim effect.

For vim to become worth your time to learn to use effectively, you have to have a purpose to use it quite a lot. But it takes quite a lot of time, and causes quite a lot of errors in the mean time. Eventually, you are left with a skill and a tool that are a pleasure to use, but you literally must spend time actively learning how to use it. You cannot just pick it up, because you need to first memorize key combinations and the behavior of various modes. Then, you need to actually practice them.

And this proposed solution is even worse, because it suffers not only from the "vim effect", but from the "vim config effect", where you not only need to memorize, and practice, but actively configure your custom solution, which can take tons of time; is subject to loss/deletion; and is not universally available.

And god help me, what about programming? I honestly do not want to even think about multi-layered completions wreaking their havoc on everything I write, and the only alternative is different completions for different types of environments--even more cognitive load.

This seeks efficiency as represented by speed, but ignores efficiency as represented by ubiquity, generality, and low cognitive load.

If I want to get from point A to point B as quickly as possible, it is more efficient to run. If I want to get from point A to point B with the minimum energy expenditure, it is more efficient to walk. To be truly efficient, you need smart, balanced goals.


I disagree with most of this. These skills may be worth the time tradeoff to learn. They don’t increase the error rate. They can be learned during unproductive time (I learned Dvorak on conference calls at an old job.) They can be picked up and used marginally for immediate small gains with potential to improve over time (Vim is like this, not that I use it much.) Many programmers work in a couple bread-and-butter environments that already provide a lot of completions and macros—-typing speed in programming has long been evaluated differently from writing prose.

Everything you wrote about considering tradeoffs is sound, but is being misapplied because you’re overestimating the difficulty and underestimating the benefit due to placing too low a value on words.


There are so many things worth learning on unproductive time that making myself marginally more productive with an esoteric command line tool actually isn't the greatest value proposition. VIM, for instance, is my preferred editor. It's on every Unix machine I need. I learned a ton of basic things I can do with it. I don't customize it because I don't usually have the permissions or the time. It lets me get in, edit, get out. You have to judge the reason for a tool.

Personally, the best tool for typing productivity I ever have used is a keyboard with no letters on the key caps. It also means I'm the only person in my immediate circle that can use my computer at all. My wife literally can't use my PC.


Words are already extremely cheap and effortless though, and saying that they have a higher value than I appraise them for doesn't address some of the issues I addressed, such as the very real problem on non-universal configurations.

If you want to spend your time that way, that's cool with me. I like vim. Such things have their place. Personally, I suspect this doesn't solve any problems I have.


Your other issues were also addressed, the non-universal configurations by pointing out most people work in one or two environments most of the time. Worst case, it’s hard to imagine a quick disabling of conflicting macros being too large a price to work quickly in an environment for weeks or years.

I do concede this doesn’t solve any problems of yours as you don’t value what you do with your keyboard very much.


Lol. I want to type full words, and feel that doing so is near frictionless. I access around 70 environments regularly, many of which are frequently re-imaged during testing, and I appreciate the fact that typing works the same on all of them. My co-workers also appreciate that I am not installing weird typing macros on our devices.

Efficiency for me is not the same as efficiency for you. Deal with it.

I'll also add that something like vim is specialized and very useful. It is easier to use vim in a mouseless environment, which is sometimes a necessity. I use it fairly well, and it has paid dividends on the time invested. I can appreciate the value of a good tool.

But typing speed is not the same as efficiency because standards are efficient in their own way. I'm sure you'll say "oh, you don't value words and have nothing important to say", but that's a ridiculous argument. It is simply that, in my opinion, this type of thing is not worth the overhead it creates, much like extremely customized vim configs. Time is invested in the pursuit of efficiency, and it is never returned. One day the config ceases to function correctly, or your friend/coworker/family member tries to use the keyboard and can't use it effectively, so it gets disabled.


this is exactly why I use nano and don't spend time reading blog posts about editors.


Totally valid. I do like a vanilla vim though. It took some getting used to but I do find myself editing things in vim over ssh quite frequently and it is much easier for doing things like search/replace, etc.

Nano probably works too but I'm not nearly as proficient in it, so... vim!


I've been reading Craig Murray's blog, reporting on the Assange extradition case for a while now; he's apparently been managing on at best four hours of sleep a night for the past four weeks, spending his nights writing out his notes into posts. I think he'd benefit, although for him too, accuracy is important (https://www.craigmurray.org.uk/).


I grew up back when typing was a skill. A good typist could type at about 60 words per minute. Such typing was always to either to copy a written text or to take dictation. I think it's extraordinarily rare to find someone who could write down their thoughts at that rate, even if they'd thought out a text beforehand.

I only learned to type at about 20-30 words per minute, still faster than many now but slow the measure of typists, and that's easily fast enough to keep up with my thoughts.


I assumed the average kid, at least on the upper range of that designation, would have been able to type faster than the previous generation. I understand the youngest generation is now much more using touch screens, but I didn't think that there would have been a steady decline from say 20 years ago.


The younger generation isn't taught to touch type in schools anymore. I'd be surprised if it didn't significantly drop between two cohorts of regular keyboard users from this generation and 20 years ago, honestly.


Yes I've noticed that with my younger colleagues as well. (Dev work)

They can certainly type faster than the average 50-year old, but they can't touch type (or only partially).

It's odd that in the day and age of a lot of computer related work we don't teach touch-typing in schools anymore.


That is true for many, and even 20wpm is overkill for some applications such as editing poetry. Fast typing is not a widespread skill.

However, some do benefit from the increased speed, some increase the speed of their thinking to match their potential output. Others benefit from the reduced delay between thinking and writing or editing a thought, analogous in software to working with a fast compile time or a dynamic repl.


Well there are on average 300 words on a page, if you type 60 words per minute, you have twelve pages per hours. So a novel in 2-3 working days, if typing speed were the limitation.


This. I can type at about 100 wpm, (which is faster than most people), but I cannot _think_ at 100 wpm for any sustained period of time. I can speed-type a sentence or a few lines of code, but my output is still constrained by the time it takes to think through and revise the sentence or code in my mind.


I can type at about 100 wpm, (which is faster than most people), but I cannot _think_ at 100 wpm for any sustained period of time.

But the sustained part matters there. Personally, my desire to write long-form text is extremely bursty.

If I'm making notes during a discussion, I might not write anything for a considerable time. However, when an important point is made, I want to record it as quickly and passively as possible, so I can stay connected to whatever else is being said.

If I'm thinking deeply about something, again I might not write anything for a long time. Then if the idea I've been searching for all week clicks, I might make a lot of notes over the next couple of minutes, while the line of reasoning is completely clear in my mind.

I type English text at a comparable speed to a professional secretary, but a way of recording important thoughts even faster when I encounter them would be valuable to me. The same goes for concepts that aren't plain English, too, such as code, mathematics or some sort of diagram.


yes, but if you had difficulty typing your outbursts of thought then your output would be constrained by your typing speed i suppose


Speaking is faster than typing. Speech recognition is my go-to for writing prose these days.


Do you have any particular software you recommend for Speech recognition? Do you know of any software that can cope with programming language syntax without introduced a tonne of dictation errors?


Last year, I used nuance dragon professional individual 15 for completing nanowrimo with ywriter 5 and an old work hand-me-down headset (Jabra Pro 9450 or thereabouts).

Over 98% of the prose was written by voice, and because of the headset's wireless range, I was able to wander around the house while thinking about what to say, with dragon happily riding down what I said and easily letting me correct when it made mistakes. I got very good at saying "full stop new paragraph" or, "select line, quote that, go back" to quote lines of dialogue. I expected to have to learn a million commands by rote memorization, but it seems like it became second nature within a day or two for first draft noveling purposes, I have no doubt that medical or legal uses have more advanced commands, but for writing a 50,000 plus word draft it was fine.

If you don't want to pay $300 for nuance dragon, I got scarily good results from trying out Microsoft office online word dictation via office 365 about 2 months ago via a $60 bluetooth headset for wfh.

I won't rely on the latter service myself because it is not offline speech recognition, and can be taken away at the flip of a switch, but for trying out if speech recognition is worth it for you to pay $200 on eBay or $300 in the store for dragon, it is certainly a useful feature to get off the ground.


Just curious, how did you deal with homonyms that get persistently misrecognized?

(I argue a lot with Alexa because she keeps getting stuff wrong even when I enunciate slowly. It is very annoying.)


You mean like 'riding down':-)


This. There's little substitute for seeing the program write down the wrong text and saying "correct that", then saying the correct number or saying "spell that" and spelling out a word instead.

The good news is, dragon appears to to learn which of the two word variations you use more often and begins to weight its word recognition towards those cases instead.


That's an interesting question.

If your REPL loop[1] gets faster by increasing your typing speed, can you get more of your ideas out there whether you're a blogger, author or coder?

[1] read-eval-print-loop^2


> Additionally, beyond Dvorak, is there a better way to increase typing speed...

I'm really not convinced Dvorak intrinsically speeds up typing


Even if Dvorak doesn't speed up typing intrinsically, it's still beneficial because it significantly reduces injuries caused by typing.


Look into the Workman keyboard layout project.

Very neat stuff.


Or Colemak for that matter


Typing fast is fools gold. I find I write gooder the slower I type. Be it writing code or composing emails.


Damn, you must have motored that comment out.


The legend of QWERTY being designed specifically to slow typists down will never die. It has that perfect "folk" quality, it should be true, the problem is simply that there isn't any evidence for it.

What does stick out about QWERTY, is that you can type the word "typewriter" using only the top keys, a trick that made it easier for typewriter salesmen to memorize and demonstrate that little trick when selling their wares. And we do have evidence that this motivated the layout.


In fact, QWERTY was designed to prevent jamming of early typewriters, allowing to type faster.

http://widespacer.blogspot.com/2015/11/the-hidden-secrets-of...


Even that theory has been questioned:

https://www.smithsonianmag.com/arts-culture/fact-of-fiction-...

It seems likely the keyboard layout was the result of working with typists to develop the best layout.


Linked paper [0] correctly states that QWERTY wasn't designed to slow typists down, but authors argue that it was not designed to avoid type-bar jams, but only vaguely suggest some letters were moved around due to Morse operation practice. They base that conclusion on analysis of radial distances of common digrams on typebar basket. But there's no justification why only angle criteria was considered, and they omitted that layout clearly minimizes adjacent typebar digrams, which is shown by [1] and [2].

They also without much evidence reject idea that TYPEWRITER ending up on same row was intentional design, but curiously enough [2] calculated odds of that occurring randomly as about 1 in 2500, so it might have been.

[0] https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433...

[1] http://widespacer.blogspot.com/2015/11/the-hidden-secrets-of...

[2] https://cyber.sci-hub.se/MTAuMTAxNi9qLnJlc3BvbC4yMDEzLjAzLjA...


This is a patato patahto thing. It would only jam if you went too fast, so the story goes. Get rid of the jamming, or force a max speed that is lower.


It's actually a critical distinction.

If QWERTY was designed to be the worst possible layout, to make typing slow in order to prevent jams, then now, with n-key rollover, we're all stuck with the worst possible layout.

If instead it was designed to be the most jam-free possible layout, with a secondary goal of being as fast as possible given that criterion, it's probably not that bad, and we'd live in a world where the fastest QWERTY typists aren't that much slower than the fastest typists, period.

And, in fact, we see that, while the world record was at one time held by a Dvorak typist, the prize at present belongs to QWERTY:

https://www.typing.com/blog/fastest-typists/


I wonder if anyone has ever set out to design the worst possible layout, and if so, what it would look like.


Could be a fun game. For starters I'd move the most useless keys to the index finger home row positions, perhaps pipe and backtick. Then I'd invert the sense of shift, so you have to hold it to type anything lowercase. I'd take all the most common two-letter sequences and I'd move those letters under the weakest finger. So T H E O A R S and N replace the punctuation keys on the right side. This should make it a real hassle to type "the", especially considering that you'll be holding down shift, which should itself be somewhere hard to reach, such as where 6 usually goes.


Can't figure out whether you are a sadist or a masochist but I love how you ran with _that_ particular ball. Kudos to you.



It's worth pointing out that the worst possible layout for keyboards might actually be one of the best possible layouts for phones.


I am not claiming to support that it is the worst. Just saying that, if it helps you type faster by keeping the device from jamming because you are typing too fast, then it is by definition helping you type faster by limiting the speed that you can type. Hence, slowing you down so that you don't go so fast that you crash.

As per the claim of the fastest typist. I would be shocked it steno doesn't win that, hands down.

Edit: Added in "because you are typing too fast", which was part of the original claim. I should have noted I don't know if I believe it, but I did want to raise that something that makes you go as fast as you can by keeping you from going too fast, both slows you down and makes you type faster. At the same time.


That's some tortuous logic. If it helps type faster by keeping the device from jamming, then... it helps type faster. If it only jammed because you type too fast, you could(/must) just slow down, no fancy layouts necessary. It didn't jam because you pressed any key too fast, it jammed when you pressed adjacent typebar too fast, and with proper layout (making sure that common digrams weren't on adjacent typebars) these situations could be minimized.

Weird thing in these discussions is considering that most jam-free possible layout and as fast as possible was somehow different design goal. But, in world of early mechanical typewriters, it was the same! You couldn't have "fast" layout that jammed because it wouldn't be fast, and if you had jam-free layout it probably was fast, because it weren't forcing you to depress each key completely before pressing next.


But only in the sense that my kid's training wheels help them go faster on a bike. Since that only works up to a certain speed.

So... yeah, it is somewhat convoluted, but not as much as you seem to be implying. Take "kids chopsticks". They speed up kids, obviously. They slow down folks that know what they are going.

(Really, I could probably list a huge list of things that all work in this vein.)


Stenography is specifically excluded, because it's a shorthand: the actual form of the final text is reconstituted from abbreviation.

The system described in the OP text is a form of stenography, conducted with a normal keyboard. I would be surprised if a competition typist, presented with an already-shortened text, couldn't beat out most stenotype stenographers working off the original text.

It would be unfair for a typing competition to exclude a chorded keypad, and I don't know of they do or not. It's completely fair to not accept "ts cmptly fr" as the transcription of "it's completely fair", no matter how it's typed in.


In the context of the article we are reading, this seems somewhat amusing. The entire trick, as presented, turns typing into an adhoc shorthand.

That all said, I confess I don't buy many of the benefits of alternative keyboards. I switched to colemak about a year ago and I think I am still below the speed I was at qwerty. Significantly so.

Of course, I don't know that this has had a major impact on my speed of getting things done. Plenty of other obstacles there.


> In the context of the article we are reading, this seems somewhat amusing. The entire trick, as presented, turns typing into an adhoc shorthand.

Yes, and I in fact said the same thing in the post you're replying to.

Typing competitions have existed for far longer than personal computers, and the value of typing fast was being able to produce a complete typewritten document. Steno machines coexisted, and had their own competitions, so the parameters of these things were set before it became possible to 'reconstitute' stenography into full text on an automatic basis.

All games have rules, and they're always somewhat-to-completely arbitrary. An "open category" would reduce to whomever can talk fastest, since text transcription is a basically solved problem and the sound sample can be slowed until it's in the pocket for the transcribing software to work on it. Steve Woodmore can articulate 637 words per minute: no one is touching that with their fingers.


Agreed, I didn't mean my last post to be a rebuttal of yours. Just more conversation in it. :) (Is why I called it amusing.)

I get that most forum posts are point counterpoint things. That said, it isn't the only way, is it?

I'm curious how true it is that text transcription is solved. Judging from how badly my home speakers with at times, I'm sceptical. This is especially true in most environments with many people talking. Just getting a "stop" in while my kids are in the room is already difficult.

Edit: I see my mistake. I should have said "it is indeed an adhoc shorthand". I did not mean to make it like I was introducing the point.


No worries, yes that would have been much clearer.

'solved' in that, when I say something complex to my phone, it does get it right, although there is a problem of the long tail of proper nouns: I live in Hawaii, and it has real problems with the place names around here, can't pronounce them either. I'd say it's well past 99% and will only improve: it correctly handled the sentence "voice transcription is approximately as robust as stenography", which doesn't make the sentence true but is suggestive.

I guess my point was that it's easy to recognize that voice transcription is 'not typing', and stenography just isn't typing in the same way: there's software between the actual transcript and the final, legible text, which lets it be faster.

Steno would be pretty useless for me as a coder, though I do use snippets, which are kind of the same thing if you squint.


Well, there's two clear things about the layout of QWERTY:

1. TYPEWRITER on the top row. 2. DFGHJKL on the middle row, in perfect alphabetical order except for the two vowels that got moved to the top. (The French version has the M after the L).

It looks very much like they started with alphabetical order, then moved a couple of things.


Anecdotically, QWERTY also seems to be sort of arranged in alphabetical order but with certain keys moved here and there — for exemple, the middle row is:

A .. D . F G H . J K L

(dots indicating the missing letters.)

Then it goes down for the M N from right to left, up for O P, then the top row is:

Q R . T U

And the bottom row is, from right to left:

V . X . Z

And then the rest.


A while ago I did a little analysis to compare ergonomics of existing keyboard layouts [1]. The criteria are obviously subjective, but the results clearly show that Qwerty comes out significantly inferior to all alternatives designed later.

[1] https://github.com/bclnr/kb-layout-evaluation


Why bring the whole Devorak part into the article? Also, I'm surprised the author didn't go pure stenograph then because that's way faster.

WPM is only a good measure of WPM.

The best coders don't need to type faster. The best writers still hand write things or type on DOS[0]. Once you hit a baseline competency, other areas of improvement/reward far outweigh the time devoted than to a better WPM.

Wanting to type faster is fine, but do not mix it with being more effective aside from being a great typist.

[0] https://www.youtube.com/watch?v=X5REM-3nWHg&feature=emb_titl...


If efficiency is the goal, it's better to spend time optimizing your ability to use advanced text editing features. Simultaneously modifying multiple lines at once, block based editing / copy+pasting, regexes, etc. I'd imagine the amount of time I'm actually typing is well under 1% of my time as an engineer.


There is a point around 200wpm (?) that I think would be very handy to be able to "type" this fast, using shorthand or whatever. This where you can keep up taking notes when talking to someone but also take in the subject matter. Being able to do that all at once and then have those notes to refer to would be very useful.

A lot of time is wasted by not having a record of things.

Maybe "AI" would be just as good as solving this problem though.


That's stenography. If you truly need to type fast, there's better tools for the job.


The problem for me is rarely typing speed, unless if I'm transcribing something.

No, the bandwidth chokepoint is organizing thoughts, and those thoughts into sentences (or into code snippets).

It is always nice to be able to express things as quickly as possible, but I'm not sure how much this might actually speed someone up (practically) past a certain threshold (say, 70wpm). The biggest thing that comes to mind might only be accuracy, which can boost output.


> No, the bandwidth chokepoint is organizing thoughts, and those thoughts into sentences (or into code snippets).

Right, but particularly when writing, what "organizing thoughts" often looks like is writing a burst of text (a phrase or several sentences) then possibly editing it / deleting it / whatever. Being able to quickly bash out the bursts I think makes the whole process faster, or at least less annoying.

I switched from QWERTY to Colemak several years ago; I'm not sure I've gotten back up to my previous top typing speed, but it's certainly a lot more comfortable.


I switched much earlier, I learned Dvorak as a way to make a clean break when learning touch typing. I set up a little printout next to the computer and just forced myself to try remembering the correct finger movement for the key, then look at the printout, but never look at the keyboard.

It took just a day or so of ordinary computer use to beat my non-touch-typing speed; and having learned also to touch type on QWERTY I can say Dvorak is more comfortable, and looks/feels more graceful, for whatever that's worth.


I had two one-semester typing classes in junior high school on QWERTY (with mechanical typewriters, no less), where I got up to 70 WPM on speed drills. Then in high school my mom got "Mavis Beacon Teaches Typing", which got me up over 100 WPM on speed drills. A few years ago one of my friends introduced me to typeracer.com, where I consistently clocked between 110 and 120 WPM, still on QWERTY, on the default Dell keyboard that came with my workstation.

So I bought a mechanical keyboard and decided to switch to Colemak, which someone had mentioned on the site. But my numbers on typeracer still only hover around 100 typically, even after a few years of Colemak; presumably because I haven't been drilling the way I did when learning QWERTY. But my hands are certainly a lot more comfortable, and I'm pretty sure if I did drill I could surpass where I was before; so I don't regret the decision.


To me, typing speed is a convenience feature, not an efficiency feature (past like 30 wpm). I have recently twice experienced both low typing speeds (~30 wpm) and high typing speeds (~80 wpm) due to switching to colemak and to an ortholinear keyboard layout, and my productivity was the same on 30 wpm but man did it feel shitty.

I ended up typing less comments on sites like HN and typing in less detail to people on Discord. The increased convenience of having a higher WPM makes you want to write/communicate more, in my experience.


There's definitely a comfort zone imo. If I go full speed my fingers feel it. It also doesn't help the higher I push my speed the more dumb typos pop up, like mispressing the space bar or not thinking and conflating its for it's or vice versa.


If you're on Linux and want to do this look for ibus-typing-booster. I submitted it 6 days ago, but it didn't get much attention. Unlike the author's method of manually setting up shortcuts for the most used words, ibus-typing-booster learns your most frequent words and then it's just a matter of typing a few chars followed by space, which inserts the whole word.


Nice! Another option is to create a ~/.XCompose¹, which only activates manually — you add your own custom abbreviations there, and they’re only expanded when you prefix them by tapping Compose².

¹https://wiki.debian.org/XCompose

²You can make this quite convenient with xcape:

  setxkbmap -option compose:sclk && xcape -e "Shift_L=Multi_key"
will make tapping (but not holding) left shift act as tapping Compose


Oh, and not that > ~⅖ people ±⅞ will read this but there’s also https://espanso.org/ which supports inserting script results; and quite a few other ‘text expanders’ and other tools that will do similar things https://alternativeto.net/software/espanso/?license=opensour...


Im using notepad++ and it has this feature auto enabled by default but at a document level. I find that sometimes it helps but other times it really gets in my way. How does it work out for you with ibus-...-...?


I haven't used it like the author describes, I've just been using for easy emoji autocompletion :)


Thank you for this, i was looking for something similar in Linux


Having used it for 20 years now... I don't find that dvorak improves my typing speed. If anything it probably net reduces my productivity since often I'm hitting paste (ctrl-v) and I miss and hit exit window (ctrl-x).

However, I like it because it feels comfortable typing in it, way more so than qwerty.


That’s why I switched to Colemak instead of Dvorak - keeps zxcv in the same spot.

But I agree with you completely - Colemak is way more comfortable to type in than QWERTY. Way fewer hand movements and less finger stretching for common bigrams. My non-scientifically based hope is that it’ll reduce RSI in the long run. No regrets after 10ish years


Ditto, this is always what I tell people when they ask about it. Not really faster but definitely easier on the hands.

BTW on MacOS there is a Dvorak mode that uses QWERTY when the command key is down!


I've been using Dvorak 20+ years as well. Definitely faster than I ever was with QWERTY, and more accurate. And more comfortable.

With MacOS, I use the DV+QW layout where the layout is QWERTY if you're holding down Cmd. So Cmd+V etc work just like on a QWERTY keyboard. It's a pretty good compromise.


This has been my experience as well. Using a non-qwerty layout is an annoyance when I use somebody else's computer or somebody else uses mine.

While I don't see myself moving back, I never recommend switching to others.


I dunno, it was a pretty enlightening experience, learning how to struggle, learning how to be humble about sucking at something that for me till then was super basic (as an adult, so I could really savor the feeling -- I had learned to touch-type at age six). If you don't forget qwerty, it's not an annoyance to use someone else's keyboard. And having someone else be annoyed when they use my keyboard is a feature =).

The only time it was mildly annoying was when I started dating someone and asked to use her laptop, and I suddenly found I couldn't type. It turned out that she had ALSO learned dvorak in college. When I realized what was going on it was all good.


To make your setup really unusable, use a 60% layout with blank key caps and VIM. :-)

I use this setup + qwerty in an azerty region, needless to say my setup does not get used a lot for pair programming. I actually did have a spare keyboard in my desk drawer for a long time just in case someone really wanted to use my machine before I went full-time WFH.


Yeah, I think this was probably the only thing. My hands felt slightly less tired after a lot of typing. I was about the same speed as qwerty, which was already decently fast.


Why don't you remap the clipboard combos to their usual places?


In grade 9 a friend and me thought wouldn't it be a great idea to do the office administration class as a means to meet girls, so we did. Class was about 90% female and we learned to type not looking at the keyboard. Now, as a programmer that has been the class that benefitted me the most over the last 20 years.


My Mum enrolled me in a typing course as a 13yo, and it was the most boring thing you could have done to a 13yo. Now, however, I'm a fast typist and that course was the bridge between previously hunting and pecking, to proper touch typing. I went, I believe, only from 15wpm to about 25ish wpm, but the technique was planted and I've increased from there.


I had to enroll in a typing course when I was 13 as well - mandatory by the school. Problem was that I started using a computer around age 8 and really learned touch type around age 11.

My finger placement is wrong, I don't type in the "correct way". But the typing course was graded on reaching X WPM with no errors, which I could easily surpass. The teacher allowed me to pass with that. Now I still don't place my fingers correctly and I can type about 152WPM with 100% accuracy (just tested on https://monkey-type.com/).


The author's ultimate solution of "use OSX/iOS shortcuts for every word to speed up your typing" is pretty wild.

I could imagine myself using this method when I think about the _tens of minutes_ of my life I've probably saved now by just making "@@" a shortcut for my email address.

Unfortunately, like Dvorak, which the author also proposes, it has the "doesn't work on my friend's computer" problem. Although, maybe a little easier to untrain your fingers from than Dvorak...


More annoying for me is that it has the "doesn't work in certain apps" problem. Firefox, for instance, blatantly ignores macOS's text replacement shortcuts.


Yea, this was annoying for me as well. I found Espanso (open-source), which seems to work on all the apps I've tried:

https://espanso.org/

Not affiliated, just a happy user.


>"doesn't work on my friend's computer" problem

As I've gotten older, I find this situation almost never comes up. Occasionally in some workplaces you are temporarily using someone else's computer. In which case, you either fall back to QWERTY, or take the 60 seconds to add Dvorak to their machine.


How often are you using your friend's computer?


I've heretofore used them for common terms in my work/hobby and they can be quite helpful. This is really next level though. I think I'm gonna try adding a few common everyday phrases on a weekly basis and see how it works out.


Record yourself writing, or programming, or whatever it is you do at the keyboard. You will see that it is not the speed of your typing that is the bottleneck, it is the creative process.

You are not a mindless machine hacking away at the keyboard. And, if you are, then the life hack take away is to stop and think a bit before typing.

Going slower often has lots of benefits.


The typing speed absolutely is a bottleneck --- the more time spent typing, the less time spent thinking. Have you ever experienced times when you lost your train of thought because you were busy writing it down? That's what faster typing will avoid. It's true that the average typing speed will be low, but the higher your burst speed, the sooner you will return to thinking after each thought that needs to be written down.


I don't think that's true. I can think while I type just fine. We are not machines who can do only one thing at a time.

As an analogy-- plenty of people can play their instrument while they improvise the next bar in their head.

Try it! Transcribe the words I've written here and while thinking about the weather.


> We are not machines who can do only one thing at a time

I thought most machines could do multiple things at once?

Humans barely walk and talk at the same time, and stumble much more likely than when not talking.

As someone who plays piano, you have to spend years perfecting it so it becomes automatic enough to offload your brain and only then you can improvise while playing. Your movements have migrated to a "fast" part of your brain. If you record yourself and listen to it, it's a whole different thing, you feel as if your ears were blocked to the melody, only listening enough to improvise the next key, and so on.

I am pretty sure, but to lazy to find sources which I know there are plenty, that Multitasking always yields worse quality results than doing one task. If you don't care about quality, then why don't you practice your dance moves as you write and think, as well?

If you're not doing something 100%, then you're half-assing two things.


Kind of like build time. Even with only a small fraction of time spent compiling, it can distract you and make it less enjoyable to code vs. seeing your changes instantly.


This is a good point. I agree that going slower improves writing quality, in most cases.

But there are often times where I'm struck with a particularly well-crystallized thought, and typing speed becomes a huge bottleneck in recording its structure before the thought dissolves back into the ether of conceptual soup in my brain.


That's only when you need to make an effort to think about the keys you are pressing. When you have assimiliated the keyboard layout it becomes so automatic and natural that you don't even think about it.


Having switched to an Ergodox which slowed me down and working on a new project, this is absolutely true.


Good point. But I personally make use of a lot of keyboard shortcuts and find that they make my process not necessarily faster but seamless. I don’t have to think of how to do something as my muscle memory translates the intent into command. That also helps not break my context by using the mouse, opening a menu, etc so it keeps me in my creative/productive zone. So the typing speed is not necessarily the productivity boost we need but the seamlessness of the process I think. If you’re using emacs for example the typing speed may also hold you back a bit if you’re slow.


Everyone says slow typing is ok but I also see a lot of people get frustrated at input lag when typing into a slow IDE


The larger the input lag the bigger the discomfort I have when typing and navigating a domcument. It’s doable but feels uncomfortable as we have to wait for the confirmation we hit the right keys. It helps not to look at the screen at all but if you find an error in the previous sentence it’s a pain to navigate back and fix it


I feel like this is distinctly different though. If you're drawing/sketching, does it matter the speed at which you can draw? Now think about how much of an issue input lag is. It's obviously not exactly the same but I think it isolates why your personal typing speed and input lag are different things.


So true. I made the difficult transition from QWERTY to an alternate layout, then another alternate layout after being dissatisfied. Ultimately I had to use typing practice sites because I simply didn't do enough typing in the course of working on the computer all day every day to relearn and retain. Still worth it, so much more comfortable now.


That's true when doing creative work, but for other occasions, notably note taking, speed does matter.


OP here: happy to answer any questions about my setup. Just to clarify - the core idea is not shortcuts but how you can use them to integrate changes in your life like reflecting on how you feel or how well you understand your learning material.

More thoughts: https://news.ycombinator.com/item?id=24702678.


This is by far the most interesting thing about the article, and I'm a little sad to see most of the comments here are about typewriters and keyboard layouts and not about exploring whether shortcuts can change the way you think.


"You can 3x your typing speed if you set up shortcuts for most frequently used words to decrease the number of symbols you have to type. Here’s how it works on Mac OS or iOS."

So a bit a predictive typing assistance and customizations.

"Here are some ideas for reflection shortcuts that I use:

    “wam”—“Why am I feeling this way?”
    “wwl”—“What went well?”
    “wcb”—What could have gone better?"
Like duckduckgo bangs I doubt I would be able to remember more than 10.


If you want to go another level, try a chorded keyboard and stenographic input methods.

https://en.wikipedia.org/wiki/Chorded_keyboard


like VIM commands, you can't expect yourself to read the manual and master them all on the first try. You add them as you find yourself frustrated with how inefficient an operation is. I suspect it's going to be something that you slowly add and improve overtime, and, likewise, prune as your vocabulary changes.


But unlike vim commands these can't be composed, so the number of shortcuts scales linearly with the number of words/phrases you want to express. I'm not sure how useful this would be for me.


I find it a bit ironic that an article about how to type 3 times faster is roughly 4 times longer than it needs to be to make its point.


I liked the saussage anecdote/analogy. My wifes family used to split sausages like that as well not knowing exactlty why they’re were doing it. Somebody started the practice and they got stuck with it. Likewise we’re stuck with QUERTY and is not a big deal really but it was an accident of history.


I switched to the Dvorak keyboard layout 20 years ago (in the middle of a mission-critical project, no less), and not only doubled my typing speed, but significantly reduced arm/finger strain. Once you put in the 3-ish weeks to retrain your brain, and get back to at least your original typing speed, you'll never go back to QWERTY.


wow, it took me 3 weeks to get basic proficiency, but really slow. 6 months to parity with qwerty, about a year before I was truly comfortable with it. probably about 2 years before I was completely fluent with both, and 5 years before my brain could map my own personal keyboards with dvorak and default to qwerty in all other cases with nearly zero mistakes. These days (20 years on) I have no problem, running, say virt-manager, which does not respect the linux key remapping, and typing in non-dvorak even on my own machine in a context-dependent fashion.


You’re saying 5 years before you could Dvorak at home, and also QWERTY on anyone else’s keyboard as needed?


Completely automatically and with nearly 99.9% accuracy.

"As needed" I would say around the 2 year mark, but with a bit of a blip to think about it.

But I could do this at the 6 month mark, just not accurately.. I would still be messing up letters at a ~1% rate, let's say.


Did you do daily practice in that time?


No.


I had the experience of changing to colemak and then spending maybe two months not practicing deliberately. Progress was slow. But then, I started practicing every day and I was back to my qwerty speeds within a few weeks. The incidental practice you get from typing in your everyday life isn't enough to quickly get learn a new layout, unfortunately.


3-ish weeks is what it takes to learn to touch-type in general, whatever layout. Put in the time and choose a layout to learn. Dworak is better if you are typing only english, there are other layouts for other languages. This is where it broke down for me, I can't learn several layouts depending on the language I want to type. And convincing some programs to use the dworak layout for hotkeys can be tricky too.


Vim is a very keyboard-oriented program.

Dvorak with vim isn't that bad. HJKL is in a row on QWERTY, but Dvorak at least has JK together, and H to the left of L.

CUA keybindings like Ctrl X, Ctrl C, Ctrl P can be a pain with Dvorak. (I also don't think shortcuts like Ctrl+Insert, Shift+Insert are widely supported across OSs, nor USB HID's copy and paste keys).

Other than that, it's just about remembering the shortcut by the letters, not by the position of the keys.


I tried moving to Dvorak in the late 1990s and I stumbled in the multiple language problem. In addition to me typing in English and Spanish, the fact that I do programming was the nail in the coffin to really being efficient in something else than qwerty. It also didn't help that I already was 95wpm in QWERTY.


If you alreay have a large repertoire of shortcuts it’s an extra pail to worry about when making the switch. I find that im using some shortcut that i can’t recite what they unless look down at the keyboard as they’ve embedded in the muscle memory.


What about all the keyboards that aren’t Dvorak? Can you still QWERTY without thinking?


Not OP but it was definitely a struggle. I had a few job interviews where they didn't understand my request to change the keyboard layout... or the computer was too locked down, or whatever. That, and typing on literally anyone else's computer is a pain, unless they're kind enough to let you install Dvorak.

That being said, this year I decided enough was enough, and I worked to relearn QWERTY. Initially it was really hard, but after a few weeks, I managed to get to a comfortable speed. Here is an image showing my QWERTY averages since March of this year: https://i.imgur.com/RESfuFS.png My average has plateau'd around 80wpm, which is a great speed, and I managed to do that without sacrificing my Dvorak speed, which sits at 125wpm. Finally, to throw a wrench into it, I also decided to learn Colemak this year... and with enough practice I've gotten to the point where I can switch between the three without any issue.


For the curious, here's a graph of my Colemak in the same time period: https://i.imgur.com/kN9g3n6.png The hump at the beginning was from when I decided to stop learning Colemak, and learn _yet another_ layout, and then deciding that it wasn't worth it a few weeks later, and then coming back to Colemak and having to learn it from scratch again.


Personally, I never properly learned to touch type on Qwerty, and my typing ability on Qwerty is about the same as 15 years ago.

I hardly ever type on a Qwerty keyboard though.



My phone has predicted text on the top of the keyboard. I wonder if the secret is not a bunch of custom shortcuts, but a better mind-meld with the predicted text so that you the user hit the predicted value every time. You get the same speed and correctness benefits mentioned in the article.

But I’ve never seen a touch typing program which let’s you use the predicted text.


I suspect the key is to somehow make it really quick and easy to retroactively fix mispredictions and other mistakes. That'd open up the space for more aggressive guess-what-I-mean input methods.


> That’s right. The very first “Type-Writer,” designed by Christopher Sholes 146 years ago, used the exact same QWERTY keyboard that‘s in front of you.

Weird, I can’t seem to find the M key to the right of my L. (Not that the resemblance isn’t clear, but that’s not the only difference and they did say “exact same”).


No zero and one either, you typed L and O. This was common even in the 80s, the final days of typewriters.


One of the funnier things I can say about my life - growing up playing RuneScape (like, beginning of classic, starting at the age of 5) and arguably MapleStory led to having 120wpm+ QWERTY speeds with ease. I think during the few times I ever cared to really test myself I hit over 160. Also won my spelling bee every year eligible (4 years) and placed pretty well at states my final year. Never touched a study book or really even cared to compete - parents bribed me to enter. All from MMORPG's... Probably not something to be proud about haha.

I really think a portion of kids that grew up playing RuneScape got a bit of head up over peers. I know it's led to me never having been scammed more than once and starting a successful business at a very young age. Shame what happened to the game, but I guess all good things must die.


While the first part of the article is on alternative keyboard layouts like Dvorak, the second half of the article is actually a discussion of personalized shorthand "brief forms" (somewhat confusingly called "shortcuts" in the article). It would be really cool to have a seamless autocomplete system on Linux. As far as I know there isn't one. It would be handy in my opinion when typing domain specific jargon, perhaps using something like vim's leader key but OS-wide: for example, "`sf" would expand to "star formation".


What about confusions regarding shortcuts that depend on the context? HW for hardware in CS or homework? We do use unexpanded shortcuts and out brain knows how to interpret them from the context. Adding shortucts like these in an editor to expand into words would create a lot of unnecessary problems and solutions IMO. Everybody knows for example that im not talking about the internatinal math olympiad here or internatioal money order. Acronyms in this case are a good example how the context create ambiguities if we dont know the context


Is there any app to create the shortcuts automatically? Like you type all day, at the end of the day, the app see you wrote 5 times 'thank you' and it suggest you to use ty as shortcut,,,


Well, yesterday I edited a Makefile under TMUX by using ed, so typing speed isn't an issue there, ed commands save much more time than typing fast. Ditto in the computer. As my environment is tmux+framebuffer based, I don't care on breaking typing speed records in gtypist, I type in normal speeds, as everything else is scripted I don't care of not being fast enough.


I thought this was familiar. Turns out it was posted here before but the article was on a different site.

Here's the previous discussion (40 comments): https://news.ycombinator.com/item?id=24702678


On a somewhat relevant note - there was an interesting post I saw sometime back on designing an optimal keyboard layout https://news.ycombinator.com/item?id=21425426


There's also Carpalx which is a parametric model rather than AI but in general goes into a lot of information on keyboard layouts in general.

http://mkweb.bcgsc.ca/carpalx/


tl;dr author proposes to use shorthands for common words...

The "feature" that is built-in into most IDEs and most programmers are using on daily basis, e.g. https://www.jetbrains.com/help/idea/using-live-templates.htm...

I really don't want to be that guy, but the typing with 3x speed certainly didn't helped the article to be concise and to the point.


My average typing speed is ~140-150WPM and I can go over 200 in short bursts. I've only used QWERTY. Thus I don't think Dvorak or any of the other layouts has that much of an advantage.

However, I think the design of the keyboard's switches makes a huge difference; I can only reach those speeds on the keyboard I normally use, which is a pretty generic one with rubber domes, but where ~2mm of travel is enough to register a keypress, and the keyfeel is very light and bouncy. Before that I used a mechanical keyboard with (very) clicky Blue ALPS (https://deskthority.net/wiki/Alps_SKCM_Blue ) switches, and struggled to reach 120WPM. Other keyboards I've tried timing typing speed on include a Thinkpad X60 (can barely exceed 100, but quickly tiring), Apple low-profile (80-90, very tiring), and the famous IBM Model M (75-80, impressively loud and extremely tiring.)


By "typing speed", do you mean copying an existing text? That's the usual measure. But in a world where most people compose their text on their own computers, how useful is it now?

Or are you able to produce your writing/programming at that rate? If you can do that, you're in a remarkable category. My feeling is just moving your fingers to make word would be least impressive part of such a feat.


Or are you able to produce your writing/programming at that rate? If you can do that, you're in a remarkable category.

It's the average speed at which people speak: https://en.wikipedia.org/wiki/Words_per_minute#Speech_and_li...

Thus being able to type at that speed means IM conversations and such can be carried out "at the speed of thought".


I can't think of an instance where my 20-30 wpm typing held me back in a messenger chat - if anything, my typing speed in enough to present the other person with a wall of text, something to be avoided if you want to have a dialogue with someone.

And yeah, someone who speaks in full paragraph or essays is unusual. The average transcription of an extemporaneous speech shows a lot of "uh's", backtracking and so-forth.


Would you have a link to your keyboard? I'm looking for one just like that, after having used a mechanical keyboard much like the one you described for a while.


Unfortunately, the only search result for the model number (KM-2601P)... is the HN post where I last mentioned it: https://news.ycombinator.com/item?id=12774137

I don't know much about its history, other than the fact that it was a cheap "freebie" from a PC long ago that I continued to use because it felt great to type on. It was probably manufactured in the late 90s.

The Internet is horribly forgetful and certainly not the treasure-trove of information it used to be: https://news.ycombinator.com/item?id=16153840


It makes me happy how many other people here are also slow typists and don’t care. If you’re a programmer and consider a high WPM essential to your craft... you might be doing something wrong lol


Try pair programming with someone who's faster than you and you'll realize how much you are missing for typing slowly. It's like being a carpenter with a fretsaw or a jigsaw, you can do the same work, but you won't finish at the same time.


Yes this will save you all the time you will later spend on making your shortcut work when it breaks or every time you get a new device.

Slow is smooth, smooth is fast.


At my last job at some courtroom they used wordperfect 12. Clerks used the quick-word feature to define their own shortcuts.


I still dont understand how is this different from autocompletion ? What did the author mean by "shortcuts" ?


A tool plus your determination. When there is a will there is a way. The tools is just an anecdote.


The best tool I ever got for typing was a keyboard with no letters on the key caps.


I recently bought a "ninja" keyboard, where the labels are on the front of the keys, not the top. Looks "badass" according to a nearby 15-year-old. While technically the keys are labeled, in practice looking at them is useless, especially in anything less than bright room lighting, so they are, for me, effectively blank.

As a reasonably fast touch typist for many years, I found that for prose it was basically no change. But. There were enough things that were a total drag that I couldn't keep using it.

There are times when the key you need to hit isn't part of a flow, and you have to hit it perfectly: passwords, Illustrator/Photoshop commands, punctuation-heavy inputs like URLs, postal addresses, etc. I'm not a programmer, and others will have other things they do.

So, I bought normal keycaps and replaced them on just the letter and number keys. Much better.


I have a logitech mini keyboard on standby in those cases.


So, basically he describes the software "PhraseExpress" for Mac and PC.


The only shortcut I needed to be successful:

"sout" extends to System.out.println

;)


For me it's seba = source env/bin/activate


i addded js dvorak as input option on my forum software to make it easier for anyone not on their computer


I was with the author about typing and setting up shortcuts.

Then they went on a wild crazy tangent into pop psychology, and, uh...no thank you.


WPM is not the bottleneck.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: