Semantic Wave Blog
News feeds and commentary by Jamie Pitts

March 30, 2008

I Just Installed God On My Mac

sudo gem install god

I feel as if a line has been crossed and I am not even religious. Isn't it sheer gumption to name process monitoring software after Him? Whatever the answer is, I look forward to giving it a trial run.

The documentation is hilarious and is sure to bring this project a lot of attention.

Need to watch a script that doesn't have built in daemonization? No problem! God will daemonize and keep track of your process for you.

Source: god.rubyforge.org

Spotter: Simon Willison.

Posted by Jamie Pitts at 2:15 PM | Comments (0) | TrackBack (0)

January 21, 2008

The Meaning Of A Tag

I am very excited about the MOAT Project, an effort to map user-generated tags to the semantic web. This is a super-important effort as web site operators often might want to utilize and contribute to the semantic web but cannot invest too much valuable brain power into doing so. It also helps with the marketing of meaningful tagging, that there is more to be had from tags than simply tallying them up like votes for bad candidates.

Here is an example of how to assert two different meanings for a tag:

<moat:Tag rdf:about="http://tags.moat-project.org/tag/paris">
<moat:name><![CDATA[paris]]></moat:name>
  <moat:hasMeaning>
    <moat:Meaning>
      <moat:meaningURI rdf:resource="http://sws.geonames.org/2988507/"/>
      <foaf:maker rdf:resource="http://example.org/user/foaf/1"/>
    </moat:Meaning>
  </moat:has_meaning>
  <moat:hasMeaning>
    <moat:Meaning>
      <moat:meaningURI rdf:resource="http://sws.geonames.org/4402452/"/>
      <foaf:maker rdf:resource="http://example.org/user/bob/foaf"/>
      <foaf:maker rdf:resource="http://somwhere.net/myblog/foaf.rdf#me"/>
    </moat:Meaning>
  </moat:has_meaning>
</moat:Tag>

Source: MOAT ontology

I have always believed that site operators and end-users should interact with the semantic web in a seamless, familiar manner. What MOAT must be answered with is UI that encourages meaningful tagging. In its current state, though, tagging appears to have hit an innovation plateau because it is difficult for users to add more than shallow, impressionistic meaning to a subject. There is enough in tagging to generate interesting visualizations such as tag clouds and (of course) to improve the findability of site resources. But there needs to be a way to add one more dimension to the subject-tag relationship.

Two recent experiments that I have developed in meaningful tagging are to be found in the Memecat and Listgasm projects.

In order to add the third "predicate" dimension to the tagging of a subject, I provide cues as to what the tagging context is when a user enters tags. To allow for creativity, we chose to allow the users to freely enter whatever tag they wished, but still provide "object" suggestions. On the storage side, each user assertion is stored as a triple: the item, the predicate, and the tag entered by a user.

When entering a tag to "keep" a list item in Listgasm, the user is presented with a dropdown of suggested tags. The same approach is used to "lose" a list item, which represents a different predicate for the same subject. In Memecat, a video meme is similarly tagged for pattern, culture, and what it contains. A major benefit to the tagging and storage approach used in these projects is to allow a user to not only tag different aspects of an item, but to also enter more than one tag in doing so.

What I haven't yet done is connect the data that we've collected in these projects to the semantic web. MOAT could be the best way to quickly do this.

Posted by Jamie Pitts at 11:14 PM | Comments (3) | TrackBack (0)

August 10, 2007

ActiveHibernate in JRuby

Johan Andries is working on bridging ROR (running in JRuby) and Hibernate. His work is hosted on Google Code.

The controller and view aspects of ruby / ROR and the wide range of modelling options available in Java are going to make a powerful combination!

Spotter (and also the one who first verbalized what many JRuby watchers were thinking): Ola Bini.

Posted by Jamie Pitts at 3:21 PM | Comments (0) | TrackBack (0)

May 30, 2007

Google Gears: Local SQLite Storage Via Browser Extension

I admit that I post about Google far too often, but this latest news is difficult to resist relaying: Google just released Gears, an open source browser extension that provides local storage for web apps using both SQLite and a small footprint web server for static resources. I'm not sure what the http server is yet - if you know, post something about it.

The worker pool looks super-interesting as well.

If only Apple's Core Data had gotten here first with an open offering for the web...

Posted by Jamie Pitts at 7:45 PM | Comments (0) | TrackBack (0)

December 29, 2006

Rich Tags Project

Eric told me about the Rich Tags project at mSpace. Rich Tags aims to improve the meaningfulness of tagging through lightweight visual and conceptual associations of a user's tags with "artifacts" in the application.

The act of tagging via association itself creates the meaning of the tag in both human and machine tractable terms. In effect, the act of semantic tagging effectively builds light weight ontologies.

Source: Rich Tags Project Description

Posted by Jamie Pitts at 1:55 PM | Comments (0) | TrackBack (0)

December 9, 2006

David Huynh's Exhibit

Exhibit is the latest Project Simile "super data demo" originally developed by David Huynh. In the same vein as his Timeline, Exhibit is a simple client-side JSON data-interaction application that does not require any server-side code. Items are filtered and sorted into a main panel along the lines of a faceted browsing app.

Programmatically, an Exhibit data model can be queried much like an RDF graph: a query triple pattern is provided with either the subject or the object missing and values fitting that component in the triple pattern are returned. The query interface also allows for a set of values in either the subject or the object component of the query triple pattern; this proves useful for implementing faceted browsing. Source: Understanding Exhibit Expressions
Check out this fun implementation: Topher's Breakfast Cereal Character Guide.

Update: I just noticed Danny's post with a link to the project paper (which is definitely worth reading).

Posted by Jamie Pitts at 4:28 PM | Comments (0) | TrackBack (0)

October 14, 2006

I want to winnow my Bloglines down

I put together a javascript application that taps into the Bloglines API and winnows down my feeds to something more manageable.

The "select one random entry per author" approach that I implemented needs a lot of improvement, but still is a very good start toward uncluttering my information awareness :)

Winnow Screenshot

Enjoy!

Posted by Jamie Pitts at 1:29 PM | Comments (0) | TrackBack (0)

September 27, 2006

Semantic Indexing

I was browsing del.icio.us and found an interesting project involving researchers from NITLE and Middlebury College: The Semantic Indexing Project.

The prototype is in two parts: the Semantic Engine, the utility that generates metadata from a corpus of text, and the Explorer, a node-centric visualizer.

I indexed some SEC filings and then exported into the Explorer. The result was muddled with extra terms (probably due to the raw nature of these particular filings), so I loaded in the html content of the Google's IPO Prospectus. This second attempt was more interesting, displaying a navigatable graph of related terms. Unfortunately, I did not see UI depicting how the nodes (representing corpus terms) are related.

Still, it is worth a try if you're running OSX and are into natural language processing, LSA, and the art of automatic classification. Also worth looking at are their research papers and presentations.

Posted by Jamie Pitts at 4:14 AM | Comments (0) | TrackBack (0)

November 14, 2005

mSpace Design Doc

I was taking another look at mSpace and I found a gem of a document: the mSpace Group Design Project Report. This is one of the best web app design docs I've come across, covering in detail the goals of the project, ui (which was identified as the most important aspect of the app), ontological design, data retrieval and expression, application flow, and user feedback (using instrumentation).

One of the goals of this project is to create a generalised system that allows for a very low cost entry into the semantic web so that the benefits can be seen and experienced by users and developers who are naive or sceptical about the semantic web and any benefits they can expect from it.
...
Being able to understand the underlying semantic data, and the relationships between this data, is much more important than just presenting the information to the user.

Source: mSpace Group Design Project Report

How can I forgive myself for overlooking this pdf?

Posted by Jamie Pitts at 1:28 PM | Comments (0) | TrackBack (0)

October 19, 2005

From Cookies to Chocolate Mousse Cakes

Brad Newberg's AJAX MAssive Storage System (AMASS) combines flash and javascript to offer web sites a convenient, local store for large amounts of JSON data. It works only on win for now.

The AJAX MAssive Storage System (AMASS) uses a hidden flash applet to allow JavaScript AJAX applications to store an arbitrary amount of sophisticated information on the client side.

Internally, we use a hidden Flash file and Flash's SharedObject functionality to permanently store the information. We script the Flash file using it's ActiveX methods on IE and it's LiveConnect methods on Firefox. We use Flash's SharedObject's callbacks to detect when the request storage dialog is on the screen, and pass these back to the JavaScript application. We also center these values on screen.

Source: AMASS Project

This is very cool, so I won't make too much fun of why Brad put the AJAX buzzword in the project name :)

Posted by Jamie Pitts at 5:26 PM | Comments (0) | TrackBack (0)

August 2, 2005

Snippets: Domain-Focused Knowledge Sharing

Adam Smith would appreciate this simple design goal for the Snippet Manager:

Immediate Feedback

There should be an instant reward for the user who adds metadata. This conforms to idea that a tool should be useful to the user first, and to the community as a beneficial side effect. Source: How to Build a Snippet Manager

In this pdf and elsewhere, "facets " is gaining traction as an approach to creating and querying metadata. I hope this continues, because the popularity of tags increasingly reminds me of the "Trouble with Tribbles."

Posted by Jamie Pitts at 2:38 PM | Comments (0) | TrackBack (0)

April 5, 2005

MT-Redland

Danny, Ian, and others are pointing to Gregory Williams' MT-Redland. I can't wait until I get home to get it running.

Of course, I couldn't wait. I unpacked it at work and looked around. This replaces MT's MySql data store with triples (by way of Redland).

On the front-end, MT-Redland uses the MT plugin API to incorporate any kind of semantic content into blogging. One of the plugins allows ratings to be associated with an entry using RDF Review. There are also plugins / UIs for adding book, document, and event topics.

Using this app is going to save me a lot of time in incorporating the financial data into blogging!

Posted by Jamie Pitts at 1:41 PM | Comments (1) | TrackBack (0)

October 5, 2004

Wikiproxy

Stefan Magdalinski has posted details about his BBC News Wikiproxy. His goal is to integrate the Beeb with the greater web, and wikiproxied stories include Wikipedia links for capitalzed nouns. Technorati references relating to the story are also incorporated.

I am very jazzed about this because I am nearly done with a long SEC company and officer extraction run. A test appplication I built uses this data to identify names in Yahoo! / Reuters stories, and the BBC was next in line.

Stefan's wikiproxy should help me get started on connecting my company names and people to Wikipedia URIs, along the lines of James Tauber's interesting suggestion. I plan to use Wikipedia references in human-readable interfaces, along with equally-useful SEC Edgar and Yahoo! Finance representations of companies.

The PHP source code uses regexes in the identification of names; my bot will probably be doing some additional work with respect to the story context to ensure good matches.

By way of Cory Doctorow.

Posted by Jamie Pitts at 2:33 PM | TrackBack (0)

September 8, 2004

Password Generator Bookmarklet

Nic Wolff wrote a convenient bookmarklet for those who maintain more web site accounts than is healthy or even normal. It accepts a master password and a host name to generate a password with PAJ's Javascript MD5. View the source on this page to take a closer look.

Spotter: Simon Willison.

Posted by Jamie Pitts at 4:08 AM | TrackBack (0)

September 3, 2004

Search the Commons

Creative Commons has announced an update to their search engine, now powered by Nutch. This is going to be great for those of us who would like to find images and other media for legal incorporation in our creative works.

Spotter: Anil Dash.

Posted by Jamie Pitts at 12:40 AM | TrackBack (0)

August 8, 2004

RSS Buffer and Transformer

Leslie Michael Orchard has posted some details about his latest RSS aggregator: dbagg3. Written in Python, dbagg3 speaks Atom on the client end, storing the feed entries in a relational db. Atom API provides access these entries. At the tail end of this train is an XSLT processor service. Very nice!

These are the sorts of tricks I was looking forward to when I started thinking about things like a universal blog transfer format and rose-colored glasses. XSLT used like this could just as easily produce a blog or RSS 2.0 content. Source: 0xDECAFBAD
Posted by Jamie Pitts at 8:05 AM | TrackBack (0)

June 18, 2004

OpenReader

Andy Oram has posted an ONLamp article about OpenReader, a project directed at developing a page-based text reader for books, periodicals, and research papers. According to the features table, OpenReader will handle the major ebook standards such as OEBPS, PDF, DocBook, and (of course) XHTML/CSS.

I am looking forward to following the interesting bookmarking, referencing, and annotation techniques which Jan Noring intends to incorporate into OpenReader. An example is the booklet concept, allowing related notes and images to be presented in a separate pane from the main text.

Posted by Jamie Pitts at 3:13 AM | TrackBack (1)

Categories

 AI
 Blogs
 Business
 Data Munging
 Development
 Formats
 How-To
 Ideas
 Languages
 Law
 Ontologies
 OWL
 People
 Products
 Projects
 QOTD
 RDF
 Research
 Social Software
 SRM
 Standards
 Thinking Out Loud
 Trends
 Twitter
 Visualization
 W3C
 Web Services
 Wikis


Small picture of Jamie Pitts When I talk about the semantic web, I feel a lot like Linus. No, not Linus Torvalds. I meant the other one. - JP


whoami?

Projects:
  Winnow My Bloglines Down
  Memecat
  Listgasm


Curently Reading

cover The Art of Unix Programming
Eric Raymond

Semantic People
Danny Ayers
Dave Beckett
Tim Berners-Lee
Tim Bray
Dan Brickley
Marc Canter
Paul Ford
Seth Ladd
Seb Paquet
Clay Shirky
Roland Tanglao
Dave Winer

Syndication:
 RSS Version 1.0
 RSS Version 0.91


Recent Entries
 I Just Installed God On My Mac
 The Meaning Of A Tag
 ActiveHibernate in JRuby
 Google Gears: Local SQLite Storage Via Browser Extension
 Rich Tags Project
 David Huynh's Exhibit
 I want to winnow my Bloglines down
 Semantic Indexing
 mSpace Design Doc
 From Cookies to Chocolate Mousse Cakes

Archives
 April 2008
 March 2008
 February 2008
 January 2008
 November 2007
 October 2007
 September 2007
 August 2007
 June 2007
 May 2007
 April 2007
 March 2007
 February 2007
 January 2007
 December 2006
 November 2006
 October 2006
 September 2006
 August 2006
 July 2006
 May 2006
 April 2006
 March 2006
 February 2006
 January 2006
 November 2005
 October 2005
 September 2005
 August 2005
 June 2005
 May 2005
 April 2005
 March 2005
 January 2005
 December 2004
 November 2004
 October 2004
 September 2004
 August 2004
 July 2004
 June 2004
 May 2004
 April 2004
 March 2004


Creative Commons License
This weblog is licensed under a Creative Commons License.

Powered by Movable Type

Copyright © Jamie Pitts