An overview of all the computing devices I have and use for work and play, including technical details about the individual setups.
The hardware I use has to be powerful but portable enough to not be a millstone round my neck. While a lot of the heavy lifting that I’m doing happens in the cloud these days, there are still plenty of tasks that can’t easily be outsourced and where raw computing power makes a big difference in overall velocity. Hence I’m always looking for ways to improve my setup to allow me to be portable yet have enough processing power in order to be independent from stable internet connectivity or someone else’s computer (the cloud).
cbrspc7: Ryzen 9 5950X mITX Workstation
My main workstation is a custom PC build on a Xtia Xproto-N frame running Gentoo Linux.
|CPU||AMD Ryzen 9 5950X 3.4 GHz|
|GPU||AMD Radeon Pro WX 2100|
|RAM||2 x 32 GB TEAMGROUP T-Force Xtreem ARGB 3600 MHz CL 18 PC4-28800 (TF13D464G3600HC18JDC01)|
|Motherboard||ASUS ROG Strix X570-I mITX|
|Storage||2 x 1TB Samsung 980 Pro NVMe Gen4, RAID 1|
|PSU||Corsair SF 600 W 80+ Platinum|
|Cooling||Lian Li Galahad AIO 240, 2 x Cooler Master MF120 Halo|
|Display||LG 32UN500-W 32-inch IPS UHD HDR10, 3840x2160|
|Keyboard||Kbdfans 60% DZ60 rev 3, kailh BOX Jade switches, NP PBT keycaps|
|Mouse||Mad Catz R.A.T. 8+ wired optical mouse|
The PC runs kernel >= 5.12.13 with encrypted ZFS in
mirror-mode across two 1TB
NVMe M.2 SSDs. The GUI uses Sway, a Wayland window manager that I use to render
multiple instances of Alacritty and Firefox on a 4K display.
I use portage for managing most software
that I have installed. If I need something that is not available through the
official sources, I either check the
git clone the repo and
link its binary manually to
CLI / TUI
I have a separate list with most of the command line tools that I used.
I don’t use many GUI applications. The main reason for me to use GUI tools is for creative work (like editing photos) and for that I use my MacBook.
Other than that I use the following programs under Linux:
- Ledger Live
- Resilio Sync
- Sublime Text 4
Engineering & Development
The command line is my go-to environment for everything related to engineering and development. I used Sublime Text a lot in the past but I’m slowly making the switch to NeoVim. I don’t use Xcode, VS Code or any other IDE when I’m not forced to do so. On projects in which I did a lot of Qt I used their tool-chain in order to stay sane.
I use containers for many things, hence the Docker is quite an important tool.
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.
d3lt4: 15" MacBook Pro Intel Core i9
My laptop is a 2018 15" MacBook Pro 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.
|CPU||Intel Core i9 8950HK 2.9 GHz|
|GPU||Intel UHD 630, AMD Radeon Pro 560X 4GB|
|RAM||32 GB DDR4-2400|
|Storage||1TB SSD, FileVault encrypted|
|PSU||87W USB-C Power Adapter|
|Cooling||Forget about it|
|Display||15.4-inch IPS LED-backlit, 2880x1800|
|Keyboard||Let’s not talk about this|
|Mouse||Apple multi-touch trackpad|
For my eyes' health I use a matte anti-glare screen shield which unfortunately makes the already dim display a notch dimmer. Additionally I have black tape glued over my laptop’s camera for privacy reasons.
The MacBook runs the latest macOS release. Only recently I made the switch to macOS 11 Big Sur, after Apple removed their firewall and VPN circumvention hacks. 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 what had pushed me to invest effort into switching from macOS back to Linux.
brew for managing most of the software
that’s running on my MacBook.
CLI / TUI
On macOS I have a
tmux session that’s constantly running inside a single
Alacritty. That’s due to Alacritty
not really supporting multiple windows/tabs/panes on macOS.
I use to keep my
.zshrc functional on both, Linux and macOS, so that I can
easily sync my dotfiles between machines.
For the most parts I’m using the Mac when I need to do something that requires a graphical application like an image or video editing software. I’m looking forward to move these tasks to my Linux workstation as well, but so far it has been more easier to continue using them on macOS. I will continue doing so up until the point when the hardware might fail.
However, besides of the crude command line interface I 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, and yes, I’m still on version 4!
- Deliveries, for tracking packages
- Element, for communication within (mainly open-source) projects
- Fork, for not having to remember those effin'
- GPG Suite, for all-things-GPG
- iStat Menus, for monitoring the MacBook’s crappy thermals
- Jami and ↲
- Jitsi for all my video-conferencing needs; Unfortunately most business-related things still use Google Meet and Zoom, which I only use in-browser with access to my camera forbidden
- Ledger Live, for those coins
- Lens, because every other Kubernetes management
- Little Snitch, because I don’t like apps to send weird stuff into the interwebs interface is a PITA
- Mastonaut, for reading those Toots
- Messages, for communicating with the rest of the world – no WhatsApp nor Telegram here
- Monero Wallet GUI, for those private coins
- 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
- OnionShare, for privately sharing files
- 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
- Reeder, for following the world’s news
- Resilio Sync, for use with my very own encrypted storage, will move to Syncthing as soon as there is selective sync and an iOS client available
- 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
- WireGuard, for my own VPNs to all sorts of servers and devices
- xbar, for having
zeitin my macOS menu bar
- ZeroNet, for the decentralized net
I stay miles away from Adobe software and 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
- DaVinci Resolve for video editing
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.
h4nk4: Custom Ryzen 7 2700 mITX Ultra-Portable Data Center
h4nk4 is an ultra-portable data center that offers a fully-encrypted network
attached storage as well as KVM hosting. It runs on NixOS and has 5 GBit NICs.
|CPU||AMD Ryzen 7 2700 3.2 GHz|
|RAM||2 x 16 GB Corsair Vengeance LPX 2666 MHz CL 16 PC4-21300 (CMK32GX4M2A2666C16)|
|Motherboard||ASUS ROG Strix X470-I mITX|
|Storage||2 x 512GB Samsung 970 Pro NVMe Gen3, RAID 1; 4 x 4TB 2.5" Seagate Barracuda, RAID 5|
|PSU||Corsair SF 450 W 80+ Platinum|
|Cooling||NZXT Kraken X42 AIO|
The case is a custom designed, 3D printed enclosure that was built with
portability in mind.
h4nk4 has no HIDs nor a GPU – the Ryzen is not an APU –
and is therefor configured to use a LUKS encryption key on a USB stick, that can
simply be unplugged in order to make the device useless.
More info about what this device does, why and how I designed and built it can be found here.
r0n1n: RockPi 4A 4 GB
This setup is more of an experiment of ultra-portability of the desktop, rather than a real alternative to a laptop or PC.
|CPU||Rockchip RK3399 64 Bit 6-Core (dual Cortex-72 1.8 GHz, quad Cortex-A53 1.4 GHz)|
|RAM||4 GB LPDDR4 3200 MHz|
|Storage||512 GB WD Black NVMe Gen3|
|PSU||USB-C PD 2.0 9V/2A, 12V/2A, 15V/2A, 20V/2A|
|Cooling||Radxa RockPi 4 heatsink|
|Display||UPERFECT 15.6-inch portable UHD|
|OS||Manjaro Linux RockPi 4 Sway Edition|
|Mouse||Mad Catz R.A.T. 8+ wired optical mouse|
The experiment was partially successful, with the RockPi 4 performing a lot better than e.g. the Raspberry Pi 4B and hence offering a viable solution for an ultra-portable desktop. That said, the devices wasn’t able to use the full 4K resolution of the display, losing one advantage it would have had over most Linux-capable ultra-books.
More info about this setup can be found here.
a0i: Linksys WRT3200ACM
r0n1n is a computer running OpenWRT (Linux) and bridging my internal network
of devices with the outside world.
|CPU||Marvell Armada 395 88F6925 1.8 GHz|
|RAM||512 MB DDR3|
|Storage||256 MB Flash|
|PSU||Power adapter, 12V/3A|
|Mouse||Mad Catz R.A.T. 8+ wired optical mouse|
Unlike the majority of reviews online by people who struggled to properly set up and run the Linksys, I have experienced no issues with it whatsoever. That said, I’m only running the 5 GHz band for WiFi and all devices that have a NIC are using a wired connection.
k3yb0w: Raspberry Pi Zero W
This Raspberry Pi Zero W has a Pimoroni Keybow attached to it and runs the Kiwi firmware that allows it to connect to any 2.4 GHz WiFi and act as a wireless controller for all sorts of things.
|Storage||64 GB Samsung Evo Plus micro SD|
|PSU||Micro USB, 5V/2A|
|OS||Kiwi / Nerves|
I’m using this device to control everything that has an API (like IoT lights) as well as OBS Studio, which it can interface with since Kiwi 1.0.2.