Live data from Hacker News

Underscores are stupid? Get a Japanese keyboard (2012)

daveperrett.com

61–70 of 78 posts

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#61

Earlier quoted context omitted.

The unmentioned detail is that japan has a narrower spacebar and two extra keys

Indeed - I recommend a split keyboard with two split spacebars on both sides. The Ergodox or it's FOSS equivalents are really nice once you program in some useful things and there are many very good keymaps for plug-and-play.

I picked up the (back, del) (enter space) thumbs layout from Kinesis, that feature alone has saved me years of strain, id wager. The shape took a bit of time to get used to but I was back at my average wpm speeds in a couple of weeks. Not as much of a learning curve as Ergodox with its layers but the curve and ortholinear layout take a bit of adapting to, though that's true of the Ergodox too.

I kind of wish split keyboards were standard, instead of the default mode being all squeezed into the same 38cm wide form factor. The MS Natural keyboard was a step in that direction, split keyboard with a JUMBO space bar, but I wouldn't nominate it for the new standard..

While the kinesis doesn't have layers like Ergodox, it does have macros and you can remap keys via the hardware of the keyboard itself. I've been using an Ergodox for a few years now and got used to the layers but found the switches needed replacing a lot sooner (maybe I should have gone with a different set) and found the firmware update process for remapping to be annoying and tedious (even though they've gotten it down to about as few steps as is practical). Ergodox is more powerful in the abstract, though.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#62

For multiple lexies into a single identifier, I love middle dot (·), which is actually works in most modern languages out of the box. Example `some·variable`. Try it in your favorite languages and let me now how it goes. For elements that have to bee ditched in a destructuring operation, like `target, _ = some·generator()`, it’s possible to use a word that explicit this discard. One short one term for that is "lee",…

This is the most HN comment ever.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#64
post #4

You can remap keys on any keyboard layout, no need to get a Japanese keyboard. Many years ago, I was working in a German lab and their keyboard layout is really impractical for programming in C-like languages because all commonly used symbols are really awkward to type. I wasn't well-versed in XFree86 then (or today for that matter) but I remember I could solve the problem by simply changing they map that Emacs uses…

> You can remap keys on any keyboard layout

"Yeah but" now you're mucking around with software. It's not simply plug-and-play.

From its first paragraph, this 2012 article acknowledges that it was sparked by a HN discussion¹ about another article² and that the HN discussion already covered the remapping solutions you are again proposing 12 years later.

This article offers the Japanese keyboard idea as an alternative to remapping.

---

1. https://news.ycombinator.com/item?id=3976669

2. https://avdi.codes/underscores-are-stupid/

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#65

For multiple lexies into a single identifier, I love middle dot (·), which is actually works in most modern languages out of the box. Example `some·variable`. Try it in your favorite languages and let me now how it goes. For elements that have to bee ditched in a destructuring operation, like `target, _ = some·generator()`, it’s possible to use a word that explicit this discard. One short one term for that is "lee",…

In Clojure '-' is not a special symbol, so it's used as a word separator in function names, like 'get-in'. That's possible because '-' is not an operator, but is a function with a 1-symbol name.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#66

Earlier quoted context omitted.

Especially on keyboards with blank keycaps. :)

Now that's a blast from the past in typing class. I remember hearing people complaining about this or rather using it as a horror story about the class. Of course by the point in the class you use these, you've passed the point of being expected to know where the keys are and it is pretty much an advanced part of the class. Not sure if that's your reference or not???

You know, it occurs to me that musical instruments have blank actuators (keys, fingerboards, valves, ...); yet that alone doesn't prevent music learners from staring at their hands while playing, and that's a habit that can persist for years or decades even.

People learning typing on computers should be encouraged to keep their eyes where their typing appears on the screen.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#67

Earlier quoted context omitted.

Now that's a blast from the past in typing class. I remember hearing people complaining about this or rather using it as a horror story about the class. Of course by the point in the class you use these, you've passed the point of being expected to know where the keys are and it is pretty much an advanced part of the class. Not sure if that's your reference or not???

A not insignificant number of keyboard enthusiasts prefer to use blank keycaps. It's often merely an aesthetic choice, but those who like to tinker with custom layouts also favor them because that lets them skip shuffling keycaps around following a layout change.

The last stage of mastery is when you drop the need to prove to the world that you don't need to shuffle keycaps by just keeping the existing ones rather than blanking them out.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#68
post #22

Earlier quoted context omitted.

One of the reasons... Back when the Internet became aware of typing injuries (RSI), folk wisdom was that one of the causes was the multiple simultaneous key presses, because of how people often contorted their hands to do it. I made various changes, and now, decades later, I can type all day and night, without discomfort (much to the chagrin of HN). (Kudos to people who limit yourself to one modifier at a time, and w…

Entirely anecdotal point here, but I learned to type in 6th grade, at a time when manual typewriters where more prevalent than computer keyboards. I've never experienced RSI. My hands only get tired after about 10 hours of work and after a full night of sleep they're entirely fine. Probably the same reason I love keyboards with "cherry blue" type switches in them.

I wonder how much of this is the formal techniques like opposite-shift use and good hand/wrist posture, vs how much was from muscle tone developed from having to really push on a manual key set. Even the automatics had a bit of give to them compared to the typical computer keyboard, and now we have nearly as many keyboards on screen displays as there are physical keyboards (I'm estimating), where you may not even have a haptic vibration response on key down.

This isn't a "get off my mechanical keys" rant, this is a "should we be making exercise typewriters?" plea.

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#69
post #4

You can remap keys on any keyboard layout, no need to get a Japanese keyboard. Many years ago, I was working in a German lab and their keyboard layout is really impractical for programming in C-like languages because all commonly used symbols are really awkward to type. I wasn't well-versed in XFree86 then (or today for that matter) but I remember I could solve the problem by simply changing they map that Emacs uses…

The German keyboard layout is honestly mindblowing bad for programming

[deleted]

Re: Underscores are stupid? Get a Japanese keyboard (2012)

#70
post #65

For multiple lexies into a single identifier, I love middle dot (·), which is actually works in most modern languages out of the box. Example `some·variable`. Try it in your favorite languages and let me now how it goes. For elements that have to bee ditched in a destructuring operation, like `target, _ = some·generator()`, it’s possible to use a word that explicit this discard. One short one term for that is "lee",…

In Clojure '-' is not a special symbol, so it's used as a word separator in function names, like 'get-in'. That's possible because '-' is not an operator, but is a function with a 1-symbol name.

Also Raku, the Perl spin-off, is allowing this.

Clojure I guess is taking that from its LISP legacy, where it’s not an issue as you don’t have infix notation.

Raku on the other hand, took the decision on the road starting from Perl. If I recall correctly, Raku does let you use infixed dashes as minus into agglutinated numeric literals and operators sequences, like `2-5-7`, but your need spaces to use it as a substraction operator when an identifier is involved like `bare-price - gift-voucher`.

That said I never used Raku nor Clojure (or any Lisp), there is just no job opportunity that ever reached me with these kind of non-mainstream programming language.

Post reply on HN