The RDF Interest Group logs point to a RDF file containing US States meta-info. It lists capitals, regions and the neighbours of states. Upon looking at the data, I thought of an interesting challenge: write a script that could generate a map -- perhaps with SVG -- using only the list of regions and neighbours from the RDF. Obviously, the map would be completely wrong, but it would be interesting to see what the results would be. Better accuracy would require more data: land areas, border sizes, etc...
10:28 PM Inline Weblog Comments
On newsgroups and forums with similar mechanics, users that want to refer to an earlier comment will quote some of the text and the newsreader will add some marks to the left or indent it or something. After several postings, you end up with long blocks of quoted text at several levels deep.
Chris: Yes, I really hate when people leave in huge blocks of irrelevant text from earlier posts.
Weblogs tend to only allow comments at a single level. What if, when reading a posting on a weblog, one could select a paragraph, and then click a Respond button, which would associate the comment with that particular paragraph. Or, better, a fancy inline editor, where one could add text in-between paragraphs. To another reader, the whole text appears as it was originally, but upon selecting a Comments button, the additions are displayed in place.
Julie: We need weblog tools that have much more sophisticated comment systems. Unfortunately, right now I'm battling all kinds of comments from "enhancement pills" web sites on my weblog where I write about how to get cheap loans.
Chris: Perhaps you need to disable posting links from comments.
It might appear something like what happens when you click the Comments button here:
12:56 PM ReoPath Templates Specification
For Topicalla, I created a more sophisticated RDF templating language than the one XUL has. It uses ReoPath expressions to bind RDF data to XUL elements. It will also work for XHTML and other XML languages.
The implementation isn't finished; some tags don't work, and the auto-updating of the display when the RDF is changed hasn't been extensively tested.
However, here is a ReoPath Templates Specification.
11:25 PM New Topicalla features
I'm currently working on some significant new features for Topicalla. These features are very exciting. Here are some hints as to what they involve:
- An Edit button
- A Save button
12:34 PM An Open Letter to Movie Studios
Dear Movie Industry:
Please stop making movies involving talking dogs.
2:07 PM Election Day
There's an election today. It was called exactly one month ago. That's thirty days. It wasn't delayed at all. Every single poll location uses the same high-tech equipment where one writes a mark on a piece of paper and puts it in a box. And as far as I know, no celebrities are running. Where I live, I could vote for someone who used to work at the same place I did, or someone who looks like Jerry Springer. There are other people too but they can only be distinguished by their opinions on real politcal issues which makes them less interesting.
12:46 PM XUL Template Building
There's been some discussion over the XUL template building process in various newsgroup threads. I've added some additional information about builders in the template section of the tutorial. A brief overview here:
When you have an element with a 'datasources' attribute, it acquires both a database and a builder object, responsible for holding the RDF datasources and constructing the content with a template respectively. The <template> tag is just a placeholder for the content to be generated. It has style 'display: none'. If you change this style, the template will appear in the document as well.
One trick many people don't know about is to move the template outside the element like this:
<template id="btem"> <button uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/> </template> <vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" template="btem"/>
There are two types of builders, the content builder and the tree builder. The latter may only be used with trees, the former may be used with any kind of content, including trees. The default is the content builder. You can select the tree builder using flags="dont-build-content".
The content builder generates the content by cloning the DOM nodes in the template and inserting them into the document at the necessary position. The tree builder does not do this and gets the labels of the tree cells directly from the RDF datasource when necessary. For this reason, the tree builder is more efficient for trees with hundreds or thousands of rows. However, you can't use functions that deal with DOM elements such as those in tree.contentView since no content is generated.
11:44 PM Weblog Milestone 1.0
Hmmm. I finally managed to mess up my weblog temporarily. I posted a link with a missing closing quote and this caused the edit page to not display so I couldn't fix it. This was also the time when I found that the backup system wasn't working. So I had to edit the files manually. All on the 200th entry.
Anyway, congratulations to me for managing to fit 200 posts into one year. That's just over one every two days.