projects : software <

Windows Software


FixMpeg is a simple front end to ffmpeg that will convert the audio format and sample rate in an mpeg2 file (.mpg). It is intended to aid the migration of files to the SX Video Servers from Tightrope Media Systems. It will not touch the video, but only convert the audio in a file if it is not correct to stereo MPEG1 layer 2 audio (typical uses are to convert from the wrong sample rate -- 44.1kHz to 48kHz or to convert AC3 audio).

Simply extract the zip file, double click the FixMpeg.exe (not ffmpeg.exe) and then drag a batch of mpeg2 files onto the window. Files that are already correct will be copied, files that can be converted will be converted and you will get a message about any incompatible files.

You can click the path to point it at your desired content directory (it will create a file there with the same name when processing). There's no installer, just place the extracted folder somewhere convenient, and perhaps make a shortcut to FixMpeg.exe someplace even more convenient.

2.1 - this release now will process files other than MPEG files (i.e. .wmv, .avi) and will transcode unsupported media to MPEG2 to make them compatible! It will also read and allow you to convert media from a DVD. It does its best to transcode to MPEG2, some low-quality sources may have A/V sync issues, it is good to check the files for any problems after they're converted.

2.2 - this release adds preliminary support for MacOSX with a few changes that allow it to run under mono.

To get it running on your Mac, first download mono and install it. Then, in in the FixMpeg directory there will be a, double click it in the Finder to extract it. Once that finishes, you'll see an AppleScript called "FixMpeg" (with an icon if a script standing on a square). Double click the script, it will configure and run FixMpeg for you. Status isn't perfect yet, but it works.


JPEGSpinner is a little front-end application to jhead and jpegtran which will allow you to quickly perform several lossless transformations on JPEG images. It will allow you to rotate to multiples of 90 degrees, flip horizontally or vertically or automatically rotate based on information embedded in the image by the rotation sensor in your camera (if available). Since the transformation is lossless, there is no loss in quality due to recompressing the image.

To install: copy the application to your Program Files and create a shortcut in your Startup folder (sorry no installer yet).


SystemInfo is an application that runs in the system tray and displays a summary of your system configuration on your desktop. Copy the application to your Program Files and create a shortcut in your Startup folder (sorry no installer yet).


RaidMonitor is an application that runs in the system tray and monitors the status of a 3ware RAID controller with 3DM 1.x software. Copy the application to your Program Files and create a shortcut in your Startup folder (sorry no installer yet).


GoogleImager is a small .NET application that uses Google Images to find album artwork for an mp3 collection. When you run it, it prompts for a folder that should contain any number of folders corrosponding to artists. Each artist's folder should contain an album subdirectory, which in turn contains the music. Album names that contain a year prefix will ignore the year.

To find images: you click on an album in the left pane, then either click on the small preview box (if there is already artwork) to keep it, or select an image in the web browser pane. It will auto-advance to the next album. It creates a folder.jpg in each album's folder which can then be later processed to put into the media's tags.

Concept: Andrew Starks.

Windows Mobile 5 for Smartphone Software


A simple application for Smartphone that can check how many new messages you have in your Google Mail account (supports Google Apps domains, just type in a domain in the Settings... screen). It uses the ATOM feed for your inbox to find new messages. This is a proof-of-concept, ideally the next step is to integrate this into the home screen (anyone?). For now, it cheats and uses an all-day event to put the data on the home screen. Just leave this app running in the background and it will update your mail count at the selected interval.

Why did Microsoft not provide an easier way to plug into the home screen? Making a plug in in C++ would be a lot more complicated than this, .NET makes it a lot easier to do SSL requests. If you look at the code, I tried making it update the form's icon, hoping this would show up in the MRU, but it does not (maybe there is a way?). But, for now, the all-day event works. If you use GMobileSync, I suggest quitting the GMailNotifier before syncing (the all-day event gets deleted when exiting).

I wrote this, because I couldn't find anything out there that did what I want. There is another app out there that is similar from JGADesign: GMailCheck.

Version 0.2 adds the ability to set the mail check interval and also a summary of email in the all-day event that gets created.

Version 0.3 fixes parsing of preview emails to process html entities.


HappyGPSLogger is a GPS Logger for Windows Mobile 5 for Smartphone. It connects to a GPS receiver and creates a tracklog in .gpx format. I use it in conjunction with the WWMX Location Stamper for geo-tagging photos.

It enables bluetooth when starting, and returns the bluetooth radio to the previous state when exiting (for use with bluetooth GPS receivers). If a storage card is available, it will save logs on it, otherwise it will put them in \Application Data\HappyGPSLogger\. You can manually record points to the log or it will automatically record them at a fairly aggressive interval, every:

It requires the .NET Compact Framework 2.0, but you should install SP1 to the Framework to fix enumerating bluetooth virtual serial ports. I also suggest installing the so the system will produce meaningful error messages.

Version 0.2 fixes speed tracking and adds a visual speedometer.

UNIX Software

noidle (pronounced noyd-l)

Many firewalls disconnect your sessions when they've been idle for a long time. noidle was written to combat this, by making sure your terminal session has data being sent to it frequently (default: every 30 seconds). It has actually become much more, it now provides a lot of useful information on the title bar of your terminal window such as mail count, system load and stock quotes. noidle is most useful when used in conjunction with screen.

Note: noidle requires at least perl 5.

Original concept: Josh Colbeck.

BrightKite GPX

A simple perl script that will download the list of places a particular user has checked in at with and convert it to a .GPX file. HINT: you can use GPSBabel to convert a .GPX file to various formats for use with GPS devices or Google Earth.

Version 1.1 adds a simple database to cache entries, so subsequent calls can add new entries and have a complete history of old entries (even when they're no longer in the GEO-RSS feed). To reset the database, remove ~/.bkhistory.db.

Version 1.1.1 changes the database to be named ~/.bkhistory.username.db so you can track multiple users.


A perl script that filters email based on a list of known good addresses. You list the addresses you wish to accept email from, and all others are save to a staging folder which can be purged at will. New in version 1.3, gatekeeper can automatically accept email from any addresses you've sent email to, and new in version 1.4, it can use rbl style services to bypass even staging a black-listed message. gatekeeper is 110% effective at blocking unwanted emails.

Note that this is for use with unix systems that use unix mbox style mailboxes, not maildirs or anything else.

Thanks to Don Teske for the help with the concept.


Yet another wiki implementation that I wrote to use with Beyond Terra. It is written specifically for this site, and is not easily configurable.


This is a perl module that is used in conjunction with noidle to fetch stock quotes from the internet.

Josh Colbeck modified this script to be a perl module.


If you use a terminal such as xterm or rxvt, you must use colo. It is a program that chooses random colors for your terminal windows, to bring life to your desktop. It defaults to spawning an xterm, but it is easy to configure to use a different terminal.

Written by Rocco Altier and Scott Jann.

colo X

A version of colo for Mac OS X, to change a current window's colors in


The most useful utility for your X desktop. This program makes a red scanning light appear on your X server.

Written by Rocco Altier and Scott Jann.


Inspired by X KITT, this is a scanning light that can be docked when using the Window Maker window manager for X.

(Shown with the -evil flag.)


This is a simple utility for testing drives. It can start multiple children to test drive access from multiple processes doing a variety of reads and writes. Each child writes a random length block of data to the specified path, and then reads it back, and as the name indicates, it verifies what it reads is what it wrote.

verify <prefix> <count>

From the command line you pass it a path and file prefix to where to create files (i.e. if the drive you want to test is mounted on /mnt, you could use /mnt/test as prefix). You also specify the count of children. If you wish to use verify's timing feature to test drive speed, use 0 for count.

Macintosh Software (for OS9 or earlier)


A utility for setting the Macintosh type and creator codes for a file based on the types defined by Internet Config. It uses file extension and also looks at file content to determine type.


A silly useless utility that will read you a file, and uses the MacinTalk speech callbacks to animate a face based on the output. This is just a simple thing I wrote to learn about the MacinTalk Pro API.

Unless otherwise specified all source code on this page is released under the GPL.

©1999-2015 Scott Jann Last updated on Friday 5/8/2015