What I Use
This page is for those who are curious about the programs and equipment I use to get work done. It is inspired by uses.tech.
- CPU: Ryzen 5 1600 w/ Stock Cooler
- RAM: 2x8GB DDR4-3200 G.Skill Ripjaws V Series
- GPU: PowerColor Red Dragon RX 580 4GB
- PSU: EVGA SuperNova G2 Gold 650W
- Motherboard: AsRock AB350M Pro4
- Case: Deepcool Kendomen Black ATX Mid
- Boot Drive: Samsung 970 Evo 250GB NVMe SSD
- Extra Storage: Crucial MX300 275GB SATA SSD
- Windows Boot: Seagate 7200RPM 750GB SATA-II HDD
- Windows Games: Samsung 860 Evo 250GB SATA SSD
- Monitors: 2x ASUS VP239H-P 23" 1080 IPS
You can see the original build that I did, along with the cost for each item in Canadian dollars at the time that it was purchased, by clicking this link to a PCPartPicker build list. RAM prices at the time (November, 2017) were absolutely horrendous.
I also own a Thinkpad T440s which I purchased second-hand off of eBay with the following specifications:
- CPU: Intel i5-4300U
- RAM: 4GB Soldered + 4GB Samsung DDR3L SO-DIMM
- GPU: Intel Integrated Graphics
- Storage: Crucial 250GB SATA SSD
- Screen: Unknown 1080p IPS
Dell Venue 11 Pro 7130 - Used mostly as a side-display in addition to my desktop monitors.
- CPU: Intel i5-4300Y
- RAM: 8GB DDR3
- GPU: Intel Integrated Graphics
- Storage: 128GB SATA M.2 SSD
- Screen: 1080p w/ Touch
- With dock and keyboard
- Runs the latest Ubuntu
Samsung Galaxy Tab 3 Lite - Used for reading PDFs, kept entirely offline.
- 1GB RAM
- 8GB Storage
- With protective folding case
- ASUS Zenfone 2 Laser
- 3GB RAM
- 16GB Storage
- Runs LineageOS with no Google stuff added
I also own a few other computers which I primarily use as servers. The first is an older HP SFF desktop computer which I use as my home router running OPNSense. It is technically quite a bit more powerful than a router needs to be for my purposes but it draws only 20W at idle and stays nice and cool. Plus, I got it for free.
I have also repurposed two older laptops of about the same processor generation as the HP for use as small servers. I have one acting as a monitoring server and the other currently sits unused as I am unsure what to do with it.
The "Big Iron" of my homelab is my Dell PowerEdge R415 which I managed to purchase for less than $100 USD, shipping included. It has two power-hungry AMD Opteron 4130s inside which aren't all that powerful compared to Intel processors of the same generation but, for the price, it was a deal I couldn't pass up especially since it came with a Dell Perc H700 storage controller. This server has 2x4TB 7200RPM HGST NAS drives configured in RAID-1 as well as a second 4TB 5900RPM HGST drive used as a local backup for the contents of the RAID-1 array. The server has 16GB of DDR3 ECC RAM which, while low for a server, is more than enough for my uses; I haven't even come close to using a quarter of it yet. I plan to replace this server with more power-efficient and less noisy hardware in the future.
As far as software goes, I try to stay as far away from proprietary applications as I possibly can. I typically use terminal-based applications over GUI ones as I find that terminal-based applications feel more efficient and more comfortable to me.
View my dotfiles.
My operating system of choice is Debian GNU/Linux. I run the stable variant (which is Debian 10 Buster at the time of writing) on all of my machines as I love how stable and dependable it is. Debian Stable sees a new major release once every two or so years but, despite that, I don't find myself wanting for newer software. The backports repository brings in newer versions of most of the popular programs and other software like Steam and Riot which update frequently have their own repositories. I haven't yet found myself needing or wanting to run something else for newer software.
Here are 7 main reasons why I run Debian:
- I am very comfortable in the Debian ecosystem as far as administrating systems and understanding how it works.
- Arch/Gentoo aren't as well-suited for servers and I like the fact that I am running the exact same operating system on both my development machines and my servers.
- Debian is backed by volunteers instead of a commercial organization like, for example, Ubuntu is by Canonical.
- I strongly agree with the Debian philosophy and the way they do things. (See the Debian Social Contract, Debian Constitution, and the Debian Policy Manual in particular).
- Debian comes with a high degree of polish; technical excellence and "doing things right" are core values of the organization.
- Debian has a minimal installation option just like Arch which allows me to install the distribution without a desktop environment and then build up my own.
- I hope to one day become at least a Debian Maintainer if not a Debian Developer.
I am not evangelistic about running specific Linux distributions and prefer to encourage others to use whichever distribution they are most comfortable with.
Desktop Environment/Window Manager
I don't use a typical desktop environment like Gnome or KDE as, once I discovered tiling window managers, those felt quite "bloated". Gnome in particular frustrated me as it felt like it actively got in the way of me using my computer effectively. Instead, I have essentially built my own desktop environment from the ground up by gluing together different components à la the Unix philosophy.
I use bspwm as my tiling window manager,
polybar as my status bar,
rofi as my application launcher,
dunst as my notification daemon,
nitrogen for my desktop backgrounds,
betterlockscreen as my lock
screen, and sxhkd as my shortcut key
daemon. The environment is launched via
startx and I don't use a login/display
I am partial to the DejaVu font family. I use them pretty much everywhere.
I use st (aka Simple Terminal). I actually really like the model of patching a minimal piece of software with the features that I need and I enjoy the simplicity, speed, and light feeling of it.
I used to use urxvt but it didn't handle unicode that well and lacked truecolour support so I switched to st.
I don't use one. I find the tools available on the command line (
etc) allow me to accomplish what I need to do faster than a dedicated file
Neovim. I am very comfortable with the keybindings and modal nature of vim and vim-like editors. I use a select few plugins and a colour scheme but try to keep things as small and manageable as possible. Vim is quite powerful as both a text editor and a language-agnostic IDE. For example, its LaTeX support with the various LaTeX plugins (I use LaTeX-Box as part of vim-polyglot) is top notch.
Firefox. I tried using some other browsers like qutebrowser but always kept coming back to Firefox thanks to its focus on privacy, excellent ad-blocking support, and general usability. I do use lynx for browsing on the command line though I don't do this often.
I use Firefox with the following addons:
- uBlock Origin
- Privacy Badger
- HTTPS Everywhere
- Vim Vixen
- Video Speed Controller
I use neomutt. It's light, fast, and lets me efficiently manage my mail. It only displays in plain-text so I can avoid those annoying HTML emails and it makes me feel much more comfortable using email. I synchronize my mail with offlineimap.
While I don't find myself on IRC much these days. I still use irssi as my client. It's customizable, powerful, and yet simple.
I use Riot for Matrix-based communication and Signal with people for whom Matrix would be a bit too complicated.
For this I use KeepassXC. It's a community-supported, cross-platform fork of Keepass which is actually regularly maintained unlike KeepassX. I chose it for being really simple to manage compared to something like BitWarden and because I really like the user interface.
I typically use ncmpcpp (awful name) along with mpd for playing music. I find it a really good tool for managing my tens-of-gigabytes large music collection.
mpv is my video player of choice. It's light, simple, and versatile. It also integrates with youtube-dl so I can watch Youtube videos without opening my web browser.
I use vis. Even though ncmpcpp has built-in visualizers, I like the way vis looks.
RSS Feed Reader
Newsboat because it's simple, easy, terminal-based, and I can program a bunch of macros to open up whichever feed in whichever application I want (e.g. open a Youtube feed in MPV).
I will typically write documents in either markdown or LaTeX. I use LibreOffice for those tasks which require spreadsheets (I have a fairly complex budgeting spreadsheet) or when someone "requires" that something be submitted in .docx format.
I prefer using sent because I like the style of presentation that the tool produces. If I ever need anything more complex I opt for Beamer.
I use pen and paper for this. For whatever reason, I find it cumbersome to use electronic organizers/calendars for keeping track of my life and I much prefer having something physical to store this information. If you're curious, I use a Leuchtturm1917 A5 Dot Grid Notebook and a Burgundy/Gold Parker 51 with Waterman Inspired Blue ink.
sxiv since it handles all the image types I need it to and has nice keybindings.
MuPDF for its excellent keybindings, nearly instant launching compared to something like Evince, and for being a very nice minimalist piece of software.