I figured it would be fun to document the hardware and software that I use to get everything done on a regular basis. Even if it’s for nobody but future me, this should be a fun post to review later. [caption id="attachment_1062” align="alignright” width="300”] Pictured: the computer I actually need.[/caption]
I built the desktop computer myself, so it’s more of a parts list than a computer and it’s definitely overkill. Parts were chosen for the 1% of the time that I play video games rather than the normal use of the computer (browsing the internet). Short list:
- CoolerMaster HAF 932 case - this is a huge case, but it’s easy to work in.
- EVGA X99 Classified motherboard
- Intel i7-5930K (6 cores, 3.5GHz)
- 64GB of Corsair Vengeance memory (it’s PC4-25600 running at 3200MHz, if you care) - memory speed matters for gaming.
- EVGA 1080 Classified video card - when I do game, I want everything to fly.
- A pile of SSDs in various RAID configurations.
- Two 27” Dell 4k monitors (P2715Q) - in hindsight, I would have gone with a single, but larger, display.
As I said before, this system is complete overkill. The upside is that I don’t need to worry about much of anything - space isn’t at a premium, CPU is readily available, and RAM is close to limitless. Well, for my purposes these statements hold true.
My laptop is easier to describe - it’s a Dell Precision 5510 with the top options available. It’s total overkill for my purposes, but it works. Through some careful decisions and power tweaks, the laptop will run for about 6 hours on battery. While not impressive across the whole field of laptops, that is an impressive power figure for such an overpowered laptop. If I were buying the system again today, I would go for the recently revised XPS 13 with a brand new Kaby Lake processor. In the right configuration, it can allegedly run for about 11 hours off of the battery. Most things I do don’t require a lot of processing power, so I can get by.
The Operating System
Both of my systems are running Ubuntu 16.04 LTS. Technically, the desktop is dual boot, but that will likely change in the near future as I make some additional changes to my configuration. Dual booting is a colossal pain and it’s possible to get great game performance these days through wine and/or virtualization. Why Linux? I like it. I feel at home on a Linux system. I ran Windows 10 on both systems for the first 4 months of the year and it wasn’t a bad experience. Since I mainly use my computers for school work (software written to run on Linux systems), it’s just easier to be in the same environment all the time. When I need Windows, I spin up a VM.
I write nearly everything using emacs. After messing around with several other editors and not being happy, I spent a half a day and configured emacs to work the way I wanted. This mainly involved downloading spacemacs, adding and removing several layers, and changing a few additional settings. Almost everything else is done in a browser. I use Google Docs for presentations, documents, and spreadsheets. draw.io handles my diagramming needs. Google Play Music takes care of buying and listening to music (there’s even a desktop app Google Play Music Desktop Player). Outside of emacs and a browser, it’s pretty much a laundry list of command line tools and utilities:
- zsh and oh-my-zsh to keep the shell happy.
- GCC and clang for compiling software.
- clang’s extra tools for software analysis. I specifically use
clang-tidyto try to find problems in my code.
valgrindfor memory analysis. Valgrind helps find memory leaks while you run a program.
- cmake for generating makefiles and managing dependencies.
- exercism for programming exercises/practice above and beyond schoolwork.