last.fm Dupe Bug?

Hi last.fm,

I really like your site and the services it offers. I really love music and appreciate finding people with similar tastes, reading up on bands I like, expanding my own library by finding other bands through your site and just letting people know what I’ve been listening to.

But lately I’ve been experiencing a bug that’s been annoying the hell out of me: after scrobbling my latest songs I check my Recently Listened Tracks and find songs show up twice or more when I know I only listened to that song once at that time.

I thought maybe the problem was with the scrobbler so I updated to the latest version and took some screenshots of what it was doing. It showed each song only once so all looked well there.

last.fm's Scrobbler's Opinion of my plays

When I checked my recent tracks on the web site I saw duplicate entries for a number of bands.

last.fm's web site's opinion of what I played

The biggest culprit seems to be Hammock. I’ve seen their tracks show up over 20 times on my playlist at the same exact minute.

Over 20 times in a minute? I don't think so...

The only thing I can offer about Hammock is that I fall asleep to them most every night, but definitely not on infinite loop. But this problem also happens with other bands, so I don’t think it’s Hammock specific.

So my questions for you are?

Are these songs showing up twice in the database table (or whatever) for my “song plays”?

When I try to delete one of the dupes, both/all entries end up getting deleted. I don’t see this until I refresh the page though. From poking around your code I see the following:

  • The HTML for the dupes show the same exact JavaScript code for deleting the dupe tracks: rmrecenttrack(this, 21617457, 1238250572)
  • The rmrecentrack method is defined as such: rmrecenttrack(link, trackid, listendate)

So both the trackid and listendate are the same. That explains why they both end up getting deleted – they are in fact the same entry. But if they have the same exact listendate… why are they showing up multiple times?

My only guess is that you have duplicate entries in your database, or whatever is feeding your view code is generating duplicate entries. I wonder where this is coming from if the scrobbler is showing a single entry for these songs. I’d love to help you figure this out.

Are these dupe entries also counting as duplicate plays towards the play count for that song/artist?

This is the only answer I really care about. I don’t want these dupe entries messing up my play counts, especially when a song can be duped up to 20 times. I suppose I could do some more digging on this but I’ve already spent an hour looking into this. It seems to be happening to others as I’ve found other people complaining about duplicate entries in the last.fm forums.

I know I don’t pay for your service (I’m sure you’re doing alright on ads, yea?) but would appreicate knowing if you’re aware of the problem and if you have figured out the cause and know how to fix.

Nine Things I Learned While On Crutches

In a few days I finally get my cast off. I’m not even sure exactly what’s going to happen but I’m excited about it. I’ll probably be put back into the bracing boot, but I’m hoping I can start going to physical therapy and start putting some weight on my right leg. My dream is of course to be able to drive again.

I have to remember that my situation really isn’t horrible at all. It’s not like I had to have my leg amputated. I have health insurance. I have people helping me out. I still have a job. This is really just a minor inconvenience for me. Other people have it a lot worse.

With that in mind, I offer a little list of things I learned while in my broken state:

  1. I have great family, friends and co-workers who are super helpful and have made this time a lot easier than it could’ve been. Gotta get the sappy one out of the way first.
  2. Keep that broken limb elevated! Two pillows is better than one. Make sure it’s above your heart. I wish I had kept it higher earlier to help the swelling go down faster.
  3. Get yourself a canteen with a loop top. You can hang it on your finger to carry it back to the bedroom while using crutches.
  4. Get yourself a nice shoulder bag to carry stuff from room to room with.
  5. Take it easy. It’s okay to be lazy, do some reading, watch some TV, play some video games and not feel guilty about not doing anything “productive”.
  6. Check out MythBusters on NetFlix streaming. It’s a great show for geeks with lots of time to kill.
  7. It’s okay to not shower every day. Just make sure you shower before friends come over!
  8. Invite your friends over a lot. Host some gaming and movie nights. Get dinner with them.
  9. Get out of the house occasionally or you’ll go stir crazy. Even hopping in a cab to go get tea/coffee at the local bookstore or coffee shop is worth the money. Check out Meetup.com and see if you can’t find some local groups to get out and be social with.

In A New York Minute (Ooh ahh ooooooh)

Last Friday I worked form the city again and by the evening I found myself eager to do something that night. Being stuck in a cast for several weeks tends to make you a little stir crazy. I started scouring meetup.com for things to do that evening. There was a Battlestar Galactica Finale party that sounded very cool but it was full up with a 20 person waiting list.

I continued looking and came across The New York Composers Meetup Group. The meeting for that night was full as well but I decided to join the group anyways. Within a few minutes I got an email from the organizer telling me to come by since they usually have a few no-shows anyways. I grabbed some dinner at Pret and then headed down to the meet up location by taxi. I got there a little early so I did some reading while I waited for people to show up.

The meeting eventually started and there was a wide variety of people who showed up. The format for the night was to listen to pieces by a few people, get a little lesson on digital recording, and then do some more listening. Everybody’s songs were good and some people were very impressive, either in their music or their lyrics. During one of the breaks the people next to me struck up a conversation with me (the cast is an easy conversation piece) and I learned that the girl is a composer and the guy is a Ruby on Rails developer. I didn’t get to play the song I wanted to share but after hearing some other pieces I already started to critique my own piece.

I left the meet up at the same time the couple did and they invited me out to get something to eat. We took a few taxis and eventually ended up at a diner where we had a great conversation about meaningfulness, jobs, careers, callings, doing good things, music, programming, psychology and a bunch of other stuff. They picked up the bill, refused to let me pay (the cast really works!) and helped me flag down a taxi to send me on my way home.

All in all it was a surprisingly joyful night. And I even got some new friends out of it.

Next Thursday the cast is supposed to come off but I’m going to probably be back in the bracing boot. I’m not sure if I’m going to be able to put weight on it yet. But at least it means things are getting better. I’m just really eager to be able to drive but realize that I’ve got to take it slow.

This Wednesday is the next New York City Boardgames & Cardgames Group meetup and I’m uber-excited for that. I’m planning to bring Robo Rally and Abduction this time and have been reviewing the rules in anticipation. My new friends from the composers group may be joining me as well.

City Games

Last night I decided to check out the New York City Boardgames & Cardgames Group from meetup.com. I even paid almost $30 just to get there and back from Grand Central since I was on crutches and needed to take a taxi. But I don’t regret spending the money.

The meetup is held at Lucky Jack’s down on the lower east side. It’s a bar that has a comfy little downstairs area. The hardest part of the evening was getting down the 15 or so steps on crutches. Actually, getting back up them was the scarier bit…

I got there a little late (maybe 6:30) and people were already gaming. Everybody seemed pretty engaged, so I just went over to an empty table and figured I might as well put out my copy of Drakon as bait and see what happens.

Well it worked and within 5 minutes I had 3 other people who wanted to play. I went over the basics and we played one game. Since it was everybody else’s first time playing I took it easy and tried to explain different strategies and good and bad reasons for doing certain things, even letting players take back decisions if they wanted to.

After that one of the players was nice enough to go get me a drink from upstairs, then showed us a game called Set.

I don’t normally enjoy “abstract” games, but this one was pretty neat. The gist is that you have a bunch of cards with different symbols, colors, shadings and numbers on them. A set is any combination where each of those attributes are all the same or all completely different. So if the symbol, shading and color are all the same, but they each have a different number of symbols… you have a set. It took a little while to grasp it but we eventually got it. Then some seasoned players came along and just schooled us at the game. Then it wasn’t quite as fun…

After that a guy came over and asked if we wanted to play a game called Hybrid Dungeon. That sounded cool to me, so I was up for it. We ended up playing with 4 people. The premise of this game is that each player has a character made of 3 creature parts: upper, middle and lower. So you might have the head of an elephant, the body of a shark and the legs of a centaur – which is what I have. Each part has different attributes like weight, height, attack, carry, etc. Some let you fly, swim, jump and even carry other characters. You travel through a dungeon, opening doors and fighting the guardians of those doors. The players work together to fight the creatures with the end goal of retrieving 3 gems located throughout the dungeon. I got into this game because we could joke about our characters and the situations we were getting into, like how I was really strong and defeated a lot of monsters but somehow never got to keep any treature… it was all in good fun though.

Somebody was passing around a Vegetarian Indian menu by then and I decided to get something since I hadn’t had any dinner and it was already 9pm.

After that we played another game by the same guy called Assorti. This was a card game using only the numbers and aces (as ones). The idea was to try to get cards in your hand that matched as many cards as people put down in front of them (3 total each), but those cards keep changing. It was certainly interesting but not my kind of game.

Dinner arrived and I spent some time talking to the couple I had played Hybrid Dungeon and Assorti with. The woman told me she’s being playing Magic The Gathering with her daughter for the past 11 years. I told her that’s the last thing I was expecting her to tell me!

Once I was done eating it was around 10:30 and I was getting pretty tired and had a long trek home. I peeked at some of the games people were playing and then headed up the stairs. Overall it was a very fun evening and I’m very glad I went. I’ve already RSVP’d for the next one on April 1st. I wish they had them more often!