Easy Downloading of CDBaby Sample MP3's

Apr
29
2007

A couple of days ago, Garrick asked a good question that I've wondered about myself: where can you find downloadable music from the upper midwest? I like finding new music and always get an extra bit of warm fuzzy when the artist is from Minnesota or nearby.

While the question raised some ideas about future projects, I did suggest CD Baby's state-specific listings: Minnesota, Iowa, Wisconsin, South Dakota, etc. While the interface that they provide isn't great, it does underscore just how much great music is out there from EVERY area of the world.

CD Baby is a great idea. Make a place for artists to sell their CD's without having to go through labels. Many of the discs are way cheaper than the $15-18 in most stores and I've bought a couple for well under the $10 that iTunes charges as well. Of course, since pretty much anyone can sell a CD there, pretty much anyone *does*, which makes the preview tracks a good idea (and just plain a good source of MP3's).

The tracks are all individual or by M3U playlist for streaming. The problem is that my searching for music is pretty much completely separated from my evaluation of it. I tend to find a list of artists/albums/tracks I might like, download them and listen to them later. I pretty much NEVER listen to the potentially interesting music when I find it.

All of that meant that to get the most out of the CD Baby sample tracks, I wanted a quick way to queue up the downloading of the tracks on a playlist. First, note that the playlist URL for an album changes (daily it looks like), so this is pretty much about downloading in the background while you're browsing the catalog, not trying to spider their entire site. What I am doing works today, but could always change.

At any rate, with a command prompt open (Linux, Windows or Mac doesn't matter) and a copy of wget on your system path, you can make quick work of grabbing the contents of a playlist.

See, an M3U playlist is pretty simple, coming down to pretty much a text file of URL's to MP3 files. That just happens to be the exact thing wget is made to handle. So, the general "workflow" works like this:

  1. Find an album you like.
  2. Right click on the "Play All Songs" link above the track list and copy the link address.
  3. Go to the command prompt and type "wget" followed by a space and then the URL. On Linux, it can be pasted by CTRL+SHIFT+V. Hit ENTER.
  4. Note the filename of the M3U that it downloads.
  5. Run "wget -i playlistname.m3u" and let it run.

It will then download them all one at a time. It all works fairly well. I've got them all downloading to a specific directory called, simply enough "cdbaby". I'm keeping them all under there so that I know where to go to buy the albums I like. However, I do want them organized by artist and album. It's just how I roll.

Fortunately, I wrote code to move and rename MP3's by ID3 tag a while back. Add the folder to iTunes and make another smart playlist and I can evaluate more music easily. And, with as much as I've been working the last couple of weeks, more music is a really good thing.

Very Cool Papercraft Optical Illusion for Your Desk

Apr
28
2007

As I was waiting for a REALLY long query to run this afternoon, I ran across this little paper model dragon you can print out and assemble. Because of how it's built, once you've got it sitting on your desk, it REALLY looks like it's following you.

I figured it was going to be something like the eyes in paintings that are just positioned right and have that slight movement. Then I took a look at the demonstration video. Now I think I've got a reason to buy ink for my inkjet printer and make this thing.

Too bad I didn't find this in time to build one and bring it with to my nephew's birthday party later today.

Umm. I'll Be in a Bunker Somewhere.

Apr
26
2007

The last 2 days have been eventful in ways I wish they hadn't been. Yesterday, I came home and went through my normal routine. I was in the middle of changing into clothes to clean the house when I heard something explode.

Turns out, it was my neighbor's garage.

By the time I got outside, the street was populated with people staring and fire engines swarming around the flame-engulfed blue house on the corner.

DSCF1930

A couple of hours later, the blaze was extinguished and the house, garage and multiple cars where shells of their former selves. Fortunately, no one was hurt and we all moved on with our lives.

DSCF1932

So, today, I came home early and was in my home office (reinstalling SQLServer on my work laptop) and heard a screeching and a loud bang. I raced out the front door to see a stolen beige Honda wrapped around one of the maples in my front yard. Running away from the car was a dark blond 16 year old kid in a blue shirt.

DSCF1936

I yelled and the kid hesitated for a second, but kept running. I chased him into the courtyard of the nearby apartments where he apparently (according to the guy I found there) stole some kid's bike. I tried to see if I could see where he went at the park.

About that time, the rest of the neighbors who came out had called the cops and they showed up. Apparently, the kid had stolen a purse at the gas station by the highway, then taken a car and started his joyride. As he found his way into my neighborhood, he realized that it was a dead end and took a hard left in an attempt to get back out of the neighborhood. He tore through my neighbor's yard, across their driveway and into my tree: rendering the stolen car a wreck and getting a closeup view of the airbag.

I spent most of the next couple of hours dealing with the cops, having the car extracted from my tree and recounting the above story to all of the neighbors who came home in the mean time.

If this trend continues, I think my best course of action is to find a bunker and stay there until its safe. So it goes.

Heading to Ireland in 2008 and Saving for Vacations

Apr
26
2007

In the spring of 1998, Shelly and I got married and took a semi-local honeymoon to Duluth, MN. At the time, something more extravagant was completely out of the question. We were young and just starting out.

Of course, that didn't stop us from talking about where we would have gone if we had the money. One place we both agreed on pretty early in that conversation was Ireland. She's got Irish blood and I've just always been interested in the place. That overlap quickly settled into complete agreement and we decided we'd go for our 5 year anniversary.

Well, 2003 came and went and we've still not left the boundaries of these United States together. That's all going to change in 2008. For our *10* year anniversary, we're actually going to make the trip to Ireland. A 5% savings account has been set up specifically for vacations (the first being the Ireland trip) over at Etrade. Automatic transfers have been set up to pull money into the account on a weekly basis. There's almost $600 in the account as we speak.

By the time school lets out (and our exchange student goes home) next spring, we'll have the cash on hand to pay for the trip in its entirety and really enjoy it. That savings account is actually key to this whole thing happening. We've brought up bigger trips on several other occasions, but stayed in the country on shorter trips in part because longer and bigger trips meant tapping into the regular savings account or charging it to a credit card. Both methods were distasteful enough that we didn't go.

Having this account that's designated for travel (and is currently costing less than the cost of lunch each day) is going to provide us with nearly $3000 a year in travel money, guilt free. We're not damaging the rainy day fund, the retirement accounts or our debt load, but can go on nice trips for that kind of money.

Now we just have to figure out an actual plan for the trip from among the huge number of options when traveling to Ireland.

Atom Publishing Protocol: Setting Up Yanel on Ubuntu

Apr
24
2007

One of my primary reasons for presenting on REST at MinneBar 07 was because I really want to shift over to an Atom Publishing Protocol method for publishing this site (and others as well). I think I'll probably end up implementing my own setup for this, but have been looking to try out a true APP setup (not one grafted onto something like Wordpress).

In that search, I ran across the pairing of a Firefox plugin APP client called Yulup (I mentioned this in a session on Saturday) and a server setup called Yanel. Yanel is a Java solution, which makes me reluctant to use it as my permanent solution. However, as something to work with to get a handle on using APP, it looked like a good fit. It actually has a LOT more than APP going for it.

So, I set it up in an Ubuntu VMWare instance.
Read the rest of this entry »

« Older Entries  

J Wynia

For better or worse, I'm the guy who runs things here. I'm a web consultant, software developer, writer and geek from Minneapolis, MN. This site is a fairly wide cross-section of the things I'm interested in and enjoy writing about.

Oh, and if you happen to be looking for hosting for your Subversion repositories or just web hosting in general, take a look at Dreamhost. It's what I use for Subversion and your signup helps me out.

Latest Microposts

jwynia: is ripping the first DVD on the new Thinkpad. Holy crap this DVD drive is quiet and smooth. No jet engine takeoff.
jwynia: is unsubscribing to a bunch of mailing lists that he's been deleting without reading for WAY too long.
jwynia: @bethdean if I ever get to the point of having an office and staff for my consulting, there WILL be a microwave popcorn ban.
jwynia: is wondering whether his intent to spend his stimulus check in Ireland is weird.
jwynia: is baffled by what a hot commodity the screen-cleaning spray has become in this office.
Follow Microposts on Twitter | Subscribe to Microposts

My Attendance At the Gym

Feeds and Links


www.flickr.com
This is a Flickr badge showing public photos from J Wynia. Make your own badge here.

Search


Pages

Archives

© 2007 J Wynia. All original content is licensed under the terms of the Creative Commons Attribution license unless otherwise noted. Content from other sources is licensed under its original terms.