generate_crypt_auto - generate mutt crypt_auto* send-hooks from gpg pubring

generate_crypt_auto - 2245 bytes - Sun Apr 19 14:43:19 2020
A shell script using sed to parse the output of gpg --list-keys --with-colons ... and generate a list of Mutt
send-hook "!~l ~t mail@example\\.org" "set crypt_autoencrypt crypt_autosign autocrypt_reply=no"
commands for each UID, discarding disabled, expired, invalid or revoked keys.

Also available at Codeberg.

New 2020-04: Ignore/discard keys marked invalid ('i' in 2nd gpg colon field).

2019-12: autocrypt_reply=no is included for the new since Mutt 1.13.0 Autocrypt feature, to force regular keyring encryption to known addresses. Remove that if you are using a release up to 1.12.x of Mutt.

2019-08: adapt to multiple trailing colon separated fields included in the output.

2017-11: check 'D' or 'E' in 12th field instead of last field (which worked only for gpg-v1 but generated empty list with gpg-v2).
Also renamed from generate_pgp_auto to generate_crypt_auto.

2017-06: pipe through tr '[:upper:]' '[:lower:]' to generate lower case addresses, otherwise mutt attempts to match case sensitive. Generate crypt_auto* intead of legacy synonym pgp_auto*

2016: the only difference to the version of 2009 is that the 2016 version uses !~l to not attempt to send encrypted mails if a copy goes to a known mailing list.

TimeTest - localtime/gmtime conversion pitfalls

timetest.c - 6977 bytes - Tue Sep 26 16:10:29 2000
If your C/C++ code uses localtime/gmtime (especially if for other times than the current time) you probably didn't think enough about possible side effects. Believe me, you probably didn't.
This piece of code illustrates how your compiler library handles different settings of the TZ environment variable. It also shows the problematics arising from time zone conversion localtime/gmtime when daylight saving is currently in effect and the time to be converted would have no daylight time set and vice versa.

pipe-fork - usage of pipe(), fork(), dup2() and exec()

pipe-fork.c - 3510 bytes - Tue Jun 26 21:46:02 2001
This program illustrates how to use the pipe(), fork(), dup2() and exec() system calls to control stdin and stdout of an exec'ed program via pipes from within the calling program.
Just because someone asked me ;-)

mutt date pattern patch - 10216 bytes - Tue Feb 6 00:00:14 2001
This patch enables date offsets relative to an absolute date in Mutt v1.2.5i limit filter and other date pattern inputs. It also fixes a slight and almost unimportant glitch in the start date / end date settings of original relative dates. The patch is integrated into the official mutt CVS tree as of release 1.4i and this commit in the newer Mercurial repository.
# Original Mutt allows:
# DD[/MM[/YY]]               day of month of current date or exact date
# DD[/MM[/YY]]-DD[/MM[/YY]]  from date to date
# -DD[/MM[/YY]]              older than or equal to date
# DD[/MM[/YY]]-              from date until now
# <nd, <nw, <nm, <ny         less than n days/weeks/months/years ago
# >nd, >nw, >nm, >ny         more than n days/weeks/months/years ago
# =nd, =nw, =nm, =ny         exactly n days/weeks/months/years ago
# This patch extends it to the following (all nd days expressions may be
# nw/nm/ny for weeks/months/years as well of course), -nd adjusts the
# minimum date, +nd adjusts the maximum date, and *nd adjusts both the
# minimum date and the maximum date.
# DD[/MM[/YY]]-nd            day of month of current date or exact date
#                            minus n days
# DD[/MM[/YY]]+nd            day of month of current date or exact date
#                            plus n days
# DD[/MM[/YY]]*nd            day of month of current date or exact date
#                            plus/minus n days
# More than one relative date expressions may be specified, all having a
# cumulative effect, for example:
# DATE-4m-2w+1w*3d           from DATE minus 4 months and 2 weeks and 3
#                            days until DATE plus 1 week and 3 days
# A special rule takes place if no absolute date is specified. The
# default minimum and maximum date are set to the current date. The very
# first -nd not preceded by any other expression adjusts both the
# minimum and maximum date according to the given value, all other
# relative dates operate as above.
# -3d+1d                     two or three days ago
# -2d-1d                     the same, two or three days ago
# +1d-1d                     from yesterday until tomorrow
# -1w*1d                     one day before or after one week ago

urlview v0.9 quoted-printable decode patch

urlview.c.qpd-patch - 1909 bytes - Thu Aug 3 03:12:24 2000
If your favorite Mail User Agent is Mutt you are probably using urlview too. This patch enables urlview v0.9 to decode quoted-printables in a selected URL.

CRCman - File verification using CRC - 78760 bytes - Wed Apr 6 10:00:09 2005
CRCman - File verification using CRC.
Create and check CRC-32 checksums of every
file in a directory tree.
Dr. Dobb's Journal May, 1992.
Original source code by Mark Nelson.
Enhancements by Eike Rathke:
-a append CRC of new files;
single file check;
-f force full path names;
-r restrict to specified directory;
@input_dir file with list of names;
-x exclude_file with list of names; on UNIX, no scan of /dev et al;
check if files are files and not directories;
fixed possible buffer overflow;
long file names containing spaces are ok now;
DJGPP uses long file names under win9x;
scan hidden and system files under DOS;
-c clean CRC file of nonexisting files;
-e clean CRC file of mismatching files;
-d delete entries from CRC file;
check entire subdirectory hierarchy;
check multiple files and subdirectories;
scan multiple subdirectory hierarchies;
case insensitive file names under DOS;
-p pervert path (write '/' instead of '\' and lowercase file names and no carriage returns under DOS);
@checkfile/@cleanfile/@deletefile with list of names;
-w working directory prepended to names;
-q and -qq quiet modes;
scan single files too, not just directories;
DJGPP DOS-32 executable for DOS/win9x and
C source code for UNIX and DOS.

Free UnRAR v3.1.4 DOS32 archive unpacker - 118000 bytes - Sat Jan 18 13:59:50 2003
Free UnRAR v3.1.4 DOS32 archive unpacker.
Compiled using DJGPP v2.03 gcc v2.95.2.
Patches against unrarsrc-3.1.4 included.

I created it simply because Eugene Roshal so far didn't feel the need to distribute a DOS unpacker for his proprietary RAR archiver and the new RAR3 format isn't handled anymore by the available old unpackers.


SO.url2html.tar.gz - 1671 bytes - Wed Sep 27 12:02:32 2000
A set of shell scripts (using GNU find, sed, awk) to convert an entire StarOffice 5.x bookmarks hierarchy of subdirectories containing .url files into a set of linked HTML files browsable with any browser.


more to come ... stay tuned ...