Adam Rice

My life and the world around me

Category: meta-blogging (page 3 of 5)


The front page hardly looks different, but I’ve completely reworked all my blog templates.

For one thing, I’m using individual entry archives. I’ve decided that makes the most sense. I’ve kept a calendar view (derived from Mark Pilgrim’s) for my monthly archives, along with the category view of the archives.

I’ve installed a couple of patches to thwart blogspam. And to deal with MT’s dodgy linebreak conversion, I’ve installed bloxpert, thanks to which the pages I’ve cursorily checked are now valid XHTML.

The downside to this is that all inbound links will break. Sorry. I may try some kind of mod-rewrite trick to divert inbound links to the correct calendar page.

MT Users: Install v2.66 now

The people bitch, Ben Trott listens. Movable Type has been updated to 2.66, mostly to add anti-blogspam controls.

  • URLs are passed through a redirector, so as to negate any googlejuice that spammers might hope to gain. This just made things more complicated for David Sifry’s Technorati.
  • You can add a ThrottleSeconds value to your mt.cfg file. Mine is ThrottleSeconds 60, for whatever it’s worth. I’d prefer for this to be progressive (ie, 30, then 60, then 120, etc) and to have an auto-ban feature, but this is a good start.

Disabling comments on old blog posts: questionable wisdom

There’s a lot of talk among hardcore bloggers on the subject of the best way to deal with spam in their blog comments. Some people advocate turning off comments entirely; others suggest turning them off after the post reaches a certain age. It seems that comment-spammers mostly focus on older entries–perhaps simply because statistically, most entries are old, but perhaps this is intentional, in the hopes that the blog owner won’t notice comments on posts that have scrolled off the front page.

There’s also been a lot of discussion of power laws and inequality.

How one runs one’s blog is one’s own business, of course, but it’s a shame to disable comments on old posts. Jason Kottke famously had a thousand-comment-long discussion following his review of Matrix Reloaded.

I’ve observed a vaguely similar phenomenon in a post I made after getting my wisdom teeth out. A google search on the phrase “wisdom teeth out” brings up the comments on that entry as the third result. People drop by to relate their own experiences getting their wisdom teeth out: it’s not a discussion, exactly, more a repository of anecdotes, mostly by people I don’t know and have no other contact with. Obviously this couldn’t happen with closed comments.

What’s also interesting is that this must be a self-reinforcing tendency. I have no way of tracking how the same comments page has been ranked in Google’s results over time, but I can’t imagine that it has always been #3. The more people that comment there, though, the more that page is likely to be ranked highly as a result for wisdom-tooth-related queries.


We’ve got a slew of social-network websites, and they all make you go through the same song-and-dance. Each has some pros and cons. They’re fun, I suppose, but what do they really do? They provide certain opportunities:

  1. for bragging about the size of your personal network. This is on par with who sits with who in the high-school cafeteria;
  2. for hitting on friends of friends, so that you feel like you’ve got an “in” with someone that is more personal than using typical online-dating sites (Friendster);
  3. for business match-making (Linkedin);
  4. for seeing what your friends are up to and organizing group events (Tribe and Friendster).
  5. for creating forums for affinity groups (Tribe and Ryze);

We’ve also got FOAF, which overlaps with what Friendster & Friends can do. There are a lot of drawbacks to FOAF, not the least of which is that it is damn complicated. Hand-coding a FOAF file is much more tedious than coding HTML, IMO. There are some rudimentary tools to help one generate the file, but these are barely a start.

Another problem with FOAF is that you need a place to store your FOAF file. I’d venture a guess that most Friendster users do not have their own websites, and do not have a burning desire to create one. But they obviously are interested in participating in social networking. Conversely, most people with their own websites–even people with a strong interest in social networks–don’t have FOAF files. So FOAF just hasn’t gotten much traction yet.

A third problem with FOAF is that FOAF files just sit there–they don’t do anything. You need specialized search engines to traverse these FOAF files and display interesting information about them.

A fourth problem is that, even with these search engines, you’re barely satisfying the first one point in the above list. But it wouldn’t take much extra to cover all those bases.

There is an opening here for a Friendster-like hosted service or user-installed tool (which I will refer to as FOAFster) to use FOAF and other standards to create an open system that helps people use FOAF more efficiently. As long as it is open, with a published API or plugin architecture, it doesn’t need to do all things for all people. This would be a specialized content-management tool that might be similar to a blogging tool in some ways (and might include rudimentary blogging tools). More important would be something like trackback for getting information from one FOAFster to another. This would be simplified by the existence of a central pingable resource like but for FOAF, so that when Alice posts her FOAF file, her FOAFster tool can check the centralized site to see whether Bob has a FOAF file too, and if so, where it is. She could then ping Bob directly to let him know “I am marking you as a friend in my FOAF file.”

To cover point 1 properly, FOAF explorers need to show whether one person’s assertion of friendship is reciprocated. Exploring one-way links would be useful too, and could replicate the two-way checking that all the social-network services require: a good FOAFing tool would keep track of people claiming you to be a friend, and let you add them as friends to your FOAF file.

To cover points 2 and 3, the FOAF vocabulary would need to be extended a bit to include what kind of people you’re interested in meeting, and for what reason, eg, activity partners, hot monkey love, or professional contacts, and specifically in what context. I can imagine a new domain in FOAF that would look something like this:

		<vendor>graphic design</vendor>
		<partner>road cycling</partner>

Obviously this gets into hairy problems of defined vocubularies, but these problems are not insurmountable.

Point 4 can be easily covered by tracking RSS feeds of friends. Looking at the nitty-gritty of implementing this, there are several possible paths to take, each of which have their merits:

  • Include a simple blog-like tool for publishing announcements in FOAFster.
  • Suck in the RSS feed from another blog for this purpose
  • Accept trackbacks from another blog for this purpose
  • Accept iCal files
  • Acept Outlook schedules

If the tool could also push content from friends into one’s own iCal/Outlook, that could be very powerful.

FOAF already has several constructs for defining group membership that cover point 5. Again, the existence of a central pinged site that can keep track of what groups exist would be very helpful. Alternately, or additionally, there might be “group host” sites that would have pointers to group members, records of discussions, etc.

This doesn’t quite solve the problem of the group having a discussion forum, but this could also be managed similarly to the announcements in point 4, but with a little added complexity because the discussion thread would need to be maintained. This would probably be done by trackbacking to the previous post. The group host site would also need to be trackbacked or pinged on every group-related post to maintain a record. This gets a little hairy–I’m not aware of any discussion systems that are completely decentralized and distributed.

It’s not clear whether yet another social-network tool will solve the problem of proliferating social-network tools, but until existing ones are designed explicitly for interop, I don’t see any other way. I don’t have the programming chops to make this happen (not yet, anyhow), but I can picture it pretty clearly. I can imagine a tool that would sit alongside Movable Type or other blogging tools to help us manage our personal and professional lives.

LaterLooks like some blowhard has decided he invented this idea–see the bizarre “warning to copycats & clones”)

Go ask Metafilter

Ask Metafilter may be the new LazyWeb–if you’re a MeFi member already. It’s already off to a roaring start, I’d say.

More comment spam

I thought I was safe. I had done most of the smart things to avoid comment-spam: renamed the link to comments, renamed the comment script, and installed the excellent MT-Blacklist

Then today, I was barraged with about 100 comments in a short period of time (I didn’t check how long it took). This was clearly being run by a script. The suppurating sore of a wretch who attacked my site (in violation of terms clearly posted in the comments pages) lives at IP number; this traces back to a machine behind the domain.

Baghdad Burning

Many of you are probably familiar with the Where is Raed? blog, by Salaam Pax, the “Baghdad Blogger.” He’s the best-known one, but not the only one. Another is Baghdad Burning. And, fascinatingly, there is a another site, also called Baghdad Burning (note the one-letter difference in the URL), with an identical layout but a distinctly pro-American slant and a distinctly different blogroll. It’s propaganda. If it isn’t being put out by the U.S. government, it is being done by someone keeping a close eye on the play-by-play, with plenty of time to spare and information on hand. Interestingly, the copycat blog appears to predate the authentic one (blog entries can be back-dated). The copycat appears to have unthinkingly copied irrelevant bits of the original’s template, including a link to “”, a comment-hosting service. Neither site currently uses the service; the legit site doesn’t have the link on the current page; the copycat does.

Update: There’s a blog tracking the copycat blog.


An article on online reviewers has prompted me to get off my ass and write up some thoughts that have been percolating in my head for a few days.

If you are an enthusiastic consumer, there is no shortage of opportunities for you to write up reviews of the products you love or hate. Epinions has built a business out of hosting reviews. For Amazon, reviews are one advantage that it has over bricks-and-mortar retail outlets. And there are lots of other venues for reviews.

In some ways, though, a blog would be a better tool for writing reviews: you own the review, not the site hosting it. You’ve got all your reviews together in one place. Once you wrote the review, though, you’d want people to be able to see it at Amazon (or wherever), so there would need to be a review-aggregation mechanism. Austin Bloggers already works this way, more or less. I have Movable Type set up so that whenever I write a post in the “Austin” category, my blog pings Austin Bloggers, and Austin Bloggers creates a link back to my blog. And with All Consuming (which is very cool), we’ve got the nucleus of something like this happening.

But this is an area where the blogosphere needs to move forward if blogs are going to become a vehicle for reviews. Let’s look at what needs to happen:

Review profiles
Currently, blogs are set up as general-purpose writing tools: they don’t have specific fields for specific bits of information. Movable Type is going to come out with a “Pro” version that will support custom fields. I think of a set of custom fields as a “profile,” and I think this is the next thing in blogging. Bloggers writing reviews will need a “review profile” in their blogs with fields for the item code and rating.
There needs to be some uniform way to refer to the product. This could be something like a uniform product code or an ASIN (though I don’t think this would work for movies). And there needs to be a standard way to enter this and publish this in a blog. As a practical matter, there might need to be multiple identification schemes; you would identify both the item and the scheme (eg, “this product code 12345, and I am using the Amazon standard identification number scheme”).
Ratings vocabulary
Not everyone uses the same scale for ratings. Some would give a simple thumbs-up/thumbs-down. Others would give several numeric ratings for different aspects of a single product. In order for what review aggregation to work, there needs to be a uniform ratings vocabulary. Again, there should be a standardized field for this.
Aggregation API
Amazon already has a public API. There should be a mechanism for pinging Amazon (or whoever) “hey, I’ve written a review” so that it can aggregate your review into it’s product listings. Although All Consuming is run by an Amazon employee, even reviews posted there do not get into the Amazon database.
Feedback mechanism
Amazon makes it possible to indicate whether a review-reader finds a review helpful; Epinions goes further, and lets the reader write a review of the review. There would need to be something like trackback to get this information back into your review.

In theory, all this data structuring could be avoided if the aggregating entities used million-dollar search instead of million-dollar markup. It might be possible to just include a reference to an ASIN in a blog entry, ping Amazon, and have it figure out “hey, that’s a review of such-and-such” and to further use natural-language processing to figure out whether I liked it or not.

Comment spam

Nabokov never had this in mind.

Over the past week or so, many people with Movable Type blogs got hit by comment spam ostensibly posted by “Lolita,” linking to some nasty porno website. This has created a tizzy in the blogosphere, and happily, Jay Allen is doing something about it. Once he gets his plugin up and running, I plan on installing it. If only we could deal with e-mail spam as effectively.

Until he finishes, however, there’s something you can do right now. This comment spam is posted by an automated bot that looks for Movable Type’s comment cgi. You can change the name of this and cut the bot off at the knees. So here’s what you should do:

First, find the file “mt-comments.cgi” in your MT install and rename it something obscure (though I’d keep the .cgi ending).

The next steps you take are dependent on what version of MT you are running, and what version you were running when you created your blog templates, as MT has added some new tags for dealing with comments. If you have old blog templates, they will not use these tags; if you are running an old version of MT, you won’t have access to them anyhow. I’m not sure when these were instituted–I’ll leave it as an exercise to the reader to figure this out.

1. If your initial install of MT was relatively recent

This is the simplest situation: Open your mt.cfg file. Find the line that reads “# CommentScript mt-comments.cgi”. Remove the # and change “mt-comments.cgi” to whatever new name you have picked. Then rebuild all files in your blog or blogs.

2. If you are running a new install of MT with old templates

Your templates probably aren’t using MT’s special placeholder for the comments CGI. You can either change the hard-coded reference to mt-comments.cgi in each template to a hard-coded reference to the new file, or change it to “<MTCommentScript>”. In either case, once you’ve done this, go through and follow the instructions for 1 above.

3. If you are running an old version of MT

You will not be able to take advantage of the <MTCommentScript> tag at all. You will need to change the hard-coded reference to mt-comments.cgi in each template to a hard-coded reference to the new file, and then rebuild.

This sounds more complicated than it really is. It took me about 10 minutes to fix all my blogs.

A tidbit for Movable Type users

If you’ve ever installed Movable Type, you may have wondered “Who is Melody Nelson, and why am I logging in as her?”. Either that, or you’re hipper than me and caught the reference immediately.

Now I know where it comes from:

Even so, Histoire De Melody Nelson sounds like no other record: when it was released, in 1971, it must have been right off the map. It’s a short album – 28 minutes – originally designed as a soundtrack to a teleplay: a dark story about a man’s obsession for a young girl, who becomes his lover, then dies. On the record, Melody Nelson is Gainsbourg’s muse – in real life, he named his publishing company after her. Birkin – gamine, with a shock of curly hair, in a wary-eyed fashion-shoot pose – stands in for her on the stunning sleeve.

and more or less why it’s there

If you want to judge me by my musical tastes, I’ll mention that I love French pop and standards, especially the music of Serge Gainsbourg, France Gall, Jacques Brel and the Little Sparrow herself.

Older posts Newer posts

© 2018 Adam Rice

Theme by Anders NorenUp ↑