lazer-guided commentaries

A Web Site For Harpers

mikeb has kindly contributed a link to an article describing (in a non-technical way) the implementation of a web site based on an RDF database, similar to the one I was thinking about.

Better Indices

Speaking of better indices, I’m investigating RDF, the Resource Description Framework. It’s a language for representing facts. Once represented, databases of facts can be queried using RDF query languages. It’s very similar to Prolog systems except in that it’s a distributed database, where Prolog databases are centralised. It’s also a sensible approach to the “Frame problem” of (Classical) Artifical Intelligence. I think it might be useful in representing the kinds of ad-hoc databases people work with all the time and file in structures like word-processing documents or text files, spreadsheets, pieces of paper, sticky-notes etc. etc.

RDF seems to me to be a way of getting the benefits of the relational data model — the foundations of all of today's most commonly-used database software — without the disadvantages of centralisation and non-relational query languages (SQL). It feels like it might map pretty closely to the ways people think about many everyday tasks and objects.

  • Could Zowie objects be RDF-describable? What about behaviour? Users might create new RDF objects and annotate them via a GUI, building and querying a knowledge database with the system...
  • Common-sense knowledge: is there a version of Cyc's common-sense knowledge-base encoded in RDF? (Cyc, Eurisko, Douglas Lenat) </ul>

Memory Overload

Something I wrote regarding the following excerpt from this Wired article:

Whether this is a boon or a disaster I can't say. Such subtle patterns in the history of human experience tend to escape that kind of judgment. But the result is a telling contradiction: Our culture has become engulfed in its past and can make no use of it at all.

Assuming we want to make some use of it, then what we need are better indexes. This is why I think google is the most amazing thing. Google is the Better Index. It does The Right Thing with regard to prioritizing information. The only reason it works so well is the sheer volume of data it has available to it, so in a way a solution has emerged/is emerging exactly as it is needed.

The other alternative I guess is to just throw the stuff away, or to not pay attention to it. In my life I find myself hoarding information, and then forgetting about it. I like the idea of being potentially able to recover the information if I really need to, while not being burdened by it. Eventually I'll have so much information I'll need a personal Google if I ever want to actually find any needles in this haystack — but I'm sure something appropriate will exist when I need it.

Tony and Blyss at Kew Gardens, 24 May 2004

I’ve just found the “export as web page” feature on iPhoto, so here is a collection of photos Blyss and I took when we visited Kew in May.

Washing machine, BBQ, picnic

Our washing machine has started leaking. Naturally, it happened just as I wanted to use it on Saturday. I walked into the kitchen (they have the washer/dryer in the kitchens in England!) and the floor was inches deep in soapy water. Joy.

After mopping it up, I investigated the machine. It looks like one of the internal seals is going — there was no leakage from the front-loading door, just a trickle from the front left base corner of the machine. I moved it out from the wall to check the floor underneath it, and it was all dry except around the front left. I guess I'll call the landlord tomorrow.

Since I couldn't do my laundry at home, I arranged with Steve to use the machine at his flat, just a few hundred metres from my place. There was a barbecue at Steve's that afternoon I was already going to, so it worked out well.

The barbecue was good fun — the usual story of lots of food and beer. The whiskey came out around 10pm. Getting up this morning was a little challenging, but I soon recovered enough to go on to the welcome-back picnic for Josh that his partner Jen organised. (Josh has been in New York for four weeks.) I didn't stay too long, though, and fell asleep almost straight away when I got home.

For those of you not glued to the riveting London weather updates as they come in, it's been hot here. It was 28°C yesterday, and must have been about the same today, with clear skies all weekend. This is what summer is supposed to be like.

I found a photo from February, before the entire flat changed (except me, of course). Here it is:

(Tony's Flatmates, ca. Feb 24, 2004)

Left to right, there's me, Brandon, Kellie, Amanda and Anabella.

Newmoon on .NET

I’ve just spent the afternoon hacking on the old CVS version of Newmoon, the one before the port to the JVM (and the move to tla, which is a pain). I’ve made a few simple-but-nonobvious changes that bring newmoon-on-.NET much closer to self-hosting. A mono-hosted newmoon compilation of a simple scheme file results in a more-or-less correct *.scm.sil file being emitted. Remaining problems include ongoing niggles with the syntax-case expander and the lack of a module system, incomplete printing implementation on the runtime side, and general speed issues. The r5rs-eval evaluator is particularly slow.

The most important changes were to fix a number of problems with r5rs-eval: not only were recursive definitions/letrecs not implemented, but the representation of environments was badly broken, and I hadn't even noticed. The broken environments were the cause of the fault that caused me to give up on newmoon-on-.NET so many months ago!

So now all I need to do is finish my syntax-case implementation, implement Flatt's module system, graft the result on to newmoon, finish the core library, rewrite Sil.cs in scheme, and produce some kind of inbound-FFI. Nothing but a TMOP.

Zatoichi

A few months ago mikeb, Brami and I went to see Zatoichi (dir. Takeshi Kitano, 2003). It’s great! I recommend it. (I’ll see it again when it comes out on DVD.)

Skype

I downloaded Skype this evening and had a play — it’s amazing! It Just Works™! It’s an internet telephony application: you plug in headphones and a microphone (or a headset) and you can talk to other skype users over the internet in real time, for free. I was very, very impressed with how easy it was to set up: a single download, type in your name, and voilá, you’re online and ready to make calls. No registration, no complicated setup, very easy.

The really neat feature is that they have an interconnect to the old phone system too, so you can call real telephones. They're a pretty reasonably-priced telco, too: it costs two euro-cents (about 1.5p) per minute to call a New Zealand landline! They also do traditional text-based instant messaging, like Jabber or ICQ. I'm looking forward to using the €10 of call time I bought, but it'll have to be on the Windows machine at work since there's no Macintosh client — yet.

Mind

The other day a fund-raiser for mind approached me in the street and convinced me to start a regular donation of £10/month. It’s probably a pretty good idea. I received a letter today acknowledging the gift. I feel quietly virtuous. (Not so quietly I’m not mentioning it here.) I’ll maybe keep it up for six months or so. We’ll see.

In other news, drinking-on-school-nights has been taking its toll. With Clayton's recent visit (drinks on Tue and Wed evening) and a couple of beers after work tonight it's been enough to disturb my sleeping patterns. I've had real trouble getting up the past couple of mornings. I'm looking forward to the weekend.

A novice anew

I’ve just realised that when I was learning about computers there were two separate things happening at the same time: the first, that I was learning to program in the abstract; and the second, that I was learning to program for UNIX. Programming in general is universally applicable - I can translate those skills to any programming environment without blinking - but the concrete UNIX skills it turns out don’t generalize at all.

At work today I've been forced to learn about COM programming and Microsoft Outlook scripting. I know nothing about either topic, so I feel like I'm about 14 again, ordering "Teach yourself [whatever] in 24 hours" books from Amazon[1] and learning a whole new bunch of facts. I've been cruising on the general-programming experience I have for the last several years - all of which is technique-based, not fact-based - and I've not stepped outside the UNIX domain for long enough that I had forgotten that there was a fact-based component to programming at all! It had faded into background awareness completely. "If you can't learn it by reading the manpages, it's not worth learning" presupposes an awful lot of knowledge about UNIX in general...

I feel like the abstract-programming skills I have have been refined ever since I was about 11 or 12, and that I will continue to hone those skills for the rest of my life. The fact-based programming skills, on the other hand, programming for a concrete system like UNIX or Microsoft applications, will likely need to be completely changed every 5 or 10 years.

This is great! I feel like I can look at programming with fresh eyes for a while. I can retain my sense of mastery of the abstract principles of programming, and enjoy the experience of being a novice exploring a new domain of knowledge at the same time.

[1] I really did almost order a teach-yourself-outlook-in-24-hours book - in the end I didn't, but instead bought a book by the same author...