Dynamic DNS

Dynamic DNS updater -- C source for Windows, Linux. Based on open source inadyn, and inadyn-advanced. This is an easy to use, robust command line utility. It can also be installed as a service.

This fork (inadyn-mt), if you will, adds Unicode, language strings, and SIGUSR1 triggered ip updates. On Windows, ip updates are RAS event triggered (update on dial-up connect), and Windows service installation and management is built into the program executible. Timed updates still work as ever.

The latest gzipped inadyn-mt vErSiOn, including executibles is also here, on the present server. :)

Procmail Stuff

Auto-Archviving (ftp://wecs.com/procmail/archcron-fifo.zip) - Set of modular auto-archiving Procmail routines. See also, related article, E-mail Archiving.

Header Munging (ftp://wecs.com/procmail/mung.zip) - I wrote this set of modular Procmail routines so replying to newsgroups email is easier -- no need to "reply all" and then remove the personal (non-newgroup) email addresses. See related article which also contains some warning about header munging -- some don't like it -- Reply-To Munging. The routines have changed a little since the article - they are now more modular, and can use without actually doing any munging - to for instance, check a header's value against a list of values in a text file.

Modular Proxy Progress Reporting System

Do progress reporting without having to tie progress reporting code to reporting interface.  See and download the WECS Proxy Progress Reporting System.

Custom Dropdown Grid

Now persistent highlighted selections are not a problem in Corel Paradox for Windows.  The WECS Custom Dropdown Grid is a Paradox TableFrame clip object featuring a small object footprint in grid collapsed state saving precious page space; multiple persistent highlight selection, and a custom function that returns an array of record numbers representing records selections; incrementle search with scrollible search text output displayed at the grid's right.  The grid object is very modular encapsulating many objects, and each is configuable in terms of size, color, etc..

Multidimensional Arrays and Paradox

Multidimensional arrays can come in mighty handy.  Often, programming problems just scream to be implemented with them.  Sadly, except for arrays of TCursors (which can do the job quite beautifully), Paradox provides only for single dimensional arrays.

The MultiDimArray Abstract Data Type (ADT)

The MultiDimArray ADT provides for arrays of virtually any dimensions.  Implemented within a Paradox library, array accessing is done through library routine calls, using string literals, string variables, or integer index parameters.  Array access through library routine calls is a little less convenient than the usual compiler/interpreter enabled bracketed indexing (exp. arrayVar[2][2][3]), but the ADT provides for all other conveniences associated with multidimensional arrays.

Get MultiDimArray (Source Code)

MultiDimArray