About

What is last.tag?

last.tag is a tag editor for the last.fm online music service. last.fm uses tags to categorize albums, artists, and tracks, and users use them to build customized radio stations. Previously, tags had to be edited seperately from the page of the album/artist/track in question. This was a very tedious process for those with a lot of things to tag. But not anymore!

What can it do?

I designed last.tag to be very flexible. It can tag albums/artists/tracks given on the command line, or it can read them from a configuration file. Likewise, you can specify tags to use on the command line, or, if ommitted, last.tag will search for them in your tag configuration file. Every one of the program’s arguments are optional, and, if run without any, it will look for everything in your configuration files. It also automatically appends any previously set tags to an item, in order to preserve them.

Is it secure?

Like Fort Knox! Well, okay, maybe not that secure, but it is pretty secure. All user-supplied input is checked for sanity (multiple times!), and your password is never stored in plaintext (unless of course you specify it on the command line, in which case, it is stored until encrypted, then deleted). For security reasons, you cannot supply your password through any configuration files. It must either be given at the prompt (this is the more secure, and thus, the preferred, method), or specified at the command line. The program accesses the variable directly (ie. with something like ‘password = raw_input(”Please type your password: “).encrypt()’), then encrypts it with the government grade AES encryption cipher, so the plaintext is never seen by the program unless you give it on the command line. Yeah, some people might call this overkill. I call it required.

Is it stable?

In theory, yes. Truth be told it is still in beta. I do believe it to be of production quality, however. That is, assuming there are no crippling bugs I don’t know about, for some reason or another. Needless to say, it’s not quite ready for mission-critical settings as of yet. All of the code is properly encapsulated, and (in my humble opinion) easy to understand and navigate, so I see no reason why it should not be stable.

What does it run on?

last.tag runs on every platform with a Python interpreter. It is written on Gentoo Linux, and thus that is where it is most tested, but work is being done to make sure it is fully compatible with Windows and Mac OS X. There exists at the moment no installer for Mac OS X, as I have no experience with it, but the installer for Windows XP should work fine. As for exotic platforms like OS/2, BeOS, etc…. You’re on your own for now. ;)

How much does it cost?

Absolutely nothing, my friend! last.tag is free and open source software, which means you are free to use, copy, distribute, and modify it as you see fit! There are a few rules you must follow, of course. Those are explained in the GPL (which is contained in the ‘COPYING’ file, in last.tag’s distribution archive). Nothing horrible, I promise. Mostly you have to release any modifications you make to last.tag under the same license (the GPL, in this case). This is necessary in order to keep last.tag free for everyone.