# Computing Chronicles

I recently spent an entire month’s paycheck on a new PC. Before jumping into it, I wanted to revisit my PC history from the beginning.

The primary use cases for all my PCs have remained consistent over the years: gaming and coding.

### Prologue: Xerox Shop PCs

My family didn’t have a personal computer until I was in fourth grade (2007). Before that, my (much older) cousins owned an internet café, or as per Indian colloquialism, a “Xerox shop.” They owned several computers with CRT monitors. I have no idea what the specs of the machines were. I’ve asked said cousins, let’s hope they remember. My cousin came through big time, as far as she can remember it was:

1. Intel Pentium 486
2. 32 or 64MB RAM
3. 32 or 64GB HDD
4. Windows 95/98

The only memories I have are of playing Road Rash and Prince of Persia, or more accurately, I would try to play, fail. Then my cousins would take over and finish the level for me.

### I: Noise Box

In 2007, my parents finally bought our family’s first PC. Instead of opting for a standard OEM computer, they bought an assembled PC to save a few precious rupees. The specs of the computer:

1. Intel Core 2 Duo E4500
2. 1GB DDR2 667 Mhz RAM
3. 160GB HDD
4. Nvidia GeForce GT210 (later addition)
5. (Pirated1) Windows XP.

Although I strongly advocated for buying a GPU, my parents did not heed a 9-year-old child. Smh. They would reverse this decision in a couple of years.

The cabinet was a janky, broken piece of shit. The most memorable thing about the PC was just how noisy the fans were. The windows partition would become full and then not boot, requiring a fresh install of Windows.

Despite its flaws, this was the PC that got me into both gaming and coding.

On the gaming front, GTA: Vice City2, GTA: San Andreas, NFS Underground 2, and NFS Most Wanted were the defining titles. I also seriously got into online gaming: every variant of Adventure Quest, RuneScape, and World of Warcraft. I’ve probably spent over a thousand hours playing those games. In 2009, I bought GTA 4 with all my saved birthday money without understanding “Minimum Specifications.” I was quickly heartbroken to realize my jank-ass PC wasn’t going to run GTA 43 without a GPU. For nearly a year, GTA 4 remained on a shelf unplayed until my parents agreed to buy me a GPU: Nvidia GeForce 210. This unlocked a whole new axis for me. I quickly discovered that the human eye can see beyond 20fps. Due to the terrible cabinet and lack of proper airflow, the GPU did not last long, it died in a couple of years, and I went back to 20fps gaming.

I also learnt how to code in Java on this PC. Not much else to say, I wrote shitty programs, but it was my first foray into programming.

I still own all components of the Noise Box. The monitor is used in a vertical orientation, the hard disk is used in my newer PCs. It contains my offline music and movie library. The processor stands on my makeshift monitor stand with the plan of having it cleaned and framed. The remaining parts are stored in some attic collecting dust.

On a final note, I bought the Logitech Cordless Rumblepad 2 to play FIFA, and it works flawlessly to this day. I love Logitech and highly recommend it.

### II: PCMR

2012 was the year I discovered Reddit, and I quickly joined my beloved circlejerk community: PC Master Race. This led me down a rabbit hole of figuring out PC hardware, including LinusTechTips. For fun, I would spec out PCs on Flipkart at different price points with no intention of buying the PC.

In 2014, right after I finished my 10th-grade board exams, I finally ascended. I bought my new gaming PC:

1. Intel i5 4440
2. 8GB DDR3 1600 Mhz RAM
3. 1TB HDD
4. AMD R9 270X
5. (Pirated1) Windows 8.1
6. Ubuntu 14.04, Arch

I played a lot of games on this PC. Too many for me to even list them all, the memorable ones are Witcher 3, GTA 5, Bioshock Infinite, Skyrim. But the most important game of all: Battlefield 3. My friends and I played several hundred hours of BF3 over two years while chatting on Skype. We would all sneak onto our computers during school nights after our curfew times to play BF3 until early hours. They went from people I barely knew my best friends. Shoutout to Rakesh, Gokul, and Rishav.

This was also my first *NIX machine and the machine on which I learnt to properly write code. I continued writing larger Java projects and dipped my feet into C and Python as well. I also discovered the use of a terminal and an IDE, instead of running programs using BlueJ 4.

The PC also survived multiple road trips to and from college. I used it for more compute-heavy work and gaming during college alongside the Super Trooper. It went through some drastic changes: I uninstalled Windows and switched to Arch Linux. The GPU was pretty useless for me since I was into deep learning, but almost all frameworks (TensorFlow, Pytorch) only support hardware acceleration via CUDA/CuDNN on Nvidia GPUs. It’s nice to see this change recently with ROCm.

Ultimately the PSU gave out, and I realized I needed a new PC with a better CPU and an Nvidia GPU. I’ve tested it, and all the components work as expected. I’m trying to sell the machine, so if you or anyone you know is interested in buying, please contact me.

My only regret is that it didn’t have an SSD. IMO, HDD->SSD is the most noticeable change in the everyday use of a computer.

It lasted a solid 5 years.

### III: Super Trooper

2016 was the year I started university, working towards a degree in Computer Science. I was making my inclination to computers official. As part of my university’s (exorbitant) fees, they would give us a new laptop. Why not let the student bring their laptops to university? I don’t know. But in the end, folks with their own laptops pawned the laptop given to us. I did not have a laptop at the time, so I had to make do with what was given to me.

I’ll start by saying that I absolutely love this machine if you couldn’t piece that together from this section’s name. The specs:

1. Some i5 Intel i5-6200U 5
2. 4+4GB DDR4 RAM 6
3. 120GB SSD + 500GB HDD
4. Ubuntu MATE {16, 18, 20}.04

I love it not for the specs, but for the sentimental value it holds. This was my gateway for all my coding, learning, entertainment for close to 3.5 years. It never once gave up on me, even after I treated it like absolute shit, dropping it multiple times from a height of ~3 feet. There was that one time I spilled beer on the keyboard. That’s not to say that it doesn’t have a few battle scars. The outer plastic shell is faded and cracked. The battery case is broken. My spacebar has no tactile response anymore after I had to remove all the keycaps to clean the beer.

The top lid is entirely covered with stickers from various events, teams, and clubs. Each sticker represents a very distinct memory, but the Project MANAS sticker is undoubtedly the most important.

If you wanna see the code that was produced on this machine, check my GitHub. Most of my projects and OSS contributions were written on this. This includes all the robotics work I did as part of MANAS.

It was also a capable gaming machine. I played a ton of World of Warcraft 3 using Wine on Ubuntu.

The laptop is still going strong. The battery life has taken a hit, but I always get ~5 hours of screen-time. Unfortunately, I don’t use it anymore since I’ve moved on to better devices. Still, I doubt I’ll ever get rid of it, solely due to the collage of stickers and the memories they represent.

### Interlude: The Middle Child

During my college, I technically did have a laptop of my own. It was my sister’s hand-me-down laptop. It was not the greatest, but it was useful for the rare moments I needed a spare laptop. It was a bulky, slow machine that wouldn’t last more than an hour on battery. Eventually, the battery gave out entirely and now needs to be plugged in. Last I checked, which was nearly six months back, it still works. It also lies on my table alongside the Super Trooper collecting dust.

### IV: The Other Side

Up until this point, my computers used Windows or Linux. I hadn’t used macOS thus far. Before using a Mac, I thought anyone willing to spend twice as much for similar non-macOS hardware was a sucker that was clout chasing. I was clearly mistaken.

Specs:

1. Intel Core i7
2. 16GB DDR4 2400MHz Mhz RAM
3. 512GB SSD

I got my hands on a 15” MacBook Pro at my internship as my professional dev machine. I recently finished my internship, and I can wholeheartedly say that I really like the MacBook Pro. So much so that the next laptop I buy for myself will probably be a MacBook as well.

The display, touch bar, trackpad, battery, and build quality quickly won me over. I still have gripes with the keyboard and the heating issues, but both are non-issues since I mostly use it on a table hooked up to an external keyboard.

At the end of the day, it ended up being a glorified machine to check emails, use slack and review code, since all the development was done on a remote dev box that I would SSH into.

#### Quick Sidebar: Overkill

The dev box that I was given was a ridiculously powerful machine. It runs 2x24-core Intel Xeons with 64GB RAM. The only time I’ve seen it appropriately utilized is during code compiles, which it blazes through. Safe to say that the MacBook never did any heavy lifting.

Moving to macOS was much easier than I expected. Having a familiar terminal environment helped. Any tool I was using on Linux was readily available, and at times easier to install thanks to brew. The rest of macOS is also pretty decent, nothing to write home about. I used the default apps for things like PDF, images, etc. and I have no complaints. It never lagged, and the boot times are excellent. I do like being able to authenticate using fingerprints. It took a good month the grasp of the keyboard shortcuts. I still stumble as soon as I switch between machines.

Although macOS is POSIX compliant, there is still an issue with the exact version they comply with. I faced a problem with a POSIX compliant software that used some pthread functionality that macOS didn’t support7, specifically PTHREAD_ROBUST_MUTEX8.

I obviously didn’t use the laptop to game, except the occasional match of Settlers of Catan.

This is the PC that resulted in this blog. After my PCMR machine died, I didn’t have anything to game on. I was tired of using Colab for running deep learning experiments, so I decided to bite the bullet and build a new PC.

Specs:

1. AMD Ryzen 3700X (first AMD chip)
2. 16GB DDR4 3600 Mhz RAM
3. 1TB SSD + 1TB HDD
4. Nvidia RTX 2070 Super
5. Windows 109, Ubuntu MATE 20.04

I also got my hands of a couple of monitors: Dell P2717H, Dell S2240L. Decent monitors, not as good as the MacBook’s display. I have my eyes set on buying an ultra-wide monitor soon. Maybe hop onto the VR bandwagon as well.

It’s doing pretty good so far. Haven’t done much programming on it since I’ve been busy with some university work and working full-time. It’s a beast on the gaming front, plays everything I own at ultra. I also bought a ton of new titles in the recent Steam sale, which I’m excited to try.

Any smaller updates on the PC will be posted on my feed.

### Epilogue

I want to acknowledge my Logitech G400s mouse, which has been the only mouse I’ve used for 7 years. It’s still going strong.

1. I do not condone piracy now.  2

2. Our version of Vice City didn’t have audio, so I played the entire game without any sounds whatsoever.

3. Not to forget the horror that is Rockstar Social Club

4. Shoutout to the ICSE peeps.

5. Found the exact model, thanks to my friend, Vishnu Dasu

6. Second shoutout to Vishnu for selling me his extra stick of RAM at a low price, when he upgraded.

7. Not sure if that has been changed in Catalina. I checked on Mojave.

8. I paid for a license this time.