<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5433680558328609491</id><updated>2011-11-27T17:04:21.674-08:00</updated><category term='Classical Music Navigator'/><category term='acid brass'/><category term='RDF'/><category term='artist networks'/><category term='Local modularity'/><category term='semantic web'/><category term='donation download'/><category term='genre'/><category term='garden'/><category term='periodic spectral reordering'/><category term='music'/><category term='myspace pirate radio'/><category term='Exponential decay'/><category term='Jeremy Deller'/><category term='art'/><category term='flower'/><category term='websci09'/><category term='Songbird'/><category term='opensocial'/><category term='networks'/><category term='spectral re-ordering'/><category term='musim'/><category term='shunt'/><category term='musicmash'/><category term='Gabriella Kalna'/><category term='David Byrne'/><category term='Assortativity'/><category term='music ontology'/><category term='Wagner'/><category term='myspace'/><category term='genre tags'/><category term='music and culture'/><category term='c4dm presents'/><category term='giant instrument'/><category term='music distribution'/><category term='Tony Effik'/><title type='text'>kurtisrandom</title><subtitle type='html'>...my blog about music tech, linked data, misc...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-804990774694310881</id><published>2010-08-10T08:01:00.000-07:00</published><updated>2010-08-10T08:04:25.966-07:00</updated><title type='text'>LinkedBrainz Project</title><content type='html'>I've recently started working on a new &lt;a href="http://www.jisc.ac.uk/"&gt;JISC&lt;/a&gt; funded grant to publish &lt;a href="http://musicbrainz.org/"&gt;MusicBrainz&lt;/a&gt; Next Generation Schema and Advanced Relationships as &lt;a href="http://linkeddata.org"&gt;Linked Data&lt;/a&gt;.  The project is called LinkedBrainz and I will be neglecting this blog even more in favor of posting at the &lt;a href="http://linkedbrainz.c4dmpresents.org/"&gt;LinkedBrainz site&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No, I have not finished my thesis but hopefully soon :-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-804990774694310881?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/804990774694310881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=804990774694310881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/804990774694310881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/804990774694310881'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2010/08/linkedbrainz-project.html' title='LinkedBrainz Project'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-5903150009412068479</id><published>2010-05-15T17:34:00.000-07:00</published><updated>2010-05-15T20:10:30.182-07:00</updated><title type='text'>The Return of CatfishSmooth</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://catfishsmooth.net/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 237px;" src="http://4.bp.blogspot.com/_ot0nJBqEVEk/S-9TTAw2qkI/AAAAAAAAAGE/ejeCg12C2vQ/s320/catfish.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5471683658365971010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've really let this blog languish lately - my excuses include writing thesis, preparing for birth of daughter (literally any day now), and moving back across the Atlantic.&lt;br /&gt;&lt;br /&gt;To make up for it, I've done something that is pretty cool (I hope you'll agree).  I've given it the name CatfishSmooth for no particular reason other than the fact it is a funny domain name I happen to own (some of my more astute readers might recall the &lt;a href="http://kurtisrandom.blogspot.com/2009/05/open-hackday-london-wrap-up.html"&gt;previous award-winning CatfishSmooth incarnation&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://catfishsmooth.net/"&gt;CatfishSmooth&lt;/a&gt; is a music artist navigation tool built on the web of &lt;a href="http://linkeddata.org/"&gt;linked data&lt;/a&gt;.  We fuse data from DBpedia, DBTune, Echonest, BBC, Last.fm and MusicBrainz to find arbitrary connections between music artists.  For example, if we examine the page for &lt;a href="http://catfishsmooth.net/artist/20ff3303-4fe2-4a47-a1b6-291e26aa3438"&gt;James Brown&lt;/a&gt; we see a dizzying array of artist similarities.  We see a list of artists who's hometown is also Augusta Georgia, a list of artists how are also American soul singers, a list of artists who are also incarcerated celebrities, and several other lists.&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_ot0nJBqEVEk/S-9CPeUpG2I/AAAAAAAAAF0/b4dd-UMppZA/s320/incarcerated_celebs.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5471664905883556706" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 291px; height: 291px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;We also get some audio and youtube videos courtesy of the amazing &lt;a href="http://echonest.com/"&gt;Echonest&lt;/a&gt;.  And finally, we also include along side the random linked-data connections some more traditional "similar artist" recommendation from the &lt;a href="http://echonest.com/"&gt;Echonest&lt;/a&gt; and &lt;a href="http://last.fm/"&gt;Last.fm&lt;/a&gt;. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So how does it all work you ask?  Most of the random connections come from &lt;a href="http://dbpedia.org/"&gt;DBpedia&lt;/a&gt; - the linked data translation of Wikipedia.  We specifically leverage the &lt;a href="http://www.mpi-inf.mpg.de/yago-naga/yago/"&gt;YAGO&lt;/a&gt; types to create really simple &lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;SPARQL&lt;/a&gt; queries that yield some interesting lists of artists (i.e. incarcerated celebrities).  If you don't speak semantic web, you probably understood very little of that last sentence.   So let's look at the big picture.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's tons of reasonably well-structured data about music artists all over the web.  Unfortunately, these various data resources are not always easy to link up.  How do we know some webpage is talking about James Brown "the Godfather of Soul" and not James Brown the drummer for the post-rock group Veil Maker???  Disambiguating all this data is really the crux of what CatfishSmooth does and by no means does CatfishSmooth do it alone.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://musicbrainz.org/"&gt;MusicBrainz&lt;/a&gt; is the ultimate resource in music artist/album/track disambiguation.  A unique MusicBrainz&lt;/div&gt;&lt;div&gt;id is created for each artist, album, and track.  A wide variety of metadata is maintained by an active community of users ensuring a high level of accuracy and a wide breadth of coverage.  In a sense we treat MusicBrainz as the center of the musical universe.  With a MusicBrainz id it is a simple matter find information from last.fm (which used mbids directly) or the Echonest (which supports mbids through the &lt;a href="http://musicmachinery.com/2010/02/10/introducing-project-rosetta-stone/"&gt;Rosetta Stone project&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MusicBrainz also serves as our entry point to the world of linked data.  The &lt;a href="http://www.bbc.co.uk/music"&gt;BBC&lt;/a&gt; uses mbids for its music artist pages (which are awesomely published as linked data).  We use the amazing &lt;a href="http://sameas.org/"&gt;sameAs.org&lt;/a&gt; service to go&lt;/div&gt;&lt;div&gt;from BBC mbid URIs to DBpedia URIs.  With DBpedia URIs we're plugged into all the knowledge of Wikipedia.  Most of our lists come from here although some come from the &lt;a href="http://dbtune.org/musicbrainz"&gt;DBTune.org/musicbrainz&lt;/a&gt; resource.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With this matching done, we fire off a slew of API calls and SPARQL queries to generate the different elements of the page.  &lt;i&gt;CatfishSmooth currently has absolutely no local data store&lt;/i&gt;.  Everything is "in the cloud" (oh I hate myself for writing that but it's true).  We've sort-of created the views and the controllers of an &lt;a href="http://en.wikipedia.org/wiki/MVC"&gt;MVC&lt;/a&gt; web application.  The model is RDF (and some web APIs) so we can just plug in to linked data.  Future incarnations will likely be backed by a triple store that aggregates and collects new data from users.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CatfishSmooth is far from a finished work, but I was keen to release it in its current state because (1) I thought the crowd at &lt;a href="http://sf.musichackday.org/"&gt;SF Music Hack Day&lt;/a&gt; might take a liking to it, (2) I think it's pretty fun to use as-is, (3) I'm not sure how much time I will have to continue working on it in the very near future.  Planned future improvements include:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;better media support - more youtube videos, &lt;a href="http://play.me/"&gt;play.me&lt;/a&gt;, &lt;a href="http://playdar.org/"&gt;playdar&lt;/a&gt;, and/or &lt;a href="http://spotify.com/"&gt;spotify&lt;/a&gt; support&lt;/li&gt;&lt;li&gt;semantic playlist building - another idea that probably warrants an entirely new post&lt;/li&gt;&lt;li&gt;more links! - from BBC, MySpace, Discogs, and others&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;One final note, CatfishSmooth is a bit of an experiment.  It is prone to crash and you will probably see the python stack trace when it does.  I need to setup a bug reporting system also.  So take it for what it's worth.  Also you'll find it is not so useful for "long tail" artists - the connections are really only found for artists that have detailed MusicBrainz and Wikipedia entries.  But hopefully this thing is still fun and useful.  I would love to get any ideas or feedback.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-5903150009412068479?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/5903150009412068479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=5903150009412068479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5903150009412068479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5903150009412068479'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2010/05/return-of-catfishsmooth.html' title='The Return of CatfishSmooth'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ot0nJBqEVEk/S-9TTAw2qkI/AAAAAAAAAGE/ejeCg12C2vQ/s72-c/catfish.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8843792406754304137</id><published>2010-01-22T15:32:00.000-08:00</published><updated>2010-01-24T12:47:33.653-08:00</updated><title type='text'>Enter HeVeA</title><content type='html'>In my &lt;a href="http://kurtisrandom.blogspot.com/2010/01/beyond-tex-discovering-docbooks.html"&gt;last post&lt;/a&gt;, we discussed problems with converting LaTeX documents into HTML.  I briefly described &lt;a href="http://docbook.org/"&gt;DocBook&lt;/a&gt;, the most compelling alternative I found to LaTeX.  I got a lot of response re: DocBook from people telling me I am crazy and what horrible experiences they'd had with DocBook.  But I was undaunted, and I forged ahead.  I have converted my ISMIR 2009 paper into DocBook and then to HTML.  I did this in about half a day, mostly converting LaTeX commands to DocBook XML by hand using the Emacs nXML mode.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can view the results at &lt;a href="http://docs.kurtisrandom.com/ismir2009-docbook/"&gt;http://docs.kurtisrandom.com/ismir2009-docbook/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Or you can download a &lt;a href="http://docs.kurtisrandom.com/ismir2009-docbook/ismir09-docbook.tar.gz"&gt;tarball with my source as well&lt;/a&gt;.  I applied the most basic docbook-xsl transform.  On Ubuntu, you can &lt;code&gt;apt-get docbook-xsl&lt;/code&gt; and Macports seems to include this stuff as well.  I used &lt;span class="Apple-style-span"   style="  ;font-family:monospace;font-size:13px;"&gt;xsltproc &lt;/span&gt;to apply the transform with some arguements:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;xsltproc --output index.html \&lt;br /&gt;--stringparam bibliography.numbered 1 \&lt;br /&gt;--stringparam bibliography.collection \&lt;br /&gt;     ./bib.xml \&lt;br /&gt;/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \&lt;br /&gt;db-ismir09.xml&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are using &lt;code&gt;--stringparam&lt;/code&gt; to pass some optional parameters to the &lt;code&gt;docbook.xsl&lt;/code&gt; to get a numbered bibliography and to specify the external bibliography file.  These a complete reference list of these parameters is provided on the &lt;a href="http://docbook.sourceforge.net/release/xsl/current/doc/html/index.html"&gt;docbook sourceforge page&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may notice, not everything went according to plan.  I had to spend a lot of time converting the bibliography by hand - the tools I found to do this didn't really work.  So in the end, I left the bibliography a bit of a mess with some left-over latex in there.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Furthermore, the PDF version was a bit of a disaster.  I used the &lt;code&gt;dblatex&lt;/code&gt; utility to generate the PDF as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;dblatex --output=db-ismir09.pdf -T simple -L bib.xml db-ismir09.xml&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While I was able to get the Docbook tool chain up and working rather quickly, I did have lots of questions.  My posts to the &lt;a href="http://docbook.org/help"&gt;mailing list&lt;/a&gt; and to the &lt;a href="irc://irc.freenode.net/docbook"&gt;IRC channel&lt;/a&gt; were virtually ignored (I had one pleasant reply from a jsmith on &lt;a href="irc://irc.freenode.net/docbook"&gt;IRC&lt;/a&gt; pointing me to a &lt;a href="https://svn.typo3.org/Teams/DEV3/trunk/doc/src/docbook/master-thesis/"&gt;masters thesis written in docbook&lt;/a&gt; which was helpful but includes no citations or bibliography - the thesis is really a technical software documentation).  This was really off-putting for me and (sigh) has led me back to LaTeX.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luckily, thanks to my long-time friend and colleague &lt;a href="http://stuffalsothings.blogspot.com/"&gt;Ben Fields&lt;/a&gt;, I discovered &lt;a href="http://hevea.inria.fr/"&gt;HeVeA&lt;/a&gt;.  This is more modern and complete LaTeX to HTML package that seems very promising.  I was able to convert the same ISMIR 2009 paper to HTML in a manner of minutes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://docs.kurtisrandom.com/ismir2009-hevea/"&gt;http://docs.kurtisrandom.com/ismir2009-hevea/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This actually looks much better than the Docbook version IMHO.  The only major problem I see is that the URLs in my LaTeX don't seem to automagically become href's in the HTML as I had hoped.  There was also some funkiness with the images I had to fix by hand.  But this package seems to be well documented and I am optimistic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition to HeVeA, Ben suggested  &lt;a href="http://hutchinson.belmont.ma.us/tth/"&gt;TtH&lt;/a&gt; which I had tried before and had problems getting it to work (probably user error to be fair).  But I hope to give it a real try again this week.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So in conclusion, in my brief experience Docbook is not as horrible as everybody said.  But, the Docbook user community seemed to give me the cold shoulder (sorry I'm a lamer noob who has questions).  It seems using Docbook instead of LaTeX would, in the end, create a lot more problems than it would solve.  I still like the idea of Docbook - it seems so much more "future proof" than LaTeX - but I'm going to have to stick to the beaten path on this one.  Looks like LaTeX wins.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;br /&gt;I've managed to use TTH to create an HTML version of the same paper.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.kurtisrandom.com/ismir2009-tth/"&gt;http://docs.kurtisrandom.com/ismir2009-tth/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks pretty good, maybe the best yet, but not sure what it's doing with the figures - seems to create a link to the image instead of displaying it with an appropriate &amp;lt;img&amp;gt; tag.  Not bad at all, but it seems HeVeA allows more control and is better documented.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8843792406754304137?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8843792406754304137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8843792406754304137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8843792406754304137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8843792406754304137'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2010/01/enter-hevea.html' title='Enter HeVeA'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-2664667850003742262</id><published>2010-01-21T06:01:00.000-08:00</published><updated>2010-01-21T16:02:42.459-08:00</updated><title type='text'>Beyond TeX? Discovering DocBooks</title><content type='html'>As you may or may not know, it is about time for me to start writing my PhD thesis.  In preparation for writing what will be the longest and perhaps most important document I've ever written, I've been exploring what document authoring tools are available.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now most PhD students would simply use &lt;a href="http://www.latex-project.org/"&gt;LaTeX&lt;/a&gt; and get on with it. LaTeX is a document markup language front end for the 30 year-old typesetting solution know as &lt;a href="http://en.wikipedia.org/wiki/TeX"&gt;TeX&lt;/a&gt;.  The intent of these tools has always been to allow anyone to create good-looking printed documents.  And these TeX-based tools perform this task rather well despite their ancient syntax and tedious compilation work flow.  But while LaTeX, &lt;a href="http://www.berenddeboer.net/tex/"&gt;ConTeXt&lt;/a&gt;, and other tools based on &lt;a href="http://en.wikipedia.org/wiki/TeX"&gt;TeX&lt;/a&gt; are definitely compelling in their handling of reference citations and typesetting for print, I find they fall short in one very important respect - the Web.  Compiling LaTeX documents into HTML is a cumbersome and error-prone process.  The best tool I have found for rendering LaTeX documents for the Web is by far &lt;a href="http://www.cse.ohio-state.edu/~gurari/TeX4ht/"&gt;TeX4HT&lt;/a&gt;.  But this tool is not without it's quirks and, out-of-the-box, it does not handle some very common LaTeX tags including &lt;code&gt;\footnote&lt;/code&gt; and &lt;code&gt;\mbox&lt;/code&gt;.  I my brief experiments I've been unable to render all but the most basic of LaTeX documents as HTML using TeX4HT.  Perhaps there is a helpful guide on this topic I am missing...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My thesis is about music and the Web.  Therefore, I want to write my thesis to be published on the Web.  For me, Web publishing is not an after thought - it is a priority.  My experience with TeX4HT has left me searching for a solution &lt;b&gt;not&lt;/b&gt; based on LaTeX despite a lengthy round of &lt;a href="http://search.twitter.com/search?q=@kurtjx+LaTeX"&gt;humorous taunting from my peers&lt;/a&gt;.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have gotten some interesting suggestions regarding LaTeX alternatives.  Fellow Linked-data-enthusiast &lt;a href="http://tommorris.org/"&gt;Tom Morris&lt;/a&gt; suggested &lt;a href="http://www.lyx.org/"&gt;LyX&lt;/a&gt; (with some reservations) - however, it is basically a GUI on top of LaTeX/TeX and does not really allow me to write for the Web.  There were also some murmurrings of LyX being a bit buggy and not well-suited to creating a very large document.  Other suggestions were generally some TeX derivative (i.e. &lt;a href="http://www.berenddeboer.net/tex/"&gt;ConTeXt&lt;/a&gt;) or some software that makes LaTeX authoring less painful (i.e. RecSys heavy-weight &lt;a href="http://technocalifornia.blogspot.com/"&gt;Xavier Amatriain&lt;/a&gt; suggested &lt;a href="http://kile.sourceforge.net/"&gt;Kile&lt;/a&gt; which is quite good, but LaTeX pain was never really my problem anyway) or some alternative document conversion solution (i.e. &lt;a href="http://johnmacfarlane.net/pandoc/"&gt;Pandoc&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, &lt;a href="http://blog.chrislowis.co.uk/"&gt;Chris Lowis&lt;/a&gt; from the BBC's Web team suggested DocBook.  DocBook was one of those things I had heard about vaguely long ago but I didn't really grok it.  So I did a bit of research, starting with the &lt;a href="http://en.wikipedia.org/wiki/DocBook"&gt;Wikipedia page on DocBook&lt;/a&gt;.  Put simply, DocBook and XML-based (or SGML-based) semantic markup language for writing documentation.  It is "presentation neutral" meaning that the same source can easily be converted to HTML, XHTML, or PDF.  Using an &lt;a href="http://www.w3.org/TR/xslt"&gt;XSLT&lt;/a&gt; style sheet, you can convert DocBook source into just about anything.  In fact, it seems the preferred method for creating PDFs actually involves a DocBook-&gt;LaTeX-&gt;PDF conversion.  I've had some experience writing and applying XSLT to create RDF/XML from some proprietary XML schema.  I found XSLT to be relatively easy - much less confounding than TeX style files anyway.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So the great experiment begins.  I will be trying out DocBook over the next few days (weeks?).  So far I've found writing DocBook source with &lt;a href="http://www.gnu.org/software/emacs/"&gt;Emacs&lt;/a&gt; (or &lt;a href="http://aquamacs.org/"&gt;Aquamacs&lt;/a&gt; on OS X) in &lt;a href="http://www.thaiopensource.com/nxml-mode/"&gt;nXML&lt;/a&gt; mode to be a joy - I've got autocomplete and validation right there as I type.  Tonight I will attempt to do some rendering to PDF.  Depending on how painful this process proves... well, we'll see.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Will Kurt fall in love with DocBooks?  Will he run back to LaTeX in tears begging for forgiveness?  Will he complete his thesis on time?  Stay tuned for the exciting conclusion! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;UPDATE:&lt;/div&gt;&lt;div&gt;Had some early, not-so-encouraging but hilarious responses re: DocBook.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From IRC:&lt;/div&gt;&lt;div&gt;" [...]: I chuckled at your thing about latex and docbook just now. I wrote the ------ user manual entirely in docbook and it was the most painful experience imaginable.  I would never, ever, ever, ever attempt that again unless I had a nice user interface to make all the xml invisible to me"  -(some badass developer)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"[...]: docbook is terrible. we used docbook for iteration 1 of the ----- manual, too.  it was almost impossible to assemble a toolchain to compile it." -(some guy with long hair)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From twitter:&lt;/div&gt;&lt;div&gt;"@kurtjx Dude, if you're considering DocBook to get around &lt;b&gt;LaTeX&lt;/b&gt; authoring woes... UR DOING IT RONG."  -(another guy with long hair)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-2664667850003742262?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/2664667850003742262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=2664667850003742262' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2664667850003742262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2664667850003742262'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2010/01/beyond-tex-discovering-docbooks.html' title='Beyond TeX? Discovering DocBooks'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-6465521049330244903</id><published>2009-11-26T04:10:00.000-08:00</published><updated>2010-01-24T08:20:04.936-08:00</updated><title type='text'>Echonest Artist Graph</title><content type='html'>I've just recently had a chance to mess around with the Echonest data set that Paul Lamere and Justin Donaldson presented in their tutorial on &lt;a href="http://musicviz.googlepages.com/"&gt;Music Visualization&lt;/a&gt; at ISMIR 2009.  Unfortunately I wasn't able to attend the tutorial because we were in the other room &lt;a href="http://ismir2009.dbtune.org/"&gt;talking about Linked Data and music&lt;/a&gt;.  But I'm a big fan music viz.  I wanted to do a "remote hack" using the data set for &lt;a href="http://musichackdayboston.pbworks.com/Projects"&gt;Boston Music Hackday&lt;/a&gt; ala Adam Lindsay's &lt;a href="http://bitbucket.org/atl/remix-shell"&gt;Remix Shell&lt;/a&gt; but alas the weekend got away from me.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But finally I made some pretty pictures.&lt;br /&gt;&lt;script src="http://seadragon.com/embed/gwo.js?width=auto&amp;amp;height=400px"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I suppose first we had better discuss the data set.  This is a "small" dump from the &lt;a href="http://developer.echonest.com/"&gt;Echonest API&lt;/a&gt; that includes about 70k artists and their connections to "similar artists" as &lt;a href="http://developer.echonest.com/docs/method/get_similar/"&gt;decided by Echonest&lt;/a&gt; (which in my experience does a pretty good job).  The dataset also includes Echonest's notions for &lt;a href="http://developer.echonest.com/docs/method/get_hotttnesss/"&gt;hotttness&lt;/a&gt; and &lt;a href="http://developer.echonest.com/docs/method/get_familiarity/"&gt;familiarity&lt;/a&gt; values for each artist.&lt;br /&gt;&lt;br /&gt;Now about the picture.  We take the largest connected component (turns out that includes about 54k artists) and create an undirected graph where each artist is a node and each similarity relation is an edge.  We use the awesome &lt;a href="http://igraph.sourceforge.net/"&gt;igraph&lt;/a&gt; library to handle the graph structure.  Luckily igraph includes some nice graph layout options including the super fast Dynamic Recursive graph Layout algorithm (DrL) which we use here.  This is similar to what &lt;a href="http://sixdegrees.hu/last.fm/interactive_map.html"&gt;Tamas did for the Last.fm graph&lt;/a&gt;.  Also note the color corresponds to the "hotness" - hotter artists are more red - and the size corresponds to "familiarity" - the more familiar artists are larger.&lt;br /&gt;&lt;br /&gt;Of course it would be nice to see some artist names and some more interactivity, but hopefully that's coming soon along with some interesting details about the structure of the Echonest artist network.  But now it's turkey time :-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;update&lt;/i&gt;:  We've got names on the artist nodes now.  You can zoom in using the incredible embedded &lt;a href="http://seadragon.com/"&gt;seadragon&lt;/a&gt; widget above!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Note you can embed the above interface with this code:&lt;br /&gt;&lt;code&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;script src="http://seadragon.com/embed/gwo.js?width=auto&amp;amp;height=400px"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-6465521049330244903?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/6465521049330244903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=6465521049330244903' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6465521049330244903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6465521049330244903'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/11/echonest-artist-graph.html' title='Echonest Artist Graph'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-6398225486163483264</id><published>2009-10-28T17:15:00.000-07:00</published><updated>2010-01-24T08:51:27.307-08:00</updated><title type='text'>More on the Similarity Ontology</title><content type='html'>I recently gave a talk at &lt;a href="http://ismir2009.ismir.net/" target="_blank"&gt;ISMIR 2009&lt;/a&gt; about &lt;a href="http://purl.org/ontology/similarity/" target="_blank"&gt;MuSim&lt;/a&gt; the similarity ontology.  The talk was well attended and well received, but I wanted to review the core concepts and promote the &lt;a href="http://classical.catfishsmooth.net/about/"&gt;demo implementation&lt;/a&gt; as well.&lt;br /&gt;&lt;br /&gt;In a nut shell, similarity is very complex and when we say two things are similar we really mean that they are similar in some &lt;span style="font-style: italic;"&gt;specific sense&lt;/span&gt;.&lt;span style="font-style: italic;"&gt;  &lt;/span&gt;So our ontology focusing on reifying similarity - not saying just what things are similar, but also how was it determined they are similar.  As such, we treat similarity as a &lt;span style="font-style: italic;"&gt;class&lt;/span&gt; rather than a property.&lt;br /&gt;&lt;br /&gt;We define a class &lt;code&gt;sim:Similarity&lt;/code&gt; for describing similarity statements.  We then define the class &lt;code&gt;sim:AssociationMethod&lt;/code&gt; for describing a method for determining similarity.  By associating a similarity statement of type &lt;code&gt;sim:Similarity&lt;/code&gt; with a method of type &lt;code&gt;sim:AssociationMethod&lt;/code&gt; we are describing in what sense the elements involved in our statement are similar.  We can further reify our method by providing provenance (who made the method) and even fully disclose our method by pointing to a graph describing our workflow.  The diagram below illustrates a basic example involving two music tracks.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ot0nJBqEVEk/SujyBJ7k_RI/AAAAAAAAAFU/btAeowbNnaE/s1600-h/musim_mk2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 416px; height: 307px;" src="http://3.bp.blogspot.com/_ot0nJBqEVEk/SujyBJ7k_RI/AAAAAAAAAFU/btAeowbNnaE/s320/musim_mk2.png" alt="Musim block diagram" id="BLOGGER_PHOTO_ID_5397830255063137554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the same example in &lt;a href="http://en.wikipedia.org/wiki/Turtle_%28syntax%29"&gt;Turtle&lt;/a&gt;:&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;@prefix sim: &amp;lt;http://purl.org/ontology/similarity/&amp;gt; .&lt;br /&gt;@prefix mo: &amp;lt;http://purl.org/ontology/mo/&amp;gt; .&lt;br /&gt;@prefix foaf: &amp;lt;http://xmlns.com/foaf/0.1/&amp;gt; .&lt;br /&gt;@prefix : &lt;#&gt; .&lt;br /&gt;&lt;br /&gt;:TrackA a mo:Track .&lt;br /&gt;:TrackB a mo:Track .&lt;br /&gt;&lt;br /&gt;_:SimilarityStatment a sim:Similarity ;&lt;br /&gt;sim:element :TrackA ;&lt;br /&gt;sim:element :TrackB ;&lt;br /&gt;sim:method :TimbreSim .&lt;br /&gt;&lt;br /&gt;:TimbreSim a sim:AssociationMethod ;&lt;br /&gt;foaf:maker :Me ;&lt;br /&gt;sim:description &amp;lt;http://some.graph.uri&amp;gt; .&lt;br /&gt;&lt;br /&gt;:Me a foaf:Person .&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Hopefully this example is somewhat illustrative, although if you're not familar with &lt;a href="http://en.wikipedia.org/wiki/Resource_Description_Framework"&gt;RDF&lt;/a&gt; or the &lt;a href="http://en.wikipedia.org/wiki/Turtle_%28syntax%29"&gt;Turtle&lt;/a&gt; syntax for serializing RDF it's probably not terribly useful.  The important thing to understand is that &lt;code&gt;:TimbreSim&lt;/code&gt; is our method for deriving our similarity statement.  We specify the person who made this methdo (&lt;code&gt;:Me&lt;/code&gt;) and we point to a &lt;a href="http://www.w3.org/2004/03/trix/"&gt;Named Graph&lt;/a&gt; that describes our workflow.  We could also attach a textual description and other information.&lt;br /&gt;&lt;br /&gt;Ofcourse this example is only illustrative and not very realistic.  Enter our demo implementation &lt;a href="http://classical.catfishsmooth.net/about/"&gt;classical.catfishsmooth.net&lt;/a&gt; .  Here we've taken some public domain classical music found on &lt;a href="http://musopen.org/"&gt;Musopen&lt;/a&gt; as well as some information about classical composers and their network of influence as specified by the &lt;a href="http://www.wku.edu/%7Esmithch/music/index2.htm"&gt;Classical Music Navigator&lt;/a&gt; - this gives us a source of composer-to-composer similarity.  We also use the &lt;a href="http://www.omras2.org/SonicAnnotator"&gt;Sonic-Annotator&lt;/a&gt; and some of the QMUL &lt;a href="http://www.vamp-plugins.org/"&gt;VAMP Plugins&lt;/a&gt; to analyze the audio files and get a couple methods of determining track-to-track similarity.&lt;br /&gt;&lt;br /&gt;In this implementation, we have 3 similarity methods:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://classical.catfishsmooth.net/resource/cmn-influence"&gt;composer-to-composer influence similarity&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://classical.catfishsmooth.net/resource/mv-timbre-sim"&gt;track-to-track audio-based timbre similarity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://classical.catfishsmooth.net/resource/same-key-sim"&gt;track-to-track audio-based key similarity&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Note that MuSim would not be very interesting without the &lt;a href="http://en.wikipedia.org/wiki/SPARQL"&gt;SPARQL&lt;/a&gt; query language.  We can query a collection of similarity statements and combine similarity methods in interesting ways.  In our &lt;a href="http://classical.catfishsmooth.net/about/"&gt;catfishsmooth&lt;/a&gt; implementation we store our similarity triples and related data in &lt;a href="http://4store.org/"&gt;4Store&lt;/a&gt; - a scalable open-source RDF store from Garlik.  This allows us to include a &lt;a href="http://classical.catfishsmooth.net/sparql"&gt;SPARQL endpoint&lt;/a&gt; and, even better, a &lt;a href="http://classical.catfishsmooth.net/snorql/"&gt;Snorql SPARQL explorer&lt;/a&gt;.  In the Snorql explorer, you will find a series of example queries on the right-hand side of the interface.  The most advanced query allows us to combine all three similarity methods. We use a recording of Wagner's piece &lt;span style="font-style: italic;"&gt;Der Meistersinger von Nürnberg&lt;/span&gt; as the seed.  We find other tracks that are &lt;a href="http://classical.catfishsmooth.net/snorql/?query=SELECT+DISTINCT+%3Fdist+%3Fcomposer_name+%3Ftitle+%3Faf+WHERE%0D%0A%7B%0D%0A%23+find+similarity+statements+involving+timbre+with+the+seed+track%0D%0A%3Fs+sim%3Amethod+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Fmv-timbre-sim%3E+%3B%0D%0A++sim%3Aelement+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Ftrack%2F362%3E+%3B%0D%0A++sim%3Aelement+%3Ftrack+%3B%0D%0A++sim%3Adistance+%3Fdist+.%0D%0A%3Ftrack+mo%3Aavailable_as+%3Faf+%3B%0D%0A++dc%3Atitle+%3Ftitle+%3B%0D%0A++ov%3Acomposer+%3Fcomposer+.%0D%0A%3Fcomposer+foaf%3Aname+%3Fcomposer_name+.%0D%0A%0D%0A%23+must+have+same+key+as+well%0D%0A%3Fs2+sim%3Amethod+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Fsame-key-sim%3E+%3B%0D%0A++sim%3Aelement+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Ftrack%2F362%3E%3B%0D%0A++sim%3Aelement+%3Ftrack+.%0D%0A%0D%0A%23+must+have+composer+who+influenced+Wagner%0D%0A%23+not+we+could+include+a+line+like+the+one+below%2C+but+hard+coding+Wagner%27s+URI+turns+out+to+be%0D%0A%23++++a+significant+optimization+on+4Store%0D%0A%23+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Ftrack%2F362%3E+ov%3Acomposer+%3Fc+.%0D%0A%23%0D%0A%3Fs3+sim%3Amethod+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Fcmn-influence%3E+%3B%0D%0A++sim%3Aobject+%3Chttp%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Fartist%2Feefd7c1e-abcf-4ccc-ba60-0fd435c9061f%3E+%3B%0D%0A++sim%3Asubject+%3Fcomp2+.%0D%0A%3Ftrack+ov%3Acomposer+%3Fcomp2.%0D%0A%0D%0A%23+only+return+results+with+a+distance+less+than+8.0%0D%0AFILTER+%28+xsd%3Afloat%28%3Fdist%29+%3C+%228.0%22%5E%5Exsd%3Afloat+%29+.%0D%0A%23+remove+the+seed+track+from+the+results%0D%0AFILTER+%28%21regex%28str%28%3Ftrack%29%2C+%22http%3A%2F%2Fclassical.catfishsmooth.net%2Fresource%2Ftrack%2F362%22%29%29%0D%0A%7D%0D%0AORDER+BY+ASC+%28%3Fdist%29"&gt;in the same key, similar by timbre, and composed by composers who had influenced Wagner&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've had some exciting (but brief) discussions with Mert Bay and Stephen Downie about integrating MuSim with the &lt;a href="http://www.music-ir.org/mirex/2009/index.php/Main_Page"&gt;MIREX&lt;/a&gt; framework such that particpants in the audio similarity task might optionally apply their algorithm to some creative commons dataset (probably &lt;a href="http://www.jamendo.com/"&gt;Jamendo&lt;/a&gt;) and publish MuSim data for re-use and additional evaluation.&lt;br /&gt;&lt;br /&gt;We haven't really covered here the workflow description syntax or concepts.  This will be the focus of much future work.  Our design leaves this specification open-ended, but we have used the N3-Tr framework developed by Yves Raimond in his &lt;a href="http://moustaki.org/thesis/"&gt;PhD thesis&lt;/a&gt; to describe workflows.  You can see some examples in our implementation.&lt;br /&gt;&lt;br /&gt;For more details on MuSim you can read our &lt;a href="http://ismir2009.ismir.net/proceedings/OS1-2.pdf"&gt;ISMIR paper (pdf)&lt;/a&gt; or view the &lt;a href="http://purl.org/ontology/similarity/"&gt;ontology specification&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-6398225486163483264?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/6398225486163483264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=6398225486163483264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6398225486163483264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6398225486163483264'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/10/more-on-similarity-ontology.html' title='More on the Similarity Ontology'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ot0nJBqEVEk/SujyBJ7k_RI/AAAAAAAAAFU/btAeowbNnaE/s72-c/musim_mk2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-2924969379723014377</id><published>2009-09-29T05:45:00.000-07:00</published><updated>2009-09-29T06:03:25.405-07:00</updated><title type='text'>Snorql and SNARPL</title><content type='html'>I'm back sliding in just before the end of September to maintain my once-a-month posting pace.  This will be a short post to informally anounce the birth (or re-birth) of the Snorql/SNARPL project.  &lt;span style="font-weight: bold;"&gt;Snorql&lt;/span&gt; is an AJAXy front end create by &lt;a href="http://richard.cyganiak.de/"&gt;Richard Cyganaik&lt;/a&gt; to allow people to test SPARQL queries against a triple store.  Snorql allows you to 'dive right in' to SPARQL.  You have used Snorql if you've ever used the SPARQL Web interface for a &lt;a href="http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/"&gt;D2R Server&lt;/a&gt; instance such as the &lt;a href="http://dbtune.org/musicbrainz/snorql/"&gt;DBtune.org/musicbrainz interface&lt;/a&gt;.  Snorql has a lot of nice features such as built-in namespaces and the ability to view the query and the results simultaneously.  It turns out, it is rather easy to drop Snorql on top of any triple store that supports JSON result formats - for example Openlink Virtuoso (see &lt;a href="http://dbpedia.org/snorql/"&gt;DBPedia.org/snorql/&lt;/a&gt;) or Garlik's &lt;a href="http://4store.org/"&gt;4Store&lt;/a&gt;.&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I've created a hacky mash up of Snorql and &lt;a href="http://www.schillmania.com/projects/soundmanager2/"&gt;Soundmanager 2&lt;/a&gt; I call &lt;span style="font-weight: bold;"&gt;SNARPL&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;norql &lt;span style="font-weight: bold;"&gt;N&lt;/span&gt;etwork &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;udio &lt;span style="font-weight: bold;"&gt;R&lt;/span&gt;esults &lt;span style="font-weight: bold;"&gt;PL&lt;/span&gt;ayer).  Basically, any result that returns links to audiofiles on the Web will be 'playable' - click the link and hear the audio.&lt;br /&gt;&lt;br /&gt;You can check it all out on Github: &lt;a href="http://github.com/kurtjx/SNORQL"&gt;http://github.com/kurtjx/SNORQL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warning: as of this writing the SNARPL code is not very pretty or well documented.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-2924969379723014377?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/2924969379723014377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=2924969379723014377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2924969379723014377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2924969379723014377'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/09/snorql-and-snarpl.html' title='Snorql and SNARPL'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-7980112379361595918</id><published>2009-08-18T10:19:00.001-07:00</published><updated>2009-08-18T10:24:37.259-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='networks'/><title type='text'>“Total Eclipse Of The Heart” Flow Chart</title><content type='html'>&lt;p&gt;This just goes to show that music is all about connections on all levels ;-)&lt;/p&gt;&lt;p&gt;Listen to &lt;a href="http://www.youtube.com/watch?v=840B27zYfOk"&gt;Bonnie Taylor's "Total Eclipse of the Heart"&lt;/a&gt; and follow the flow chart:&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ot0nJBqEVEk/SorjB8EyxjI/AAAAAAAAAFM/e0N8Pq67AX0/s1600-h/total-eclipse-of-the-heart-flow-chart-4232-1250607798-5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 385px; height: 280px;" src="http://2.bp.blogspot.com/_ot0nJBqEVEk/SorjB8EyxjI/AAAAAAAAAFM/e0N8Pq67AX0/s320/total-eclipse-of-the-heart-flow-chart-4232-1250607798-5.jpg" alt="" id="BLOGGER_PHOTO_ID_5371355128038344242" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-7980112379361595918?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/7980112379361595918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=7980112379361595918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7980112379361595918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7980112379361595918'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/08/total-eclipse-of-heart-flow-chart.html' title='“Total Eclipse Of The Heart” Flow Chart'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ot0nJBqEVEk/SorjB8EyxjI/AAAAAAAAAFM/e0N8Pq67AX0/s72-c/total-eclipse-of-the-heart-flow-chart-4232-1250607798-5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-5666495848930345096</id><published>2009-07-10T01:19:00.000-07:00</published><updated>2009-07-10T01:26:00.730-07:00</updated><title type='text'>ISMIR tutorial site is up</title><content type='html'>In case you missed it, we've launched a site to serve as the resource for our tutorial at &lt;a href="http://ismir2009.ismir.net/"&gt;ISMIR 2009 in Kobe Japa&lt;/a&gt;n.  The tutorial is called &lt;a href="http://ismir2009.dbtune.org"&gt;Share and Share alike - you can say anything about music with Linked Data&lt;/a&gt;.  The tutorial will focus on applying Semantic Web technologies to music informatics.  If you can't make it to Kobe, this site will hopefully still be very useful and interesting.  If you would like to suggest any web resources please tag them on delicious as &lt;a href="http://delicious.com/tag/linked_music_data"&gt;linked_music_data&lt;/a&gt;.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-5666495848930345096?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/5666495848930345096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=5666495848930345096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5666495848930345096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5666495848930345096'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/07/ismir-tutorial-site-is-up.html' title='ISMIR tutorial site is up'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8713610672371490273</id><published>2009-06-22T05:46:00.000-07:00</published><updated>2010-01-24T08:25:10.089-08:00</updated><title type='text'>sparql myspace</title><content type='html'>As part of the &lt;a href="http://dbtune.org/myspace/"&gt;dbtune.org myspace&lt;/a&gt; service, I've started caching data in a sparql endpoint.  Anytime anyone queries the service, the &lt;a href="http://www.w3.org/RDF/"&gt;rdf&lt;/a&gt; is dumped into a &lt;a href="http://en.wikipedia.org/wiki/Triple_Store"&gt;triple store&lt;/a&gt;.  When the same query is repeated, the data just comes from the triple store.  If the data about a particular artist is more than 30 days old, the page is re-translated from myspace.&lt;br /&gt;&lt;br /&gt;Here is an example query that lists all artist users from Hungary by name in order of total friends.&lt;br /&gt;&lt;strike&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;PREFIX mysp:&amp;lt;http://purl.org/ontology/myspace#&amp;gt;&lt;br /&gt;PREFIX foaf:&amp;lt;http://xmlns.com/foaf/0.1/&amp;gt;&lt;br /&gt;PREFIX mo:&amp;lt;http://purl.org/ontology/mo/&amp;gt;&lt;br /&gt;&lt;br /&gt;SELECT ?name ?friends from &amp;lt;http://dbtune.org/myspace/&amp;gt;&lt;br /&gt;WHERE {?artist mysp:country ?country ;&lt;br /&gt;a mo:MusicArtist ;&lt;br /&gt;foaf:name ?name ;&lt;br /&gt;mysp:totalFriends ?friends .&lt;br /&gt;filter ( regex(str(?country), 'Hungary') )&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/strike&gt;&lt;br /&gt;UPDATE: we now use &lt;code&gt;foaf:based_near&lt;/code&gt; and Geonames URIs for countries related to music artists.  This means the SPARQL Query is a bit different and much faster as we no longer need the REGEX:&lt;br /&gt;PREFIX mysp:&amp;lt;http://purl.org/ontology/myspace#&amp;gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;PREFIX foaf:&amp;lt;http://xmlns.com/foaf/0.1/&amp;gt;&lt;br /&gt;PREFIX mo:&amp;lt;http://purl.org/ontology/mo/&amp;gt;&lt;br /&gt;&lt;br /&gt;SELECT ?name ?friends from &amp;lt;http://dbtune.org/myspace/&amp;gt;&lt;br /&gt;WHERE {?artist foaf:based_near &amp;lt;http://sws.geonames.org/719819/&amp;gt; ;&lt;br /&gt;a mo:MusicArtist ;&lt;br /&gt;foaf:name ?name ;&lt;br /&gt;mysp:totalFriends ?friends ;&lt;br /&gt;mysp:genreTag &amp;lt;http://purl.org/ontology/myspace#Hip%20Hop&amp;gt; .&lt;br /&gt;}&lt;br /&gt;ORDER BY DESC (?friends)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can see the results &lt;a href="http://virtuoso.dbtune.org/sparql?default-graph-uri=http%3A%2F%2Fdbtune.org%2Fmyspace%2F&amp;amp;should-sponge=&amp;amp;query=%0D%0APREFIX+mysp%3A%3Chttp%3A%2F%2Fpurl.org%2Fontology%2Fmyspace%23%3E%0D%0APREFIX+foaf%3A%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E%0D%0APREFIX+mo%3A%3Chttp%3A%2F%2Fpurl.org%2Fontology%2Fmo%2F%3E%0D%0A%0D%0ASELECT+%3Fname+%3Ffriends+from+%3Chttp%3A%2F%2Fdbtune.org%2Fmyspace%2F%3E%0D%0AWHERE+%7B%3Fartist+foaf%3Abased_near+%3Chttp%3A%2F%2Fsws.geonames.org%2F719819%2F%3E+%3B%0D%0A+a+mo%3AMusicArtist+%3B%0D%0A+foaf%3Aname+%3Fname+%3B%0D%0A+mysp%3AtotalFriends+%3Ffriends+%3B%0D%0A+mysp%3AgenreTag+%3Chttp%3A%2F%2Fpurl.org%2Fontology%2Fmyspace%23Hip%2520Hop%3E+.%0D%0A%7D%0D%0AORDER+BY+DESC+%28%3Ffriends%29%0D%0A&amp;amp;format=text%2Fhtml&amp;amp;debug=on"&gt;here&lt;/a&gt; or you can try your own queries using the endpoint &lt;a href="http://virtuoso.dbtune.org/sparql"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Due to human error on my part, the first 6.5 million triples do not include the genre tags for music artists.  Terribly sorry about that.  Also, we do not include the 'total plays' information as we are consistently getting the wrong value for this field for some mysterious reason.  In the end, my PhD is not _only_ about reverse engineering the myspace website ;-)&lt;br /&gt;&lt;br /&gt;I'll keep this thing running until we're low on disk space or the server catches fire, which ever comes first.&lt;br /&gt;&lt;br /&gt;All the code for the service is in the &lt;a href="http://motools.svn.sourceforge.net/viewvc/motools/myspace-serv/trunk/"&gt;motools project&lt;/a&gt;.  I'm using CherryPy to handle requests, a strange menagerie of &lt;a href="http://www.crummy.com/software/BeautifulSoup/"&gt;BeautifulSoup&lt;/a&gt;, Regex, and string matching for the screen scraping (yes I've heard of &lt;a href="http://www.w3.org/TR/xslt"&gt;XSLT&lt;/a&gt;), and the &lt;a href="http://sonictruths.net/"&gt;Chris Sutton&lt;/a&gt; classic &lt;a href="http://motools.svn.sourceforge.net/viewvc/motools/mopy/"&gt;MoPy&lt;/a&gt; for the RDF serialization.  The backend triple store is &lt;a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/"&gt;Virtuoso&lt;/a&gt; which we connect to using the &lt;a href="http://en.wikipedia.org/wiki/Open_Database_Connectivity"&gt;ODBC&lt;/a&gt; interface.&lt;br /&gt;&lt;br /&gt;We will talk about uses for this resource and others during our upcoming &lt;a href="http://ismir2009.ismir.net/tutorials.html"&gt;tutorial&lt;/a&gt; at &lt;a href="http://ismir2009.ismir.net/"&gt;ISMIR 2009&lt;/a&gt; in Kobe Japan.  If you can't make it, don't worry, the website for the tutorial is coming soon and we plan to _everything_ there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8713610672371490273?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8713610672371490273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8713610672371490273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8713610672371490273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8713610672371490273'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/06/sparql-myspace.html' title='sparql myspace'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-134997784073028697</id><published>2009-05-14T03:48:00.000-07:00</published><updated>2009-08-24T04:41:50.801-07:00</updated><title type='text'>Open Hackday London wrap up</title><content type='html'>UPDATE:  catfishsmooth has been offline for a while now because Myspace finally changed the way they host their music.  Sorry guys.  Hopefully we'll return in another form sometime in the near future.&lt;br /&gt;&lt;br /&gt;Last weekend I participated in the Yahoo! sponsored &lt;a href="http://openhacklondon.pbworks.com/"&gt;Open Hackday London&lt;/a&gt;. A good time was had by all. Your typical hackday setup - loads of free cola and food, presentations about various APIs and such, and then a friendly hack competition.&lt;br /&gt;&lt;br /&gt;Our hack was entitled &lt;a href="http://catfishsmooth.net/"&gt;Boss of Myspace&lt;/a&gt;.  We actually walked away with the BBC Backstage prize and even got some &lt;a href="http://www.wait-till-i.com/2009/05/11/open-hack-london-2009-my-presentation-and-quick-review/"&gt;positive reviews&lt;/a&gt; as well.  I created what was basically a human-readable version of our &lt;a href="http://dbtune.org/myspace/"&gt;dbtune.org/myspace&lt;/a&gt; service.  &lt;a href="http://blog.dbtune.org/"&gt;Yves&lt;/a&gt; contributed some SPARQL for converting &lt;code&gt;mo:available_as&lt;/code&gt; properties into XSPF playlists.  However, in the end we used the &lt;a href="http://mediaplayer.yahoo.com/"&gt;Yahoo! Media Player&lt;/a&gt; which was happier just swallowing embedded html links to audio files.  We also used the super cool &lt;a href="http://developer.yahoo.com/search/boss/"&gt;Yahoo! BOSS search API&lt;/a&gt; on the front end to allow for a more fuzzy search - you can enter something close to the artist name and still get the results you want (hopefully).&lt;br /&gt;&lt;br /&gt;Ben Heitman from Deri contributed some minimalist css just in time for the deadline.  Finally, &lt;a href="http://stuffalsothings.blogspot.com/"&gt;Ben Fields&lt;/a&gt; contributed a really nice feature (post deadline actually working while the other projects at the Hackday were being presented).  Ben used the &lt;a href="http://developer.echonest.com/"&gt;Echonest API&lt;/a&gt; to get similar artist recommendations.  Just today, I managed to integrate these in the service with some of my first &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; coding ;-)  They are clickable and seem to work really well for head, medium, and hi-tail artists.  Planning to present recommendations from the &lt;a href="http://www.last.fm/api"&gt;Last.fm API&lt;/a&gt; side-by-side in the future as well as recs from other sources.&lt;br /&gt;&lt;br /&gt;Please note that I _think_ the streaming audio will not work in the States - strange thing I can't explain but have encountered before when working with Myspace audio streams.  Let me know if anybody State-side can test this and confirm.&lt;br /&gt;&lt;br /&gt;Here are some of my personal favorite entry points:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://catfishsmooth.net/search/Big%20Daddy%20Kane"&gt;http://catfishsmooth.net/search/Big%20Daddy%20Kane&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://catfishsmooth.net/search/jose%20james"&gt;http://catfishsmooth.net/search/jose%20james&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://catfishsmooth.net/search/boards%20of%20canada"&gt;http://catfishsmooth.net/search/boards%20of%20canada&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://catfishsmooth.net/search/Lupe%20Fiasco"&gt;http://catfishsmooth.net/search/Lupe%20Fiasco&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://catfishsmooth.net/search/elan%20mehler"&gt;http://catfishsmooth.net/search/elan%20mehler&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy!!!&lt;br /&gt;&lt;br /&gt;And oh yeah! Yves made a nice little &lt;a href="http://blog.dbtune.org/post/2009/05/12/Yahoo-Hackday-2009"&gt;RDF-based hack as well that he describes on his blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-134997784073028697?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/134997784073028697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=134997784073028697' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/134997784073028697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/134997784073028697'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/05/open-hackday-london-wrap-up.html' title='Open Hackday London wrap up'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8506220355528549423</id><published>2009-04-01T04:22:00.000-07:00</published><updated>2009-04-01T08:55:58.079-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music ontology'/><category scheme='http://www.blogger.com/atom/ns#' term='semantic web'/><category scheme='http://www.blogger.com/atom/ns#' term='musicmash'/><category scheme='http://www.blogger.com/atom/ns#' term='websci09'/><category scheme='http://www.blogger.com/atom/ns#' term='musim'/><title type='text'>WebSci09 report</title><content type='html'>I recently attended &lt;a href="http://www.websci09.org/"&gt;WebSci09&lt;/a&gt; in Athens Greece.  This was the first conference of it's kind focusing on web science as a new research discipline.  See &lt;a href="http://webscience.org/"&gt;WSRI&lt;/a&gt;'s nifty cross-discipline intersection diagram below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://webscience.org/images/collide2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 320px;" src="http://webscience.org/images/collide.jpg" alt="" border="0" /&gt;&lt;/a&gt;The conference was quite engaging and interesting and rather cross disciplinary.  I met a lot of really cool people and had some good discussions about my new pet project &lt;a href="http://purl.org/ontology/musim"&gt;MuSim&lt;/a&gt;, but more about that in another post.  All (or what seems to be all) of the papers are available through WSRI's cool new experimental &lt;a href="http://journal.webscience.org/"&gt;on-line journal&lt;/a&gt;.  A few papers I found particularly interesting include Patricia Victor et al's &lt;a href="http://journal.webscience.org/161/"&gt;Trust- and Distrust-based recommendations&lt;/a&gt;,  Denny &lt;span class="person_name"&gt;Vrandecic et al's &lt;a href="http://journal.webscience.org/213/"&gt;analysis of new features and user responses in Wikipedia&lt;/a&gt;&lt;/span&gt;, and Yeung and Noll's approach to &lt;a href="http://journal.webscience.org/109/"&gt;measuring expertise in collaborative tagging systems&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And let us not forget one of the few music-centric entries in this inagural WebSci conference, Jeff Pan and Stuart Taylor's very cool but very alpha semantic-web-powered &lt;a href="http://musicmash.org/"&gt;MusicMash&lt;/a&gt;.  Using their own &lt;a href="http://trowl.eu/"&gt;TrOWL&lt;/a&gt; backend, the site aggregates data about a particular music artist - throws it in a triple store as &lt;a href="http://musicontology.com/"&gt;Music Ontology&lt;/a&gt; RDF - and serves up a nice human-readable webpage as well.  Although I must say, I've had mixed success playing with the website.&lt;br /&gt;&lt;br /&gt;Actually my poster presentation was not strictly music-related.  I presented the &lt;a href="http://journal.webscience.org/110/"&gt;k-pie &lt;/a&gt;graph layout algorithm which allows for the visualization of a network where the nodes have a set of semantic labels associated with them.  However my main application and demo where very music-centric.  The visualization for a sample of Myspace artists and genres looks something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ot0nJBqEVEk/SdNx9kakF9I/AAAAAAAAAEk/JGiShj8955I/s1600-h/kpie-myspace.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 318px; height: 320px;" src="http://4.bp.blogspot.com/_ot0nJBqEVEk/SdNx9kakF9I/AAAAAAAAAEk/JGiShj8955I/s320/kpie-myspace.png" alt="" id="BLOGGER_PHOTO_ID_5319720887415740370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have created an open source implementation that uses the &lt;a href="http://jung.sourceforge.net/"&gt;Jung framework&lt;/a&gt; if you're interested you can get it from this &lt;a href="http://grasstunes.net/subclipse/KPieLayout/trunk/"&gt;public svn&lt;/a&gt;.  I also provided an interactive demo at the conference that allowed one to click through the graph and listen to music.  The code for that is _really_ hacky and I'm not releasing it yet, but if you're really keen just contact me.  Also, I'm not convinced it was truly useful as a visual music discovery interface - really wish I could attend &lt;a href="http://musicmachinery.com/2009/03/28/using-visualizations-for-music-discovery/"&gt;Paul and Justin's upcoming tutorial&lt;/a&gt; at &lt;a href="http://ismir2009.ismir.net/program.html"&gt;ISMIR 09&lt;/a&gt; but I'm afraid I'll be busy presenting another &lt;a href="http://ismir2009.ismir.net/tutorials.html"&gt;tutorial&lt;/a&gt; ;-)&lt;br /&gt;&lt;br /&gt;Just to wet your appetite a bit, here's a screen shot of what the interactive demo looks like - fun to play with, but really needs a lot of work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ot0nJBqEVEk/SdN8my2Q-jI/AAAAAAAAAEs/8NXtL-X5eHQ/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 359px; height: 220px;" src="http://1.bp.blogspot.com/_ot0nJBqEVEk/SdN8my2Q-jI/AAAAAAAAAEs/8NXtL-X5eHQ/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5319732590780938802" border="0" /&gt;&lt;/a&gt;plz click to enlarge.&lt;br /&gt;&lt;br /&gt;In summary, WebSci09 was a success, met lots of cool people and I believe there are many more successful WebSci's on the horizon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8506220355528549423?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8506220355528549423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8506220355528549423' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8506220355528549423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8506220355528549423'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/04/websci09-report.html' title='WebSci09 report'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ot0nJBqEVEk/SdNx9kakF9I/AAAAAAAAAEk/JGiShj8955I/s72-c/kpie-myspace.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8003864073202242903</id><published>2009-02-05T07:33:00.000-08:00</published><updated>2009-02-05T08:11:55.808-08:00</updated><title type='text'>Classical Music in the Web of Data</title><content type='html'>I have finally re-published the &lt;a href="http://dbtune.org/cmn/"&gt;classical music composer influence data set&lt;/a&gt; I've been working with in a proper &lt;a href="http://linkeddata.org/"&gt;Linked Data&lt;/a&gt; fashion.  You might remember this data set from this relatively &lt;a href="http://kurtisrandom.blogspot.com/2008/12/last-post-of-year.html"&gt;recent post&lt;/a&gt; or this much &lt;a href="http://kurtisrandom.blogspot.com/2008/02/wagner-is-center-of-universe.html"&gt;older post&lt;/a&gt; where I describe some complex networks statistics and the original collection of the data set. This rather modestly sized data set contains just under 8,000 triples. Of course you can make &lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;SPARQL&lt;/a&gt; queries against the data &lt;a href="http://dbtune.org/cmn/sparql"&gt;here&lt;/a&gt; or you can browse around w/ your favorite &lt;a href="http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html?uri=http%3A%2F%2Fdbtune.org%2Fcmn%2Fresource%2FCAGE"&gt;data browser&lt;/a&gt; or even your plain-old html &lt;a href="http://dbtune.org/cmn/page/CAGE"&gt;web browser&lt;/a&gt;.  I've implemented &lt;a href="http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/"&gt;content negotiation&lt;/a&gt; using the data-resource-page paradigm you might recognize from &lt;a href="http://dbpedia.org/"&gt;DBpedia.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've done most of this with &lt;a href="http://virtuoso.openlinksw.com/wiki/main/Main/"&gt;Openlink Virtuoso&lt;/a&gt; - the all singing all dancing web of data server solution.  Although some things in Virtuoso didn't work exactly right at first and it's a bit rough around the edges, it is an awesome piece of software.  It's so feature-rich it can be a bit daunting, but the Openlink guys are quick to help on the mailing list.&lt;br /&gt;&lt;br /&gt;In the near future we will be publishing our MySpace data set from ISMIR 2008 in a similar fashion...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8003864073202242903?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8003864073202242903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8003864073202242903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8003864073202242903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8003864073202242903'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2009/02/classical-music-in-web-of-data.html' title='Classical Music in the Web of Data'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-5669212158685124593</id><published>2008-12-30T13:42:00.000-08:00</published><updated>2008-12-30T13:52:00.641-08:00</updated><title type='text'>Last post of the year</title><content type='html'>I have been slacking on the blog posts and I really have no excuse. I've been working on a GUI for browsing structured data about classical music composers. There is a very alpha version of the software available &lt;a href="http://omras2.org/ClassicalMusicUniverse"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://omras2.org/files/cmn.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 395px; height: 298px;" src="http://omras2.org/files/cmn.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I've also been busy with my new favorite CMS &lt;a href="http://drupal.org/"&gt;drupal&lt;/a&gt; working on the &lt;a href="http://omras2.org"&gt;omras2&lt;/a&gt; website.  You can browse a fancy list of omras-related publications &lt;a href="http://omras2.org/publications"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Finally, really big news in my personal life - I got married to my lovely wife Larisa!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-5669212158685124593?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/5669212158685124593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=5669212158685124593' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5669212158685124593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5669212158685124593'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/12/last-post-of-year.html' title='Last post of the year'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-6845343592689818406</id><published>2008-10-28T05:24:00.000-07:00</published><updated>2010-01-24T08:30:09.299-08:00</updated><title type='text'>Sparqling a funk legend</title><content type='html'>A while ago I had the privilege of witnessing funk pioneer, JB Horns member, and life-long saxophone badass &lt;a href="http://en.wikipedia.org/wiki/Maceo_Parker"&gt;Maceo Parker&lt;/a&gt; perform.  It was fantastic.  Maceo led the band with swagger and style - using many of the same hand gestures and moves Soul Brother #1 used to lead the Horns back in the day.  He finished his encore with the funk classic "&lt;a href="http://www.youtube.com/watch?v=YJmIN8RNBUg"&gt;Pass the Peas&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Afterwords I was curious - did Maceo write "Pass the Peas" or was it Fred Wesley or maybe Pee Wee Ellis???  So I decided to ask the Semantic Web.  We'll use the &lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;SPARQL&lt;/a&gt; (pronounced "sparkle") to make queries.  There is a nice gentle tutorial from IBM &lt;a href="http://www.ibm.com/developerworks/xml/library/j-sparql/"&gt;here&lt;/a&gt; which also describes using the Java-based Jena package.  If you're a python type you might try &lt;a href="http://sparql-wrapper.sourceforge.net/"&gt;sparql-wrapper&lt;/a&gt;.  However, to start out and to see what data is where you'll probably want to use a web-based interface (most SPARQL endpoints will have some web-based interface where you can enter a query).  We'll start with the &lt;a href="http://dbpedia.org/sparql"&gt;Virtuoso SPARQL endpoint&lt;/a&gt; for &lt;a href="http://dbpedia.org/About"&gt;DBpedia&lt;/a&gt; to see what wikipedia knows about Maceo Parker...&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xslt"&gt;PREFIX rdf: &amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;br /&gt;SELECT DISTINCT ?Concept&lt;br /&gt;WHERE &lt;br /&gt;{&amp;lt;http://dbpedia.org/resource/Maceo_Parker&amp;gt; &lt;br /&gt;        rdf:type ?Concept}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you're familiar with SQL you might be able to guess what this means.  We're asking DBpedia to tell us all the concepts related to Maceo Parker.  The "PREFIX" keyword is setting up a namespace.  Then we are going to "SELECT" any values of the variable "?Concept" that fit the graph pattern we  establish in our "WHERE" clause.  That pattern is Maceo_Parker rdf:type ?Concept - or any concept that describes what type of entity Maceo Parker is.  You can copy and paste the query into the DBpedia interface and see that Maceo Parker is a Person, a AfricanAmericanMusician, a AmericanJazzSaxophonist, and a number of other things.&lt;br /&gt;&lt;br /&gt;Well that's a good amount of information right there.  We can infer we've got the right Maceo Parker but unfortunately DBpedia doesn't have a lot of discography data, so we can't really answer our original question.  Luckily my good friend, former colleague, and Semantic Web mentor &lt;a href="http://blog.dbtune.org/"&gt;Yves Raimond &lt;/a&gt;created a SPARQL endpoint that queries the &lt;a href="http://musicbrainz.org/"&gt;Musicbrainz&lt;/a&gt; database.  The service is hosted on &lt;a href="http://dbtune.org/musicbrainz/"&gt;DBtune.org/musicbrainz&lt;/a&gt; and a web interface can be found &lt;a href="http://dbtune.org/musicbrainz/snorql/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So let's construct a new query.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xslt"&gt;PREFIX owl: &amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;PREFIX foaf: &amp;lt;http://xmlns.com/foaf/0.1/&amp;gt;&lt;br /&gt;PREFIX dc: &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt;&lt;br /&gt;&lt;br /&gt;SELECT ?maceo ?songs ?title WHERE {&lt;br /&gt;?maceo owl:sameAs &lt;br /&gt;  &amp;lt;http://dbpedia.org/resource/Maceo_Parker&amp;gt; .&lt;br /&gt;?songs foaf:maker ?maceo .&lt;br /&gt;?songs dc:title ?title .&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Again, we start with a few namespace prefixes.  This time we're going to select three different variables - "?maceo", "?songs", and "?title".  We're using the same resource URI for Maceo Parker as we did when querying DBpedia.  However, the DBtune interface refers to Maceo with a different URI.  But the DBtune/musicbrainz is inter-linked with DBtune using the "owl:sameAs" property.  So the first line of our WHERE clause will find DBtune/musicbrainz URIs that are the same as the DBpedia URI for Maceo Parker.  The second line will fill the variable ?songs with URIs for entities for which Maceo Parker is the "foaf:maker".  In DBtune/musicbrainz the foaf:maker property is use to associate a song with the song writer.  Finally in the third line of our WHERE clause we retrieve all the titles of the songs made by Maceo Parker.  Again, you can try to query yourself &lt;a href="http://dbtune.org/musicbrainz/snorql/"&gt;here&lt;/a&gt; - you will find that Maceo Parker is indeed credited with writing "Pass the Peas" as well as a quite lenghty list of other funk gems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-6845343592689818406?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/6845343592689818406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=6845343592689818406' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6845343592689818406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/6845343592689818406'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/08/sparqling-funk-legend.html' title='Sparqling a funk legend'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8845832797856478363</id><published>2008-09-01T01:29:00.000-07:00</published><updated>2008-09-01T02:30:32.354-07:00</updated><title type='text'>ICMC 2008 Belfast</title><content type='html'>I spent last week in Belfast attending the &lt;a href="http://www.icmc2008.net/"&gt;2008 ICMC&lt;/a&gt;.  Here's the view from the flat in which we stayed...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ot0nJBqEVEk/SLurFE_fzoI/AAAAAAAAAD0/HDGtyPqc_MQ/s1600-h/28-08-08_1150.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ot0nJBqEVEk/SLurFE_fzoI/AAAAAAAAAD0/HDGtyPqc_MQ/s400/28-08-08_1150.jpg" alt="" id="BLOGGER_PHOTO_ID_5240970695103467138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There was a very full concert schedule as well as a really diverse and well-paced academic program. There are of course a few papers that seemed to really standout.  Maybe I'm falling for a bit of a gimmic, but I was really impressed with Nick Collin's generative music system &lt;a href="http://www.cogs.susx.ac.uk/users/nc81/music/infno.php"&gt;Infno&lt;/a&gt;.  The system basically generates electronic dance music automatically.  The few examples Nick generated live during his talk were actually really impressive - strong in melody and rhythm but very much lacking in sound design.  Nick suggested that his generative electronic dance music algorithms could be used to create "ground truth" data for MIR classification tasks - a very interesting idea but there be dragons.&lt;br /&gt;&lt;br /&gt;George Tzanetakis gave a nice demo of &lt;a href="http://marsyas.sness.net/"&gt;Marsyas-0.2&lt;/a&gt;.  I briefly looked at Marsyas a long time back but never really used the stuff.  Now that George has created some really nice Python bindings, I think Marsyas is going to become a big part of my work.  George demonstrated the bindings by doing some live coding in Python - haha, take that you mother &lt;a href="http://chuck.cs.princeton.edu/"&gt;Chuck&lt;/a&gt;ers!!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mat.ucsb.edu/node/170"&gt;Bob Sturm&lt;/a&gt; from UC Santa Barbra quite deservingly won the best paper award (sorry can't find the PDF online).  Unfortunately, I missed the talk (@9am) but there seems to be a lot of buzz around the "atomic decomposition" method he uses for analysis and synthesis of audio.  I reckon this will become a hot topic in the MIR community.&lt;br /&gt;&lt;br /&gt;Also, the &lt;a href="http://www.youtube.com/watch?v=fFFtgU_sBEw"&gt;SoundSpots&lt;/a&gt; installations by &lt;a href="http://www.sam-soundandmusic.com/index/home.html"&gt;Rob van Rijswijk and Jeroen Strijbos&lt;/a&gt; was my favorite artistic piece of the conference.  A series of parabolic speakers are hanging from the ceiling such that you can only really hear the spearkers' output when standing directly below them.  Additional loud speakers around the room are playing one of several brilliant compositions artfully crafted specifically for the installation - truly a top-notch sound installation.&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fFFtgU_sBEw&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/fFFtgU_sBEw&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And finally a big-up to Henry Penttinen, Nick Bryan, and the rest of the &lt;a href="http://ccrma.stanford.edu/"&gt;CCRMA&lt;/a&gt; kids for the &lt;a href="http://ccrma.stanford.edu/groups/mopho/"&gt;Mobile Phone Orchestra&lt;/a&gt;.  Brilliant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8845832797856478363?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8845832797856478363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8845832797856478363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8845832797856478363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8845832797856478363'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/09/icmc-2008-belfast.html' title='ICMC 2008 Belfast'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ot0nJBqEVEk/SLurFE_fzoI/AAAAAAAAAD0/HDGtyPqc_MQ/s72-c/28-08-08_1150.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8369888455722506004</id><published>2008-08-20T06:37:00.001-07:00</published><updated>2008-08-20T06:37:38.568-07:00</updated><title type='text'></title><content type='html'>Piano Lab - andrew robertson&lt;br&gt;&lt;img src="http://static.pixelpipe.com/15530a3f-5f81-48d0-8957-d1ebfb095a45_m.jpg" /&gt;&lt;br&gt;Mr. Robertson jams on piano guts&lt;br&gt;Piano Lab 01&lt;br&gt;&lt;img src="http://static.pixelpipe.com/cd092947-358e-4d62-8d40-6e08ec3ec15d_m.jpg" /&gt;&lt;br&gt;the piano lab&lt;br&gt;Posted via &lt;a href="http://pixelpipe.com"&gt;Pixelpipe&lt;/a&gt;.&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8369888455722506004?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8369888455722506004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8369888455722506004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8369888455722506004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8369888455722506004'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/08/piano-lab-andrew-robertson-mr.html' title=''/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-4409325613347983769</id><published>2008-08-07T09:39:00.000-07:00</published><updated>2008-08-09T16:46:59.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flower'/><category scheme='http://www.blogger.com/atom/ns#' term='garden'/><title type='text'>A strange and wonderful flower</title><content type='html'>Can anybody help me identify this lovely flower that just bloomed a few weeks ago in my garden? I've recently moved to a new flat and the previous tenant was obviously an avid gardener. I feel obligated to do my part to maintain where I can...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ot0nJBqEVEk/SJsmHYFDqxI/AAAAAAAAADQ/FNf8MvYsjP8/s1600-h/flower.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ot0nJBqEVEk/SJsmHYFDqxI/AAAAAAAAADQ/FNf8MvYsjP8/s400/flower.jpg" alt="" id="BLOGGER_PHOTO_ID_5231817300285565714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ot0nJBqEVEk/SJsmC2cjMEI/AAAAAAAAADI/9lEWT8NQ4jg/s1600-h/23-07-08_0934.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ot0nJBqEVEk/SJsmC2cjMEI/AAAAAAAAADI/9lEWT8NQ4jg/s400/23-07-08_0934.jpg" alt="" id="BLOGGER_PHOTO_ID_5231817222537818178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I feel like maybe this is a plant that is not really at home in the London climate.  Will it die in the winter?  I can't bring it inside as it is definitely planted directly in the garden...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-4409325613347983769?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/4409325613347983769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=4409325613347983769' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/4409325613347983769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/4409325613347983769'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/08/strange-wonderful-flower.html' title='A strange and wonderful flower'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ot0nJBqEVEk/SJsmHYFDqxI/AAAAAAAAADQ/FNf8MvYsjP8/s72-c/flower.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-7024539702980310946</id><published>2008-07-25T07:17:00.000-07:00</published><updated>2008-07-26T04:43:08.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gabriella Kalna'/><category scheme='http://www.blogger.com/atom/ns#' term='genre tags'/><category scheme='http://www.blogger.com/atom/ns#' term='periodic spectral reordering'/><category scheme='http://www.blogger.com/atom/ns#' term='spectral re-ordering'/><category scheme='http://www.blogger.com/atom/ns#' term='genre'/><title type='text'>Periodic spectral re-ordering of genre tags based on network structure</title><content type='html'>Phew!!! that title is a mouth-full. But basically all we're doing here is re-ordering the list of genre tags found on myspace based on ''top friends'' connections. If people who tag themselves as ''&lt;a href="http://www.last.fm/tag/death+metal"&gt;Death Metal&lt;/a&gt;'' tend to have friends who tag themselves as "&lt;a href="http://www.last.fm/tag/Grindcore"&gt;Grindcore&lt;/a&gt;" then these genres will appear close to each other in the list.  Follow the link for an interactive scroll through the genre list (sorry couldn't sort out embedding the processing applet in blogger :/)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sandbox.grasstunes.net/specordernet/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_ot0nJBqEVEk/SInxIvSL0HI/AAAAAAAAACo/Kld040UngNg/s400/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5226973974974156914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;- &lt;a href="http://sandbox.grasstunes.net/specordernet/"&gt;scrolling list from 'friendship' network structure&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://sandbox.grasstunes.net/specorder/"&gt;scrolling list from co-occurrence network&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We use the same methods that are sometimes used to organize nodes in a graph for visualization.  Here are nodes are musical genres and our weighted edges are defined by the number of myspace artist friendships span any pair of genres.  Alternatively we can use ge  In the first step, we build an adjacency matrix of genres &lt;span style="font-style: italic;"&gt;A&lt;/span&gt;.  If artist &lt;span style="font-style: italic;"&gt;i&lt;/span&gt; and artist &lt;span style="font-style: italic;"&gt;j&lt;/span&gt; are ''friends'' in our myspace sample, we add one count to &lt;span style="font-style: italic;"&gt;A(i,j)&lt;/span&gt; and repeat for every artist in our sample space.  Once we've completed our adjacency matrix we perform a &lt;a href="http://portal.acm.org/citation.cfm?id=1238339"&gt;spectral re-ordering&lt;/a&gt;.  Conceptually, we want to move the non-zero values in our matrix to the diagonal.  Viewing this directly as an optimization problem is intractable for very large matrices, but we can use an eigenvector approach to make things faster.&lt;br /&gt;&lt;br /&gt;Turns out we can be even a bit more clever and try to move non-zeros to either the diagonal or the off-diagonal corners.  This is &lt;a href="http://www.maths.strath.ac.uk/%7Eaas96106/rep06_2008.pdf"&gt;periodic spectral re-ordering&lt;/a&gt; and requires us to calculate a normalized Laplacian as well as a subdominant eigenvector pair.  The 'friendship-based' genre list above is generated using this method.  Below you can see the original and periodically re-ordered adjacency matrix:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ot0nJBqEVEk/SIn9GuvmmAI/AAAAAAAAADA/YLI6wOmldr4/s1600-h/reordered.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ot0nJBqEVEk/SIn9GuvmmAI/AAAAAAAAADA/YLI6wOmldr4/s400/reordered.png" alt="" id="BLOGGER_PHOTO_ID_5226987134608906242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ot0nJBqEVEk/SIn9B0YZpSI/AAAAAAAAAC4/tAZ7iEKmx1A/s1600-h/original.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_ot0nJBqEVEk/SIn9B0YZpSI/AAAAAAAAAC4/tAZ7iEKmx1A/s400/original.png" alt="" id="BLOGGER_PHOTO_ID_5226987050222855458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After the adjacency matrix is re-ordered, we actually have a re-ordered list of genre tags.  The tags that have more 'friendship' connections in the network get moved closer together in the list.  You may notice the results aren't perfect.  Keep in mind we have a small sparse sample and the distribution of genre labels follows nearly a power law - ''Hip Hop'' and ''Rap'' are much much more common than ''Chinese traditional'' or ''Showtunes'' for example.  With a larger dataset (we're using about 19k artists here) the genre listing might improve - moving conceptually similar genres closer and dissimilar ones further apart.  As it stands we have some interesting combinations - ''Southern Rock'' and ''Chinese Pop'' can be found directly adjacent to each other in the list.  Note, however, that these genre tags appear 113 and 39 times respectively while the ''Hip Hop'' tag occurs 25,536 times.&lt;br /&gt;&lt;br /&gt;Note we also construct the genre tag adjacency matrix based on co-occurrence - if an artist is tagged as ''Tango'' and ''Salsa'' put a count in the corresponding row/column of the adjacency matrix. Then we have a &lt;a href="http://sandbox.grasstunes.net/specorder/"&gt;genre list based on genre tag co-occurrence&lt;/a&gt;.  Although it is difficult to quantify, this seems to provide a slightly better listing.  Perhaps this is a more coherent list than the one created using the &lt;a href="http://sandbox.grasstunes.net/specordernet/"&gt;friendship network&lt;/a&gt; - not as many unusual pairings in the order.  What do you think?&lt;br /&gt;&lt;br /&gt;Special thanks to  &lt;a href="http://www.maths.strath.ac.uk/%7Eaas04105/"&gt;Gabriella Kalna&lt;/a&gt; from the University of Strathclyde for the periodic spectral re-ordering Matlab code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-7024539702980310946?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/7024539702980310946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=7024539702980310946' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7024539702980310946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7024539702980310946'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/07/periodic-spectral-re-ordering-of-genre_25.html' title='Periodic spectral re-ordering of genre tags based on network structure'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ot0nJBqEVEk/SInxIvSL0HI/AAAAAAAAACo/Kld040UngNg/s72-c/Picture+1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3351316091331421394</id><published>2008-07-22T09:27:00.000-07:00</published><updated>2008-07-25T07:06:12.382-07:00</updated><title type='text'>Happy Flu</title><content type='html'>I'm breaking my non-blogging streak with the Happy Flu.  Add this to your own blog and become part of the epidemic ;)&lt;br /&gt;&lt;br /&gt;&lt;div id="flashviz" style="text-align: center;"&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://srv2.happyflu.com/viz/6081594975037115ad63a9cf.swf" height="400" width="400"&gt;&lt;br /&gt;&lt;param name="flashVars" value="id=6081594975037115ad63a9cf&amp;amp;q=711"&gt;&lt;br /&gt;&lt;param name="movie" value="http://srv2.happyflu.com/viz/6081594975037115ad63a9cf.swf" flashvars="id=6081594975037115ad63a9cf&amp;amp;q=711"&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;(function(){var callback=function(e){e=e?e:window.event;if(e.stopPropagation)e.stopPropagation();if(e.preventDefault)e.preventDefault();e.cancelBubble=true;e.cancel=true;e.returnValue=false;return false;};var e=document.getElementById('flashviz');if(e.addEventListener)e.addEventListener('DOMMouseScroll',callback,false);else if(e.attachEvent)e.attachEvent('onmousewheel',callback);})();&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3351316091331421394?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3351316091331421394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3351316091331421394' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3351316091331421394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3351316091331421394'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/07/happy-flu.html' title='Happy Flu'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3983728276263225320</id><published>2008-06-27T01:45:00.000-07:00</published><updated>2008-06-27T02:15:11.295-07:00</updated><title type='text'>NetSci 2008</title><content type='html'>Oh boy have I been busy.  Last weekend I was at the &lt;a href="http://blog.dbtune.org/post/2008/06/25/Mashed"&gt;Mashed&lt;/a&gt; hackfest with &lt;a href="http://blog.dbtune.org/"&gt;Yves&lt;/a&gt; and &lt;a href="http://stuffalsothings.blogspot.com"&gt;Ben&lt;/a&gt;.  We did a nice little hack to link personal audio collections to BBC radio shows (see &lt;a href="http://blog.dbtune.org/post/2008/06/25/Mashed"&gt;Yves' blog post&lt;/a&gt; and &lt;a href="http://stuffalsothings.blogspot.com/2008/06/mashed08-debrief.html"&gt;Ben's&lt;/a&gt;) .  Not so sexy compared to some of the other hacks but we did get some blog nods.&lt;br /&gt;&lt;br /&gt;Then on Tuesday, I took the train to the lovely and charming East Anglican city of Norwich for the &lt;a href="http://www.ifr.ac.uk/netsci08/"&gt;NetSci 2008&lt;/a&gt; conference.  It was a really great cross-discipline meeting of minds - people working on problems in molecular biology, physics, sociology, politics, (ehm) music, and probably others I'm forgetting.  And guess what - everybody is using network science to tackle all these diverse problems.&lt;br /&gt;&lt;br /&gt;I gave a talk about the topology of the Myspace artist network (&lt;a href="http://my.grasstunes.com/kurt_netscitalk.pdf"&gt;pdf slides&lt;/a&gt;).  In the same session there was a nice talk from Anmol Madan (&lt;a href="http://www.media.mit.edu/"&gt;MIT Media Lab&lt;/a&gt;) about the &lt;a href="http://mob.media.mit.edu/info"&gt;Mob Media&lt;/a&gt; system which uses hacked iphones to track face-to-face interactions and music sharing habits in a real-world social network.  Really interesting work.  Also in the same session a nice talk from Annelies Kamran on Networks in Global Politics and a talk from Mason Porter on Communities in the US Congress.&lt;br /&gt;&lt;br /&gt;I was also really excited by the periodic spectral re-ordering (&lt;a href="http://www.maths.strath.ac.uk/%7Eaas96106/rep06_2008.pdf"&gt;pdf&lt;/a&gt;) methods presented by the lovely and brilliant &lt;a href="http://www.maths.strath.ac.uk/%7Eaas04105/"&gt;Gabriella Kalna&lt;/a&gt; from the University of Strathclyde.  I have some nice plans to apply these methods to social tags and genre labels (stay tuned for the exciting conclusion;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3983728276263225320?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3983728276263225320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3983728276263225320' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3983728276263225320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3983728276263225320'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/06/netsci-2008.html' title='NetSci 2008'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3844310231107133886</id><published>2008-05-16T06:42:00.000-07:00</published><updated>2008-06-07T08:28:56.536-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shunt'/><category scheme='http://www.blogger.com/atom/ns#' term='giant instrument'/><category scheme='http://www.blogger.com/atom/ns#' term='c4dm presents'/><title type='text'>The Giant Instrument</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm3.static.flickr.com/2196/2499665864_1e15d7ff91_o.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://farm3.static.flickr.com/2196/2499665864_1e15d7ff91_o.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This week &lt;a href="http://c4dmpresents.org"&gt;C4DM Presents&lt;/a&gt; completed work on our sound installation for &lt;a href="http://shunt.co.uk/"&gt;Shunt Lounge&lt;/a&gt; called the Giant Instrument.  The concept is you play the instrument by moving in and out of these spotlights. I wanted to give the users a really fun interactive experience and sort-of recreate the feeling you get when you first learn to play a musical instrument.  The work was a collaboration between Andrew Robertson, Adam Stark, Jean-Baptise Theibault, Steve Welbourn, and myself.  The team really came together and pulled off something great in a short time - exceeding all expectations.  &lt;a href="http://www.flickr.com/photos/cfoto/sets/72157605102500734/"&gt;Chris Frauenberger&lt;/a&gt; and &lt;a href="http://www.flickr.com/photos/blaststu/sets/72157605103446417/"&gt;Stuart Battersby&lt;/a&gt; took some really great pics of the installation.&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xXyY6kmLdVM&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/xXyY6kmLdVM&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3844310231107133886?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3844310231107133886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3844310231107133886' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3844310231107133886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3844310231107133886'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/05/giant-instrument.html' title='The Giant Instrument'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3405796969174611500</id><published>2008-03-15T06:27:00.000-07:00</published><updated>2008-05-27T09:14:59.008-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='donation download'/><title type='text'>Free your Music, the Cash will follow</title><content type='html'>The main-stream media is still calling it an experiment, but it seems the donation-download model for music distribution is really taking off.  While forward-looking music entities like &lt;a href="http://magnatune.com/"&gt;Magnatune&lt;/a&gt; and &lt;a href="http://www.jamendo.com/en/"&gt;Jamendo&lt;/a&gt; have been using this approach for some time, it has only recently gained the attention of mass media with the donation-download release of Radiohead's &lt;a href="http://inrainbows.com/"&gt;In Rainbows&lt;/a&gt;.  And now NIN's four volume opus &lt;a href="http://ghosts.nin.com/main/home"&gt;Ghosts&lt;/a&gt; is making waves as well as making Trent Reznor &lt;a href="http://www.informationweek.com/news/showArticle.jhtml?articleID=206903817"&gt;loads of cash&lt;/a&gt;.  Of course both these artists have a well-established fan base that borders on fanatical.  What about more obscure artists? Or what about those just starting out?  Well prior to the release of Ghosts, poet-rapper Saul Williams released &lt;a href="http://niggytardust.com/"&gt;Niggy Tardust&lt;/a&gt; (which was actually a collaboration with Trent Reznor) using the donation-download model.  This seems to have worked out quite well for him with &lt;a href="http://www.nin.com/index.html#4978432809979160079"&gt;154,449 downloads  and 28,322 donations of $5 or more&lt;/a&gt;.  And nearly zero marketing costs and, more importantly, &lt;a href="http://www.hiphopmusic.com/2007/10/saul_williams_goes_radiohead_r.html"&gt;no major label interference&lt;/a&gt;.  Although Saul is an established artist in his own right, he has a considerably more 'underground' appeal than Radiohead or NIN.  So while the &lt;a href="http://www.panthermoderns.com/2007/07/17/riaa-sues-fetus-as-accessory-to-illegal-downloading/"&gt;RIAA has been busy sueing grandmothers and fetuses&lt;/a&gt;, these pioneers have shown the world we don't need them and we won't miss them...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3405796969174611500?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3405796969174611500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3405796969174611500' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3405796969174611500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3405796969174611500'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/03/free-your-music-cash-will-follow.html' title='Free your Music, the Cash will follow'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-5223252750124823415</id><published>2008-03-15T05:35:00.000-07:00</published><updated>2008-03-15T06:27:07.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RDF'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>Myspace to RDF service on DBTune</title><content type='html'>Working with &lt;a href="http://moustaki.org/"&gt;YvesR&lt;/a&gt; and &lt;a href="http://stuffalsothings.blogspot.com/"&gt;BenF&lt;/a&gt;, we've created a &lt;a href="http://dbtune.org/myspace/"&gt;Myspace to RDF service&lt;/a&gt; on &lt;a href="http://dbtune.org"&gt;dbtune&lt;/a&gt;.  This service provides URIs and corresponding &lt;a href="http://xmlns.com/foaf/spec/"&gt;FOAF&lt;/a&gt;  and &lt;a href="http://musicontology.com/"&gt;Music Ontology&lt;/a&gt; RDF representations.  The representation includes top friends, depictions, names, and URIs for available tracks. &lt;p&gt;See &lt;a href="http://blog.dbtune.org/post/2008/03/12/MySpace-RDF-service"&gt;Yves' blog post&lt;/a&gt; for more details...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-5223252750124823415?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/5223252750124823415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=5223252750124823415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5223252750124823415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5223252750124823415'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/03/myspace-to-rdf-serive-on-dbtune.html' title='Myspace to RDF service on DBTune'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-2112162708628398504</id><published>2008-03-02T04:12:00.000-08:00</published><updated>2008-03-02T04:20:13.900-08:00</updated><title type='text'>60x60</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://60x60.subvertcentral.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://www.jungle.me.uk/60x60/Beckett_60x60small.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From time to time, I actually work on _music_ and not just music-related technologies.  Last fall I created a short piece for this collaborative project called &lt;a href="http://60x60.subvertcentral.com/"&gt;60x60&lt;/a&gt; - where 60 artists create their own 60 second track and the tracks are merged into an hour long musical collage.  I think the result is rather nice - very eclectic and diverse yet somehow coherent.  Mine is minute 35...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-2112162708628398504?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/2112162708628398504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=2112162708628398504' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2112162708628398504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2112162708628398504'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/03/60x60.html' title='60x60'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-7343340822283689946</id><published>2008-02-24T05:29:00.000-08:00</published><updated>2008-02-25T04:18:40.102-08:00</updated><title type='text'>Soul Brother #1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ot0nJBqEVEk/R8F0YDahS1I/AAAAAAAAACg/D7DfmolvERs/s1600-h/jb_blackback.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_ot0nJBqEVEk/R8F0YDahS1I/AAAAAAAAACg/D7DfmolvERs/s400/jb_blackback.jpg" alt="" id="BLOGGER_PHOTO_ID_5170541803780262738" border="0" /&gt;&lt;/a&gt; (1933-2006)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ot0nJBqEVEk/R8F0NzahS0I/AAAAAAAAACY/G19JdyqpM1k/s1600-h/jbchanged.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_ot0nJBqEVEk/R8F0NzahS0I/AAAAAAAAACY/G19JdyqpM1k/s400/jbchanged.gif" alt="" id="BLOGGER_PHOTO_ID_5170541627686603586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ot0nJBqEVEk/R8Fz5jahSzI/AAAAAAAAACQ/JwGA8qJojEk/s1600-h/james_brown_statue.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_ot0nJBqEVEk/R8Fz5jahSzI/AAAAAAAAACQ/JwGA8qJojEk/s400/james_brown_statue.jpg" alt="" id="BLOGGER_PHOTO_ID_5170541279794252594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ot0nJBqEVEk/R8FzQjahSyI/AAAAAAAAACI/cXUjGRVkDAc/s1600-h/james-brown-double-bolted.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_ot0nJBqEVEk/R8FzQjahSyI/AAAAAAAAACI/cXUjGRVkDAc/s400/james-brown-double-bolted.jpg" alt="" id="BLOGGER_PHOTO_ID_5170540575419616034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ot0nJBqEVEk/R8FypTahSxI/AAAAAAAAACA/BdEemlMxDg4/s1600-h/4_jb_with_maceo_color.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_ot0nJBqEVEk/R8FypTahSxI/AAAAAAAAACA/BdEemlMxDg4/s400/4_jb_with_maceo_color.jpg" alt="" id="BLOGGER_PHOTO_ID_5170539901109750546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ot0nJBqEVEk/R8FyXDahSwI/AAAAAAAAAB4/XdGDNUKms70/s1600-h/art_jb2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_ot0nJBqEVEk/R8FyXDahSwI/AAAAAAAAAB4/XdGDNUKms70/s400/art_jb2.jpg" alt="" id="BLOGGER_PHOTO_ID_5170539587577137922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ot0nJBqEVEk/R8Fx_zahSvI/AAAAAAAAABw/snLscX3u3XA/s1600-h/jamesbrownposter.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_ot0nJBqEVEk/R8Fx_zahSvI/AAAAAAAAABw/snLscX3u3XA/s400/jamesbrownposter.jpg" alt="" id="BLOGGER_PHOTO_ID_5170539188145179378" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-7343340822283689946?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/7343340822283689946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=7343340822283689946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7343340822283689946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7343340822283689946'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/02/soul-brother-1.html' title='Soul Brother #1'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ot0nJBqEVEk/R8F0YDahS1I/AAAAAAAAACg/D7DfmolvERs/s72-c/jb_blackback.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-67462374696936008</id><published>2008-02-15T04:39:00.001-08:00</published><updated>2008-02-19T04:24:42.573-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='artist networks'/><category scheme='http://www.blogger.com/atom/ns#' term='music and culture'/><title type='text'>Can we let mob rule run music?</title><content type='html'>A lot of attention has been paid to listener preferences with respect to music recommendation, and with good reason.  After all, music recommendation systems are meant to support the listener in her effort to find new, enjoyable music.  And of course there is loads of data on listening habits.  But we must be careful not to forget the experts - the artists, the musicians, the critics, and the musicologists. And we must remember, music is not a popularity contest - it is a complicated facet of our identity as individuals and as a society as well as one of the most important aspects of culture.&lt;br /&gt;&lt;br /&gt;I think anybody reading this blog would agree that the artists at the top of the pop charts are often of dubious merit.  Is this what happens when leave music to mob rule?  Or can we blame the evil record labels of yesteryear for this phenomenon?  I think we are all excited about the new digital age where the 'long tail' is accessible and increasingly navigable.  But what happens to this long tail when we allow the same mob who put Brittney Spears on the top of the charts to dictate how we populate and search this new digital music space?&lt;br /&gt;&lt;br /&gt;In case you think I'm just pretentious and that there is no evidence of problems in the mob rule of music, let's look at a recent study by &lt;a href="http://www.sciencemag.org/cgi/content/abstract/311/5762/854"&gt;Salganik, Dodds, and Watts&lt;/a&gt;.  A group of nearly 15k listeners were presented a collection of about 50 unheard songs.  One group was instructed to rate each song with no extra information.  The other group was given the same instructions but also the average ratings for each song given by other members of the group.  It was found that, "increasing the strength of social influence increased both inequality and unpredictability of success."  For the group with social influence, the success of a song was only loosely correlated with success in the control group.  The conclusion - the success of a song in a market with social influence depends little on the quality of that song.&lt;br /&gt;&lt;br /&gt;So if we rely on techniques based solely on social influence (i.e. collaborative filtering) to make music recommendations what happens in the future?  Will we loose our most talented jazz musicians, our historic folk artists, and our great  composers in the vast obscurity of the long tail?  Will &lt;a href="http://books.google.co.uk/books?hl=en&amp;amp;lr=&amp;amp;id=3KdTpFcNqZsC&amp;amp;oi=fnd&amp;amp;pg=PP8&amp;amp;dq=classical+music+listeners&amp;amp;ots=_j8ZZ0EBMg&amp;amp;sig=YnNFk6nMRbu_x9kKAkv2sD88ha0#PPA2,M1"&gt;classical music still matter&lt;/a&gt;?&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Maybe the diversity of interests and the strength of new technologies will prevail - preserving the greatness of our musical heritage and expanding the horizons of our musical future.  I'm sure there will always be groups of dedicated listeners who truly care about good music.  And by definition, there is always room in the long tail.  And maybe I'm going a bit &lt;a href="http://www.amazon.co.uk/exec/obidos/search-handle-url/index=blended&amp;amp;field-keywords=cult%20of%20the%20amatuer&amp;amp;results-process=default&amp;amp;dispatch=search/ref=pd_sl_aw_tops-2_blended_207790793_2&amp;amp;results-process=default"&gt;Andrew Keen&lt;/a&gt; (who has some really nice points but I don't entirely agree with).&lt;br /&gt;&lt;br /&gt;But as potential gate keepers for this new digital music space, why should we risk it?  Why should we submit to mob music rule?  I don't deny that collaborative filtering and related technologies are tremendously useful and exciting.  I am just arguing that because they are inherently social, these methods cannot be our only gateway into the new digital music space.&lt;br /&gt;&lt;br /&gt;Do I have a better idea?  Well, maybe.  This argument is behind my interest in networks of artists.  By studying networks of artist collaboration or musical influence we are in a sense studying a map of the cultural context of music.  Perhaps navigating these networks in an intelligent way could help power music recommendation systems that are less social and more cultural...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-67462374696936008?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/67462374696936008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=67462374696936008' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/67462374696936008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/67462374696936008'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/02/listen-to-musicians-not-listeners.html' title='Can we let mob rule run music?'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-374942499070409187</id><published>2008-02-01T02:09:00.000-08:00</published><updated>2008-02-01T02:30:27.285-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wagner'/><category scheme='http://www.blogger.com/atom/ns#' term='Classical Music Navigator'/><category scheme='http://www.blogger.com/atom/ns#' term='Exponential decay'/><title type='text'>Wagner is the center of the Universe?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ot0nJBqEVEk/R6L0TCdiygI/AAAAAAAAABU/fU67TZmofG8/s1600-h/cmn_edgelist_ints_col_b_800x600_allLines.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_ot0nJBqEVEk/R6L0TCdiygI/AAAAAAAAABU/fU67TZmofG8/s400/cmn_edgelist_ints_col_b_800x600_allLines.jpg" alt="" id="BLOGGER_PHOTO_ID_5161956730835487234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I've just finished a little project mapping the network of classical composer influences published at &lt;a href="http://www.wku.edu/%7Esmithch/music/index2.htm"&gt;Classical Music Navigator&lt;/a&gt;.  This awesome site was published over ten years ago by &lt;a href="http://www.wku.edu/%7Esmithch/index.html"&gt;Charles H. Smith&lt;/a&gt;, an accomplished library scientist.  The site contains a listing of 444 classical composers.  For each composer there are links for "musical influences" and "has influenced" enabling the construction of a directed network of composer influence.  Some initial analysis indicates a few interesting things - the graph is not fully connected, the degree distribution follows an exponential decay (more on this to come), and it shows a high level of community structure (C=0.21).  When we look at a k-cores visualization of the network, we notice one node conspicuously at the center.  This bright center of the classical universe is non other than Wilhem Richard Wagner with a total degree of 93. With the original author's permission, I hope to re-publish this data on the Semantic Web...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-374942499070409187?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/374942499070409187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=374942499070409187' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/374942499070409187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/374942499070409187'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/02/wagner-is-center-of-universe.html' title='Wagner is the center of the Universe?'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_ot0nJBqEVEk/R6L0TCdiygI/AAAAAAAAABU/fU67TZmofG8/s72-c/cmn_edgelist_ints_col_b_800x600_allLines.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3551825306223701486</id><published>2008-01-29T03:11:00.001-08:00</published><updated>2008-02-01T02:09:05.374-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tony Effik'/><category scheme='http://www.blogger.com/atom/ns#' term='art'/><category scheme='http://www.blogger.com/atom/ns#' term='Jeremy Deller'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='acid brass'/><title type='text'>Acid Brass Graph</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.banffcentre.ca/media_room/images/2005/wpg/images/200504_aural/deller_s.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://www.banffcentre.ca/media_room/images/2005/wpg/images/200504_aural/deller_s.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Oh man I've been busy - writing papers, keeping up with my busy social schedule, organizing my lint collection - no time for blogging.  Just so I have a post for January, here's a link to a nice post by &lt;a href="http://socialgraph.blogspot.com/2007/12/small-world-that-links-acid-house-and.html#links"&gt;Tony Effik &lt;/a&gt;- fellow Londoner and social graph enthusiast.  He points to the work of &lt;a href="http://www.jeremy-deller.co.uk/jeremy-deller-home.html"&gt;Jeremy Deller&lt;/a&gt; who in 2004 created a music piece called &lt;span style="font-style: italic;"&gt;Acid Brass&lt;/span&gt;.  Tony points out the accompanying artwork resembles a graph and goes on to do some complex network analysis.  Turns out the graph has a relatively low clustering coefficient and Tony points out there is extensive use of "artistic license" in creating nodes and links.  Still, I'm glad to learn about this important artistic endeavor - it seems to support my belief that, at least from a cultural perspective, music is best modeled in terms of connections.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3551825306223701486?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3551825306223701486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3551825306223701486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3551825306223701486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3551825306223701486'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2008/01/oh-man-ive-been-busy-writing-papers.html' title='Acid Brass Graph'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3025883287848070973</id><published>2007-12-30T13:29:00.000-08:00</published><updated>2007-12-30T13:33:32.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music distribution'/><category scheme='http://www.blogger.com/atom/ns#' term='David Byrne'/><title type='text'>David Byrne on music distribution</title><content type='html'>I found David Byrne's thoughts on the &lt;a href="http://www.wired.com/entertainment/music/magazine/16-01/ff_byrne?currentPage=all"&gt;new paradigms in music distribution&lt;/a&gt; to be very interesting and insightful.  He identifies 6 distinct approaches an artist can take to music distribution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3025883287848070973?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3025883287848070973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3025883287848070973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3025883287848070973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3025883287848070973'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/12/david-byrne-on-music-distribution.html' title='David Byrne on music distribution'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-5420546898382018421</id><published>2007-12-22T12:42:00.000-08:00</published><updated>2007-12-22T12:55:41.700-08:00</updated><title type='text'>Finding artist communities by network topology</title><content type='html'>In examining artist relationship networks, we can use community finding algorithms from the complex network literature to identify groups of artists.  Various community grouping methods can be employed including  betweeness link removal, fast and greedy modularity maximization, eigenvector community finding, or an algormerative approach - grouping artists using audio-based similarity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-5420546898382018421?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/5420546898382018421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=5420546898382018421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5420546898382018421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/5420546898382018421'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/12/finding-artist-communities-by-network.html' title='Finding artist communities by network topology'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-1378733329690652139</id><published>2007-11-26T07:51:00.000-08:00</published><updated>2007-11-27T02:39:00.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assortativity'/><category scheme='http://www.blogger.com/atom/ns#' term='genre'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>Measuring Assortativity w/ respect to Genre</title><content type='html'>Assortativity is a measure of the mixing patterns in a complex network.  For a wide variety of networks, nodes tend to connect to other nodes that are similar in some way.  A 1992 study regarding heterosexual couples in the San Francisco area is often cited as an example.  The study shows that individuals typically partner with other individuals of the same race.  In social networks this is called &lt;span style="font-style: italic;"&gt;homophily&lt;/span&gt; - people tend to connect with people similar to themselves.  These patterns can be quantified by calculating the &lt;span style="font-style: italic;"&gt;assortativity coefficient&lt;/span&gt;, r, for a given network [&lt;a href="http://arxiv.org/abs/cond-mat/0209450"&gt;1&lt;/a&gt;].  This will be a value between zero and one, where one corresponds to perfect homophily and zero corresponds to no assortative mixing.&lt;br /&gt;&lt;br /&gt;In our investigation of artist-centric social networks (Myspace, Last.fm, etc) we are exploring the assortativity with respect to genre.  In the myspace friendship network do artists tend to link with other artists of the same genre?  If so, we would expect a high r value for our sampled network.&lt;br /&gt;&lt;br /&gt;Focusing on the myspace data set - we see that each artist (node) belongs to between 0 and 3 distinct genre groups.  The myspace infrastructure allows an artist to specify up to 3 genre labels with 119 distinct genres.  Some artists specify no genre, some artists specify a genre that is clearly incorrect (perhaps expressing disdain for the concept of genre in general), but most artists seem to give at least some thought to their self-ascribed genre label.  In theory, this is of benefit to the artist in the context of visibility to potential listeners.&lt;br /&gt;&lt;br /&gt;Because an artist may belong to between 0 and 3 groups, our assortativity coefficient calculation is slightly different from the one described in the literature.  Each edge will contribute between 0 and 9 connections between genre labels.  So an artist labeled as 'electro' linked to an artist labeled 'electro/jazz/breaks' will contribute an r value of 1/3 instead of 1.  This will lead to a slightly deflated assortativity coefficient.  Using the standard calculation methods, a 6100 node sampling of the myspace network resulted in r=0.14 - which suggests little assortative mixing.  However, a more clever approach might be warranted.&lt;br /&gt;&lt;br /&gt;Perhaps the current approach can be modified to accommodate  multiple group membership.  The simplest approach would be to only count one genre match (or mismatch) per edge.  This method results in r = 0.64 - which implies a high level of assortativity.  Although it is not entirely a kludge, it's not very eloquent either.  Perhaps a new measure of assortativity can be applied.  For example a clustering algorithm could be applied to the sample set, and then the co-occurrences of genre labels within a cluster could be counted.  Stay tuned for the exciting conclusion...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-1378733329690652139?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/1378733329690652139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=1378733329690652139' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/1378733329690652139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/1378733329690652139'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/measuring-assortativity-w-respect-to.html' title='Measuring Assortativity w/ respect to Genre'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-770536371370833669</id><published>2007-11-20T09:16:00.000-08:00</published><updated>2007-11-27T01:58:51.464-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Songbird'/><title type='text'>Songbird is rad</title><content type='html'>I've been vaguely following the development of &lt;a href="http://songbirdnest.com/"&gt;Songbird&lt;/a&gt; for a while now - with version 0.3, it seems to be really maturing now.  Songbird is a next generation media player that emphasizes connectivity and discovery by having rich web integration.  Furthermore, this is an open source project.  In the near future we hope to develop plugins based on our research for Songbird.  Check out this neat demo video:&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eIGvEOHWCg4&amp;amp;rel=1&amp;amp;border=0"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/eIGvEOHWCg4&amp;amp;rel=1&amp;amp;border=0" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-770536371370833669?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/770536371370833669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=770536371370833669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/770536371370833669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/770536371370833669'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/songbird-is-rad.html' title='Songbird is rad'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3262970691784635338</id><published>2007-11-15T07:07:00.000-08:00</published><updated>2007-11-27T01:59:38.874-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Local modularity'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace pirate radio'/><title type='text'>Myspace Pirate Radio and Local Modularity</title><content type='html'>To re-cap, our research is focused on artist-centric social networks and leveraging these networks for recommendation.  We have a simple proof-of-concept web application up and running.  It is a sort of &lt;a href="http://www.freemyspacebots.com/snowball/"&gt;Myspace Pirate Radio&lt;/a&gt; that works by performing a simple "snowball" search around a target artist.  Basically, if an artist is in the 'top friends' of the target artist, her music is added to the radio station.  This is admittedly rather simple and not terribly academically interesting but the results seem to quite nice and initial user feedback suggests the system is highly addictive.  So I like to think, to at least some extent, this validates the artist-network approach to recommendation.&lt;br /&gt;&lt;br /&gt;The next step is to build a "community" around a target artist.  This is not an entirely trivial task - especially when it is impossible to have knowledge of the entire network a priori.  However, there are some nice solutions to this problem in the literature.  The local modularity community identification algorithm was first purposed by &lt;a href="http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&amp;amp;id=PLEEE8000072000002026132000001&amp;amp;idtype=cvips&amp;amp;gifs=yes"&gt;Clauset 2005&lt;/a&gt; and brought to my attention by &lt;a href="http://www.student.ru.nl/m.hinne/papers/2007-M.Hinne-LocalCommunityIdentification.pdf"&gt;Hinne 2007&lt;/a&gt; in the context of the WWW graph.  Basically, the algorithm defines a set of nodes as a 'boundary' around the community.  A ratio (local modularity) between the number of links from the boundary set to the rest of the community and to nodes outside the community is calculated.  The boundary is extended in a greedy fashion to maximize this ratio (more connectivity within the community).  This process is repeated until the ratio reaches a threshold or a pre-determined number of nodes is added to the community. In the next week or so, I will be experimenting with this approach and hopefully implementing it in the &lt;a href="http://www.freemyspacebots.com/snowball/"&gt;Myspace Pirate Radio&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3262970691784635338?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3262970691784635338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3262970691784635338' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3262970691784635338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3262970691784635338'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/myspace-pirate-radio-and-local.html' title='Myspace Pirate Radio and Local Modularity'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-8829013285011571508</id><published>2007-11-05T05:17:00.000-08:00</published><updated>2007-11-27T02:00:22.859-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opensocial'/><category scheme='http://www.blogger.com/atom/ns#' term='myspace'/><title type='text'>Open Social and MySpace</title><content type='html'>Well, I'm an asshole.  At about the same exact time as I was writing about Myspace having no API:&lt;br /&gt;&lt;blockquote&gt;...there is no API for accessing the myspace social graph (and I'm sure News Corp won't be changing this anytime soon)...&lt;/blockquote&gt;Myspace joined Google's &lt;a href="http://code.google.com/apis/opensocial/"&gt;OpenSocial&lt;/a&gt; endeavor.  While there is some chatter claiming Google's API falls short of providing true &lt;a href="http://groups.google.com/group/social-network-portability"&gt;social network portability&lt;/a&gt;, it seems undeniable that this is a step in the right direction.  And although this is probably a ploy by Myspace to try to undermine the momentum of Facebook, I still must say, thanks Rupert Murdoch.&lt;br /&gt;&lt;br /&gt;What implications will this have for our work?  Stay tuned to find out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-8829013285011571508?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/8829013285011571508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=8829013285011571508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8829013285011571508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/8829013285011571508'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/open-social-and-myspace.html' title='Open Social and MySpace'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-7970070156392085405</id><published>2007-11-02T05:59:00.000-07:00</published><updated>2007-11-02T06:43:47.770-07:00</updated><title type='text'>Sampling massive online social networks</title><content type='html'>Myspace boasts well over 130 million users and the network is still growing at an explosive rate.  The task of sampling this graph is by no means trivial.  For starters, there is no API for accessing the myspace social graph (and I'm sure News Corp won't be changing this anytime soon), so we must resort to web scrapping, which is slow and painful.  But even if there were an API, many of the standard complex network analysis metrics would be impractical to calculate on such a scale.  So we must take a statistically-significant sub-sample of the graph.&lt;br /&gt;&lt;br /&gt;There are a few common graph sampling methods - node sampling, link sampling, snowball sampling...  And actually, the most intuitive approach appears to be the best.  We pick one seed node (a myspace artist) and perform a breadth-first search, getting all of the seed's friends, then all there friends and so on.  This is called &lt;span style="font-style: italic;"&gt;snowball sampling&lt;/span&gt; because the sample grows in exponentially larger layers like a snowball rolling down a hill.  Some previous work indicates this is (currently) the preferred method for sampling online social network services [&lt;a href="http://portal.acm.org/citation.cfm?id=1242572.1242685"&gt;1&lt;/a&gt;, &lt;a href="http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&amp;amp;id=PLEEE8000073000001016102000001&amp;amp;idtype=cvips&amp;amp;gifs=yes"&gt;2&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;However, we have a slightly different problem because we are examining the myspace graph from a different perspective.  Our approach is unique in that we apply two filtering methods:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;We are (for now) only interested in 'artist' myspace users&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We only include the 'top friends' on a profile page as new nodes&lt;/li&gt;&lt;/ol&gt;We only include artist accounts because we are interested in the artist graph.  Artist-based social graphs have been analyzed before, but the source of this graph information has always been critical reviews such as &lt;a href="http://wm06.allmusic.com/"&gt;AllMusicGuide&lt;/a&gt;.  The myspace artist graph will only contain relationship explicitly specified by the artists themselves.&lt;br /&gt;&lt;br /&gt;The second filtering method is more troublesome with respect to graph sampling.  Myspace allows users to specify 'top friends'.  These are friend accounts that are displayed on the users profile page.  This means our artist graph becomes a &lt;span style="font-style: italic;"&gt;directed graph&lt;/span&gt; (if I am your top friend, you are not necessarily my top friend).  This is a blessing and a curse for reasons I won't get into here.  Using only the top friends in our graph reduces the noise inherent in the network - many friends may just be fans or spammers.&lt;br /&gt;&lt;br /&gt;However, restricting our sampling to the top friends has the effect of artificially limiting the out-degree of every node in our graph.  Myspace allows users to specify anywhere between 4 and 40 top friends but most users seem to stick with the default of 16 top friends.  Of course, even for an artist account, not all top friends will be artists.  So the out-degree distribution will vary from node to node.  Of course, the in-degree of each node will be a more interesting measure for our graph.  An artist with a high in-degree can be assumed to be rather influential as he is specified as a top friend by many other artists.  There are a few important questions that arise related to the restricted out-degree:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;When the out-degree of each node is restricted, is snowball sampling still a valid approach?&lt;/li&gt;&lt;li&gt;Are the standard complex network metrics still as meaningful when the out-degree is restricted.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;I don't know the answer.  I'm asking...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-7970070156392085405?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/7970070156392085405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=7970070156392085405' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7970070156392085405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/7970070156392085405'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/sampling-massive-online-social-networks.html' title='Sampling massive online social networks'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-3513289844306205307</id><published>2007-11-02T04:05:00.000-07:00</published><updated>2007-11-02T04:10:44.094-07:00</updated><title type='text'>MyPySpace SF project</title><content type='html'>I've been working with Ben Fields on a projected related to social networks and music recommendation.  The basic idea is to crawl the Myspace network focusing on *artists* and the relations they specify.  The assumption is that relationships specified by the artists themselves are in some sense musically meaningful and could form the basis for good music recommendations.  We hope to combine this approach with audio-based similarity techniques.&lt;br /&gt;&lt;br /&gt;The project is available on &lt;a href="http://sourceforge.net/projects/mypyspace"&gt;sourceforge&lt;/a&gt;, but everything is very alpha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-3513289844306205307?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/3513289844306205307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=3513289844306205307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3513289844306205307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/3513289844306205307'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/mypyspace-sf-project.html' title='MyPySpace SF project'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5433680558328609491.post-2545957653750253481</id><published>2007-11-01T04:27:00.000-07:00</published><updated>2007-11-01T04:33:06.792-07:00</updated><title type='text'>Hello</title><content type='html'>So I'm starting a blog.  I am research student at Queen Mary's &lt;a href="http://www.elec.qmul.ac.uk/digitalmusic/index.html"&gt;Centre for Digital Music&lt;/a&gt;  and I thought this would be a good way to log my progress.  My research relates to music information retrieval - basically finding the music you want amongst today's overwhelming volume of digital material.  Most of my experience (up till now) has been in audio signal processing.  But now I'm exploring a combination social networks and audio-based analysis as a means to create music recommendation systems...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5433680558328609491-2545957653750253481?l=kurtisrandom.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kurtisrandom.blogspot.com/feeds/2545957653750253481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5433680558328609491&amp;postID=2545957653750253481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2545957653750253481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5433680558328609491/posts/default/2545957653750253481'/><link rel='alternate' type='text/html' href='http://kurtisrandom.blogspot.com/2007/11/hello.html' title='Hello'/><author><name>kurt jacobson</name><uri>http://www.blogger.com/profile/12893784886271353733</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
