Open Source Software

This software was developed by Ezic, Inc. but since it might be useful for other people and is not directly related to Ezic's primary business, we're making it available under the GPL. Ezic, Inc. assumes NO responsibility for any claims related to the free software provided here; use at your own risk. This software is unsupported and provided as-is.


This apache module provides efficient and configurable hostname lookups, similar but better than Apache's core <HostnameLookups on> directive.

The module uses a shared memory cache to store recently resolved hostnames. By default the cache uses 200k of shared ram, and will cache up to 1024 ip/host pairs.

mod_dns dramatically improves resolver performance, making it possible to resolve hostnames in real-time even for busy webservers. It also has a built-in performance summary page.



Command line tool to render an RTF file in Postscript.
Update: Ted now includes an option for command line postscript printing, so this patch is no longer needed. Download the latest version of Ted instead.


Usage: rtf2ps <input.rtf> []


This tool reads a file, feeding its contents thru a shell command or a pipeline, and reads the output from the pipeline writing it back to the file.

It allows for in-place (re)compression, for example. For large multi-part archives you may not otherwise have been able to uncompress and recompress the data again because of lack of temporary disk space.

If the output from the pipeline is bigger than the file, the program will continue to allocate memory to buffer the difference, it will never over-write data in the file before reading it.

Take me to your software!

Usage: rewrite [-v] [-r "s/old/new/"] files.. "cat|cat"

        -v              verbose output (show compression ratios)
        s/old/new/      sed expression for renaming files

        files..         input file names to rewrite through pipeline
        "cat|cat"       pipeline expression to rewrite file through


flog (file logger) is a program that reads input from STDIN and writes to a file.

If SIGHUP is received, the file will be reopened, allowing for log rotation [see logrotate(8) on RH.] The log file will only be reopened if flog detects that rotation has occurred (ie, old file gone or inode changed). flog is extremly small (less than 500 bytes memory footprint.)


Usage: pipeline| ./flog [options] {logfile|-}  # SIGHUP will reopen logfile (v1.8)
	-t           prepend each line with "YYYYMMDD;HH:MM:SS: "
	-T <format>  prepend each line with specified strftime(3) format
	-l <number>  log file length limit (force truncation)
	-z           zap (truncate) log if disk gets full (default: grow buffer)

The tricky problems and solutions memory hole ..

Some random computer problems and solutions might be found below. So if google happens to index this page, and you searched for an error-message we ran into at some point, maybe there's a solution here... (But don't count on it!)

Random problems and solutions

fredrik {at}