Well, I did it. I installed back my C++ development environment though didn't have the balls time to work on anything yet. As a result, I thought I'd slowly ease myself back into the roiling and steamy hottub that is Software Development by giving some quick mini-reviews of some software I used in 2004 that I found to be most excellent. Thanks to Rob for the title of this blog entry. The list covers a wide range of areas and revenue models (commercial, shareware, freeware, open source), but it is mostly focused on Windows (I threw in a couple bones to the Linux/Unix people out there):
Ok, here we go:
1. TextPad (Win32)
What it does: Edits/Displays text files (and makes me wish I had written it)
Why I love it: Top of my list this year (though I have been using it for a few years now) is TextPad. You may scoff and wrinkle your nose and start throwing decaying things at me for giving a text editor my top billing but have you tried it? Let's see: 2 MB download, quick start-up time, customizable menus, syntax highlighting for numerous formats (html, xml, perl, Java, C/C++, etc), macros, the ability to basically build a low-cost development environment (TextPad has the ability to compile and run Java natively and can be expanded), tabbed documents, a document explorer, support for multiple text formats (Unix, DOS/Win, ANSI Unicode), and an unlimited evaluation version means there is nothing I don't love about this application. It will quickly replace any Windows text editor you may have.
2. Compare It! (Win32)
What it does: Compares two versions of a text file (and makes me hate Windiff)
Why I love it: I stumbled upon this when I realized I didn't have Windiff installed anymore (read why here). So far, I love it. Although heuristic algorithms for these tools always seem to be a problem, the colour coding, the ability to compare things in horizontal or vertical panes, and the ability to edit files directly in Compare It! make me love this application and want to marry it. So far the evaluation version seems unlimited with no annoying popups.
3. Cygwin (Win32)
What it does: Emulates a Unix environment inside Windows (and makes me wish I could use Unix natively for everything)
Why I love it: I use Unix (Solaris) at work quite a bit and I've grown to really love the power and flexibility that it provides. The thing is, once you start using Unix it's hard to give up a lot of that flexibility when you go back to Windows.
Now although Microsoft does have support for Unix it tends to downplay in the retail market it for obvious reasons. However, the folks at Cygwin have been around for quite some while and have built up quite a following. Basically Cygwin allows you to emulate Linux/Unix inside Windows. Things it provides include: all the standard command-line utilities/tools/commands (grep, cut, tee, tail, etc), script languages (awk, sed, perl, python, etc), compilers (like GCC), shells (tcsh, ksh, bash, etc) and even the ability to run X-Windows. So next time you're doing some development on Windows and you're thinking "Damn, if I had Unix installed I would write a quick shell script using sed/awk script that would totally make this huge text file my bitch", think about installing Cygwin.
The one bad thing I have to say about Cygwin could also be considered a benefit. Cygwin's installation is a little clunky for those of you in the point-and-click-and-install-and-don't-bother-me crowd. While you CAN get things installed fairly painlessly, if you're a Power User (and I consider you one if you want to install Cygwin anyway), you'll want to go through each and every package and figure out which bits to install and this process can be a little tedious or confusing. Though it's still better than some of the Linux distros I've installed.
4. TMPGEnc (Win32)
What it does: Encodes raw video files into a variety of formats (and makes me wish I had an even faster computer)
Why I love it: This program takes a raw video file (captured from a VCR, Camcorder, Laserdisc player, Cable TV) and allows you to encode it into a format for archiving onto optical media (for example, DVDs or VCDs). What's great about it is that you don't need to know a lot about the various formats to get something accomplished but as you learn more and more about it (encoding rates, motion prediction, etc) it gives you the ability to tweak the details to your heart's content. It also allows you to select the source range in a nice fashion (set the time slider to the first frame you want and click "Set Start Frame", slide the marker to the last frame you want and click "Set End Frame"), crop the image from any border (i.e. you can set where you want the Top, Left, Right and Bottom of the image/screen), output the video and audio streams separately, and it provides some essential MPEG Tools that allow you to multiplex/demultiplex MPEG files, merge/concatenate MPEG files, etc. Another nifty feature is that it can shut down your computer for you when it is all done encoding (depending on your level of quality, encoding an hour's worth of video can take up to 8 hours). One final point: Some MPEG encoders only support a constant bitrate for its encoder, but TMPGEnc also has a 2-pass Variable Bit Rate encoder that provides a much more efficient use of space (though it takes at least twice as long to encode).
After 30 days this freeware version prevents you from outputing in MPEG-2 format (i.e. DVD format) so you'll need to figure out what to do after 30 days. I recommend buying some of Pegasys' commercial products like "DVD Author" which I purchased two days ago, in fact.
5. Mozilla Firefox (Win32/Linux/MacOS)
What it does: Allows you to browse the World Wide Web (and makes me wish I had more time to tweak the browser)
Why I love it: I won't waste a lot of people's time on this one. It's gaining a lot of popularity over Microsoft Internet Explorer and I anticipate that in the next version of IE we'll see some improvements that show that Microsoft is worried. The features that I love about Firefox over IE are: tabbed browsing, scriptability/tweakability, numerous freely downloadable extensions. One bad thing to say: When Firefox hadn't gone "official" with version 1.0, I had put together a little hack for 0.90 that would allow the Google search bar to be sized properly on a Firefox toolbar, however this hack no longer seems to work in the latest 1.0 version and it pisses me off to no end.
6. MPlayer (Linux/Cygwin)
What it does: Plays DVDs on your Linux machine (and makes me wish I had Linux installed right now)
Why I love it: The beautiful thing about MPlayer is that it allows you to play DVD titles/chapters and to stream them to your hard disk. MPlayer is for the Linux crowd, but it works fine using Cygwin (see above) so I'm quite happy with it. The reason I love this is that I can take a movie/cartoon from a DVD and put it onto my hard drive. As some of you may know, I am heavy into trading for Looney Tunes cartoons right now and I would love the ability to have every single Looney Tunes cartoon ever made (over 1000) on my hard drive with the ability to watch any of them with a point-and-double-click. I am also in the process of archiving all of my tapes/laserdiscs/DVDs that I've traded over the last year or so into DVD format (I'm working chronologically starting in 1930 and I'm currently in 1936 - long ways to go!). I've set up a MPEG playlist so I can shuffle and watch random cartoons (consider it a 7-minute break, th-th-th-that's all I've got time for). Eventually I'd like to use my PC as a media server so that I can play movies directly to my TV streamed from the hard drive without having to swap pieces of media and while this goal is a long ways off, MPlayer will play a crucial role in this.
Well, that's all I had time to type up, there are many more software applications out there that I've used that deserve praise but unfortunately my time is limited so I'll just sign off.
I have to agree about TextPad, it’s a sweet piece of application. I’ve been using all morning for editting log files, text files, XSL, XML, HTML. Even though it’s awareness of the languages is minimal, the syntax highlighting and general text-editting features are just great. I promise that one day I will finish evaluating and pay the author the $25 since the program is more than worth it.
Cygwin has been helpful for me, too. I used it to connect to the X11 server at the U of Windsor from home and realized the power of X. More often I avoid that and just use a Windows ssh client. For the yearning-for-grep moments, I found a windows build of grep, sed, and gawk that suits me.
Have you tried using Knoppix to get to mplayer without having to do a full Windows install? It might do what you need.
Re: MPlayer, I should have mentioned in the original post that it works fine with Cygwin….I think I will go update that so that it doesn’t give the wrong impression. Cygwin + MPlayer = Happy Jeff
Oh, and “sweet piece of app” would have been funnier. In fact, I wish I had titled the whole entry “Sweet Pieces of App 2004″…
[…] I’ve written about my love of TextPad before here. I just thought I’d post a couple quick tips about how to configure TextPad to view documents the way you like it. […]