I’m Ben, known across the interwebs by my DJ name, @phatblat. I’m an audiophile, developer, and emoji overuser. I’m a bit of an entrepreneur and long ago started my own web design company, ran a record store for a few years, organized events, and eventually quit a development job in e-commerce to start building iPhone apps with my brother-in-law. That was at the start of the iOS App Store and only lasted nine months or so, but catapulted my career in mobile app development.
Nowadays, I architect and build mobile apps for both iOS and Android for Kaiser Permanente. I also manage a suite of inner-source libraries used by both public and enterprise apps across the organization. I lead a team of 10 developers and spend most of my work hours on planning meetings, architecture, library releases, writing user stories, and PR review.
On my own time I do a lot of open source on lots of small projects, but also am a core contributor on some larger projects, such as mas (a command-line interface for the Mac App Store), Quick, Nimble, and Objective-Git. I used to travel (back when that was a thing) to developer conferences and meetups, especially in the summer. I even got a ticket to Google I/O this year before it was cancelled. Now, I attend even more events virtually from my office and will be presenting two talks at the 360|iDev conference this year.
I get away from the computer every now and then to garden, spin some vinyl, and also make music and play Minecraft and VR games with my son.
The backbone for my workstation is a Gladiator hardwood workbench, which I use mostly as a standing desk, but roll up a tall drafting stool when my legs get tired. A few wire tray desk organizers are mounted along the back to wrangle the mess of cables and a string of PowerCubes providing the juice. Nothing is better than Nightize Gear Ties for cable management! A 900W CyberPower 1500 UPS ensures I don’t lose any data if the blender in our kitchen trips the GFCI outlet on the same circuit as my office.
I work on an iMac Pro equipped with 128GB RAM, Vega 64 graphics, and VESA mount adapter. Its 27-inch 5K display is surrounded by two 27-inch Dell Ultra HD 4K P2715Qs and a 32-inch Apple Pro Display XDR, which surprisingly works at 6K resolution despite not being officially supported on this Mac. I rarely run it at that resolution, though, because I can’t read text that small. Each of the four displays are mounted on separate VIVO Extra Tall monitor stands, which are clamped to the workbench. Suspended heavy displays can wobble a lot when I dance to music or lean on the desk. The heavy workbench, extra display mounts, and some zip ties help to minimize the wobble.
I use a CalDigit TS3 Plus Thunderbolt Dock to connect most of my peripherals. Front and center is an ErgoDox EZ Glow with tilt/tent kit and wrist wrests. Between the two halves is a space gray Apple Magic Trackpad, which I use with both hands. I’ve been a lot more ambidextrous since I had carpal tunnel surgery on my right wrist. The trackpad sits atop the transmitter box for a Steelseries Arctis Pro Wireless gaming headset, which I use for videoconferencing. Behind the input devices is a Topping DX7s preamp, which drives a pair of KRK RP5 G2 Rokit powered studio monitors when I can be loud, or my Pioneer HDJ-2000 Pro DJ headphones when I need to be quiet. On top of the preamp is a FluidStance Slope whiteboard and steel shelf, which works great to stick a magnetic parts tray to.
Under the desk are two OWC RAID arrays: a ThunderBay 4 mini with 4TB of SSDs for music, photo, and video libraries and its bigger brother, the ThunderBay 4 with 24TB of spinning disks, backs up all the Macs in the house. There’s a organized web of cables coming up from an Anker AH241 14-port USB hub hiding under the workbench, which connects an array of mobile test devices and keeps them charged.
I have an array of task lights around my desk and an RGB LED strip underneath for mood lighting, but my favorite is the the BenQ ScreenBar Plus with Desktop Dial. It sits out of the way on top of the top display, but the controller dial is easy to reach for toggling the light, adjusting brightness and tone.
My most important hardware is a pair of prescription special-edition Gunnar Game Grumps Enigmas with amber lenses. They look good, reduce eye strain, and help me to actually see.
The essential apps I use regardless of what I’m doing are 1Password, Things for work and honey-dos, Later for bookmarking to Pinboard, iStat Menus for watching system resource usage, Display Menu for quickly toggling to a sharable screen resolution, Deliveries (should I open the front door today?), Fantastical, Moom for window management, and Brave (with Dark Reader extension). AirMail is a life-saver, keeping me on top of several email accounts across devices. I try to journal regularly in Day One.
To show my team I’m still alive, I use ManyCam’s Chroma Key feature with a green screen as a virtual camera source. Snap Camera comes out to play for virtual happy hours. When I’m not on a video call, I’m always listening to music streamed from dnbradio and am currently beta testing Mimir, a phenomenal upcoming podcast app for macOS that a friend is developing.
As a developer, I spend a lot of time on the command line, so I always have iTerm open running build commands, connecting to servers or running one of the hundreds of functions I’ve created for Fish Shell. I spend more time in Xcode than Android Studio and use VS Code for everything in between. Tower is for git operations more complicated than are comfortable in the terminal, and Kaleidoscope saves the day when merge conflicts get hairy.
I use a few other professional apps, such as Logoist for simple graphics when a designer isn’t free to prevent me from making a disaster. Final Cut Pro X helps me clean up video from meetups, and I make silly beats in Ableton Live, but mostly try to keep up with my son, who is much better than I am at making music.
I have a black ErgoDox EZ Glow with tilt/tent kit. After waffling between a few different switch types, I’ve finally settled on Blue Zilents V2 switches, which are heavy (78g) and very quiet, especially after being lubed. I also put some rubber O-rings on the stems to further dampen the clacking-clack. To help with tactile memory of my very custom phatdox keymap, I have a variety of keycaps: some novelty R4 caps that are just fun and stick up higher than others, bumpy rubber keys for my home row, and bright orange arrow keys. The peak of tactility resides with custom keycaps. I have a Deadhead on Escape and a purple Specter on my emoji key (^+⌘+SPACE on macOS).
I have several macros set up for things I do a lot, like my “Location” macro for:
Macros are also handy for putting a nice name on a simple key binding, such as Back, Forward, Reload, Undo, Cut, Copy, and Paste. I’ve simplified a lot of reaching issues by using Space Cadet Shift and moving brackets and minus/equals to keys in the center. Having special keys spread out helps take some load off my right pinky.
I got a Planck EZ with Altitude Keycaps since I hate using the butterfly keyboard of the last MacBook Pro generation. I use Karabiner-Elements to disable the built-in keyboard as soon as it is connected so that I can set the Planck right on top without triggering any keys.
Not having a 5th row for numbers was a big adjustment on the compact Planck, but I’ve mapped my phatkeys to most closely follow a typical layout, but moved numbers to the lower layer and symbols to the upper. I use a fourth “adjust” layer for tweaking RGB, keyboard delays, and sound. Surprisingly, figuring out where to put the Enter key was one of the hardest decisions on this compact keyboard. I tried several positions along the right edge before returning to the default Plank EZ layout location. However, I put a spare rubber bumpy key cap on it so that I can tell without looking when my finger is on Enter.
I’ve been working on this setup for many years, and it has been getting closer to my ideal with each iteration. The VESA display mounts are really the best part because they lift the displays up off the desk and allow for any angle and easy rotation. I considered getting an ultra-wide display but I really like having multiple displays, as I can have chat windows and iTerm always visible on a couple of them, while one is clean for presenting app demos or slides at lower resolutions. The four displays that I have now are much more compact than they used to be so that I don’t have to turn my head as much (reducing neck strain). This was made better by rotating the side displays to landscape, which fit a tall iOS simulator really well.
That said, I’m pretty much maxing out the amount of peripherals and data that this iMac Pro can handle (it’s not supposed to be able to run an Apple Pro Display XDR). One thing I really wish is that the iMac Pro display could rotate. It’s easy to rotate on the VESA display mount arm, but the macOS software doesn’t support rotation on an iMac.
I think my next major upgrade will be to a Mac Pro with a lot of my existing peripherals, but perhaps a second Apple Pro Display XDR—it’s simply gorgeous. I’d also like to get a studio subwoofer, as only my DJ headphones can produce the sub-bass that drum ‘n’ bass is so famous for.