iTunesRater 0.2

I’ve done a bit of work to iTunesRater, and upped the revision number to 0.2 It’s a bit more robust, but there still seems to be an intermittent bug to do with loading the artwork from the temporary file. I’m not sure if I’ve solved it or not, since it only appeared once, but I’ve put a try…end try across where I think it was, so it should just silently fail. I’ve also added a check-box to the bottom right corner which reflects and controls the ’enabled’ flag within iTunes. So, if you find a song you really don’t like, then just un-check this box, and it won’t play again, depending on your iTunes settings. Oh, yeah, you can find it iTunes Rater 0.2.

Dorkstar!

The Wave Magazine - The Bay Area’s Best Entertainment Magazine… Ever.: http://www.thewavemag.com/pagegen.php?pagename=article&articleid=24184 Yay! I’ve only scored 5 of the possible 10 top dorkiest things to do - of course, most of them I don’t do anymore. Bonus points for anyone who can guess which 5 I have done at some point in my life…not that anyone reads this thing, anyway.

Mutton dressed as Old Phones

Boing Boing: Replica 1949 Bell Black phones for $60: Ho-hum. I bought Jaq a red phone looking very much like this about 8 years ago!

Play next in Party Shuffle.

Note to self: write a contextual menu item that plays the selected song next in party shuffle, after (if necessary) importing the song into iTunes.

ScanGear and Fast User Switching

When multiple users are logged into MacOS X, only the lowest uid user can use the ScanGear scanner!

Aristotle & Science.

I’d never really come across classical philosophy until partway through my Education degree. We did a philosophy of education subject, and around the same time I happened across Stephen Jay Gould’s books. And I realised how some historical figures - most notably Freud & Aristotle have shaped our ideas of the world. And in some cases held back the progress of science by decades, or even centuries. The most obvious examples are the elements, and the planets. Aristotle pushed for the acceptance of the 4 Elements theory - Earth / Air / Fire / Water, and it took centuries for more reasonable theories to take over. Four of anything is usually pretty neat - especially if you can pair them up on axes at right angles to one another and have a continuum. And having four elements means you can associate them with your four humours. Now there’s a classical mistake that cost countless lives! The furore over planetary gravitation is another cause of concern. The most worrying thing is that there were Classical Greek scholars who decided that the Earth orbited the Sun. But not Aristotle. Think of where we might be now if we’d figured this one out 2000 years ago. Freud and his fixation on sex held back psychology decades. And his work was all based on half a dozen patients. Nothing like a small (non-random) sample size to skew results. I think I could formulate a coherent theory of mental illness related to facial hair with a dozen or less carefully chosen subjects. And now I read (and realize) we have more than 5 senses. And the whole sight-sound-touch-taste-smell gimmick is down to the big A. I mean, it’s obvious to anyone who’s had a cold that taste and smell aren’t independant. And you can ‘feel’ when you are in a changing gravitational field, like an accellerating elevator. And there are others I hadn’t even thought of. We sense when we are hungry, or need to urinate. We know where our limbs are. NewScientist had an article naming 21. But my favourite is the Circadian Rhythm. Knowing when to get up. I think mine is broken.

Ratings on the Fly

So far, the program I’ve written does this: Monitor the current track, and how much of it has been played. Wait for a click on the Next (»|) button, and when it occurs, rate the song up or down according to the modifier: abs((amount played / song length) * 15) - 5 Thus, when a song is skipped immediately, it loses 5 rating points, songs that are clicked at the end receive a +10 modifier. The only problem is that this is only triggered when this program wants the next track. I need a robust method of…I’ve just thought of something. I’m getting close to getting this to work - when the song is changed, the track id is used to find the song in the library, and the last known rating modifier will be applied to the song’s rating. It just doesn’t do that yet!

AutoRater

Done! iTunes AutoRater runs in the background, monitoring the currently playing song in iTunes. When the song changes, it up- or down-rates it according to how long the song played for. What I will(may?) do is merge this code with that for iTunesRater, so that you can rate songs, and it will also Auto-Rate them. Maybe I won’t do this, since these two are separate tasks. I wonder if the current ratings are a little aggressive: -5/+10 seems like a big change. I’ll take feedback, and in a future version (perhaps I’ll make this a preferences panel, where you can choose the maximum rating changes. Anyway, version 0.1 is available. Caveat User! (Back up your iTunes Library regularly!)

SMB devices disconnect on sleep.

That title pretty much sums it up. If you have an SMB server mounted, and you put the Mac to sleep, then the server is no longer mounted when you wake it up. Windows XP does not have this problem. Windows XP also mounts all servers it can find, removing the need for hacks like creating a mount script and putting it into your LoginItems.

iTunes Auto-Rater

One of the comments to my MacOSXHints.com hint about rating iTunes songs with ratings other than the simple 0-5 stars gave me an idea for a program. Basically, it’s a daemon/controller for iTunes, that sits there and monitors the currently playing track. The rationale is that if you listen to the whole track, you like the song and want to increase the rating, and if you skip it, you are getting a bit sick of it, so you want to reduce the rating. Since there is no way to determine when a track changes, you have to continually poll iTunes for the track info. What you could do is when a new song is discovered, store the track length in a variable. Then, keep track of the amount of time that that track remains playing, and if it is close to the full track length (say, 95%?) then increase the rating. If you only listened to a small part of it, then reduce the rating. You could even have it so the rating is increased/reduced by 1 for every 5% of the song either side of 50% that you listen to. Or, you could just have it so it either increases (by 10?) or reduces (by 5) at a certain threshold. Writing this program as an AppleScript Studio program should be quite simple. UPDATE: Visit AutoRater for details on the first working version.