How I do my computing

Posted on 2020/07/01 (Updated 2021/04/11)

I spend most of my time in front of computers and electronic devices. I thought of creating this journal to document the evolution of my computing setup from time to time.


Laptop (ThinkPad X220)

Acquired on September 2018

I use a second-hand Thinkpad X220 as my daily driver, which I purchased from TipidPC in September 2018 for around Php 12,000. To those who aren't familiar, it's an old computer with a bit outdated specs in today's standards. However, it can still handle most of the basic tasks and web development very well. I don't play PC games, so the specs are good enough for me. Compiling (e.g. AUR builds) also works well enough, though a bit slow compared to a modern computer.

Model4291EM7 ThinkPad X220
CPUIntel i5-2520M @ 3.200GHz (2nd generation)
GPUIntel 2nd Generation Core Processor Family
RAM16 GiB (DDR3)
Storage512 GiB Kingston self-encrypting SSD (KC600)
OSArch Linux (Kernel 5.4 LTS)
DisplayHD (1366x768), TN

The reasons why I love this ThinkPad over other brands are:

  • Sturdiness - Older ThinkPad models like the X220 are tough. You can also tilt the monitor up to 180 degrees, which most laptops can't do.
  • Keyboard - The 7-row layout is the best keyboard I have ever used on a laptop. You'll appreciate the large escape key if you're a vim user.
  • Linux support - Most ThinkPads are compatible with GNU/Linux OS and drivers. The ArchWiki has a comprehensive list here.
  • Repairability - Most parts are user-replaceable, which you can readily find on the internet. I replaced its keyboard once, and it is fairly easy to do.

The display is okay, but I find it insufficient for software development and graphic design. The speakers and track pad are bad. I disabled the track pad from the BIOS settings because I use the TrackPoint if not using my trackball mouse.

Desktop (Intel NUC Core i7-10710U)

Acquired on October 2020

An urgent project at work prompted me to buy a new Windows machine to replace my malfunctioning and slow Fujitsu laptop. I bought an Intel NUC i7 10th gen (BXNUC10I7FNH1) from Shopee.

ModelIntel NUC 10 Core i7-10710U Barebones Kit (BXNUC10I7FNH1)
CPUIntel i7-10710U (12) @ 4.7GHz
GPUIntel Device 9bca
RAM16 GiB (DDR4-2666 SO-DIMM)
Storage500 GiB A2000 M.2 2280 NVMe
OSManjaro Linux (Kernel 5.4 LTS)

You can read more about it here.

External Display

Dell P2214H

Acquired on June 2020

A second-hand FHD IPS monitor I bought from Lazada for around Php 3,500. It has an anti-glare surface and a highly adjustable stand - a perfect monitor for my needs.


I use a Kingston HyperX tenkeyless mechanical keyboard (Cherry MX red) that my sister gave to me. I find it more enjoyable to type on a mechanical keyboard. I'm hoping to get an ErgoDox EZ ergonomic keyboard soon once I earn enough moolah.

A Logitech MX Ergo trackball mouse is my primary pointing device on all computers. It's initially a bit challenging to use, but once you get used to it, I think it's way more efficient than using a regular mouse. I wrote a review and repair summary of the device here.

For audio and video chat, I use a SteelSeries Arctic 5 gaming headset, which I purchased in April 2021. This is to replace the SonicEar bluetooth speaker that I got as a present because it recently keeps on disconnecting for no reason.


I try to use free and open-source software as much as possible. Here are some of the frequent applications I use on my Linux machines:

OSarch linux (kernel 5.4 lts)
Window manageri3-gaps
Display serverX11
File explorerranger, thunar
Terminal emulatortermite
Terminal multiplexertmux
Editornvim, vs code/code-oss
Wireless connection manageriwctl
Web browserfirefox, chromium
Disk encryptionveracrypt, sedutil (opal)
IME (Japanese)uim, anthy
Miscellaneoushtop, gotop, flameshot, xsel, neofetch

I install applications from the official Arch repository using pacman or from AUR via yay.

Operating System - Arch Linux and Manjaro Linux

I tried using multiple GNU/Linux distribution in the past, but I settled with Arch Linux due to its simplicity. It runs buttery smooth on old machines like the X220. It seems to be quite popular within the Linux circle jerk because of the notorious "btw, I use arch" meme. Setting up an operating system like Arch Linux is not simple, so I can understand the elitist rewarding feeling of using an OS that you set up using just the command line and the Arch bible.

An annoyance with this distro is that you can easily break the applications and packages if you update carelessly or use an application that depends on the kernel, like a hypervisor. Fortunately, it's fairly easy to switch kernel using pacman, and I recently switched to the LTS kernel (5.4) from the bleeding edge kernel. VirtualBox 6 just hangs my machine on the 5.8 kernel.

As a side note, I'd love to use a libre operating system (the FSF doesn't endorse Arch as one), but it would be impossible or hard to do because modern hardware requires some proprietary binaries to run. It wouldn't also be practical to use an even older machine.

On my NUC, I use Manjaro Linux, a distro based on Arch Linux. I had to use it because the Arch Linux installer drivers doesn't detect the Wi-Fi device on the NUC and I don't want to attach a long LAN cable just to install it. The workflow is similar with the base operating system.

Startup and X Server

I like to keep my computing environment simple. I start by logging in from the virtual terminal (VT); no fancy login screen/greeter whatsoever. Initially, I thought the VT would be enough, but I find myself needing to use the web frequently and type in Japanese, things that are impossible to do with the just the VT alone.

So for tasks that need a graphical user interface, I use X11, which I start from the VT though the startx command. To eliminate screen tearing and improve rendering, I use it with picom.

When I upgraded my SSD to 512GB, I took the time to try out Wayland and Sway (the i3 equivalent in Wayland). While the setup and performance of Wayland are superior to X, most apps still don't work with it, and screen sharing is broken (black screen). There are workarounds for this, but I think Wayland isn't practical for now, so I reverted to X11 and i3.

To be able to type Japanese characters, I bootstrap uim (universal input method) and anthy with X11. I toggle the Japanese input method using the meta + / combo.

I use i3-gaps, a tiling window manager, for navigating through my X11 applications. It is lightweight and fast compared to using the usual Linux desktop environments and comes with i3-status for monitoring the machine status, volume, connectivity, and time. I configured it to use vi-like keybindings for more comfortable keyboard accessibility.

A tiling window manager isn't for everyone as it is aimed for power users and terminal-centric workflows. It also doesn't work nicely with most GUI apps and dialog windows.

X220 Environment
NUC Environment

My X220 has a resolution of only 1366x768, so I configured i3-gaps to maximize the screen estate, and adjusted the border and focus colors to make it less distracting. The default fonts are a bit blurry on small sizes, so I switched the i3-status fonts to a monospace pixel font called Terminus.

Disk Encryption

Encryption is an essential setup that I have in all of my computers. I don't want anyone to access my files directly from my storage devices in case I accidentally lose them.

The X220 is equipped with a 512GiB Kingston self-encrypting SSD. The encryption is set up with sedutil and is easy to enable and disable anytime. Unlike dm-crypt locked partitions, hardware-level encryption is convenient and frees the CPU from encryption/decryption overhead.

I also have a Veracrypt-encrypted thumb drive (32GB) for storing sensitive files, which is always attached to my keychain. I don't entrust cloud storage with confidential files anymore, no matter how convenient they are.


I prefer to apply a unified color scheme across my terminal emulators, text editors, and other customizable applications.

Dark theme feels right for terminal and coding. However, my eyes don't do very well in light over dark themes when reading articles and blog posts, perhaps because of my myopia.

From Atom One Dark, I now use Gruvbox Material color scheme.

firefox, i3-status, vs-code and nvim with gruvbox material colorscheme