MacBook Pro (15 inch, Mid-2014). 16GB RAM, 500GB SSD. Trying to eke out as much life from this machine as possible. Not impressed with the latest MacBooks and their lack of function keys and ports. I have a Mac because it’s based on Unix and it allows me to develop for the widest array of platforms (iOS, Android, Mac, Windows, FOSS). I also prefer Mac OS because it has Emacs keyboard shortcuts built into Cocoa text fields and is further quite extensible, keyboard-wise.
My greatest love is Emacs. Early in my career I knew I needed to become proficient with a powerful editor and I wanted one that was cross platform. This was the mid-90s so the only choices that met these criteria were Vi and Emacs. I spent time with both and found that Emacs was a better fit. I didn’t care for the mental bookkeeping required to keep track of which mode I was in with Vi. I also quite enjoy programming in the functional paradigm and Lisp in particular and Emacs with ParEdit mode is like coding nirvana. Sadly, I don’t have much opportunity to do a lot of Lisp professionally, but I like it for side projects. Also Magit — an Emacs-based git “porcelain” is what I use for all my git interactions. It is one of the finest pieces of software I’ve ever had the pleasure to use. Other software includes the usual suspects: Xcode, Android Studio, Visual Studio & VS Code, Postman, LINQPad. I run Parallels to do Windows development. I use 2do and Evernote for my productivity apps. Lightroom and Photoshop occasionally to assist my fiancee who is a photographer. I use Logic Pro for my DAW when I record and edit music.
I have the black ErgoDox EZ with the Cherry MX Brown switches. No fancy lights, sadly. I started with the blank keycaps. I ended up ordering a set of cheap numeric keycaps since I have to look at the keyboard for the numbers. I set up a numpad in my second layer but haven’t taken the time to get proficient with it yet. I’ve thought about getting some various fun keycaps too. I like the sleek black look though. Kind of torn. I use the Dvorak keyboard layout (Initially chosen because it was ostensibly faster. Research hasn’t shown that to be true after all, but it is arguably better for preventing RSI).
One of my best friends has used a Kinesis keyboard for decades and I was always jealous. But I couldn’t justify the expense. I just typed right on my MacBook happily for many years. About a year ago I started experiencing pain on the outside of my left wrist. I have the caps lock key mapped to Ctrl and use it a LOT (Hi, Emacs). I ended up developing “Emacs pinky” and it became more and more painful to type. I suffered through it for a few months, got wrist supports, etc. until it progressed to the point where I became worried that I wouldn’t be able to type at all. I did some research on ergonomic keyboards and settled on the ErgoDox EZ. While I would have loved to have built my own, I felt like I didn’t have a lot of time until I was in real trouble. I am super pleased with the ErgoDox EZ. Really well made. Great customer support when I had a faulty switch. The configurator is a treat to use. This device is clearly a labor of love.
My primary objective in setting up my ErgoDox’s layout was to avoid having to use my pinky any more than was absolutely necessary. To that end, I created a layout where my modifier keys are all long holds under my home row index, middle and ring fingers. Alt, Ctrl, and Shift. Command is under each of my thumbs. This took some getting used to and I still occasionally stumble. But it has improved my wrist pain to the point where I rarely ever feel it at all. I cannot tell you how grateful I am for this.
Amusing aside: I originally set my ErgoDox up with a Dvorak layout thinking it was so cool that I could bake Dvorak right into my keyboard. I found myself frustrated, however, with having to switch back and forth when I had to type directly on my laptop. So back to QWERTY it was. And I just have the Dvorak layout selected in the system settings on the laptop itself. Figuring out the mappings of the various punctuation, etc. was no small feat. This is the final layout I’ve settled on and been using for quite a while now:
My Layout (keep in mind that the punctuation you see in that layout is not actually what ends up on the screen because of the QWERTY->Dvorak translation).
I feel like I pretty much have my dream setup. The only improvement I can think of is a wireless ErgoDox. I usually work for several hours in the evening and even though I got a nice carrying case for my ErgoDox, I usually still leave it at work and type directly on the laptop at home. Wireless would be nice because it’d be grab and go. I could also use several nice high-DPI monitors! I have a mishmash of old monitors.