- Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List
- Scott Hanselman's 2006 Ultimate Developer and Power Users Tool List for Windows
- Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows
Interesting what sticks with you, I couldn't tell you exactly which tools I downloaded or name a year as my favorite, but I can still remember getting excited about these lists and seeing them again makes me smile!
Those were different times and for various reasons in later years lists of tools weren't as interesting - with more tools, better search and more programming information online it become much easier to quickly find a tool 'on demand'. These days I'm back to wishing for more tool lists - lists by small business devs, lists from search-ranking-backpagers who aren't sponsored/popular/advocates, lists by craftsmen just for the love of it, lists from CRUDy developers decades in and still trying to do it better every time... I'd read those lists - so in the spirit of sharing here is my 2022 tools list!
Visual Studio Professional (often the latest Preview) - This has been a staple in my programming for about 15 years. I have of course had frustrations, installs gone wrong, mystery problems and other assorted issues - but mostly I just appreciate all the help it gives for getting things done and it has certainly improved over the years. Like many large/complex tools I would guess I probably only use 20% of this rather huge program...
JetBrains ReSharper - After some early use of DevExpress's CodeRush I started using Resharper in the late 2000s - I don't think anyone from that era would disagree that Resharper's refactoring capabilities at the time were magical and I have rarely run Visual Studio without Resharper since. In recent years Visual Studio's built in refactoring/tools have improved, but for now I'm sticking with Resharper... One detail about Resharper that I think deserves extra mention is that it has helped me learn a number of language features over the years - string interpolations, linq operators, initializers, etc... - that I would have otherwise been slow to 'see'.
LINQPad - my first LINQPad purchase was in 2008 and I'm still using it! I don't use it daily - but every week there seems to be some reason to reach for it. The program has gained all kinds of interesting capabilities over the years but my goto uses are code scratchpad (quicker than a new project, the always available db layer is often relevant, easy place to save fragments and extend over time), place to play with new Nuget packages (I'll often try new packages with test code in LINQPad before bothering to add it into any 'real' projects) and as a database query and update tool (I think SSMS is a better tool if I am thinking about 'the database' - LINQPad is a better tool if I am thinking about querys/data for code).
Fork - my generally straightforward use of Git seems to match well with the basic capabilities of most GUI git clients but for some reason Fork is the first tool that I am really happy with. Of course anything Git can be done on the command line - and Visual Studio offers some nice Git tooling also - but I continue to find that many day to day tasks are, for me, quicker and better in Fork. I have used Fork daily since late 2021 - well worth the cost!
GitHub - I work alone a lot in recent years and my use of GitHub is very basic - for me the real value in GitHub is that, at the moment, it has become ubiquitous enough that you never have to explain to anyone where your code is or why. My account on GitHub dates back to 2008.
Notepad++ - I'm not exactly sure when I settled on this as my goto 'notepad' variation - probably late 2010s - for me this matches perfectly with what I want for a 'right-click->quick edit' - honestly not a lot to say about this but it is a favorite.
Beyond Compare - Needing to compare things is inevitable and Beyond Compare continues to surprise me on the variety of files that it will produce useful comparison for (and the variety of data sources it will connect to). Used since 2014.
PowerShell - my Powershell skills are not deep but I know enough to get things done - for many years I have used Powershell for various build and deploy scripts.
grepWin - Mention grep and the command line should come to mind - with good reason, but grepWin is a simple way to get those features into a GUI File Explorer environment. Not sure when I found this but it has been a welcome addition to my toolbox.
RegexBuddy - without help I only remember the most basic regular expression syntax - for years RegexBuddy has been my goto for composing and testing regular expressions. I haven't really tried other options - just never felt the need. Used since 2008.
Postman and Fiddler - I'm lumping these together because basically I would rate these tools like these as 'critically important' but over the years I have only been a simple user of both of them. I don't know what I would do without the functionality I also have just never quite fallen in love with either of these programs...
AutoHotkey - It takes me a second when Capslock+h/j/k/l don't map to arrow keys and Capslock+y/u/i/o aren't control+arrow key movements... I love my Kinesis Advantage2 Keyboard and keyboard/mouse-trackball/chair/desk/ergonomics are worth serious consideration if you spend any notable time programming - but over time I've found that I also put value on being able to quickly get to work efficiently on any machine. AutoHotkey is a nice compromise for me - no hardware to remember and nothing to plug in, but anywhere I can run the program I can add a few of my favorite keyboard details with minimal hassle.
Tailscale - This year I started using Tailscale - at first it was just an easy/secure/zero hassle way to connect to home (for years not much of a concern for me but now that home and work are no longer 5 minutes away from each other...). The ease of connecting a set of machines with nothing but a Tailscale install has been a revelation for me - it hasn't made it into any official use at work but I have already used it to connect dev machines for testing...
ErgoMax Adjustable Height Crank Desk - I've been lucky enough to have a motorized sit/stand desk at work for about 6 years now - I like it but we recently purchased 3 'manual' crank sit stand desks for home and I have to say these are a new favorite. They are smaller and simpler than my desk at work and these days that fits in well with what I want - nothing to plug in, less to break/go wrong. Used for about 9 months.
The list above are tools that I use regularly - for fun here are a few things I have been thinking about:
KeyMouse Track 304 - In addition normal/average keyboards I have used: Kinesis Advantage2 Keyboard, Kinesis Freestyle Split-Adjustable Keyboard, ThinkPad TrackPoint Keyboard II and owned/heavily used the keyboards on several Thinkpad laptops. I think the keyboard features I want are: split, quiet, curved keywell, dedicated physical function keys and a trackpoint or similiar pointing device that gives you the option to 'mouse' without your hands straying too far from the home keys. The closest I've seen that isn't a build it yourself affair is the KeyMouse Track 304 (the Dactyl Manuform Keyboard lacks the pointer but is worth mentioning also). For my budget the price ($700 as of writing) gives me a lot of pause but the real puzzle is what todo about having 5 different desks that I want to work from? Especially since I want 4 of those desks to be setup so that 'anyone' can sit down get work done... Do I get 5 of my preferred keyboard and have 2 keyboards at every computer? That doesn't seem great... Maybe in the spirit of not letting perfection get in the way of better just put one great keyboard at one desk? Smart but idk I'm just not inspired by that... So far the simplest solution has been to do mostly 'normal' keyboards, try to remember that more thinking and less typing is nearly always useful and vary my work routine enough that relatively unimpressive ergonomics of a normal keyboard aren't an issue.
JetBrains Rider - All of the great things about Resharper wrapped into an IDE that seems to be notably faster than Visual Studio! And the similarities between Rider and other JetBrains IDEs is a bonus. I've tried at time to switch to mainly using Rider but 'things' always come up - occasionally it seems behind supporting the pre-release version I am using, in the past WPF and Xamarin support were issues, I've had mystery problems while debugging that I can't replicate in production or debugging in VS... Some (maybe all!) of the issues are could be about my lack of experience with Rider - but regardless I haven't quite been able to justify switching from Visual Studio full time.
JetBrains Space plus JetBrains Gateway - When I look at Space ("The All-in-One Solution for Software Teams") it immediately makes sense to me and pairing it with the idea that anyone logged in can also connect to a remote development environment setup for the project seems very interesting! But two big things have tempered my excitement: it isn't GitHub (these days a core value of GitHub seems to be that you just don't ever need to explain or justify GitHub - I like sourcehut as well but...) and the Gateway remote machine is (at least currently) a linux box and I don't think atm there is a way to set this up for Windows Desktop dev... I'm looking forward to seeing how this evolves
Visual Studio Code - so much attention and obviously a huge amount of functionality - it feels like there is something here I should be taking advantage of? But I can't quite figure out what - it seems worth loading Visual Studio for .NET dev and anything else loads faster and works more simply in Notepad++? Maybe at some point I'll figure out what I'm missing...
Welllll that's it I guess - let me know if you have thoughts on what I should use! charles at cmiles dot info