FOAF-a-Matic Mark 2 beta-2

It’s now been 10 months since I released the first beta of the FOAF-a-Matic Mark 2. An embarrassingly long time indeed, so I thought it was high time that I produced a second beta for you all to play with.
I’ve not been working on this solidly for 10 months and when you take a look you’ll see that there’s not a huge amount of extra functionality, but there’s a few fun bits in there which I’d like some feedback on, so thought I’d go ahead and push the out the door anyway.
I’m calling this beta-2 but there’s every likelihood that there are more bugs in this than the original so be careful and back-up your FOAF file before setting my tool on it. Also be aware that because it still doesn’t support all of FOAF (e.g. foaf:Group, foaf:Project, foaf:nearestAirport, etc) it won’t faithfully round-trip files.

Read More »

MusicBrainz Java API beta-1

I’ve just uploaded the beta-1 of my shiny new Java API onto the MusicBrainz RDF web service.
If you’re not familiar with MusicBrainz, it’s similar to CDDB: it stores lists of artists, albums and tracks that can be used to add metadata to your music collection. Aaron Swartz wrote a nice article on it a while ago: “MusicBrainz: A Semantic Web Service” (warning PDF).
There’s been a C/C++ API for some time now with bindings for other languages, but no Java API. And as I want to hook some Java code up to the server I went ahead and wrote one.
It’s not complete yet. It’s read-only at the moment so doesn’t support the query methods used to authenticate and submit data to the service. However this is enough for me at present and I thought I’d release it in case anyone else finds it useful.
The API is built on the spangly new Jena 2 API, and provides “raw” access to the RDF responses from the server or a simple bean interface for those of you not interested in the RDF.
You can download the API and read the package documentation online. The latter contains a few code fragments and enough information to get you started. The unit tests are pretty comprehensive too, so look there for additional examples.
This API is released under the Creative Commons Attribution-ShareAlike License

JBoss Documentation Wiki

A while ago I bemoaned the fact that there wasn’t an independent JBoss documentation project. I was pleasantly surprised to discover via a comment left under that posting that there is now such as beast:
JBoss Documentation Wiki
There’s even some initial content in there. If this gets some serious attention from you Java bloggers out there, who knows what we’ll end up with?
In fact if all the people who have spent the last few days raving about the JBoss project management, and the fact that some guy called Gavin has recently changed his job, instead spent their time doing a bit of Wiki gardening, we’d probably have a very useful resource indeed.

BloggerCon FOAF

Dave Winer has been suggesting that attendees to BloggerCon 2003 go and register on the BloggerCon blog roll
Seeing at the list of attendees is available in OPML and I’d already processed a similar format for MS Bloggers yesterday I thought that I’d do the same thing.
Here’s the stylesheet.
Deciding to go one better I sicked my FOAF spider on the list of blog URLs. He’s not a very clever spider and he’s not very fast but he does know about FOAF Autodiscovery so was able to find out for me whether any of these people already have a FOAF file. Where they have, this information has been merged in.
Here are the results.
I can set this up to run regularly if anyone is interested.
This data could be used to explore the social network of BloggerCon starting with the attendees and spreading outward. It would also be useful to harvest the FOAF data both before and afterward to examine what new links (foaf:knows) appear between people.

Print-Friendly Bookmarklet

Adverts get pretty annoying when you’re trying to concentrate on the details of a technical article. The tendency to stick bloody great images just after the first paragraph is something that I especially find irritating. I tend to find myself hitting “print friendly” links as soon as possible. As articles then tend to get delivered as a single page, this is also useful when skimming through something.
I thought about this a bit (but not that much) and decided to hack up a bookmarklet to do this for me. I could then have a button in my browser toolbar that would find the print-friendly version of a page for me.
Here it is:
Outa The Way!
This uses the Bookmarklet Bootloader Javascript technique to dynamically insert a script element into the page you’re viewing. That script then auto-executes (i.e. calls a function) to do some useful work. In this case it just attempts to determine what site you’re reading then use some basic rules to either construct the print version of the URL, or find the link on the page.
It should also probably look for print versions of CSS stylesheets and all sorts of other clever things. I’ll continue hacking on this, and would be interested to hear comments on improvements, as well as rules for determining print-version pages for other sites. The neat thing about the bootloader concept is that you can be certain that you’re always running the latest version of the code as it grabs it a-fresh from my site every time. If you want a local copy or decide to mirror it, then you’ll want the actual script. It’s not going to win any coding awards, so improvements appreciated.
At the moment it works on IT world newsletters, the Washington Post, Javaworld, and the O’Reilly network. It also includes a Gamasutra by-pass bookmarklet stolen from the Daily Chump.

MS Bloggers in FOAF; Java Bloggers Next?

Dan Brickley has written up a note on the FOAF Wiki about using the foaf:weblog property, pointing to an OPML listing of Microsoft bloggers.
I wrote a little XSLT stylesheet to do this conversion automatically. And here are some sample results. See the Wiki page for more details.
Interestingly Matt Biddulph’s Chumpologica accepts a very similar RDF format.
It would be interesting if more blogging communities were to publish FOAF data like this. Are you folk at javablogs listening?