You'll only receive email when Ivan S. publishes a new post

Musings on Small Talk

This is a dense post with some shower thoughts on human communication. The brevity is by design. I offer this as a gift for you to enjoy and unpack.

Human capacity for speech is arguably one of the key traits that defines the divide between animal and person. This extraordinary mechanism enables one individual to form a thought, encode it and transmit it using acoustic waves into the mind of another being. Think about it for a second - how incredible is this?

There are multiple levels of translation happening, and it's a true miracle that communication is as accurate as it is. Thoughts are abstract in the mind, with no words tied to them. A person has to take those thoughts, observe them in order to collapse the probability space into a single intent, and then decide how to best encode that intent into words. This is the first potential failure point that might make the communication muddy. They must then emit those words in a clear manner to the recipient, which is a second point of failure. Imagine a static phone line, and remember how much trouble that can cause. Finally, the conversational partner must take those sounds and encode them back to concepts that the brain can comprehend. This provides yet another opportunity for misunderstanding, arguably the most frequent one.

Given this incredibly complex protocol, a new perspective emerges on "small talk". Many people profess a deep hate of small talk, viewing it as a meaningless waste of time, posturing, or vapidness. When taking into account the considerations presented above, arguably a new picture can be seen.

Small talk itself is meaningless, but rather than disregarding it outright, one has to look at the fundamental change it effects. The content of the conversation is immaterial, but the initial time taken for it can be viewed as a negotiation protocol on communication. The two parties express their mutual interest - or lack thereof. There is a convergence on linguistic cadence, vocabulary choice, and a mirroring of body posture. Once the foundation is in place and the two parties feel a resonance, the future conversation has a deeper impact because the thoughts can more easily be transmitted from one mind to another. If the people dive straight into a complex topic, it's possible that the extra energy required to form this synchronicity during the topic of importance will take way resouces available for the actual comprehension of the topic.

What is an Ergodox?

An Ergodox is a custom mechanical keyboard that focuses on ergonomics first and foremost. It's completely open source, with the 3D schematics and software all available for free.

It's possible to build your own if you wish, or you can buy the pre-assembled Ergodox EZ. The hardware includes mounting points for a tilt kit, allowing you to move the halves as far apart as you need to and set them up at any angle. This is a huge boon for comfort and ergonomics, since it's possible to set up the keyboard to follow the natural curve of the arm and wrist, rather than having to bring hands close in front of you as if handcuffed.

The keyboard runs custom firmware called QMK, which allows one to completely customize the behavior of the keyboard. At first, this may seem like overkill. However, imagine that you can completely move any key, and add custom behavior. Notable features include:

  • Ability to map any physical key to any virtual letter, number, or symbol. 1
  • Move common coding symbols on the home row. Parenthesis should not require you to reach the far corner of the keyboard
  • Make Ctrl+Shift+{$KEY} into a single physical key, to avoid awkward chording of your hand
  • Set up combos where "J + K = Esc", or anything else you desire.
  • Multiple layers. Why have your symbols on the top row, when you can simply switch to a different layer and have the parenthesis and brackets right on the home row?

These are but simple examples, but I hope it's clear that the possibilities are truly endless. There will be links to Googler's layouts later on in this guide for more inspiration. In short, this is a wildly versatile keyboard with endless possibilities for both physical and virtual positioning.

Tools

Most people start off using the Ergodox EZ online configurator. There's also a QMK version that's a bit more generalized for all keyboards.

As your layout gets more complex, you may want to add it to VCS. You can fork the QMK firmware on github and add your layout directly, add it as a submodule, or make a custom repo like this one and have a helper script that will automatically link the files into the proper locations. If compiling locally, install the teensy CLI to flash the firmware.

Tips

Positioning:

  • When you first get the keyboard, try to break your preconceptions of where it should be located. Follow the curve of your hand and try to keep your wrist straight
  • It's a split keyboard for a reason - try it out at shoulder width and see how you like it.
  • Play with the tilt, to allow your hands to be naturally resting without shoulder strain
  • Be sure to only use the wrist pads to rest your hands in between typing, not while typing. Prolonged pressure on the bottom of the wrist can cause RSI issues.

Layouts:

  • Try to minimize hand and finger movement
  • If you find yourself doing complex chords, turn them into macros or custom keycodes.
  • Be sure to use layers, rathern than contorting your hands into far corners.

Portability

Advanced Tips

  • You can use hid_listen to emit custom strings to a special receiver on your machine. This can open the possibility of using a single keypress as a macro that then triggers a custom shell script on your machine. Can be useful for opening webpages or performing repetitive tasks
  • LED's don't have to just be for Shift and Caps Lock. You can override the behaviour to show custom patterns and colors based on your needs.

Introduction to Mechanical Keyboards

How are mechanical keyboards different from "regular" keyboards?

Most people simply use whatever keyboard is provided at work, or some cheap best seller from Amazon. These keyboards use
rubber dome technology, where there's a special rubber layer under the keycaps (the small squares with letters) and when pressed all the way down the rubber contacts close the circuit and send a keypress. Generally, it's impossible to move around keys, and also impossible to change the value of any key. The feeling of these keyboards is slightly mushy, and genrally they are fairly quiet. They are also hard to modify.

Mechanical keyboards are a completely different story. Every single component is customizeable. At first, this may seem daunting, but ultimately this allows you to create a keyboard uniquely tailored to your style and preferences.

Switches

Let's start with the most variable option out there: key switches. A mechanical keyboard fundamentally works differently from a rubber dome
keyboard. Rather than having one giant rubber layer, a mechanical keyboard is composed of individual keyswitches. A keyswitch looks like this:

As you can see, there is a colored stem and then the main body. Inside of it, there is a spring with a little metal contact that closes the connection when the key is pressed.

There are many different types of switches. This page shows some animated diagrams with differences. The key takeway is that there are options on how "clicky" you want the switch and how "heavy". The most common switch is a "Cherry Brown", which is moderately clicky and has a medium spring resistance. For purposes of brevity, we won't go into more detail. Please google around for Cherry Blue, Cherry Red, and Cherry Black for other common choices.

Keycaps

This is the really fun part - no one knows what switches you have until you start typing, but EVERYONE will get a chance to enjoy your keycaps. These come in all sorts of shapes, sizes, materials, and colors.

You can see some more examples at the following sites:

People go really wild with these and truly express their creativity and identity. You can see some popular community choices at r/mechanicalkeyboards.

Form Factors and Cases

Please see the following links for some great guides on this topic:

Links

You can find more information about terminology and background at the following links: