<?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-5700624324073277963</id><updated>2012-01-18T20:12:17.883-08:00</updated><category term='flash'/><category term='amazon web services'/><category term='dynamic DNS'/><category term='synesthesia'/><category term='MIR'/><category term='harmonograph'/><category term='air guitar'/><category term='games'/><category term='music visualization'/><category term='AMI'/><category term='actionscript'/><category term='EC2'/><category term='herd it'/><category term='AWS'/><title type='text'>Doubtful Sound</title><subtitle type='html'>Music + Technology = Nerd Rock</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-5698495090979672196</id><published>2010-03-10T15:37:00.001-08:00</published><updated>2010-03-10T16:03:27.333-08:00</updated><title type='text'>Klosterman's Rock Lexicon</title><content type='html'>I am currently reading an excellent book called "&lt;a href="http://www.amazon.com/Killing-Yourself-Live-True-Story/dp/0743264452"&gt;Killing Yourself to Live&lt;/a&gt;" where author &lt;a href="http://en.wikipedia.org/wiki/Chuck_Klosterman"&gt;Chuck Klosterman&lt;/a&gt; visits the sites of many famous rocknroll deaths including Elvis, Lynyrd Skynrd and Kurt Cobain.  Klosterman is one of my favorite writers and all of &lt;a href="http://www.spin.com/writers/chuck-klosterman"&gt;his pieces for Spin&lt;/a&gt; are worth checking out.&lt;br /&gt;&lt;br /&gt;As I spend my days building machines that can describe music, Klosterman's exposition on the &lt;a href="http://www.spin.com/articles/rock-lexicon"&gt;meaninglessness of rock genres&lt;/a&gt; struck a chord with me.  Researchers spend many hours and write many papers trying to classify genre, yet often most human listeners don't even understand these arbitrary terms.  As a rock journalist, it's Chuck's job to help clear up this confusion!   Here are a few examples of his wisdom:&lt;br /&gt;&lt;br /&gt;SHOEGAZE: &lt;span style="font-style: italic;"&gt;Music by artists who stare at their feet while performing—presumably because they are ashamed to be playing such shambolic music to an audience of weirdos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PSYCH: &lt;span style="font-style: italic;"&gt;(as in “psychedelic”) ... This is music for drug addicts, made by drug addicts.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IDM: &lt;span style="font-style: italic;"&gt;This is an acronym for “Intelligent Dance Music.” Really. No, really. I’m serious. This is what they call it. Really.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, even if your classifier can't tell "post rock" from "prog rock", now at least you have no excuse!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-5698495090979672196?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/5698495090979672196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=5698495090979672196' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5698495090979672196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5698495090979672196'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2010/03/klostermans-rock-lexicon.html' title='Klosterman&apos;s Rock Lexicon'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-948811597360184686</id><published>2010-01-13T10:54:00.000-08:00</published><updated>2010-01-13T11:07:22.044-08:00</updated><title type='text'>The Slashdot Shark</title><content type='html'>On November 5th, 2009, I achieved every nerd's dream when a story about my research on music analysis, iTunes' Genius feature and my music game &lt;a href='http://www.herdit.org/?refcode=doubtfulsound'&gt;Herd It&lt;/a&gt; was &lt;a href="http://apple.slashdot.org/story/09/11/05/227236/Going-Head-To-Head-With-Genius-On-Playlists?art_pos=3"&gt;featured on Slashdot&lt;/a&gt;, spending over 24 hours on the front page!  Better than a Ph.D, a love of Unix or a lifetime pass to the Star Trek convention, this certifies me as a complete geek. w00t!&lt;br /&gt;&lt;br /&gt;Of course, the best result from all this was that we got lots of traffic to Herd It and collected some great data.  Many sites have talked about the surge in traffic - and website crashes - that results from being Slashdotted but Herd It fared pretty well, once I suspended the huge, inefficient MySQL query I use to calculate scoreboards.  Alas, all these new users were fleeting... such is life.  Looking at Herd It's Google Analytics, there was a big bump on days 1 and 2 (while we were on the homepage) which dropped of steadily over the subsequent week until we were back to just about our original level.  This must be a phenomenon that is seen with many one-shot promotions (news stories, price drops, superbowl ads) and inspired me to coin the term "The Slashdot Shark".  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GILSDfdDB5g/S04Zh5LgiqI/AAAAAAAAAZY/cGxkt3xW58A/s1600-h/slashdotShark.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 420px;" src="http://4.bp.blogspot.com/_GILSDfdDB5g/S04Zh5LgiqI/AAAAAAAAAZY/cGxkt3xW58A/s320/slashdotShark.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5426302671103494818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Without warning, a huge fin rises from the depths, strikes and then disappears, leaving carnage and destruction in its wake!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-948811597360184686?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/948811597360184686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=948811597360184686' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/948811597360184686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/948811597360184686'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2010/01/slashdot-shark.html' title='The Slashdot Shark'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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/_GILSDfdDB5g/S04Zh5LgiqI/AAAAAAAAAZY/cGxkt3xW58A/s72-c/slashdotShark.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-1705821645560217404</id><published>2009-11-27T02:08:00.000-08:00</published><updated>2009-11-27T02:51:11.672-08:00</updated><title type='text'>Talking Turkey</title><content type='html'>Today was my 8th Thanksgiving in America.  Far out.&lt;br /&gt;&lt;br /&gt;Today also marked my 4th or 5th turkey cooking.  I synthesized the recipe from various websites as well as my own growing experience.  Every year, everyone invariably tells me that the dinner was delicious but today was the first time that I was personally really happy with how the turkey turned out.  Here's how I did it...&lt;br /&gt;&lt;br /&gt;Step 1 - Brine the bird. &lt;br /&gt;Something I'd heard about but never tried.  Apparently, bringing the bird releases more juices and moistens the meat, avoiding the pitfalls of over cooking and enabling a nice, slow roast.&lt;br /&gt;I prepared a solution of salt, brown sugar, ginger, pepper and spices, dissolved and boiled in about 2 gallons of water.  It was a challenge to come up with a suitable receptacle in which to marinate the 17lb turkey in all this flavorful goodness.  A water jug was too small, a bath tub was too big and our mop bucket was too gross. The eureka moment came when I realized that the vegetable crisper in the fridge was perfect:&lt;br /&gt;1) It holds about 5 gallons of volume (liquid + avian),&lt;br /&gt;2) It is readily refrigerated,&lt;br /&gt;3) It is easy to remove and transport.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GILSDfdDB5g/Sw-qUPsIuGI/AAAAAAAAAY0/KtV2V4ICQKA/s1600/brining1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_GILSDfdDB5g/Sw-qUPsIuGI/AAAAAAAAAY0/KtV2V4ICQKA/s320/brining1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5408728942281013346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GILSDfdDB5g/Sw-qUkwHL2I/AAAAAAAAAY8/AwIeUKMIRD4/s1600/brining2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_GILSDfdDB5g/Sw-qUkwHL2I/AAAAAAAAAY8/AwIeUKMIRD4/s320/brining2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5408728947934834530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 2 - Stuff and butter&lt;br /&gt;I fried 2 large onions, 2 apples and assorted spices and herbs until golden and aromatic.  I mixed this with butter and breadcrumbs and mashed it into the bird's neck and body cavities, being careful not to over-stuff.   Finally, I rubbed the outside of the bird with butter, propped it up on a few half limes and stuck it in the oven at 500degF&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GILSDfdDB5g/Sw-owyQDxvI/AAAAAAAAAYs/excYc3J85Sg/s1600/stuffed.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_GILSDfdDB5g/Sw-owyQDxvI/AAAAAAAAAYs/excYc3J85Sg/s320/stuffed.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5408727233571571442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 3 - Golden tent&lt;br /&gt;After 20 minutes of butter-burning, skin-browning roasting, I took the turkey camping.  I wrapped it in foil to stop further browning and dropped the temp to 335F (the recipes I had read mostly said 325 but a few said 350, so I split the difference).&lt;br /&gt;&lt;br /&gt;Step 4 - Fixins&lt;br /&gt;With help from many friends, we prepared lashings of roast spuds, butternut squash puree, cranberry sauce, bruschetta, spinach-filo wraps, fresh-baked bread, and my mum's world-championship winning cheese cauliflower.  I made gravy from the turkey drippings combined with turkey stock I'd made the day before from the giblets: &lt;br /&gt;best. gravy . ever.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GILSDfdDB5g/Sw-sifkGRWI/AAAAAAAAAZM/ZT2_rjrmXng/s1600/yum.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_GILSDfdDB5g/Sw-sifkGRWI/AAAAAAAAAZM/ZT2_rjrmXng/s320/yum.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5408731386083689826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 5 - 4 hours later...&lt;br /&gt;After much wine, appetizers and New Super Mario Bros. Wii, it was time to eat.  I took off the foil tent to let the skin brown for 20 minutes more and then let bird sit for another 20 mins.  Once our mouths were sufficiently drooling, I carved the clear-juiced but still moist turkey.  &lt;br /&gt;Quote of the meal:      "Turkeys are bigger than chickens..."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GILSDfdDB5g/Sw-roinkzxI/AAAAAAAAAZE/yxSihmU5tnY/s1600/letseat.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_GILSDfdDB5g/Sw-roinkzxI/AAAAAAAAAZE/yxSihmU5tnY/s320/letseat.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5408730390471167762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 6 - Post-prandial paralysis.  &lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Tryptophan"&gt;Tryptophan&lt;/a&gt; coma combined with not one, not two, but three deserts (pumpkin pie, blueberry grunt and tiramisu) left most of us on the couch for the next few hours.  12-year old scotch, capitalist calculations and Wii Sports kept us alive but mostly I was just thankful for my functioning digestive system.&lt;br /&gt;&lt;br /&gt;Step 7 - Turkey sandwiches.&lt;br /&gt;I'd say we ate about 35% of the bird tonight.  Who likes mayonnaise?&lt;br /&gt;nom nom nom&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-1705821645560217404?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/1705821645560217404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=1705821645560217404' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1705821645560217404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1705821645560217404'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/11/talking-turkey.html' title='Talking Turkey'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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/_GILSDfdDB5g/Sw-qUPsIuGI/AAAAAAAAAY0/KtV2V4ICQKA/s72-c/brining1.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-8235901656542889151</id><published>2009-11-14T17:04:00.000-08:00</published><updated>2009-11-14T17:24:44.423-08:00</updated><title type='text'>mmm, analog pie</title><content type='html'>My office, the official HQ of the &lt;a target='_blank' href='http://cosmal.ucsd.edu/cal/'&gt;UCSD Computer Audition Lab&lt;/a&gt;, is full of servers, monitors and academic papers.  But it was decidedly lacking in cool musical and electrical devices necessary for a real "laboratory".  All that changed last month when I finally fixed my &lt;a href='http://www.paia.com/theremax.asp' target='_blank'&gt;Paia Theremax&lt;/a&gt; theremin and &lt;a target='_blank' href='http://cseweb.ucsd.edu/~bmcfee/'&gt;Brian&lt;/a&gt; setup his old &lt;a href='http://www.paia.com/hallofam/' target='_blank'&gt;Paia 4700&lt;/a&gt; analog synth.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GILSDfdDB5g/Sv9WjPnZuUI/AAAAAAAAAYc/i-RVMryWvaY/s1600-h/Paia4700%2Btheremax.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_GILSDfdDB5g/Sv9WjPnZuUI/AAAAAAAAAYc/i-RVMryWvaY/s320/Paia4700%2Btheremax.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5404133241355090242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GILSDfdDB5g/Sv9VTq6ejHI/AAAAAAAAAYM/QthncvbSPjw/s1600-h/IMG_0177.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_GILSDfdDB5g/Sv9VTq6ejHI/AAAAAAAAAYM/QthncvbSPjw/s320/IMG_0177.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5404131874293320818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We've been making some pretty crazy sounds (I hooked the theremin output to the synth's filter for some awesome effects) and finally, we've got a lab worthy of the mad science we do!  The guys in the office next door aren't quite so excited...&lt;br /&gt;&lt;br /&gt;Most bands are used to getting their reference tuning from the piano / keyboard player.  But one of the trickiest tasks was &lt;i&gt;tuning&lt;/i&gt; the keyboard:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GILSDfdDB5g/Sv9XtwLkGVI/AAAAAAAAAYk/QdKgrSaPIc8/s1600-h/IMG_0178.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_GILSDfdDB5g/Sv9XtwLkGVI/AAAAAAAAAYk/QdKgrSaPIc8/s320/IMG_0178.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5404134521407019346" /&gt;&lt;/a&gt;&lt;br /&gt;Adjusting a potentiometer behind each key changes it's output voltage and thus its pitch.  Of course, then you still have to tune the oscillators... I don't know how anyone ever performed with these things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-8235901656542889151?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/8235901656542889151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=8235901656542889151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/8235901656542889151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/8235901656542889151'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/11/mmm-analog.html' title='mmm, analog pie'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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/_GILSDfdDB5g/Sv9WjPnZuUI/AAAAAAAAAYc/i-RVMryWvaY/s72-c/Paia4700%2Btheremax.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-7720343994952413281</id><published>2009-11-04T00:09:00.000-08:00</published><updated>2009-11-04T00:37:00.334-08:00</updated><title type='text'>Google Music... what's the big song and dance?</title><content type='html'>I &lt;a href="http://doubtfulsound.blogspot.com/2009/10/google-for-music-by-google.html"&gt;posted recently&lt;/a&gt; that Google's Music search has launched.  Unlike most Google products (search, GMail, Maps, and, eh, Wave?), it's kind of underwhelming.  You type in the name of a song or an artist and you get to listen to the song.&lt;br /&gt;Once.&lt;br /&gt;Maybe - sometimes you only get a 30 sec clip.&lt;br /&gt;&lt;br /&gt;I can get 30 second clips (of more songs) on iTunes.&lt;br /&gt;I can get full songs on &lt;a href="http://lala.com/"&gt;LaLa&lt;/a&gt;, &lt;a href="http://listen.grooveshark.com/"&gt;GrooveShark&lt;/a&gt;, &lt;a href="http://www.rhapsody.com/"&gt;Rhapsody&lt;/a&gt;/&lt;a href="http://www.ilike.com/"&gt;iLike&lt;/a&gt;.&lt;br /&gt;I can listen to as often as I want on YouTube, &lt;a href="http://www.tuberadio.fm/"&gt;TubeRadio&lt;/a&gt;, &lt;a href="http://blip.fm/"&gt;blip.fm&lt;/a&gt; and &lt;a href="http://spotify.com/"&gt;Spotify&lt;/a&gt; (if I live in Europe or am a hacker).&lt;br /&gt;I can even download them (in case you didn't know) on &lt;a href="http://beemp3.com/"&gt;BeeMP3&lt;/a&gt;, &lt;a href="http://mp3raid.com/"&gt;MP3Raid&lt;/a&gt;, BitTorrent, LimeWire, Gnutella, eMule, etc. etc. etc.&lt;br /&gt;&lt;br /&gt;And I'm not the first to complain about this &lt;a href="http://musicmachinery.com/2009/10/28/googles-new-music-search/"&gt;watered down&lt;/a&gt;, &lt;a href="http://www.theregister.co.uk/2009/10/22/google_facebook_music_widget_fail/"&gt;industry serving&lt;/a&gt; jive.&lt;br /&gt;&lt;br /&gt;So what's the big deal?&lt;br /&gt;&lt;br /&gt;I would say that Google's music offering in the US is music &lt;span style="font-style: italic; font-weight: bold;"&gt;search&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;- if you know what you're looking for, Google will help you listen to or (they hope) buy it in a nice, familiar gInterface.&lt;br /&gt;What I'd like to see - and what &lt;a href="http://blogoscoped.com/archive/2009-09-18-n38.html"&gt;Google have launched in China&lt;/a&gt; to compete with search leader Baidu - is music &lt;span style="font-style: italic; font-weight: bold;"&gt;discovery&lt;/span&gt;.  I want to be able to search for "funky bluegrass that will get my hoedown party going" or "mellow romantic tunes that will get this girl to fall in love / go to bed with me".  Google can't do that.&lt;br /&gt;&lt;br /&gt;-- "Where can one search for music with words", I hear you ask?&lt;br /&gt;-- Why, Herd It's music discovery engine of course!&lt;br /&gt;I've built a music search engine where you can find any music, even &lt;a href="http://www.myspace.com/auditionlab"&gt;unknown, MySpace, long-tail, no-hopes,&lt;/a&gt;  by using words to describe what you want to hear.  It's going to change the way people discover music.  The discovery engine is in Beta testing right now so &lt;a href="http://herdit.org/music"&gt;sign up&lt;/a&gt; to check it out.  Or, to get a taste of what we're up to, you can try the fabulous &lt;a href="http://theremin.ucsd.edu/%7Elbarring/herdit/colors.php"&gt;Herd It color search&lt;/a&gt; demo - it's magically musicalicous!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-7720343994952413281?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/7720343994952413281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=7720343994952413281' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7720343994952413281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7720343994952413281'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/11/google-music-not-as-smart-as-we-thought.html' title='Google Music... what&apos;s the big song and dance?'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-6811404432624391161</id><published>2009-10-21T12:41:00.000-07:00</published><updated>2009-10-21T12:47:50.194-07:00</updated><title type='text'>Google for Music... by Google?</title><content type='html'>The big goal of &lt;a href="http://van.ucsd.edu"&gt;my research&lt;/a&gt; for the past few years has been to build a system that we liken to "Google for Music".  Using signal processing and machine learning to analyze music, we can automatically associate any songs with hundreds of descriptive tags.  This means that you can find music without knowing the name of the band / song / album you want - just by typing in words that describe what you want to hear.  To check out a prototype of our system, go to &lt;a href="http://herdit.org"&gt;HerdIt.org&lt;/a&gt; and sign up to be a Beta tester.  While you're there, play Herd It and make the search engine even smarter!&lt;br /&gt;&lt;br /&gt;Now it seems that Google is finally getting on board with this themselves.  After years of staying away from music (the legal, licensing and logistical difficulties scared even them), it seems like &lt;a href="http://www.techcrunch.com/2009/10/21/google-music-service-the-screenshots/"&gt;Google music may be coming soon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, all we need to do is get them to use our algorithms to make their search even better!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-6811404432624391161?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/6811404432624391161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=6811404432624391161' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/6811404432624391161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/6811404432624391161'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/10/google-for-music-by-google.html' title='Google for Music... by Google?'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-5638450379607105850</id><published>2009-10-21T01:08:00.000-07:00</published><updated>2011-03-09T13:16:05.987-08:00</updated><title type='text'>Modelling Music as a Dynamic Texture</title><content type='html'>My paper "Modeling Music as a Dynamic Texture" has been accepted for publication in IEEE Transactions on Audio, Speech and Language Processing!  This is work with my colleague and good buddy, &lt;a href="http://www.cs.cityu.edu.hk/~abchan/"&gt;Prof. Antoni Chan&lt;/a&gt;, and my advisor and good buddy, &lt;a href="http://cosmal.ucsd.edu/~gert/"&gt;Prof. Gert Lanckriet&lt;/a&gt; and is awesome for at least 5 reasons:&lt;ol&gt;&lt;li&gt;It presents a new, statistical model of musical audio that really takes time into account&lt;/li&gt;&lt;li&gt;It introduces - and solves - the "Bohemian Rhapsody problem" (in case you don't know what this is - try describing the sound of BoRhap in 5 words or less...)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Our model can automatically separate the verse, chorus, solo, bridge, etc parts of any song as well or better than anything else&lt;/li&gt;&lt;li&gt;It will be a chapter in my thesis&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I get to talk about Freddie Mercury's falsetto, Bjork and the Beatles in an academic paper&lt;/li&gt;&lt;/ol&gt;Lookout for the paper in a library near you before the end of the year!  We're working on extending the model to more Music Information Retrieval tasks like tagging and similarity.   In the meantime, check out some of &lt;a href="http://cosmal.ucsd.edu/cal/projects/segment/"&gt;our results on automatically segmenting music&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GILSDfdDB5g/St7H2MpNsJI/AAAAAAAAAX8/cz8o92c3dEs/s1600-h/BoRhap6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 162px;" src="http://2.bp.blogspot.com/_GILSDfdDB5g/St7H2MpNsJI/AAAAAAAAAX8/cz8o92c3dEs/s320/BoRhap6.png" alt="" id="BLOGGER_PHOTO_ID_5394969137557385362" border="0" /&gt;&lt;/a&gt;Listen to the 35-second version of Bohemian Rhapsody! &lt;embed style="vertical-align: bottom;" src="http://cosmal.ucsd.edu/%7Elbarring/pubs/BoehmianRhapsody_35secs.mp3" type="audio/mpeg" autostart="false" repeat="false" loop="false" align="BOTTOM" width="50" height="25"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-5638450379607105850?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/5638450379607105850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=5638450379607105850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5638450379607105850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5638450379607105850'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/10/modelling-music-as-dynamic-texture.html' title='Modelling Music as a Dynamic Texture'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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/_GILSDfdDB5g/St7H2MpNsJI/AAAAAAAAAX8/cz8o92c3dEs/s72-c/BoRhap6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-6737287337451145672</id><published>2009-10-12T15:22:00.001-07:00</published><updated>2009-10-12T15:36:26.576-07:00</updated><title type='text'>Calling library objects from a loaded SWF</title><content type='html'>&lt;a href="http://herdit.org/?refcode=doubtful"&gt;Herd It&lt;/a&gt; is a Flash application that loads lots of external SWFs - to play minigames, show results, etc. - into the main SWF loaded by the player.  The problem is that, any object that is defined in the loaded, external SWF is not known to the main SWF in advance and so can not be referenced by the main SWF's ActionScript code.&lt;br /&gt;&lt;br /&gt;When you load the external SWF as a &lt;span style="font-family: courier new;"&gt;Loader&lt;/span&gt;, you &lt;span style="font-weight: bold;"&gt;can&lt;/span&gt; refer to objects on it's stage using:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myLoader:Loader = new Loader();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myUrlReq:URLRequest = new URLRequest("data.swf");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;myLoader.load(myUrlReq);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myObject:* = myLoader.content["myTimelineObject"];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I always had thought that you couldn't access anything from the external SWF's library - until now!  Thanks to &lt;a href="http://newmovieclip.wordpress.com/2007/08/23/access-load-library-assets-from-another-swf-in-flash-cs3/#comment-21911"&gt;this blog post&lt;/a&gt; by Koen De Weggheleire (&lt;a href="http://www.whitestboyalive.com/"&gt;another&lt;/a&gt; &lt;a href="http://www.chimay.com/"&gt;good&lt;/a&gt; &lt;a href="http://cosmal.ucsd.edu/%7Egert/"&gt;thing&lt;/a&gt; to come from Belgium), I have learned that it &lt;span style="font-weight: bold;"&gt;IS&lt;/span&gt; possible to access the external SWF's library.&lt;br /&gt;First, we load the loader:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myLoader:Loader = new Loader();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myUrlReq:URLRequest = new URLRequest("data.swf");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;myLoader.load(myUrlReq);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once the loader has loaded (you may want an Event.COMPLETE handler to wait for this), we can now find objects in the external SWF's library using the &lt;span style="font-family: courier new;"&gt;contentLoaderInfo&lt;/span&gt;'s &lt;span style="font-family: courier new;"&gt;applicationDomain&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var LibraryClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("LibraryClassName") as Class;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var myLibraryObject:MovieClip = new LibraryClass as MovieClip;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nice one, Belgium!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-6737287337451145672?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/6737287337451145672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=6737287337451145672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/6737287337451145672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/6737287337451145672'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/10/calling-library-objects-from-loaded-swf.html' title='Calling library objects from a loaded SWF'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-746254053237771202</id><published>2009-07-02T12:26:00.001-07:00</published><updated>2009-07-02T12:26:44.497-07:00</updated><title type='text'>naku penda piya, naku taka Piya</title><content type='html'>&lt;div class="gmail_quote"&gt;...&lt;a href="http://www.youtube.com/watch?v=3ethtD4R1kk&amp;amp;NR=1" target="_blank"&gt;mpenziwe&lt;/a&gt;&lt;br&gt;&lt;br&gt;A &lt;a href="http://www.youtube.com/watch?v=En-cHBv7UpA" target="_blank"&gt;light-stepping&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=ex30DYwQlHU" target="_blank"&gt;gravity-defying&lt;/a&gt;, &lt;br&gt;   &lt;a href="http://www.youtube.com/watch?v=rENoOBFrOlw" target="_blank"&gt;time-traveling&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=cupnsUDyjuA" target="_blank"&gt;super-modeling&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=pEVj2_9Fojo" target="_blank"&gt;puppet racing&lt;/a&gt;, &lt;br&gt;   &lt;a href="http://www.youtube.com/watch?v=vNl2Pm9-7Vk" target="_blank"&gt;spaceship-flying&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=AtyJbIOZjS8" target="_blank"&gt;grave-robbing&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=7hK3Y1Ehv9c" target="_blank"&gt;effect-cheezing&lt;/a&gt;, &lt;br&gt;   &lt;a href="http://www.youtube.com/watch?v=4_hz2am90Hk&amp;amp;feature=channel" target="_blank"&gt;tux-rocking&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=6DYgf_Cl59o" target="_blank"&gt;child-prodigy&lt;/a&gt;, &lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=YMe69xIlga8" target="_blank"&gt;crazy-dancing&lt;/a&gt;, &lt;br&gt;   &lt;a href="http://www.youtube.com/watch?v=7Hg-IRZk4D0" target="_blank"&gt;dirty-rocking&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://www.youtube.com/watch?v=s7MmEMrCRfc&amp;amp;feature=related" target="_blank"&gt;legend&lt;/a&gt;.&lt;br&gt; &lt;/div&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-746254053237771202?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/746254053237771202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=746254053237771202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/746254053237771202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/746254053237771202'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/07/naku-penda-piya-naku-taka-piya.html' title='naku penda piya, naku taka Piya'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-3627733257369543448</id><published>2009-05-14T17:31:00.000-07:00</published><updated>2009-05-14T17:39:53.753-07:00</updated><title type='text'>From a Queen Song to a Better Music Search Engine</title><content type='html'>&lt;a href="http://cosmal.ucsd.edu/cal/pubs/Barrington-MusicDTM-ICASSP09.pdf"&gt;My recent ICASSP paper&lt;/a&gt; described a Dynamic Texture Model that can capture both the timbral AND temporal qualities of music.  An article about this and how it contributes to our music search project by solving the "Bohemian Rhapsody Problem" just got posted on the &lt;a href="http://www.jacobsschool.ucsd.edu/news/news_releases/release.sfe?id=846"&gt;Jacob's School of Engineering Site&lt;/a&gt;, UCSD's site and EurekAlert.org!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jacobsschool.ucsd.edu/news/news_releases/release.sfe?id=846"&gt;Read the article here&lt;/a&gt; and check out how the system can automatically divide Bohemian Rhapsody into homogenous segments and then we can tag each segment individually, rather than treating the whole song as a single unit:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cosmal.ucsd.edu/cal/projects/segment/BohemianRhapsody.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 821px; height: 317px;" src="http://cosmal.ucsd.edu/cal/projects/segment/BohemianRhapsody.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-3627733257369543448?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/3627733257369543448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=3627733257369543448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3627733257369543448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3627733257369543448'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/05/from-queen-song-to-better-music-search.html' title='From a Queen Song to a Better Music Search Engine'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-8491885963661883973</id><published>2009-04-30T23:52:00.000-07:00</published><updated>2009-04-30T23:54:21.945-07:00</updated><title type='text'>Herd It in the news</title><content type='html'>Phenomenal reception to the Beta release of my music annotation game &lt;a href="http://apps.facebook.com/herd-it/"&gt;Herd It&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;First we got written up in &lt;a href="http://www.voiceofsandiego.org/articles/2009/04/16/science/952blackbox041509.txt"&gt;Voice of San Diego&lt;/a&gt; and that led to a &lt;a href="http://www.sandiego6.com/mediacenter/local.aspx?videoid=606084@xetv.dayport.com&amp;amp;navCatId=5"&gt;news spot on Channel 6&lt;/a&gt; (unfortunately, I was in Taiwan at ICASSP so Gert had to present!)&lt;br /&gt;&lt;br /&gt;Then Robyn Williams interviewed Gert and I on &lt;a href="http://www.abc.net.au/rn/scienceshow/stories/2009/2552119.htm"&gt;the Science Show&lt;/a&gt;, resulting in loads of new users (at some times, too many for our server!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apps.facebook.com/herd-it/"&gt;Play Herd It&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-8491885963661883973?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/8491885963661883973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=8491885963661883973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/8491885963661883973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/8491885963661883973'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/04/herd-it-in-news-april-2009-phenomenal.html' title='Herd It in the news'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-5845675886087851780</id><published>2009-03-12T23:31:00.000-07:00</published><updated>2009-04-02T16:57:20.603-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='harmonograph'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript'/><category scheme='http://www.blogger.com/atom/ns#' term='synesthesia'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Harmonograph</title><content type='html'>&lt;script src="http://www1.chapman.edu/~jipsen/mathml/ASCIIMathML.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;Ever since reading the funny little book, "&lt;a href="http://www.amazon.co.uk/exec/obidos/ASIN/1904263364/202-5583700-9799823"&gt;Harmonograph: A Visual Guide to the Mathematics of Music&lt;/a&gt;", I've been rather intrigued by the Harmonograph.  A &lt;a href="http://en.wikipedia.org/wiki/Harmonograph"&gt;harmonograph&lt;/a&gt; is a music visualization tool that was first devised in Victorian times.  It consists of two (or more) pendulums which oscillate with different frequencies and are both connected to a single pen or marker.  By tuning the frequencies to various harmonic intervals (octaves, fifths, thirds, etc.), the pattern drawn out by the pen traces various intricately beautiful geometric shapes.  Back in ye olde days, well-heeled toffs used to set up their harmonographs at dinner parties and everyone would get together and marvel at the trippy patterns it would create.  Presumably they were all bombed on opium at the time...&lt;br /&gt;&lt;br /&gt;Anyway, after reading the book, I realized that it would be reasonably simple to build my own "virtual" harmonograph.  I started some Actionscript code to implement the equations of motion for the pen:&lt;br /&gt;&lt;span style="font-size:130%;"&gt;$P_x = sin(\omega_x t)$&lt;/span&gt;   and   &lt;span style="font-size:130%;"&gt;$P_y = sin(\omega_y t)$&lt;/span&gt;&lt;br /&gt;where &lt;span style="font-size:130%;"&gt;$\omega_x$&lt;/span&gt; is the frequency of oscillation in the x-direction, corresponding to the first note in the interval.  Thus, to plot the interval between A4 and A5, we set &lt;span style="font-size:130%;"&gt;$\omega_x =$&lt;/span&gt; 440Hz and &lt;span style="font-size:130%;"&gt;$\omega_y =$&lt;/span&gt; 880Hz.  The resulting pattern looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GILSDfdDB5g/SboaUyrAQZI/AAAAAAAAAXw/SIvHOXb47yU/s1600-h/harmonographA4-A5.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 208px; height: 207px;" src="http://4.bp.blogspot.com/_GILSDfdDB5g/SboaUyrAQZI/AAAAAAAAAXw/SIvHOXb47yU/s320/harmonographA4-A5.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5312587654938771858" /&gt;&lt;/a&gt;&lt;br /&gt;The next step was to add the sound of the interval that is being plotted - this is something that the Victorian gadabouts couldn't do and I thought that it would really help to get some nice &lt;a href="http://en.wikipedia.org/wiki/Synaesthesia"&gt;synesthesia&lt;/a&gt; going on.  Enter Flash 10 and the new &lt;a href="http://www.adobe.com/products/flashplayer/features/"&gt;sound synthesis&lt;/a&gt; capabilities!&lt;br /&gt;&lt;br /&gt;So, invite over your dandy friends, bust out the opium pipe and enjoy the virtual harmonograph!&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" id="harmonograph" width="600" align="middle" height="480"&gt;&lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="false"&gt;&lt;br /&gt;&lt;param name="movie" value="http://cosmal.ucsd.edu/cal/projects/harmonograph/harmonograph.swf"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="bgcolor" value="#000000"&gt;&lt;embed src="http://cosmal.ucsd.edu/cal/projects/harmonograph/harmonograph.swf" quality="high" bgcolor="#000000" name="harmonograph" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" width="600" align="middle" height="480"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-5845675886087851780?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/5845675886087851780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=5845675886087851780' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5845675886087851780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5845675886087851780'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/03/harmonograph.html' title='Harmonograph'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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/_GILSDfdDB5g/SboaUyrAQZI/AAAAAAAAAXw/SIvHOXb47yU/s72-c/harmonographA4-A5.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-4877770023046255659</id><published>2009-02-19T17:41:00.000-08:00</published><updated>2009-02-19T19:16:26.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dynamic DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='AMI'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon web services'/><category scheme='http://www.blogger.com/atom/ns#' term='herd it'/><category scheme='http://www.blogger.com/atom/ns#' term='EC2'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Herd It on Amazon Web Services</title><content type='html'>I've spent the past month figuring out all the details and complications of hosting my Facebook music annotation game. &lt;a href="http://www.herdit.org/"&gt;Herd It&lt;/a&gt;, on Amazon Web Services.   We figured out that one of the reasons why the game didn't work well when more than 5 people connected was lack of bandwidth on our server to serve the Flash components.   Also, we want to be ready for when Herd It becomes the next &lt;a href="http://www.handdrawngames.com/"&gt;Desktop Tower Defense&lt;/a&gt; so AWS seemed like a great solution.   It was an omen that, on the day that I was debating whether or not to bother to try to figure it all out, a senior manager from AWS gave a talk at UCSD...&lt;br /&gt;&lt;br /&gt;Anyway, now that I've figured it all out, I think that AWS is great.   However, there are a lot of hurdles to overcome in getting it to work so hopefully this will benefit someone (maybe even me, when I forget what I did).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; - Register for an AWS account. &lt;/span&gt;&lt;br /&gt;If you've ever bought anything Amazon, this is as simple as adding AWS to your existing account.  In particular, you will need 2 of their (many) web services:&lt;br /&gt;EC2 (elastic compute cloud) - this is the "cloud" of servers that does all the processing.&lt;br /&gt;S3 (simple storage service) - this is the storage bucket where you will keep all your data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2 - Figure out EC2.&lt;/span&gt;&lt;br /&gt;EC2 works as follows:&lt;br /&gt;You create an AMI - an "Amazon machine image" which is basically a complete copy of the OS, programs and data of the machine that you want to run in Amazon's cloud.  Imagine you wanted to backup your computer's entire hard disk so that you could reconstruct the entire system - this is what you would need.  You will replicate this image on one or more of Amazon's cloud machines.&lt;br /&gt;&lt;br /&gt;I highly recommend following &lt;a href="http://docs.amazonwebservices.com/AWSEC2/2007-03-01/GettingStartedGuide/"&gt;the AWS tutorial&lt;/a&gt;.  It covers everything you'll need to know and doesn't have any distracting details.   You will learn how to use images that Amazon have pre-made, how to set them up, how to change them, how to save them, and how to kill them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3 - Create your own AMI&lt;/span&gt;&lt;br /&gt;For this, I started with the most current Ubuntu AMI at &lt;a href="http://alestic.com/"&gt;alestic.com&lt;/a&gt;.   Some nice guy (&lt;a href="http://www.anvilon.com/"&gt;Eric Hammond&lt;/a&gt;) has created a bunch of basic AMI's that have nothing more than a simple OS.  From here, you will need to install all the programs that you're going to need.  As someone who wasn't very familiar with Unix administration, this seemed daunting but it was surprisingly easy and I like Ubuntu a lot now.  For example, &lt;a href="http://www.howtogeek.com/howto/ubuntu/installing-php5-and-apache-on-ubuntu/"&gt;this page&lt;/a&gt; shows you that, by typing 4 lines, you can get an Apache web server and PHP running (this is all I needed for Herd It).  You will also need to copy all your data onto the AWS machine using FTP or &lt;a href="http://kb.iu.edu/data/agye.html"&gt;scp&lt;/a&gt; (for example, I copied all the PHP and Flash files that make Herd It work).&lt;br /&gt;&lt;br /&gt;Once you've got everything on the AMI running as you want it, you'll need to bundle your AMI and copy it into your S3 bucket.  Again the &lt;a href="http://docs.amazonwebservices.com/AWSEC2/2007-03-01/GettingStartedGuide/"&gt;AWS tutorial&lt;/a&gt; covers all of this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4 - Elastic DNS&lt;/span&gt;&lt;br /&gt;This was the trickiest part...  If you only want to run a single instance then you don't need to worry about this.  But, the whole point of AWS is to let you create many instances to power your new web app that's going to take over the world.  To achieve this, I found some help from &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?entryID=1044"&gt;this page&lt;/a&gt; but there was still a bit of work to do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4a - Register your domain.&lt;/span&gt;&lt;br /&gt;There are a million places where you can get the domain "mykillerapp.com" or whatever.&lt;br /&gt;I got &lt;a href="http://www.herdit.org/"&gt;www.herdit.org&lt;/a&gt; for $9/year from NameCheap.com&lt;br /&gt;(I just discovered that, of course, there is already a site a "mykillerapp.com" and that it's a sweet applied maths quiz!  For the rest of this tutorial, I'll just refer to my domain: herdit.org).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4b - Set up a DNS forwarding service&lt;/span&gt;.&lt;br /&gt;The domain name of all your new EC2 machines will be something like&lt;br /&gt;http://ec2-a-bunch-of-numbers.compute.amazonaws.com/ and&lt;br /&gt;http://ec2-more-different-numbers.compute.amazonaws.com/&lt;br /&gt;In order for these to all map to your new domain name, herdit.org, you need to set up DNS forwarding.  For this, you need a DNS service provider.  You domain name service may provide this but, whether or not it does, &lt;a href="http://www.zoneedit.com/"&gt;ZoneEdit&lt;/a&gt; is a free service that gets the job done.  You will need to transfer the DNS from your domain name provider and set up ZoneEdit (or whatever DNS service you use) to handle your new domain (it may take a day or two for these changes to register).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4c - Tell  you AMIs to register with your DNS service&lt;/span&gt;&lt;br /&gt;Once your DNS service is running, you want it to forward requests for your domain ("herdit.org") to the EC2 machines ("ec2-0112358132134.amazon.com", etc.).  To do this, you need those EC2 machines to tell the DNS service that they are ready.&lt;br /&gt;&lt;br /&gt;The DNS registration works using a program called "ez-ipupdate" that you can install on your (Ubuntu) AMI by typing:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo apt-get install ez-ipupdate&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;Now all you need to do is to get ez-ipupdate to run whenever you start a new instance so that you don't have to log in manually.  The Spatten Design blog has &lt;a href="http://spattendesign.com/2007/10/10/updating-dynamic-dns-on-amazon-ec2"&gt;a good post&lt;/a&gt; on how to do this using Ruby.   However, since I don't use Ruby, I wrote an init.d script that you will run &lt;code&gt;&lt;/code&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;when the instance starts.  Copy the following and save it on your AMI as '/etc/init.d/update-dynamic-dns'&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;### BEGIN INIT INFO&lt;br /&gt;# Provides:          update-dynamic-dns&lt;br /&gt;# Required-Start:    $local_fs $remote_fs&lt;br /&gt;# Required-Stop:     $local_fs $remote_fs&lt;br /&gt;# Default-Start:     3 4 5&lt;br /&gt;# Default-Stop:      S 0 1 6&lt;br /&gt;# Short-Description: Update dynamic DNS on startup&lt;br /&gt;# Description:       Uses ez-ipupdate to send the current Dynamic IP address&lt;br /&gt;#                    to ZoneEdit Dynamic DNS provider&lt;br /&gt;### END INIT INFO&lt;br /&gt;&lt;br /&gt;# Author: Luke Barrington &amp;lt;lukeinusa@gmail.com&amp;gt;&lt;br /&gt;&lt;br /&gt;DYNAMIC_DNS_CONFIG_FILE=/etc/ez-ipupdate/dynamic_dns.yml&lt;br /&gt;AMAZON_INSTANCE_DATA_ADDRESS=http://169.254.169.254&lt;br /&gt;API=latest&lt;br /&gt;&lt;br /&gt;# Read current instance URL from Amazon service&lt;br /&gt;IP=`curl $AMAZON_INSTANCE_DATA_ADDRESS/$API/meta-data/public-ipv4/`&lt;br /&gt;echo "Instance Dynamic IP Address = $IP"&lt;br /&gt;&lt;br /&gt;SERVICE=`sed -n -e "s/^service:[ ]*/\l/p" $DYNAMIC_DNS_CONFIG_FILE`&lt;br /&gt;USERNAME=`sed -n -e "s/^username:[ ]*/\l/p" $DYNAMIC_DNS_CONFIG_FILE`&lt;br /&gt;PASSWORD=`sed -n -e "s/^password:[ ]*/\l/p" $DYNAMIC_DNS_CONFIG_FILE`&lt;br /&gt;HOST=`sed -n -e "s/^host:[ ]*/\l/p" $DYNAMIC_DNS_CONFIG_FILE`&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;start)&lt;br /&gt;     echo "Using dynamic DNS service = $SERVICE"&lt;br /&gt;     echo "Connecting with username = $USERNAME"&lt;br /&gt;     echo "Mapping IP to host = $HOST"&lt;br /&gt;&lt;br /&gt;     # ZoneEdit server name has changed since ez-ipupdate was last built&lt;br /&gt;     if [ "$SERVICE" = 'zoneedit' ]; then&lt;br /&gt;         eval "ez-ipupdate --address $IP --service-type $SERVICE --server=dynamic.zoneedit.com --user $USERNAME:$PASSWORD --host $HOST"&lt;br /&gt;     else&lt;br /&gt;         eval "ez-ipupdate --address $IP --service-type $SERVICE --user $USERNAME:$PASSWORD --host $HOST"&lt;br /&gt;     fi&lt;br /&gt;     ;;&lt;br /&gt;*)&lt;br /&gt;     echo "Usage: update-dynamic-dns start"&lt;br /&gt;     ;;&lt;br /&gt;esac&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You will also need to create a file at '/etc/ez-ipupdate/dynamic_dns.yml' (or whatever you call it in the script above) that contains the following:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# service should be one of the services supported by ez-ipupdate.&lt;br /&gt;# Possible values: null  ezip  pgpow  dhs  dyndns  dyndns-static&lt;br /&gt;#                         dyndns-custom ods tzo easydns easydns-partner&lt;br /&gt;#                         gnudip justlinux dyns hn zoneedit heipv6tb&lt;br /&gt;# (The above list is from man ez-ipupdate)&lt;br /&gt;service: zoneedit&lt;br /&gt;username: YOUR DNS SERVICE USERNAME&lt;br /&gt;password: YOUR DNS SERVICE PASSWORD&lt;br /&gt;host: YOUR HOST NAME (e.g., &lt;/code&gt;&lt;span style="font-size:85%;"&gt;herdit.org&lt;/span&gt;&lt;code&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Finally, you can run the update-dynamic-dns script by typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;./etc/init.d/update-dynamic-dns&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To register this init.d script to run automatically at startup, use this command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;update-rc.d update-dynamic-dns defaults  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, as soon as the EC2 machine boots  (well, after a few minutes), it should register itself with  your DNS service and tell it to send requests for "herdit.org" to its address (e.g., ec2-123456789.amazon.com).  The cool thing about ZoneEdit (or any DNS service that has "round robin" DNS) is that, if multiple machines all register to the same host, the DNS service will send requests to each one in turn.  This will spread your millions of users across all the AMIs that you run.&lt;br /&gt;&lt;br /&gt;At this stage, you will want to bundle up the AMI again.  Now you are ready for Step 5...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5 - Try and take over the world&lt;br /&gt;&lt;/span&gt;Run hundreds of instances, pay thousands of dollars to Amazon, get millions of users, sell your site for billions of dollars.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notes&lt;span style="font-weight: bold;"&gt; and next steps&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Now that I''ve set all this up, we are testing Herd It to see how it can handle the load of&lt;/span&gt;&lt;span&gt; many simultaneous users.  Herd It users a Java server to coordinate everything (via XML events) and saves all the info in a MySQL database.  These are both still running on my local server.  I plan to put them on AWS sometime as well&lt;/span&gt;&lt;span&gt; and I expect that &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=100&amp;amp;externalID=1663"&gt;this tutorial&lt;/a&gt; will help with that.&lt;br /&gt;&lt;br /&gt;There are apps out there that can monitor your site's traffic to automatically create or kill new instances based on your traffic but, for the moment, I will be monitoring it manually.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Now, after all that work, why not go and &lt;a href="http://www.herdit.org/"&gt;play Herd It&lt;/a&gt;?!&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-4877770023046255659?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/4877770023046255659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=4877770023046255659' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4877770023046255659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4877770023046255659'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2009/02/herd-it-on-amazon-web-services.html' title='Herd It on Amazon Web Services'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5700624324073277963.post-1695586601662217470</id><published>2008-12-11T11:26:00.000-08:00</published><updated>2008-12-11T11:48:42.239-08:00</updated><title type='text'>Nöjeströtta älskar nya tal</title><content type='html'>News of my talk at the Math Club last month has been reported in Dagens Nyheter, "the New York Times of Sweden".  Check out &lt;a href="http://www.dn.se/DNet/jsp/polopoly.jsp?d=2198&amp;amp;a=862542"&gt;the article by Caroline Hainer&lt;/a&gt; - you can even see a picture of my arm pointing to some nice math!&lt;br /&gt;&lt;br /&gt;In case your Swedish isn't as good as mine, here's &lt;a href="http://cosmal.ucsd.edu/%7Elbarring/translate_DN.htm"&gt;the Google translation&lt;/a&gt;.&lt;br /&gt;Note how I am described as a " long male, redheaded researcher" and Conor Deasy is now Conor PRESIDENT!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My next academic talk will be delivered in the style of &lt;a href="http://www.youtube.com/watch?v=Ln07mhUTXCY"&gt;the Swedish chef&lt;/a&gt;...&lt;span style="background-color: rgb(230, 236, 249);" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;&lt;span class="text"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-1695586601662217470?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/1695586601662217470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=1695586601662217470' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1695586601662217470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1695586601662217470'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/12/njestrtta-lskar-nya-tal.html' title='Nöjeströtta älskar nya tal'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-7257692505333645293</id><published>2008-11-05T21:42:00.000-08:00</published><updated>2008-11-05T21:47:59.946-08:00</updated><title type='text'>Math Club</title><content type='html'>I'll be giving a talk on "Machines that Understand Music" at the LA &lt;a href="http://www.math-club.com/"&gt;Math Club&lt;/a&gt; on Sunday, November 19, 2008.  If you're in Hollywood, come along and meet all the musos and industry types that I hope will show up.&lt;br /&gt;&lt;br /&gt;The Math Club is organized by the genial &lt;a href="http://www.ronibrunn.com/"&gt;Roni Brunn&lt;/a&gt;, aka "&lt;a href="http://www.myspace.com/thebandfrom"&gt;the Girl From&lt;/a&gt;".  Previous speakers have included Futurama's David X. Cohen and heaps of smart profs.  I'm hoping to match the former for smarts and the later for humour...&lt;br /&gt;&lt;br /&gt;Here's the abstract:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Humans can identify that a radio station is playing country music in less than one second (and switch channels!).  Although the amorphous details of music and the emotions that it evokes in us are sometimes subjective, there are many concepts (e.g., instrumentation, genre, tempo, ...) that most listeners agree on.  Given these statistical regularities, it should be possible to build a machine that can analyze and understand many aspects of music.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;I will talk about and demonstrate a &lt;/span&gt;&lt;b style="font-family: courier new;"&gt;computer audition&lt;/b&gt;&lt;span style="font-family:courier new;"&gt; system that understands music.  Using signal processing analysis of audio waveforms and machine learning models to identify patterns in the signal, my "&lt;/span&gt;&lt;b style="font-family: courier new;"&gt;musical search and discovery engine&lt;/b&gt;&lt;span style="font-family:courier new;"&gt;" goes beyond artist and song name search and can find "&lt;/span&gt;&lt;i style="font-family: courier new;"&gt;funky music with a horn section for a party&lt;/i&gt;&lt;span style="font-family:courier new;"&gt;" or "&lt;/span&gt;&lt;i style="font-family: courier new;"&gt;jazz saxophone for romancing&lt;/i&gt;&lt;span style="font-family:courier new;"&gt;".  The system can also associate new music with relevant semantic tags, creating automatic record reviews.  This musical search and discovery engine has many applications for personalized discovery and distribution of all music online.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Finally, I will explain how the data used to train the computer audition system to understand music is collected using an online music annotation game that is about to be launched on Facebook.  Bring your laptops and we can all play together!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-7257692505333645293?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/7257692505333645293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=7257692505333645293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7257692505333645293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7257692505333645293'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/11/math-club.html' title='Math Club'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-4839568470524123225</id><published>2008-11-05T21:35:00.000-08:00</published><updated>2008-11-05T21:42:17.598-08:00</updated><title type='text'>iLuke API</title><content type='html'>In my ongoing quest to:&lt;br /&gt;a) get my Facebook music annotation game "Herd It" running and&lt;br /&gt;b) master all web technologies,&lt;br /&gt;this week, I taught myself how to write AJAX apps. &lt;br /&gt;&lt;br /&gt;Despite all the buzz I'd heard about this, AJAX is really just one JavaScript function call: &lt;a href="http://www.w3schools.com/ajax/ajax_xmlhttprequest.asp"&gt;XMLHTTPrequest&lt;/a&gt;.  Basically:&lt;br /&gt;HTML web page has JavaScript&lt;br /&gt;JavaScript has XMLHttpRequest object&lt;br /&gt;XMLHttpRequest object sends requests to a server script (e.g., PHP)&lt;br /&gt;Server responds with XML info&lt;br /&gt;XMLHttpRequest updates to the DOM as it gets new info. &lt;br /&gt;&lt;br /&gt;Easy, right?!&lt;br /&gt;&lt;br /&gt;I've used this to integrate the &lt;a href="http://www.ilike.com/developer"&gt;iLike API&lt;/a&gt; as the music player for Herd It.  Now I can play all the (30-second clips of) music we want and not get sued!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-4839568470524123225?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/4839568470524123225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=4839568470524123225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4839568470524123225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4839568470524123225'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/11/iluke-api.html' title='iLuke API'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-5846056235021487090</id><published>2008-09-22T12:12:00.000-07:00</published><updated>2008-09-22T12:32:18.695-07:00</updated><title type='text'>Cool Stuff at ISMIR (contd.)</title><content type='html'>Tuesday began with an excellent panel discussion on commercial applications of MIR work featuring Markus Cremer (Gracenote), Etienne Handman (Pandora), Elias Pampalk (Last.fm), Anthony Volodkin (Hype Machine) and Brian Whitman (Echonest). Seems like there actually is money to be made out of all this!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iro.umontreal.ca/%7Eeckdoug/"&gt;Doug Eck&lt;/a&gt; and Thierry Bertin-Mahieux presented more great work, this time along with Pierre-Antoine Manzagol.   &lt;em&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_261.pdf"&gt;On the Use of Sparse Time-Relative Auditory Codes for Music&lt;/a&gt;&lt;/em&gt;.  Using a greedy gammatone decomosition of music, they were able to represent a spectrum as a sparse, spikey sequence of basis kernels.  Then they went further and started trying to learn the kernels for music (ala Lewicki's work on speech and natural audio).  Periodic but not sinusoidal, long time kernels seem to be what work best but there's more to come I bet...&lt;br /&gt;&lt;br /&gt;Charlie Inskip had a fascinating stories to tell about his experiences of 20 years managing bands that toured the world.  One of his tasks was to try to get their music into film, tv and ads.  Now he's following an academic path (alas, "everyone gets tired of staying out in bars and clubs til 4am, five nights a week") and is interviewing music supervisors (the people who find the right music for film etc.), film makers and record label people to find out about thier process of using words to describr the type of music they're looking for.  &lt;em&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_117.pdf"&gt;Music, Movies and Meaning: Communication in Film-Makers’ Search for Pre-Existing Music, and the Implications for Music Information Retrieval&lt;/a&gt;&lt;/em&gt;.  Right up my street.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.comp.dit.ie/bduggan"&gt;Bryan Duggan &lt;/a&gt;was the only other Irishman I could find at ISMIR.  He had a crowd-pleasing demonstration of his &lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_137.pdf"&gt;traditional Irish music identification and retrieval system&lt;/a&gt; that could listen to his flute playing (realtime, noisy environment), transcribe it, remove ornamentations and match the tune to a database of traditional reels, jigs and hooleys.  Nice to see good MIR work happening in Ireland.&lt;br /&gt;&lt;br /&gt;The always excellent guys from the &lt;a href="http://mtg.upf.edu/?lang=ca"&gt;Music Technology Group&lt;/a&gt; at UPF (give me a job!) showed how to construct structured taxonomies from unordered folksonomies:  &lt;em&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_267.pdf"&gt;The Quest for Musical Genres: Do the Experts and the Wisdom of Crowds Agree?&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;On Wednesday night, there was an excellent concert featuring the &lt;a href="http://plork.cs.princeton.edu/"&gt;Princeton laptop orchestra&lt;/a&gt;, led by the crazy &lt;a href="http://www.cs.princeton.edu/%7Eprc/"&gt;Perry Cook&lt;/a&gt; and cool &lt;a href="http://ccrma.stanford.edu/%7Ege/"&gt;Ge Wang&lt;/a&gt;.  As well as developing a new language for strongly-timed music synthesis and analysis (&lt;a href="http://chuck.cs.princeton.edu/"&gt;ChucK&lt;/a&gt;), building cool new interfaces for music and composing all this crazy music, these guys have also developed a highly-viral new iPhone app - the &lt;a href="http://www.smule.com/"&gt;Sonic Lighter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As well as a very well-attended demo of my music annotation game, Herd It, Thursday had cool demos of dancing robots, &lt;a href="http://www.iua.upf.es/%7Eocelma/"&gt;Oscar Celma&lt;/a&gt;'s geo-music search engine that lets you create playlists from paths across a globe and Frank and Paul's excellent semantic search engine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-5846056235021487090?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/5846056235021487090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=5846056235021487090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5846056235021487090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5846056235021487090'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/09/cool-stuff-at-ismir-contd.html' title='Cool Stuff at ISMIR (contd.)'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-3341766613448664679</id><published>2008-09-16T13:09:00.000-07:00</published><updated>2008-09-22T12:12:21.483-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIR'/><title type='text'>Cool Stuff at ISMIR</title><content type='html'>I'm at the International Conference on Music Information Retrieval (&lt;a href="http://ismir2008.ismir.net/"&gt;ISMIR&lt;/a&gt;) in Philadelphia where I'm presenting 2 papers:&lt;br /&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_160.pdf"&gt;Combining feature kernels for semantic music retrieval&lt;/a&gt;,&lt;br /&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_128.pdf"&gt;5 approaches to collecting tags for music&lt;/a&gt; (&lt;a href="http://www.cse.ucsd.edu/%7Edturnbul/"&gt;Doug Turnbull&lt;/a&gt; is the first author)&lt;br /&gt;&lt;br /&gt;Our entry in the &lt;a href="http://www.music-ir.org/mirex/2008/results/MIREX2008_overview_A0.pdf"&gt;MIREX auto-tagging competition&lt;/a&gt; came &lt;span style="font-weight: bold;"&gt;first&lt;/span&gt; in a competitive field of eleven, which is pretty cool.&lt;br /&gt;&lt;br /&gt;Also, we're going to be giving the first real-world demo of our upcoming music annotation game "Herd It".&lt;br /&gt;&lt;br /&gt;However, tons of other people are doing lots of cool stuff here.  Some highlights for me so far are:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/plamere"&gt;Paul Lamere&lt;/a&gt; and &lt;a href="http://mir-research.blogspot.com/"&gt;Elias Pampalk&lt;/a&gt;'s tutorial on collecting tags for music.&lt;br /&gt;This was another awesome overview that included:&lt;br /&gt;cool work on a Sun, in-house semantic search engine with a really nice interface where you could rescale tags in a cloud to change your query (I've been thinking about this for ages but they've actually done it!)&lt;br /&gt;distance between semantic profiles built from last.fm tags powering artist, tag and user similarity and how this can be used to build a structured taxonomy from an unstructure folksonomy.&lt;br /&gt;A survey of 200 users (conducted by Paul and to be published in his upcoming JNMR article) that showed that users prefer music recommendations based on similarity than collaborative filtering.&lt;br /&gt;Paul's even set up a website - &lt;a href="http://socialmusicresearch.org/"&gt;SocialMusicResearch.org&lt;/a&gt; - where you can find the slides and more.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_157.pdf"&gt;Magno &amp;amp; Sabel's paper&lt;/a&gt; on perceptual similarity using various music models that showed that MFCC+GMM-derived similarity was preferred to recommendations from last.fm or Pandora! (and I think that our system works even better than that)&lt;br /&gt;&lt;br /&gt;Masahiro, Takaesu, Demachi,  Oono and Saito's work on uses a shoe-sensor to detect "steps per minute" and this communicates with the runner's iPod to play music with the same beats per minute.  The presentation included an hilarious video of a determined Japanese researcher testing the system by running on a treadmill but still keeping it formal in shirt and tie!  Check out figure 5 in &lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_167.pdf"&gt;their paper&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_266.pdf"&gt;Mark Godfrey and Parag Chordia's paper&lt;/a&gt; on improving MFCC+GMM modelling by detecting and removing "anti-hubs" (and thereby, also removing hubs) by finding GMM components that are very distant from all other components.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ismir2008.ismir.net/papers/ISMIR2008_130.pdf"&gt;Matt Hoffman, David Blei and Perry Cook's work&lt;/a&gt; on hierarchical Dirichlet models of music.  I think I finally understand HDPs although I still don't fancy trying to train one...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-3341766613448664679?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/3341766613448664679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=3341766613448664679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3341766613448664679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3341766613448664679'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/09/cool-stuff-at-ismir.html' title='Cool Stuff at ISMIR'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-1722133772167955568</id><published>2008-09-13T01:19:00.000-07:00</published><updated>2008-09-13T01:26:33.894-07:00</updated><title type='text'>Tetrion at the Burn</title><content type='html'>Among the many, many awesome sights at this year's Burning Man, my favourite has to have been the Tetrion by &lt;a href="http://jimabrams.com"&gt;Jim Abrams&lt;/a&gt; - a gigantic, interactive Tetris game.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://home.comcast.net/%7Eburningman/b8tetrion5860.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://home.comcast.net/%7Eburningman/b8tetrion5860.jpg" alt="" border="0" /&gt;&lt;/a&gt;&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;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Imagine the sight of huge tetris blocks glowing from far across the playa.   Now you climb a ladder and get on top of one block where each section is 10 feet long - so the 4-block in the centre stands 4-storeys high.   And then, the ultimate delight, there is actually a live, playable game being projected onto two sides of the center block!   2 minutes to get as many lines as possible.  It was art and fun and overall genius.&lt;br /&gt;&lt;br /&gt;And, of course, there was a massive rave there on the night of the burn...&lt;br /&gt;&lt;br /&gt;Check out me not doing very well, despite the heckles!&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-036513076481572004 visible ontop" href="http://vimeo.com/moogaloop.swf?clip_id=1714357&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;/a&gt;&lt;object width="400" height="267"&gt; &lt;param name="allowfullscreen" value="true"&gt; &lt;param name="allowscriptaccess" value="always"&gt; &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1714357&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt; &lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1714357&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="267"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/1714357?pg=embed&amp;amp;sec=1714357"&gt;Tetris Installation at Burning Man 2008&lt;/a&gt; from &lt;a href="http://vimeo.com/user622424?pg=embed&amp;amp;sec=1714357"&gt;Damien O'Malley&lt;/a&gt; on &lt;a href="http://vimeo.com/?pg=embed&amp;amp;sec=1714357"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-1722133772167955568?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/1722133772167955568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=1722133772167955568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1722133772167955568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/1722133772167955568'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/09/among-many-many-awesome-sights-at-this.html' title='Tetrion at the Burn'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-3081551220045299160</id><published>2008-06-29T01:35:00.000-07:00</published><updated>2008-06-29T15:44:16.041-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='air guitar'/><title type='text'>I can feel it coming in the air...</title><content type='html'>Last night was the San Diego regional qualifiers for the &lt;a href="http://www.usairguitar.com/"&gt;US Air Guitar&lt;/a&gt; championships.  My cousin &lt;a href="http://www.salemfilmfestival.com/d-images/movie-images/2007/filmmaker-pics/cedric.jpg"&gt;Cedric&lt;/a&gt; has always been the pride of the family, not just because he organizes the whole operation but because he finished 4th in the world &lt;a href="http://en.wikipedia.org/wiki/Air_guitar"&gt;Air Guitar&lt;/a&gt; Finals in Oulu, Finland in 2004.  Obviously, when Cedric called me to say that he was in town on the Air Guitar tour bus (really), I had to go and check it out.&lt;br /&gt;&lt;br /&gt;I had an ulterior motive in making the trek out to Viejas Casino and planed to finally fulfill my life's ambition of playing air guitar on stage for legions of screaming fans.  A wildcard entry (and a few stiff whiskeys) was all it took and an hour later, my alter-ego "ShredMother" was tuning up the air axe and ready to let rip on of Radiohead's "&lt;a href="http://van.ucsd.edu/songs/1min-MyIronLung.mp3"&gt;My Iron Lung&lt;/a&gt;".  60 karate-kicking, head-banging, epileptic seconds later, I was smashing my air guitar in front of the baying crowd.&lt;br /&gt;&lt;br /&gt;Though physically I gave it everything, I was a little disappointed with my performance.  The judges scores of 5.3 / 5.3 / 5.4 (out of 6) were good but not enough to distinguish me from the 30+ entrants and get me into the final 5  and nowhere close to the majesty of the eventual winner (and US champion in 2005) the "&lt;a href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&amp;amp;friendid=30074807"&gt;Rockness Monster&lt;/a&gt;".  Maybe a little practice would help next time.  The highlight of the evening was getting to rock out for the Freebird finale with none other than (2006 US champ) &lt;a href="http://www.hotlixxhulahan.com/"&gt;Hot Lixx&lt;/a&gt; and &lt;a href="http://www.bjornturoque.com/"&gt;Björn Türoque&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Powerful.&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="Click here to block this object with Adblock Plus" class="abp-objtab-03779957881909738 visible ontop" href="http://www.youtube.com/v/nGkv35fxHpo"&gt;&lt;/a&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/nGkv35fxHpo"&gt;  &lt;embed src="http://www.youtube.com/v/nGkv35fxHpo" type="application/x-shockwave-flash" width="425" height="350"&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/5700624324073277963-3081551220045299160?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/3081551220045299160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=3081551220045299160' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3081551220045299160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/3081551220045299160'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/06/last-night-was-san-diego-regional.html' title='I can feel it coming in the air...'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-7474913879868978069</id><published>2008-05-31T14:01:00.001-07:00</published><updated>2008-05-31T14:01:17.532-07:00</updated><title type='text'>it's all relative...</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=lESQ0ejN79I"&gt;Father Ted&lt;/a&gt; offers enlightenment on relativism, perception and pedagogy.&lt;br&gt;One of the best jokes ever.&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-7474913879868978069?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/7474913879868978069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=7474913879868978069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7474913879868978069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/7474913879868978069'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/05/its-all-relative.html' title='it&apos;s all relative...'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-372402849345625110</id><published>2008-05-26T14:36:00.001-07:00</published><updated>2008-05-26T14:36:32.982-07:00</updated><title type='text'>Highway Sixty One re-revisited</title><content type='html'>&lt;a href="http://TheSixtyOne.com"&gt;TheSixtyOne.com&lt;/a&gt; is a very cool site that lets artists upload songs and then listeners use points to bump up their favourites.&amp;nbsp; If you bump songs that become popular (based on all users), you earn more points.&amp;nbsp; A pretty simple game but a nice way to use the wisdom of the crowd to rate new music and a well-designed site.&lt;br&gt; Wish I could build it...&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-372402849345625110?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/372402849345625110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=372402849345625110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/372402849345625110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/372402849345625110'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/05/highway-sixty-one-re-revisited.html' title='Highway Sixty One re-revisited'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-4748491706950520871</id><published>2008-05-26T14:14:00.001-07:00</published><updated>2008-05-26T14:28:36.363-07:00</updated><title type='text'>Air Jacobs</title><content type='html'>On Friday, Gert and I presented &lt;a href="http://van.ucsd.edu/pubs/LukeBarrington-TagMillionsOfSongs.pdf"&gt;our approach for tagging all the songs on the web&lt;/a&gt; at the von Liebig Center to the J&lt;a href="http://www.jacobsschool.ucsd.edu/about/about_leadership/coa.shtml"&gt;acob's School Council of Advisors&lt;/a&gt;.  Despite a slightly buggy demo, it was a great experience and we got to meet some really great people including &lt;strong style="font-weight: normal;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Hossein_Eslambolchi"&gt;Hossein Eslambolchi&lt;/a&gt; and &lt;a href="http://www.facebook.com/profile.php?id=3305140"&gt;Taner Halicioglu&lt;/a&gt;&lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;, the first &lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;(non-founder) &lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;employee of Facebook - and UCSD alumnus!&lt;br /&gt;&lt;br /&gt;That evening, we went to the Jacobs banquet where the theme was "Air Jacobs" - check int desk, hostesses, and Dean Frider Seible flying a huge flight simulator in the ballroom of the Torrey Pines Hilton.  Lots of back-slapping and awards speeches but some interesting conversations to with Melinda (HR) and Tony (Mail) from Yahoo! and some insight into getting a web / technology start-up off the ground from UCSD / &lt;a href="http://www.taaz.com"&gt;Taaz.com&lt;/a&gt;'s David Kriegman.  My 5 key insights:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;1) A killer app is more important than having great technology (although you really need both)&lt;br /&gt;2) Inspiration for (1) may need to come from outside your core group: VCs, advisors, etc.&lt;br /&gt;3) You will need to get more good people to help with scaling up networking, coding, design, promo, ...&lt;br /&gt;4) Getting investment will dilute you, reduce your control, distract from tech development and worse.  But it's essential (though timing is crucial...)&lt;br /&gt;5) It's going to take luck.  But luck improves with effort and intelligent opportunism.&lt;strong style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-4748491706950520871?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/4748491706950520871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=4748491706950520871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4748491706950520871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4748491706950520871'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/05/air-jacobs.html' title='Air Jacobs'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-4581737994925641436</id><published>2008-04-21T16:07:00.000-07:00</published><updated>2008-04-21T16:14:31.023-07:00</updated><title type='text'>New Music Strategies</title><content type='html'>My motivation for setting up this blog has been building for weeks but the final straw came from reading &lt;a href="http://andrewdubber.com/"&gt;Andrew Dubber&lt;/a&gt;'s post "&lt;a href="http://newmusicstrategies.com/2008/04/14/do-i-really-have-to-blog/"&gt;Do I really have to blog?&lt;/a&gt;" on the &lt;a href="http://newmusicstrategies.com/"&gt;New Music Strategies&lt;/a&gt; site. &lt;br /&gt;It seems that, apart from being a necessity for new bands like my own &lt;a href="http://auditionlaboratory.com/Home.html"&gt;Audition Laboratory&lt;/a&gt;, this could be a good way to disseminate information about &lt;a href="http://van.ucsd.edu/"&gt;my research&lt;/a&gt; in &lt;a href="http://cosmal.ucsd.edu/cal/"&gt;Computer Audition&lt;/a&gt; as well asinspire ideas for how I can continue to work in the world of music / semantics / web / jive talking once I get my Ph.D from UCSD.&lt;br /&gt;&lt;br /&gt;Also, maybe my mum will read it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-4581737994925641436?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/4581737994925641436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=4581737994925641436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4581737994925641436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/4581737994925641436'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/04/new-music-strategies.html' title='New Music Strategies'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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-5700624324073277963.post-5084602901328317527</id><published>2008-04-21T16:00:00.001-07:00</published><updated>2008-04-21T16:05:09.305-07:00</updated><title type='text'>first post</title><content type='html'>I have now gone through the seven stages of blogoholism;&lt;br /&gt;Ignorance,&lt;br /&gt;Confusion,&lt;br /&gt;Derision,&lt;br /&gt;Dismissal,&lt;br /&gt;Envy,&lt;br /&gt;Appreciation and,&lt;br /&gt;Adoption,&lt;br /&gt;and finally become a full-blown blogger.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5700624324073277963-5084602901328317527?l=doubtfulsound.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doubtfulsound.blogspot.com/feeds/5084602901328317527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5700624324073277963&amp;postID=5084602901328317527' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5084602901328317527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5700624324073277963/posts/default/5084602901328317527'/><link rel='alternate' type='text/html' href='http://doubtfulsound.blogspot.com/2008/04/first-post.html' title='first post'/><author><name>Luke</name><uri>http://www.blogger.com/profile/11423943775857208464</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></feed>
