longueur.org >> Software
SharpFile - A small, efficient orthodox file manager.
ExchangeReader - Command-line access to Outlook's Web Access feature.
ps - Another clone of the Unix ps.
GeekTool - Display text information on your desktop.
BugZapper - Scrape BugZilla information and show it in your system tray.
Common - Common code that I re-use across multiple projects.

Note that all applications require the .NET 2.0 Framework.

Also note that there is also no assurance, implied or otherwise, that these programs won't crash Windows or cause your machine to explode into a fiery death. I have never seen anything terrible happen, but I wouldn't count it out, either. Look at the source if you want to see what is going on.
The beginnings of a robust and efficient Norton Command-clone file manager.

Main features include: drag and drop, right-click context menu, rename, automatically refreshing file view, ability to calculate directory size, tab file view, dual or mdi parent choice, filter file view on-the-fly, file icons (including svn icons), read-only compressed file support, multi-threaded drive and file retrieval.

For more information, including nightly builds, access to the latest svn commits, a bug list or more in-depth information,visit SharpFile on Google Code.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.

ExchangeReader is a command-line program to access information from an Exchange server. So, for example, if your company uses Outlook Web Access, you can set up some queries to retrieve the last 10 unread emails that are in your inbox, or the next calendar entries for your day.

The way that Outlook Web Access works is a standard called WebDAV, which is a protocol where requests are sent to the server (as XML, which contain a payload that looks somewhat like SQL) and responds with results (which also come back in an XML format).

ExchangeReader is able to intelligently parse the data that is returned so you can display it any format you require.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.

I was looking for a feature-rich ps clone for Windows and I couldn't really find anything that fit my needs. The best I could find was SysInternal's PsList, but even that wasn't exactly what I was looking for. My version includes the following features:
  • Templated output to specify how the values should be displayed (for example tab-delimited, CSV, etc.)
  • Tree view
  • Ability to specify a list of properties that should be displayed for each process
  • Filter the processes output
  • Sort the output by specified column
  • Human-readable output
This program is still beta software so there may be bugs and there is definately room for some optimization, but most of the functionality I want is there.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.

There seems to a lot of Windows applications which will display certain information to your screen, but they are either chock-full of eye candy (widgets?) or are limited by the programmer to what they want to display; I wanted something a little more flexible. One of my favorite apps on OS X is GeekTool which is program that takes the output from a process and, in essence, writes it to your desktop. I figured it wouldn't be that difficult of an app to replicate for Windows users so I decided to do just that. And I stole their name, too, which is pretty lame, but I couldn't think up anything as catchy as "BugZapper".

Originally I used SysInternals' excellent command-line PsList (part of the also excellent PsTools) to output a continuously updated list of processes onto my desktop, but many other command-line applications should work just fine. In fact I wrote a brand new (ha!) clone of ps because I found all of the versions floating around the net so underwhelming. I also wrote a bare-bones mini-app to grab content from a website, which I then parse with regex and display on my desktop (think a really hacky/rudimentary RSS feed... although an RSS feed parser would be a good thing to write as well). And in my third form I display output from a tail of a log file, which I use the unxutil's port of tail for. I am sure there are other command-line utilities that could also generate some great content for your desktop.

One of the things that I thought would also be helpful is the ability to use regular expressions to only display the content that I actually wanted to see, so the ability is there. Note, however, that if you don't know how to write regex, you don't need to. The default is to just show all of the output from the process.

Note: You will need to take a look at the XML file that stores all of the settings for this application to work for you. It's not hard to figure it out, though, so just take a peak.

This program is still alpha software so beware and have caution. There is a known issue: shutting down seems to send off a flurry of dialogue boxes asking to close whatever process GeekTool is attempting to start up. I am looking for a solution, but haven't found one, yet. To grab the latest from SVN, have a look at the code.google.com site setup for GeekTool. For some more insight to how the code works visit the CodeProject article.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.

The company I work for uses Bugzilla for project tasks and I wanted a way to be alerted when/if new bugs were added to my queue. There were a few options on how to retireve this data: if Bugzilla had an api I could access that, I could look in the database directly to grab the information, or I could scrape the webpage that has all of the bug information directly. The easiest (although, arguably the hackiest) approach is to just scrape the website, so that's what I did. The application scrapes a user-supplied URL looking for bug information on the page and then pops up balloon tip notifications when your bugs have changed. It also changes color giving some visual indication of your task "status".

Note: In all likelihood, this executable will not work for you. Basic regular expressions are hardcoded into the source which specify how the bugs appear on the website scraped. But, I figure only developers are looking for this type of tool, so you can download the source and hack away to your heart's content. Beware that it's not the cleanest or most elegant code. It was done on a whim in about two nights, so you have been warned. Most of the configurable settings are in the App.config file (for example, your URL to access your bug webpage), but some things are still pretty hard-coded.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.

This is just a storeroom for the code that is useful across more than one project. The only reason you might want to look at this code... well, there is no real reason actually. However, I include it (already compiled) in the source for most of the other downloads, so I figured I should have the source available to download somewhere.

Download the latest source to see what is going on.
Download the latest executable.
Download the latest executable and/or the source to see what is going on.