I set up a new Windows laptop recently, giving me a chance to take inventory of what software I use on a regular basis. I find it interesting to peek behind the curtain to see how other developers work; maybe you will too. If nothing else this will help me next time I set up a laptop.
This ended up being a lot bigger than I thought it would be. No wonder setting up a new laptop is such a pain. I'll try to keep this updated as my process changes.
Edit: A friend pointed out my list is very similar to the Hanselman Ultimate Tools List but I swear it was just convergent evolution. Well, until now, when I start to steal from him.
- Chrome: My main browser; I'm usually logged into multiple google accounts. I use a different theme for each so I can tell which window is my personal account and which is my work account, etc. Plugins I use:
- Behind The Overlay: You know when websites put up an overlay saying "Turn off adblock to see this site"? This removes the overlay in a single click.
- Don't F With Paste: Prevents websites from disabling "paste"
- Google Hangouts: My most used chat, and it's right in the browser.
- HTTPS Everywhere: Increasingly obsolete now that HTTPS and HSTS are common, but forces secure connections when available.
- IPvFoo: Shows if a webpage is delivered over IPv4 or IPv6.
- LastPass: My password manager of choice; partially it's inertia, but I do like the fact that it has cross platform support. They recently changed their Terms of Service, so I'm looking into alternatives.
- Privacy Badger and uBlock Origin: Two different ways of blocking trackers and ads. Dear publishers, I really tried to accept your ads, but ads are bad for security and bad for performance. There's some synergy here--Privacy Badger dynamically detects trackers based on behavior; uBlock has a blocklist. Update March 2021: Privacy Badger is moving to a blocklist as well.
- Tab Count: Can you beat me? My record is 390 tabs open at once.
- Video Speed Controller: "Speed up, slow down, rewind, and advance any HTML5 video with quick shortcuts." Allows finer-grained speed control than the default youtube control.
- Firefox and Brave: Sometimes it's useful to have a second or third browser for testing.
- Tor Browser: For completely untraceable browsing, and for exploring the darkweb.
Chat and mail
Because nobody agrees, and nobody federates, we're stuck with chat Balkanization.
- The previously mentioned Google Hangout plugin for Chrome.
- Slack: I'm on lots of Slacks.
- Thunderbird: When I need to use a desktop client for some reason. I'm looking at alternatives, but for now this is fine.
- I mostly use these on my phone:
- Discord: I have one group on this.
- Keybase: I have one group on this.
- Signal: The most secure option.
- 7-zip: Still the simplest and most capable compression software out there.
- Adobe Reader AKA "Acrobat DC": It's more secure since they adopted process sandboxing; that being said, there still have been pretty bad security bugs. Maybe I'll switch to either Sumatra or Foxit in the future.
- Chocolately: Command line package manager for Windows. If you like "apt get" or "yum install", this is the Windows equivalent. This may be replaced in the future by the Microsoft native winget but it's not quite ready.
- f.lux: Adjusts the display color reduce blue hues at night, to avoid disrupting your circadian rhythms. You can even have it adjust household smart lights! But I haven't done that yet.
- Google Backup and Sync aka Google Drive: The easiest way for me to sync files between computers. I pay $10 a month for the 2TB storage plan.
- paint.net: Better than the default Windows paint app, but a lot less complicated than Photoshop.
- Private Internet Access: The VPN I use. This is less and less useful in a world where every app is already using TLS, but still useful in limited situations.
- putty.exe: SSH client. Although I'm usually using the Windows built-in SSH.
- Vendor-specific SSD tools. Keep your SSD firmware up to date; standard Windows updates usually ignore this step. Samsung Magician WD Digitial Dashboard
- SUMo and DUMo: Scans installed software (sumo) and drivers (dumo) and lets you know which packages have updates.
- TeraCopy: Better than the default windows GUI copy dialog. If for no other reason than it checksums and verifies data was copied correctly.
- VLC: If VLC can't play it, you don't want to watch it. Seriously... please don't install some sketchy codec pack.
- Windows Defender for antivirus. Not perfect, but still pretty good. Really, all the antivirus tools suck in their own way. At least Windows Defender is fast.
- Windows Terminal: Windows finally gets a decent terminal, and it turns out it's fantastic.
- WizTree: Figure out what's using up your storage. I used to use WinDirStat, but WizTree is about 100 times faster.
- Brother printer drivers Printing still sucks in 2021, but the Brother laser printers seem to suck the least.
- Steam: All work and no play...
- Tidal: I used to have a Spotify subscription, but Tidal pays the artists more. Who would have thought Tidal would have been the least evil option.
Applications and tools specific to my software development process.
Why would I need more than one editor? Sometimes I like to take notes in one while editing code in another; this way if something freezes or I close a workspace, etc, the other editor isn't affected.
- Notepad++: For editing small files, taking notes. Kinda clunky interface.
- Sublime Text: Slick, and I might be using this if it weren't for VS Code. I bought a license for this which allows me to use this on any machine, the way licenses should work.
- Visual Studio Code: I started using this a couple of years ago, and quickly became my favorite editor. The best product Microsoft makes. The remote editing feature is unmatched. TODO: list what plugins I use.
Environments and languages
- Git for Windows: Git has eaten the world.
- Python: I'm finally Python 3 compliant in all of my personal projects, so no need to install Python 2 anymore.
- Virtualbox: How has Oracle not ruined this yet? I have no idea. P.S. Don't install the "VM VirtualBox Extension Pack" unless you absolutely have to--it has a different non-open license than VirtualBox itself.
- WSL2: Linux + Windows! Nothing to download--this is built-in Windows 10 feature, but you do have to take extra steps to enable it.
- Nirsoft tools: I download each tool as I need it.
- Sysinternals Suite: Advanced system utilities, especially useful for Process Explorer. I'm kinda shocked these don't ship by default these days.
- WinDbg: I'm using the WinDbg Preview from the MS Store these days. TODO: how to set up _NT_SYMBOL_PATH
Things I'm working on but may not need on every system. Partial endorsement.
- 3d printing:
- Harden Windows Defender: For the paranoid.
- Hyper-V: Level 0 virtualization might be more than I need.
- Rust: The systems programming language of the future
- Tailscale: "Zero config VPN." Tailscale lets me get to my home servers without poking a hole in my firewall.
- WinMerge: I still haven't found a merge tool for Git that I like as much as the old Perforce tools. A friend suggested this to me, so it's getting an audition.
- Wireguard: The VPN of the future. Update March 2021: Tailscale (which uses Wireguard under-the-hood) might be better.