Archive for December, 2006

December 31st 2006

Conversation Headers

Alternately: Can I ask you a question?

Having read Skumby’s Hi!! How are you?! I was thinking about how it extends to text-based conversation. Much of my human interaction currently is via. text-based mediums, such as MSN, SMS, Jabber, IRC and Sametime (although, luckily, not the version that’s inflicted on the public :) ).

Starting with IRC, specifically, support channels for various topics (ie. freenode’s ##c++ and ##java), where people will go for help and support (from volunteers). In general, when a new body turns up, there are basically three things that happen:

  1. They get it right, ie. they don’t do one of the below, this doesn’t, however, necessarily mean that they’re going to ask a “smart question“.
  2. < new> hi?
  3. < new> ne1 have ne experience with {blank}?

    or
    < new> can i ask a question about {blank}?

Both of those questions are complete time-wasters (and would never get to “How are you?!”), the second set admittedly yields some information (maybe even enough for a no), but contains no information that wouldn’t be in your “smart question” anyway. Grr.


On to MSN/Jabber/Sametime.

If someone contacts you, they want something. Three categories again:

  1. They’re bored, and want you to share something interesting you’ve done.
  2. They’ve something absolutely positively awesome that they can’t wait to share with/inflict on you.
  3. They want something non-social, ie. something physical, or help, ie. for you to actively do something.

All three of those will probably start with a “Conversation Header” (“Hi!” “Hey.” “How’re you?” “Fine thanks, you?” “I’m okay, thanks… say..”), which is of no value to me as the receiver.

Even worse: I leave myself connected to MSN/Jabber/Sametime(/IRC) 24/7 (or as close to as possible). Why? So people can contact me. I might not be sitting there reading what they write, as they write it, but I’ll (almost) definitely read it at some point. How does the “Conversation Header” ‘help’ here? It stops them giving me even the slightest clue what they were wanting to talk about. Grrr.


On to SMS: the ultimate communication mechanism.

I love SMS. It fixes all of the above, everything:

  • Charging per message.
  • Limiting the length (160 chars on real phones).
  • (according to reliable sources, my sister (no, I won’t link to your myspace page)) makes it much easier to type properly, and complete hell to try and write txt spk, thanks to predictive text.
  • No guarantees on reply times.

So, in conclusion, to make the (textual) world a better place, etc.:

Bah, humbug.

No Comments yet »

December 2nd 2006

Properly tagged music.

Alternately: Why Foobar2000 and Picard suck.

I like properly tagged music.

Obviously it’s nice to be able to get your computer to tell you what song you’re playing, but, if you need to be told, you probably aren’t a fan of it anyway. Maybe you ripped your cds and your cd-ripper tagged the files from FreeDB, or similar, and you’ve ended up with the names in block-caps, or with all the lovely crazy characters removed?

I’d hope that most people would care enough to fix tags that are (incorrectly) written in block-caps (Winamp users probably wouldn’t notice), but most people wouldn’t bother correcting an album by ᛏᛣᚱ (yay, runes) that’s been mistagged as Týr or Tyr, for instance, mainly due to the effort involved.

There are quite a few automatic solutions to manually fixing these tags, starting with FreeDB that’s already been mentioned, my favourite being MusicBrainz.

They have a wonderful tool called Picard that will allow you to get information from their database into your files, including the correct spelling of artistᛏᛣᚱ. Picard has a user guide, I’ve written an alternative Picard user guide to illustrate the way I tag stuff.

Assuming you don’t care about the correct usage of the artist names, nor having credit correctly given for remixes, etc., why would you bother to process your music with Picard?

Along with ensuring that the files have the correct normal tags (that you’d normally see), it also puts extra information from the MusicBrainz database into your files, for instace, the sort-order name of each artist. This allows you to do fun things with your playlist, for instance, what I do with Foobar:

Sort order:
$if(%MUSICBRAINZ_ARTISTID%%MUSICBRAINZ ARTIST ID%, ,)$if($strcmp(%MUSICBRAINZ ALBUM ARTIST ID%%MUSICBRAINZ_ALBUMARTISTID%,89ad4ac3-39f7-470e-963a-56509c546377),%album% - %MUSICBRAINZ ALBUM ID%%MUSICBRAINZ_ALBUMID%,%MUSICBRAINZ ALBUM ARTIST SORTNAME%%MUSICBRAINZ_ALBUMARTISTSORTNAME% - %MUSICBRAINZ ALBUM ARTIST ID%%MUSICBRAINZ_ALBUMARTISTID% - %album% - %MUSICBRAINZ ALBUM ID%%MUSICBRAINZ_ALBUMID%) - %album% - %tracknumber% - %album artist% - %title%

Playlist display:
%list_index%.
$if(%MUSICBRAINZ_ARTISTID%%MUSICBRAINZ ARTIST ID%,,UT - )
$if($strcmp($longest(%MUSICBRAINZ ALBUM ARTIST ID%,%MUSICBRAINZ_ALBUMARTISTID%),89ad4ac3-39f7-470e-963a-56509c546377),
%album% - %tracknumber% - %album artist% - %title%,
%album artist% - %album% - %tracknumber% - %title%)
$tab()
%length%

Note that both of those are whitespace-sensitive, the second is new-line insensitive, so has been split up slightly to make it at least sane to read.

What these do:

These mean that your playlist will read something like this:


A Various Artists CD - 01 - Some Artist - Track Name
A Various Artists CD - 02 - Some Other Artist - Track Name
...
Jim Bob - Another Album - 01 - Track Name
Jim Bob - Some Album - 01 - Track Name
...
Canned Beans - Album #1 - 01 - Track Name
...
UT - BLERG
...

etc, where “Jim Bob” is a person’s name, so will have a sort order of “Bob, Jim”, and “Canned Beans” is a band, so will have a sort order of “Canned Beans”. The “UT – ” prefix on files at the end of the playlist mean that they need tagging.

This has the wonderful effect of meaning that all of the albums by a single artist will be in the same place (as Jim Bob’s are above) without Various Artist cds being broken up by artist, which makes no sense.

Now that I’ve got my playlist back to how I like it, back to the original title of this post, Picard (0.7.2) sucks for writing tags with completely different names to different types of file, for instance:

M:\Compilations\Clubland\Seven (cd1)>cat 01.mp3 | xxd | head -n 16 | tail -n 3
00000d0: 0000 034d 7573 6963 4272 6169 6e7a 2041 ...MusicBrainz A
00000e0: 6c62 756d 2041 7274 6973 7420 4964 0038 lbum Artist Id.8
00000f0: 3961 6434 6163 332d 3339 6637 2d34 3730 9ad4ac3-39f7-470

..against..

M:\Compilations\Clubland\Six (cd1)>head -n 2 "04.ogg" | xxd | head -n 19 | tail -n 3
0000100: 4d55 5349 4342 5241 494e 5a5f 414c 4255 MUSICBRAINZ_ALBU
0000110: 4d41 5254 4953 5449 443d 3839 6164 3461 MARTISTID=89ad4a
0000120: 6333 2d33 3966 372d 3437 3065 2d39 3633 c3-39f7-470e-963

Grr.

Foobar also needs a kick for making it so hard to deal with these (and debug them), along with being inconsistent (in undocumented ways) between the “sort” and the “display” shown above, which is also a major pain.

2 Comments »