When you're a full-time traveller you usually don't posses much and therefore don't really have to take care of many things. Apart from the usual suspects like your passport there's probably one thing that's really valuable to you: Your computer.
Last updated: 31 Jan 2021
For me, that computer is a 2018 15” MacBook Pro 2,9GHz 6-Core Intel Core i9 with 32GB DDR4 RAM, an Intel UHD 630 and an additional AMD Radeon Pro 560X 4GB on-board graphics card. It’s one of those MacBooks without a physical escape key, which is an important detail to me. Frankly speaking, it’s what I dislike most about it, but let’s not go down that rabbit hole. Instead, let me show you how I fixed this issue:
I’m usually running the latest macOS release and I try to keep my OS and all my applications up-to-date. However, I haven’t yet made the switch to macOS 11 Big Sur due to various security controversies it introduced. Security, privacy and the overall dissatisfaction with Apple hardware in general – not taking in consideration the new ARM architecture, which is still far from ready for prime time – is also what’s pushing me to invest effort into switching from macOS to Linux eventually.
Until then, MacBook will continue to be my primary platform, with its fully-encrypted 1TB SSD and additional storage on my portable data-center. Because I’m working with confidential data most of the time I cannot rely on cloud-services like Google Drive, Dropbox or Microsoft Drive. I also spend a proportionally large amount of time on the command line, which is why I have a few things here and there that make my life easier. Overall, I’m very much a minimalist in terms of software.
For starters, I use
brew for managing most of the software
that’s running on my MacBook. In case you don’t know
brew yet, it’s a package
manager similar to those that you use on Linux distributions
apk, …) and it allows you to install and manage
CLI tools and also full-blown macOS
applications in a more reproducible fashion. I personally even use it for
installing and updating programs like
Sublime Text and
Docker Desktop. As my list of
tools and programs varies a lot by time and project, I decided to document my
essential CLI tools in a separate post:
Apart from these, I try to keep the GUI applications down to a minimum and only install the ones I really need. I’m very mindful in terms of GUI applications and I stay miles away from Adobe software. Only a few months ago I successfully got rid of the very last Adobe program I was using, which was Lightroom Classic. For the little creative work that I’m doing, I’m using the following programs:
- Capture One, Affinity Photo and Pixelmator Pro for photo editing
- Affinity Designer and Sketch for vector editing
- Affinity Publisher for DTP
- Apple Photos for storing and managing all mobile photography
I really don’t do much creative work, though. It’s more of a hobby. The reason I keep things like Pixelmator around is for the times when people send me PSDs or when I really do need to draw a few things on my own.
Engineering & Development
However, let’s continue to the cooler parts: Engineering & development. Here’s where things get a bit more diverse and crowded. Probably the most important UI application in these areas to me is Sublime Text. I don’t use Xcode, VS Code or any other IDE when I’m not forced to do so. On projects in which I do a lot of Qt I use their toolchain in order to stay sane. However, if I was looking forward to a couple of sleepless nights full of headaches, I could probably switch large parts of the development flow over to a Sublime & CLI-approach as well. That’s usually what I do with Arduino/STM projects and even more with RIOT-based projects, thanks to their pretty solid CLI toolchain.
Even though I’m a heavy Sublime user, I tend to keep my local Package Control repository very clean in order to not have too much baggage around. The more nifty packages one uses with Sublime, the more sluggish and crash-prone it will become. Especially the LSP packages for Sublime seem to make it crash a lot more than it usually does – which for me is actually never. As for the settings they’re nothing special.
Next up is Docker. I use containers for many things,
hence the Docker Desktop application is quite an important part of my everyday
life. Most of the time I’m working with the
docker CLI which, compared to
other CLIs like for example
gsutil I find
very intuitive and easy to use. My local Docker engine is set up to run as a
swarm, hence when I need to fire up containers locally, I use
docker stack deploy for that.
I usually hack all these commands into a
that’s constantly running inside a single instance/window of
iTerm2 for a very long time, but in 2019 I switched
Alacritty while I was working with an eGPU attached to my MacBook and
super annoying issues with iTerm2’s rendering performance.
The shell that I used even before macOS made it the default was and still is
Oh My Zsh installed and a
that allows me to backup and recover it from
a GitHub Gist,
so that I can easily set it up on other systems (e.g. the dozen
SBCs that I usually keep
around). For CLI-completeness I also have
neomutt set up.
Again, more info on all that can be found in a separate post.
Besides of the crude command line interface I also use LaunchBar, because it lets me keep my hands on the keyboard while performing UI-related actions and tasks. LaunchBar brings a large set of functions and allows for easy extensibility. Other UI programs and little helpers that I use include:
- 1Password, for storing passwords et al.
- Dash 4, for having documentation available offline
- Deliveries, for tracking packages
- Element, for communication within (mainly open-source) projects
- Flotato, for having services like Gmail, Fathom Analytics and GitHub as an “app” that I can launch from my Dock and via LaunchBar
- GPG Suite, for all-things-GPG
- iStat Menus, for monitoring the MacBook’s crappy thermals
- Ledger Live, for those coins
- Lens, because every other Kubernetes management interface is a PITA
- Mastonaut, for reading those Toots
- Messages, for communicating with the rest of the world – no WhatsApp nor Telegram here
- Monodraw, for drawing fancy ASCII documentation
- Music, because I decided to have a look at Spotify’s competition
- Numi, for notes in which I need to do some math
- OpenEmu, for the little time I don’t spend outside and/or working on things
- Paw, for testing and debugging those APIs
- Podcasts, for listening to podcasts on my MacBook and my iPhone
- ProtonVPN, for more anonymity
- Reeder, for following the world’s news
- Resilio Sync, for use with my very own encrypted storage
- Signal, for communicating with everyone else that’s as paranoid as I am
- SketchUp, for designing 3D prints. Side note: I have this love-hate-relationship where I love SketchUp for its simplicity, but I hate it for its limitations and I definitely hate it for its exaggerated monthly fee. Hence learning FreeCAD and/or Blender is definitely on my todo list.
- SmartScope, for hours of SPI-debugging fun
- Steam, for Cities: Skylines and Parkitect
- TimeMachineEditor, for taming TimeMachine
- Fork, for not having to remember those effin’
- ZeroNet, for the decentralized net
Last but not least, let’s talk about browsers. For my day-to-day browsing I use Safari. The main reasons for that is my distrust against Google and Google products – so Chrome won’t ever be my daily driver – and the fact that Safari seems a lot more optimised on macOS than Firefox, Vivaldi, Brave and all the others. I would love to use Firefox more and eventually switch to it, unfortunately I depend a lot on battery power and all other browser seem to be draining it more quickly than Safari does. Also Apple caught-up pretty well in the privacy game with the latest version of Safari. As for the extensions, I’m using DuckDuckGo’s Privacy Essentials, and of course the 1Password Safari extension. Regardless of which browser I use as my daily driver, I do keep an up-to-date version of Firefox and Chrome around, so that I can test web-related things in different browsers. Also, when I used Google services (like my business mail) I use them either through Flotato (see above) or Chrome. For the decentralised web I use Firefox and the IPFS companion, Beaker and the ZeroNet.app, and for the dark web I use Firefox through Tor.
I guess that’s it. That’s pretty much all the software and tools I use on my computer. These are the tools that allow me to do what I do best: Work with clients world-wide to build beautiful products that people love to use and meanwhile contribute to the open-source movement as much as I can.
One last thing …
I know what you’re thinking.
“But why does it look like that?”
The reason is pretty simple: The sticker art makes it impossible to see that it’s an actual MacBook, at least without taking a closer look. Hence it becomes less of a prey for snatchers. In fact, many people think it’s an actual book or very thick weirdo comic magazine. 😅