Computer

An overview of all the computing devices I have and use for work and play, including technical details about the individual setups.

Computer

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 somebody else’s computer.

cbrspc7

cbrspc7, my Linux workstation

My main workstation is a custom SFFPC on a Xtia Xproto-N frame running Gentoo Linux.

ComponentDetails
CPUAMD Ryzen 9 5950X 3.4 GHz
GPUAMD Radeon Pro WX 2100 XFX Speedster QUICK319 AMD Radeon RX 6700 XT Black XFX Speedster QUICK210 AMD Radeon RX 6500XT Black
RAM2 x 32 GB TEAMGROUP T-Force Xtreem ARGB 3600 MHz CL 18 PC4-28800 (TF13D464G3600HC18JDC01)
MotherboardASUS ROG Strix X570-I mITX
Storage2 x 1TB Samsung 980 Pro NVMe Gen4, RAID 1
PSUCorsair SF 600 W 80+ Platinum
CoolingLian Li Galahad 240 (dead) Noctua NH-C14S, Noctua NF-A14 (backup) Arctic Freezer II 360 RGB, 3 x Arctic P12 RGB fans, 2 x Cooler Master MF120 Halo
DisplayLG 32UN500-W 32-inch IPS UHD HDR10, 3840x2160
OSGentoo Linux
WMSway
KeyboardRAMA M60-A
MouseLogitech MX Master 3

The initial build had the Lian Li Galahad 240 AIO for cooling the CPU. However, after the Galahad died roughly ~11 months later, I replaced it with a Noctua NH-C14S air cooler.

The PC runs kernel 5.18.16 with encrypted ZFS in mirror-mode across two 1TB NVMe M.2 SSDs. I use Sway – a Wayland window manager – to mainly have multiple instances of Alacritty and Firefox on two 4K displays.

Software Management

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 overlays or git clone the repo and link its binary manually to /usr/local/bin. Often times I install Rust tools using cargo, since it’s a pretty solid package manager. Go tools are a bit complicated to go install and keep up-to-date, but I have my .zshrc functions that help me with that. When I need Python or Ruby tools, I usually installed them through Portage because everything else is a PITA. For Node.js I use NPM, although I rarely use Node.js tools.

CLI / TUI

I have a separate list with most of the command line tools that I used.

GUI

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:

For the following applications I use dedicated VMs:

Engineering & Development

The command line is my go-to environment for everything related to engineering and development. I don’t use an IDE and instead do all my writing and development in NeoVim. Whenever I work with a service or a platform I check whether there is a TUI or at least CLI for it and, if there isn’t, I sometimes build one myself.

Photos with different cooling setups.


d3lt4

d4lt4, a 2018 15-inch MacBook Pro

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.

ComponentDetails
CPUIntel Core i9 8950HK 2.9 GHz
GPUIntel UHD 630, AMD Radeon Pro 560X 4GB
RAM32 GB DDR4-2400
MotherboardApple
Storage1TB SSD, FileVault encrypted
PSU87W USB-C Power Adapter
CoolingForget about it
Display15.4-inch IPS LED-backlit, 2880x1800
OSmacOS
WMmacOS
KeyboardLet’s not talk about this
MouseApple 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. Security, privacy and the overall dissatisfaction with Apple hardware in general is what had pushed me to invest effort into switching from macOS back to Linux. On the long term, I’m looking forward to replace cbrspc7 as well as d3lt4 with an AMD-powered, 16" Framework, as soon as dedicated AMD GPU as well as HHKB keyboard modules become available.

Software Management

I use 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 instance/window of Alacritty. That’s due to Alacritty not really supporting multiple windows/tabs/panes on macOS.

The shell that I used even before macOS made it the default was and still is Zsh, with Oh My Zsh installed and my own carefully crafted .zshrc

I use to keep my .zshrc functional on both, Linux and macOS, so that I can easily sync my dotfiles between machines.

GUI

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:

  • iStat Menus, for monitoring the MacBook’s crappy thermals
  • Little Snitch, because I don’t like apps to send weird stuff into the interwebs interface is a PITA
  • Monodraw, for drawing fancy ASCII documentation
  • 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
  • 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
  • SmartScope, for hours of SPI-debugging fun
  • Steam, for Cities: Skylines and Parkitect
  • TimeMachineEditor, for taming TimeMachine git commands.
  • WireGuard, for my own VPNs to all sorts of servers and devices

Creative Work

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:

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.

The backside of my MacBook

h4nk4

h4nk4, my 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.

ComponentDetails
CPUAMD Ryzen 7 2700 3.2 GHz
GPU-
RAM2 x 16 GB Corsair Vengeance LPX 2666 MHz CL 16 PC4-21300 (CMK32GX4M2A2666C16)
MotherboardASUS ROG Strix X470-I mITX
Storage2 x 512GB Samsung 970 Pro NVMe Gen3, RAID 1; 4 x 4TB 2.5" Seagate Barracuda, RAID 5
PSUCorsair SF 450 W 80+ Platinum
CoolingNZXT Kraken X42 AIO
Display-
OSNixOS Linux
WM-
Keyboard-
Mouse-

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

r0n1n, Rock Pi 4A 4GB

r0n1n is a Docker host and IoT gateway. It’s part of my portable, open source home area network.

ComponentDetails
CPURockchip RK3399 64 Bit 6-Core (dual Cortex-72 1.8 GHz, quad Cortex-A53 1.4 GHz)
GPUMali T860MP4
RAM4 GB LPDDR4 3200 MHz
MotherboardRadxa SBC
Storage512 GB WD Black NVMe Gen3
PSUUSB-C PD 2.0 9V/2A, 12V/2A, 15V/2A, 20V/2A
CoolingRadxa Rock Pi 4 heatsink, Lian Li 120mm fan
Display-
OSManjaro Linux Rock Pi 4 Minimal Edition
WM-
Keyboard-
Mouse-

Previous to being a tiny server, r0n1n was an experimental Linux desktop.


a0i

a0i, Linksys WRT3200ACM

r0n1n is a computer running OpenWRT (Linux) and bridging my internal network of devices with the outside world.

ComponentDetails
CPUMarvell Armada 395 88F6925 1.8 GHz
GPU-
RAM512 MB DDR3
Motherboard-
Storage256 MB Flash
PSUPower adapter, 12V/3A
CoolingHeatsink
Display-
OSOpenWRT
WM-
Keyboard-
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. For more information, check out my post on running an open source home area network.


k3yb0w

k3yb0w, Raspberry Pi Zero W with a Pimoroni Keybow HAT, running the Kiwi firmware

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.

ComponentDetails
CPUBroadcom BCM2835
GPU-
RAM512 MB
Motherboard-
Storage64 GB Samsung Evo Plus micro SD
PSUMicro USB, 5V/2A
Cooling-
Display-
OSKiwi / Nerves
WM-
KeyboardPimoroni Keybow
Mouse-

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.


published [ ] · updated [ ]