I (heart) the freaky Palm Pre girl.
Archive for
Freaky Love
A Simple Plea for “Album” Browsing on iPod
If you own an iPod and listen to complete albums, but also have mix playlists, then you know the problem very well.

This image should not be taken as an endorsement of Nelly Furtado's music. I couldn't find an iPod Classic Cover Flow image to steal that had Made Out of Babies on it.
You’d like to be able to browse through your albums, but the Artist, Album, Cover Flow, etc views are cluttered with the artist and album names from your mix playlists.
Tons and tons of “albums” with all of 1 or 2 tracks in there, mixed among your actual full albums.
It is my assertion that players like the iPod should have an “album browser”, which is smart enough to only display complete albums.
But how would it know what’s a complete album? Well, some simple logic and ID3 metadata is all we need. How do *you* know when you’re looking at a full album in iTunes or not? Probably when you look at the track numbers and see track 1, track 2, etc., in an unbroken order up through 6 or 8 or 10 or so. Also, you can list how many tracks an album has in the ID3 tag, so that instead of simply track “1″, the MP3 appears in iPod/iTunes as “1 of 9″. If the tracks are numbered like that and there’s something missing in the order up through “9 of 9″, then you know the album isn’t complete.
Sometimes, albums are only 1 or 2 long tracks. And perhaps the disc is an EP or a single and has only 3 or so tracks and a short running time.
With a little bit of programming logic, we can come up with a very simple algorithm that will match almost all complete albums, with few false positives (or false negatives). It’s not 100% bulletproof perfect, but it’s a WHOLE lot better than nothing at all.
The logic would go something like this (for non-programmers, the stuff to the right of # signs are comments explaining the pseudocode, and not “code” itself):
for each album:
# Runs if album track numbers are listed as "1 of 9", "2 of 9", etc.
if (tracks have metadata listing number of tracks - eg. the "y" in "1 of y"):
if there exist tracks numbered 1 through y, with none missing:
complete = true
else:
# Album is missing at least 1 track between "1" and "y"
complete = false
# Runs if album track numbers are listed only as "1", "2", etc.
else (tracks are missing the metadata listing the number of tracks an album has):
if there exist tracks sequenced 1 through some number X, with none missing:
# If there is a sequence of tracks starting from 1 that exceeds 4,
# we'll assume it's a complete album
if X > 4:
complete = true
else if (running length > 25):
# If there are 4 or fewer tracks, but the running length exceeds
# 25 minutes, we'll assume it's a complete album
complete = true
else:
# It's 4 or fewer consecutive tracks and is short,
# probably just a partially downloaded album
complete = false
else:
# Does not have tracks numbering from 1 through X in an unbroken sequence
complete = false
That’s it. Given a normal collection, which doesn’t have a ton of albums that are half-downloaded, this will yield almost perfect complete album matching.
With a little more thinking and research, we could refine this to further avoid false positives. I pulled the thresholds of 4 tracks and 25 minutes out of thin air. There may be more appropriate thresholds that result in more hits and fewer misses. But the point is that the general idea is sound, and that these numbers could be easily tweaked.
If someone allows a lot of half-downloaded albums to get into their collection, then the X > 4 rule might hit a number of false positives. But the idea, at bare minimum, is to work well for well-formed MP3 collections. We could raise this total, but I didn’t want to exclude 5 and 6-track EPs. And of course, only half-downloaded albums that are tracks in order starting from 1, AND missing the track total metadata, would hit this rule.
Best of all, anyone who has issues with certain albums not matching could easily fix it by adding the “number of tracks” metadata to the albums that aren’t being matched. If it really is an 18 minute, 3 track album, all you’d have to do is edit it so the track numbers are “1 of 3″, “2 of 3″, etc. so that it would be matched against the first rule.
Now, an online-enabled music manager could compare tracks with its online database to confirm completeness. iTunes’ “Genius” already scans a complete collection and interacts with an online server – it would not be difficult to have it check albums against an online database and flag albums as “complete” or not in the iTunes database. But the above is a solution that would yield extremely good results for the vast majority of collections, and requires nothing but the information in ID3 tags and a small bit of programming logic.
I would love a “Complete Albums” browser view on my iPod. Or even just a “hide incomplete albums” option to toggle, to enable and disable this sort of filtering in the Genre, Artist, and Album browser views. That would be so fantastic.
Twitter Hall of Shame: Chris Johnson
Subtitle: “140 Characters is No Excuse”.

Meet Chris Johnson, the talented (though not quite as much as he thinks) 2nd year running back for the Tennessee Titans. Like many athletes, Johnson has taken to Twitter to communicate with his fans. And like many athletes, Johnson has put on display that college “education” that only star collegiate athletes leave school with.
Early today, Johnson posted this description of an incident where he and a friend were pulled over for suspicion of drunk driving:
Me and @kennyturner is pulled over they think we drunk be we aint drink nothing my dawg ace the test walked the line touched hisnose theymad
Pro Football Talk posted a story about the tweet. Johnson didn’t like their characterization of the incident as a “near miss” for their infamous “Days Without An Arrest” counter. Johnson fired back:
@profootballtalk hey stop postinglies about me I didn’teven get close to goingto jail all I had was a red bull so let thepolice do their job
A random Twitter user, RWJ19, posted a tweet to Johnson that read, “@ChrisJohnson28 They had a reason to pull you over. Therefor grow up. Don’t let all that money go to your head!”.
Johncon, with the kind of class that only Titan players ever achieve, could not let the comment go unanswered:
@RWJ19 u don’t let ur pocket change go to ur head
Congratulations, Chris Johnson. You are the first entry in my Twitter Hall of Shame. You may ultimately be the only entry, as you alone made me think of the idea.
I Haven’t Been (Chemically) Touched There In a While
10735126-4.
That was my Nintendo Power subscription number as a kid.

Not sure what long-dormant brain synapse got stimulated to dig up that little bit of long-term memory, but there it is.
What Was She Trying To Tell Me?
While eating at Fresh Choice for lunch, an old lady handed me this:

(OK, she was handing them out to everyone, not just targeting me)
I don’t know, old lady. When Jesus spoke of witnessing, I don’t think drive-by leafletting was what he had in mind.
And doesn’t the Good News ™ deserve better quality printing, and paper that was cut out straight?

Good News for sinners. Bad news for typographers.
Amen.
… don’t believe in mo-dern looove….

Recent Comments