Ubuntu, I buntu, we all buntu

$ grep ub$ /usr/share/dict/words
    | ruby -ne "print split(/(\s+)/).map{|w|w.capitalize}" 
    | xargs -I FOOB echo "FOOBuntu" 
    | column

Bathtubuntu     Interclubuntu   Strubuntu
Bedaubuntu      Knubuntu        Stubuntu
Bedubuntu       Misdaubuntu     Subuntu
Beelzebubuntu   Moneygrubuntu   Subshrubuntu
Blubuntu        Nubuntu         Succubuntu
Bubuntu         Ouroubuntu      Swilltubuntu
Cherubuntu      Overscrubuntu   Trillibubuntu
Chubuntu        Pubuntu         Trubuntu
Clubuntu        Redaubuntu      Tubuntu
Cubuntu         Redubuntu       Unclubuntu
Daubuntu        Rerubuntu       Undaubuntu
Disdubuntu      Rescrubuntu     Underclubuntu
Drubuntu        Resnubuntu      Undergrubuntu
Dubuntu         Reubuntu        Underscrubuntu
Flubuntu        Roubuntu        Undershrubuntu
Flubdubuntu     Rubuntu         Undertubuntu
Fubuntu         Sandclubuntu    Undubuntu
Gaubuntu        Scrubuntu       Washtubuntu
Glubuntu        Semishrubuntu   Woodgrubuntu
Grubuntu        Shrubuntu       Zebubuntu
Hubuntu         Sillabubuntu    Zermahbubuntu
Hubbubuntu      Slubuntu
Inrubuntu       Snubuntu

I got the idea for this after listening to a recent LugRadio podcast. They’re all about Ubuntu. If you didn’t know, Ubuntu is a Linux distribution that has begun sprouting similarly-named offshoots like Kubuntu and Edubuntu and whatnot.

New feature: "Related Posts"

I’ve wanted to add this for a while: Now, individual post pages have a box below the post listing others that relate to it, based on tags. The sort order is based on the number of matching tags (more is better) then on the posting date (newer is better). Feedback on this feature is welcome.

Form hijacking

Does your website contain mail forms that aren’t sanitizing input as aggressively as they should? There seems to have been a recent surge in automated (or semi-automated, it’s hard to tell) probes and exploits of form mail scripts, all revolving around injecting headers into sent mail.

Here’s how it works: Let’s say you have a form that allows the user to enter their email address. The black hat’s exploit script submits a value for that field that includes a newline, followed by whatever email headers they want to insert: Bcc, for example, or even full-blown MIME-encoded parts.

Mining Monday: A trip to 1995

I have a weak spot for the “Cool URIs don’t change” philosophy. Most of my personal web projects from the ’90s are still online. Some of them have been unchanged for ten years. My very first multi-page site, which I called “Ersatz Info-Rama”, is still up. I last updated it on December 31, 1995.

There are some classic links in there – the first tutorial on animated GIFs; the “scary” new search engine, altavista.digital.com; even some gopher resources.

Browser-based slideshows in XML: AJAX-S

I’m a long-time fan of Eric Meyer’s S5 browser-based presentation system. (In fact, I’ve been working on a TextMate bundle for it. Though the code to produce an individual slide is very simple, it still can be a bit fussy when you’re producing a lot of them.)

Robert Nyman’s new AJAX-S system is unabashedly inspired by S5, but places slide content in a separate XML file that then gets rendered into HTML by Javascript.