Ratings Systems

Way back when Netflix released a huge dataset for their competition, I got to thinking about ratings systems like the one Netflix has for movies that you rent.

You can log into Netflix and begin browsing movies and rate movies that that you like or dislike. For instance, I gave “The ‘Burbs” four out of five stars. Based on your ratings, netflix can better recommend movies that you might like.

A similar ratings system exists on the Yahoo Music player. As songs are playing you can rate them 1-4 stars or click on the “no smoking” sign which indicates that the song sucks really bad and you never want to hear it again (of course, there are ways that Yahoo will queue it up for you again, as I’ve heard “drops of jupiter” several times even though it makes my ears bleed).

I like the idea of these ratings systems because I’ve found a lot of music/movies that I like based on the recommendations of Yahoo and Netflix. What I don’t like about these ratings systems  is that they have too many options.

I nearly always end up rating songs at 3 out of 4 stars on Yahoo (if I rate it at all), and I think this is my thought process:

  1. I like this song, what should I rate it?
  2. Well, its not the BEST song ever, so its not a 4
  3. On the other hand, I like the song, and a 2 seems like a bad rating
  4. I’ll go with a 3

At least to me, theres no reason to have any other option besides “Thumbs Up” or “Thumbs Down”, either I like the movie/song or I don’t. Digg got this part right on their site, you either “digg” a story, or you don’t, simple as that.  I would think that simplifying the ratings system would make the recommendation engine a little easier too, since they don’t have to account for different “levels” of how much you like something.

As an aside, when I first started using the Yahoo music engine, I found that there was some way to change the rating system from a 4 star to a 0 – 100 system. 0 – 100??!?!  “Gosh, I don’t know, is this song a 33 or a 34?”. Give me a break.

The Road to Hell is Paved With Good Intentions

Some background info:

  1. A little while ago, I formatted the second hard drive (the one I had installed Linux on) and moved Erin’s and my “My Documents” folder to the G: drive. I also moved my projects folder, and our folder of ripped mp3’s. This is in preparation for upgrading to Vista. I wanted our files on a separate drive so that if everything goes to hell, we won’t lose our stuff.
  2. Yesterday, I went to General Nanosystems and bought a stick of RAM to upgrade the machine with, also in preparation for Vista.

I got home and plugged the RAM in and tried to restart. When I got to the XP login screen, there was a message about a corrupt registry key that had been successfully restored. This all sounded good to me. I tried to logon and the screen froze up.
I restarted the machine and the same thing happened. I took out the RAM and everything was back to normal.

Sort of.

When I logged in, my user settings had been reset, so all my preferences were gone, including the new My Documents mapping to the G: drive. I remapped My Documents to the G: drive, reset my wallpaper, etc. which didn’t take long. I assumed that my settings had been lost because of the freeze when I tried to login, and that Erin’s settings were fine, because I hadn’t logged in as her.

When Erin plugged in her iPod this afternoon, it wouldn’t let her sync, saying that some other computer “owned” the iPod. Also, there was a lot of music missing from her library. Now, its bad enough when I screw something of MINE up, let alone something of hers.

So I figured out that since I had moved the music directory to the C: drive to the G: drive, thats why it couldn’t find the music. So I re-added the music folder from its new location, hoping that iTunes would recognize that the songs already existed and just update the locations. It doesn’t do that apparently. Now there were a BUNCH of duplicate songs; the new ones I had just added and all the old ones that iTunes couldn’t find. Worse still, all of her playlists referenced the bad songs and there doesn’t appear to be a way to “swap” songs or anything.

There was still the issue of iTunes not letting her sync up. Then I realized it. Her user settings had been reset, just like mine, so her My Documents was still pointing to “C:\Documents and Settings\”, etc. so she now had a brand new iTunes profile, which made the iPod think this was a new machine.

I remapped her My Documents to the new location, and the sync functionality came back, whew.

Back to the invalid songs and all the duplicates. I found the iTunes library xml file and took a peek. Very easy to understand file, you can see the tag where iTunes stores the path to the path on the file system. I thought I was all set, just a quick find and replace on all the invalid file paths, and I’m back in business. I tried this and fired up iTunes. All the songs were still invalid. I looked at the xml file again, and all the invalid paths were back!

It seems iTunes knows if someone had tinkered with the xml file and restores it if its been modified. Ugh.

In the end, I just had to wipe the library and re-import all the folders and now the playlists will have to be recreated. Not the best result but at least everything can be fixed, its just a pain in the ass.

I just have to laugh a little because I rarely buy new RAM for a computer and I also rarely (if ever) add a new hard drive and remap the “My Documents” folder, but since I did both of those, they joined forces to screw me over, and I didn’t even get to add the damn RAM!

(Never did figure out what the problem was, but I don’t want to tempt fate and put it back in, that shits going back to GN)

Branching and Merging Pain

So I’ve started work on v2 of Walnut. I’m adding a new WPF interface for v2 as a way to learn WPF. I started messing around with it briefly, but its so much different than WinForms that its gonna take awhile to figure it all out.

But, the point of this post is about branching and merging in Subversion. I created a new branch for v2 in my repository, in the ‘branches’ directory. I got it all setup and then left it alone for awhile and fixed some bugs, added some small features to the trunk.

Now I want to start work on v2, but first I want to merge all the changes from the trunk first, so I know I’ve got an up-to-date repository. This is where the pain comes in. I cannot figure out how to pull in changes from the HEAD of the trunk to the HEAD of my branch.

The interface in TortoiseSVN doesn’t make sense to me. I’ve tried initializing the merge from the trunk and from the branch, but neither option seems to do what I want. Heres what I’m trying to do:

  1. Update any file in the branch that has been updated in the trunk.
  2. Add any file from the trunk thats been added that doesn’t exist in the branch.
  3. Delete any file from the branch that has been deleted from the trunk.
  4. IGNORE any file thats been added to the branch

All I want is to pull in changes FROM the trunk TO the branch, sounds simple enough.
Since I’ve already added some files to the branch (that don’t exist in the trunk), Tortoise keeps trying to either delete these files when I’m merging FROM the trunk, or adding these files when I’m merging TO the trunk.

Is there some other command that should be using to accomplish this? It seems like a common scenario, but its driving me crazy!

UPDATE 8:54 PM: Jake helped me out with the merge command, and after figuring out how it works, I realized that I made a bad decision by branching version 2. What I should have done was branch the existing trunk to its own branch for maintenance and left v2 on the trunk. It shouldn’t be too hard to rectify that problem though.

New Site Design

I spent some time tonight getting a new theme on my blog site. I was getting a little tired of the old one, it was time for a change.

I used the “fresh” theme available at: http://www.ilemoned.com/wordpress/wptheme-fresh/

I modified some of the theme, took out some stuff, added some other stuff. I still need to recreate my “Contact Me” page, but everything else is there, thats whats nice about switching themes in wordpress, not a whole lot of pain involved :)