FOAFFinger combines the excitement of FOAF with visceral thrill of Zeroconf (aka Rendezvous). Or, more acurately, it's a little java application that lets you publish FOAF information on a local network, and view information about other on the network. See the example below to get an idea of what's going on. It uses jRendezvous to do the zeroconf voodoo..
Here it is, a tiny java file. That's all you need. Well, you need Java.
Run it like this:
pldms@evila > java -jar FoafFinger-20030521.jar "Damian Steer" pldms@mac.com
Binding to: evila.danbri.org/10.0.2.17
HttpServer running on port 7654
>
but using you own name and address. On some machines it might
complain that it can't determine the IP address of the host. In
that case add the IP address of your machine to the arguments.
Pressing return shows that some people are online already.
[0] Joe Bloggs is online.
[1] Gretchen Franklin is online.
>
Now let's add some information about me:
> set interest http://rdfweb.org/foaf/
> set homepage http://rdfweb.org/people/damian/
Next I'll find people interested in rdf:
> find rdf
Name Homepage Interest
[0] Joe Bloggs http://example.com/joe/ http://w3.org/rdf
Without an argument find shows everyone:
> find
Name Homepage Interest
[0] Joe Bloggs http://example.com/joe/ http://w3.org/rdf
[1] Gretchen Franklin http://www.freeserve.net/people/gf/ http://www.bbc.co.uk/eastenders/
You can see more information using 'show':
> show 1
Name: Gretchen Franklin
Hash Mbox: 317e4d5ff06431b79cd070fa841758b0ac56ccc7
Mbox: gf@freeserve.net
Homepage: http://www.freeserve.net/people/gf/
Interest: http://www.bbc.co.uk/eastenders/
Plan:
Working on a pilot for "Monkey Tennis"
Destroy all humans
Note that this person's email address is available. By default
your email address is not made public, but you can change this:
> set showmbox true
You can see your information in RDF/XML:
> dump
<?xml version="1.0"?>
<rdf:RDF xmlns="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<Person>
<name>Damian Steer</name>
<mbox_sha1sum>f30065df6b58584bd16373eee43c9f8e2ffb9a76</mbox_sha1sum>
<mbox rdf:resource="mailto:pldms@mac.com"/>
<interest rdf:resource="http://rdfweb.org/foaf/"/>
<homepage rdf:resource="http://rdfweb.org/people/damian/"/>
</Person>
</rdf:RDF>
I happen to know Joe Bloggs, and I can add that information by typing:
> iknow 0
> dump
<?xml version="1.0"?>
<rdf:RDF xmlns="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<Person>
<name>Damian Steer</name>
<mbox_sha1sum>f30065df6b58584bd16373eee43c9f8e2ffb9a76</mbox_sha1sum>
<mbox rdf:resource="mailto:pldms@mac.com"/>
<interest rdf:resource="http://rdfweb.org/foaf/"/>
<homepage rdf:resource="http://rdfweb.org/people/damian/"/>
<knows>
<Person>
<name>Joe Bloggs</name>
<mbox_sha1sum>4445904ac65039ef7a91506207f19162ac4dea73</mbox_sha1sum>
<interest rdf:resource="http://w3.org/rdf"/>
<homepage rdf:resource="http://example.com/joe/"/>
<rdfs:seeAlso rdf:resource="http://example.com/joe/webwho.rdf"/>
</Person>
</knows>
</Person>
</rdf:RDF>
>
Often you'll see messages like:
>
[0] Joe Bloggs is offline.
[0] Joe Bloggs is online.
Which occurs when people change their information. If they annoy you use:
> messages off
Finally I'll save my information in RDF/XML using:
> dump webwho.rdf
Information saved to webwho.rdf
I now have a simple FOAF file to play with, which I'll put on my
website. Once that's done I'll let other people know:
> set seealso http://rdfweb.org/people/damian/webwho.rdf
There is one other property you can set, which is (essentially)
a dumping ground. Enter anything you want, but remember the
first rule of FOAFFinger.
> set plan
(Enter text, and finish with two blank lines)
This is my first plan.
I have no plan, but you've got to have a plan.
I plan to get a plan.
There's a help command in case of emergencies.