I reset my phone and my computer biannually. The reset itself is not very difficult; all I need to do is just back up my data and wipe the disk using Windows installation media. The annoying part, however, is reinstalling all my applications and software. Because I dread visiting all the download pages and running the executables myself, I tried many alternative methods, from keeping copies of the installers in a separate thumb drive to package managers such as Chocolatey.
Saving copies of installers
This method is easy, but I still have to double click all the executables myself and click through the installation steps. Also, when my copies go outdated, I have to visit the download page again anyways.
This method is more advanced than the previous one. Visit Ninite to get your copy of mass-installer that lets you choose the software you want to install. I liked the idea, but Ninite did not support some of the tools I use.
This method involves a package manager called Chocolatey. A robust community keeps track of the latest software in the Chocolatey repository, and I can install programs using just the command line. So far I like this one the most; everything can be fully automated, and update is as easy as installation.
Once Chocolatey is installed, create a text file named “packages.txt” and place the name of the packages on each line. Then create a batch file with the following content to install everything from the list:
for /F "eol=#" %%G in (packages.txt) do choco install %%G -fy
Tools I use (aka contents of my package.txt)
Although I use FireFox as my primary browser, I still need to test my web projects on Google Chrome. Also, integrated Google services are quite handy.
My choice of web browser. Highly customizable (although all I use are ad blocker and password manager).
So far, my favorite text editor. I tried Notepad++, Atom, and Komodo editor before, but I like VSCode the most.
Terminal emulator. I don’t use it that often anymore as I have WSL running on my machine now. But still, I like the look and feel of it.
Android Studio. I never learned how to build an Android application, but it’s pretty high up on my ToDo list. Someday!
My second IDE (my first was MATLAB, if that counts). My school used a lot of Java, and Eclipse kind of worked well with Java. I do know some people prefer IntelliJ, but I am too used to Eclipse now.
Solid Python IDE. Used to use a lot, but now I do most of my Python stuff in VSCode just because it loads more quickly.
C++ IDE. The problem is I don’t use C++ that often anymore.
Python. Butter. But I actually prefer installing it through the official installer just because it is more convenient.
Java Developer Kit 8. What is the latest version?
Node.js for all the npm fun
Lightweight media player. I don’t watch media that often, but it is reliable and light.
Steam for playing games and running wallpaper engine
I typically pin slack after the first installation because I’m on slack 24/7, and I always update it directly, not using choco.
GUI FTP client. Easy to use, but I tend to use the command line interface more often just because I’m lazy.
For benchmarking my SSDs
The best archiver manager out there. I am planning on purchasing the paid version.
The best image viewer out there. Created by the same company that made bandizip. Very fast and easy to use.
Easy to use GUI git client.
A tool to visualize my disk usage. Useful for identifying which folder to back up before reset, and finding out how much space my VMs are using.
Other stuff (not installed through Choco)
Virtual machine utility
Solid Markdown editor. Cost me $20, but worth every penny.
Paying for the subscription just because I use it once every couple of months.