Archive for February, 2005

As Web was the new zine, Wiki is the new Web

I was a ‘zine junkie in the 80s. I consumed them, I sent my “stuff” in to them, and I created them. Those of you who know what I’m talking about will understand when I say having Mike Gunderloy review your work in Factsheet Five was a badge of honor. Once I got a letter from GG Allin in prison, with a sketch of a collared woman on the envelope. What price would that bring if I still had it?

Sometimes I picked up zines which made me honestly wonder whether it was even legal to own them, such as Full Force Frank’s “Livin’ in a Powder Keg and Givin’ Off Sparks.”

Zine culture was mirrored on the fringe BBSes (Bulletin Board Systems) which sprung up during the 80s. I was there too. I ran a few BBSes, finally settling on the Citadel variants which seemed to attract that anarchistic, fringe element I craved so much.

Then came the web. It didn’t take long for the web to eclipse the BBS and Zine culture in terms of extremity and abundance of content. Even with the occasional governmedia-driven crackdowns on the free availability of information such as recipes for bombs and drugs, almost anything you want can be found on the web.

Then came content management systems, and RSS. People seem to have only realized the potential of RSS. RSS aggregators have grown enormously over the past year. Every high school student with a blog is a publisher now. Most blog software publishes by RSS, the same technology used by big news organizations. Websites such as this one are enhanced by pulling in RSS feeds from relevant and irrelevant sources alike. Web empire architects drive traffic to their own family websites using RSS. Offline RSS readers are the new offline mail and Usenet reader.

Then came Wiki software. The Wiki combines the best parts of the WWW, the blog and forums. It’s nicely presented, heavily linked, and most importantly, free and editable by ANYONE in its default form. The biggest example is the Wikipedia, a HUGE multilingual open encyclopedia about EVERYTHING, editable by EVERYBODY. When I discovered it, the first thing I did was test the waters. I edited a page, and added a new page based on some knowledge that I had that hadn’t made its way to WikiPedia yet. I giggled out loud when I realized that I had altered the great body of knowledge. “Wait,” I hear you thinking, “you can’t have a website openly editable by everybody!” Sure you can. There are protections against vandalism, built-in tools for reverting back to clean versions, and more. The beautiful part? The wiki software itself is free. Lots of versions of it. We used the wikimedia software for PHP and MySQL to create the FinnegansWiki study site for Finnegans Wake (a Work In Progress). It took five minutes to install and maybe 20 minutes to configure the way we like it. It’s easy to work with, easy to edit, and customizable.

Forward-thinking folks are already seeing the limitations of the Web in the Wiki world, and are working on offline Wiki editors/readers which can be more feature-rich and faster than the web-based Wiki.

So what’s next after Wiki? C’mon, tell me. One of you is working on it. I know it.

ISPGuru Award for Excellence in Interface Design

I wanted to take a moment to throw a pat on the back out there to the folks who created NameVoyager. For its elegance, ease of use, speed and sheer simplicity despite large amounts of data, our ISPGuru Award for Excellence in Interface Design goes to BabyNameWizard.com.

Type a name into the application, for example, Michael. You’ll see the popularity of the name charted over the decades of the past century. Now slowly backspace and watch how other names that match the prefix are instantly graphed in. Now mouseover a name within the graph. You’ll see the ranking and the decade. Now click on a name, and you’ll again be brought to the performance of just a single name.

I expect we’ll soon be seeing information much more diverse than baby name popularity being presented with interfaces such as this. Congratulations, folks at BabyNameWizard.com, on a job well done.

Feel-Good Security Metrics

Today I experienced an epiphany. While dealing with the routine frustration of yet another intrusion achieved by exploiting (gasp) weak passwords, I realized…

If weak passwords have become your most common intrusion vector, you’re doing a pretty damn good job. It means they’re not getting in through buffer overflows on your operating systems, and they’re not exploiting weak code in your exposed applications.

That’s all for now.

A fun way to thwart unauthorized image linkers

So I put up a new website a week or two ago, releasing some scanned documents from the 80’s that could be of some interest. I found out tonight that someone had img src’d one of those images on his site without crediting or linking back to my site, which is completely impolite, and in my view, unacceptable.

Fortunately I had already centralized the image display for this particular site in a single PHP script, so as not to expose the true location of the images, to discourage this very thing. Well someone did it anyway, copying my IMG SRC to his site so the image would display.

I altered my php image display script to check the http referer on image displays, and if it’s not my site, send back a different image, complete with customized text pointing out the referring page. Imagine something like this showing up on your website after you steal someone’s image:

Source is here…



$referrer=strtolower($_SERVER['HTTP_REFERER']);
$mysitepartial=”rehistory”;
$thefttest=strpos($referrer,$mysitepartial);

# must only display badguy image if
# referrer exists and does not include your url
# don’t want clients that are blocking referrers
# to inadvertently get the badguy img on YOUR
# site!

if (!$thefttest and $referrer) {
$referrer=$_SERVER["HTTP_REFERER"];
header(”Content-type: image/png”);
$string1 = “Will someone please tell the owner of”;
$string2 = “$referrer that it is “;
$string3 = “impolite to steal images from others”;
$string4 = “without linking to us?”;
$im = imagecreatefrompng(”eyes.png”);
$color = imagecolorallocate($im, 20, 210, 60);
imagestring($im, 3, 10, 7, $string1, $color);
imagestring($im, 3, 10, 20, $string2, $color);
imagestring($im, 3, 10, 33, $string3, $color);
imagestring($im, 3, 10, 46, $string4, $color);
imagepng($im);
imagedestroy($im);
} else {
# insert normal image display script here
};

Do you think I got the point across? (To see the live-action version, check here to see if he hasn’t taken it down yet.) See? I’m linking back to him. Who’s the polite one?