What I Use
This page is inspired by the one found here.
Operating System
I recently switched back to Fedora from Debian 12 (Bookworm) on my build box, and I'll do it with my laptop soon too. I switched over for a while due to some default toolchain options, but felt homesick. I still use Debian for some container workflows and any other lab systems by default.
Text Editor
Vim, specifically with the most barebones configuration that I can stand. As of now, I use the following plugins with pathogen:
Here's my entire .vimrc
:
execute pathogen#infect()
syntax on
colorscheme desert
" Use filetype detection and file-based automatic indenting
if has('filetype')
filetype plugin indent on
endif
set pastetoggle=<F2> " add hotkey for changing to paste mode to avoid extra indentation
set updatetime=100 " reduce time between updates from 4000 to 100
set textwidth=80 " set wrap width to 80
set laststatus=2 " start airline immediately
set autoindent " automatically indent
set visualbell " don't beep
set mouse=
if has("autocmd")
" Use actual tab chars in Makefiles
autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
autocmd FileType python set expandtab shiftwidth=4 softtabstop=4
autocmd FileType rust set expandtab shiftwidth=4 softtabstop=4
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
autocmd BufNewFile,BufRead *.v,*.vs set ts=4 sts=4 sw=4 expandtab
endif
let g:airline_powerline_fonts = 1
I once had a brief stint using neovim (which has some cool distros), but I like being relatively close to what I might find on servers and custom-built embedded systems that might not have anything but the stock version (or busybox variant).
Web Browser
Firefox with UBlock Origin.
Mail Client
VPN
I've been using Tailscale for a while now. I'm extremely impressed with how easy it is to setup and make use of for home networks.
Continuous Integration
My first conference talk was a virtual one about using Tekton CI with a single-node Kubernetes cluster, but I've long-since soured on k8s. I've used others in the past (e.g. Jenkins, Buildbot), but I like using Laminar CI now because it's easy to setup and is basically a static frontend for bash scripts and cronjobs.
Hardware
Laptop
My daily driver is a Lenovo ThinkPad T14s with 16GB of DDR4 RAM and a Ryzen 5650U in it. It was acquired used from eBay, and I'm quite happy with it. I've recently added a 1TB CT1000P3PSSD8 drive, replacing the 256GB NVMe drive it came with. It feeds two LG 27" 1440p monitors through a Lenovo USB-C dock. I wouldn't say it's powerful by any means, but it gets the job done.
Build Server
I offload most of my heavier tasks (Vivado, Yocto and kernel builds, nightly CI runs, etc.) to a custom mini-ITX build with the following specs:
- CPU: AMD Ryzen 9 7900 (not the 7900X)
- Cooler: Wraith Prism RGB (the stock 7900 one)
- Motherboard: MSI MPG B650I Edge WiFi Gaming Motherboard
- RAM: Corsair Vengeance 64GB DDR5 6000MHz RAM
- GPU: Radeon RX 6600 8GB
- Main Storage: Crucial P3 Plus PCIe Gen4 2TB NVMe M.2 SSD
- Secondary Storage: Western Digital SA510 2TB 2.5" SSD (volatile build area)
- Tertiary Storage: Western Digital Blue 3D NAND 1TB 2.5" SSD (mostly for Yocto sstate-cache and downloads)
- Case: Thermaltake Core V1 Black Edition SPCC Mini ITX Cube Computer Chassis
- PSU: Corsair RM850e (2023) Fully Modular Low-Noise ATX Power Supply
- Monitor: LG Ultragear 27GL83A-B (x2)
The goal with this build (completed summer 2024) was decent performance in a small form factor. None of the parts were the most jaw-dropping options even when I started pricing it out, but it gets the job done and is surprisingly quiet, while taking up very little space. I used to buy off-lease Dell, HP, and Lenovo workstations to use as my build servers, but those only get hobbyist-cheap after they've been around for 6+ years, and at that point they seem a lot less efficient than just building something new like this. It also handles the gaming I still do these days, thanks to that lower-mid-range RX 6600 GPU.
EDIT (May 31st, 2025): I've upgraded my graphics card to the RX 7600 XT.
Peripherals
- Keyboard: Logitech MX Mechanical Mini
- Mouse: Logitech G G502 Hero
- Headphones: Logitech G435
You can probably sense a favourite brand. All of these are swapped between my laptop and server (when I'm not just using SSH) via an Aimos KVM Switch.
Phone
Right now it's a Samsung Galaxy A54 5G I got off of Amazon.
Test Equipment
- Oscilloscope: Rigol DS1054Z
- Function/Waveform Generator: Sigilent SDG 1032X
- Logic Analyzer: Saleae Logic 8
- Multimeter: Fluke 117
The DS1054 and SDG 1032X, followed by the Logic 8, see by far the most action as I find myself working on IIO drivers for the Linux kernel. I do have a Weller soldering iron and a 300W test bench power supply, but since most dev kits seem to run off of USB power or 5V/9V/12V adapters these days, those tend to sit in a box rather than taking up desk space.
Homelab
Various Raspberry Pi 4s and ThinkCentre Tinys with AMD processors in them. The network is held together by a few Netgear switches like the GS308E. If what I'm doing can't be accomplished between my build server and these pieces, then it's probably an awaylab :).