projects : software <

Windows Software

FixMpeg

FixMpeg has been moved to GitHub.

JPEGSpinner

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

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

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

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.

iPhone/iPod Touch Software

HomeGuru

Home automation for iPhone, native interface for the SmartLinc INSTEON controller.

Caar

A simple full-screen coloring application designed for my 1-year-old daughter.

Windows Mobile 5 for Smartphone Software

GMailNotifier

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

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 System_SR_ENU_wm.cab 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 BrightKite.com 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.

InstaMapper GPX

Along the same lines as the BrightKite GPX script, I've created another little script that downloads GPS points from www.instamapper.com and converts them to a GPX stream. You have to use the site to find the API key for your device under Manage devices -> Configure API access. Once you have an API key, you can pass that to the script and it will spit out GPX to you.

gatekeeper

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.

BeyondTerraWiki

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

WWW::StockPrice

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.

colo

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 Terminal.app.

X KITT

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.


WMKITT

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.)

Verify

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)

HappyTyper

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.

mouth

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-2014 Scott Jann Last updated on Wednesday 3/19/2014