Blog posts! I’ve actually written 4 blog posts in the last few days. I’ve also taken some of my old, unpublished blog posts and written them in my new style. My latest is on how I implemeneted json-to-elm, if anyone is interested. I’m trying to blog about things that I end up answering on slack, or giving talks about a lot. So that includes problems with Elm, things people find hard to do with Elm, experimental projects, etc.
My next blog posts will probably be about server-side Elm, or build tools. It depends if I get more motivation, but I have a blog post written for both right now.
I’m also working some more on elm-fuse, but no big progress updates other than the rewrite I got done last week!
Awesome! Can’t wait to read about server-side Elm and build tools.
These touch typing tests (keyhero) are a little annoying because at speed and length, they start to test focused fast reading as much as they test typing. On a long piece, I estimate about half of my mistakes to be of the kind where I insert or skip a word (“that they” vs just “they”), change a word where it makes sense in the given context (“my” vs “the”), or even entirely confuse a word (“confused” vs “focused”). Maybe insert a comma where I would’ve placed one if I had written the text.
The faster I go, the more expensive such a mistakes become; I might’ve typed the entire word or two thirds of it by the time I realize the mistake, and then I have to backspace over some arbitrary number of characters to fix it… it does not help that at speed, I have to focus my eyes almost fully on the text I’m reading and not on what I’m typing, so I don’t see my mistakes as they happen. And that makes them so much slower to correct. Annoyingly enough, sometimes I’m so far ahead when the mistake registers that the application gives me penalty even if I go back and correct the word.
Give me a short piece and I can reach 130 wpm with ~100% accuracy. On longer pieces, these expensive mistakes can easily take my speed to 90 wpm, sometimes even less.
It would be interesting to see how I’d do on a similar test in my native language. Quite a few English words slow me down dramatically, and indeed I might not even know the correct spelling.
There are other touch typing trainers / tests where the program only displays one word (or a few) at a time. On these it’s definitely easier to reach higher speeds.
Thank you for a detailed comment. All these tests are just synthetic tests. Of course, it is very different from how do we type in real life. Most of us type our thoughts in prose and code, thinking and editing as we type. I use those tests just to track my progress from time to time.
Your 130 wpm is very impressive. Could you share your learning story, please? When did you learn to type that fast? Do you practice deliberately on a regular basis? Thanks again.
I don’t practice deliberately, I just type a lot. In a context where it is often useful to type fast. In realtime chats, especially IRC. So I don’t really know what brought me here, apart from typing a lot.
I got started on touch typing when I read about the Dvorak keyboard layout and decided to give it a try. I found a file for xmodmap that remaps my keyboard to a custom variant of Dvorak, and I put up a little cheatsheet on the screen. I didn’t know how to restore the original keyboard layout without restarting X (and especially back then, I always had tons of stuff running that I didn’t want to stop and restart) so I just had to force myself to learn it, which I did, rather quick. I started with a TUI touch typing trainer and practiced long enough to have a decent idea about where all the letters are, then continued on organically by chatting on IRC, posting on forums, etc.
I still use Dvorak, and I type on a Kinesis Advantage Pro. I’d like to try another layout though (and another keyboard; I’m not super happy about the Kinesis' bugs).
EDIT: after a couple dozen snippets, I seem to average about 105 wpm and 97% accuracy on keyhero.
I’m also very annoyed with the Kinesis Advantage Pro stuck-modifier issues. Seems like they recently released the Advantage2, so maybe those issues have been addressed.
That’s what I thought as well. But I am not compelled to give them any money; they’ve been aware of the problem since forever, and IMHO the right thing to do would’ve been to acknowledge it, fix it for free or at least give us the option to buy a fixed chip if it’s really a hard-wired bug. And they really shouldn’t have kept selling the broken keyboard. In fact, when I purchased my kinesis, I kinda figured that it would’ve been fixed by then; the reviews I read before making the purchase were old from days when PS/2 was still popular, and I was getting the USB version. Instead they kept selling a product that was known to be broken. I’ll look for another maker or (preferrably) make my own, when I get around to it.
Thanks. Why would you like to switch to another layout? What are those Kinesis’s bugs?
I’ve explored the research into layouts and I think there are ones that are better optimized than Dvorak. So they could hold a promise of more comfort or faster speed or both. Maybe fewer typos?
As for the kinesis.. the problem is that modifier keys occassionally get stuck. Not very often, but often enough to be annoying, and especially for a device at this price point it is inexcusable.
Admittedly I’m also unhappy with the mushy rubbery function keys. And I’d prefer to have a real numpad in the middle, as on a maltron 3d keyboard. Maybe, maybe I’d like the trackball option too. I’m not going to buy a maltron though; I’ve heard it’s got similar bugs.
The kinesis is a little slow as well. You’ll notice if you try to play a rhythm game (like stepmania) with it. There’s slight delay between each key press, and it can get unbearable on fast sections.
Noted with thanks. What do you think about steno?
Check out a quick coding with steno demo by Ted Morin.
It’s cool for live transcribing speech, but I’m not convinced it has much use beyond that, unless your day to day work involves typing tons of text in a given natural language. It works because it can be optimized for the syllables and vocabulary of that language. Once you need to step out of that confine, you run into trouble.
The coding demo is awkward. Frankly it looks like he had to pre-program his steno for the program he’s going to type, and then he’s struggling to remember his new chords. It’s not fast, and it’s especially not fast in the general case where identifiers can be anything and you can’t optimize it for the specific constructs of the language or framework you’re using. If saving strokes or typing things fast is a concern, code editors already do a great job with macros, templates and completion (the last of which requires no programming to be useful).
I have to say that character input speed isn’t really a concern for me when I’m coding. I feel like I type fast enough as is, so I don’t really even need the fancy editor features (I use vi). Much more time is spent on the thought process anyway.
Thanks, good points.
Just curious, is there some degree of promise of few breaking changes for newer versions that makes this version a better one to dive in on than others? The debugger is pretty cool, but the 0.x has kept me from trying Elm on a bigger project than just toying around with it.
Right now, we’re working on tooling to automate upgrading. For example, for this release, you can use elm-format with the --upgrade flag to automatically update the syntax. Together with elm-upgrade, you can automate upgrading your deps.
0.16 -> 0.17 was a big breaking change. I foresee any other future releases will have substantial tooling for upgrades :)
Not sure about any kind of promises.
First of all, there were a lot of changes in 0.17, but upgrade from 0.16 was not that hard.
Upgrade from 0.17 to 0.18 should be much easier and pretty straightforward, thanks to elm-format.
Good news — for the next few months no major changes in Elm land. ;)
Quick start for JS developers: http://www.romanzolotarev.com/elm/
ErgoDox EZ, Norman. https://mobile.twitter.com/search?q=romanzolotarev%20ergodox
I am making small web apps (node.js and Elm) on Macbook Pro.
Working mostly in Vim + Tmux + Terminal.app.
From time to time switching to Google Chrome.
This works really well on the client side, too. I run my own rss reader as a cron job. Each new item in my RSS feeds shows up as an email in a subfolder.
As a result, every device I use has a native app that tracks read/unread state, offline sync etc.
Thank you for the hint!
It is time to switch to something like Aria2.
Is it possible to install OpenBSD on it? Just curious.
No, arm7 support is still experimental, but with a bit of effort
you can port it to that platform, using developed arm7 tree.
https://www.openbsd.org/armv7.html#hardware Looks like it is supported now (A1x is there, and CHIP has A13).
Andreas, thank you for sharing and useful advice. What keyboard and layout do you use currently? Have you tried any other combinations? Thanks again.
Great question - at work, I use a Kinesis Advantage (USB). At home, I type on a Filco tenkeyless keyboard with cherry brown switches. Both are pretty comfortable and suit my fingers very well (unless I perform stretchy chords, especially on the Kinesis). I’ve been using the Colemak layout for the past 5 years, and it’s been fun!
All of these have a higher influence in my error rate and typing speed (now that I’ve gotten used to Colemak at least) than they do on my physical comfort. But then, no matter what the price of your keyboard is, you’re still sitting and rapidly hitting keys. (:
There is an ergonomic solution: Coding in Stenography, Quick Demo
I have not learned steno yet, but Plover looks promising.
All of these have a higher influence in my error rate and typing speed (now that I’ve gotten used to Colemak at least) than they do on my physical comfort.
Interesting–I’ve found that moving the modifier keys to my thumbs was a huge boost to comfort, allowing me to type a lot longer without feeling fatigue. But maybe that’s because of all my heavy Emacs usage.
Before and after work: