Peter Simons' Home Page


[picture of me]

English-language Content

Deutschsprachiger Inhalt

google.com

Free Software Projects

Tools:

Autoconf Macro Archive
The macro archive collects Autoconf macros from friendly contributors all over the world. As of today, it it contains over 300 of them, all categorized and nicely documented.
mini-httpd
mini-httpd is a small web server designed for optimal performance, high security, and as little use of system resources as possible. It uses the poll(2) system call to multiplex an arbitrary number of connections internally, rather than using fork(2) or OS threading. The daemon is very portable and should work on any POSIX system.
redate
A Unix shell script that helps keeping ISO-8601 in arbitrary text files update.
The »Sieve of Erathostenes«
This is a fun piece of code written in C++ template meta-programming. It provides a class template which can be used to calculate the primes in [0..n] at compile time.
Postmaster ESMTP Server
The Mail Transport Agent (MTA) of choice for the discriminating hacker in an unstable alpha release.
mapSoN <–> NoSpam
mapSoN is an efficient albeit somewhat dated challenge/response spam filter. It consists of a single Unix utility that is hooked into your local mail delivery system via procmail, sendmail's $HOME/.forward mechanism, or a similar mechanism.
The Petidomo Mailing List Manager
Petidomo is a a simple mailing list server for the Unix operating system. It is written in C and comes with many features such as moderated mailing lists, challenge/response-style spam protection, and a powerful access-control language.
PGPAmiga 2.6.3 International Version    (LHA Archive)
Cryptography for the masses ... now we only need to educate the masses where to find an Amiga.

C/C++ Libraries:

Asynchronous I/O for C++
The ioxx library provides primitives for asynchronous I/O in C++. That kind of thing is typically useful for people who would like to implement a highly concurrent network service, i.e. an application that performs input/output simultaneously on a great number of sockets. The library's main components are a socket event dispatcher, a time event dispatcher, and an asynchronous DNS resolver. There is also a class interface to socket programming that offers those wonders of modern C++ such as exception-style error reporting, transparent resource management, type-safety, and support for custom memory allocation strategies. Ioxx is thread-safe in the sense that it is fully re-entrant. The code runs on any POSIX-compliant operating system, most notably Linux, NetBSD, Solaris, AIX, HP/UX, and Windows.
Variable-Expression Library
This C++ language library provides sh(1)-like variable substitution in text buffers. It can do quite a bit more than just »substituting«, though. And for those who don't trust C++, an ISO-C version is available as well.
FastCGI Protocol Library
libfastcgi implements a completely system-independent FastCGI protocol driver, which can be used to handle all communications between the web server and the FastCGI application.
Extensible Data Serialization Library
libxds allows application programmers to serialize data structures in a way that can be exchanged between machines of different architectures without worrying about endian conversion or other traps. The library provides a framework, which let's you plug-in various encoding and decoding backends. mplementations for XDR and XML formats are included. The library is written in C and is expected to be very portable.
RFC2822 Address Parser Library
A collection of Boost.Spirit parsers for the grammar defined in IETF Request for Comment 2822.
smart_enum<> C++ Template
This C++ template class provides a generic wrapper for enum. The problem with the standard enum types is that it is hard to use in arithmetic expressions (such as ++my_enum) without losing type- and range-checking. The smart_enum<> class allows for compile-time and run-time checked manipulation of the underlying enum without significant performance penality. In addition, some rather funny types of smart_enum<> are included in the library, which allow for such things as wrapped enumerations, etc. Please note: This code is experimental.

Haskell Libraries:

HsDNS
On top of the GNU adns library, these Haskell modules implement an asynchronous DNS resolver. On the Haskell side, the concurrency is hidden from the user through the use of an MVar.
Internet-Message-Format Parsers
This package contains various parsers for the Internet Message Format defined in RFC2822, plus various additional e-mail related things from 2821.
FFI bindings to syslog(3)
An hsc2hs module with FFI bindings to syslog.
Functional MetaPost
Functional MetaPost is a Haskell frontend to the MetaPost language by John Hobby. Users write their graphics as Haskell programs, which then emit MetaPost code that can be compiled into encapsulated PostScript files and smoothly included into e.g. LaTeX.
FFI bindings to OpenSSL
A very incomplete collection of functions implemented on top of the OpenSSL library. Currently provides the message digest algorithms MD2, MD5, SHA, SHA1, DSS, DSS1, MDC2, and RIPEMD160 through a unified API.
Generic Stream Processor
Based on the Arrow class, this module implements a generic data stream processor which may be used in the IO monad or in pure code.

Copyright Contents simons@cryp.to