Most listened-to songs of 2008

December 14, 2008

A post on LifeHacker mentioned that Last.fm has released their lists of the most listened-to songs of 2008.  Since their service “scrobbles” (logs) everything that their users listen to, they have a pretty massive data-set.  They are UK-based, so there is quite a bit of a UK bias in the results, but they are still interesting nonetheless.

There were two somewhat-annoying things about the lists: 1) each entry is on a different page, so you have to go to 30 pages to see all of the results 2) no links to lyrics!

So we’ve taken the liberty of compiling them for you into a nice concise list of links to the lyrics-pages:

http://lyricwiki.org/LyricWiki:Lists/2008/Last.fm

Enjoy!


Better, Faster, Stronger!

October 24, 2007

LyricWiki just got better because we’re much faster now at delivering lyrics to the world and much stronger against slashdot-effect or digg-effect problems.

Our server upgrades are continuing along quite smoothly.  Last night we got Squid caching up and running.  That means that if the wiki delivers a page to a logged-out user once, the rendered page is saved by Squid until it is changed, saving all of the database lookups and processing to turn the WikiText into a full-blown HTML page.   This measure is awesome since it not only makes a large majority of the browsing faster, it also makes the site extremely resistant to Slashdotting / Digging / etc. (since those are logged-out users all accessing the same pages – which would be in the cache).

Currently, only about 30% of our page requests are getting served by the Squid, but that’s partially since the API has people sending all kinds of weird requests at it (varied spellings, capitalizations, etc.).  Wikipedia serves around 60% of its pages through their Squids, so we have potential for even more savings as the web-traffic catches up to the API traffic.

Tonight, I’ll be moving on to try to use load-balancing to get our other web-server into the party (this is a bit trickier than it sounds, so it might take a while).  Then I’ll try to upgrade the new web-server with APC like I did for the first web-server yesterday.  Once that setup is done, I’m going to be begging for a slashdot just to see how well the servers can fare against that kind of onslaught (we can take it!).


Survey Results

February 1, 2007

Many of you may have noticed that there was a link to a quick 3-question survey on the lyrics site for a little more than a week.

There was a decent response (for a survey), and we ended up getting 610 valid responses before I took it back down to start processing it.

The survey asked for age, gender, and favorite genre of music.

Here are the highlights:

  • 75.08% male, 24.91% female.
  • Average age of 21.57 years old
  • Median age was tied between 17 and 18 years old (see below)
  • People whose favorite genre is Metal are 94.83% male, but otherwise the genres are fairly evenly balanced.

How the stats were processed…

Results with entirely impossible ages were removed (the oldest person alive is 113 right now, so no LyricWiki users are 1,000 years old). There were only a couple of them, and the 610 results is the number that were left after removing these results.

Genres were combined – so “Rock”, “rock”, and “R0ck!!!!” were all treated the same. Some of the genres are close to each other, but not enough that I combined them (“East coast hip-hop” versus “hip hop” and “Everything” versus “None”).

Below are stats on the most popular genres, and a link to the mySQL data file of the results (after grouping genres together)…

NOTE: The number of items shown in each list are not nice round numbers, but they were chosen so that there was a “clean cutoff” meaning that if two genres were tied with 4 votes, either both were shown or neither.

Top 29 Genres

mysql> select genre,count(*) from quickSurvey
group by genre order by count(*) desc,genre
limit 29;
+------------------+----------+
| genre            | count(*) |
+------------------+----------+
| Rock             |      148 |
| Metal            |       58 |
| Alternative      |       46 |
| Indie            |       44 |
| Pop              |       35 |
| Punk             |       22 |
| Hip hop          |       17 |
| Classic rock     |       12 |
| R&B              |        8 |
| Electronica      |        7 |
| Everything       |        7 |
| Gothic           |        7 |
| Hard rock        |        7 |
| J-pop            |        7 |
| Progressive rock |        7 |
| Ska              |        7 |
| Country          |        6 |
| Jazz             |        6 |
| Trip hop         |        6 |
| Christian        |        5 |
| Japanese Rock    |        5 |
| Electronic       |        4 |
| Emo              |        4 |
| Folk             |        4 |
| Grunge           |        4 |
| Heavy metal      |        4 |
| None             |        4 |
| Soundtracks      |        4 |
| Trance           |        4 |
+------------------+----------+
29 rows in set (0.00 sec)

Top 9 Genres for Males

mysql> select genre,count(*) from quickSurvey where
gender='M' group by genre order by count(*) desc,genre
limit 9;
+--------------+----------+
| genre        | count(*) |
+--------------+----------+
| Rock         |      109 |
| Metal        |       55 |
| Alternative  |       31 |
| Indie        |       28 |
| Pop          |       19 |
| Punk         |       18 |
| Hip hop      |       14 |
| Classic rock |       11 |
| Ska          |        7 |
+--------------+----------+
9 rows in set (0.01 sec)

Top 7 Genres for Females

mysql> select genre,count(*) from quickSurvey where
gender='F' group by genre order by count(*) desc,genre
limit 7;
+-------------+----------+
| genre       | count(*) |
+-------------+----------+
| Rock        |       39 |
| Indie       |       16 |
| Pop         |       16 |
| Alternative |       15 |
| J-pop       |        5 |
| R&B         |        5 |
| Punk        |        4 |
+-------------+----------+
7 rows in set (0.00 sec)

Ages

mysql> select age, count(age) as numUsers from
quickSurvey group by age order by numUsers desc limit 17;
+------+----------+
| age  | numUsers |
+------+----------+
|   18 |       65 |
|   17 |       65 |
|   15 |       52 |
|   16 |       49 |
|   19 |       42 |
|   21 |       37 |
|   20 |       33 |
|   14 |       27 |
|   25 |       25 |
|   22 |       25 |
|   13 |       25 |
|   23 |       22 |
|   26 |       17 |
|   24 |       15 |
|   27 |       11 |
|   28 |        7 |
|   29 |        7 |
+------+----------+
17 rows in set (0.00 sec)

If you want to run your own tests on the data, you can grab a copy of the mySQL dump of the stats.