Here at Essential Instructions we love free software tools that has been well thought out and well executed. That may sound a bit cliché, but we’ve seen many free tools that look, well… like freebies. So in this article we’ll review three free tools for Windows including one for developers, each of which is worthy of a download.
Notepad++: Microsoft’s “Notepad” text editing application has been included every version of Windows since version 1.0 in 1985. Traditionally it’s been a great light-weight application for quickly editing text files. However unlike the operating system that it’s included with, Notepad has not really evolved much over the last 28 years which has left a lot to be desired when working with today’s myriad of text-based file formats. Its feature set is limited to basic text selection, find/replace, one level of undo (and redo), and questionable word wrapping which has become extremely buggy in recent revisions.
So what to do about this? Enter Notepad++, an advanced, light weight, and free text editor which was initially released in 2003 and should arguably be included in all future versions of Windows. Unlike Notepad, there are too many features of Notepad++ to list in this article, but a few key features include: multiple document windows, line/column numbering, text highlighting for almost every programming language, support for multiple ASCII encoding formats, spell checking, multiple levels of undo/redo, macro recording and playback to perform repetitive tasks, and our favourite: collapsing/expanding sections for formats like XML files.
Notepad++’s home page even claims that the application reduces carbon emissions, by optimizing routines which apparently allows the CPU to “throttle down” and reduce power consumption. While we question just how much the usage of Notepad++ is going to save the planet, it’s still a great tool through and through.
So if you do a lot of text editing, grab a copy of Notepad++ for free from: http://notepad-plus-plus.org/.
CPU-Z: if you’re into low-level PC development, over clocking, or simply want to verify that your hardware vendor sold you what you asked for, check out CPU-Z. CPU-Z is a freeware application which analyzes your system and provides an extensive report about your CPU, caches, chipset, BIOS, memory, and graphics card.
The information is reported in a multi-tab dialog and ranges from the basics like the name of your processor to the type of caches your system is equipped with, to a whole slew of other details that you’d need a comp-sci degree to understand. Information like frequencies is polled from your system and updated in realtime.
The tool also includes the ability to save a report to either .txt or .html which includes all of these extensive details as well as memory dumps of all registers. This information could come in handy when debugging low-level code or to ask your customers to provide a snapshot of their system state. Finally, we should also mention that CPU-Z is built on the CPUID SDK, which is an SDK that developers can use to build their own applications which poll for hardware information. Therefore CPU-Z is really a promotional tool for this SDK.
While CPU-Z is free to download, be aware that the installer tries to install a bunch of garbage on your PC, so read each screen of the installer carefully. Also, strangely enough, there are actually two installers – one to grab the .zip file, and one to do the actual install, so pay attention to every screen on both installers.
You can grab CPU-Z for free from: http://www.cpuid.com/softwares/cpu-z.html.
ilspy: if you do .NET development and work with third party assemblies, then reflecting code written by others is often essential, especially if the interfaces are not well documented.
In a recent project where we wrote some technical documentation for PostSharp, we recently came across a free tool called ilspy which effectively analyzes an assembly’s IL code and presents it in your choice of C#, VB.net, or raw IL. While there are commercial versions of software which do the same thing (and probably more), we found ilspy to work flawlessly.
Basic features include the ability to open assembles either from file or the GAC, the ability to refresh, and automatic reloading of recently examined assemblies. The classes, methods, and members of each assembly are organized as you would expect in a tree with appropriate icons, as well as subfolders containing assembly resources and references to dependencies. Assembly level attributes can be viewed by clicking on the assembly name in the tree.
Installation is very easy and simply involves downloading a .zip file. Note though that the program’s files have not been lumped together under a folder within the .zip so you will need to create a folder before unzipping them. The full source code is also available as a separate downloadable package.
So, while there are probably more advanced commercial solutions, ilspy has proven to be good bang for the buck (or lack therefore). You can grab ilspy for free from: http://ilspy.net/.