Archive for the 'ThisSite' Category

Note: I've reorganized this site to use tags; the category archive remains to support old links. Only posts prior to April, 2006 are categorized. Tag Archive »

Refer(er) Madness

One of the things I’ve always had in the back of my mind to do on this blog is add a referers page or sidebar. For the uninitiated: when you click a link in your browser, your browser goes to get the new page. It tells the host webserver what page your link was on. This is called the “referer.” Many weblogs publish referer lists as a way to easily see who’s linking to them, and where traffic is coming from. It helps to establish conversations.

Of course, like every other good thing, if someone can use it, someone else can abuse it. referer abuse is the practice of faking referers. So if I want you to visit my online pharmacy, I make a bunch of page requests to popular blogs, but send my website address as the referer, but without actually linking to you. There are varying ways of dealing with this; a simple one is to have your software follow every referer link and look for the reciprocating link before displaying it.

Mine is a fairly low-traffic site (Thank you to those who do visit!), so you would think it wouldn’t be a problem. After all, I don’t even publish any referer stats! Nevertheless, when I look through my referer logs, I see plenty of referer spam. Some stats:

  • I have 21 referals from a blogspot-hosted site with the name of a certain hotel heiress and the word “video” in the site name. I’ve never been to the site except to confirm that they don’t link to me. If I listed my referers by number of referals, they would be #5 on the list.
  • I have 7 referals from a homosexual politcal action group’s home page. I have never visited their site, except to confirm that they do not link to me.
  • There are 3 referals from a company selling “Referal Advertising Systems”. Talk about truth in advertising. They were a bit clever, though… they run their site in blog format, and linked to a post from Jan 1 saying “Happy New Year”. I had to click the home page link to see exactly what the site was about. And no, they don’t link to me.
  • Three links from a Copyright advocacy group funded by the MPAA, and two from the RIAA’s homepage. Maybe they like my CreativeCommons licencing :) No links to me.

There were, however, some legitimate links as well. I’m going to have to do something to support referers eventually. In the mean time, here’s a couple of blogs I’ve never read before, but who were kind enough to link to my moreentries plugin for Blosxom.

And finally, a big hat tip to Simon Willison. Simon’s excellent blog has been on my list of favorites since I used my first aggregator a year ago. I get referals from some of his posts, because I’ve left comments there before. Today is the first time I’ve really looked at my referal logs in a while, and I saw more referal’s from Simon’s website than normal. There were links from posts I don’t remember commenting on. After looking at one of the refering posts for a minute, I figured it out… I’m listed on Simon’s blogroll! Wow, I’m floored. Go read his site - and be sure to watch the top right corner of the page about 10 seconds after loading. Meep Meep!

This also reminds me that I need to get my blogroll onto my webpage, which I will try to do this weekend. In the meantime, you can view my blogroll via Bloglines. If you haven’t seen Bloglines yet, you can read more in my prior post on the subject. It’s really fantastic… it’s the only aggregator I’ve used in the last month.

What Say You?

I’ve finally put in place some long-needed enhancements to my comment system. First, and most importantly, all new comments are timestamped, and timestamps display with the comments. This should help with context when reading comments. In addition, each “writeback” (Blosxom nomenclature for a comment or trackback) is now tagged as either a comment or a trackback.

In addition, there’s a couple of behind-the-scenes changes. In additon to timestamps, I’m now recording IP address with each comment. This is only for use if in the event of comment spam; granted, there’s little change of that on this blog, but might as well be proactive. Also, I’ve added a notification to the comment system so I’ll get emailed when new comments appear.

Big thanks to Fletcher T. Penny, who has authored many plugins for Blosxom, and improved many others. I’m using his modified version of Rael’s writeback plugin to provide the timestamp and IP logging. I borrowed the email notification code from Scott Fallin’s writeback_notify. This is all code I’ve been meaning to write, and haven’t had the time. Another reason to love Blosxom: Community.

So, click the link below and give it a try. What say you?

Reorganization Complete

The dust that raised in my last post should have settled by now. I’ve created a few new categories for this blog, to take some of the strain off ‘Miscellany’. If you can’t find something or if anything seems broken, please contact me.

One of the posts that I moved was my explanation of How to Install XEmacs via Fink on OS X Panther, which was the fourth post in my series on my upgrade to Panther. It also happens to be the most popular post on my site right now. It seems I’m the number one Google hit for the search ‘install xemacs fink panther’. (Note to self: WOOHOO!) I really, really didn’t want to kill my only claim to fame by breaking the URL Google was linking to. The redirect plugin for Blosxom did a fine job of letting me set up 301 permanent redirects for all of the pages moved.

Here’s a couple of tips for using the redirect plugin most effectively. First, if you are moving a single post, instead of putting this in your redirect config file (assuming your primary flavor is named .html):

  OldCategory/story.html=>NewCategory/story.html

Use the following:

  OldCategory/story=>NewCategory/story

This will handle the story no matter what flavour is used (including trackbacks).

Secondly, when you move your files around, don’t forget to move your comments! If you are using the writeback plugin, your comments are stored under the writeback directory in your plugin state directory. Each post’s comments are stored in a separate .wb file, in a directory tree that mimics your blosxom categories tree. Any file move for a post requires the corresponding move for the writeback.

Pardon Out Dust

Please pardon out appearance while we work to make your blog-reading experience at jclark.org more enjoyable!

Which is to say, I’m going to be doing a little reorganizing of categories. When around half of your posts fall under “Miscellany”, well, maybe you need some new categories.

Because my permalinks contain the category names, this will break some permalinks. However, the URIs on this site are rather shy and want desperately to be cool. And I just can’t let the little guys down. So, any post that changes, and gets a new permalink, will also maintain its old permalink via the magic of the 301 Moved Permanently HTTP Header. This bit of magic is in turn brought to Blosxom via the magic of Fletcher’s handy little redirect plugin.

There may be some periods where a link is broken; you might even see some old posts showing up in the RSS feed again. Sorry in advance… Please Pardon our Dust.

Show Me More

One limitation of Blosxom, the blogging software this site is run on, is how it handles a large number of entries. Blosxom lets you determine how many entries to show on a page (by setting the $num_entries configuration variable). This site is configured to show 10 pages at a time. This works when you view the main page or any of the categories (via the links in the Categories boxlet); if you view by date (via the links in the Calendar boxlet), the limit is ignored. This allows you to view, for example, all October posts at once.

But what if you want to view all posts in the WebDev category? At the time of this posting, that category contains 34 entries. But if you go to that category you only see the first 10. Of course, you can navigate sub-categories and see more, or view all posts (regardless of category) a month at a time, but Blosxom provides no way to jump to the next 10 (or 20, or however your site is configured) posts. Until now.

I’ve just written a plugin for blosxom called moreentries to do this. It’s in place now on this site. Scroll to the bottom of the page to see a link to the next 10 entries (assuming you are viewing the weblog homepage). If you click the link, you’ll notice the next page tells you you are viewing entries 11 to 20, and the bottom of the page will have Next and Previous links. This also works within categories (those with more that 10 entries, of couse).

I’ll be posting the plugin to this site, and to the plugin registry, later today. It’s still undergoing some additional testing. In the meantime, try out the new feature, and let me know what you think.

Inroads

I’ve added a new feature to the weblog, a boxlet called Inroads. It’s a list of sites that lead to this blog in some fashion - blog indexes, update notification sites, rss feed search engines. Upon reflection, I should probably add Google to the list. For now, here’s a rundown of the sites listed currently appearing in the Inroads boxlet(on the right… acroll down if you don’t see it):

  • Blogdex - A project of the MIT Media Laboratory, it tracks the disemination of ideas via links read from websites. Collect data via spider.
  • Bloglines - A web-based News Aggregator. Subscribes to RSS Feeds, allows you to read your subscriptions from anywhere.
  • Blogrolling.com - A set of Blogroll (a list of web links) management tools. Among other things, lets you know when a site you read has been updated. Accepts ‘pings’ (update notification messages). This blog began pinging yesterday, thanks to Tatsuhiko Miyagawa’s ping_weblogs_com_rpc plugin for Blosxom.
  • Blo.gs - Another site that lets you track sites you read for updates. Offers various forms of notification. Accepts pings just like Blogrolling.com; I’m pinging them the same way.
  • Blogtracker - Allows you to track sites you read, see recent updates. Offers browser integration. Gets update date from Weblogs.com (see below).
  • Feedster - Feed search engine. Indexes RSS (and Atom) feeds, allowing you to search the content of nearly 250,000 blogs and other sites that offer feeds.
  • Syndic8 - Directory of RSS Feeds. Find feeds (news, sports, blogs, you name it) based on almost any criteria.
  • Weblogs.com - Lists weblogs that have changed in the last three hours. Offers its data as XML. Accepts pings, which I provide as outlined above. As far as I know, this is the original ‘ping me when your site updates’ website.

There are many other sites out there like these. Why did I list these sites? Each site listed links to jclark.org in some manner. I have either registered with these sites (to be spidered or have my feeds polled), or someone else reads this site via on of these services, or I ping them when I update. Some of these are services I’ve used myself (such as Feedster and Syndic8). Some are sites I’ve found in my access logs (referer URLs of User-Agent strings), such as Bloglines. Weblogs.com is one that I’ve been meaning to ping for a long time now, and it turns out that blo.gs and Blogrolling.com use the same interface for pinging. Three birds with one stone; and each site offers something unique as well.

This list may grow; I had intended to list Technorati but they seem to be having technical difficulties as of late. If you find any of these helpful, drop me a comment. Likewise if you want to recommend a similar service.

Update: Fixed the link for Blogtracker.

Happy Halloween

In honor of the day, I’ve added a new style: The Great Pumpkin. You should be seeing it automatically, it’s the default style now, and I’ve changed the cookie name used to store stylesheet preference, which should give everyone the default. The Great Pumpkin, and all of the other styles, can also be found in the Style boxlet to the right.

I whipped up these colors with the help of one of my favorite web-based color finders: Pixy’s Color Scheme tool.

Now with HTML!

A few weeks ago, when ironing out my RSS feed, I decided to render permalinks as .html instead of .dev. At the time, I implemented a .html ‘flavour’ by hacking .htaccess with some mod_rewrite slyness, converting *.html to *.dev on the way in. It worked, but links on the displayed page pointing to other pages on this site were messed up for some reason.

This has been bugging me. As well, writings on other blogs and in the Blosxom newsgroup regarding URI cruft have had me rethinking my .dev flavour name.

So, I’ve made a copy of the .dev flavour named .html, and made it the default. The old flavour is still around, in case anyone has bookmarks; but moving forward .html will be the standard (well, unless I get rid of extentions entirely… but that’s a subject for another post).

Need for Speed, Part 1

I was thinking about speed today. Feeding this site into the free analyzer at WebSiteOptimization.com reminded me of a couple of facts I had already figured out. First, the blog is growing too long.

Blosxom has a configuration variable called $num_entries to help with this. It allows you to limit how many blog entries appear at once. By default its set to 40; I’ve now lowered it to 10. This has had some unanticipated side effects. The comment for $num_entries is:

# How many entries should I show on the home page?

This seems to indicate that the limit is only imposed on the ‘home page’, or root category. In fact, it limits all category views. This is probably good, because eventually the categories will get full. However, there is no provision for browsing further back within a category. This may be a job for a new plugin.

The other thing the analyzer reminded me of is the need for gzip compression on the site. I looked breifly into this before, without much luck. My host, iPowerWeb, has no documentation about using mod_gzip on their support site, so I assume it isn’t implemented. I looked into the gzip plugin for blosxom, but haven’t figured out how to get the required Compress::Zlib module to work from the $plugin_dir/lib dir. It uses AutoLoader, requiring a make step. I did this, but couldn’t get it to work on my Mac. Today I submitted a support request to iPowerWeb asking for mod_gzip support. I’ll post the response when it comes.

Rose Colored Glasses

Some people see the world through rose-colored glasses. Now you can see this site through them. New style in the the Style boxlet.

Also, the original styles have been tweaked for better viewing across multiple platforms (read: so they don’t look like crap on Windows, even though they looked great on my Mac).