Developing on a dedicated server

As of Aug 25, I don’t develop on a dedicated server anymore. Long-term I believe, from an economic point of view, that it is best to invest in a performant machine, than renting one.

At the end of May 2020, I began renting a dedicated server (Ryzen 7 3700 PRO) for hosting Cerveau. A month later I decided to also use it as my primary development machine.

Benefits

I find developing on a dedicated machine to be beneficial in many ways:

  • Portable lifestyle: Full access to powerful development environment regardless of where I’m. I could be in a coffee shop with a lightweight 2-in-1 computer.

  • Portable performance: For lifestyle reasons, I am stuck with the maximum power laptops could offer. Even my “mobile workstation” Thinkpad P71 cannot match the CPU performance of the dedicated server, which compiles GHCJS Haskell projects way faster.

  • Upgrade often: In a year, if I wish I could upgrade my dedicated server to a better performance-to-price ratio. As I use NixOS, migrating to a new server is simply a matter of using the declarative config and running nixos-rebuild switch1.

Revival of the thin client

My next portable computer will likely be a Chromebook with retina-quality display and Thunderbolt support (for connecting to the 5k display). At the moment, however, I’m content with using the too-powerful P71 as a “thin client” to the dedicated server (when at home office), or taking the aging Macbook Pro 2014 to cafes and parks.

Downsides

  • Requires reliable internet connection all the time.
  • GHCJS apps (ob run) are somewhat slower to load, however the jsaddle bridge has worked quite reliably so far in my experience.
  1. With the caveat being that installation of the OS itself can be tricky, depending on the hosting company. For OVH, see Installing NixOS on OVH dedicated servers.

    ↩︎