Archive for the ‘Blogging’ Category

My First MovableType Plugin

Saturday, November 27th, 2004

I wrote my first MovableType plugin tonight. It’s the MTSha1 Plugin. It allows you to generate a SHA1 sum of the body of the <MTSha1></MTSha1> tags. I created this to generate foaf:mbox_sha1sum properties for comment authors. And the best part is, I’m pretty sure it’s working correctly. :)

Upgraded to MovableType 3.121 and TypeKey

Saturday, November 27th, 2004

Spent tonight upgrading to MovableType and TypeKey.

I finally got fed up with deleting spam comments, even with MT-Blacklist on. In one day I had over 100 comment spams.

So, with TypeKey, that should all stop. I feel bad for those that want to leave comments, but don’t have a TypeKey account, though. Comments are what make blogs interesting (otherwise it’s just Soapboxlog). So hopefully TypeKey has critical mass to use.

I’ve thought about How FOAF and SemWeb can help the blog comment problem before. Not sure if that’s relevant anymore. I would hope that all this FOAF and semweb technologies could help to solve this problem.

Anyhoot, looks like we’re back in business. I still have FOAF linked to every page. And my RSS 1.0 Feed still has RDF triples describing the comments. I think I need to update it now to include FOAF.

If other blogs included RDF about comments, and their authors, we could get a real trust network going with a context of “allowed to post in blogs”.

Looking for a New Blog System

Wednesday, November 24th, 2004

I received word that my current blog setup can’t take comments (of any type) or apparently TrackBacks. sigh. In my quest to rid spam in my blog comments, I managed to kill discourse. Hope that’s not an omen!

I think it’s time to upgrade this blog system. Any suggestions? Not that my comments system will allow feedback. :(
My requirements:

  • A wiki-esque input system, to rid myself of typing tags.
  • Good SemWeb Support: FOAF and RDF of everything.
  • Good Spam Filtering
  • The usual: comments, trackback, categories, etc
  • Simple Setup
  • Import of all my current MovableType posts

In the meantime, off to fix comments for the non-spammy.

UPDATE: I removed the uber-greedy spam filter regex that was causing the problems. Because emails are required, they were setting off the alaram. Good thing I’m in Hawaii, where we love Spam.

A Trust Web Might Help

Saturday, April 17th, 2004

phil ringnalda dot com: TypeKey from a different angle

Phil Ringnalda writes:

Now, I’m not so sure that’s the right angle to take. If instead of seeing TypeKey as a slightly more tolerable (because you only have to lie about your email address once instead of many times) way to implement registration, you look at it as way to implement comment moderation, it begins to look a tad bit better.

He’s right about this. TypeKey alone won’t stop any problems. We need authorization controls, which are above authentication. TypeKey is only a first step.

I am investigating using Semantic Web technologies to help with the authorization problem. There’s a concept of building a trust web that can likely help here.

  1. Use a authenitcation service (TypeKey or PGP signatures) to prove Seth is Seth.
  2. Give Seth a URI. A foaf:mbox_sha1 might be good here.
  3. Put blog comment triples into RSS feeds. The aggregators can pick these up and start to collect where Seth has posted, when, etc.
  4. Some concepts of trust begin to form. For instance, if Seth has posted to many blogs, and those posts are old (haven’t been deleted), then they might not be content spam. Also, RSS feeds can include any moderation points given to posts. The white lists and black lists created by blog authors can also easily be captured inside the RSS.

What’s nice about putting all that raw information into the RSS is the aggregators can make their own assumptions. Isn’t this what the semantic web is all about? Don’t like how one aggregator’s algorithm for trust is working? Upload your own OWL file, or use a different aggregator. The important part is that "who to trust" is decided at runtime.

As Phil points out in a blog post to me, the above is not the hard part. The hard part is getting everyone to put these types of tripes into their RSS feeds. It’s a chicken and egg problem. No one will put the tripes in until they see a killer app. But it’s hard to write a good killer app without all the triples to prove it’s killer.

Slight Change to RSS Blog Comments Module

Friday, April 16th, 2004

RSS 1.0 and 2.0 Blog Comments Module

The current blog comments module does not render as RDF. The current usage:

<blogcomments:comments>

need to become

<blogcomments:comments rdf:parseType=”Collection”>

I have made this change, and along with the MTEntryIfComments plugin, I now have validated RSS 1.0 as RDF!

Just doing my part to add more triples to the world.

Of course, now question remains, how best to promote these (and other) triples to other blog authors?

Add Comment Triples To RSS

Friday, April 16th, 2004

MT Extensions: MTEntryIfComments 2.0

MovableType has conditional tags that are true when entries and pings are enabled. The following tags allow you to test whether comments or pings exist.

MTEntryIfComments:
A conditional tag that is true if the current entry has one or more (or a specific number of) comments. Useful if you want to add content before/after a list of comments only if the list is not empty, or if you want to display different text based on the number of comments.

This is useful for rendering comment triples if they exist for a particular blog entry.

An External OWL Ontology Creates Order, Promotes Freedom

Thursday, April 15th, 2004

SemErgence: Comment on Subject metadata to Blog Posts

CaptSolo writes:

Regarding the hard part to make the UI for selecting categories - I think that most blog engines already have UI for entering the blog post categories.

Therefore, instead of adding semantic category to each post and having to create a new UI for that, we may add the semantic meta-information to the existing categories.

This is the route I initially travelled. I have a post that shows how to use OWL to map a blog post that has a particular dc:subject Literal to a OWL Class. For instance, declaring that posts that have a dc:subject of "blogging" are members of the :PostAboutBlogging class.

This leaves each blog owner the freedom to declare any dc:subject they want (literal or Resource) and to use an external OWL ontology to bring some order.

Add dc:references to RSS, Help The World

Thursday, April 15th, 2004

SemErgence: How To Make Blogging More SemWeb Friendly
Kasei writes:


While the dcterms:references might be easily obtainable from the HTML, I don’t see any reason to make people parse the HTML over and over again, when it could easily be done once, and be immediately available as RDF. So here’s a Movable Type plugin which does just that; just drop the <$MTRDFReferences$> tag into the RSS 1.0 template.

Thanks kansei! This is great. I’ll add this in tonight.

If people do this, it’ll make semweb applications that compile and operate on Resources that people are blogging about much easier. How does the semantic web community evangelize movements such as this? My guess would be to get the tool manufacturers to agree to modify their templates. Most blog owners wouldn’t know how to manipulate their blog backend.

There is a Semantic Web Best Practices and Deployment Working Group from the W3. Maybe I’ll talk to them about ideas for help.

Hacking MovableType, Here I Come

Wednesday, April 14th, 2004

movabletype.org : FAQ


Q: May I modify the Movable Type source code?
A: Yes, as long as you do not redistribute the modified code without permission. In addition, if you modify any of the code and feel that your changes would be useful to all Movable Type users, we encourage you to make your work available to the community of users by sharing it on the independent plug-ins site, http://www.mt-plugins.org.

Looks like Six Apart doesn’t mind too much if we hack Movable Type. Sounds good to me. I think we have enough ideas to keep us busy.

I think first up will be to include dmoz and/or yahoo category forests as selectable Categories. The modification of the RSS template to include the dmoz URI as a rdf:resource of dc:subject will be next. If I can do all that as a plugin, then all the better!

Oh, and I’m focusing on Movable Type because that seems to be pretty popular.

Subject metadata to Blog Posts

Wednesday, April 14th, 2004

SemErgence: How To Make Blogging More SemWeb Friendly

Morten Frederiksen writes:


While it would certainly be nice, I think you’ll find that the hardest part of (3) is agreeing on a taxonomy of subjects (or mapping between differing taxonomies). For this reason, something like dmoz:category or yahoo:index might be interesting.

I agree that it would be hard to map all that data. His suggestion of using dmoz and yahoo is great. The easiest thing would be to take any URIs found in the blog post (perhaps via dcterms:references?) and query for them in dmoz or yahoo. Of course, that would only be correct about 5% of the time.

It would be nice, then, to have Movable Type and other blog posting software, to give a quick tree view of dmoz and yahoo. A good blog posting software would save the favorite categories for quick retrieval (a sort of hot subjects collection).

I just upgraded to Movable Type 2.661. I don’t believe it’s Open Source, but wonder how much I can hack in?