Keyboards for coders

Although coding is more of an exercise in thinking than in typing, improved typing can be great.

Mechanical Keyboard Switches

Mechanical keyboards are keyboards that have mechanical keyboard switches. Keyboard switches are the springy part below the keyboard keys. Some keyboard switches are linear and some tactile.

If they are tactile, you don’t need to press the keys to the end. It feels like you are caressing the keys.

Why? Because it’s easier to type faster without looking at the keyboard.

Warning: I’ve used clicky keyboards in the past. They sound great, but personally I get tired of the noise after some hours.

Keyboard sizes

There are several keyboard sizes. The most widely known are:

  • Full-size keyboard (100%)
  • TenkeyLess keyboards, has no numpad (80%)
  • Compact keyboards (60%)

You can see 80% (Corsair K63) and 100% (Das keyboard ultimate, MX blue switches) keyboards in the image below.

An 80% and a 100% (TLK) keyboards

I’ve recently changed to an 80% keyboard (top keyboard). A smaller keyboard means that the distance between going from the mouse to the keyboard is shorter. It’s also more ergonomic.

The biggest issue with the 80% size is that I lose the enter key on the numpad. I solved it by mapping my caps lock key to the enter key. The enter on the caps lock key seems great even on 100% keyboards. Some people prefer to map the ESC to the caps lock.

Keyboard layouts and compatibility

You may start looking for a keyboard and get stuck on the layout. I’m using a Swiss layout and online stores with this layout are rare.

There’s an alternative. You can buy the keycap set. Basically, you buy the little caps to put on the switches. You should be aware of the following:

  • What is your keyboard size
  • Is your layout ISO or ANSI? On the ISO keyboards, the Enter looks like an inverted fat L.

You can make a custom keycap set. Try it here: maxkeyboard

If you want to have more available options, just go with the “US” layout, it should be the most common.

Bonus Control

There’s a technique I’ve been using for a long time. You can use the palm of your hand to press the Control key like seen in the image below.

Pressing Control key with hand side

Conclusion

If you spend a lot of time typing, you should consider getting a better keyboard.

It feels like when you start using eyeglasses. You only notice how bad it was before, when you change to something better.

If Harry Potter was written by software developers

Jane: Scenes added regarding Voldemort. Can someone review?

Scene 1: ““Voldemort?” said Harry. Dobby clapped his hands over his bat ears and moaned, “Ah, speak not the name, sir! Speak not the name!””

Scene 2: “But mostly, sir, life has improved for my kind since you triumphed over He-Who-Must-Not-Be-Named. Harry Potter survived, and the Dark Lord’s power was broken”

Scene 3: “How did you escape with nothing but a scar, while Lord Voldemort’s powers were destroyed?”

Tod: Jane, this looks bad. Use the DRY principle. Please check this 600 page book.

Jane: Fixed.

Scene 1: getVillainName(“notafraid”)? said Harry. Dobby clapped his hands over his bat ears and moaned, “Ah, speak not the name, sir! Speak not the name!”

Scene 2: “But mostly, sir, life has improved for my kind since you triumphed over getVillainName(“afraid”). Harry Potter survived, and the Dark Lord’s power was broken”

Scene 3: How did you escape with nothing but a scar, while Lord getVillainName(“notafraid”)‘s powers were destroyed?”

Tod: Jane, this is better, but there’s still duplication. And the “Lord” is part of the name.

Jane: Fixed.

Scene 1: getVillainName(“notafraid”)? said Harry. Dobby clapped his hands over his bat ears and moaned, “Ah, speak not the name, sir! Speak not the name!”

Scene 2: But mostly, sir, life has improved for my kind since you triumphed over getVillainName(“afraid”). Harry Potter survived, and the getVillainName(“dark”, “lord”)‘s power was broken

Scene 3: How did you escape with nothing but a scar, while getVillainName(“notafraid”, “lord”)‘s powers were destroyed?”

Tod: It’s okay, but I’ve seen better. You can add the scenes to the book.

1 month later Jane comments on a ticket: We need to add this part and I’m not sure how to do it:

“He pulled Harry’s wand from his pocket and began to trace it through the air, writing three shimmering words:

TOM MARVOLO RIDDLE

Then he waved the wand once, and the letters of his name rearranged themselves:

I AM LORD VOLDEMORT”

Tod comments on the ticket: Do we really need this feature? Let’s put it on the backlog for now.

Dear language zoo

I wrote to the zoo to send me a language.

They sent me a… Java language. It was too bloated. I sent it back.

So they sent me a… Python language. It was too versiony. I sent it back.

So they sent me a… Powershell language.

It was too ugly. I sent it back. So they sent me a… Go language.

It was just perfect! So I kept it.

But the the bad sysadmin did not let me install it.

Notes:

  • Based on a real story.
  • Feel free to replace Powershell by your favorite scripting language.

The failed cooking app that made millions

Some months ago I had to research Elastic Search. Its a search engine but to put inside apps. Sort of.

During my research I found the origin of the product:

At the time, I was a newlywed that just moved to London to support my wife with her dream of becoming a chef. I was unemployed, and desperately in need of a job, so I decided to play around with “new age” technologies in order to get my skills more up­to­date. Playing around with new technologies only works when you are actually trying to build something, so I decided to build an app that my wife could use to capture all the cooking knowledge she was gathering during her chef lessons.

I picked many different technologies for this cooking app, but at the core of it, in my mind, was a single search box where the cooking knowledge experience would start a single box where typing a concept, a thought, or an ingredient would start the path towards exploring what was possible.

I got completely hooked with the project, and was working on it more than the cooking app itself, up to a point where it was taking most of my time.

Oh, and btw, my wife is still waiting for that cooking app.

source

Not bad for a company making $70 million in annual revenue growing 70% year over year.