My New Home Setup

Better Patterns for Development Work.

Vincent Warmerdam koaning.io
08-15-2021

A while ago I switched my home setup for development and it’s been such a success that I decided writing a short blogpost about it.

The setup involves three machines.

Things that work out very well

There’s so many benefits to this approach.

  1. I can run a heavy machine learning algorithm while recording. Since the machine that is running the recording software isn’t the same machine that is running the machine learning script I suddenly don’t need to worry about any lag when I’m making educational content.
  2. In general, the NUC is a much better deal in terms of hardware. This is especially true for the disk, especially when you compare it with the apple hardware. It’s much cheaper to invest in a second lightweight linux machine than it is to upgrade the specs on an apple device.
  3. Upgrading an apple device is near impossible (boo apple!). But upgrading the NUC is a breeze. I got 32Gb of RAM but nothing prevents me from upgrading it to 64GB in the future.
  4. Visual Studio Code has really nailed the SSH feature. It’s a native experience, really. But the killer feature here is that all the things that currently don’t run on the M1 chip (tensorflow, docker) all run extremely well on an Intel machine running linux.
  5. I certainly need to use slack and I also need to check into social media from time to time. But the nice thing about limiting that to just my laptop is that I’m literally able to “shut the lid on distractions”. It’s proven to be a huge reducer of stress.
  6. I could have chosen not to go with the Intel NUC in favor of something that’s heavier. But, with 12 threads, the NUC is pretty darn good for the small form factor. It’s also pretty light on energy consumption since the hardware is more like a laptop than a server. I also think it’d be a bad idea to go for heavier hardware. If I had bought a big machine with GPUs then I’d have huge fans spinning on my desk and I’d be writing my software on a machine that doesn’t represent the average persons availability for compute.
  7. If I wanted to, I could totally bring the M1 Mac and the NUC with me! Sure, there’d be some fumbling with cables involved but both totally fit inside of my backpack. It’d be very easy for me to move my entire setup for a few days if I wanted to work from my parents house for a week.
  8. Theoretically, you could also replace my intel NUC with a VM in the cloud. My setup however, doesn’t require the internet. It only needs the network in my home.
  9. Should any of my machines break, I can still be productive enough with the other machines in my house.

Final Remarks

Especially with the advent of home work, a lot of us lucky developers can rethink what our ideal setup might be like. I don’t like the idea of investing in big apple machines that aren’t upgrade-able and this NUC setup really strikes a balance. I imagine at some point in the future, when laptop manufacturers finally get their keyboards in order, this setup might also work for windows machines. The laptop can be become much more of a user interface, where an upgrade-able linux machine can run all development software you’ll need.

Citation

For attribution, please cite this work as

Warmerdam (2021, Aug. 15). koaning.io: My New Home Setup. Retrieved from https://koaning.io/posts/mac-nuc-ssh/

BibTeX citation

@misc{warmerdam2021my,
  author = {Warmerdam, Vincent},
  title = {koaning.io: My New Home Setup},
  url = {https://koaning.io/posts/mac-nuc-ssh/},
  year = {2021}
}