Hi! Tell us about who you are and what you do
Hi! I’m Mike McQuaid:
- I’m the Homebrew project leader and have maintained the project for 14 years
- I’m the CTO and cofounder of Raise.dev
- I recently left my job as a Principal Engineer at GitHub where I worked for 10 (calendar) years
- I’ve worked from home(s) for 14 years, mostly for US-based companies.
What is your hardware setup?
My daily driver is a 16” 2021 M1 Max MacBook Pro. Some sort of Apple MacBook has been my primary computer since I left Linux.
It connects with a single USB-C cable to my Dell UP2720Q 27” 4K HDR Monitor. This charges the MacBook and connects to all my USB devices: ethernet dongle (I don’t trust WiFi), Elgato FaceCam webcam, Elgato Wave:3 microphone, Logitech G403 mouse and Apple Magic Keyboard (US layout, the UK one sucks for programming Ruby). Over Bluetooth I have a Apple Magic Trackpad. I like to alternate between trackpad and mouse for different tasks.
The MacBook sits on a platform attached to a monitor arm and the other monitor arm has my UP2720Q. Underneath these sits the Wave:3 on an Elgato Mic ARM LP and the FaceCam on a Elgato Multi Mount surrounded by a Elgato Ring Light. On the back of my monitor lives a Philips Hue Light Bar to reduce the contrast between the back wall and the monitors.
My desk is a Furna Sit/Stand desk. I like the ability to jump between my ergonomically perfect (as approved by my lovely physiotherapist wife) sitting and standing positions. When I’m sitting, I’m sitting in a Herman Miller Aeron, probably the best chair ever made.
On my desk sits a Belkin wireless iPhone and Apple Watch charger so I can charge my watch while sitting and wear it overnight (I like tracking too much sleep and health data). For sound, I have Audioengine A5+ speakers and a Audioengine S8* subwoofer (I don’t like wearing headphones all day).
The wider room has 2 coloured light bulbs to allow me to have mood lighting and more customisation when doing video calls.
When I want to relax, I switch the USB hub to play on my Windows gaming PC with my keyboard/mouse/microphone/webcam combination above. I built it myself so the hardware is always changing but I also have a Valve Index VR setup which I’m fond of to really cut myself off from the world and relax more quickly.
And what are the favorite items in your workspace?
The M1 MacBooks are absurdly fast and generally nice hardware. The Magic Trackpad’s use of gestures and massive service is great for navigation. The Aeron is a great chair.
What is your software setup?
I run the latest (sometimes beta, thanks Homebrew) macOS with as close to default settings as possible. I use Apple’s default tooling (e.g. Terminal over iTerm, Notes over Evernote) when possible until I find it too annoying or limiting. Examples of these cases are my use of Airmail over Mail (I use GitHub email notifications heavily so a great client is important) and Fantastical over Calendar. I have a fairly absurd number of email accounts and calendars so I can turn them on/off depending on whether I’m working/playing/family timing.
Everything that I have to remember (including mundane things like “empty dishwasher every day”) is either in Airmail, Reminders, Notes or Fantastical. Everything is synced to iCloud or pushed to GitHub. I can nuke my system and get myself up and running to pushing code with Strap in under an hour.
I spend a reasonable amount of time in the terminal (check out my dot files) but tend to like graphical editors and tools where I can, for example VS Code for text editing (although I’m dabbling with QtCreator again) and Fork for doing line-by-line Git commits.
1Password saves me an absurd amount of time and pain and I use it everywhere I can.
I’m still rocking Safari as my primary browser. When I really need a Chromium-based one: I use Microsoft Edge (I wouldn’t recommend it) just to be difficult as I worry about Chrome’s monoculture.
For wasting time, I have Ivory for Mastodon (RIP Tweetbot) and Reeder for RSS Feeds and a Read Later service. These are both limited with ScreenTime to avoid me wasting too much time. I get 1 minute of Reddit a day. If I want more: I don’t have the PIN and have to ask my wife. I’m not going to do that: it’s too embarrassing.
What are your favorite programming or scripting languages?
Ruby is my favourite language for more involved scripting and, usually with Rails, for building web applications quickly.
Bash is basically terrible but I secretly love it for too many things.
Go is nice for high-performance network applications but a bit sterile; it’s not as “fun” or “beautiful” as Ruby.
Is there anything you are missing in your setup?
I’d love to have more hardware-to-software bridging going on e.g. being able to script the raising/lowering of my desk.
I would like a way to auto-join video calls so I’m not late to them.
What book comes to your mind that you would like others to read?
I mostly read fiction nowadays. Probably the most influential non-fiction to work is “The Design of Everyday Things” by Donald Norman. It’s just great when you’re designing any system in thinking through how to make things pleasant instead of annoying.
My favourite recent fiction recommendation would be anything recentish my Peter F. Hamilton or Alistair Reynolds, two wonderful British science-fiction authors.