Tinkering With the Related Posts Plugin

For ages now I’ve had a section in the sidebar of single-post pages that lists some other (possibly) related posts. The problem is with the ‘possibly’ — the suggestions just haven’t been very good. I’ve been using Related Posts (2.02) by Alexander Malov & Mike Lu. It takes the words from the title of the current post and …

A Word of Caution When Changing Domains

In my recent move I transferred the contents of this blog by using the WordPress XML Import/Export plugin developed by Aaron Brazell (from code by Matt Mullenweg that is being developed for WP 2.1). It basically did the trick as you can see from this working blog however there is a snag. Although it produces a working …

Moving Your Blog: A WordPress Plugin to Permanently Redirect Your Posts

If you ever have cause to move a WordPress blog from one domain to another you will want visitors to any pages on the old site to be silently redirected to the corresponding page on the new site. This goes particularly for Googlebot and other search engine spiders: you want them to be able to …

QDB: Quick Database Components

Borland’s Delphi© makes the construction of Windows applications easier than ever. In particular, the Borland Database Engine (BDE) offers enormous power with great ease. Sometimes, however, the full might of the BDE is overkill. Wouldn’t it be better for your simple projects to use a simple tool, one that could be distributed inside your EXE …

Snoop: Memory Leak Sniffer

Writing programs that work at all is difficult enough without having to track down memory leaks and strange problems with overwritten memory. Snoop and Snoop Monitor make it easy to snoop out those bugs — and they’re free. Caveat! It is some years since these components were developed and they won’t function beyond D5. They …

CompDocs: Structured Storage Wrapper

OLE Structured Storage (or Compound Documents or DocFiles … the names change regularly!) provide a clever way to have a whole file-system within a single file with nested ‘directories’ (storages) and ‘files’ (streams). There’s also the ability to do transaction processing: keeping modifications in limbo until ‘committed’ or rolled-back. The only catch has been that …

Maps: Generic Associative Containers

The Maps Library offers nine genuine generic container classes. Just as TStringList lets you keep lists of objects indexed by a string value, Maps let you keep lists of just about any type, object or atomic, indexed by whatever type you like. The nine different kinds of map have different performance characteristics allowing you to …

FirstAid

Every so often the Delphi IDE (from D2 until at least D7) seems to get confused about its line numbers: errors are reported in places there is no code; the debugger jumps about with no apparent relation to the code that is being executed. The Delphi newsgroups propose many diagnoses but, in my experience, the …