The people who use our boards.
335 interviews since 2018
The people who use our boards.
Michael Ridley
AI Engineer & Tech CEOWho are you, and what do you do? What do you like to do outside of work?
I’m Michael, a software developer who ended up as a tech CEO. While working as a head of AI/ML and teaching postgraduate students about machine learning, I got pulled into the business world through a series of “I guess it’s useless, but so cool” projects. My favorite was a project my wife and I created together: a natural language processing system that reads the internet in real time, organizing millions of daily mentions into a searchable knowledge graph of over 1.5 billion interconnected facts—imagine Google, but with structured queries for understanding how events, people, and places connect and unfold over time.
I co-founded a software company to develop distributed systems (well, it’s corporate blockchains), computer vision, and natural language processing solutions. I guess investors would have been confused by a pitch of “we basically build anything complex enough to be interesting,” so we grew organically to a team of 50 people. This led to some fascinating projects, like handling the technological side of ecological monitoring in the Arctic, including a computer vision system for identifying and tracking individually distinctive animals like whales.
For the past few years, I’ve been living a nomadic lifestyle moving across countries with my family, including my two kids, who were just toddlers when we started. Central Asia, Armenia, Georgia, Greece, Turkey, and even UAE and Qatar—this journey taught me more about communication, culture, and product design than my entire education. When you live in different countries, you quickly learn the ways and eliminate lots of cultural assumptions. Of course, every piece of equipment needs to justify its space in limited luggage, which has shaped my personal workspace decisions.
What hardware do you use?
My workplace evolved in three key steps, each with its own distinctive flavor of tech.
The first setup was essentially an Apple orchard, although I hesitated giving up Android phones. The core was MacBook Pro 13 (Intel i7 and T2 chip, 32 GB RAM, 1 TB SSD) paired with an MSI Prestige PS341WU 5K ultrawide monitor. Also, I had a supplementary MacBook and a 12.9” iPad Pro with a Magic Keyboard for iPad case.
Sometimes I had to turn my desk into a paper kingdom to go through stacks of research materials or documents awaiting signatures. Plus, I frequently interviewed potential teammates in my office space. This shaped my desire to keep a pristine desk where devices could vanish in seconds. Relocating with my laptop to partners or contractors also required seamless detaching. That’s why I pursued an all-wireless setup: just an Apple Magic Trackpad, Magic Keyboard, Harman Kardon Aura Studio speaker, and non-Pro AirPods Gen 3, which I still prefer over the Pro models and other headphones for calls.
Ultrawide was a must-have for working with spreadsheets: cash flow forecasting, resource allocation matrices, multi-entity budget consolidation, project-specific cost attribution and tax planning, and other C-suite financial “artistry.” Side-by-side comparisons are also streamlined with wide monitors.
The second workplace was at the apartment’s balcony when I lived in Kyrgyzstan for a year. It was not intended for visits, so it started to drift in a geekier and more personal direction. I used the Dell U3417W—an ultrawide curved 34-inch monitor running at 3440x1440. Like many laptop users, I preferred low-profile keys and was looking for a chance to get a portable 75% wireless keyboard. I landed on a Keychron K3 Ultra-slim with red low-profile Gateron switches, accompanied by a Razer Overwatch Deathadder Elite mouse.
Soon, I finally gave up on wireless. It wasn’t just about checked luggage restrictions (lithium batteries must go in carry-on)—my hand-carried bags were already cramped with an iPad and two MacBooks. Just throwing a keyboard in a backpack is a sure way to damage it, so I had to carry the Keychron in its original bag. To top it off, often I had to take it out at security checkpoints just like a laptop.
One of the best things about programmable keyboards is how they encapsulate customization—plug into any machine and you get the same experience (sans language layout support). Back then, I found split keyboards intriguing, but impractical for mobile use. I couldn’t let my setup “overfit” to a specific place at the cost of its “generalization ability.” When ZSA Voyager hit the market, it checked all my boxes: no battery, wired, QMK-compatible with easy flashing, portable, and even included a soft travel case. It gave me that “resistance is futile, just buy it already” feeling.
So, the second workspace evolved with an addition of a ZSA Voyager. My geeky drift came to a logical conclusion when I ordered a ThinkPad T14s Gen 4 AMD (Ryzen 7 PRO 7840U, 32 GB RAM, 1 TB SSD, low-power matte 14” screen). By the way, its fingerprint sensor works flawlessly on Linux systems with fprint.
My current workspace is at home and it’s not transient, so I finally let myself get a standing desk and a minimal homelab setup. The core is a ThinkPad T14s in clamshell mode. When I need macOS software, I put my MacBook in a soft case on top of it and just switch cables to it.
For a monitor, I finally did an actual analysis instead of just grabbing the biggest ultrawide in a $2,000 budget. Considering PPD/PPI, angular resolution, viewing distance, and software scaling issues, I found out that 27” WQHD should be optimal. Acer Nitro XV271U was the cheapest match, and—surprise—it perfectly fit my needs. I run it at 144 Hz 2560x1440 with 125% scaling. Aside from AirPods, which I prefer for calls, I also have wireless JBL Tune and wired Koss Porta Pro on-ear headphones.
The mouse is a Razer DeathAdder, and the keyboard is ZSA Voyager—which proved great for stationary use too. Here’s a fun story: My toddler daughter loves to secretly and forcefully extract all keycaps with her bare hands. With a regular keyboard, this would be a disaster, but with Voyager I just pop the keycaps back where they belong. Once she managed to pull out and break both a switch and its keycap—that’s why there’s a blank keycap in place of “B” in the photo. Thankfully, Voyager ships with switch samples and a set of alternative keycaps (including blank ones), so I could replace both damaged parts.
Behind the TV sits the first seed of my homelab—a Beelink SER8 Mini PC (Ryzen 7 8845HS, 64 GB RAM, 1 TB + 2 TB SSD) running Proxmox.
And what software?
My first setup was macOS-driven, with Linux or BSD systems on remote machines. This choice was driven by necessity—some organizations I worked with had strict documentation standards that demanded perfect Microsoft Office compatibility.
During my second workspace setup, the scaling on Dell U3417W monitor became the final straw in my macOS fatigue, as it was impossible to achieve ideal scaling for both screens. To enliven my experience, I installed Arch Linux alongside macOS on my MacBook Pro. Arch felt transparent and customizable—you understand exactly what happens, why, and how to modify it. I wanted to explore capabilities of modern desktop Linux and implemented a minimal desktop environment based on Sway tiling window manager.
The next chapter began with a ThinkPad T14s running Void Linux and dwm window manager. I loved dwm’s approach: thorough keybinding ideas, dedicated workspaces for different tasks, combining workspaces on a single screen, and completely mouse-free workflow. I invested time to smooth some rough edges like forking slstatus to add PulseAudio and PipeWire support (it used OSS/ALSA mixer files, so I just implemented PulseAudio C API). However, it was frustrating to use IntelliJ and apps that rely on spawning many pop-ups and floating windows. It can be customized, but to retain work productivity, I just switched to KDE Plasma 6 (without KDE apps). Unlike Plasma 5, the new version impressed me with its polish. It even used less power than dwm, likely due to its Wayland-first implementation.
I’ve recreated essential parts of my dwm workflow in Plasma 6. as it offers virtual desktops, activities, arbitrary key bindings, basic built-in tiling, and JS scripting. If desired, the new Krohnkite fork can transform it into a proper tiling window manager.
MacOS has its place in my workflow—it’s indispensable for iOS development, Xcode projects, and macOS testing. While I’ve mostly switched to Linux-friendly Krita and RawTherapee for graphics, I keep Adobe Photoshop and Illustrator for their AI capabilities. Some habits are also hard to give up: I use Photos app and Keynote remains my go-to for crafting polished presentations. For document editing, I’ve migrated to ONLYOFFICE everywhere, as I don’t have strict requirements anymore.
On all systems I also have Obsidian for notes, VS Code, Android Studio, IntelliJ IDEA and CLion, draw.io for diagramming, Figma’s app, and a bunch of communication apps like Telegram, Discord, and Zoom. Some tools stay despite their flaws—Cryptomator’s performance and UX leave much to be desired, but its cross-platform encrypted containers (Android, iOS, macOS, Linux) make it a necessary compromise. I don’t customize Safari a lot, but for Firefox on Linux I hide everything I can and rely on an aesthetic expandable vertical tab tree.
I prefer terminal apps: Navigating with zoxide + fzf + standard Linux commands is far more efficient than GUI file manager, as an example. I also couldn’t resist jumping on some fashionable “Rewrite it in Rust” replacements like bat, fd, and rigpreg, and often prefer fzf over grep for filtering logs.
My favorite “bigger” terminal apps are Lazygit, Neovim, and tmux. My Neovim config evolved into EdenVim, a distribution intended to be used a starting point in creating your own personal development environment. It’s designed to be forked and crafted into your own setup. No untouchable core parts or abstractions, just a linear explicit code that also happens to be Nix-friendly. In tmux, plugins like fingers and open reduce mouse dependency: For example, a single keybinding marks screen elements (numbers, hashes, paths, kubernetes resources) with letters, letting you copy or insert them by pressing the corresponding letter.
In current workspace, I use NixOS on a ThinkPad. It had a steep learning curve, and I even jumped back to Arch once, but then I got the feeling “Nix and NixOS is ugly, but now I feel like alternatives are even worse,” invested some time to learn Nix ecosystem, and now it’s a game changer for me. For those interested in 2024, I recommend NixOS and Flake basics as a gentle introduction.
I use Nix as a package manager on my MacBook—it manages everything from App Store applications like Xcode to Brew Cask apps (like Obsidian, Kitty, or Chrome) and CLI tools. I also use home-manager and nix-darwin to declaratively set up my system and the environment: As I rarely use macOS, it also serves as a living documentation when I forget something.
For development, I switched from language environment tools like pyenv/pipenv and npm/fnm to Nix shells with direnv. Conceptually it’s close to vscode-devcontainers or Vagrant. I get a partially encapsulated development environment for each project, with fixed dependencies up to a specific glibc version. When I do AI stuff with specific CUDA versions and mix-match of native dependencies, or target for embedded environments, it’s especially hard to beat.
Surprisingly, I’ve found a valid use-case for the controversial MacBook Touch Bar: It serves as a single-touch switcher for eight virtual desktops with wide, unmissable buttons. It’s enough for my macOS encounters, but if I needed to spend more time on macOS, I would use AeroSpace—it provides a solid i3/Sway-like experience that I find superior to alternatives like yabai and Amethyst.
What’s your keyboard setup like? Do you use a custom layout or custom keycaps?
I just use ZSA Voyager, and I believe it’s the best choice for travel-friendly programmable split keyboards. I use it at home connecting it to MacBook or ThinkPad, and I’ve also connected it to other devices like local KVM switch and an iPad—that’s a very convenient way to make your habits portable.
My keyboard layout has six layers, one being just for handling Ctrl+C/V vs Cmd+C/V on macOS for my very special secret copy-paste button. Oryx’s layout search proved crucial for adaptation, helping me discover how others solved challenges like mapping frequent Cyrillic letters ‘хз’ that live on bracket keys and are dropped out by default due to reduced 52-key layout.
And the keyboard is QMK-compatible—I’ve put up a working demo of how easy it is to generate layout files with Oryx and use them to create a custom QMK firmware, meaning there’s no vendor lock-in.
Being focused on terminal apps and mouse-free workflow, I value efficient typing and keybindings. Programmable keyboards offer an edge here. I use home-row mods to access modifier keys without stretching, and my tmux prefix key is a single keystroke. For navigation, I have a dedicated layer with things like vim’s hjkl mapped to arrow keys. For application switching, I’ve bound held digits to “Meta + Digit”, making it smooth to switch between apps. Combined with an extra modifier like Shift or Alt, I use them to switch workspaces, arrange windows across virtual desktops, and more.
While this setup is popular among developers, it’s valuable for any workflow involving multiple apps and contexts. As a CEO, I organized different workspaces for each area: product and analytics, legal and financials, HR and general communications, technical research and development. Before this setup, especially on stock macOS, switching between these contexts was a mess—imagine juggling several browser windows and Excel spreadsheets, each dedicated to different tasks.
For people who code, QWERTY puts more load on the right hand (brackets, equals, semicolon, dot, etc). While layouts like programmer’s Dvorak address this, I opted to create a separate symbol layer. In retrospect, I think it was safe to try learning Colemak or Dvorak specifically for the Voyager while keeping QWERTY for laptop keyboards—this clear separation might have been easier than relearning new QWERTY positions.
Speaking of adaptability: My son chose ZSA Voyager over a Keychron K3 for Minecraft, leading me to create a gaming layer that uses just the left half with closer key placement for his small hand. And the mouse fits perfectly in place of the right half. I even experimented with key combos for entering game commands—a way to simplify his typing needs. Though according to him, the best feature of a split keyboard is the ability to put a cup between the parts.
What would be your dream setup?
Now that my workspace is more permanent, I’m tempted to indulge in some git pull customization and even embrace a bit of “productive bloat.” My primary interest is expanding the homelab setup—it’s become an enjoyable hobby, especially as an antidote to marathon Zoom sessions. Having a safe environment to experiment with new technologies without risking production systems is also invaluable, at least that’s what I keep saying to myself.
I’m also curious about exploring more of ZSA’s lineup, particularly the Moonlander. I’m currently test-driving a Bose QuietComfort headset and the MX Ergo trackball mouse, but I doubt I’ll incorporate them into my regular workflow. Given how well my current setup serves my needs, I’m taking a measured approach to upgrades.