six demon bag

Wind, fire, all that kind of thing!


VBSdoc - A VBScript API Documentation Generator

API documentation is nice, and being able to generate it from the code is even nicer. However, unlike Perl, Python, Java, or several other languages, VBScript doesn't have a feature or tool that supports this. Which kinda sucks.

I tried VBDOX, but didn't find usability or results too convincing. I also tried doxygen by adapting Basti Grembowietz' Visual Basic doxygen filter. However, doxygen does a lot of things I don't actually need, and I didn't manage to make it do some of the things I do need. Thus I ended up writing my own VBScript documentation generator.

See more ...

Posted 16:31 [permalink]


Now With a Tag Cloud

As you can see my blog now has a fancy tag cloud. This is my first attempt at a Blosxom plugin, and I'm quite proud of it. *^_^*

I've already been using Gregor Rayman's keywords plugin for auto-generating the keywords meta tag, so I wanted something based on that rather than having to use an additional tag line as required for the tagcloud plugin. The tag cloud is generated from the keywords with the HTML::TagCloud Perl module, and I'm using Fletcher Penney's find plugin for linking to blog posts that match the respective keyword. The find plugin also gives me a nice search box (another thing I've been wanting to add for a while). Sweet.

Download: wordcloud-0.1

The keywords and find plugins are included, since their homepages don't seem to be online anymore. Also included is a patch for HTML::TagCloud that allows for case-insensitive sorting.

Posted 20:37 [permalink]


Function for Inspecting (not only) Dictionary-based Data Structures

Dictionary-based data structures are quite handy in various situations. However, when the structures grow, they tend to become messy pretty fast. To deal with this issue I wrote a function DumpData() to inspect a given variable and return a string representation of its data. It can be used either by copy/pasting the code or by importing the script.

DumpData() was inspired by Perl's Data::Dumper module, although my little function is far less sophisticated. Just in case you were wondering.

Posted 14:15 [permalink]


Backscatter protection

What is backscatter?

When mail servers accept mail and later discover that for some reason they are unable to actually deliver it, RFC 821 specifies that a Non-Delivery Notification (NDN, also known as "bounce") must be sent to the originator of the mail.

However, the "From" address can be spoofed most easily, so there is no guarantee whatsoever that the mail actually originated from that address. In case of a spoofed address, the NDN will be sent to someone who hadn't sent the original mail to begin with. These bounces going back to someone else but the original sender are called "backscatter".

Why is that a problem?

Because spammers tend to send their bulk e-mails to anything that looks even remotely like an e-mail address, the "To" addresses usually include lots of invalid addresses. Therefore spam-runs can cause massive waves of backscatter flooding the mailboxes of those people whose addresses were spoofed in the "From" field. However, it's not sensible to simply block all incoming bounces, because there are legitimate bounces as well.

See more ...

Posted 22:41 [permalink]


Mail Encryption Proxy

A quick & dirty Perl script written by Alexander Bernauer and myself, because we needed our ticket system to be able to send encrypted mail.

Posted 17:13 [permalink]