A lot of this stuff is very old. Nearly all of my recent work is on the DragonFlyBSD project. DragonFlyBSD
This is the DICE C compiler suite which I wrote as shareware for the Amiga in the early 90's. I no longer do any development work on this project but there seem to be enough people still in need of it, including myself for some old commercial projects, that I decided to wash it off and report to run on a BSD or Linux host. Recently I reported and revalidated it to work on a 64-bit host (mostly involving changing all instances of 'long' to 'int32_t', as well as some other issues).
This compiler can generate generic 68000 output, it doesn't have to be targetted to the Amiga. It contains all utilities required to compile, assemble, link, rom, etc.
Version 1.15 is cleaned up and the copyright has been changed to the BSD license. dmake is needed to compile it up under unix. It will generate 68K code, amiga binaries and objects, etc.
This is the DMAKE application, now called "dxmake" to avoid confusion with the "dmake" package which has nothing to do with my dmake.
This is currently needed to compile up the DICE suite (though I expect anyone who really cares will redo the DICE suite to use bsd make or gmake). I have also placed this under the BSD license.
This program may be used to test for packet loss between N hosts. Unlike ping this program must be run on all N hosts being tested with each instance specifying the other hosts. However, also unlike ping this program will tell you which *direction* the error occured in!
This is a simple memory allocator core for embedded systems programming. It has a number of features including: initial setup does not modify memory pool being managed, no-overhead allocation, allocate-at-address, and bulk deallocation of contiguously allocated segments as long as they adhere to a minimum alignment.
The allocator now also includes an optional malloc interface.
Changes for 3.2: Fix a minor newline stripping bug.
Changes for 3.1: Add support for a global root cron directory.
Changes for 3.0: Fix /tmp race, more cleanups.
Changes for 2.9: Modernize codebase, change strcpy() and sprintf()'s to snprintf()'s (supplied by Christine Jamison).
Changes for 2.8: Fixed newline/whitespace bug that could cause dcron to improperly chop crontab lines.
Changes for 2.7: Minor adjustments to compile under more recent libc's.
Changes for 2.4: fixed two buffer overflow problems.
Lines may now start with a space
additional minor logging.
Changes for 2.3: bug in VISUAL environment variable check fixed, and now allows a line to begin with a space or tab (whereas before it silently threw such lines away).
This is the mailing list server I wrote to replace majordomo at BEST.COM. The source is in the public domain and distributed as-is. It should be useable on any UNIX machine that uses sendmail and, coupled with the sendmail multiple-queueing program called autoqueue (included in the distribution), can be used to manage thousands of mailing lists covering hundreds of thousands of users on a typical PC running FreeBSD or linux with sufficient memory.
The program is provided as-is. There is no guarentee that I will do any further (major) development of it. However, people do trickle in patches and the release is up to 1.04 with a cleanup patch and List-* header additions by Tim Showalter.
This archive also has a little stand-alone nntp forwarder in it, if you need one.
DMail is a program I originally wrote in 1986 to replace /usr/ucb/Mail. It's a rather high-powered but command-line-oriented mail program. While it has largely been superceeded by GUI-based mailers (or even curses-based mailers), it is still extremely useful when one needs to deal with very large mail boxes.
1.23 (May 2008) Handle quoted-printable decoding for 't'type.
1.22 (Febrary 2004) Fix improper parsing of '_' in variable
names. $a_b was being decode as the variable 'a' followed
by '_b' instead of the variable 'a_b'.
1.21 (October 2003) Fixes long standing bugs in To: and Cc:
generation when generating the reply template and aggregates
multiple To: and Cc: headers in the message when
generating the reply template.
1.20 (August 2002) adds support for single quotes and fixes
alias expansion for %var/$var sequences, but you must use
single quotes to define such aliases.
1.19 (August 2002) includes a new 'complain' command.
1.17 fixed a serious multi-line header formatting problem.
DAsm is a small assembler which may be used to assemble code for 6502, 6811, 68HC11, 68705, and a few other similar processors. Samples are included.
The last version released by the original author (that would be me) is 2.16. Since then a number of other people have made modifications and additions to DASM to better support 6502 (etc) hobbists. Ongoing work on DASM is being maintained by Andrew Davie at http://www.atari2600.org/DASM
2.2x rev - (see CURRENT release link above)
2.16 rev - Placed all DASM source under the GPL, retroactively.
2.15 rev - changed permalloc() alignment from 2 to a conservative 8 bytes, fixing crashes that occur on sparc systems.
Useful primarily for running and controlling sendmail -q's separate from sendmail -bd. Also useful as a means of generating a keepalive on critical programs.
Cpdup is a mirroring program that I originally wrote in the late 90's. It is now part of the base utilities source in the DragonFly project. It works like the standard 'cp' program but is designed to make exact mirrors of directory trees by default, whereas the 'cp' program requires a ton of options to even come close (and even then doesn't do it properly).
Cpdup makes an exact mirror by default, including the preservation of hard links. It also has numerous options that allow fine-tuning the copy set. Cpdup by default will skip files which it already believes to be exact copies by looking at the file stat info.
Several important features have been added to Cpdup since its release. First, cpdup now has the ability to mirror across machines using a rcp-like syntax. Secondly, cpdup now has the ability to compare the source file against a third directory and then hardlinking from that directory to the target instead of copying. This feature can be used to create daily incremental backups. Finally, with 1.17, cpdup is now endian-agnostic and should work properly when the remote host has a different endian from the local host.