Sheryl Crow - Tuesday Night Music Club

Hitting #8 on the charts after 33 weeks, Tuesday Night Music Club is Sheryl Crow's debut album. According to last.fm, I've listened to 12 Sheryl Crow tracks in the last 18 years, the majority off this album for this blog post. Clearly she is not one of my favorite artists. I don't think her music is bad, but I just don't choose to listen to it. I suspect the few random plays in the past were because of some algorithmic mix I was listening to.

The album does have two big hits: Strong Enough and All I Wanna Do, which I have heard before. I'm not entirely confident that I've heard any of the other songs on this album before.

Long story short, TL;DR, yadda yadda, my opinion of Sheryl Crow hasn't changed. I'll probably never listen to this album again. Finally, I'd rather go to Tuesday Night Racing than listen to this album.

more ...

Smashing Pumpkins - Pisces Iscariot

I've listened to a fair amount of Smashing Pumpkins over the last 18 years, but before now I had never listened to this album. This album is actually a compilation which might be why I never checked it out until now. Perhaps another reason is that this album is not one of their most popular. This week it hit #4 but in the coming weeks it plunges down the order pretty quickly.

The only song off the album that was released as a single was a cover of Landslide originally by Fleetwood Mac. That cover did quite well and I remember hearing it on the radio 30 years ago, and I'm pretty sure I've heard it on the radio since then fairly consistently.

According to Wikipedia, this is one of the better reviewed Smashing Pumpkins albums. I think that the songs in isolation are all pretty good, but being a compilation the cohesion between songs isn't the best. I don't think I'll listen to this album all that much going forward mostly because other Pumpkins albums are better.

more ...

R.E.M. - Monster

In the summer of 2001 I spent a couple months participating in a Research Experience for Undergraduates (REU) in the Physics Department at the University of Georgia (UGA). UGA is in Athens, Georgia, which is a wonderful little college town about two hours away from Atlanta. There are many things I remember about my time there. Having grown up in the Bay Area and it's notoriously cold summers, that was the first summer I spent in a genuinely hot place. I brought a bike and I spent a fair amount of time exploring the countryside around Athens — and this was before smartphones with GPS! The group of REU students I was in and a few faculty members took a trip to see a Space Shuttle launch, which was amazing.

As part of my preparation for spending a summer in Athens, I made a bunch of MiniDisc recordings (I had a Sharp MD-MS722), including the R.E.M. catalog. R.E.M. were students at UGA and got their start in Athens. I wanted to listen to their music while spending time in Athens.

Included in my MiniDisc library was Monster which shot to #1 in its first week on the charts. Monster doesn't have as many hits as Out of Time or Automatic for the People, really only the first track, What's the Frequency Kenneth got big radio airplay.

This is one of those albums that makes the 30 Years On project fun. Listening to this album brings me back to being in Athens, being in a new place, doing new things. It's a great album and I recommend it.

more ...

Anita Baker - Rhythm of Love

Sitting at #3, Rhythm of Love by Anita Baker made zero impression on me. Nothing negative, nothing positive, nothing. That's all I really have to say about it.

more ...

Eric Clapton - From The Cradle

Debuting at #1, From the Cradle by Eric Clapton is 100% blues. This album was released on the heels of "Tears in Heaven" which likely contributed to the popularity of this album. According to this fan ranking site it's one of his best albums. While other people may find it great, it doesn't make a big impression on me. For me, Slowhand and Unplugged are much more interesting. Certainly, From the Cradle is well done, but it just doesn't make me feel the things some of his other work does.

My recommendation is to check it out, you may like it, or not.

more ...

Switzerland Trail

Here's a nice photo from a ride I did last month.

Switzerland Trail

more ...

The Three Tenors In Concert 1994

It takes a rare thing for an album by three(*) opera singers to make the top ten in album sales. It takes a cultural moment where an opera singer, or singers, is widely enough known to garner the kind of attention required to sell enough albums to make the top ten. It also takes a certain kind of album; a whole opera would not be able to sell as well as a "greatest hits" collection, which is what this album is. This week, The Three Tenors in Concert 1994 is in the seventh position on the charts. It looks like this album will rise to as high as fourth in sales, which in 1994 is a fair number of copies sold.

Curiously, the only streaming services that appear to have rights to this album are YouTube (and its eponymous music service), and SoundCloud. Notably Spotify and Tidal do not have it. Luckily I have access to YouTube Music so I listened to it there.

As mentioned above, this album is mix of "greatest hits" of opera and popular music. I am not a big opera afficionado, but even I can tell that these tenors are far more comfortable singing opera than popular songs. The opera songs are clearly very well sung. Unfortunately, the popular songs, like My Way, are halting and impacted by the fact that english is not these singers first language. I think that if they had stuck to singing only opera's greatest hits, it would have made the album better at the expense of its popularity. But as it is, the popular songs are not good. If you care to, listen to Sinatra's My Way, and then My Way off this album to hear what I mean.

Honestly, it appears that even the rights holders to this album are content to let this album fade into history. Streaming services are where the listeners are, and by keeping it off of most services, they are making it almost impossible to find. If I didn't have access to YouTube Music, I would not have put in the effort to listen to it. I think that you, dear reader, can safely leave this album in the past.

(*) There are four men on the album cover. I guess the fourth is the conductor of the orchestra. Still, it's incongruous to have "Three Tenors" and four people in the picture.

more ...

Boyz II Men - II

Shooting to #1 in its first week on the charts, II by Boyz II Men arrived a bit too late for my (pre-)teenaged angst, which I feel peaked during middle school. During middle school the Boyz II Men hit End of the Road was huge and listening to it now evokes memories of awkward middle school feelings. By the time I got to high school I think my angst (which was probably lower than many of my peers) was already subsiding. I think because of this, II and the songs on it, don't quite have the same impact as those off of Boyz II Men's first album Cooleyhighharmony.

There are two huge hits off of II, I'll Make Love To You and On Bended Knee, which me and most of my readers have surely heard before and continue to get radio airplay.

Boyz II Men are squarely in the R&B genre, and while I like R&B, it's not my main go-to. If I were to listen to some Boyz II Men, I would probably listen to Cooleyhighharmony before listening to II. II is high quality 90's R&B with record-breaking hit songs, but for me it just doesn't hit the same.

more ...

The Offspring - Smash

It was over 20 years ago, but if my memory is correct, I've seen The Offspring in concert twice. Needless to say, Smash is one of my favorite albums. On my streaming service (which is Tidal at the moment) it was already added to my list of favorite albums long before I wrote this review. According to last.fm, I've listened to this album almost 350 times.

This album is their breakthrough album into worldwide popularity. The song Come Out and Play reached #1 on the charts and received extensive radio airplay. It's likely, therefore, that I heard that song and the other big hit off the album, Self Esteem, on the radio when this album came out. However, I admit that I didn't really get into the band until I was in college.

I recommend this album very highly, especially if you're in the mood for some high energy punk rock. I recommend memorizing the string of curses in the bridge of Bad Habit; it's useful when you want to let off some steam.

more ...

Setting Hadoop Node Types on AWS EMR

Amazon Web Services (AWS) offers dozens (if not over one hundred) different services. I probably use about a dozen of them regularly, including Elastic Map Reduce (EMR) which is their platform for running big-data things like Hadoop and Spark.

EMR runs your work on EC2 instances, and you can pick which kind(s) you want when the job starts. You can also pick the "lifecycle" of these instances. This means you can pick some instances to run as "on-demand" where the instance is yours (barring a hardware failure), and other instances to run as "spot" which costs much less than on-demand but AWS can take away the instance at any time.

Luckily, Hadoop and Spark are designed to work on unreliable hardware, and if previously done work is unavailable (e.g. because the instance that did it is no longer running), Hadoop and Spark can re-run that work again. This means that you can use a mix of on-demand and spot instances that, as long as AWS doesn't take away too many spot instances, will run the job for lower cost than otherwise.

A big issue with running Hadoop on spot instances is that multi-stage Hadoop jobs save some data between stages that can't be redone. This data is stored in HDFS, which is where Hadoop stores (semi)permanent data. Because we don't want this data going away, we need to run HDFS on on-demand instances, and not run it on spot instances. Hadoop handles this by having two kind of "worker" instances: "CORE" instances that run HDFS and have the important data, and "TASK" types that do not run HDFS and store easily reproduced data. Both types share in the computational workload, the difference is what kind of data is allowed to be stored on them. It makes sense, then, to confine "TASK" instances to spot nodes.

The trick is to configure Hadoop such that the instances themselves know what kind of instance they are. Figuring this out was harder than it should have been because AWS EMR doesn't auto-configure nodes to work this way; the user needs to configure the job to do this including running scripts on the instances themselves.

I like to run my Hadoop jobs using mrjob which makes development and running Hadoop with Python easier. I assume that this can be done outside of mrjob, but its up to the reader to figure out how to do that.

There are three parts to this. The first two are two Python scripts that are run on the EC2 instances, and the third is modifying the mrjob configuration file. The Python scripts should be uploaded to a S3 bucket because they will be downloaded to each Hadoop node (see the bootstrap actions below).

With the changes below, you should be able to run a multi-step Hadoop job on AWS EMR using spot nodes and not lose any intermediate work. Good luck!

make_node_labels.py

This script tells yarn what kind of instance types are available. This only needs to run once.

#!/usr/bin/python3
import subprocess
import time

def run(cmd):
    proc = subprocess.Popen(cmd,
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE,
    )
    stdout, stderr = proc.communicate()

    return proc.returncode, stdout, stderr

if __name__ == '__main__':

    # Wait for the yarn stuff to be installed
    code, out, err = run(['which', 'yarn'])
    while code == 1:
        time.sleep(5)
        code, out, err = run(['which', 'yarn'])

    # Now we wait for things to be configured
    time.sleep(60)

    # Now set the node label types
    code, out, err = run(["yarn",
        "rmadmin",
        "-addToClusterNodeLabels",
        '"CORE(exclusive=false),TASK(exclusive=false)"'])

get_node_label.py

This script tells Hadoop what kind of instance this is. It is called by Hadoop and run as many times as needed.

#!/usr/bin/python3
import json
k='/mnt/var/lib/info/extraInstanceData.json'
with open(k) as f:
    response = json.load(f)
    print("NODE_PARTITION:", response['instanceRole'].upper())

mrjob.conf

This is not a complete mrjob configuration file. It shows the essential parts needed for setting up CORE/TASK nodes. You will need to fill in the rest for your specific situation.

runners:
  emr:

    instance_fleets:
    - InstanceFleetType: MASTER
      TargetOnDemandCapacity: 1
      InstanceTypeConfigs:
      - InstanceType: (smallish instance type)
        WeightedCapacity: 1
    - InstanceFleetType: CORE
      # Some nodes are launched on-demand which prevents the whole job from
      # dying if spot nodes are yanked
      TargetOnDemandCapacity: NNN (count of on-demand cores)
      InstanceTypeConfigs:
      - InstanceType: (bigger instance type)
        BidPriceAsPercentageOfOnDemandPrice: 100
        WeightedCapacity: (core count per instance)
    - InstanceFleetType: TASK
      # TASK means no HDFS is stored so loss of a node won't lose data
      # that can't be recovered relatively easily
      TargetOnDemandCapacity: 0
      TargetSpotCapacity: MMM (count of spot cores)
      LaunchSpecifications:
        SpotSpecification:
          TimeoutDurationMinutes: 60
          TimeoutAction: SWITCH_TO_ON_DEMAND
      InstanceTypeConfigs:
      - InstanceType: (bigger instance type)
        BidPriceAsPercentageOfOnDemandPrice: 100
        WeightedCapacity: (core count per instance)
      - InstanceType: (alternative instance type)
        BidPriceAsPercentageOfOnDemandPrice: 100
        WeightedCapacity: (core count per instance)

    bootstrap:
    # Download the Python scripts to the instance
    - /usr/bin/aws s3 cp s3://bucket/get_node_label.py /home/hadoop/
    - chmod a+x /home/hadoop/get_node_label.py
    - /usr/bin/aws s3 cp s3://bucket/make_node_labels.py /home/hadoop/
    - chmod a+x /home/hadoop/make_node_labels.py
    # nohup runs this until it quits on its own
    - nohup /home/hadoop/make_node_labels.py &

    emr_configurations:
      - Classification: yarn-site
        Properties:
          yarn.node-labels.enabled: true
          yarn.node-labels.am.default-node-label-expression: CORE
          yarn.node-labels.configuration-type: distributed
          yarn.nodemanager.node-labels.provider: script
          yarn.nodemanager.node-labels.provider.script.path: /home/hadoop/get_node_label.py
more ...

Neil Young - Sleeps With Angels

Hitting #9, Sleeps with Angels by Neil Young and Crazy Horse is mostly unremarkable. I am pretty sure I had never heard any of the songs on this album before listening to it for this project. I like some of Neil Young's earlier albums and some of them are legitimately all time greats. This album is not, and surely hit #9 only on the strength of Neil Young's past work.

The one track I will remark upon is the 11th song on the album, Piece of Crap. This song is Neil Young complaining about things he purchased that broke almost immediately. What is it with middle-aged male rock stars writing songs like this? We've previously seen this with Jimmy Buffet. No one cares about your opinion!

In summary, if you want some Neil Young, try some of his better albums and ignore this one.

more ...

Green Day - Dookie

Last week's chart had no new albums in the top 10, so I did not review anything new.

Despite being released for six months, Dookie by Green Day took a while to reach the top ten in the charts. My memory is a bit hazy, but I feel like I became aware of Green Day and this album roughly around this time 30 years ago when I was a beginning 9th grader in high school. At the time it was incredibly cool that this album was made by a band from my home town of Berkeley. It was recorded in Berkeley and the cover art (click here for a high resolution version) had many Berkeley and East Bay landmarks:

Dookie is probably one of my favorite albums. At the time of writing I've listened to tracks off the album over 500 times. This album definitely has the ability to transport me back to my youth when feelings were bigger and responsibilities were fewer. This album should be in your collection to listen to whenever you need a bit of punk in your day.

more ...

Candlebox - Candlebox

Squeaking in at #10 is Candlebox by Candlebox. They were formed in Seattle around the same time as much bigger groups, such as Nirvana, Alice in Chains, and Pearl Jam. This album did quite well, but they never reached the same heights on subsequent albums.

I was never that much into Candlebox. I suppose I heard a few of the songs off this album on the radio, but it never made a big impression on me. 30 years later listening to them again my opinion hasn't changed. It's still not that exciting to me. I'll probably never listen to this album again.

more ...

Forrest Gump Soundtrack

Rising to the #3 position, the Forrest Gump Soundtrack is made up of, except for the Forrest Gump Suite, entirely non-original songs. The movie covers 30 years of Forrest Gump's life, from 1951 to 1981, and the songs were chosen to evoke different periods of American history that compliment the on-screen action.

If you click on any of the various online music providers linked at the top of this post, you'll find that none of the links go to full and complete albums. For likely dumb licensing reasons the streaming albums are missing songs. It's dumb because most, if not all, the songs are already available on the streaming platforms, but just in other albums. For example, here is a playlist a user on Tidal made that looks to have all the songs in the movie (although the order looks to be a bit off). Furthermore, you can still buy the soundtrack on physical media (*) which indicates that the licensing agreements are still active.

I have seen the movie and I find it entertaining, and in particular, I think the music helps frame the different periods in American history Forrest Gump experiences quite well.

The album itself is a good collection of American music spanning the 30 year time frame of the movie. Most are genuine hits and there's no filler or pointless covers unlike other soundtracks I've reviewed before. Of all the soundtracks I've reviewed so far, this is by far the best. The only proviso to the album is that on its own, e.g. if the movie never existed, because the songs cover such a wide range of Americana, they are a bit scattered thematically. But as a way to recall the movie, if you want to do that, it works well.

(*) At the time of this writing, you can buy a cassette tape version for nearly $90! Compared to the $14.48 CD version, which is better in nearly every respect, that's quite a premium.

more ...

The Rolling Stones - Voodoo Lounge

Last week there was no un-reviewed album in the top 10. This week we jump to the #2 album, which is new to the list this week: Voodoo Lounge by the Rolling Stones. I don't think I need to introduce the Rolling Stones at all. They are one of the most successful and popular rock bands of the last sixty years. If you don't know who the Stones are, I don't know what you're doing on the internet and reading my website. How? Just, how?

By count, the Stones are in the top ten of my listening history over the last 18 years. Below is a histogram of my listens broken down by year. It looks like the last few years I've somewhat reduced my rates, but I think this has more to do with my focus on trying to find new music I like rather than disliking older music. I definitely still like the Stones and I will still continue to listen to them.

My Rolling Stones Scrobbles

Voodoo Lounge is not the best Stones album, but it's not bad. The first two songs, Love Is Strong and You Got Me Rocking each get a fair amount of radio airplay. Both are on the compilation Forty Licks, which I'm pretty sure I purchased in CD form around the time of release in 2002. Voodoo Lounge itself is just fine, and it's worth a listen. The Stones have many truly great albums that you should definitely check out.

more ...