Unsubscribing from McAfee/Network Associates AVERT
McAfee offers quite a useful virus alert service by email – more details here – but unfortunately their mailing list is rather difficult to unsubscribe from. There are no instructions in the body of their emails at all; the headers do contain this promising looking entry:
List-Unsubscribe: <mailto:leave-512213-327810X@listserv.mcafee.com>
Frustratingly, however, although listserv.mcafee.com actually resolves and accepts SMTP connections, it rejects all delivery attempts for that domain…
If you don't built it, they may come anyway
A perennial problem in maintaining widely-used platforms is backwards compatibility. Windows suffers more than most in this respect, both because of Microsoft’s unusual degree of commitment to backwards compatibility and the degree to which the platform has changed over time, from a 16 bit collection of libraries with cooperative multitasking running under MS DOS on a single 8086 processor with 640k to 32 or 64 bit pre-emptive multitasking operation on multi-core Xeons with gigabytes of RAM.
They’ve had to jump through endless hoops (NTVDM.EXE, anyone?) just to get those old applications running on operating systems created two decades later on radically different hardware. Further hoops, though, are imposed by applications relying on undocumented characteristics of components – sometimes, as Raymond Chen likes to point out, through laziness when someone just can’t be bothered putting in the effort to use the proper, documented method for something – but in other prominent cases like the MSI SlowInfoCache, an undocumented 552 byte binary block which controls how entries appear in Add/Remove Programs, and showing or hiding the Quick Launch bar, because Microsoft chose not to document an official way to do something out of fear “bad” people would use it. Needless to say, this just means they use undocumented methods instead!
Caching with Radiant CMS, lighttpd and Lua
Lighttpd is now one of the top five web servers: very lightweight and efficient, with FastCGI support – which is how my half-dozen Radiant websites are served – and a clever built-in Lua interpreter, allowing you to script modifications to requests in ways beyond Apache’s mod_rewrite. For each request, Radiant can cache the complete rendered page in a pair of files (one for the body, another for metadata) – with a short Lua script, you can then arrange for Lighttpd to serve up recently generated cache files directly without ever touching the Radiant process – an enormous performance gain.
CloudFront - one month on
A quick review of things I’ve found in my first month of using Amazon’s CloudFront CDN for my static content, noting a few potentially useful features Amazon seem to have missed so far, notably Edge-Side Includes and “hotlinking” protection, as well as a description of a neat way to achieve file versioning, ensuring out-of-date content is never served up yet also avoiding the performance hit of short TTLs and frequent revalidation.
Software and free utilities
A collection of utilities I have developed and released as a public service, including:
TFind - Quickly locate files by name on an NTFS filesystem.
BarPass - Generate sets of random passwords, with the corresponding barcode attached.
GTools - General tools for deploying Windows systems, including copying and moving files from batch files with a graphical progress indicator and changing or deleting drive letters
Bin2H - Convert binary files into character arrays for embedding in C source code.
Trix - Little snippets of code for re-use
Tablesearch - filter HTML tables based on a simple substring search in pure Javascript (no server side code)
EZMLM utilities - tools for automating some more complex administrative tasks on EZMLM mailing lists

![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://cdn.deadnode.org/e343955a970cb2f7834fdb550f600ab2/valid-atom.png)