Hacker News new | comments | show | ask | jobs | submit login
When source code reveals an emotional life.
7 points by jldailey 1897 days ago | hide | past | web | favorite | 2 comments
I really liked a recent post about the ASETNIOP keyboard layout. TLDR; it's a chording key layout with an iPad app and a javascript demo.


The basic method for building a good chording keyboard is to identify frequently used strings/words and map them to short key combos.

While the code is a horror to read (I assume it's human-transpiled from C to JS), the frequency data collected by the developer shows some interesting, and sad, patterns in their life. Patterns that I am sure are familiar to lots of people on HN.

Take this selection of frequent words: wChars[231]="walked"; wChars[232]="took"; wChars[233]="talk"; wChars[234]="stock"; wChars[235]="lack"; wChars[238]="period"; wChars[239]="work"; wChars[241]="human"; wChars[243]="small"; wChars[244]="home"; wChars[245]="example"; wChars[246]="simply"; wChars[247]="played"; wChars[248]="book"; wChars[249]="taking"; wChars[250]="much"; wChars[251]="almost"; wChars[252]="problem"; wChars[253]="family"; wChars[254]="economic";

"economic problems"... "family problems"... "book taking much"... "almost [done]"... "took stock"...

May I know where and how the data collected? And what is the first word in the array?

I am not certain how/where it was collected (I am not the developer).

Also, the first word in the array won't be directly meaningful, because this is an array that represents a whole keyboard layout (so the first element is "a", the second "s", etc). The first real "word" is actually "and", which is not an interesting word. And it's first-ness is even less interesting because the order in this array is determined by the keys you press to select an item, not the frequency of that word ("a" has a low bit value, so "and" comes before "the", another uninteresting but very frequent word).

But, in later sections of the array (where you are pressing 5+ keys at a time to produce a longer word), you can choose from nearly any english word, and so it makes sense to choose ones that you use frequently, and so it makes sense to analyze a corpus of text to find the frequent words. The words ultimately chosen lead me to believe it was the developer's personal emails that were scanned.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact