Posts

Showing posts with the label Blogging

My First MovableType Plugin

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

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 "allowe...

Looking for a New Blog System

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

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. Use a authenitcation service (TypeKey or PGP signatures) to prove Seth is Seth. Give Seth a URI. A foaf:mbox_sha1 might be good here. Put blog comment triples into RSS feeds. The aggregators can pick these up and start to collect where Seth has posted, when, etc. ...

Slight Change to RSS Blog Comments Module

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

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

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

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 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

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

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?

How To Make Blogging More SemWeb Friendly

After thinking about this for a little while, and with the discussions on this blog, I offer some suggestions to make blogs more friendly and useful to the semantic web. Put triples describing comments and comment authors inside RSS - This would help with the comment spam problem and start to build a web of trust wrt posting to blogs. Movable Type's TypeKey system solves the authentication problem. By finding triples of the blog comments, I feel we can help with the second level to the problem: authorization. RSS feeds should populate dc:references with URIs used in blog entry body - Typically, blog entries include one or more URIs in the body of the entry. By making those URIs explicitly available via triples inside the RSS, more accurate and interesting information becomes available. Specifically, the question of "What are people blogging about?" becomes easier to answer. Encourage Blog authors to include dc:subject , and help define what might go in there ...

Testing Comments in RSS

I found a Blog Comments Module for RSS , so I've hacked it into my Movable Type's index.rdf generation. My index.rdf is still RSS 1.0 (RDF). First, I put this block in my template: <blogcomments:comments> <MTComments> <blogcomments:comment> <blogcomments:name><$MTCommentAuthor></blogcomments:name> <blogcomments:email rdf:resource="mailto:<$MTCommentEmail spam_protect="0"$>"/> <blogcomments:ip><$MTCommentIP></blogcomments:ip> <blogcomments:date><$MTCommentDate></blogcomments:date> <blogcomments:body> <![CDATA[<$MTCommentBody convert_breaks="0"$>]]> </blogcomments:body> </blogcomments:comment> </MTComments> </blogcomments:comments> Next up, I will add a smidge of OWL to say that a blogcomments:email is the sameAs foaf:mbox . Then, the next simple...

Fighting Comment Spam

My Movable Type install is now fighting comment spam with mt-blacklist . This would be great if it reported spam hits in real time via XML-RPC to a central server. And, of course, if this plugin could then pull that list or check it in real time, all the better! This is a great use for P2P, or at least, automated collection and retrieval of information.