Life happens. Someone breaks into your car and steals your laptop. Or you get so excited while on a Zoom call, you accidentally knock over a glass of water rendering your computer inoperable. Maybe you went to update your computer, and it didn’t go well leaving you with an unbootable computer or a computer that can’t run mission critical software you need for your job1.
So, REGURLY BACKUP YOUR COMPUTER!
If you have an Apple laptop, I’ve found Time Machine—which comes built in (but not pre-configured)—to be the best option. I have two SanDisk Extreme Portable External SSDs that I alternate using as my Time Machine backup device each day. When I travel, I only travel with one. They are smaller than a pack of playing cards, and since they are SSDs they are pretty durable.
With this setup, (assuming I have a spare laptop or a laptop that doesn’t have damaged hardware), it takes me less than an hour to get back up and running from where I left off. Including everything from SSH keys2, apps, etc.
I had been using
hosted on GitHub, but I’ve found in the few times I’ve needed to restore a new laptop
(or a laptop with a corrupted OS update) to be cumbersome and slow to get back
to where my computer had been. The times I’ve had to restore from a Time Machine
backup (including when getting a new laptop) were quick and painless; I got back
to working (and pushing code) in less than an hour instead of 1-2 days3.
Don’t jump to the latest release of macOS. I learned this lesson the hard way. At the time, I was a Teaching Assistant. The latest and greatest version of macOS came out. I decided to upgrade. However, I couldn’t run Eclipse on the newest OS version making it rather difficult to perform my job duties. Luckily, I was able to dive into the source of Eclipse and mend the issue, but it could have been a lot more painful. Having a backup of my computer would have sped up reverting back to my old, working environment.[return]
Be sure you keep your backups safe by encrypting your Time Machine Backup with Time Machine’s built in settings. Additionally, use a passphrase for your SSH keys if they are going to be included in your backups.[return]
Sure, maybe my dotfile setup or restic setup wasn’t complete enough, but Time Machine makes it easy enough that I don’t see a need to invest more time in tooling that can be hard to get right (and painful to test if you’ve gotten it right).[return]