I’m Alex Hall, and currently, I work as the CTO at FableLabs. We created the Tales app, an online platform of high-quality interactive fiction created and illustrated by authors and artists from around the world. Prior to working here, I attended graduate school at the University of California - Berkeley where I studied Machine Learning, Graphics, and Human-Computer Interaction; my graduate work focused on using computer vision techniques to analyze the visual style of narrative films to answer questions such as “What visual techniques tie Akira Kurosawa’s films to American Western’s?“. My research led to collaborations with Microsoft Research and Netflix. I arrived late to the field of computer science, having spent the early part of my life studying and working as a stage actor with an emphasis on Shakespearean and Classical Greek texts.
My primary workstation is a desktop with dual monitors, an ErgoDox EZ keyboard (with clear key switches), and an Evoluent vertical mouse mounted on a sit/stand desk. A few years ago, I suffered from severely impinged nerves throughout my right arm that caused so much pain that I was unable to work at a keyboard or even hold a can for more than a few seconds. As part of my recovery, I was told to switch to a split keyboard and vertical mouse so that my shoulders and wrists could remain more neutral while I work. At home, I have a similar dual monitor setup with another ErgoDox EZ (this one with blue switches — my favorite) and Evoluent mouse. At home, I also have the luxury of a Steelcase Gesture chair and an UpLift desk.
I use Unity3D, Visual Studio, Firefox, Discord, and Sublime Text for the majority of tasks at work. At home, I use emacs for just about everything except web browsing, media production, and gaming. The ErgoDox EZ is especially helpful for using emacs; hotkeys and chords are a breeze.
First, I should note that I use the Colemak layout instead of QWERTY. That is probably my biggest departure from regular keyboard use, and I used that even when I was using a traditional keyboard. Since getting my ErgoDox EZ, I’ve made extensive use of the dual-key functionality. I’ve mapped my modifiers (e.g. Shift, Alt, Ctrl) to the home-row keys. When I press the keys quickly, I get the letter; when I hold them, I get the modifier. It means much less hand movement, and I can manage all of the emacs hotkey combinations with ease. The only downside to this is that if I get to typing too fast (>120wpm), I sometimes get two letters instead of a capitalized letter. I make tweaks to my layout from time to time in hopes of improving it further. My current keyboard layout can be found here in the graphical configurator. You can see here that my thumb clusters have dual functionality; however, I find that I favor the home-row modifiers. I plan to remove the dual functionality from the thumb cluster next time I update my layout.
These days, I’m pretty close to my dream setup. Some of it was quite expensive, but I had reached a point with my RSI that I could either eat the one-time cost of ergonomic equipment or I could choose a different career. The two upgrades I’m eyeing at the moment are moving from my two 1080p monitors to three 4K monitors. I keep a bunch of windows open while I work and would benefit from the additional screen real estate. I would also like a bigger SSD to fit more games! I’ve considered foot-pedals for modifier keys and also a small keyboard to fit between the two ErgoDox EZ sections for custom hotkeys. I tried doing that with a tenkeyless, but that is a bit too wide to fit between both halves of my board.