Archive for August, 2004

“I Pronounce These Words With Unbearable Precision…”

Apologies for the title, I’m just sort of tapped out right now. Bonus points if you caught the reference.

So I’m down to about one month until the Ruby Conference and I really need to get to work on my presentation. I already know most of what I want to say in terms of background information, but I’d like to cook up some simple application in order to demonstrate the various Ruby libraries for RDF processing. By developing the same application in each of the available libraries I should get a pretty good feel for which one(s) are most mature and can be recommended for other people to check out.

One obvious choice is a “six degrees of Lyle” application, that would make use of the various “knows” entries in my FOAF file to spider out and identify all of the people who are n degrees away from me. I haven’t tried this yet, but I have the feeling that given the somewhat inbred nature of the fledgling FOAF community I might not have much luck for values of n greater than one. Unless I make some farfetched claim, such as that I “know” Dan Brickley or some other well-connected soul. It also suggests that I have the time and bandwidth to run a scutter.

A more straightforward but less glamorous application would be a little utility that reads a FOAF file containing mbox entries for various people and converts them into mboxsha1sum entries. That is, I could maintain my FOAF using the unencrypted e-mail addresses for my friends by use this utility to encrypt them before publishing my FOAF to the web. It would certainly be a useful tool for me to have, since I’m currently just leaving little comments to myself in the FOAF to remind me of which e-mail address a particular mboxsha1sum tag refers to, e.g. “This is Bob’s yahoo.com e-mail address”.

I’ve also got a nagging feeling that I could do some interesting things with the Auburn Knights Alumni Association’s database if I were to convert it to RDF. Charlie K. has already asked me to take the lead in organizing and writing up the history of the band in the 90′s and so I’m having to sift through all of this data anyways, to try to identify who was on the band when. In order to pound it with the RDF hammer I’d need to cook up an appropriate vocabulary, or even better a combination of existing vocabularies. FOAF could certainly be a part of that, and maybe Masahide Kanzaki’s Music Vocabulary (although the latter seems more slanted toward classical music performances and musicians, and not Big Band Jazz).

I Heart Google

Thanks to Google, I did track down that presentation of Andy’s I was looking for here. I need to ask Chad if he or one of the other conference organizers has a copy of the original OpenOffice.org presentation, as opposed to this HTML dump of it; seeing this slide in its pre-unfurled glory takes away from the drama that ensued during the live presentation, when Andy clicked to reveal the shark at the bottom of the page.

PickAxe 2: On the Way

I was digging around the Pragmatic Programmers’ web site, trying to find a copy of a presentation that Andy gave at the first Ruby Conference about how to subversively introduce Ruby into your company, when I came across the new information page for the upcoming second edition of Programming Ruby.

If I weren’t going to be receiving a free copy as an attendee of the upcoming 4th International Ruby Conference, I’d be placing my pre-order right now. If you’re interested in learning Ruby, or if you’re looking for what is sure to be the definitive reference, you will want to pick up a copy as soon as humanly possible. Ask anybody.

Paul Graham on “The Python Paradox”

In his latest essay, Paul Graham comments on what he refers to as the “Python Paradox”:

“… if a company chooses to write its software in a comparatively esoteric language, they’ll be able to hire better programmers, because they’ll attract only those who cared enough to learn it.”
The essay’s not a Python love-fest, by the way; he also acknowledges a number of other underdogs, including Ruby.

For a few years now I’ve made a point of highlighting my Ruby programming skills on my resume, but it never generated any real interest; at least, not any more interest than, say, listing completely unrelated hobbies would have. So I was pleasantly surprised when I was asked about it during some of the technical interviews for my current job. No, it’s not a Ruby job; we’re working in Java pretty exclusively. But it’s nice to believe that my interest in Ruby may have had some influence on their decision to hire me.

Good, Better, Best!

As posted to the ruby-talk mailing list by Assaph Mehr: Compare the top-ranked Google search results for “Programming”, then “Programming Language” and finally “Best Programming Language”.

Semitar

Semitar is an “almost pure” Ruby library for processing Semantic Web data in RDF and OWL. The “almost” qualification stems from the fact that it uses Redland’s Raptor parser, instead of a pure Ruby RDF parser, in the interest of performance. Semitar is being developed by Rich Kilmer and Chad Fowler, two well-known contributors to the Ruby community.

Also found this link to the PDF’d version of a PowerPoint presentation on Semitar. It’s unclear which parts of Semitar have actually been implemented and which ones are still in the planning stages.

As with the previous post on RDF-Redland, this one’s short on content for now. Can you tell that I’m trying to push out a lot of draft articles that I’ve had sitting in the queue for while? Expect more information about my adventures with Semitar as we get closer and closer to RubyConf.

RDF-Redland

RDF-Redland is Dominic Sisneros’ project to layer a more object-oriented, Ruby-friendly API on top of the flattened C API provided by the standard Redland installation. Redland is Dave Beckett’s popular library that provides a framework for building RDF-based applications. It supports a variety of RDF parsers and serializers, persistent storage to a number of relational databases, RDQL-based queries and more.

The standard Redland package originally included only a thin wrapper over Redland’s C API as its Ruby interface. As of the latest release of the Redland Language Bindings, a version of Dominic’s library is included, and this helps very much to bring the official Ruby bindings up to par with the existing Python and Perl bindings, which are very good.

This post is unfortunately light on content, but I hope to follow up with more information about how to actually use RDF-Redland in a future post. Of the existing options for processing RDF with Ruby, it is certainly the most mature and capable, as of this writing, and it’s one that I plan to feature in my presentation at the Ruby Conference in October.

RDF is Dead; Long Live RDF

Shelley Powers, author of Practical RDF, has posted a new article about what she calls the “RDF Glass Ceiling”. The article comments on the apparent loss of momentum in the RDF world in the year since her book was published.

The follow-up comments from readers are a little more encouraging. Danny Ayers notes that while there hasn’t exactly been an avalanche of new RDF-based projects lately, the number of new people showing up on RDF interest mailing lists and IRC channels has been picking up. He also notes that it’s only been six months since RDF and OWL became official W3C recommendations. Other responses to Shelley’s article seem to reinforce Danny’s opinion that general interest in RDF is steadily picking up steam in a sort-of “grasssroots” way.

The Smell of Libraries

Leo Sauermann has posted a nice, short essay about the social component of visiting a “brick-and-mortar” library that’s missing from our current conceptions of the Semantic Web:

“For thousands of years we had to walk [to the library] to get to the information. This means, you meet people there, that search for the same stuff as you do. These people are interested in the same stuff as you. You may like to meet them.”
Leo’s obviously not the first person to comment on the internet’s negative effects on our social interaction, but I don’t know that I’ve ever seen this particular metaphor used. It’s a good read.

How To Be Lame

Was googling to find out what it means when someone says “re” in IRC, when I came across this helpful tutorial: “How To Be Lame”. A sample from Lesson #4:

die is the most common response to anything and everything. whenever someone makes a 1% or more serious statement (or a request), just put a little ‘die’ or ‘dieplz’ after.

Example:

<person1> i think this channel needs moderating
<person2> die