Florida Cannibal Corpse Man

Detroit is known for many, many, countless great things — not the least of which is giving the world great music over, and over again.

You’re welcome.

Florida, on the other hand, is known for … 99.999% ridiculous crap and Tom Petty.

One such pride and joy of the Tampa area is Cannibal Corpse. In honor of guitarist Patrick O’Brien’s arrest today, here’s some data viz we’ll compare to any jumps in response to his shenanigans.

Bar chart measuring Cannibal Corpse albums popularity
Popularity of Cannibal Corpse albums per the Spotify API as of Dec 9, 2018. (Click for larger)

For those of you unfamiliar with the band, here are their most popular tracks on Spotify (as of Dec. 9, 2018). “Addicted to Vaginal Skin” is the one that’s stuck with me in the twenty years since I found one of their cassettes in the garbage at college.

Album Title
Track Title
Track Popularity


Tomb Of The Mutilated Hammer Smashed Face 51
Torture Scourge of Iron 47
Evisceration Plague Evisceration Plague 45
Tomb Of The Mutilated I Cum Blood 44
Red Before Black Code of the Slashers 43
A Skeletal Domain Kill or Become 41
The Bleeding Stripped, Raped, And Strangled 40
Red Before Black Only One Will Die 40
Red Before Black Red Before Black 39
Kill Make Them Suffer 38
Tomb Of The Mutilated Addicted to Vaginal Skin 35
Red Before Black Shedding My Human Skin 35
Red Before Black Remaimed 33
Evisceration Plague Priests Of Sodom 33
The Bleeding Fucked With A Knife 33

Normally, it really, really bothers me that Spotify only supplies a “popularity” score — a relative number ranking all artists against each other — instead of a more quantifiable and useful “playcount” number but, in this case, it makes for some fun comparisons.

Screen Shot 2018-12-11 at 9.16.19 PM.png

As of yesterday, Cannibal Corpse’s popularity on Spotify is 55. That’s down from 58 one year ago which was their high since I’ve been collecting data on them. It should be noted, though, it is up from their low of 50 for the last three weeks of July 2018.

As I said, by itself those numbers are meaningless until we put them in context. While 55 isn’t as high as Insane Clown Posse‘s (a Detroit export–you’re welcome) current popularity of 58 or Slayer‘s 68, it is definitely higher than … well, we can only assume they are less talented artists judging by poor popularity scores such as

  • Lindsey Buckingham (51)
  • Venom at (48)
  • Gwar at (47)
  • Stryper (46)
  • King’s X (39)
  • Was (not Was) (34)

For further comparison, Queen (97) recently overtook Eminem (95) as the highest popularity score in my database (I don’t collect data on everyone–just those I find interesting).

Pop quiz: Who, according to Spotify, is the more genre-hopping artist of the following?

  • Cannibal Corpse
  • David Bowie
  • Bob Dylan
  • Bruce Springsteen
  • Cyndi Lauper
  • Elton John
  • Jack White

If you guessed either Cannibal Corpse or Bob Dylan, you’d be correct! They are tied at nine genres each. Elton John only crosses over into five and David Bowie into seven. What are these diverse genres Cannibal Corpse finds themselves in?

  • death metal
  • alternative metal
  • brutal death metal
  • speed metal
  • deathgrind
  • groove metal
  • metal
  • nu metal
  • technical death metal

Yeah, I know. I learned this yesterday.

My little app with the clever name Pop Rock (get it?) was built with Javascript, D3, PHP, MySQL, and love.

Dec 19 update: Howard Altman’s story in today’s paper shows the events were far weirder than initially known. As you can see below, after one week, CC‘s popularity spiked a single point for a single day. I’ve never seen a spike and drop like that happen. My guts (see what I did there?) tell me it’s unrelated, however.



Data Science Isn’t Always Sexy and Glamorous

Sometimes data science is a bunch of debugging and fact-checking.

Bit o’ trivia about me: I got into this because I wanted to start using open data and APIs instead of constantly fact-checking frequently inaccurate data from my co-workers. Now, I find I have to fact-check my data. Not sexy. Not sexy at all.

I’ve wanted to write this post for a long time but, until now, I felt it would seem like mere whining … or conspiracy ranting (you’ll see).

Gathering complete, comprehensive election results seems an impossible task. It’s almost (get ready) as if somebodyThey … don’t want us to have them (imagine my voice in any shrill tone you like).

It should be easier. Much easier.

I promise I won’t complain about every little thing because I’ve complained about some of these things before — such as

  • The FEC provides Excel files for some elections but only PDFs for others
  • The FEC API doesn’t provide access to election results at all
  • The aforementioned results aren’t available on their website for months
  • Politico has results in real time and even updates them for a couple days after the election but the page is then like an operating system update or rendering video … it stays at 99% complete forever. Even now, as of December 10, 2018, Alaska shows only 99.5% precincts reporting.

Last night, I opened VS Code to continue adding features to Election Insights (the web app formerly known as prezPlayPro) when I noticed a few things were somehow broken since my triumphant post of November 23 — not only did some results change but some maps were downright broken.

Long Story Short: I now test everything using a private or Incognito window so I can be at least a wee bit more sure I’m looking at the latest code. Results that I expected to change after a fix made 2-3 weeks ago finally showed up. So, nothing was broken or causing incorrect results but I only know the “new” results are accurate because I did some digging in several piles of data to confirm … digging which should have been easier.

I had two potential problems I needed to investigate. Two questions needed answering:

  • Did Evan McMullin really beat Darrell Castle in a buttload of states?
  • Why do I have two candidates (Darrell Castle and Emidio Soltysik) affiliated with the U.S. Taxpayers party in Michigan?

In my previous, Final 2016 Presidential Election Maps, post, I realized I hadn’t included Evan McMullin in my arrays of “right-leaning” candidates. Much to my surprise, adding him to those arrays didn’t change any results (or so I thought). Last night, when I saw that including him may have drastically changed the results, I realized one of two things was true — either my code was broken or my database contained mistakes.

I chose to look into Texas because when I moved my hand, that’s where my cursor landed, showing me McMullin. My results are taken from the PDF from the FEC but, FORTUNATELY, I didn’t go directly to that PDF to confirm results. I also wanted to check party affiliations which I got from Ballotpedia (whom I’ve whined about previously for other issues even before the inaccuracy I just found). Otherwise, I wouldn’t have found some of the groovy things I did.

So, first, I went to the Ballotpedia page for Michigan’s 2016 presidential election results. Much to my relief, the mistake was theirs.

I took all my party affiliations from their Results tables which, at least in this case, differs from the list above.

When I first started this project, I tried using Python‘s Beautiful Soup to grab info like that in the above screenshot from Politico because they conveniently listed every state on a single page. Unfortunately, the code is filled with inconsistencies and invisible crap neither I nor Beautiful Soup could beat into submission. Also, if memory serves, candidates’ names were spelled differently on different state ballots. <– That’s infuriating fact #4,987 on the list.

So I just did some major cutting and pasting to fifty pages I saved from Ballotpedia which sucked in it’s own way because you can’t right-click on their US map to open them in separate tabs — you have to click each one and, after saving the state page, click the Back button to get back to the map.

Before I noticed the Ballotpedia candidate list contained different parties than the results table, I followed the link to their data source (Michigan‘s Secretary of State or, as Ballotpedia calls it, “Department of State”) but when I clicked it, got a 404. Several of the source links at Ballotpedia have the same result but I don’t know whether I should be frustrated with Ballotpedia for having broken links or, as I’d thought previously, frustrated with those states for not keeping their results pages up. My FEC results PDF lists parties for each candidate (but not, much to my chagrin, by state). There I found Soltysik listed as Natural Law Party (which is still kinda conservative, if my recollection is correct) and Socialist Party USA (like the Beach Boys song).

Not yet noticing the mistake in the screenshot above, I set my party affiliation problem aside for the moment and went to Ballotpedia’s Texas page so I could confirm my results (from the FEC) for Castle/McMullin.


Ballotpedia doesn’t even list McMullin as a candidate in Texas but does list 51,261 write-in votes. Ever the optimist, I clicked the link for Texas Secretary of State.

And, as it turns out, McMullin wallops Castle in Texas.

Black gold! Texas tea! Comprehensive election results, that is!

Note that most of those 51k+ write-in votes are for a single candidate. I think that’s rather significant. If I were the type to post election results, I might consider including that bit of information. Of course, Ballotpedia is probably in the pocket of the Commission On Presidential Debates (who fit nicely in the pocket of Big Insurance who are run by the Illuminati).

Now I was curious if Politico limited their results like Ballotpedia.  I had to go there anyway to see what party affiliation they had for Soltysik anway, so … after finding Soltysik was accurately listed as NLP in Michigan, I saw Politico‘s Texas results were wanting as much as Ballotpedia’s.

These are Politico’s “detailed” results.

Now I was grateful I couldn’t get Beautiful Soup working to my satisfaction with Politico. I’d have missed out on a bunch of candidates!

I still have much digging to do because far too many of my candidates have “null” for party affiliation — not to mention I now know I must fact-check whatever I find. Getting data directly from each state would be best, of course, but since Ballotpedia’s links don’t go anywhere, that won’t be as easy as I’d like.

Is Bodhi My Buddy?

After the most recent, and most tragic, re-wipe & install … that … I don’t know why … nothing works … well, the network card works but nothing else … node, which I need … can’t get Firefox Developer Edition to install … I can install Chrome and Chromium but they both crash upon launch … I’m just abandoning Lubuntu … not that I’m bashing them … it was awesome until a random update royally fudged my network card …

So, now, I’m installing Bodhi … why? Because it’s very light, allegedly, and when I tried it on USB, ethernet worked … I’m willing to go through the whole Broadcom dance if other shizzle works … and I really dig the look and feel of Bodhi …

but …

it seems to have frozen during install (after trying it on USB) … god, I can’t wait to have a laptop made in the last few years.

Update: I quit and deselected the update-while-installing options. That “fixed” it.

Crap. Keeping my programs, etc. might mean I still have my broken mess of the node stuff that is installed but doesn’t work.

Updated Update: Okay, just saw a bunch of “couldn’t do this, couldn’t do that, you have held packages” … I’m going to start over and tell it to erase everything.

The Little Coder That Could

I have still been working on Stakeout but I’ve also been trying to get started on the PHP version of myRockinApp. In the many months since I last worked with the Spotify Web API, they started requiring authorization for everything and I just can’t seem to understand how it works. Spotify provides plenty of examples for JavaScript and, I think, even Python but they direct PHP users to some GitHub repos.

The PHP github stuff are libraries for people to use … I don’t want to use them … I want to learn to make my own. I am struggling to reverse-engineer them. Writing the JavaScript and Python versions of this were so much easier. SO much easier.

Been struggling with that for at least a couple weeks.

I keep thinking I could do that thing where you pass things back and forth between jQuery and PHP but … I don’t like that for several reasons. Among other things, it seems sloppy and like cheating.

I keep seeing references to cURL — I may have mentioned this before — and it frightens me. I have no idea what it is, how it works, or how to use it. It looks completely unfamiliar. My stomach hurts at the idea of jumping down another rabbit hole of learn this but you need to know this to use that and you need to know this other thing to do that.

Searching StackOverflow for “Spotify” and “PHP” returns a ton of unanswered questions from years ago.

Okay, the code in one of the two active PHP/Spotify repos is a lot easier to understand than the one I’ve been trying to understand and work with. Added bonus, it requires cURL and had that reference hyperlinked to the main cURL page at php.net. As it turns out, the cURL Introduction page made all my anxiety go away.

More than 2GB RAM in Dell Vostro 1000?

My ancient, heavy laptop runs awfully slow sometimes. What’s weird, is I’ve watched Netflix on it just fine, but very often clicking a menu is followed by a long wait. Very long. I rarely use it for such things as streaming video — it’s my ever-present coding machine. The only demands I place on it are text editors so it’s as perplexing as it is frustrating when it hangs.

I found a few threads — one at cnet and another at notebookreview — in which people fought over whether a Dell Vostro 1000 (like my hand-me-down) could handle more than the 2GB o’ RAM the specs say it can.

Those on the “yes it can” side said they’d installed 4GB (as long as it was 667MHz, not 800MHz according to the Dell forums) and it was worth the few dollars they paid despite the fact that the naysayers were all naysaying, “It’ll never work and even if it did the difference would be negligible but there will be no difference because it won’t work and you’re dumb.”

So I ordered me two 667MHz 2GB sticks and could barely contain my excitement as I installed them.


And the laptop wouldn’t wake up.

So I took them out and reinstalled them — completely convinced that they fit better the second time.

And the laptop still wouldn’t wake up.

So I put the dusty, old 1GB sticks back in.

And it woke back up and said, “What the hell, man?”

So that 4GB kit is now wrapped inside a return shipping label on its way back to Amazon.

Just in case anyone else out there wanted to try that, there’s my two cents.

Security To Do

  • Create sufficiently unique Admin username and super-secure pw so I don’t need to or have to log in as root
  • Encrypt home directory
  • install security updates — I’m … wow … that I need to stay on top of this without someone doing it for me. Time to adult as an admin.
  • install latest OS security patches
  • Set authentication keys for SSH login (instructions here)
  • Disable FTP login and use SSH instead?
  • Other shizzle in McKerracher’s VPS Tutorial
  • Change port

Check out: