My tech stack (2015)
I’ve pieced my rig together quite carefully, creating a rather unique stack. At the fundamental level it’s not so different from a hundred thousand other hackers’ stacks, and thus to comply with the #1 rule of custom stacks, it demands a dedicated post explaining how cool and unique it is.
Laptops
Thinkpad X200s kosme
My most favourite laptop. I’ve had it since 2011 and it survived quite a lot; superglued in several spots; some chipped bits have been lost forever; keyboard replaced (previous one finally fell apart after 3y of abuse); I’ve upgraded memory and disk. The CPU is quite slow, but battery life - still excellent.
Currently running latest OpenBSD.
Hardware:
- Intel Core 2 Duo U9300 2x1.20GHz
- 4GB memory
- Samsung 840 Evo 250GB back to old 160GB spinning plate
- 9 cell battery (used to last 8-9h, but more like 4h these days)
Thinkpad X250 luna
My new laptop. I thought I’d hate the keyboard, but it’s acceptable. I’ve had to disable the touchpad though - nipple mouse wins 10 out of 10 times.
Currently running Debian stable.
Hardware:
- Intel i5 5300U 4x2.30GHz
- 8GB memory
- Samsung 840 Evo 250GB
- 2x 3 cell batteries
Working environment: software and setup
I’m a long time (2005ish) Debian user, but more recently (2015), OpenBSD captured my attention, and subsequently I fell in love.
I keep the portable bits synced between my laptops through a dotfiles git repository + GNU Stow.
I do use make
, cron
and runit
extensively, for stuff like
shuffling in a new wallpaper every hour, daily maintenance tasks, or
managing random services like ssh-agent
.
OpenBSD
- Because it’s beautiful, stable, well-documented, and simple,
- Because I don’t have time for the OS when I need actual work done.
- Because security shouldn’t be optional.
- Because Linux is too mainstream :)
Debian
Debian stable with customisations!
- When I need to run mainstream software, or when something is not supported under OpenBSD yet :(
- I stick to current stable releases and use backports & third party channels for Firefox, Chromium, etc;
- No
systemd
; usingsysvinit
; working on a replacement (based onrunit
); sudo
; usingsu
for interactive console andsup
in scripts;connman
;
Desktop
- I use
runit
as my session manager. ~/.xsession
runsrunsvdir -P ~/service
; there’s a script/service for everything a desktop session needs:- Everyday apps
urxvt
, the only terminal emulator I’ve ever seen to do the right thing with line wrapping when resizing the window - lite flavour;- dmenu with lots of tiny scripts;
- GNU Emacs for all but trivial text editing;
- Firefox; lots of custom CSS to make websites darker;
- Rox filer;
pass
;
- On the CLI
Phone
Nexus 4 mako
Died in an accident in spring 2016.
Used to run CyanogenMod; close to 100% libre (with F-Droid).
I really love and recommend several apps:
A cracked screen has put it out of service. I’m temporarily back to my invincible Nokia 2610. Quite sure it will survive my next phone as well.
Servers
Dell PowerEdge T20 glados
Running FreeBSD 10 - because ZFS, even if insanely complex under the hood, is friggin’ awesome and a breeze to work with.
- Intel Pentium G3220 2x3.00GHz
- 8GB ECC memory
- Stuffed with 4x3TB of spinning plates in RAID-Z; 7.6 TiB usable
Currently employed as a NAS for general file storage (music, movies, etc), backups, torrents, etc.
Raspberry Pi v1 model B dune
Runs unbound
as a
local DNS cache. Specs:
https://www.raspberrypi.org/products/model-b/.
Hetzner vServer CX10 chewie
The box that powers https://www.rollc.at/ and the like. Specs: https://www.hetzner.de/en/hosting/produkte_vserver/cx10.
Isn’t it a lot of wasted electronics and electricity to run such a rig?
I don’t think it is. I tend to use and reuse hardware until it breaks, and repair it if possible, as evidenced by the fact that I’m still making a 2009 laptop or a 2007 phone do useful things for me.
The environmental impact is something I’m always trying to consider. Keeping things powered down when unused. Unrepairably broken electronics end up in recycling. Most of the equipment is very energy-efficient.