Wednesday Nov 15, 2006

The zune just can't get a break. It's launching this week and there's a ton of bad press:

BusinessWeek has a special report this week called Last.FM: Mashing to the Music.  In the article Dan Carlin uses Last.FM to explain the phenomenon of  mashups to their business-oriented reader, answering the question of why do these Web 2.0 companies share their data so freely.

Monday Nov 13, 2006

Snapp Radio is a mashup of and flickr - it serves up flickr images based on the mood and the theme of the song.  In general, it does a good job of giving you songs that are related to mood or theme of the song.  Unfortunately, this means that sometimes, the pictures that get served up can be rather raunchy - start listening to some old time grungy blues, or punk and sooner or later you'll be seeing pictures that are definitely not safe for work.  When I started this project I was under the impression that Flickr was pretty much a PG-13 venue - but since working on Snapp Radio I've learned that it sometimes veers into the R or even NC-17 territory.  And so I needed to write a  porn filter.  

The first thing I learned about writing a porn filter is that it is rather inconvenient to do this at work.  Here's the work flow:

  • Fire up snapp radio
  • Start listening to some suspect music (punk usually does it)
  • Watch the pictures
  • Wait for a Not-Safe-For-Work picture (it won't be long)
  • When one arrives, click on it to bring up the Flickr page for the picture so you can examine the tags to add them to the filter

At this point it is likely that one of your colleagues (Nicole or Joan perhaps), will walk into your office to chat - and notice that your screen is covered with some questionable photos,  the punk music is blaring and you have a sheepish look on your face.  What to do?

After suffering through such embarrassments I eventually compiled a list of words that I can use to filter out most NSFW images - keeping snapp radio safe for all those work  bound music listeners.


Sunday Nov 12, 2006

Netbeans 5.5 has a whole bunch of new features designed to help build web services.  Roumen Stroble has put together a 30 minute flash demo showing how to use the netbeans platform to build a web app  that includes a web client, web service and database - it is really a great demo of how far the tools have come to help building these web apps.  I think the speed of development for a web service using netbeans now rivals that of Ruby on Rails or some of the other agile web frameworks. (Despite what Tim Bray says).  Check out the demo at the netbeans site here: Building Applications with Netbeans 5.5

Saturday Nov 11, 2006

One of the nifty new features of iTunes 7.0 is that it is now tracking 'skip count' - the number of times that a song has been skipped (a song is skipped when the 'next song' button is used to advance to the next song before the song has completed).  The skip count opens up all sorts of playlisting possibilities -  for instance, now you can create smart playlists that always avoid songs that have been skipped more than 3 times.

There are some examples of using the skip count to create interesting smart playlists (and some other types of playlists) in this entry at 43 folders:  5 Tricks for packrats and power users

Friday Nov 10, 2006

In order to learn a bit about the (so called) web 2.0 technologies, I wrote a web mashup of Flickr, and Radio Paradise (an internet radio station)  called Snapp Radio.   Snapp Radio is internet radio for the eyes.  While you listen to music from or Radio Paradise, Snapp Radio shows you pictures that are related to what you are listening to.  Chris Dahlen of Pitchfork succinctly describes snapp radio:

Put simply, it's a slideshow tied to an internet radio station: As you listen to a song, Snapp rolls a series of photos that have some connection to the music-- whether it's a shot of the band, an image tied to the name of the song, or just a response to a theme or a mood.

When the Clash's "Trains in Vain" starts playing, you see the kind of images you'd expect-- the band on tour, and a collection of punk and new wave pins on a worn leather jacket. Then you see street riots, police beating protesters, and some kind of battle, followed by a portrait of President George W. Bush smiling beside Karl Rove-- and then you get a photo of a garrish living room set that doesn't match the wallpaper: the furniture is "clashing." That's right, the software has a sense of humor, and when the next song comes up and it's the Allman Brothers? You see a photo of a racoon playing an upright bass.

Snapp Radio works by collecting information about the song, artist and album along with the social tags that listeners have attached and using this information to search flickr for images that are related to the music. Some images are concrete - concert photos of the band - while others are much more abstract -  it all depends on the tags.

Here are some screen shots of Snapp Radio - but it is really best experienced live - so if you are at a computer where you can listen to streaming music, head on over to Snapp Radio, fire up an audio stream from or Radio Paradise and enjoy the show.




Chris Dahlen's latest column in Pitchfork:  Fire the Critics attempts to predict the future of music criticism - trying to answer the question of where professional criticism will fit in to a world  filled with millions of music bloggers, music discovery engines and social tagging (which in some sense is just a music  review boiled down to a single word).  Chris uses Snapp Radio as an example of what the future of music criticism will look like.  Just as Snapp Radio can draw on the 'wisdom of the crowds' to select images that fit in with music - people will draw on the wisdom of the crowds to  discover and to be surprised by new music.  Chris says: 'the responses of thousands of people are going to surprise me more than a handful of people in a magazine office'. Chris does say there is still room for the professional critic. The critic's role now is writing real criticism - compelling, original, well-argued writing -  to challenge the buzz, to demand more from the artists and the listeners,  to 'stir up trouble'.

Thursday Nov 09, 2006

I'm writing this blog post from the Anne Marie House - this is 'transitional housing'  for families with  young children that have no home.  Currently Anne Marie House is hosting 6 families - including 7 children (4 under the age of one year old).  Anne Marie House is run by the Greater Nashua Interfaith Hospitality Network, an organization of the various local houses of worship (of all faiths). The goal is to provide safe, clean, substance free housing for homeless families, especially those with young children.  The house is run by volunteers from the participating churches and temples - the volunteers provide meals, hosting, security, organization - everything a small hotel would need.  So every 6 weeks or so I volunteer to spend an night at the house as an overnight host. And let me tell you, as far as volunteer jobs, this is a pretty easy one.  There's wifi (thus the blog), a clean bed (bring your own sheets), and lots of smiles from the kids who are staying here.  This is a great community effort - hundreds of volunteers rotate through this house every month- and it really is making a difference is hundreds of lives - especially kids who would not have a place to sleep otherwise.  
I updated my laptop this week to Ubuntu Dapper - and now for the first time ever, I have a laptop that not only suspends - but resumes as well.   With  my version of Ubuntu (Hoary), my laptop would only suspend - the resume function left as an exercise for the user.  And of course without a resume, the suspend is quite a bit less useful.   Now, I'm enjoying the new suspend function - I started rebuilding a local copy of the musicbrainz database this morning from my home office. It was in the middle of a lengthy indexing operation when it was time for me to drive in - so I just suspended the laptop and stuck in the bag - when I got to work I just fired it up and it kept on working ... now I know this is no big thing for all you Mac and Windows laptop users but for me its a really big deal <borat> Very Nice!</borat>

Over at techcruch I see that iLike has added YouTube videos to their website.  Click on a song and you not only get the option to preview an audio clip or buy the song from iTunes or Amazon - you can now watch a related YouTube video.  That's pretty cool. I think these sorts of things really help the music exploration process. 

I wonder, however, if iLike has made an arrangement with YouTube. Their usage of YouTube videos seems to violate the YouTube terms of service:

YouTube provides an "Embeddable Player" feature, which you may incorporate into your own personal, non-commercial websites for use in accessing the materials on the Website, provided that you include a prominent link back to the YouTube website on the pages containing the Embeddable Player.
IANAL but it would seem to me that iLike's site is a commercial website (presumably they are making money - perhaps via iTunes/Amazon referrals) which would violate the non-commerial TOS (nevermind that they don't have the prominent link back to YouTube).  So perhaps they have a commercial arrangement with YouTube - or perhaps they are just hoping to fly under YouTube's radar. 


For the longest time, I was a vi/make or vi/ant guy.  Vi (really VIM) did everything I needed when writing software.  Plus, 25 years of typing in VI really ingrains the finger macros.  About a year ago I made the switch to Netbeans - and I must say that it really is a superior environment to the old standby.  (I'll miss you vi-my old friend, sniff) .

 Netbeans does a great job of supporting the build environment for a web application. It manages all of the complicated deployment descriptors for you and neatly builds a war file that you can deploy to your app server.  It is very easy to build and deploy these web apps.

 Yesterday, I was making a minor change to my web mashup - a change to a constant in the code, and some updates to some HTML.   I built the war file, tested it inside netbeans - everything worked fine - and then deployed it to the external web server - uh oh - no dice - the main page of the web app was only partially loaded, strange javascript errors on the console, nothing is working.  Good thing I had a back up of the previous war file - I uploaded the old version and it worked just fine.

Now to debug this ... since the changes were incredibly minor I couldn't fathom what was causing the problem, add to that the fact that the app ran fine when tested locally.  I suspected a corrupt war file - so I built a new one from scratch and deployed it - same problem.  Argh!  - time to widen the search.   Now one major change was that I did a reinstall of my OS on my laptop (my primary development environment) - so I had a fresh copy of Netbeans and the JDK - perhaps this was the problem - and then there was that magic click that occurs in the programmer brain when everything all falls into place and the solution to the problem becomes clear.  It's the aha! moment that makes programming so much fun.  Of course the problem was that I was building with the latest and greatest JDK 1.6 - while my web server is running a version of Tomcat running under Java 1.5 - way down deep I was receiving class loading errors due to the incompatible classes (you can't run bytecodes compiled with 1.6 under a 1.5 VM).  A quick install of JDK 1.5, a rebuild of the war file - a quick deploy - yep! everything's working now.

This has to be a fairly common error - and it seems that it would be fairly simple for tomcat to detect - it certainly would have saved me time if Tomcat had rejected my war file and given me an error message about the Java version skew during the deploy.

Wednesday Nov 08, 2006

I've been using the Flickr web services API for a web mashup.  The Flickr API is quite easy to use (especially if you use the Flickrj Java API) and as long as you follow the Flickr terms of service you  are free to take advantage of the API.   One of the terms of service is "You shall not display more than 30 Flickr user photos per page in your application or use an unreasonable amount of bandwidth." - the tricky bit is the 'unreasonable amount of bandwidth'. What may be perfectly reasonable to me, may be not so nice for Flickr.  Since I need a Flickr  Key to use the API,  Flickr can track my usage of the API, so I've always been a bit worried that sooner or later Flickr would decide that I was using an unreasonable amount of bandwidth and shut me down.

Flickr does help you track your usage.  If you visit your Flickr API key page you'll see a link to your usage statistics for each of your API keys.  On the statistics page Flickr shows you all sorts of interesting data about how you've used your key. 

 Here's an excerpt of my Flickr key Stats page:

Flickr is telling me that I'm making about 43,000 calls per day - about one every 2 seconds.  This matches my back-of-the-envelope estimate.  The plots are nice as well, showing that I have very stable access pattern.  The coloring is a bit worrisome - I guess I am in the 'red zone'.  It looks like if I want to stay under the Flickr radar I'll need to cut back my accesses to about 50% of what I'm making now.   But since they haven't complained yet - we'll see how long we can go at the current access rate.

Flickr has over 250,000,000 photos, it is an incredible resource - and having an API that lets us write apps using the data just makes the Flickr data more valuable. 


The comment spam has just become to overwhelming - so I've turned on comment moderation.  Hopefully this will put an end to the spam... 
According to this press release SoundFlavor has licensed MusicDNSMusicIP's audio fingerprinting technology.  MusicDNS uses an audio fingerprint to unambiguously assign a song id to an audio track, eliminating the problems that result from missing, incomplete or wrong ID3 tags.  I've been hoping for quite a while that a single Song ID system will emerge as dominant so that it will be easy for the various members of the music ecosystem to work together. It looks like MusicDNS is starting to gain some traction - their association with MusicBrainz (the open source for music metadata) really helps.    Soon MusicDNS will hit the tipping point and become the de facto Song ID standard

Tuesday Nov 07, 2006

Abbey Road
Originally uploaded by Digger Digger Dogstar.
There are lots of Beatles pictures on Flickr. There are lots of Lego pictures on Flickr. But there are not too many Beatles+Lego pictures on Flickr. Most of them are by this guy: Digger.  <borat> Very Nice! </borat>

This blog copyright 2010 by plamere