IDEs / Editors
Visual Studio Community - the best IDE for C++ and C# programming. Windows only but sometimes I think it’s worth having Windows just for this piece of software. It’s free (scroll down to license terms) and very well supported. Professional Edition for commercial use price wise is comparable to IntelliJ IDEA, but community edition is allowed in commercial use up to a certain limit. Great extensions:
- Open In Vim - shortcut to open current file in vim.
IntelliJ IDEA - Best IDE for anything non C# or C++, especially JVM related languages (Java, Scala, Kotlin). Also ideal and also probably the best for Rust, Go, Python, etc. Has endless useful integrations. Has a free Community Edition, but worth every penny. In 2022 JetBrains has risen prices by 30% so this option may be costly for some. Some languages for unknown reason cannot be used from the main IDE and have to be installed as a separate one:
- JetBrains Rider - alternative C# IDE. Brilliant if you are not on Windows or just want to stay in the JetBrains ecosystem. Unfortunately there is no free version available at all.
- CLion - good IDE for C/C++ development, but also no free version available. There are many reports it’s painfully slow on large projects. It has very unique features not available in others, primarily around code analytics. It’s primarily targeted as cross-platform IDE, meaning if you want something OS specific it might be easier to use a native dev environment like XCode or Visual Studio.
Vim - ultimate text and code editor that works everywhere and available everywhere. Steep learning curve but so worth it. It can literally do almost anything with correct configuration. I’d again strongly suggest going through the pain of learning it as it really pays off. As a bonus, totally replaces the need for VS Code for most tasks. Some prefer NeoVim but it’s not as widespread and not available everywhere vim is (not going to go into a debate).
VS Code - it’s an OK editor, used to be really fast and small but is a fat beast nowadays. Regardless, has a few priceless integrations worth using for. If you need to edit PowerShell, arm/bicep, nsis etc. this editor has the best plugins. It is also a very convenient code search tool. I have mixed thoughts about it, but it can be your primary development environment with a right configuration of plugins.
- Localstack - AWS emulator for many services, some of them include AWS Lambda, S3, Dynamodb, Kinesis, SQS, SNS, but in reality many more. Free and open-source. Optional paid pro version supports even more services. Written in python and installable via pip.
- Azurite - Azure storage local emulator, open source and very close to the real thing (closer than anything else). Supported by first party. The only disadvantage is it’s node.js based and therefore resource hungry. Installable via
npm. If you use Visual Studio on Windows, it’s probably already preinstalled as services like Azure Functions local emulator are using Azurite. Unlike Localstack only supports storage, but it includes all three major services (blobs, queues, and table).
- JD (Java Decompiler) - perfect Java decompiler, exists for a long time and is very rich and stable. Has both terminal and GUI frontends.
- LINQPad - described as “The .NET Programmer’s Playground” as it’s a really powerful coding pad for C# developers with advanced debugging and visualisations. The dump command is legendary! It makes .NET experimentation and prototyping extremely easy and pleasant experience and I wish other languages/platforms had a similar feature.
- dotPeek - free .NET decompiler from JetBrains.
- Compiler Explorer (Godbolt) - closest alternative to .NET’s LINQPad but for C++. It can understand other languages too but primarily useful for C++ as it supports a variety of compilers and platforms. Needs online collection and personalisation is somewhat limited, other that that shines.
- XMind - perfect tool for capturing information using Mind Map tech. Free version is sufficient for most use cases. Can be used to represent some diagrams. Supports export to svg, png etc. WARNING: electron based.
Sandbox - quick, fast and free disposable VMs to test any malicious software or destructive experiments.
WinSCP - free, fast SFTP and SCP client for Windows.
MobaXTerm - Enhanced terminal for Windows with X11 server, tabbed SSH client, network tools and much more. Contains built-in hassle free X11 server, visual tunnelling configuration and more. You can do all of it with a bunch of free tools but gluing them together is a fragile process. If you use SSH often just pay for this tool.
S- built into Windows, simplest and fastest screenshot utility which actually works well.
Resource Hacker - free application to dig into internal resources of Windows executables and dynamic libraries.
SysInternals Suite - #1 tool for Windows hackers from Mark Russinovich who is a true legend. Honourable mentions:
- Process Explorer - like Windows task manager, but shows everything. Supports process trees, killing entire process families, looking at job objects, force suspending processes, tracking various performance metrics, discovering command line parameters and much more.
- Process Monitor - tracks on very low level what processes are doing in terms of calling system kernel API, registry, filesystem and so on. Ultimate hacking tool!
- TCPView - it’s like netstat on steroids and with UI.
- ZoomIt - not a hacker tool but a very tiny and fast native utility that sits in the tray and allows you to annotate screen with pen and text, zoom specific sections (various modes). Really useful in presentations.
Browser Tamer - browser selector but unlike many alternatives it’s native, windows-only, written in modern C++, very tiny and fast. Full disclosure - I’m the author.
CSVFileView - super fast native Windows csv file viewer.
Deskpins - tiny and fast utility that allows you to make any window top-level. It’s really small, has zero footprint and just does the job.
Start11 - I always liked Windows shell, even during bad days of Windows 8.1. But this time Windows 11 start menu is really really fucked up really badly. To get that usable again and actually make start menu useful try Start11 from StarDock.
jcpicker - super fast and tiny colour picker for Windows.
rapidee - UI for environment variables on Windows. Get your environment sorted!
windirstat - disk usage statistics tool, somewhat old but still unbeatable.
Ultrapico Expresso - the best desktop lightweight regular expression IDE. Old but does the trick (regex did not change since then).
A whole suite of NirSort utilities, in particular:
- RunAsDate - nice little utility that allows to fake current system date per process, and many other options.
- RegScanner - if you search windows registry a lot, this makes it more pleasant.
- OpenFilesView - displays files currently open across the entire OS and how they are open, who by. Allows to kill associated processes, close file handles and much more.
- URLProtocolView - displays all URL protocols (for example: ftp:, telnet:, mailto:) that are currently installed on your system. Useful when developing your own protocol handler.
- DLL Export Viewer - small and fast utility to view C function exports from a specific dll. It’s like
dependsbut standalone and just works.
WinFSP - programmable Windows File System Proxy. Allows creating virtual filesystems with ease.
- jq - it’s like grep but for JSON.
- lsd - modern
lsas it should be.
- dust -
duon steroids and with some terminal graphics.
- ngrok - super clever utility to expose any local port to the internet. Useful for testing local services, performing demos, developing services etc.
- Charles - web debugging proxy. Costs money, but much more pleasant than Fiddler and alternative with unique features like breakpoints, request editing, ssl decryption and so on.
- Camtasia - ultimate screen recording/editing tool.
- Descript - ultimate audio editing tool that uses AI and allows to edit audio like a word doc. If you are involved in podcast production or similar, this is a must. Costs $15/month, saves hundreds a month. WARNING: electron based.
- CyberChef - web based data forensics tool created by people at GCHQ.
- ImHex - best hex editor and reverse engineering tool for binary files. Free and open-source.
- Firefox Relay - generate disposable email aliases.
- Grabify - URL logger, allows to generate URL that when clicked gathers stats who clicked, where from etc.
- MyTempSMS - like temporary email but for SMS (text messages).
- Asciiflow - design diagrams in plain text!
- Sqoosh - helps reduce image sizes dramatically.
- Speedscope - free, open-source, web based, offline capable performance analyser and flamegraph visualiser. Great for naive cross-platform discovery work.
- Tailscale - mesh VPN network that just works and has zero config. Unlike VPN does not need a server and does not route all traffic via a tunnel. Useful for creating your own network and/or connecting all your devices no matter where they are.
- RClone - ultimate cloud access/sync tool. Supports all major and minor cloud storage providers, normal filesystem operations, and sync, including bi-directional. A must have.
- Chinook Database - Sample database for SQL Server, Oracle, MySQL, PostgreSQL, SQLite, DB2. Useful for testing purposes/demos.