Inspired by the latest entry at Yahoo! Music Blog, I registered at Last.fm and started feeding my playlist information to them via the AudioScrobbler iTunes plugin. My profile there is slowly building and I am looking forward to checking out what their customized radio station will start playing for me once they know enough of my tastes. Their recommendations so far seem to be decent, but I need to listen to about 300 tracks before the music “neighbors” become available. As a side benefit, I also put the RSS feed of the last 10 tracks played on frontpage of this site in the right hand column.
I also explored Pandora, the other service mentioned in the blog. From what little time I spent with Pandora, it seems fascinating. Created by the Music Genome Project, it allows you to specify an artist or a song and create a “radio station” that plays songs that are musically similar to the specified one. What does “similar” mean? Well, the folks at Music Genome Project analyzed over 10,000 songs of different artists and broke them down into traits, such as harmony, rhythm, instrumentation, orchestration, arrangement, lyrics, singing and vocal harmony. Given a song, for example “Volcano” by Damien Rice, Pandora will create a station that features songs with mellow rock instrumentation, folk influences, mild rhythmic syncopation, acoustic sonority, repetitive melodic phrasing, and other similarities to the original, picking things like “Smile” by Mia and Jonah and “Igloo Glass” by Holopaw. You can add more songs or artists to the station and Pandora will try to pick tracks that cover the whole gamut of what you are looking for. You can also thumbs up or down the individual songs to fine tune your preferences and build up a favorites list. I would say its recommendations range from good to very good and I definitely intend to use it as a tool for discovering new music.
Face recognition technology is getting really good. Yesterday I saw a link to Intel’s OpenCV library float through the mailing list at work and a note that someone wrote a PHP extension for it. “Interesting”, I thought. I hacked up a simple PHP script that would take an image and process it slightly to make detected regions more obvious. Here’s an example of the output. Not bad, huh? Then Jeremy tried another image, with some spooky results. Note that aside from the person, there are a couple more regions that the library thought was a face. If you look closer, the larger rectangle on the carpet encloses something that does have vague face-like features. Nice job, Intel.
Here’s another Mozilla/Firefox tip: if you copy a URL wrapped over multiple lines from somewhere and try to paste it into the address bar, you will end up only with the first line of it. To fix it, go to about:config and change editor.singleLine.pasteNewlines setting to 3 or add:
to your user.js file. Now all the line breaks will be removed upon pasting.
I didn’t know that SatireWire was back until Jeremy mention it on his blog. Anyways, this interview with Ask Jeeves is one of the funniest things I have laid my eyes on lately. <wiping tears> Thanks, guys.
P.S. Maybe it’s not really back. Oh, how easily dreams are crushed.
After trying to figure out how to keep my bookmarks shareable between computers (del.icio.us, various FireFox extensions and such come to mind) I was pleasantly surprised to see the unveiling of Yahoo!’s MyWeb2 – a hybrid of bookmarking, tagging, and sharing your pages within the community of your friends from Yahoo! 360. So, all it takes now for me to bookmark something is click on the little Save link in the search results or in my browser toolbar, put in a couple of tags, maybe a note, and set the access level. But the best thing is that when I do a search on Yahoo!, its MyRank algorithm rates the pages saved within my community higher, and also brings up a list of my bookmarks at the top of the page. And it’s dead easy to import your del.icio.us bookmarks or any other RSS feed into MyWeb2. Salvation at last.
So I’ve been trying out the Yahoo! Music Engine along with Yahoo! Music Unlimited service (free for Y! employees for a year, yay). I must say that while exhibiting all the strangeness and quirks that you expect from an alpha, it’s still a very cool product. Having access to a million of songs rocks. However, it only runs on Windows at this point. I am trying to figure out how to get it to play the music through my living room stereo. Could I set up a shoutcast server on the Windows box and have it streamed through there somehow? Any other solutions that involve buying as little hardware as possible?
For the last 3 years I have been using Linux on a Dell Inspiron 4000 laptop. It’s been working fairly well, but lately the age of it has begun to show. The laptop emits loud fan noise, has problems with shutting down occasionally, and it’s a pain to switch between wireless networks. Linux is great to develop on, but I have not come across any desktop environment that I would feel it excel at.
So, having looked around, I narrowed my decision to IBM ThinkPad and Apple Powerbook. Rasmus has recently bought one of the former (T42, I believe), but read his posting and note how much time he had to spend to get certain things working (like suspend and wakeup). That is exactly the sort of thing that I am sick of. More and more of my friends and co-workers have been praising their Powerbooks. And why not? It’s Unix under the hood after all, with a sexy GUI on top, all glued together with tight, usable, fast desktop glue, ready for coding, multimedia, connectivity – whatever you want.
As of last Friday, I have a beautiful 15″ aluminium Powerbook in my hands and I love it so far. Put it to sleep? Just close the lid. Wireless? I go to a coffee shop with free wireless connection and Powerbook discovers it and connects automatically. Development? I have full power of BSD, X11, gcc, vim, and all the rest at my fingertips. Mutimedia? Don’t even get me started. Now I just need a list of cool apps/tips/tricks to make the laptop even better.
I have switched and I am not going back.
In yet another illustration for Jeremy’s PageRank Is Dead article, consider this: a search on Google for sailing lessons brings up a page of results with #2 spot being occupied by my previous post about sailing! This is completely nuts. As much as it strokes my ego to know that I’m now an instant authority on this topic and that my page will be getting even more referrals from Google , I cannot say that this is a good situation. The famed Google quality seems to be rapidly deteriorating, and in all honesty I think Yahoo! results are getting much better, as evidenced by the fact that the same search does not put me at the top of the pack. Conclusions? Draw your own, please.
SearchEngineWatch Awards recognizes outstanding achievements in web searching. This year my former labor of love, AlltheWeb.com, has won again: second place in Outstanding Search Service category and second place in Best Design, right behind Google. In addition, our URL Investigator tied with Google Definitions for the first place as Best Search Feature, and Google’s and AlltheWeb’s calculators tied for the second place. But really, we did it first and who uses the Google “still-in-the-lab” Definitions anyway?
Kudos to backend folks in Trondheim and to the rest of the frontend team, Erik and Ryan.
Simon Willison writes:
Looking back on 2003, one thing really stuck out for me: I didn’t learn a new programming language. The Pragmatic Programmers recommend learning at least one new language every year. . .
One new language every year? I have to question the validity of this advice. Programming language is just a tool, after all – the important thing is the knowledge of algorithms, complexity theory, data structures, protocols, and general computer science problem solving. The differences between mainstream languages may be significant, but the commonalities are overwhelming. The same solution can be implemented in roughly the same way in most of them. Knowing a language just for its own sake reeks a bit of hubris, in my humble opinion. Being comfortable with one language in each category makes more sense: one functional (Lisp, Scheme), one object-oriented (Java, C#), one scripting (Perl, Python, PHP), and a couple of specialty ones (SQL, HTML) provide a solid base and enable you to learn similar languages quicker, if need be.
Simon is probably going to resort to learning Snobol and INTERCAL in a couple of years, but that’s his choice.