‘Why you should never ever use NixOS’: a rebuttal
I first heard of NixOS around two years ago, when a friend decided to run it on her personal VPS instances. As with most new things, I immediately hated it. ...
For the lat couple of months, I’ve been spending my weekends setting up my home PC, network and other infrastructure. Over this series of blog posts, I will describe the setup, and various design decisions that went into it.
The first thing I did after moving to Mumbai was to build a PC. I bought all the parts from a local retailer that came highly recommended by a friend, Computer Selection.
I was deciding the parts for this system with upgradability in mind. This was around the time the Spectre and Meltdown family of exploits became public. Intel’s aggressive branch prediction and prefetch was one of the main reasons for their superior single threaded performance. I expected the next generation of Intel CPUs to have a significantly decreased speedup compared to previous generations. Intel also has a history of changing their sockets too soon, as opposed to AMD. They were also reasonably quick to patch x370 for Ryzen 2nd gen support. I might not have to upgrade the motherboard for at least a couple of generation, if AMD’s history is anything to go by. Given I wanted to experiment with sub-ambient cooling later on, getting a CPU with soldered IHS made more sense. The 2700x also came with the beautiful Wraith Prism RGB cooler out of the box.
I’m not a fan of over-the-top rainbow flashing RGB lighting, but I believe I can responsibly use just the right amount of RGB to make the system look classy. As much as I hate all of the competing RGB ecosystems causing market fragmentation, Asus AuraSync is the most supported. The C7H is also the prefered board for overclockers like Der8auer. It also had good IOMMU grouping, which might be useful for later, when I use this PC as a virtualization server later.
Ryzen is very sensitive to RAM frequency and latency, because the infinity fabric interconnect runs at that speed. I had to settle for the XPG Spectrix D40 3200MHz 16-18-18 because the Trident Z RGB 3200MHz 16-16-16 wasn’t available. I used 2x16GB sticks.
I reused the GPU from my old system for this one, hoping to upgrade to the next gen when it released.
Initially, I used a 1TB Segate Barracuda as a boot drive and a 4TB Segate SkyHawk for my Steam Library. There’s a dedicated 4x PCIe NVME slot on the motherboard, so it would be a shame to not use it. I later bought a 500GB 970 evo NVME SSD. Currently, I have a 250GB boot partition and a 250GB cache for my 4TB HDD.
I got an Antec 750 Edge fully modular PSU. It is overkill for this setup, but might be needed for when I get a second GPU.
For now I’m using a TP-Link TL-SG1005D. As of now I have no need for VLANs, QoS or other features. I don’t have an over-complicated home network with weird constraints like TLG. The stuff we had to do to debug and fix his home network deserves an entire other blog post.
I first heard of NixOS around two years ago, when a friend decided to run it on her personal VPS instances. As with most new things, I immediately hated it. ...
I have a habit of writing excessively long bash one-liners well beyond the threshold of it making more sense to write a script. Chaining commands and transfo...
SHAKTI-MS: a RISC-V processor for memory safety in C
I have a strange list of requirements, and a limited amount of hardware to satisfy them with. I needed: a Windows desktop for windows only software and ga...
A couple of weeks after moving into my apartment, I got a 100Mbps connection from Dsouza cable network, some local ISP that I had never heard of before. At f...
For the lat couple of months, I’ve been spending my weekends setting up my home PC, network and other infrastructure. Over this series of blog posts, I will ...
Using NGINX as a reverse proxy for webapps I got a KVM VPS from SSDNodes last week. I wanted to host a transmission seedbox, tapchat IRC bouncer and Jupyter ...
Quickly setting up headless access on linux SBCs like the pine64 This is a quick guide to enabling headless VNC access on the pine64 using USB serial.
My Github Blag I’ll mostly be posting how-tos on things that took me a long time to figure out, in case I need to do them again