Monthly Archives: February 2010

Five Best Music Streaming Services [Hive Five]

The internet has revolutionized nearly every form of media, and music is no exception. This week we look at the five most popular music streaming services to see how people are getting their music fix.

Photo by CarbonNYC.

Earlier this week we asked you to share your favorite music streaming services, and now we’re back with the top five contenders. Read on to learn about the services and then cast your vote in our poll at the end.

Grooveshark (Web-based, Free)

When you’re ready to listen to some tunes online, Grooveshark allows you to jump right in. Unlike many services that require a subscription to use, Grooveshark lets you search for music and build a playlist as soon as the site loads. If you want to save the playlist, however, and access other session enhancing features like flagging songs to enable the music suggestion service, you’ll need an account. Aside from manually building a playlist, you can also listen to Grooveshark Radio, their suggestion engine. One of Grooveshark’s most unique features is that if you can’t find a song or artist you love, you can upload the music from your own collection to build the Grooveshark database.

Spotify (Windows/Mac/Mobile/Web-based; Basic: Free/Premium: €9.99 month)

First the bad news about Spotify: as of this writing, 02/28/2010, Spotify isn’t available in the U.S. due to various legal issues and licensing requirements. The good news is that Spotify is an incredible music service, and we're always hearing whispers that it'll soon be available stateside. You can collaborate on and easily share playlists using the service—as easily as you share a link to a YouTube video for comparison's sake. A premium account adds more features, like commercial-free listening or the ability to listen to your playlists on your mobile phone. Premium service also enables offline mode for local storage of music, higher quality streaming, and travel access—so should you visit a country like the U.S., where Spotify isn't available yet, you can still enjoy it.

Pandora (Web-based; Basic: Free/Premium: $36 per year)

Pandora is the easy-to-use front end for the massive database of attributes generated by the Music Genome Project. The Music Genome Project analyzes songs with up to 400 different attributes so when you tell Pandora "Play me something like the song Punkrocker by The Teddy Bears featuring Iggy Pop" it doesn't just return a song that people who liked "Punkrocker" also liked—it returns a song that is also "genetically" related to your suggestion. Pandora may not have the most bells and whistles of the music sharing services rounded up today, but the power of the Music Genome Project and ease with which you can create and rate personalized streaming radio stations has won Pandora many fans. Upgrading from free to premium service allows you to stream more than 40 hours a month, gives you access to a dedicated desktop client, and increases the quality of your audio stream. (Web-based/iPhone, Basic: Free/Premium: $3 per month) is another service that not only streams music but generates suggestions for new music based on what you like. In addition to building playlists and enjoying tunes on the web, you can "scrobble" your own music collection to—which basically means you let track the songs you're listening to and add them to your profile, allowing you to both listen to them and use them to increase the scope of's suggestion engine for better personalized picks. In addition to listening to streaming radio and building personalized stations, also allows direct music download—when authorized by the copyright holder—so you can expand your personal collection as you listen.

Lala (Web-based, Free with per-song fees)

Lala's claim to fame is the ease with which you can listen to both your own music over the web and purchase new music inexpensively. Lala has a database of 8 million songs that you can listen to once for free, purchase for online play for $0.10, or buy as a DRM-free MP3 for $0.79. If you have a song in your personal collection—on your computer at home—you can add it to the Lala database to allow unlimited play without paying a fee. Lala doesn't sport a hefty music recommendation engine like some of the other contenders in the Hive Five—although we didn't find the one they have lacking—but instead focuses more strongly on connections between people to drive music suggestion. As a result Lala supports easy rating and playlist sharing with friends to encourage organic music discovery.

Now that you’ve had a chance to look over the top contenders for champion of the golden earphones, it’s time to cast your vote in the poll below to decide the winner:

Which Music Streaming Service Is Best?polls

Have a favorite that didn’t get a nod? Have a creative way to use one of the Hive Five nominees above? Let’s hear about it in the comments.

Profile Relocator Moves Windows Profiles to a New Location [Downloads]

Windows: If you want to store your Windows profiles independent from your system drive and standard Windows directories to protect against loss and corruption, Profile Relocator makes short work of moving your profiles directory.

The best time to use Profile Relocator is after a fresh install of Windows when moving empty profiles poses minimal risk and the least chance of conflicts. If you’re set on moving your profiles in an existing installation it is possible and Profile Relocator won’t delete the old profiles in the old location so if the move causes any complications you can just switch things back.

Like with all tinkering under the hood in Windows it sounds simple enough to just move your profile directory but any number of complications can arise when it’s done on an established installation. Set a system restore point before making the move and read the included documentation carefully.

Profile Relocator is freeware, Windows only, and requires Microsoft .NET 2.0+. Have an application that’s handy for remodeling the guts of your Windows installation? Let’s hear about it in the comments.

Sharpen Your Kitchen Knife on a Coffee Mug [Kitchen]

If you don’t have a knife sharpening kit and you’re in between taking knives down to the cutlery store to get sharpened, you can put a little bite back into your knife with a coffee mug.

Photo by Rhett Maxwell.

Over at the site DIYLife they highlight a way to sharpen the edge of a knife using a coffee mug:

It’s true, the bottom of most ceramic coffee mugs have a flat, unglazed ring that is the perfect surface for giving that dull knife a quick sharpening. Just run the blade across the bottom of the mug at a 45-degree angle, working from the butt up near the knife’s handle to the tip. Slide the blade downward in one direction, keeping your fingers out of the way as you work.

We'd definitely stress that this isn't a perfect solution for continually sharpening your knives—if you want to sharpen your own knives the Spyderco Sharpmaker is an awesome at-home solution—but if you need to clean up the edge and buy yourself some more time before a proper sharpening, it'll do in a pinch.

Check out the full article at the link below for additional information and tips on sharpening other kitchen implements. If you have a knife sharpening tip or trick to share, let’s hear about it in the comments.

Don’t Be Afraid to Shoot in Low Light Without a Flash [Quotables]

Scottish photojournalist Harry Benson, who’s captured some amazing frames of The Beatles, world leaders, and historic events, gives the New York Times his best tip for shooting at night or in low natural light.

He doesn’t lighten or otherwise touch his photos with image editors, and his secret to shooting in low light is simple:

Don’t be afraid. You’ll be surprised just how good your photos will be. Make sure there is some light on your subject’s face. But be brave about it. The thing about [it] is that I’ve been awakened to see just what digital cameras can do in low-light situations. It digs right into spaces that I never thought a camera could penetrate.

The post offers a few nitty-gritty details for manual-settings types, but he's right—the best photographs I've seen from parties, weddings, and news events come from shooters who simply stand steady, shoot what they can frame, and shoot a lot.

How to Take Better Low-Light Photos [Gadgetwise Blog/]

Adding TwitPic to your Application


Back in July of last year. Brandon put up a post showing you how to integrate twitter into your application. Today I am going to take the class he made last year and add a new class which will let you post to twit pic. First lets do a little overview of what tools we need for this.

Required Tools

Twit pic is an awesome service. They have created a whole public API, that anyone can use to host a picture and post a tweet with a link to it. You can see the TwitPic API, and all its functionality here.The API is pretty simple, with only 2 methods.

  • uploadAndPost
  • upload

We are going to only be implement access to the uploadAndPost method. In order to use the API we need to use an HTTP POST method. While Apple provides NSURLConnection to take care of operations like this, we are going to use a better third party framework called ASIHTTPRequest. You can find ASIHTTPRequest to download here. I will go over the steps to get it installed. Just download the files for right now. You will also need to download some utility files that Apple created for users called Reachability. You can find those files here.

Preparing a project to use ASIHTTPRequest

  1. Before we add the method into out TwitterRequest class, we have to do a bit of preparation with a project we want to use this framework witb. First think to do is to add ASIHTTPRequest and the Reachability classes into your application.
  2. Now we have to add some frameworks to out project by “Editing the active target”. Go to Project ->  Edit Active Target “TwitPic”
  3. Add in the following targets: CFNetwork.framework, SystemConfiguration.framework and libz.1.2.3.dylib

Using ASIHTTPRequest to contact TwitPic

Now if we compile we should see no errors, and we will be able to use ASIHTTPRequest in our new method in out TwitterRequest class. The method to communicate with TwitPic is actually going to be very short. We need to create the method to send the picture and fill in the methods to handle the response. Lets take a look at what these methods look like.

Method to send picture to TwitPic

Here we are going to pass in the photo for twit pic along with the delegate that is using out class. This pertains back to the design decision made when developing the original TwitterRequest class. Look back at the first post for expansion on this. Here we create an instance of an ASIFormDataRequest. request is an instance variable I declared in the TwitterRequest header. Pass in the proper values for the proper keys, following along with the TwitPic API. We are going to start and Asynchronous request here, so the UI does not freeze while the picture is being uploaded.

-(void)statuses_update:(NSString *)status withPhoto:(NSData*)photoData delegate:(id)requestDelegate requestSelector:(SEL)requestSelector {      isPost = YES;      // Set the delegate and selector      self.delegate = requestDelegate;      self.callback = requestSelector;      // The URL of the Twitter Request we intend to send      NSURL *url = [NSURL URLWithString:@""];      // Now, set up the post data:      request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];      [request setDelegate:self];      [request setData:photoData forKey:@"media"];      [request setPostValue:username forKey:@"username"];      [request setPostValue:password forKey:@"password"];      [request setPostValue:status forKey:@"message"];      // Initiate the WebService request      [request startAsynchronous]; }

Methods to handle response

We need to handle two types of response from TwitPic. Either the request will finish, or the request will error. If the request finishes the following will be called. We check that the delegate set for the TwitterRequest class is present and that is responds to the selector that was passed in. If it does, the TwitterRequest class will respond back to the class using it.

- (void)requestFinished:(ASIHTTPRequest *)request { NSLog(@"%@", [request responseString]); // do something with the data      if(delegate && callback) {           if([delegate respondsToSelector:self.callback]) {                [delegate performSelector:self.callback withObject:receivedData];           } else {                NSLog(@"No response from delegate");           }      } // release the connection, and the data object      [request release]; }

This is the class that should be used to handle errors. This for example could display a UIAlertView saying that an error occurred.

- (void)requestFailed:(ASIHTTPRequest *)request {      NSError *error = [request error]; }

You can download the Header and Main for the updated TwitterRequest class here.

How-To: Sync NewsFire on Multiple Computers

It seems like you can’t swing a dead cat these days without hitting a tech pundit eager to tell you that RSS is dead. Personally, I’m not buying it. RSS feeds and readers are the No. 1 way I stay up to date with online content, and I don’t see that changing anytime soon.

Over the years I’ve tried out a number of different feed readers including NetNewsWire, Google Reader, Fever, and on and on. Each time I switch though, I always find my way back to NewsFire. For me it’s just the perfect balance of form and function. Well, it’s almost perfect. To paraphrase Churchill I’d say that NewsFire is actually the worst RSS reader, except for all the other RSS readers. The major gaps in my mind are its inability to sync across multiple machines and the lack of an app for the iPhone. As with all things in technology though, there are a lot of ways to skin that cat.

As someone who splits his time among multiple Macs, having the ability to sync my news reader across those machines is a must. If I’m on my work machine paging through new items, when I get home I obviously want those items to show up as having been read. Out of the box NewsFire has no option for syncing but a workable solution turns out to be shockingly simple: Download the free version of Dropbox, create some symbolic links to a few key points on each computer and it’s done. Changes made on one computer are synced through Dropbox and show up on the other.

Setting up the Sync

First, move the follow folder and files into your Dropbox:

~/library/Application Support/NewsFire

You’ll then need to replace them with symbolic links. To create a symbolic link just fire up the Terminal and use the ln command. The format will be (ln -s) (filepath to target) (filepath to link), for example:

ln -s /Users/yournamehere/Dropbox/newsfiresymlinks/org.xlife.NewsFire.plist /Users/yournamehere/Library/Preferences

When you finish making the symlink for the preference file you’ll need to lock it to prevent the application from overwriting it when you quit. To lock it, just right click the file to “Get Info” and select the Locked option.

Now just use the same Dropbox account to link up NewsFire installs on your other machines and you’ll be able to stay in sync. There is one caveat: In order to add new feeds you’ll have to first unlock the .plist file on one end, make the change and then re-link it. For the most part, however, my feeds are already set and I’m really just interested in making sure that the status of an item can be passed back and forth between machines.

Obviously, this approach is not as good as baked-in support would be. But I’m hopeful that we’ll soon see an updated version of NewsFire that will not only support syncing but also close that other major gap, iPhone support. It’s been a long while since NewsFire’s developer David Watanabe dropped this tease about a possible iPhone app. I just hope he can tear himself away from Xtorrent updates long enough to show NewsFire some love.

Learn How Google’s Search Algorithm Learns From You [Google]

There’s a whole lot of mystique, paranoia, and guessing as to how Google comes up with its generally best-in-class search results. Steven Levy at Wired digs in to discover what really makes Google’s search engine different, and how it learns from us.

PageRank, the generally accepted metric of, among other things, how often a page is linked to, is only a small part of the larger story at Google. Talking to Google’s engineers and tracing the history of publicly announced search features, Levy discovers that a good deal of what Google has learned about search comes from the searchers themselves.

Take, for instance, the way Google’s engine learns which words are synonyms. “We discovered a nifty thing very early on,” Singhal says. “People change words in their queries. So someone would say, ‘pictures of dogs,’ and then they’d say, ‘pictures of puppies.’ So that told us that maybe ‘dogs’ and ‘puppies’ were interchangeable. We also learned that when you boil water, it’s hot water. We were relearning semantics from humans, and that was a great advance.”

If you’re at all intrigued by what Google gets right or wrong, Levy’s piece is well worth the read. It’s a lot of straight talk from inside Google about search, written up in plain English.

Gloobus Provides Snappy, Sleek File Previews in Linux [Downloads]

Linux: Sometimes you just need to see what’s inside a file without actually opening the application meant to handle it. Gloobus, a sleek, dark file previewer based on the Mac Quicklook tool, wants to make file previews elegant and convenient.

Ubuntu and other GNOME-based Linux distributions have their own built-in file preview tool, sure. But that previewer doesn’t act on every file type, leaving you sometimes regretting a double-click as GIMP or another heavy tool loads up with your file. And thumbnail icon previews aren’t available for every file you can create or download. Gloobus aims to provide universal file previews inside its dark, stylish interface.

Installing Gloobus isn't quite a one-step process—you'll need to install either a repository or compile from source to patch your system's desktop display program (Nautilus) to work better with Gloobus. Once it is there, though, smacking the space bar on any file brings up a preview. If you like how Gloobus looks, you can install CoverGloobus, which shows the cover art for the music you're currently playing, whether you've downloaded it or not.

Gloobus and its related plug-ins are free downloads for GNOME-based Linux systems only. Hit the link below and its Installation page for help getting Gloobus up and running.

Unofficial Better Gmail for Chrome Bends Gmail to Your Will [Downloads]

Chrome: We love Gina’s Better Gmail Firefox extension, a bundle of user scripts that improves the Gmail experience. Now that Google’s beefed up support for Chrome extensions, reader Dimitar Gruev has taken a shot at bringing an unofficial Better Gmail to Chrome.

Almost a year ago our own How-To Geek put together a version of Better Gmail for Chrome, but that was way back when Chrome didn’t even have extensions (his were all bundled into a single user script). This new Chrome extension is an unofficial Better Gmail for Chrome that was inspired by Gina’s Firefox extension and our earlier Better Gmail for Chrome bag o’scripts.

Once installed, access Better Gmail's options by clicking the wrench -> Extensions -> Better Gmail Options. Tick the boxes of the features you want activated and you're good to go. You can choose to hide little used fields like "Invite Friends," remove ads, show the number of unread emails in the favicon, and more.

Gruev says future versions of Better Gmail will hide spam count, move to next message on delete or archive, and include support for POP3 email. A big round of applause goes to Gruev for putting this together. What kinds of features do you hope for in future versions of Better Gmail? Share your ideas in the comments.

Better Gmail for Chrome [Chrome Extensions Gallery]

WP Like Button Plugin by Free WordPress Templates