No, I am not talking about politically correct cattle, but rather the idea of treating your personal computer as cattle.
I have always liked the idea of treating servers as cattle, not pets. By this, I mean having all configuration defined as code.
Increasingly, I think it makes sense to treat your personal computer as cattle too - particularly with the rise of agents. For servers, the main advantages are that you can destroy, deploy and scale them without thought.
This is also a nice feature for personal computers, though traditionally it hasn’t been that important. You normally only have one PC.
However, I think LLMs and agents start to change this equation.
In the era of agents, by treating your personal computer as cattle code, you get a few benefits:
- You can scale it as many times as you want - think of all those parallel agents you can run!
- Your agents can help configure your computer - and when they stuff it up, you can just roll back to a previous version
- You can set up tests on your personal computer to make sure it works.are the right services running, are the tools installed, does the system still boot and behave as expected? All automatically when you make changes or update your setup. This also helps your agents catch their mistakes.
- You can (re)deploy your computer anywhere you want, destroy it whenever you want, and share the exact same environment with others.
To turn your servers into cattle, you may use terraform, containers, k8s, a combination of these or anyother tool, my personal favourite though is Nix. I live for that immuatbility. Though for personal computers in my mind it really only makes sense to use Nix (or I guess GNU Guix). That’s because it actually is designed for that.