I’m a software junkie. I love finding software, using software, and especially making software. Because I run across all sorts of popular and obscure software (mainly freeware, but some commercial) all the time, I am often scratching my head when somebody asks if I know software that does X. My reply is invariably, “Sure, I know some freeware that does that….but now what was the name of that software?” So for my benefit and the benefit of others, here is a list of software I can’t do without.
For easy of reading, all software is assumed to be free/open source for the Windows platform unless otherwise stated.
There are plenty of other good lists out there that you might want to check out instead of or after this one.
- Tech Support Alert: 46 free utilities
- Econsultant open source software: 400 open source tools categoriezed
- The Free Country: Great list of free software
- 121 Space: Not a bad software list, but it’s on a forum, so don’t blame me if it breaks.
- Microsoft Windows 7 (commercial): I admit, I do like Windows 7 for general use. Linux or Mac are great for specialized nooks and Windows has it’s share of shortcomings, but I like it. If you are a student, check into MSDNAA, where you can get it for extremely cheap.
- Ubuntu Linux: An excellent Linux distribution with great support – best of all, it’s easy to install packages and update the distro
- VMWare Player (Win/Linux): Allows you to virtualize another operating system. Used with two screens, you can basically run two operating systems at once – very useful!
- Synergy (Win/Linux): One of my absolute favorite Operating System utilities. This allows you to share one keyboard and mouse between multiple computers (mixing/matching OSes) by moving the mouse to the edge of the screen. I’ve used it on three computers (one with dual monitors as well), two Windows XPs and one Linux. A must have if work with multiple computers. You can even copy & paste between computers! The only thing I don’t like about it is if CPU is at 100%, Synergy doesn’t like to swap between monitors anymore.
- VNC (Win/Linux): Allows you to remote desktop into another computer remotely and view the desktop and control the computer. Quite handy in conjunction with Hamachi (listed further down on this page) if you have a computer at home you want to access while you are at work or school.
- VirtuaWin: Ever wanted virtual desktops like Linux? Virtual desktops that actually work blazingly fast unlike the Windows Powertoy? VirtuaWin is one of the best I’ve tried. You can configure lots of desktops, move windows between them, and assign shortcuts – and best of all, it’s really fast at switching.
- Microsoft Visual Studio (commercial/free): Hands-down the best Integrated Development Environment (IDE) out there for C++, C#, and VisualBASIC. Best of all, the Express version is free!
- Visual Assist X (commercial): Makes Visual Studio even better by adding a lot of macros, amazing Intellisense improvmenets, extra syntax highlighting, but best of all refactoring for C++! Must have!
- SharpDevelop: If you can’t afford Visual Studio or just like using open source alternatives, SharpDevelop is a great substitute for Visual Studio. It allows you to develop C# and VB.NET programs in a very nice environment.
- Dev-C++: If you can’t or don’t want to run Visual Studio (you are a foolish person ;), then Dev-C++ is a pretty good free alternative. I used it back in high school to develop C++. It uses GCC as a backend and has a pretty good integrated debugger.
- KDevelop: Visual Studio for Linux, basically. However, it’ isn’t quite as good and it creates lots of little unnecessary files all over the place.
- Comment Reflower for VS: When writing comments, it is sometimes a hassle to write a paragraph and then make sure that it wraps properly around 80 characters or wherever you line break. Comment Reflower will do this for you. Just type whatever in your comment (one big long line or small short lines) and then execute the Visual Studio pluging Comment Reflower to format your comments all nicely.
- Doxygen (Win/Linux): Javadoc for C++. It creates comments from specially formatted C++ comments. Very useful for creating external documentation.
- Netbeans: A pretty good Java IDE, if you like Java. Very slow to load and use though.
- Tortoise SVN: Subversion (SVN) is your friend when it comes to versioning your code or having a group simultaneously work on a project. It allows you to check in/out code with automatic merge if possible. You can also change code without fear, because if you break something, you can rollback to a previous version. Tortoise SVN integrates into the Windows Shell through the right-click context menu. You can even create a personal repository for code only you work on. Highly Recommended.
- Ch interpreter: A C interpreter, quite handy for quick scripts. It also has a number of packages such as OpenCV that let you quickly prototype say a face detection app before you actually code it up in Visual C++.
- NSIS: NSIS lets you build your own installer programs. It’s quite nice in conjunction with Venis IX, a great little IDE for NSIS.
- Eclipse: Another nice Java IDE, integrates well with Google Web Toolkit (see Libraries section)
- wxWidgets (Win/Linux): A cross-platform C++ GUI (like MFC) library that makes developing GUIs not super easy, but relatively easy. The best C++ GUI library I’ve found out there.
- GNU Lightning (Win/Linux): A C library to generate native code at runtime and then execute it. In another words, your own Just-In-Time compiler. I’ve used it before and although it’s not optimized, can be 4X faster than interpreted code.
- OpenCV (Win/Linux): Highly optimized C and C++ computer vision library. Excellent library if you need to do machine vision stuff.
- EndNote (Win/Linux): If you ever write a paper, thesis, or dissertation that requires a bibliography, Endnote is there to help you. It automatically keeps track of your references in a database and can create your bibliography in any format you want. Check if your school has a free download. UCF has a free download, just check with the library.
- Foxit Reader: Upset with Adobe’s slow load and reaction times. Download Foxit reader and ditch Adobe. It loads in the blink of an eye and handles PDFs with ease. Also allows you to mark up the PDF and print it out (including text anywhere on the page).
- Microsoft Office (commercial): As a Windows user, Microsoft Office is simply the best word processing tool out there. I’ve used Windows 97, 2000, 2003, and am now getting 2007. I have played with Microsoft 2007 some and it really is amazing!
- OpenOffice (Win/Linux): OpenOffice (used to be StarOffice) is a pretty decent office suite that maintains quite a bit of file format compatibility with most major office suites, including Microsoft Office. I used to use it exclusively for making formula sheets, since it let you type them in like Latex does (for instance “x over y” will make it all pretty with a fraction bar). However, now that Microsoft Office 2007 has added that feature, I don’t see myself using OpenOffice except for instances where MS Office is too expensive or unavailable.
- Notepad++: The ultimate replacement for Windows Notepad, especially designed for programmers. I love this utility! My only complaint is that the management of tabs, in particular, Ctrl + Tab doesn’t act like Alt + Tab. Oh well, it’s still amazing software.
- txt2tags (Win/Linux): Write your content in pure text with a special wiki like markup and then convert it to one of the numerous available formats: HTML, Latex, etc. All the content on this website is generated using this tool.
- Jarnal (Win/Linux): Exellent annotating software like MS Journal or OneNote that will allow you to markup PDFs and save them back out. Since my aim is to do my thesis as electronically as possible (no huge stacks of papers and red pens), this is wonderful. It does have a tendency to use huge amounts of memory, so periodically you will need to save, shut it down, and then re-launch the program.
- PDFCreator: Create PDFs from any program that prints (your Word document, webpage, or Excel spreadsheet). It installs a virtual printer that when you print to, saves PDFs. Extremely useful with lots of options to tweak.
- ABC Amber LIT Converter: Ever wanted to convert that Microsoft Reader LIT file to just a plain old text file so you could read it on a Palm or with MobiReader? This utility is great because it lets you do exactly that. It’s not perfect, but it’s great. There are also a number of other converter utilities on the website if you need them.
- ImageToAVI: Converts a series of images to an AVI file. Quite useful for making videos of machine vision algorithms.
- Irfanview: Best picture viewer out there! Does simple crop/contrast/brightness adjustments. Also has many thumbnail capabilities. Some people don’t like the fact that when you open a picture in it, it is always 1:1 zoomed. This means large pictures display partially (or mostly) off the screen. This behavior can be changed through View -> Display Options. I usually select “Fit only big images to desktop.” When selected, big pictures will be resized to fit the screen when opening.
- Paint.NET: A very sweet improvement to Microsoft Paint. Not as powerful as Photoshop or GIMP, but it does a nice job for small edits.
- Picasa: Picasa is the best picture manager out there. It organizes, edits, and tags your photos seamlessly. I love this software and have gotten many hooked on it.
- STOIK Capturer: Captures video from a webcam or firewire camcorder to a AVI or WMV on disk. Quite handy for computer vision applications.
- GIMP (Win/Linux): Open source version of Photoshop. If you can’t afford Photoshop, get this gal! This is definitely not as easy to use as Photoshop, but once you learn it, can do quite a good job at any minor or major touchup you need.
- AutoStich: Free stiching program to create panoramas from a bunch of images you took of the scenic vista.
- Windows Media Encoder: A free tool from Microsoft to convert to WMVs, which in my opinion, is typically better than DivX.
- VirtualDub: A video processor that I’ve used quite a bit for converting between video formats.
- FRAPS: Ever wanted to record games or other DirectX/OpenGL programs to a video file? FRAPS let you do this. I don’t really play games, but it’s really handy to record things like Google Earth.
- Rhinoceros (Rhino3D): A commercial, but relatively cheap and powerful 3D CAD program. Only $200 for a student edition. My Dad uses it to model houses and prototype small personal airplanes for the company he works for.
- DVDDecrypter: Decrypts DVDs to your harddrive so you can play them later. It works great in conjunction with Netflix so you can mail the DVD back and then watch it later that night.
- DVDShrink: Even better than DVDDecrypter, DVDshrink rips DVDs to your harddrive. It has a great GUI that lets you rip only what you want (don’t want French language or episode 3, just uncheck them before you rip). It also has a very nice tool that lets you remaster the DVD so you can add parts of the DVD and even parts of episodes. You want that hilarious 5 minute segment of that I Love Lucy episode without having to store the whole disk? DVDShrink allows you to do this very easily. Highly Recommended
- AutoGK: Gordian Knot is legend for compressing DVDs to AVIs. However, it’s hard to use. AutoGK (Auto Gordian Knot) makes everything much easier. Specify the DVD, the episode, how big you want the final AVI to be and let it compress it for you. It takes a while (up to 12 hours), but in the end your 4 GB DVD is reduced to a 1 GB file (more or less depending on the quality you want).
- SUPER: A funky, yet extremely versatile conversion utility. You can convert between almost any video format. It’s a bit slow, but it gets the job done. Especially useful for WMVs and MOVs that VirtualDub doesn’t support. It’s a pain to download, but definitely worth it.
- uTorrent: Very lightweight bittorrent client, one of my favorites for tracking down obscure files.
- Azureus: Pretty good bittorrent client if you need to track down an obscure file.
- eMule: Another peer2peer (p2p) client for obscure files.
- Hamachi (Win/Linux): Allows two computers anywhere act as if they are on the same network. Punches through most firewalls and everything. Thus, I can sit here at home and print something out on my shared printer in a UCF lab. Or I can be in Paris, France and be directly connected to my laptop in Orlando, Florida and play my iTunes connection. Also useful for gamers who want to play via a LAN when they are in different places.
- MirandaIM: A very small, efficient Instant Messaging (IM) client for Windows. It has numerous plugins and can chat with AOL, MSN, GoogleTalk (Jabber), etc. Very minimalistic, so don’t expect Trillian capabilities. Can be hassle, but I love my ghetto MirandaIM because it’s small, fast and works good.
- Firefox (Win/Linux): The best browser out there. Supports tabs, plugins, and best of all, incremental search. My favorite plugins (or add-ons) are DownloadThemAll, IETab, and LastTab.
- NetDrive: Have you ever wanted to mount an FTP site as a drive on your computer? If so, here is the tool for you! (Note: this is not supported anymore, you may need to google netdrive to find the installation program).
- Nvu (Win/Linux): A pretty nice, if a bit buggy, HTML editor. Based on Mozilla Composer, I believe, but better done. If you need to hack up a quick HTML page, this is the way to do it.
- SmartFTP: An amazing FTP manager. Also allows you to edit files on the server directly (well it actually automatically re-uploads the file when you save it locally, but still achieves the same functionality).
- WebReaper: Downloads entire websites off the Internet. Handy for saving an entire website for later viewing offline.
- XAMPP: Apache/PHP/MySQL package for Windows. Makes setting up a website a snap on a local machine. Very little configuration necessary, no struggling with individual settings and versions conflicting or anything like that. Simple and to the point!
- PuTTY: Windows program to ssh into another machine.
- Traffic Shaper XP: I haven’t used this one all to much, but it seemed cool. You can limit your download and upload speeds for your entire OS. If you have a quota on your bandwidth, this might help. It also monitors your bandwidth.
- 7-zip: Small, lightweight, & great compression for Windows. Integrated into the Windows Explorer shells, has new 7-zip compression scheme that is better than zip. Also decompresses rars.
- Agent Ransack: If you have ever been annoyed by Windows Search, here is the ultimate too for searching through files. Also supports regular expression matching.
- AVG Antivirus: Very good free antivirus for personal use. I’ve been using this guy for many years now without any problems. Integrates into Microsoft Security Center for XP too.
- CDBurnerXP Pro: Burns CDs and DVDs, what more can you ask for? Also handles ISOs.
- CmdHere: If you do a lot of opening of dos prompts (for homework assignments or console work), here is a tool that uses the right click context menu to open a console window in any directory.
- Free Download Manager: Most people have broadband these days and download managers aren’t as needed as they used to be. However, if you need one, this is the best I’ve run across.
- Google Desktop: Google Desktop is great for two reasons. First, it makes searching your harddrive a snap and nearly instantaneous. Secondly, it has the Google Sidebar, which is very similar to Vista’s or Mac OS X’s gadgets. My only complaint is you need lots of space (few gigs) for it to index your haddrive. One of it’s best features is it caches stuff you’ve saved, so if you accidentally delete it, you can sometimes recover it. Save me a few times!
- Google Earth: Amazing satellite views of the earth, plus directions.
- Launchy: An intelligent Start -> Run program that allows you to type in part of the name of a program and then hit enter to run it. I have it set to pop up when you hit Windows + Space. For instance, if you type in studio, it will launch Visual Studio 2005 for me. Or if you type in “itu” and then enter, it will launch iTunes. Very handy if you don’t like hunting through the Start Menu. Oh, it is also automated, so just install and use!
- OfficeOne AutoDateTime: A PowerPoint plugin that lets you display the time on your slide, updated by the second. Helps you know how much you are on target.
- PDF Creator: The best print to PDF out there. I use it for everything I need to save as PDF.
- SequoiaView: A very cool view of all the files on your harddrive. With this software, it is easy to see what directories and files are taking up the most room. I’ve used it to find old ISOs lying around in some downloaded directory.
- Spybot Search&Destroy: Search your computer for spyware and remove it (wow, sounds like the CNET descriptions, I must be getting lazy). Very good software, it allows you to make backups and everything before you permanently remove anything.
- SyncBack: Search for freeware (about halfway down the page) for the freeware version. Excellent incremental backup or synchronization software that can handle FTP as well as harddrives. Also can be scheduled automatically. I use this to backup my nexternal harddrive every night and then shutdown. Because it only backs up or synchronizes files that have changed, it is usually pretty quick. Highly recommended.
- TClockEx: Allows you to modify the Windows Clock by putting date/time/available memory, etc. Quite nice!
- DAEMON Tools: Allows you to mount an ISO or other CD ROM images as a real CD.
- ISO Creator: Creates ISOs from a CDROM, handy if you need to create an ISO.
- Easy Duplicate Finder: We’ve all done backups and backups and backups until we have thousands of duplicate files all over the place. This utility goes finds them and lets you delete all but one version very easily.
- Unlocker Assistant: Ever had Windows say “cannot delete file because it’s in use” when it clearly is NOT in use? Of course you have. Unlocker Assistant tells you exactly which process is using that file, and lets you kill it off so you CAN delete that pesky file. Quite useful.
- Audacity (Win/Linux): Cross-platform tool to edit MP3s or WAV files.
- CDex: If you want to rip or convert MP3s, here is your tool. It is also quite useful for recording line in or microphone directly to MP3 on your harddrive.
- iTunes (Win/Mac): An excellent music organizer and player. Has all sorts of nifty features, the foremost being it is very easy to use.
- MidiNotate Player: Plays MIDIs, but more importantly, allows you to open up a MIDI as sheet music and print it. So basically you can print the sheet music of any MIDI you find. Quite useful if you hear a snippet of music you like.
- Music Studio Independence: The best MIDI recorder I have found. A bit of a learning curve, but excellent in the end.
- musikCube: For those who are upset with the bloat that keeps being added to iTunes, musikCube is a breath of fresh air. It’s very lightweight, coded all in C++, and plays music like a champ without the bloat of iTunes.
- Matlab: Very expensive, but very useful for engineers who deal with a lot of math. Your school might have a site license, you should check. If it’s too expensive, see next item.
- Octave (Win/Linux): Engineers love Matlab because it is very good at math and plotting things. If you can’t afford Matlab, use Octave, it’s a Matlab clone. It has often saved me on an assignment when I couldn’t get to school to use Matlab.
- Microsoft Reader: A great little reader for Windows Mobile and XP that lets you read *.LIT books. I’ve used it extensively. The only thing you need to be aware of is that if you turn off the PDA while reading a book, you will need to reopen the book when you turn the PDA back on. Otherwise, it will give you error messages when it gets to the next chapter (more or less).
- Mobipocket (Win/Palm): Another great ebook reader that can handle TXT, HTML, and PRC books. I like a lot of its features, such as read full screen.
- Pocket e-Sword: Pocket Bible on your PDA, the best out there. Comes with several translations and concordances and references to download.