Neil's Place

September 5, 2003

Pondering RDF Path
Some thoughts on a node and arc retrieving syntax

Architectural Patterns in the Face of Client-Side Uncertainty
There is only XUL...

11:04 PM Building good examples

I've been trying to come up with a good example to demonstrate Topicalla, since I'm not sure if people know exactly what it's supposed to do. There are some screenshots I've made, but I don't think they do a great job of showing what it does. Part of the problem lies in requiring other pieces that just aren't there yet. For instance, a server or set of servers for handling general search queries, and gathering info that is related to a resource, and the framework for editing things.

So far, I've been using RSS and FOAF as simple examples, as well as a simple movie/actor example. The former two I used because many people are familiar with them and there is a large pool of existing RSS and FOAF ready to use. Unfortunately, RSS files aren't very graph-like by themselves so the added value of RDF isn't demonstrated, and I'm not too fond of showing a demo that makes Topicalla look just like another RSS reader. The movie data can be more graph-like, as actors are associated with different movies in various ways. One issue is getting some public domain movie information and pictures, since I think images will make the screenshots look more interesting.

I've been thinking of a number of other ideas though. Family trees are one possibility, which could build upon FOAF. One could start with a list of people, and drag between people to create relationships. Then I could make a query to ask for how many of my enemies have cousins. In fact, with an RDF Schema, only three properties are really needed, gender, childOf and spouseOf (perhaps variants of the last also). The RDF system could determine a cousin by going up two childOf arcs and then down two childOf arcs, ensuring the middle node wasn't the same. They don't have to be familial relationships though, they could be friends, employees or enemies.

I also thought about extending the animals datasource from the XUL tutorial, since animals are already classified into groups such that RDF types and subclassing can be used, despite that the classifications tend to change as new research is done. But I'm sure it's easier to get publicly available photos of various animals to make the screenshots prettier. I could even go to the zoo and take pictures myself. Actually, I went last week which is what inspired the animals example possibility.

I should point out that Topicalla doesn't really have any built-in support for any kind of data. I've written some samples for RSS, FOAF and so on, but the application doesn't have any special handling for them -- the end user can easily replace the samples with a more powerful UI that views RSS.

Comments ( 4 )

September 4, 2003

1:33 PM Topicalla 0.1.1

OK, I posted a new build of Topicalla. It's better in some ways and worse in others. It's better in that it has a better template parser. It's worse in that listboxes often get messed up and the search fields don't work. This version works on Mozilla 1.5b and the latest nightly builds of Mozilla Firebird. There seems to be some string library incompatibility for Mozilla 1.4 and earlier so it only works there for 1.6 seconds before crashing. I'll work on that issue next.

The main point of this release is that I've also included a command line ReoPath interpreter. It still uses Mozilla libraries though but you can load datasources and execute expressions from the command line. It doesn't currently work for remote RDF, so you'll need to file or chrome URLs.

Installation

Comments ( 23 )

September 1, 2003

My greatest contribution to Mozilla ever
Checked in!

August 31, 2003

Exploratory Interfaces
Searching for mail is harder if you classfied it into folders, since you never remember how you classified things.

11:26 AM Transition of decibels

A crowd of babies will cry and wail.
A crowd of children will scream and holler.
A crowd of students will shout and sing.
A crowd of adults will talk and discuss.
A crowd of seniors will mumble and whisper.
A crowd of the dead will make no noise at all.

Comments ( 28 )

August 30, 2003

About commenting on other's sites
"But by uttering [Semantic Web], this article has instantly been deemed ludicrous. Why is that?"

August 23, 2003

5:10 PM The Great XUL/Neil Conspiracy

The Great XUL/Neil Conspiracy.

There are a significant number of Neil's posting on the Mozilla XUL-related newsgroups. I think that there was even a thread once with three different Neils but no one else.

To clear up any confusion, I'm Neil Deakin, and my email address is either ndeakin@sympatico.ca.(which no longer works) or enndeakin@sympatico.ca. I wrote the XUL Tutorial.

There is also Neil Rashbrook who often posts messages that may contain traces of nuts. I am not him.

There is also a Neil Stansbury and, although not recently, a Neil Marshall, who also has a sympatico.ca email address. I am neither of them either.

In order to avoid this problem in the future, I suggest that any new Neils who may wish to post to the Mozilla newsgroups change their name to Stan.

Comments ( 36 )


1:45 PM ReoPath Testing

After spending some time developing ReoPath (or RPath), a XPath-like language for RDF, I've recently switched into testing mode. At first, I just wanted to test the code for memory leaks, but then I realized it might useful to prepare a set of test cases I could run through. Eventually, I could run through all of the test cases automatically in order to test for regressions, memory leaks, and other things.

So in the process of testing, I made a table of all of the test expressions I ran. I ended up with 330 test cases. Since they only test features I've implemented already, I expect that number to grow ever higher over time.

ReoPath Test Cases

I managed to fix numerous bugs, so the process was quite useful. I also discovered that ReoPath as currently implemented contains a Bizarre List Handling Rule of Evil, that can cause some unexpected results. The problem lies in that I used the same style of syntax for two purposes. I'm not sure if I should remove the feature or not. On one hand, I spent quite a bit of time implementing it and fixing bugs in it, yet in the end it seems to be more confusing than it's worth.

Comments ( 56 )

August 20, 2003

9:28 PM Number of viruses received

Number of messages containing spam or viruses received in the last 24 hours: 0

Number of messages received discussing spam or viruses from the mozdev mailing lists in the last 24 hours: 19

I'm not complaining though. I suppose I'm lucky I needed to get a new email address -- it means that I don't appear in anybody's address book. Also, the people I know that would have my email address are all Mac or Linux people.

Comments ( 26 )

August 19, 2003

How to smuggle
Low tech way to sneak in high tech goods

RSS: the two approaches
Either syntax-driven or model-driven.

August 18, 2003

5:54 PM Significant Topicalla Changes

I haven't posted much lately. One reason was that I went on a sudden vacation to my parents' new house for a few days.

The other reason is that I have been busy working on significant changes to the template building code for Topicalla. Before, it used to crawl the DOM looking for template related tags and attributes every time a change was made. While it isn't particularly a performance problem at the moment, it would be too slow and tedious for more complicated cases.

Now, instead, it builds up a list of dependencies so that when something changes, it only needs to recompute those nodes in the DOM which would have changed as a result. For example, if template expressions only exist on a <tree> and some <treecell> nested lower down, the builder only looks at those nodes. It also handles changes to the underlying RDF and should be able to ensure that even complex expressions are only recomputed when necessary.

There's still a few things to clean up and a few regressions have occured, but I hope to have those fixed soon. With a bit more work, it should be enough to handle everything that XUL templates can handle, except of course, a lot more -- for example, working in X/HTML.

Comments ( 38 )

August 16, 2003

10:40 PM Quote from the news yesterday

Heard on the news:

Reporter: Do you think you'll get through this power cut?
Woman: I think we will. Wal-Mart is open.

Comments ( 8 )