DEV Community

Cover image for 5 things to do before reinstalling your mac
Mauro Garcia
Mauro Garcia

Posted on • Edited on • Originally published at maurogarcia.dev

5 things to do before reinstalling your mac

I've been using my mac since mid-2018 without performing any clean installation and, despite I always try to keep my computers as "mess-free" as possible, this time I couldn't make it: I had a real mess.

Why?

Mainly due to I'm currently working with a lot of different technologies like Angular, .Net core, Swift, Node.js, Svelte, SQL Server, Docker, Raspberry Pi VM's, etc.

Mission: Cleaning my mess before end of the year

So I decided to clean up my mess once for all by performing a clean installation of macOS Catalina.

As I've been working on a lot of things lately, I was scared to loose code changes, configurations, assets or important documents.

That's why I came up with a "TO-DO list" of things I needed to check before erasing my disk. Here is my list:

1 - Make a list of applications you need to reinstall

As I said before, I use a lot of apps to do my work. So I didn't want to forget to install anything. Here's the list I came up with:

  • Figma
  • Visual Studio Code
    • C# extension
    • Material Theme, Material Icon Theme
    • Tailwind CSS Intellisense extension
  • Angular CLI
  • Xcode
    • Cocoapods
  • Chrome
  • Filezilla
  • Microsoft Remote Desktop
  • Teams
  • 1Password
  • Microsoft Office
  • Spotify
  • Postman
  • The Unarchiver
  • Slack
  • Docker
  • Azure Data Studio
  • Realm browser
  • Git
  • Net Core SDK
  • Sourcetree

2 - Don't forget to push

It would be really bad if you forget to commit the last changes you've been working on right? That's why you should make sure to open all your repos and check out the current state by running git status.
If everything was pushed, you should see a message saying nothing to commit, working tree clean.

3 - Make a list of your repos

I'm currently working on 7 repositories so I made a list as a reminder because I need them configured and running all the time.

4 - Backup your documents, assets, ssh keys

When performing a clean installation is the best time to check your Downloads and Documents folders and delete those files you don't really need.

Be sure to make at least one copy of those files you need before erasing your disk. In my case, I made 2 backups of my ssh keys just in case.

5 - Sync your notes

I had my iCloud account full of images and videos from past years and, as I didn't have free space left, my notes were only available on my pc.

Make sure your notes are available on iCloud and if you need to free some space, make sure to backup your images and videos before deleting them from iCloud. A useful alternative I found is Google Photos because they offer unlimited storage for images and videos.

Additional Pro Tip: Use a Password Manager

I've been using 1Password as my password manager for the last two months and I cannot believe I use to live without it 😄 It's super useful and will let you access all your passwords in one place from any device.
A personal recommendation is to set up a 32 digits unique password for each service you use. 1Password has a cool feature that lets you generate random passwords with just one click.

Did I miss anything?

I sure hope not because I'm writing this article from my clean mac 🤣

Feel free to share your tips before reinstalling your mac in the comments below 👇

Top comments (17)

Collapse
 
krkd profile image
krkd

A personal recommendation is to set up a 32 digits unique password for each service you use.

Please do not do that, at least not without some consideration first. There are plenty of software solutions, services and sites out there, that struggle with passwords that long.

The best case you get is that they strip all the characters after the 12th (which seems to be some magic length after which problems start). Worst case is that your password is accepted, then horribly mangled before being stored in the database, resulting in an inability for you to log in.

Since you are already using a password-manager, you're not re-using passwords anymore - that means, you successfully eliminated one of the biggest password-related security risks out there. Making your passwords artificially longer does not add any meaningful security.

I used pwgen -y 12 to create the password "CophohJ#eo6o" and tested it against howsecureismypassword.net. It would take a modern computer over 30.000 years to crack this password, and even if we throw a lot of computing power against it, we'd still be talking about hundreds of years that it would take for someone to brute-force this password.

Then I used pwgen -y 32 to create the password "nu5ca$JieQu1oozooph7Cu6nohchahQu", testing it against the same site. The result was that it would take roughly 2 Tredecillion years for someone to crack that password. Obviously, that's significantly longer than with a password that's only 12 characters long. But .. how realistic is it that the password in question is going to be still relevant in hundreds of years?

(Please note that you should never randomly paste actual passwords into a third-party service, I was just using this as quick way of measuring the impact of the password-length.)

If you really want to enhance the security of your accounts, add a second factor to your authentication process. Which, coincidentally, is something password managers (at least 1Password has that feature) can help you with.

Collapse
 
mauro_codes profile image
Mauro Garcia • Edited

Thanks for your suggestions! Do you have any source of info about that thing you mention about not using very long passwords? I would like to read more about that topic before changing my passwords.

Great advice about using things like 2FA (that's one of the main reasons I'm using 1Password)

Collapse
 
krkd profile image
krkd

Thanks for your suggestions! Do you have any source of info about that thing you mention about not using very long passwords? I would like to read more about that topic before changing my passwords.

I can't give you any proper sources, unfortunately. Very few vendors tend to document that kind of behavior (for obvious reasons), so I can't offer anything more than my word, based on experiences.

  • Supermicro IPMI - the official maximum password length is 20 characters, has been for half a decade. In reality, everything that's longer than 20 characters will be trimmed and ignored.
  • IBM Sterling Supply Chain-products - the same applies here, the maximum password length is 20, but everything more than the minimum password length, 8 characters, gets trimmed and ignored. Additionally documentation states that usernames can not contain certain special characters such as ampersand. This also applies to passwords, you'll get a very useless error message when you try to use those.
  • SAP Data Access server has a maximum password length of 30. If you go over that, the software trims it down to 30 and adds a newline-symbol (???) before storing it. If you manually set the password-policy to a maximum length of 30 you'll be fine.

Those are concrete products I can name you from the top of my head. I've had disappointing experiences with European financial systems as well, but those are anecdotal and I'm not entirely willing to flat-out condemn those products because of that.

Collapse
 
messerli90 profile image
Michael Messerli

One easy thing to forget is backing up .env files or similar that are part of .gitignore.

Collapse
 
mauro_codes profile image
Mauro Garcia

Totally agree! That's a good one Michael.

Collapse
 
muuvmuuv profile image
Marvin Heilemann

Great! I do this every year once or twice. To have a better overview I have created a Notion page for myself which holds any information I need. Maybe some day I will automate that process haha
notion.so/marvins/Setup-9ad349afe6... ← Go to section "MacBook"

Collapse
 
mauro_codes profile image
Mauro Garcia

Your notion page is super complete Marvin! I'm considering to build my own now. Thanks for the idea!

Collapse
 
muuvmuuv profile image
Marvin Heilemann

Thank you! I enabled duplicating it as a template so feel free to use it as your base :)

Thread Thread
 
mauro_codes profile image
Mauro Garcia

Thanks again Marvin!!

Collapse
 
emr_e profile image
Emre Ş

TLDR;
I m pushing my whole Documents folder to git.

I m really obsessed with backup. I m using cloud storage, git and multiple disks.
After I got repaired my MacBook in its early times, I saw all the files in TimeMachine were owned by another user, Emre, who was the previous account of mine on Mac, and I pretty shocked and disappointed. I used to expect files will be flown on their old places automatically.
An unexpected visitor in the middle of night stole all devices of my friend, including MacBook, iPad, and iPhones. He was storing all Documents folder in cloud storage. Cool. I Like that. I m doing the same thing but still not relaxed.
So I did, I pushed my whole Documents folder to git. I m pushing projects individually and pushing the folder.
Yes, I love pushing.
Maybe I should delete all project. That sounds relaxing.

Collapse
 
mauro_codes profile image
Mauro Garcia

I'm using cloud storage too! About using git for pushing docs sounds like a really good idea! I didn't thought about that possibility before! If you are obsessed with backups and security checkout 1Password is amazing!

Collapse
 
padakipavan profile image
padaki-pavan • Edited

Here what i do :

  • push all .(dotfiles) to git (gitea on my raspberry Pi)
  • install syncthing on my backup machine ( raspberry Pi) and sync only critical files.
  • backup heavy files ( like videos, movies etc) to external ssd.

This allows me to keep everything synced at all times with backups, most importantly without the need for any 3rd party services like iCloud and GitHub as you can imagine the sensitivity of data being stored.

Collapse
 
mauro_codes profile image
Mauro Garcia

I didn't know about syncthing until now. It looks really cool I must say! Thanks for these tips!

Collapse
 
moopet profile image
Ben Sinclair

1.5: research alternatives.

Collapse
 
mauro_codes profile image
Mauro Garcia

Any suggestions?

Collapse
 
moopet profile image
Ben Sinclair

Well I guess I should expand :)
I mean if you make a list of the software you currently have installed, check out what else exists that does the same job. It's kind of a convenient time to switch things out. That's all!

Thread Thread
 
mauro_codes profile image
Mauro Garcia

I think you misunderstood the goal of the post. I wanted to share what things I do before erase my disk. The list of apps I'm currently using was just a plus.