You are looking at historical revision 678 of this page. It may differ significantly from its current revision.


This wiki is a project with the goal of providing high-quality documentation for Chicken eggs authored in a collaborative manner.


TODO: I still need to group them by category and include the whole listing.

Generic code used to keep a remote directory synchronized with a local directory. The code detects what has changed using different methods (SHA1 or MD5 hashes of file contents' or checking files' modification times) and uploads changes to a server using different methods (scp, tar over ssh, ftp/kermit).
Code to generate format functions. It is relatively flexible, supporting inheritance and allowing you to extend your formatters. It is accompanied by an implementation of Common Lisp's format function which is thread safe and extendible (meaning you could define new format characters).
Code useful for generating graphics of events over time. We use this in svnblog to generate a graphic of the posts made over time. The horizontal line represents time: when events occur, they are shown as a point. You can see an example of this in the following URL (though you should really increases its height):
A simple and fast (well, actually not that fast, since it uses streams of characters) HTML generator, implemented as a macro that transforms expressions such as (html (body ((a href "there") "link"))) into a stream-generating code. I use it for all my HTML-generating programs. I don't expect to modify its interface in the future.
Parses Apache HTTP logs and returns them as a stream of #,<request> records.
Wrapper around the iconv C library (part of GNU libc), which makes it possible to convert a string from one character set to another.
Convenience functions for defining orders and for sorting.
Library for iterating through all the positions in an n-cube in the discrete set N^n containing multiple n-cubes that need not be disjoint. At each moment in the iteration, a list with all the n-cubes in the current position is returned. Among many other uses, this code lets you combine multiple layers that might overlap in different ways into one single image (layer).
An implementation of the Adler-32 algorithm for checksums, mostly useful for the stream-zlib egg. The Adler-32 algorithm is described in RFC 1950.
A lazy encoder/decoder for srfi-40 streams of characters in base64.
A helper library for generating applications that run under CGI. It still doesn't support form-based file uploads. It assumes you know CGI and can generate the CGI headers by yourself.
A library of extensions useful for working with srfi-40 streams. It started small but has been growing quite a bit (as the result of having a lot of our code us streams).
Experimental egg with code for generating Adobe Flash files.
Uses the stream-flash egg to generate Adobe Shockwave Flash movies representing a tree with sizes.
Parser and generator for LDIF (LDAP Data Interchange Format) files. Parser returns a stream of hashes, one for each entry in the file. Each hash has as keys names of attributes and as values lists of the values for the given keys. The generator expects information in exactly the same format (which makes it easy to perform transformations in LDIF files, for example).
A rather incomplete library for writing and reading PNM images, representing them as streams of colors (for each pixel).
Parses its own wiki format, which was designed to be as compatible as possible with those used by popular wiki engines (such as MoinMoin and MediaWiki). Converts from the wiki format into multiple formats (currently HTML and LaTeX, work is in progress to also convert to Open Document Format).
An implementation of ZLIB compression/decompression algorithms, as specified in RFC 1950 and 1951. I am not aware of any bugs on it, but I have not tested it exahustively. It is, unfortunately, rather slow. It needs some improvements to be usable on big files (it doesn't currently dump old entries from its hash table). It compresses itself to around 30% of its size. HTTP logs get compressed to about 10% their original size.
Incomplete yet functional wrapper around Subversion's C libsvn_client. We extend it adding functions as we need them. Right now it is rather dirty; we'll probably clean it up at some point, breaking backwards compatibility. So don't use it, not right now.
Code useful for making graphs/plots of commits to a Subversion repository. See fuwiki:svn-graph for more details and for a few samples.