Open Source Software Roundup July 2009 to December 2010

Originally this was supposed to be an end of year round up. However, two things happened. First, I did not finish it before the end of the year. Secondly, I realized that it would be better to list software I’ve discovered over the past 18 months as opposed to a year, due to various personal events that started in July 2009.

If I had to use one word to describe my relationship with technology in the past 18 months, it would have to be the Russian word Glasnov. That word, refers the open policies adopted by Mikhail Gorbachev that lead to the fall of the Berlin wall and communist Russia. I say this because I’ve used many open source programs for the first time in the past 18 months, and how I work with technology has changed greatly in that time. I therefore decided to present a list of some of the open source packages I think are very important. I’ve broken them up into two groups. The first group is programs I started using after July 2009. The second is programs I’ve been using since before then.

New Programs

Far Manager (website)

The Far Archive Manager is a filemanager originally developed by the author of WinRAR. It was recently made open source. It is a console mode orthodox file manager. I became attracted to Far for its ability to handle large directories and unc paths well. However, I became a true believer because of the plugins. There are plugins for everything. For example, the WinSCP plugin lets you connect remotely to scp and sftp shares, and the 7-zip plugin lets you manage archives as if they were directories. However, there are also plugins for the Service Control Manager and event viewer. The latest version even has UAC elevation integrated, although some plugins, notably the 7-zip one, does not. This means I can run far normally, download something to c:userszippyDownloads in Chrome, and copy it to c:Program Filessomething and I will get a UAC prompt. However, if I download a zip file I cannot copy its contents directly to c:program files.

Far 2.0 UAC Prompt

Ditto Clipboard Manager (website)

I’ve never use a clipboard manager before. Then Stan, the founder of this blog, told me to download Ditto. I don’t know how I lived life without it. Ditto keeps a stack of everything you copy to the clipboard. That stack can be accessed by pressing ctrl+`.  There are advanced options suck as searching the clipboard stack, but even this most basic mode of operation can make you more productive.

MongoDB (website)

What can I say about MongoDB? I was first introduced to MongoDB at NYPHP on October 27th 2010.  On that evening on the 12th floor of 590 Madison Avenue, Kristina Chodorow destroyed everything  I held right, holy and just about data storage and management. So I asked a lot of questions during the presentation, and convinced her into coming down to LILUG and LIPHP for encore performances. I decided there was some merit to all this heresy for some cases. However, I didn’t actually use MongoDB until May of 2010. Then on June 3rd Eliot merged my first patch into the MongoDB code base. I’m still not a MongoDB true believer, but it definitely has its purposes, and I recommend all DBAs should walk a mile in  its moccasins before hurling brimstone at it.

Git (website)

Contributing to MongoDB forced me to learn git, and for that I am forever greatful. Distributed version control is the way to go, especially for open source projects. Git is a little weird to use, but that is what happens when a Finnish operating system developer writes a version control system. The other thing that happens is you get a VCS that is very fast.

SConstruct (scons) build system (website)

Scons is like make, except its written in python. MongoDB uses scons as its build system. If I were starting a new C/C++ project I’d consider using scons as the build system. I struggle with editing the mongodb Sconstruct file since I don’t know python, but I was able to pick up enough python to be reasonably productive.

BouncyCastle for .NET (website)

I’ve used the PGP SDK in a previous life when I wrote ETL jobs. Recently, I have to generate a feed for someone else to ETL and they wanted it PGP encrypted. I discovered that there was a free, open source alternative  to the PGP SDK that was written in C#. This meant I did not have to mess with managed C++ or P/Invoke, in addition to not paying for PGP license.

GPG4Win (website)

We began to use PGP encryption to store some important documents at my company. As such I installed GPG. The GUI is a little lacking, but the command line version works great.

PHPManager for IIS (website)

PHP Manager is a plugin for IIS manager that allows you to manage your PHP installation on IIS. Quite simply, if you run PHP on IIS and you are not using this tool, you’re doing it wrong.

PHPManager lets you load and unload modules as well as edit all your php.ini settings. It also will tell you if you are doing things wrong in your configuration file, such as not setting a time zone. Finally, phpmanager has a “just open my PHP.ini file in notepad” button. I must stress the importance of installing this addin on any IIS server where PHP is installed.

GreenShot (website)

Greenshot is a great Screen Capture utility for windows. It lacks the video capture features of the closed source tool Jing, which I also use, but it cannot be beat for still capture. Greenshot has all the simple image editing you wold want from such an app. You can highlight, crop, obfuscate, and annotate your images. You can then save them or add them to the clipboard. The obfuscating is a great feature because sometimes you want to post a screen shot on your blog or a support forum, and usually there is sensitive information in it, like your companies code or a private email. Before greenshot, I’d fire up gimp to do this. Greenshot streamlines the process greatly.

Old Favorites

VIM (website)

Vim is my favorite text editor on any operating system. Version 7.3, the latest version, was released in August.

VideoLan (website)

VideoLan is a great no frills media player. However, as of late it is my main media player.

Thunderbird (websitezindus plugin)

I’ve been using gmail for years for my personal email. I really never saw a need for a traditional email client. Then I realized I wasn’t backing up my email. So now I install Thunderbird on all my machines and keep it running in the background to backup my gmail account. I also have zindus to backup my google contacts. While I should probably switch to a more lightweight method like fetchmail or mutt, thunderbird serves my needs for now.

GIMP (websitewindows downloads)

I have a confession to make. I don’t know how to use photoshop. I’ve been using gimp these years, so I think photoshop has a weird UI and gimp is normal.

Inkscape (website)

Inkscape is a vector graphics program. Its native format is SVG with some extensions. I used it to generate the graphics for the jquery.collapsiblePanel plugin.

Open Source Site Roundup 2010

Its the end of the year, and a great time to look back. In December 2007, I wrote an article about my favorite open source sites, that I am revisiting. It would be grossly inaccurate to call this an annual update, but if I do this again in 2011 I can call that article an annual update. So without further adieu, these are my favorite Open Source Sites for 2010.

Github (http://www.github.comMy ProfileJustAProgrammer Org)

Distributed version control initially bothered me on principle. I like centralized and federated systems. However, contributing to mongodb forced me to use git and github. This lead me to the realization that in DVCS, the centralized authority came from the one repository that the official builds were generated from. The other repository clones are simply sandboxes and don’t need to be controlled by the buildmaster.

However, github is much more than a git hosting service. It lets you form a community thats focused on the code. It lets you host downloads and have a project wiki so it can replace a site like sourceforge. Unlike sourceforge, it puts the repository at central stage. We here at justaprogrammer like github so much, we setup a github organization to host our open source projects.

Codeplex (http://www.codeplex.comMy Profile)

Between codeplex and Github, I have pretty much written off sourceforge. I think there is plenty wrong with codeplex, but its been getting better. For example, their SVN endpoints for their TFS repositories perform better than they used to. Also, the fact that they support, and sponsor, the DVCS Mecurial is great. Although I’ve not used it myself yet, it seems that you can do a one button clone of a codeplex project that uses Mercurial for SCM a la github’s clone feature.

Now the one obvious problem with github is that it is windows centric. I would not host anything on it that was not primarily a windows or .NET application.

Ohloh (http://www.ohloh.netMy Profile)

This is the only site on my 2007 list that stood the test of time. Ohloh is a unique site. It is a combination of social networking and open source software metrics. If you write open source software you can list it on the site, and have it scan your version control repository. It will report metrics about your software. It will also generate metrics about the lines of code you write across all open source projects on the site. You can also list software you use, and give other users on the site “kudos” if you enjoy their work. Finally, all these metrics are used to sort every user on the site by a single ranking system. The exact formula is a secret like those used to calculate credit scores.

AlternativeTo (http://www.alternativeto.netMy Profile)

This user supplied content site lets you search for alternatives to any program for any operating system. Its awesome for two reasons. First of all, site membership is OpenId based. Secondly, it distinguishes between freeware and open source. As you can tell if you look at my profile, I contribute to the site as well as use it. The majority of the software on it is desktop software, but the list of server software is growing as well.

Conclusion

My list has changed quite a bit in three years. Only one site remained on it, Ohloh. This shows that Open Source and the web have evolved in 3 years. I can’t wait to revisit this site in 2011. Until then I invite you, the reader to share the sites you enjoy in the comments below.