The One and the Many

A new computer for work

I have been thinking about asking for a new computer at work. I am torn between a regular laptop running Linux or continuing to use a Chromebook and getting a mini PC to use remotely.

In this post I'm going to go through my thinking on this. I want to try to make the best decision as I don't want to waste money and I don't change computers often.

My current setup

I am currently using a Chromebook (an Acer Chromebook Spin 13 CP713-1WN-53NF). This is a model from 2018. This has been mostly working well, but it is beginning to show its age in that I can sometimes feel it hitting memory limits (switching between windows is sluggish when this happens). As well, my understanding is it will be EOL soon, which would require a replacement so that I could get security updates.

For development, I ssh into a VM on GCP and work there. This again mostly works well. The main issues with the VM are that it is not super powerful and that it is an ongoing cost to run (I shut it down when I'm not using it, but it still costs around $67 USD/month using my napkin math). It could end up being more efficient dollar and performance wise to get a local machine and use that.

Another issue is I am the only one at my company working this way. We have recently begun moving to a local development setup using DevPod. For that, I use the DevPod gcloud provider. Using this provider has various minor issues, but the most relevant is that we are maintaining a separate DevPod config for it (so just for me). It would simplify the DevPod setup if I wasn't doing this. That said, it is not a lot of work, and it's possible it would be useful for others to have the option of this setup.

Another Chromebook?

One of my options is to keep using a Chromebook. I could either get a new one or use a newer spare one the company already has.

The problem with this is that it still leaves me with using a VM on GCP, which I think is getting to the point of being untenable for the cost/performance/maintenance reasons I mentioned.

To do away with the GCP issue, I think a decent solution would be to get a small server that I would use headlessly. I am thinking a mini PC such as the Framework Desktop or the Beelink SER9 or SER8. I'm currently leaning towards the Beelink SER8 as it seems like plenty for my purposes.

I think a mini PC would work well for me, except it makes me less mobile. Occasionally I like to (need to) be able to work away from home, such as if there is a power outage or I need to do something like help out watching someone else's house/pet. I could likely bring the mini PC along with me or connect to it remotely, but that complicates things.

Another issue is it is another computer to manage and secure. This is probably not a huge issue, but it's a complication. I wouldn't be running a whole lot on it so there wouldn't be a lot to manage. I am just generally paranoid about securing computers. e.g., I would want to run a firewall on it and only allow particular IPs to access particular ports to protect it from the local network.

For entering the password for the encrypted disk, I think I could do something with Dropbear as described here. I mention this as it was one of my concerns - how to deal with entering the password on boot.

Reasons why I like Chromebooks / this Chromebook option:

A Linux laptop?

If I went this route, I think I'd go with a Framework laptop, likely the Framework 13, but I'm also thinking about the 16. This looks like a quality machine and I feel relatively confident it would work well with Linux. I think it would be powerful enough for local development.

With this option, I avoid needing to manage a mini PC, which is nice. I'm also easily mobile.

I am still somewhat concerned that with heavy local development I could end up with overheating issues though.

And I don't really want to build a machine or deal with things like configuring and securing Linux and managing backups. I'm capable of these things (my personal computers all run Linux), but I like not having to think about them.

It does have the benefit that it is similar to what many others at my company are now doing - running everything locally. In some ways it is the easier path to choose. With a mini PC, I wonder if anything would arise where we'd have to make changes for my esoteric setup.

Which to choose?

As you can probably tell, I'm biased towards the Chromebook option right now. I suppose even if I ended up getting a Linux laptop, having a mini PC could still be useful to have. It might be more powerful than the laptop and let me generally avoid heavy load on my client. I'm still undecided.