Go to the NEW FORUM
As I promised you, this is a thread that I hope will be fruitful.
Like good housewives sharing recipees, let us talk shop. We all love music, and we all love to make lists.
Our wives/girlfriends (if ever we have wives and girlfriends or if they haven't (already) ran away ), friends and relatives, when we talk about this strange affection, say "how intersting" but think "weirdos".
That's why we come to a site called Acclaimedmusic.net
That's what the Web is for : gathering niche people like us that couldn't meet otherwise.
Now let's talk about how we make those lists. Some of us (the most sane of the lot?) use the Listyguy method " I just think to myself, "Which album do I like more?" That's probably why I do so much tweaking!"
But I know that some of us use strange calculations. I'd be very interested to share these tricks. I konw it's the case of BIllAdama and Andre (I'd love specifics about your respective ways and means guys).
As I have a lot of time these days (I'm quitting my job in August and I'm sitting here at the office with nothing much that I want to do), I'm gonna explain how I proceed.
Summary (for those who don't want to read it all) : Each song gets a 0-5 rating. The album gets an average rating wih adjustments : the worst song is taken out, bonuses for the good songs, and a comparison bonus/malus because i'm rating albums 3 by 3.
IMO, a good album is first a good collection of songs, even if sometimes the whole is thing is better (ex IMO Blonde On Blonde ))or worse than the sum of its parts
So when I'm listening to an album, I rate the songs. I give them a 0 to 5 rating (in fact I rarely give less than 3, but it can be 3.25, 3.5, 3.75, etc...)
(sorry if this scale is not very clear, but it's a translation from French)
5 = perfect
4.75 = almost perfect (but I don't use it much anymore)
4.5 = excellent (universal)
4.25 = remarkable (excellent, but doesn't go above its zone/genre)
4 = good
3.75 = not bad at all ("pas mal du tout")
3.5 = decent ("pas mal")
3.25 = just fair ("passable")
3 = indifferent
2.75 = not great ("pas terrible")
2.5 = unsufficient
2 = bad
1.5 = very bad
1 = revolting
0 = violates human rights
Generally, a song under 3 is a song I want to stop before the end.
When this is done, remove the worst song (or the 2 worst songs if you've got more than 15 songs, 2 from 16-25, etc... or 0 if you've got less than 6).
Then calculate the average rating
Multiply by 20 (you get a percentage)
Apply bonuses (0.1 for each 4 song, 0.2 for each 4.25, 0.5 for each 4.5, 0.7 for each 4.75, 1 for each 5)
then you've got your rating.
Sometimes to adjust with the overall impression (the whole vs sum of parts thing) I apply bonuses or I "tax" the album. Some songs have small + or - attached to their scores when I'm not sure about a rating, so i apply these - or + to correct the overall score.
So with the bonuses, some albums can get more than 100 points (14 albums in my all-time list have more than 100)
If 2 or more albums get the same score, the following criteria are number of listens then total bonus then standard deviation
Advantages : no tweating anymore, no doubts, list is always ready, no album is forgotten, the rules evolve with time
Flaws : lack of spontaneity (no shit), some albums were rated long ago while the rules were different.
The biggest flaw of the bonus thing is that it favors long albums over short ones. But I love long albums like I love long movies or long books, so that's not a problem.
The rules have been changing since the beginning (when I was infected with the AM virus in 2007), so to reflect my real tastes and preferences.
Another flaw is that there is no comparison (like in AM 3000 or the BIllAdama and Andre methods). But I've introduced something new : Instead of calculating each album's score just after hearing it, I wait until I have heard 3,4 or 5 albums and I make my ajustments by comparing them.
Since the beginning I've rated 1147 albums (of course, some albums got multiple listenings).
That's about it. Still speaking to me ?
I also do some pre-listenings for the decade and EOY polls using more or less the same method but out of 4-5 songs.
Well, well, well, now you can cheer and say whatever the guys say at AA mmetings when someone is done with his speech.
Who's next ?
PS : When making songs list I still more or less use the tweaking method. I'd be interested in a comparison method at least for songs so please don't hesitate to share yours (or to say that the tweaking is better than all this nonsense)
nicolas- I don't have the time right now to detail my entire rating system, but I wanted to mention that it is REMARKABLY similar to yours.
Instead of 0-5, I use 1-10 to score songs, also at 0.25 intervals (ie- 10.0, 9.75, etc.), with "bad" songs falling under 6.0, but almost never under 4.0 (I have yet to rate a Spin Doctors album!)
One difference here is that I don't drop off the low scores, but I do weight for length of song.
I also apply bonuses for 10.0, 9.0+, and 8.0+ songs similar to you.
I have a small calculation at the end that factors in overall length of album, but it's minimal (favors longer albums). Also, I try to account for more nebulous factors, such as album coherence, historical attachment, influence on my life & tastes, and other things within the rating of each song.
I currently have 1264 albums rated, with 3 more lined up to go today.
Great idea for a thread!
I feel less lonely
About song length : If a song is less than 2:00 long, I can chose not to rate it if it doesn't make sense.
About song rating : if I find that a song is good but I feel no "personal involvment" in the listening, it won't get a 4. It's the typical 3.75 !!! A 3.75 can be a good song spoiled by bad lyrics, bad performing or any other flaw.
do you mean having the time ?
But I love my calculations, even if there are 8 Springsteen albums, 8 Beatles, 9 Brassens, 6 Neil Young, 6 Dylan 5 tom Waits etc in my top 200
(and there it goes again..)
I’m... with... Listyguy on this one, I guess.
After listening to an album in its entirety I give it a score out of 100. It makes complete sense in my mind why an album should get a score of 89 instead of 90 or 88. It probably won’t make sense to anyone else, but here are some examples:
95-100: I love it so much that it should be in my all-time top 50
94: Still love it but it’s juuuuuust not quite top 50
93: Not even thinking about it as a personal top 50 album but still love it enough to give it 5 stars
92: Very, very close to a 5-star album but I can’t quite get myself to calling it a 5-star album
etc...
When albums have the same score, I just follow my gut feeling to rank them. Of course, by listening to an album again I might give it a higher or lower score and it will move up or down my list.
For me the album as a whole is more important than the sum of its parts, which is why I don’t give scores to individual songs when deciding on an overall score. In the 2005 poll that we’re doing at the moment, for example, Arular is my #1 album and Illinois my #2. If I ranked the individual songs of each, Illinois would probably come out on top. The peaks of Illinois are much higher than the peaks of Arular, but I find Illinois a little wearisome at times whereas for me Arular is a non-stop rapturous blend of crunk, garage, dancehall, rap, electronic music and even a bit of Afrobeat (I even like the ridiculous skits). So because Arular engages me throughout it very narrowly beats Illinois to my top spot. The whole beats the sum.
Interesting thread. I look forward to reading more posts. The geek factor on this forum has been a bit low recently, but this is taking it to whole new levels (!).
Well my method is much more like Listyguy's than anyone elses - I just compare two albums, say which one is better than other, then apply numbers to it. So for example, when I listen to The National's Alligator and Boxer, I think to myself "well Alligator is slightly better than Boxer". And so I give Alligator a score of 16 and Boxer a score of 15 (out of 20). Then I think, well High Violet is probably equally good to Boxer so I give it a 15 as well. So then I get a huge list of numbers and I put them in order. The hard job is sorting out between the various 17s and 16s and I just use my heart for that.
nicolas, I used to have a similar method to yours, but changed it recently towards following procedure:
1) Select target list (e.g. "best songs of 1997")
2) Based on your personal music collection and a bit of scanning through AM and RYM rankings, create a nomination list of X (e.g. 200) eligible songs.
3) Create a waiting list, which initially is empty.
4) Randomly pick 5 songs from nomination list
5) Listen to the 5 songs and give scores 1 (worst) to 5 (best).
6) Remark: If I can not listen to a song until the end, it will be removed from list (the song would in the end get rating below 5.5 and listening should be fun, so: out!)
7) Move the selected songs from nomination list to waiting list.
8) As long as nomination list is not empty, go back to step 4.
9) Move all songs back from waiting list to nomination list
10) Sort nomination list from lowest to highest scores
11) Pick 5 songs with lowest score. If multiple songs have same highest score, pick remaining songs randomly.
[Example: When sorted scores list is 1,1,1,3,3,3,3,4,... Then 3 songs with score 1 are picked automatically and from the 4 songs with score 3, another 2 are randomly picked]
12) Listen to the 5 songs and give scores 1 (worst) to 5 (best).
13) Move the selected songs from nomination list to waiting list.
14) As long as nomination list is not empty, go back to step 11.
15) Move all songs back from waiting list to nomination list
16) Sort nomination list from lowest to highest scores
17) If songs have not been listened to Y (e.g. 4) times, go back to step 11.
18) Listen to song with lowest score to set lowest rating: Default is 5.5, but sometimes a rating of 6 is allowed.
19) Listen to song with highest score to set highest rating: Default 9.5, but sometimes a rating of 9 or 10 is allowed.
20) Using the song scores, calculate the song ratings as follows:
rating = lowest rating + score * (highest rating - lowest rating) / (highest score - lowest score)
and round of to half points.
My rating index (Stephan, I recently modified my rating procedure a bit towards yours at RYM)
10.0 = close to perfection
9.5 = masterpiece
9.0 = outstanding
8.5 = excellent
8.0 = great
7.5 = good
7.0 = nice
6.5 = okay
6.0 = mediocre
5.5 = weak
For updating the list I am stealing the concept of the Divisions game:
Each rating is like a division and songs can go up and down a division for each run through.
Hope you were all able to follow this ...
BTW, this procedure is for songs only.
Rating album songs individually to get album ratings would ruin my life (yes, I do have a wife and social life)
So, there I listen to the entire album and stay with the simple listen-and-rate procedure.
I've mentioned my scoring method already, but basically I have a program that works like this.
I'll put in four to eight albums I just listened to, ranked from most to least enjoyable on that listen. The program then takes all the lists I've ever put in, weights them based on both how long ago I made them and how long I had owned the album when I made them, and puts them all together in one list.
Here's in short how this algorithm works:
All albums start with 0 points. Then, an album is 'maximized' by finding the score from 0 to 100 that minimizes its 'Incongruity'. It finds the score with the least 'Incongruity' based on binary search. That is, you start with 50, and check whether 75 or 25 has lower incongruity. If it's 75, then check 62.5, 87.5. Keep repeating this, dividing by half. If the two scores have equal incongruity, it will go to the lower number.
The Incongruity rating is based on this: For every win, add max(other album score - this album score + 10, 0)^1.05. For every loss, add max(this album score - other album score + 10, 0)^1.05.
Then, it repeats this process on all albums in random order, 100,000 times. On each iteration, it reduces the amount an album's score is allowed to change. On the first iteration an album's score can change 100 points. On the last, 0.000001 points.
It's actually a little more complicated than that, but if you can manage to understand this, you will understand enough to make it work for yourself.
Oh, and I have two separate lists. One for my favorite albums of all time, and one only for albums released in the past twelve months. On August 1st I will delete all the albums that I picked up between 8/1/10 and 8/31/10.
Which is these four:
Arcade Fire;The Suburbs;2010;2010;7;4;52.487146
Menomena;Mines;2010;2010;7;4;0.000000
Tame Impala;Innerspeaker;2010;2010;7;25;52.606784
Sufjan Stevens;All Delighted People;2010;2010;7;25;44.304381
For albums, I just open up an excel file and create a file for my all time albums list. I then go through iTunes and listall the albums that may make my top 100 in the file. Then, I listen to each a few times, and make a list. That's my plan, anyway. I haven't gotten too far with it yet. After I have a base list, I figure I can add albums over time.
I, too, have written a computer program to help me rank albums, songs and artists. I work from an Excel spreadsheet which contains fields for artist, album/song, year and star rating (for albums only).
I'll refer to albums for the rest of the post, but songs work the same way, unless pointed out.
The program then chooses 2 albums at random from a given customizable set, and I select which one I prefer. This set can be customized to include all albums, albums from the same artist, albums from the same year, albums with the fewest comparisons, etc. The default is to choose one album that has the fewest comparisons and then match it up against another album within the 1 standard deviation of its points (except early on, when the albums haven't spread out enough in terms of points, in which case the second album is chosen to be within some arbitrary point range, depending on the point system used).
I have been toying around with 3 different point systems:
The first point system I devised uses a weighted average of win percentage, strength of schedule (win percentage of opponents matches against other albums) and initial star rating (this part is left out for songs). It produces results between 0 and 100 and has worked ok, but I found a couple of drawbacks. First, I felt the weights were arbitrary and did not know how to properly tweak them. Second, I found myself forcing certain comparisons in order to "fix" the result.
The second point system I devised is based on the ELO Chess rating method with a k-factor of 24. Each album is initialized to have 1000 points, and then individual matchups add and subtract the same number of points to the winner and loser. "Upsets" (in which an album with a lower number of points beats and album with a higher number of points) make the result of the match weigh more heavily. This method seems to work pretty well, but I find that it takes a looooong time for the algorithm to converge well. It seems very sensitive to the number of comparisons, as albums generally follow in tiers depending on the number of losses they have. With 729 albums in my database and having compared each album to at least 35 others, I still don't think it has come close to converging.
The point system I'm currently working on is based simply on the matrix M of matchup results. I start with an identity matrix and add 1 to the victor's row and loser's column for each matchup. This means that for a particular album, you can look along its row to see the albums it has beaten (and how many times in the case of repeated matchups). The points for each album are the sum of the corresponding row of M*M over the sum of the corresponding row of t(M)*t(M), where t is the transpose. A transformation is then made to center the points at zero and reciprocate the negative scores for symmetry. I like that this method does not rely on arbitrary weights as the above 2 methods do. It's still early going (I've only made 5 comparisons for most albums), but a normal quantile plot of the points for albums with at least 1 win and 1 loss looks pretty beautiful:
I also use kernel density estimation to assign ratings on a 100-point scale to each album based on its rank and the distribution of star ratings.
The result looks like this for albums:
To BillA and Moonbeam,
Your system looks great but it's beyond my math/statistics/computer programming abilities. I did political science as a major !!!
It would be cool to have quch a program. Hopefully Henrik is coming to Paris in a couple of weeks so I'll ask him if it's easy to build such a program.
These programs heve to be custom made I believe because they have to reflect the way and criteria you use to appreciate music.
thanks Moonbeam ! I'm definitely interested in that stuff and I have a little time. What would you advise me to get a little more familiar with statistic software ?
It is pretty obvious that relative approach (based on comparisons) is more relevant that absolute approach (like mine, even with corrections)
We'll end up funding a list-making resaerch laboratory !!
Ok thanks Moonbeam, I'll let you know soon.
I'd be interested as well!
What I have right now is the most basic system on the planet, a program that simply gives me two albums of which I pick one and these albums then switch places if I tell the program I prefer the lower rated one. It's all I've got in terms of scripting skills, but it's rather prone to flukes. I try to correct this by first entering my top 50, then 25-75, then 50-100, etc., but it's a long process.
Upside is, it's very easy to share (I made it for IRC, so I can even run the bot for you), so if anyone is interested feel free to ask. I'd wait for Moonbeam's though.
Count me in, moonbeam!
...and me :0
Actually, Stephan can I have yours as well?
The current version of mine runs on the Java command line and has a lot of input issues. It's basically the same thing I offered to the forum a couple years ago.
I could try to make a more graphical version of it that's more user friendly, but right now my other priorities may put it off a while.
Although, if I could charge $1 for it, I could call it a commercial product on my resume. Hmm...
OK, I've written a set of Instructions and initialized everything for new users. The question now is how to share it. I don't have a website or blog. Would something like sendspace be the way to go?
Moonbeam, I'm interested too, the sendspace solution would work fine for me.
My math study lies way back in history. I had some experience with the S language, but is this R like a better, evolved extension?
sendspace is fine
OK, here is the sendspace link to a zipped folder with all of the necessary documents.
Let me know if you have any questions. Enjoy!
Thanks Moonbeam !!
I first looked into the notepad and got scared . Then I opened the Word document and everything seems clearer now.
This is exactly what I've been looking for. It's brilliant (although at the moment myfavourite album London Calling is languishing at #139, though I'm sure that's my fault)!
Happy to be of service!
As for the stars, they aren't necessary for the ranking at all. The stars are simply there for the kernel density estimation to provide a Rating for each album from 0-100 to be displayed when you print your list to the screen. The program saves only the details of the comparisons in the RData file (the matchup results, points, wins, losses and the current set) and it reads in the album/year/star details from the text file every time you start the program.
As for your #1 album not being #1 immediately, it should quickly ascend. I find that this point system is pretty excellent for quickly finding the best (and worst) few albums in the list and much better than the previous point system I employed. For example, I have 729 albums in my database, and after each album had been compared at least 10 times, my 1-5 and 725-729 were correctly identified. To check how many comparisons the albums in your list have, you can type tot into the R Console. Type sort(tot) for an ordered list. Albums in the middle regions of the list will take longer to hone in on their natural place than the top and bottom, but I think that's probably true for how I feel, as those albums fluctuate around more in my own perception than the very top and bottom.
Many thanks for sharing this, Moonbeam.
*goes back to lurking*
Moonbeam- Not sure if you can help with this, but everytime I click on the nearest location to install the KernSmooth package, I receive this error message:
> utils:::menuInstallPkgs()
--- Please select a CRAN mirror for use in this session ---
Warning: unable to access index for repository http://lib.stat.cmu.edu/R/CRAN/bin/windows/contrib/2.13
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.13
Error in install.packages(NULL, .libPaths()[1L], dependencies = NA, type = type) :
no packages were specified
In addition: Warning message:
In open.connection(con, "r") : cannot open: HTTP status was '0 (nil)'
Any ideas as to how to fix this?
Thanks!
I had the "display cannot be found" error and it turned out that my album list file wasn't right.
So if you have this error check that your album lists txt file is right, with tabulations and columns at the right place.
Moonbeam, thanks for the answer regarding the stars.
And everything works fine for me, so no display errors or so ...
The only disadvantage of the tool is, that you need to run the music near or on the PC. It would be nice if the code allows for reading text files with results of matchups (this could also be tab delimited with "ID1 ID2 winner" per line). I'm able to understand the major part of the code by now and it should be able to add the necessary code for reading such files... Moonbeam, did you already program something into this direction?
You can disregard my error message, as I did get this to work... pretty damn cool!
Awesome program Moonbeam. It's going to take awhile to get a good list since I exported my RYM data into it but in a couple weeks it's probably going to be the most accurate list I've come up with. Thanks so much!
I keep my favorite SONGS in folders: 0-100 and so on. Occasionally some songs get the call-up or gets demoted. New favorites start at the bottom. Like in working life.
Albums: "Closer" is much better than the sum of it's parts. "Marquee Moon" doesn't have a weak spot. "Cosmos Factory" has good songs but is relatively uninterresting. I guess albums must be rated in some kind of complex way that has too many factors to be counted. I guess I use my "good-bad" neural brain centre. I don't believe in apply ratings for each song on an album.
I'm loving the matchup aspect. Sometimes I think that you programmed to come up with fun matchups but it's my list so that's impossible right? One matchup this morning was Blonde Redhead- 23 vs. Adele- 21.
Listyguy (and everyone), I'll have an updated version of the program posted within a few hours.
Would anybody be interested in a song version of this? It wouldn't be difficult to adapt one from the current album program.
Here is the link to the updated version of the program.
Listyguy, I can see that the kernel density estimation could have problems when there are few star ratings relative to the number of albums in the database. Do you have a big list of albums? I've tested it now with only 2 star ratings (5 and 3) out of a list of 800+ albums. It took awhile to find a density (about 10 seconds), but it did it.
My advice would be to enter more ratings as you see fit. If you really don't care about the Rating part, this new version of the software should work if you delete all of your entries in the Star column.
No spreadsheets, no numbers, no programs, no anything.
When I made my first list of top 200 albums and top 500 songs, I went through my iTunes playlist and when I saw something that I like, I added the album/song to a .doc list. Both of these lists ended up being around twice as large as what the list needs to be, so I start cutting until I end up with the something close to or even less than the final list size. Then I signal out my albums/songs that I consider my "canon" and figure out which album I would put as the "gatekeeper" for each level (for example, The Replacement's Let It Be is my canon gatekeeper for albums, while Weird Al's Albuquerque is that for songs.)
Once I establish the gatekeeper I start looking through the list for things I consider better than that, and then work out an order one-by-one. Takes alot of moving around to get there. And even then, I look at my lists from 2 years ago and wonder how I could think that x is better than y. I'm working on my top 200 albums again, I put it away for a month and need to do a long look-over for everything again. I've taken my original list and added around 25-30 albums that I would consider adding to the list: some will make it, some won't.
This is more addictive than crack Moonbeam.
1,1,2,1,2,2,1,2,1,2,1,2,1,2,1,2,1,2,2,1,2,1,2,1,2,1,2,1,2,1,2,2,1,1,2,1,2,2,2,1
I'm glad you guys are enjoying it!
Here's a couple questions Ian:
How do you know when you have a good list? Just from spending a few hours it seems like the program is trying to guess what I'd like more by putting the perceived best album as #1. Am I correct? If that's the case, I would assume that once it comes to the point where you are picking #1 all the time, the list is complete.
Also, is it possible to add albums to the Album List once I've started ranking?
When you say M * M, you're talking about matrix multiplication, right? That's an interesting approach. Every entry of M * M becomes a measure of whether the column album has lost to an album the row album has beaten. The effect is, every time an album gets a point, every album that beat it also gets a point.
This seems like a very good snapshot of your current taste, but it doesn't seem sensitive to changing tastes. In my algorithm, the weight of any given result is gradually reduced, which happens faster for newly acquired albums than albums I've had for a while, and a new match between two albums erases the result of the previous match.
Moonbeam, just wanted to let you know, I decided to give my albums ratings to make everything easier, and the program is working well. However, when I try to use the other functions (year, artist), I get the return message:
Well, I was thinking of having functionality for both music and films. I also wonder if I could have some kind of wiki-style album description section.
Also, I think there is a latent demand for music recommendations among those who want to 'Beat the crowd' to the next big thing.
I'm not hoping for something that would pay the bills, so much as something that could give me enough pocket money so I can add a second entry to my 'Work history' section.
Moonbeam, I'd be intersted in a song ranker, and an artist one as well;
I already started a song ranking with your system like Andre did.
I installed your program on both my office and home computers
My question is : can I run two album rankers on the same computer or do i have to change the files' names ?
thanx in advance
For me 'Interesting' doesn't imply intellectual interest when applied to music. When I call music 'Interesting' I mean 'It breaks my expectations'. If an album sounds good, but sounds exactly the same as something better, I will rate it a lot lower than something that sounds equally good but is unlike anything else.
Also, when I say an album 'Has good songs' I generally mean 'Has a few good songs', with the implication that the album isn't consistent. Maybe that's what he meant in reference to Cosmo's Factory.
OK, I added an album to the bottom of my Album List.txt and now it's omitting the artist name from every choice and when I stop the cycle I get an error. Any ideas what I might have done wrong?
I'll take a look at it when I get home and give you the text file if I can't figure it out.
So I've decided to take the plunge and work a little bit with Moonbeam's program. It reminds me of the website Flickchart, but that is for movies. There's no way to add albums to your list en masse right? It may take a while to add my whole collection one at a time.
I'm going to try to make a new version of mine that allows you to add in albums by entering them into tab delimited files, so you can add them in straight through Excel.
I will also make it flexible as far as fields, and allow you to filter by fields. So, you could do it with music and use year, band, etc. Or, do it with film and use year, director, writer, etc. Or, do it with sports teams, etc. And make it possible to customize the weighting.
Okay, update, I'm going to try to make this program by the end of the week because a recruiting firm I'm working with is asking for code samples.
So, I want to make a description of the program to work with, to see if anybody has ideas or suggestions.
At this stage it will still run on the Java command line, but I want to make it so you can import information from a CSV file which has been created from an Excel file.
So, here's how it will work. The top row of the Excel file will be parameters. You can add anything you want, but it will come with three templates, one for music albums, one for music songs, and one for films. Additionally you can make the parameters however you want.
You would initiate the program with a CSV file and it would load it in. Then, it would give you a list of options:
1) File menu
-1) Load new file
-2) Save
-3) Add parameter
2) Data menu
-1) Add result (This would allow you to list any number of items, best to worst)
-2) Delete result
-3) Print results (This would prompt you with a filter menu to ask which albums' results you want to print)
3) Score menu
-1) Add filter
-2) Remove all filters
(These would allow you to only list albums from the same year, the same artist, or whatever)
-3) Print scores
-4) Update scores
-5) Recommend next match
4) Preferences menu
The preferences menu would allow you to fiddle with things. For instance, you could decide whether every match is equal weight or if weights gradually decline. You could decide whether new results add to or overwrite existing results.
Comments? I want to have this done and distributable really quickly.
Time for a short anecdote related to all this list-mania:
At the end of the 90s I used to work at a small company that develops systems for behavioral research. Based on an existing DOS program called MatMan (short for matrix manipulation), I developed in about 6 months an Excel add-in which had completely ported the DOS version and had some functionality extended to it (something complicated with the statistical correlation parameters Pearson's R and Spearman's rho).
One of the program functions is to retrieve a hierarchy and ranking within a group of animals. If you, for instance, observe a group of monkeys for a while and take a note each time two monkeys get agressive, or like each other and start fleeing each other, you can enter this data in Excel and run the program. It will give you the hierarchy.
I still should have the VBA code somewhere, maybe it will work for music albums and songs as well?
And I'm happy to see that the program is still being sold: http://www.noldus.com/human-behavior-research/products/matman
Okay, how about this: Template files specify whether it takes integer arguments or string arguments, and if it takes integer arguments, you can specify a whole range.