Tuesday, January 20, 2015

Pitchfork Metrics

In my on-going quest to better organize the web's music news, I've created a little data viz and email bot dubbed Pitchfork Metrics. It's powered by my pitchfork-api client for node from way back.

The goal is to give you quick stats about Pitchfork's reviews for any given day.  This answers the age-old question, "How good is the music that came out that day on a quantitative level"?  Below the daily average, you get the album-by-album breakdown.

If you wish to know how good some day in the past was, just use the calendar picker at the top to switch out the day and see how good some day in the past was.  For example, you could select Jan 8th, 2006:


As you can see, this day was slightly less good than today and only "decent".  Why was that?  Well let's take a look at the albums that came out that day:


As you can see "Rantology" by Ministry must be one shit album, as its score of 2 really brings down the average.  You can read the review or maybe listen to album to find out why, but I wouldn't recommend the latter choice.

Anyhow, down below the fold, you can also look at a year-by-year view of daily averages.


At the moment, the current year is autoselected and, seeing as how it's only January at the time of writing this, you can only see it's only partially filled out.  However, you can select one or more years from the past and see how they compare:


In addition to this, you can also see a running "Top 50" chart for artists and reviewers, so to speak.  For artists, the x-axis represents their average score across all of the albums they've had reviewed by Pitchfork.  The y-axis represents their total number of albums reviewed.  This means that the further to the top right the artist is, the more prolific and well-reviewed an artist is.



At the time of writing this (and perhaps to no one's surprise), The Beatles hold the top-right most spot for maintaining an 8.8 score average across 21 album reviews.  Meanwhile, at the bottom-leftish region you have Nine Inch Nails with an 5.89 average score across 12 album.  That being said, just making the chart makes you pretty awesome as it's a ratio of score to prolificness, so to speak.

The same "Top 50" is calculate for Pitchfork reviewers themselves.  Only for the reviewers, the x-axis represents the average of their scores given while the y-axis represents their total number of reviews written.


This chart takes on a slightly different meaning.  Being in the top right, makes you a prolific, yet kind critic.  I'll let you be the judge of whether you value "kindness" in a critic or prefer a more sangfroid,  low-rater.  If you prefer the kinder critic, this means Joe Tangari (822 reviews, 7.38 average) and Mark Richardson (439 reviews / 7.54 average) are your go-to guys, since they are both prolific and high-raters.  On the opposite spectrum you have Ian Cohen, who is very prolific at 589 reviews and much harder to impress with a 6.29 average score given.  That leaves Stephen M. Deusner as your middle-of-the-road choice.  Very prolific (682 reviews written) and not too harsh nor too kind (6.95 average score given).

That being said, the data recomputes each day so come back each day to watch these scores change over the course of time and maybe you can see reviewers and artists reposition themselves here or maybe drop off the chart altogether.

If you don't want to come back daily, that's okay.  Pitchfork Metrics also includes an e-mail bot on the back-end that will send you emails with only the reviews you care about.  In addition to your name, email, etc., you give it a score threshold (that is, the lower bound score of an album before you will care enough to read its review) and a(n optional) list of artists you actually give a shit about.  The bot then takes care of the rest and sends you an email if/when reviews match your criteria and only then.  That means, if you set your standards high enough, you may never get an e-mail, but hopefully you aren't that much of a music snob.

So yeah, that's Pitchfork Metrics.  Check it out and send me feedback by email or bug reports via Pitchfork Metrics' Github page (https://github.com/omardelarosa/pitchfork-metrics)

Thursday, July 17, 2014

Pitchfork API for Node

Tired of reading Pitchfork in your browser?  Try reading it on the command-line (or processing its review data as json).  If you have, Node installed, you can now:

npm install pitchfork

The package is inspired by a Python package that scrapes review data from Pitchfork.  The goal was to make something Node-friendly that was Eventable and/or Thennable and easily plugged into an Node project.  Take a normal normal Pitchfork Review:



And now display the command-line version:

pitchfork -a "wilco" -t "yankee hotel foxtrot"


The output can also be formatted into valid JSON (and piped to a pretty-printer):

pitchfork -a "wilco" -t "yankee hotel foxtrot" --json | json

You can also read the review entirely as plain-text and pipe it to less:

pitchfork -a "wilco" -t "yankee hotel foxtrot" --text | less



The npm can also be required in any (node) .js file and used programmatically with either...


var p = require('pitchfork')
  , s = new p.Search('wilco')

s.on('ready', function(results){
  results.forEach(function(review, idx){
    console.log("review #%d: ",idx, review.truncated());
  });
});

var p = require('pitchfork')
var s = new p.Search('wilco')

s.promise.then(function(results){
  results.forEach(function(result){
    result.promise.then(function(review){
      console.log("review", review.truncated())
    })
  })
})

For more information or to contribute, visit the project on github:


or NPM:

Wednesday, February 5, 2014

Arduino Adventures #2 - 3 Essential Links for 8x8 LED Matrix Projects

In the process of building an Arduino, MIDI step sequencer, I've stumbled upon some useful info about 8x8 LED Matrixes that helped me get a little bit closer to my goal.  However, I couldn't've done with without these essential links when dealing with one of these Sparkfun, dual-color, 8x8 matrices:
 buy an led matrix from amazon

1. Ana Debroy's homemade spec PDF

This is a great supplement to the manufacturer's datasheet that will help you make more sense to how pins map to the light patterns.




2. Tronixstuff's 8x8 LED for Arduino Tutorial

A very thorough tutorial on how to write Arduino Sketch code that activates individual LEDs.  His drawings are also very helpful:


3. Arduino's RowColumnScanning Tutorial

Although this is written for a mono-color 8x8 matrix with far less pins, some of the diagrams and information on this tutorial is essential.

So far, I've only started on the pattern timing side of things and made brief, adjustable-speed, two-color visual-metronome-kinda thing.



I've also posted my Arduino Sketch code for this on Github.  If you have any ideas or resources, send them my way or send me a pull request.