My current home office setup is simple. On my desk, I have my portable small form-factor Linux machine. My code, my archived notes, and my reference books are all digital. Behind my back, always accessible, is a large whiteboard. It's where thinking happens.
They say that a poor craftsman blames his tools. While there's truth to it, it's erroneous to assume that a good craftsman can perform regardless of his tools. In the realm of top performers, the smallest advantages can make a difference. Excellent tools are no exception.
These are trying times, and it's pretty clear to everyone that solitude can mess up your mental health. A surprising flip side is that I'm enjoying the calm tranquility of structured solitude. I can spend days without unwanted social contact, needless decorum and the stress that accumulates in my hopelessly introverted soul from it all.
I figured it'd be a good idea to outline my academic plan here on my blog as an accountability tool, as well as to help me plan sensibly. What I mean by my academic plan is a list of which courses I will take in the remaining two years of university, and other personal projects that will help me gain practical programming skills. I've also linked to textbooks or resources that I'm using where applicable.
I've been quite motivated to study harder lately, owing somewhat to a realization of just how little I know. I was recommended a rant video from a Korean online mathematics tutor on Youtube and he asked his senior high school students, “do you know why the sum of geometric series is one over r minus one?” It's a simple equation, widely used in various applications, and one that has become ingrained in my memory at this point. Embarrassingly enough, I didn't know how to derive it. I knew, and the tutor knew, that that means I didn't really understand the equation. Of course, there are quite a few equations that are crammed out of my head, like all the variations of trigonometric identities and integration and differential formulas. The difference is that I could derive the latter by myself in a pinch, but not the geometric sum equation.
I'm merely 20, a college student with not much life experience in the grand scheme of things. Still, it's remarkable just how much my perspective has changed in the past two years. These are the ten things I wish I could tell my high school self if time travel were a possibility:
Every person who has their basic needs met with time to spare will inevitably have a dreaded visit from existential crisis. Me being me, a padentic over-thinker, it came and stayed in the form of major depression. I was paralyzed from acting on my worldly goals until I could figure out why I must bother to do anything.
Vim is an essential command-line program. Not only is it one of the most widely installed text editors for Linux distributions, but many TUI applications also use VIM-like keybindings. Learning how to “think in vim” has allowed me to edit text such as this blog post with mouse-less efficiency.
However, vim has a bit of a steep learning curve. Not as insane as emacs or dwarf fortress, mind you, but steep enough to warrant an entire Github page detailing how to exit vim.
In my previous post, I talked about how I use an i3-based tiling window manager for a terminal-based workflow. A great thing about i3 and XTerm, my terminal emulator of choice, is their customizability. These are some preliminary configurations I made for improved quality of life.
XTerm's appearance in ~/.Xresources
The ~/.Xresources file customizes terminal emulators' appearance. As I use XTerm instead of URXVT, I first deleted all lines specific to URXVT.
I've long held a bit of a fascination on the command-line interface (CLI), but was scared to approach it. Experienced programmers vouched for the power of the command line, its efficiency, and flexibility. Furthermore, as Matt Might recommends, the command line is extremely conducive to productivity, as there are little avenues for distractions. That's why I decided to learn how to live in the command line.