Hosted by SourceForge

Welcome to the Fraglets Project


The Fraglets project is a place for pieces of software which happen to be created in the process of writing other software. It is a resting place to allow algorithms to settle and mature and a forum for ideas and components. See the project page for further information, but don't expect much for now.

Since the project consists of fragments, there is no particular implementation goal and no complete product for this project. Output from this project is expected to become re-used in other projects. That is the reason why the license of choice in the Fraglets project is the MIT/X License. It provides a good compromise for reuse in most projects, most convincingly demonstrated by the X Windows software.

Due to the fragmentary character of most software contained in this project there will be few file releases. The easiest way to access the software will in most cases be the CVSWeb interface.

Automatically generated daily snapshots are provided as tarballs.

C/C++ programs

Some of the C programs are quite old already. Thus, although the algorithm may still be useful, the software may use features no longer supported on a modern system.


Somewhat redundantly, there is a fast literal string search program dgrep from my C development times. That software is comparatively old, but since it is small and fast, I still use it as a starting point if fast string match in large data is needed. It is in dire need of documentation though.


Relay contains a set of network relay/forwarding programs which were created to migrate an active multiuser game.


The tryst package is an example of black *NIX art which will probably never become very portable. It implements a fast inter-process communication mechanism. Since it uses unix domain datagram sockets, memory mapping and file descriptor passing it depends on quite a lot of unix features.

The current version works at least on old SunOSes and Linux. Note that the expected cost of sending a message in tryst is constant and does not depend on the message length. This is done by passing file descriptors to mmap-ed memory blocks around.

Java Beans

There is a separate page showcasing beans online. You will need a java-able browser or, even better now, the java plugin from Sun Microsystems.

Java Classes is mostly obsolete now, only the effort spent on avoiding memory leaks might make it useful in current Java releases. However, users who are still stuck with version 1.2 might find the behaviour provided by menu item of the later releases valuable. and provide a generic way to make table sortable by column, as seen in many popular user interfaces. Its use can be seen in action in the MTGO Trader utility.

Java Utilities

YAELP stands for Yet Another EverQuest Logfile Parser, and it is just that. Other than the usual log file parser with damage output calculation and whatnot, this one is only able to create user lists from observed /who output. However, it is extremely fast at doing that and it can parse gzipped files directly. I can parse my complete log files from the past year in under one minute. You can use the pre-compiled jars from the files section to give it a try. If you would like a peek at the sources look here

MTGO Trader is an unfinished attempt at creating a tool to organize trading cards, geared toward the late online version. You can use the pre-compiled jars from the files section to have a look at what it does so far.

Shell scripts

Shell scripts contained here may often expect an installation of GNU tools.


As with many temporary solutions, my javadepend shell script now lives in most of my java projects. Since conception it serves to generate Java dependencies for a set of java source files. It is sort of obscure in its implementation, does depend on standard *NIX tools and a ready installation of the GNU C++ preprocessor, but is really fast compared to all other solutions I have seen so far.

$Id: index.php,v 1.10 2002/07/13 20:34:15 marion Exp $