Where developers come to connect, share, build and be inspired.

5

Tools for getting things done (on Windows)

932 views


** Originally published here **

I am often asked what tools I use to get things done on the Windows PC at home. It's a very broad question, so I'm going to narrow it down to what Windows programs I use frequently, as opposed to more broader topics like what services, operating systems, hardware, apps, and sites I use.

I use Windows exclusively for web development & hacking (the good sort). Windows 8 is a very mature Operating System, and providing you've hardened the system, and are taking various precautions; it can be a pretty reliable OS for getting things done. Here's a list of the software I've been using on Windows for some time now.

Web Development

  • XAMPP. Simple local Apache server for testing PHP, and emulating a live server.

  • Prepros. For getting code production ready. Minifies, Concatenates JS, compiles SASS, etc. Everything you expect from a preprocessor, without the banality of the command-line. Always remember, if you want a bit more power, you can use GruntJS.

  • Notepad2. This replaces the default text editor on Windows, and does an image hijack of the notepad.exe executable. Useful for editing .INI files, registry files, and other OS pocket lint lying around.

  • MarkdownPad 2. I've tried all the markdown editors. MardownPad2 is the best, hands down.

  • Sublime Text. For JS, CSS, and HTML. There are many layers to peel away in this editor. I try to use it for web development only.

  • Komodo Edit. More of an IDE than a text-editor. Sometimes I use Komodo when working with complex directory structures. It's handy for heavily nested sub-folders and large code bases. It has a decent enough code-editor for working with code, too.

  • Fiddler. Fiddler is a HTTP debugging proxy. Great for fine-grained insight for what's happening behind the scenes on the network. It's handy for emulating slow connections too, so you can see how sites perform on slow 3G mobile connections.

  • Firefox + Livereload Addon. The default browser I use to make websites is Firefox. I have one addon installed; Livereload, as other addons can interfere with performance and the development process. A separate profile is kept for general surfing, and looking at cat pictures.

  • WinSCP. A pretty rock solid SSH client. There is a strong focus on file-manipulation, and directory traversing. It has a very basic command-line feature. But since the vast majority of my SSH logins have to do with files, WinSCP is very handy. Occasionally I use putty for very delicate command-line operations, but it's hardly worth mentioning here, as every techie person on the planet knows about Putty.

  • Filezilla. There are many alternatives to Filezilla, but Filezilla trumps them all. It's a very reliable and well designed application. It has a so-called bug where passwords are stored in plaintext inside the config files, but this issue can be solved with Keepass, which auto-types passwords and secures the entry with two-channel obfuscation.

  • Code Warehouse. For storing code snippets. A rock solid program for accessing those all important code-snippets for later re-use. I'm a serious D.R.Y enthusiast, so this program is invaluable. It can also store the code snippets in a Microsoft Access database, so it's handy for 'remoting' into your own bespoke code snippet library.

Productivity

  • Autotext. Auto-completes certain phrases based on simple hot-keys that you define. For example, bpl will spit out a HTML skeleton document. It's handy for Unicode too, where I can assign values to emoji/utf8 characters. Like str for a raw Unicode star: ★

  • Search My Files. Windows' default search engine is good, but not good enough. Search My Files is a lot more powerful, and even allows you to search the contents of files with a lot more accuracy. It even supports regular expressions for those rare (and often painful) moments when too many results are shown.

  • Everything Search. Another replacement for Windows' default search engine, only with an emphasis on the filenames themselves, and the speed at which they're returned. It's absurdly fast.

  • Text Crawler. This bulk-replaces certain key-phrases in files. Handy for replacing a string multiple times, in multiple documents. It even has multi-line support, and honours the original encoding of each document.

  • Evernote is like my 'outer brain'. All manner of digital pocket lint is kept there. Shopping lists, notes, todo-lists, etc. I love paperless offices, and Evernote is indeed that, and more.

  • Autohotkey Scratchpad. I work with a lot of text. Rather than spawn a new file in a text-editor for trivial text operations, it is sufficient to have a scratch-pad permanently open for the smaller stuff.

  • BB Flashback. For doing screencasts. Very powerful for recording the screen, and has everything you expect screencast software to do, and more. It even records the webcam, so it's handy for tutorials, or even just for reporting bugs.

  • Flexible Renamer. Bulk-renames files. It does one thing well, and has a lot of features that can be peeled away for the more savvy user.

  • Win sorter. For doing operations on text, like converting to upper-case, inverting case, sorting, capitalizing, and many others. Invaluable when you work with a lot of text. An absolute must for any writer.

  • Tray Status. Sometimes the LED indicator light on the keyboard which signals whether the caps-lock is on or not; is not good enough. This puts a little icon in the notification area that reminds you yet again whether caps-lock is on, or whether the numerical-lock is on.

Cloud

  • Fluffyapp. The unofficial Cloudapp client for Windows. Handy for taking and sharing screenshots, and putting various graphical pocket lint into the cloud.

  • Win-sshfs. SSH (SFTP) filesystem for Windows. Mounts sFTP boxes as a virtual drive in Windows. Handy when you edit files a lot, and are averse to opening up a bulky client.

  • Dropbox. There are thousands of solutions like Dropbox, but I had to draw the line somewhere, and I'm sticking with it. It does what its supposed to do, and more.

  • Google Drive. For all manner of digital pocket lint and errata. I know people who store their whole life here. I treat it as a sort of virtual /devnull/

  • Chrome. I rarely use Chrome. I only use it as a bridge to various Google cloud services like Docs, and to try out some cute addons. It's not a very hackable browser, but handy to have nonetheless.

Graphics & Media

  • Photoshop. De Riguer graphics program. Should be installed on every machine! One of the few tools that doesn't have a robust freeware alternative. I know people who get too evangelical about the likes of GIMP, and Paint.NET. Anyone will tell you Photoshop is the industry standard though.

  • Skitch. Part of the Evernote suite of tools. Handy for screenshots. Also love the arrow and text-overlays for giving more meaning and context to screenshots and emphasizing certain parts of the screenshot. Invaluable.

  • Audacity. Basic audio manipulation and editing.

  • Miro Video Converter. I upload a good bit to tube-sites. Handy for converting massive container formats to more manageable sizes, and converting to WEBM if you're a fan of HTLM5 video.

  • VLC. Hands down the best media player out there. Also lots of nerdy features to peel away for the more savvy user.

  • Movie Maker. Part of Windows Live Essentials. Movie Maker caters to all my video editing needs for now.

Security

  • Keepass. Simply wonderful security tool jam packed with features. Takes a bit of training to become proficient at this. Worthwhile peeling off the basic features and diving in a bit. The best part if the two-channel obfuscation and auto-type features. Handy for working on machines where you're sick of typing passwords, and malware-ridden machines that probably have keyloggers installed.

  • 1Password. Great password manager for general surfing. A bit different from Keepass in that it's more suited for the web. Very flexible too, and has a tonne of features.

  • Lastpass. Again, suited more for the web, but it's more secure. I use this with a Yubikey, and make sure to make offline backups when I can, since it's a hosted service. Used for more sensitive information. (Each password manager has a very different use case; and there is no single point of failure).

  • CryptoTE. Open source program for text encryption. You can store multiple files in one encrypted container. I manually reviewed the source-code and there's no backdoors. Great for tucking away sensitive text, or even fully-fledged binaries like PDFs, invoices, etc.

  • Truecrypt. There was a bit of fanfare recently over whether this has a backdoor. Whether this is true or not, I don't know. Since I've yet to see a Truecrypt container actually popped, I'm sticking with it. If you dislike my stance here, you could be suffering from Snowdengate paranoia and need to liven up a bit.

  • Autoruns. Insane Windows powertool with huge insight into what programs are doing what. How they get executed. Where they get executed, etc. Lots of granular control over the Windows OS here. I've even found a few carefully hidden rootkits with this. One of my favourite Sysinternals tools.

  • TCP View. Fantastic network monitor for Windows. Real-time overview of all traffic on the network. What programs are connecting to what. What services are talking to the network, etc. Needs a bit of training to understand what's going on and to be able to parse out malicious activity by eye alone; but certainly worth it. Antivirus is a security measure only. It's always handy to have this in your toolbox for the more subtle rootkits that embed themselves in the OS.

  • Sandboxie. Handy when you download suspicious software and want to execute it without letting it touch the host operating system. I use this to test out software and analyse its behaviour before adding it to a software whitelist / trusted bundle. It's kind of like a software-condom for Windows.

  • Zemana Antilogger. Scrambles keystrokes, such that the right characters are outputted, but the keystroke itself is remapped to garbage. It thwarts keyloggers. Keyloggers are the most insidious malware you can get. I could care less if a Russian hacker gleens the funny cat pictures I am looking at, but I certainly would care if he/she gleans my Credit Card entries, master passwords, and other sensitive info that shouldn't be on the Public Internet in the first place.

  • MalwareBytes. Renowned anti-malware solution known for detecting the vast majority of malware out there. Has caught a few exotic trojans once, and I am forever thankful I installed it.

  • MalwareBytes Antiexploit. Sadly, hackers like to exploit genuinely good-intentioned, legitimate software and turn good software into a launching pad for attacks. These attacks are known as 0days. A weakness is found in the software, and this allows any number of attacks to go by unnoticed by the user. This tool stops that by thwarting heap-spray exploits, and nipping those attacks in the bud.

  • Microsoft EMET. The Enhanced Mitigation Experience Toolkit. Sandboxes applications and prevents a slew of exploits from happening on Windows. It does this by using DEP (Data execution Prevention). Windows is known for having countless ways to execute binaries. It also stops buffer overflow exploits by randomizing the address space.

System Utilities

  • Classic Shell. Brings back the start menu in Windows 8. Disables all the Metro nonsense too. Frankly, the Metro interface is a hindrance and is slowing me down. Classic Shell also has lot of features for customizing the start menu that are not even in old previous versions.

  • Launchy. The first thing I install on any new Windows installation is Launchy. Possibly the most handy and useful utility that exists. Launches programs instantly and without much fuss. I mapped the launcher to the INSERT key on the keyboard. I think Launchy has added at least a year to my life, if not more!

  • Recuva. Handy for recovering deleted files. If you think files are gone forever after emptying the Recycle Bin; think again.

  • CCleaner. This utility should be installed on every Windows machine. Cleans up the system and removes all the pocket lint that gathers on your Windows system after prolonged use. I run this every month or so, and am always surprised at how much garbage Windows dumps to the hard-drive over time.

  • Tuneup Utilities. Tremendously useful tool for power users. It's great for optimizing the OS for productivity, and tweaking the system's default settings, which are not always ideal. For example, animations become an eyesore after using the PC for prolonged periods. It's also great for speeding up Windows, and a lot of bloat functionality can be disabled, for example error reporting which dispatches errors to Microsoft's servers, and making unresponsive programs close immediately rather than time-out. Worth training yourself in this one if you're going to be glued to the same PC for prolonged periods.

  • OSFMount. Virtual disk mounting. Create any arbitrary container, and mount it with OSFMount. Mount ISOs, and other disk-image formats. Handy for organizing arrays of data you don't want indexed, and 'deep freezing' files in their untouched state. Also handy for hand-balling globs of data between hard-drives (it makes sense not to copy every single file. A massive binary blob is preferable)

  • Karen's Directory Printer. Nice GUI tool for printing the file / folder contents of any directory. Handy for doing integrity checking, making public download listings, or dealing with lots of separate JS modules placed in multiple disparate folders.

  • qBittorent. I humbly propose this is the best torrent client for Windows there is. Useful for downloading stuff I suppose. Lots of functionality, and no shady behaviour. Very customize-able too.

  • Win32Whois. Very simple whois GUI tool for Windows. Queries multiple whois services for a definite result. Does one thing well, what more can I say?

  • NetToolset. A swiss army knife for networking. Has all the usual tools, like ping, port scanner, traceroute, etc. Handy for uncovering previously hidden / unseen information that often lurks behind various online services.

  • Vista Switcher. Supremely useful shell-addon for switching between windows and open programs. Highly customize-able. Right up there with Launchy, this tool has probably added a year to my life, if not more.

  • 7+ Taskbar Tweaker. This tool works with Windows 8 too. Basically a shell-addon that adds more functionality to the default Windows taskbar. I specifically use it to change the generous amount of padding between the icons in the notification area. Handy when set to 1px, as it allows for more room for the taskbar buttons.

Social Communication

  • Skype. I use it to dial out because of the low rates. I have it mapped to my real number. Handy for overseas calls, and calling offshore tech-support numbers. Also handy when you want to insulate land-line / international calls from a cellphone, as cellphone carriers charge absurd rates for a landline.

  • Thunderbird. Super handy email client. A veritable one-size fits all for email. I've managed to hook up several accounts to this. Make sure to protect it with a master password, as a copy of the installation folder means access to all your email.

  • Pidgin with OTR Plugin. Super handy chat / IM client, with lots of useful plugins. Make sure to get the OTR (Off the record) plugin for secure conversations. Supports many different services. Try to get the portable version so you can carry it around with you.


There is an endless sea of programs to try out on Windows, and this can cause a 'choice paralysis' when deciding which programs to use. I like to white-list certain software, and add it to a permanent inventory of software that I can draw upon later. I have a strict criteria for choosing the right software, and it has to be:

  • Secure. No ad-ware installers. No 'phoning home' behaviour. No dark-patterns. Must be peer reviewed, trusted, and preferably open source. It must be popular and widely used. It must be lightweight and easy to install (no bloatware). It must be easy to remove from my system. It must have regular security updates and respond to the threat landscape (heartbleed, 0days).

  • Unbundled and no bloatware. It has to do one thing well, and if possible, no feature creep.

  • Freeware. If possible, the software has to be freeware. If I have to pay for a license, that's only because there is no freeware alternative.

  • Open source. If possible, the software has to have the code freely inspected and reviewed. If the freeware does not provide source-code, then I will inspect what the executable is doing behind the scenes, and that it's not trying to install backdoors, or tamper with the integrity of the OS.

  • Useful. Some programs are simply not useful. If there is one thing I find in the software that insults my sensibilities, intellect, and otherwise makes me feel unsettled, then I will discard it, and find a more sensible alternative.

  • Onion features. Features which can be peeled away after a certain skill-level have been reached using the program are great. Often times, developers try to pack in lots of features, and rarely, is ever, provide an opt-in mechanism for the more advanced features. I use the onion metaphor, because a novice can use the program, and if a certain proficiency is reached, they can 'peel' away the simple features, and reveal the advanced section(s).

  • Tested. It can take some time to decide if I want to keep / white-list certain software. It's easy to think software is useful because it is packed with features and appears to do its job. It's only after using software habitually and for prolonged periods, that I can truly make up my mind about it. Most of the software listed on this page has been installed on my system for some time, and some of it has survived OS updates, and all manner of wear and tear. How much time you spend getting to really know the programs mentioned is up to you - it depends on how much you want to get done.

Also Noteworthy:

** Please Donate if this post helped you in some way **

Comments

  • Tivaaktq_normal

    You have a great team of tools listed here. I'd like to nominate http://GTDNext.com to be the quarterback. GTDNext is a good compliment to these tools as a task management web app to plan and execute your project(s).

Add a comment