And verily this shall be the place where I write down everything I always have to search for, repeatedly. Continue reading »
I’m doing some things with qmail, which is boasted as “the second most popular MTA on the Internet,” and I was curious to see how popular different MTA’s were, based on posted job requirements at Monster.com.
Microsoft’s
Here’s a quick way to graph a two-column Comma Separated Values file, where the first column points to the second.
graphdnszone.pl is a script I’ve been using for a while to give me a quick picture of a zone, using the GraphViz perl module.
Quoting names in the GraphViz Perl module
If a picture’s worth a thousand words, then a picture of a thousand words is worth a million words. And you can quote me on that.
GraphViz is handy graph visualization software. Go to the GraphViz website and check out their Gallery, at least.
When coupled with Perl, GraphViz becomes truly spectacular. Leon Brocard’s GraphViz Perl module just might save you a lot of time. One thing I needed modified on it, however, was the handling of node names. If you wanted a node named “bob@example.com” the module would produce a generic node name of “node141″, which was restrictive for the two things I primarily use the module for (email addresses, and DNS mapping).
What follows is a quick diff to allow one to use arbitrary node and cluster names. They’re just straightforward regexes. They work for everything I use them for, and I haven’t had them bomb out. I think the reserved words (e.g., “graph”) need expanded, as well, but this will work for now.
While looking at the time conversion methods in .NET, I
These are the five computer time protocols I recommend providing. For SNTP/NTP, use OpenNTPD (note: if you’re using Solaris 10, check this page for using OpenNTPD Portable with SMF).
SNTP v. 4
RFC 2030
UDP port 123
NTP v. 3
RFC 1305
UDP port 123
Daytime
RFC 867
TCP/UDP port 13
TAICLOCK
http://cr.yp.to/proto/taiclock.txt
UDP port 4014
As I write this (at 4:56 p.m. Central Daylight Time), it’s 3:26 a.m. in New Delhi.
Migrating Excalibur EFS to Adobe Acrobat PDF’s
Here’s a quick perl script I used to migrate Excalibur EFS 3.7 filerooms to Adobe Acrobat PDF’s. Keywords: excalibur, EFS, efsbatch.
lint: quick sanity check
Here’s a quick script to determine shell, perl, PHP, and groff files, and then run a quick check on them. For my use, I also use the WDG’s ‘validate’ command-line HTML validator, from the OpenBSD ports/packages collection.
email: Convert LISTSERV archives
Book recommendations:
Marking Time: The Epic Quest to Invent the Perfect Calendar is a very good read; add it to your list. Then, if you’re in the mood for deeper reading, try the more scholarly and austere History of the Hour : Clocks and Modern Temporal Orders, which covers the evolution of timekeeping to regulate and limit — among other things — markets, sermons, and torture sessions.
Visual Basic Implementation of Double Metaphone
My Visual Basic implementation (external link to PlanetSourceCode)
BeOS/Haiku Keymaps
RE: keyboard mappings (keymaps) on BeOS and its open-source successor Haiku.
- listarchives.zip – Archive of BEOS-KEYMAPS@LISTSERV.SNAKELEGS.COM mailing list (gone now).
- uni2utf8.zip – Command-line application to print all Unicode values and their respective UTF-8 encodings. Source code included (4KB).
- dvorak-us-standard.zip – Dvorak Standard Keyboard keymap and graphic.
- dvorak-ansi-x4.22-1983.zip – Dvorak ANSI X4.22-1983 keymap and graphic. This is the ‘official’ version that no one uses. It differs from the Standard only in the placement of the keys [ ] { } = +.
- unicode-utf8-list.zip – Text file containing all current Unicode characters and lists them in the following format:
# SAMPLE: 0xe28da1 # U+2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS 0xe18f8a # U+13CA CHEROKEE LETTER QUU
The Unicode values and character names are taken from the 3.0 specification database.
- characterentries.jpg – This picture just might save you a lot of time. It is a sample of the ways to enter characters in a keymap.
- diacritics.txt – List of the Latin diacritics in keymap fashion.
- dvorak-right.gif – Graphic of the Dvorak Right-Handed layout.
- dvorak-left.gif – Graphic of the Dvorak Left-Handed layout.
- charactermap.jpg – Screenshot of Michal Kowalski‘s incredibly helpful application.
lint: groff
To check troff/groff input files for errors, run:
groff -b -z -w w filename
EXAMPLE:
groff -b -z -w w /usr/share/man/cat1/f77.0
/usr/share/man/cat1/f77.0:421: warning: escape character ignored before a backspace character
/usr/share/man/cat1/f77.0:425: warning: escape character ignored before a backspace character
/usr/share/man/cat1/f77.0:425: a backspace character is not allowed in an escape name
/usr/share/man/cat1/f77.0:428: warning: escape character ignored before a backspace character
/usr/share/man/cat1/f77.0:433: warning: escape character ignored before a backspace character
/usr/share/man/cat1/f77.0:763: warning: escape character ignored before a backspace character
To run a quick sanity check on a PHP script, run:
php -l filename
EXAMPLE:
Warning at line 46, character 15:
lint: Perl
To quickly check a perl script or module, run:
perl -c filename
Always turn on warnings and use strict:
#!/usr/local/bin/perl -w
use strict;
To check the pod documentation, run:
podchecker -warnings -warnings filename
EXAMPLE:
# podchecker -warnings -warnings /usr/local/bin/rsnapshot
*** WARNING: No items in =over (at line 4502) / =back list at line 4518 in file /usr/local/bin/rsnapshot
*** WARNING: No items in =over (at line 4546) / =back list at line 4559 in file /usr/local/bin/rsnapshot
*** WARNING: 2 unescaped <> in paragraph at line 4582 in file /usr/local/bin/rsnapshot
*** WARNING: 2 unescaped <> in paragraph at line 4584 in file /usr/local/bin/rsnapshot
*** WARNING: 4 unescaped <> in paragraph at line 4586 in file /usr/local/bin/rsnapshot
*** WARNING: 2 unescaped <> in paragraph at line 4589 in file /usr/local/bin/rsnapshot
*** WARNING: No items in =over (at line 4600) / =back list at line 4608 in file /usr/local/bin/rsnapshot
lint: HTML
If you’re going to do it, do it right.
Use CSE HTML Validator to validate your HTML and CSS.