Saddi Enterprises
Software

This site chronicles the public software projects of Allan Saddi. Over the years, the nature of my projects has varied far and wide — from small, niche programs, to libraries, to full-blown applications. (Just explore the different categories to see what I mean!) Most projects are released with source code, and those that are, are under a BSD-style license.

For announcements and other information about my projects, please see my technical blog.

Choose a category:
Flannel (Last updated: Dec 22, 2006 9:32:39 AM)
Flannel is an event-driven, component-oriented web framework for Python.

URL: http://www.saddi.com/software/flannel/

ajp-wsgi (Last updated: Dec 15, 2006 5:22:29 PM)
ajp-wsgi is a WSGI server/gateway that implements AJP 1.3 to communicate with a web server. It is written in C and embeds a Python interpreter to run the actual application. Since all of the low-level transport code is in C, ajp-wsgi is significantly faster than flup's pure-Python ajp server.

URL: http://www.saddi.com/software/ajp-wsgi/

advogato-tmetric (Last updated: Aug 2, 2006 1:19:08 PM)
A Java implementation of Raph Levien's Advogato trust metric. Includes source, a pre-compiled jar file, and javadocs. (Requires Java 5.)

URL: ftp://ftp.saddi.com/pub/software/advogato-tmetric-asaddi-0.2.tar.gz

VanaClock (Last updated: May 17, 2006 11:28:46 PM)
VanaClock is a clock program for Final Fantasy XI that runs on Mac OS X. It allows you to search for and keep track of certain routine events within the world of Vana'diel. For example, in addition to showing you the current game day and moon phase, VanaClock can tell you what the day and moon phase will be at a certain time in the future. Also, the current status of the airships, ferries, and guild shops are readily available. Lastly, VanaClock includes a time search feature which will allow you to answer questions like, "When is the next full moon?" Or "When is the next Watersday?" Or even "When will it be 10:00 on Lightningsday during a New Moon?"

Source code now available.

URL: http://www.saddi.com/software/VanaClock/

VanaClockMIDlet (Last updated: May 17, 2006 10:23:04 PM)
A version of VanaClock written for MIDP (Java for mobile information devices i.e. phones and PDAs). Source code now available.

URL: http://www.saddi.com/software/VanaClockMIDlet/

ProjectCavalcade (Last updated: May 4, 2006 11:17:47 PM)
A simple Java web application to display/showcase projects. Uses Hibernate, Spring, and FreeMarker. The previous incarnation was based off of WebObjects. Link leads to the live site. (This site!)

URL: http://www.saddi.com/software/

shorten (Last updated: May 4, 2006 10:58:03 PM)
Yet another URL shortening service, similar to TinyURL. A fairly simple implementation, using the web application framework developed from the blog project.

URL: ftp://ftp.saddi.com/pub/software/shorten-0.2.tar.gz

yafic (Last updated: Sep 2, 2005 10:59:35 AM)
Yet Another File Integrity Checker, a filesystem auditing tool similar to Tripwire, AIDE, etc. yafic is fast, simple, yet flexible.

URL: http://www.saddi.com/software/yafic/

newsfish (Last updated: May 24, 2005 4:20:52 PM)
newsfish is a batch (meaning non-interactive!) USENET news reader. Given a list of newsgroups and a set of filters for each newsgroup, newsfish scans unread articles, applies the appropriate filters to them, and saves all matching articles into mbox-style files. The articles can then be read in any mail program that understands mbox format (pine being the one that I use). The filters are composed of one or more extended regular expressions (à la egrep).

URL: http://www.saddi.com/software/newsfish/

flup (Last updated: Apr 20, 2005 3:51:46 AM)
A random collection of WSGI servers and middleware, along with a lightweight web framework.

URL: http://www.saddi.com/software/flup/

gp (Last updated: Feb 20, 2005 12:13:36 PM)
gp is a genetic programming library, written in C. It provides basic genetic operators like crossover and mutation. It supports loading and saving populations from/to XML files.

URL: http://www.saddi.com/software/gp/

ga (Last updated: Feb 20, 2005 12:12:59 PM)
ga is a linear (fixed-string) genetic algorithm library. It provides basic genetic operators, like single-point crossover and mutation. It supports loading/saving populations and individuals from/to XML files. It also provides a simple way to transport populations over TCP (both IPv4 and IPv6).

URL: http://www.saddi.com/software/ga/

pgmtogrob8 (Last updated: Feb 20, 2005 8:58:48 AM)
A rather old release, probably one of my first official ones. It takes a pgm file (that's portable graymap, from the popular netpbm distribution) and converts it into an 8-"color" GROB for the HP48 series calculators. If you don't recall, HP48's were these big super-calculator things that could do just about anything. :) I still have and use my HP48 to this day...

URL: ftp://ftp.saddi.com/pub/software/pgmtogrob8.tar.gz

py-rijndael (Last updated: Feb 20, 2005 8:56:32 AM)
A Python extension for Rijndael (AES). It uses the fast C reference implementation. Requires Python 2.2.

URL: ftp://ftp.saddi.com/pub/software/py-rijndael-0.9.tar.gz

py-otp (Last updated: Feb 20, 2005 8:56:07 AM)
Python module for one-time password (RFC 2289) generation/verification.

URL: ftp://ftp.saddi.com/pub/software/py-otp-0.9.tar.gz

sha (Last updated: Feb 20, 2005 8:55:26 AM)
sha is a simple file hashing utility that uses the SHA-1, SHA-256, SHA-384, and SHA-512 secure hash algorithms. It includes fairly portable C implementations of the mentioned algorithms.

URL: http://www.saddi.com/software/sha/

XOTP (Last updated: Feb 20, 2005 8:54:19 AM)
A one-time password client for Mac OS X.

URL: http://www.saddi.com/software/xotp/

q2tunnel (Last updated: Feb 20, 2005 8:51:30 AM)
Given two machines, one outside a firewall and another inside, it allows a single client inside the firewall to play Quake 2 on external servers. It's still a bit buggy (it adds a lot of lag!) and I've pretty much stopped supporting it since I got my high-speed connection (with no firewalls :)

URL: ftp://ftp.saddi.com/pub/software/q2tunnel-1.0.tar.gz

nn (Last updated: Feb 20, 2005 8:49:41 AM)
Neural network library. A straight-forward implementation of back-propagation neural networks. Supports loading/saving networks in XML and a native format.

URL: http://www.saddi.com/software/nn/

WoWAuctionWatch (Last updated: Feb 7, 2005 2:13:20 AM)
A Mac OS X utility to help you keep track of auctions in World of Warcraft. Additionally, given enough data points, it will deduce the end time of the auction for you. Note that this does not interface with the game or network at all — all the data comes from you. (So it is probably best to use it while WoW is running in windowed mode.) This isn't a cheat program. If you had pen & paper and knew what you were doing, you could reproduce the functionality fairly easily. ;)

URL: ftp://ftp.saddi.com/pub/software/WoWAuctionWatch-alpha.dmg

BatteryMonitor (Last updated: Feb 6, 2005 9:11:31 AM)
A simple utility that verbally warns you when your laptop's battery level falls below a configurable threshold. Includes a reusable class (of the same name) that takes care of all the gritty details of interfacing with CoreFoundation and IOKit.

URL: ftp://ftp.saddi.com/pub/software/BatteryMonitor-0.1.dmg

LyapunovSpace (Last updated: Feb 5, 2005 11:53:52 PM)
A simple Mac OS X application that generates Lyapunov fractals. Since reading AK Dewdney's article "Leaping into Lyapunov Space" from the September 1991 issue of Scientific American, Lyapunov fractals have always captured my interest. (I even did my high school senior math project on them.) This is a very basic application, however it does take advantage of (but doesn't require) the G4's "Velocity Engine" (aka vector processor) and multiple CPUs.

URL: ftp://ftp.saddi.com/pub/software/LyapunovSpace-0.1.dmg