Ted Nugent Is A Sweetheart

I know because I’ve met him. He was kind, cool, gentle, generous and awesome. I’ve known and am related to others who have met him and they feel the same. Maybe it’s because we’re all from Michigan. People are just nicer and more laid back there.

Also, as I’ve been reminded the last couple days while listening to some records I haven’t played in a long, long time — how much he rocks like nobody’s business when he’s on his game.

In honor of his upcoming August 20 show here in the Tampa Bay area, here are some stats from my little web app. I have one set of PHP scripts that daily and weekly grab data from the Spotify WebAPI. I track popularity scores for artists, albums, and tracks as well as followers for artists. Followers for artists is 99% boring because they just continue upward so that line chart on the left side of Figure 01 represents what most of them look like. Boring. I have another set of scripts written in Python that grab data from Last.fm using the MBIDs from MusicBrainz.org.

Last.fm can only grab one thing at a time which sucks hardcore. With Spotify, sometimes you’re limited to 20 or 50 things at a time but at least you can get 20-50 things at a time! The Python scripts take for-ev-er. All of that data then goes into various tables in a MySQL database.

The app’s … can I call it an app if it’s a web app? Or is it just a regular old site albeit a data-driven site? I call it PopRock because it started tracking only popularity on Spotify. The home page is a list of the artists I track — a total of 326 as of this moment.

Many were chosen because they were either nominated for induction to the Rock and Roll Hall of Fame, possibly inducted to the Rock and Roll Hall of Fame, or there are countless articles about the fact that they are continually snubbed or overlooked by the Rock Hall. I was curious about whether their popularity was affected by such announcements.

Figure 00: PopRock’s home page with artists sorted by Last.fm playcount. The default order is A-Z but users can sort by Popularity, Followers, Listeners, and Playcount. You’d be surprised how different the table appears when you change it.

Others were chosen because I’m interested in them, there is or was a movie coming out about them, or they might die soon and I am so pissed that I didn’t have David Bowie or Prince in when they died. I can’t believe I didn’t already have them in given how much I love each of them–especially Bowie.

All of the artists in Figure 00 are in Spotify and some also get data from Last.fm. I really mean only some — it’s just pure luck or coincidence that sorting the table by playcount to see which artists are “near” Ted Nugent brought nothing but artists for which I get data from both places. Originally, I was just going to screen grab five above and five below Nugent but I stretched it since going another 1 or 2 brought in both Joan Jett and her one-time bandmates, Evil Stig.

There is a growing list of artists with data only from Last.fm and I am in the process of making a page just for them. Integrating both data sets into every “feature” has proven not only sometimes difficult but it tends to break stuff for days — the damage sometimes compounded because I may have missed it and kept coding before I noticed it.

Writing the AJAX for the sorting was challenging enough without … changing what data is displayed and then changing my mind again.

Figure 01: The main or home page for this artist. A work in progress.

Here are some closeups. Neither of the Spotify-based line graphs give any real, useful information, but they were great for learning Javascript, jQuery, and D3 as well as PHP and Python. There’s still a lot of work to do as I want to make almost everything on the site interactive which will increase it’s usefulness a ton as well as the “fun factor.”

Figure 02: I really don’t like those default “pill boxes” in Bootstrap.

Artist and album cover art images come mostly from Spotify. For the few that are Last.fm-only come from some art archive something or other that rarely works so if I have an album from MB/LastFM that isn’t also in Spotify, I just hunt it down with a Google Image search because life is too short.

Nugent began with The Amboy Dukes, a band that was equally cool yet sounded nothing like his eventual solo work. Here are their stats.

Figure 03: And I need to do something about that dynamic title, don’t I?

Normally, the Spotify Followers graphs all look like Nugent’s below, no matter what the range is in the Y axis so I was surprised to see that jump for the Amboy Dukes in mid-April. Also, odd jumps like that usually happen Spotify-wide so I find this one particularly interesting because it didn’t appear anywhere else. What could possibly influence the Amboy Dukes?

Figure 04: Spotify Followers for Ted Nugent (left) and the Amboy Dukes (right) made with D3.js

I still haven’t quite decided on a solution for messes like this next one.

Figure 05: Spotify popularity for many of Nugent’s albums. Also made with D3.js

My greed for data is never satisfied so I grab data for every edition of every album. So, for artists with relatively few albums it gets far too wide — especially if I ever decide I want to make this mobile-friendly. If you look closely, you can see the last album is cut off — and I have the SVG width at something ridiculous like 2400px. I am considering the following (no pun intended):

  • Putting the SVG in a “scrollable” DIV
  • Making the chart vertical
  • Just purging many of the “duplicate” albums from my database
  • Hmm … just thought of this one … starting with a few and making the rest optional. The user can drag thumbnails from outside the graph and then it’s their problem if it get’s too wide.

Gosh. Darn. His music is so awesome. “Workin’ Hard, Playin’ Hard” is on now. I’m listening to my Wholesome, Calming Ted Nugent Mix playlist on Spotify.

Wholesome Calming Ted Nugent Mix playlist on Spotify
Figure 06: Click here or search for this playlist on Spotify

Speaking of songs, here are his most played albums according to Last.fm and his most “popular” albums according to Spotify.

Figure 07: Even little things like comparing these two charts are what I love about data.

I love finding out what’s the same and what’s different … whether it’s people, cultures, music charts, whatever. I wish the above two sources had an Insights blog like PornHub. Sex is great and all, but PornHub’s data blog — that’s what really turns me on.

Ted’s charts don’t contain any surprises for the most part. Of course the eponymous debut is #1 on both because it has Stranglehold, followed closely by Cat Scratch Fever (because it’s a masterpiece) then Free-for-All because, I mean, damn … he got a local (then) singer named Meat Loaf for, like, $2 when he was struggling at Motown Records. You’ve got “greatest hits” compilations through both. Hunt Music and Spirit of the Wild stay up there for one reason and one reason alone — the ethereal, magical, amazing, spiritual, ass-kicking, galaxy-rocking song that is “Fred Bear“. I doubt I am alone in being only able to name that one song from either album. Intensities In 10 Cities is a good album and all but it’s probably only there because of Wayne’s World.

Ooh, hold on … “You Make Me Feel Right At Home” is on … How is it that Frank Zappa and Ted Nugent are the only two rockers who use … I don’t know if it’s a xylophone or a marimba … but it’s just perfect.

I’ve never understood the love for his debut solo album. There. I’ve said it. I’m sorry.

I want to say I’m surprised that Love Grenade and Craveman are so close to the top but I can’t speak with any authority because I’ve never bothered to listen to either of them. You know what, I’ll bet they’re high up because people listen to them on streaming … nope, nope … they’re on the LastFM chart … which means it’s more likely those albums were paid for, right?

And now, as I promised earlier … the songs … okay, now, check this out …

Figure 08: Most popular Ted Nugent songs on Spotify

Normally, on a Spotify list, there are lots of duplicates because you have true music-lovers listening to actual albums but also a lot of people listening to whatever single they’ve heard from some compilation. Figure 08, however, looks like an actual ranking while the Last.fm chart looks like what I’d expect from Spotify.

Figure 09: Most played Ted Nugent songs according to Last.fm

All of that is just … whatever … you may, like me, be more curious about the Amboy Dukes. I won’t bother showing their album rankings because a) they didn’t have many and b) you know full well what #1 is as well as #2 and why. In that spirit, I’ve taken the liberty of crossing out the obvious tracks so we can look at the other, more exciting players on the chart.

Figure 10: Most popular Amboy Dukes tracks on Spotify

How is “Missionary Mary” so low? And where the heck is “Saint Philip’s Friend”? Where, I ask! It turns up here, as I’d expect (see above) on the Last.fm list.

Figure 11: Most played Amboy Dukes songs according to Last.fm

If you ever get the chance to talk to Mr. Nugent, conversation with him is more likely to sound like “Why a Carrot is More Orange Than an Orange” than “Wang Dang Sweet Poontang.” Seriously. He’s great.

Ted Nugent was my second concert. Bon Jovi was supposed to open for him but didn’t show.

Figure 12: Me wearing my Ted Nugent concert t-shirt from the Penetrator tour. I find it interesting that the album cover didn’t use the traditional logo but the shirt did. Wait a second … the album used the same logo as the Free-for-All album — I never noticed!

Until recently (then recently, not now recently) my hair was down to my shoulders. The burnout princess I went to the concert with was less than thrilled about my haircut. Truth be told, so was I. I took the Peter Criss solo album to the barber and said I wanted my hair to look like that. It didn’t.

Here is a playlist of his setlist for that night:

Spotify playlist based on Ted Nugent Setlist from April 27, 1984 in Detroit
Figure 13: Click here or search for this playlist on Spotify


I saw him again for the 1990/1991 Whiplash Bash. The Damn Yankees were in high rotation so it was a Ted Nugent/Damn Yankees concert which is the closest I’ve ever been to a Styx concert.

One of the few memories I have of my father is him buying me Nugent by Ted Nugent at … Kmart or something … and listening to it in his car. It was one of those depressing … visits at one of his depressing apartments after my parents divorced.

I think I’ll go see him in August. That, I think, would rock.


Spotify and LastFM Data for Rock and Roll Hall of Fame Class of 2019

The ongoing project I’m usually busiest with is PopRock — a web app that tracks statistics and creates data visualizations using data from the Spotify Web API and the Last.fm API.

From Spotify, I grab artist Popularity and Followers (daily) as well as Popularity for albums and tracks (weekly). That is

  • 327 artists
  • Their 5,742 albums
  • The 75,283 tracks from those albums

If you’ve never heard of Last.fm, it gathers data via “scrobbles” from all participants who have a “scrobbling” app installed. When you, the music lover, listen to a song using iTunes, Spotify, etc. the app sends that bit of information as a “scrobble” to Last.fm. As often as I remember to, I run a Python script that gathers the Listeners and Playcount for each artist, their albums and tracks. At the moment, this task is so cumbersome, I keep the list relatively short — 32 artists.

What brings joy to my nerdy little heart is when there’s an event that creates an anomaly or jump in my data. For example, a movie about Queen causes a spike in popularity — especially for a particular song (“Bohemian Rhapsody”) or a movie about Motley Crue causes a spike in their popularity.

What brings sadness to my heart is how little influence the Rock and Roll Hall of Fame has on my little data exercises. For the most part, neither inductions nor nominations cause much of a change. Having said that, I look forward to the announcement of nominations every year as well as to the broadcast of the induction ceremony. The ceremony was held last week and the ceremony will air on HBO April 27. To celebrate that, I’m going to share some data and charts for this year’s nominees and inductees.

Below (Figure 01) is the Spotify popularity for the Class of 2019.

Figure 01: L-to-R Def Leppard, Janet Jackson, Radiohead, Roxy Music, Stevie Nicks, the Cure, the Zombies

I’ve already written about how Spotify calculates their popularity score numerous times and every article about the RRHoF repeats their rules and controversy so forgive me if I don’t regurgitate all of that here.

Induction Process and Eligibility Requirements, etc.

Figure 02: A line starts on the day (or day after) I add an artist to my database.

As you can see, all artists flow together for the most part — because Spotify’s popularity scores are relative. That’s what caused all of them to go down together in late June, climb back up and fall again together in February. Given that, the lines, in a vacuum, would be pretty straight. Knowing that, the nominations announced in December 2018 seem to have no effect.

Speaking of nominations, here are those who were nominated last year but not inducted.

Figure 03: L-to-R: Devo, John Prine, Kraftwerk, LL Cool J, MC5, Rage Against the Machine, Rufus featuring Chaka Khan, Todd Rundgren

Like many people, I find it extremely difficult to keep my thoughts about this to myself. At least three of those artists deserve to be in more than at least three of the inductees. But, of course, if the RRHoF used reason and logic, people wouldn’t write motherloads of articles and blog posts about them twice a year.

Figure 04: Yes, I know I need to tweak a couple things. It’s a work in progress.

The only artist I would say was really affected by their nomination is the MC5. I would expect all of them would bump up because the public was reminded of these artists and listened to them like, “Oh, yeah, I haven’t listened to LL Cool J in forever” but, in the case of the MC5, I think it’s more like, “Who are the MC5?” and I am just fine with a new generation being exposed to them by any means necessary. Very similar to another highly-influential Detroit band, The Stooges (inducted 2010). I’m still waiting for Ted Nugent to get selected for consideration to be put on the ballot. Once.

Because popularity is relative, you might be thinking the line charts are pretty useless and you’d be right. If I look at each artist individually, however,  and change the Y-axis from a 0-to-100 scale to a lowest-to-highest scale, they become (a little) more useful. Sometimes. This begins a series of posts about each inductee that do exactly that with some more useful statistics and data visualizations.

Before we go on, however, here’s something more useful — a graph using each artist’s followers on Spotify.

Figure 05: L-to-R: Def Leppard, Kraftwerk, Janet JacksonJohn Prine, DevoLL Cool J, MC5, RadioheadRage Against the Machine, Roxy MusicRufus featuring Chaka Khan, Stevie Nicks, The Cure, The ZombiesTodd Rundgren

Day-um! Radiohead has some fans, yo!

That wide range between, for example, The Zombies (who deserve better, by the way) and Radiohead makes for what could be considered a clunky chart.

In other charts, the ratio for popularity (which is, conveniently, on a scale of 0-100) is 1:2. One popularity point gets represented by two pixels so I can fight against the opposite problem of a chart that’s too small. The ratio in the above chart is 5000:1. 5000 followers to one pixel.

Chrome’s dev tools were invaluable in troubleshooting that.

I love how “good” I’m getting at math now that it’s always in a real, practical context. For the labels on top of the columns I first checked to see whether the number was above or below one million.

  • If it was below, I divided by 1000 and used Javascript‘s toFixed(0) method to strip away the decimal places — which super conveniently converts the integer to a string which I concatenated with a “k”.
  • If it was above, I divided by one million, used toFixed(1) and added the “M”.

Streamlining PopRock UI

The navigation has mostly been for me as I test the app so, sometimes, the top menu is two full rows of buttons so I can easily move around. The goal, however, is to make everything dynamic and intuitive. I’ve just started making that happen.


There’s no longer a menu to choose an artist from — the user goes to the main artist list (above, now the index.php page instead of being called allArtistsList.php or whatever it was) and clicks the artist’s name (I still need to make the images clickable) to open an artist page (combining the former list of popularity scores and D3 line chart representing those scores) that now includes a column chart of that artist’s albums’ popularity scores.

Queen is plateauing despite wins from the Golden Globes and noms from the Academy Awards.

I still don’t know quite what I’ll do with those long rows of albums.

All these links are now based on URL parameters instead of cookies. Much, much easier.

On the albums list page, each album is a link to that album’s page with popularity scores for that album’s tracks. I want to replace that by making the album art on the artist page links to those album pages … is this getting confusing?

Removing the need for all these pages in the top nav makes room for other items like comparing artists and such.

Comparing artists’ popularity over time. User clicks artist at bottom to toggle visibility in graph.

The goal for the line graph above and column chart below is two-fold:

  • At present, the genres page is just a list of all my artists and the genres Spotify assigns them. Soon, the user will be able to click the genre of an artist they like and it will open a page displaying a column or line chart of all artists in that genre.
  • Custom charts with drag & drop capability so user can choose artists to compare
Right now, this uses a static array of Rock en Espanol artists.

Probably my simplest near-future task is making some buttons for the few “groups” of related artists I have for the following:

This static array displays albums by all four groups Steve Taylor is in.

Movin’ On Up from DIV to SVG

I hadn’t cracked my (well, the library’s) Interactive Data Visualization book in so long I had to do a bunch of review for it to make sense. Then, of course, I had to debug my code (first, I had the link to D3js pointing to the wrong folder and then I learned how picky D3 is about whitespace). Here’s the mouth-watering result.


My First SVG

I first read about SVG while teaching Adobe Illustrator well over ten years ago. I may have drawn something and saved it as an SVG but never really did anything with it. I wanted to. Even then, I was fascinated by the idea of “data-driven graphics” but I had no idea what I’d use such a thing for.

I just coded my first SVG object and I’m so excited I’m afraid I’ll wet my pants.


I’ve been struggling for months to find practical reasons for coding graphics and a way to do it that isn’t a pain in the butt. The whole ProcessingJS thing feels like a ripoff but Interactive Data Visualization for the Web by Scott Murray has me all kinds of excited.

It brings together SVG, CSS, JavaScript (D3js), and is giving me my first non-intimidating look at JSON which … oh my gosh, I’m just too happy.