Building My Own Development PC
Achieving Meteor 2-second rebuild time for £830
This was my purely hardware solution to the problem of slow Meteor build times.
When I decided to get into development I was adamant that I wasn’t going to run out and buy the latest and greatest in hardware until I actually knew how to code and knew what my requirements were in the long term.
So I went out and bought a used 15" Acer laptop for £150. It had the following spec:
- Memory: 6GB RAM
- Processor: Intel Pentium CPU 6200 @ 2.13GHz (Dual Core)
- OS: Ubuntu 16.04.1 LTS 32-bit
- Storage: 153.5GB HDD
With this setup, I saw rebuild times of 15-30 seconds (including the browser refresh) of a side project using Meteor 1.4, React and a Mongo-db instance with around 1500 records. I found these times to be excruciatingly slow when it came to making multiple changes to my code and waiting to see the results. You can see the initial version of the project I was working on here.
After trying to get work done in cafes and libraries I realised that I was much more productive working at home, and once the side project was complete, I decided I would reward myself with an upgrade. The choice then became one of getting another more powerful laptop or a PC.
My initial choice was between the Macbook Pro and a gaming PC such as the Asus ROG, but since the former is very expensive and the latter’s graphics abilities were of no use to me (I’m not a gamer) I ruled them both out.
These being quality machines, I compared them against reviews of other PCs and laptops. I noticed that where the other systems scored higher in performance, they were sometimes lower in build quality or some other aspect; and vice versa. There was no overall winner that had me sold.
After a lot of reading, at some point I realised that I could self-build a PC and have money left over (if I desired) for a laptop, though not a particularly powerful one, for the same money as either the Mac or the Asus.
My requirements became the following:
- A SSD drive (faster read/write times than a HDD).
- Ubuntu: On account of it being free and faster that Mac OS.
- Mini-ITX case: so that it can unobtrusively fit onto my desk.
- Quite: fan noise irritates me.
- 16GB DDR4 RAM: this seems the bare minimum for development.
After some searching I came across these instructions for a $682 Skylake Mac Mini Hackintosh Build, which formed the basis of my build.
As I currently have no intention of working with Mac OS I did not change the Wi-Fi card to the Broadcom model, which would make it compatible with drivers that come with it.
My new spec list along with what I paid for each item were as follows, making a total spend of £830 (correct at time of writing):
- Intel Core i7 Quad-Core i7–6700 3.4GHz Processor £279.97
- Crucial Ballistix Sport 16 GB kit (8 GB x 2) DDR4 2400MT/s UDIMM 288-Pin Memory £121.00
- Samsung 850 PRO 256 GB 2.5-inch SATA III Solid State Drive £121.00
- Gigabyte H-170 Motherboard £109.00
- Noctua NH-L9i CPU Cooler £35.00
- External PicoPSU Power Brick £24.00
- MiniBox 160W PicoPSU £40.00
- Streacom F1C-WS £90.00
- Noctua NF-A4x10 FLX £10.99
The case comes in two finishes; black and silver, I went with the former to keep my monitor the main point of focus on my desk. It took me about an hour as a newbie to put it all together. I imagine it would be much faster if I did this for living.
- My rebuild times were drastically reduced to only 2s using Meteor 1.4.
- The PC as a whole takes only 15 seconds to boot up whereas the laptop could take as long as 2 minutes.
- With the laptop, a Meteor reload would fully load the CPU, whereas with the PC, the 4 cores barely rose above a few percent, as viewed from the System Monitor tool.
- It has a footprint of 19cm x 19cm making it smaller than my laptop.
- It is super quiet, the fans are barely audible during the day above the hum of the small town in which I reside.
- The drawback of such a small case is that there is no room for a graphics card should I want to start gaming in the future.
- All the ports are at the rear. However, this does give the front a clean look.
- There is no reset button but the power switch can be configured via the BIOS to act as a “soft” switch, such that, pressing it brings up a dialogue box giving you the option to restart/suspend/shutdown.
- You might find the external power-brick an eyesore. Careful cable management can hide it under your desk.
Overall I am very happy with the choice of components I made and the money I saved by self-building. The PC is powerful enough for video editing and I am working towards editing my first YouTube tutorials.
Being wiser about my needs means that I am now using Docker to create isolated development environments to prevent software conflicts that in themselves can chew up time in resolving.
The research of hardware components I did means that I am aware of the massive progress that PC cases, coolers, cables, memory cards, fans, etc., have made since I left college. You can now build something that is not only small and powerful but also attractive to look at with options that include tempered glass, liquid coolers, custom braided cables, case strobe lighting and shaped cases.
What have you built to meet your needs?
About the Author
Imran Nazir graduated from the University of Birmingham, England, with a Bachelors degree in Computer Engineering and a Masters in Telecommunication Networks and Software from the University of Surrey, England. With over 13 years of experience, he has worked extensively on various wireless technologies including GSM, WCDMA, HSPA, and LTE. He is passionate about technology and programming in Python. In his spare time he likes cycling and manages bee hives for honey.