Table of Contents

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.

Hardware

Desktop

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.

Laptop

I also own a Thinkpad T440s which I purchased second-hand off of eBay with the following specifications:

Tablets

Phone

Server Equipment

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.

Software

A picture of my laptop's desktop
    with some applications open.
The desktop environment of my laptop in action.

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.

Operating System(s)

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 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 manager.

Fonts

I am partial to the DejaVu font family. I use them pretty much everywhere.

Terminal

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.

File Manager

I don't use one. I find the tools available on the command line (mv, rm, etc) allow me to accomplish what I need to do faster than a dedicated file manager.

Text Editor/IDE

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.

Web Browser

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:

Mail Client

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.

IRC Client

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.

Instant Messaging

I use Riot for Matrix-based communication and Signal with people for whom Matrix would be a bit too complicated.

Password Manager

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.

Music Player

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.

Video Player

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.

Music Visualizer

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).

Document Creation

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.

Presentations

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.

Day Planning/Organization/Notes

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.

Image Viewing

sxiv since it handles all the image types I need it to and has nice keybindings.

PDF Viewer

MuPDF for its excellent keybindings, nearly instant launching compared to something like Evince, and for being a very nice minimalist piece of software.