A look at Google Play - another option for DRM-free music in Australia

36 days ago

The whole collection

A couple of years ago I had a CD collection with over 300 albums. Being a renter I move house every couple of years, on average. I realised having a collection of physical artefacts where, for the most part all I did was digitise them and then never look at them again, was pretty silly.

So I decided to take the plunge and go digital-only. I made sure my CDs were all ripped, took the discs and put them in a CD wallet, and then tossed the majority of the cases. I decided I would try and buy digital-only from that point on (although I still buy CDs at concerts a few times a year).

But how and where to buy MP3s, as a non-Apple user? And DRM free? I’m not really into the “streaming” model of buying renting music, either. I want to buy something that isn’t going to evaporate if I stop paying a monthly fee, and that I can easily transfer across multiple hard drives.

I did a bit of Googling and it seemed that my best option at the time was Telstra’s Bigpond Music. Which was rather unexpected, but there you go. High quality DRM-free MP3s I could buy (even if rather cumbersomely) with a good selection of Australian musicians.

The worst thing about buying things from them was needing to individually click each song to download it. Who knows why, but there is no ‘download all in a zip’ option. There is a Windows plugin for easier downloading but unsurprisingly nothing to help out a Linux user.

Bigpond Music download list

Bigpond Music - Windows only downloader

This week it was announced that Google Play Music is launching in Australia. I did a bit of investigating to figure out if it would be a good DRM-free option for me.

Firstly I checked to see if they had an album I have been waiting for ages for BPM to sell – Regina Spektor’s “In the Cheap Seats”. For some reason they have her back catalogue but not this one, her latest, but to my joy GPM had it!

Secondly it appears that their prices, on average, are a little cheaper. Here’s the last six albums I’ve bought:

Bic Runga – Belle: BIGPOND 15.35 / GOOGLEPLAY 12.99
The Sapphires soundtrack: BIGPOND 15.35 / GOOGLEPLAY 12.99
Pitch Perfect soundtrack: BIGPOND 15.65 / GOOGLEPLAY 15.99
Kaki King – Glow: BIGPOND 14.95 / GOOGLEPLAY not available
Tegan and Sara – Heartthrob: BIGPOND 12.10 / GOOGLEPLAY 11.99
Regina Spektor – What We Saw From the Cheap Seats: BIGPOND not available / GOOGLEPLAY 11.99

Don’t judge me :) (free tip: Pitch Perfect soundtrack isn’t worth it…)

Surprisingly Google didn’t have the latest from Kaki King, so I guess that’s one black mark against each.

I think it will still be worth checking, especially as I found this anomaly:

Paul Kelly A-Z recordings (8 discs/105 tracks): BIGPOND 34.05 / GOOGLEPLAY 65.99

(well worth $34, also)

Google Play experience:

Google Play music purchase checkout

OK so it’s easy to buy things… where’s my “Download” button?

The web-based music library:

Google Play music library - download album

Google Play music library - download only twice

Interesting… maybe the Android app makes it easier?

The generically named “Play Music” app:

"Play Music" app "keep on device"

“Keep on device” seems to be an inane name for “Download somewhere obscure”. I was not surprised that digging around didn’t reveal the files to be stored anywhere obvious.

Android engineer Dan Morrill in November 2011:

One of the core Android principles is that you never need a file manager. Ever. We wanted to avoid the obnoxious “sneeze and a file picker appears” syndrome of basically every other OS. Local data that apps know how to handle should just be magically available within the apps, or stored in the cloud. You shouldn’t have to go spelunking on your SD card to find data.

Yeah, and if you need to because you don’t really want to participate in “the cloud” — too bad.

There are lots of forum questions asking “where are these files downloaded to?” The standard path doesn’t seem to have any files in it, on my phone, so I guess I will revert to the old pattern of “download on desktop and manually transfer to phone”. It’s a brave new world, quite like the old world. :P

tags: , , ,

Comment

---

OpenTechSchool Python tutorials begin in Melbourne

79 days ago

Last Saturday I spent a warm afternoon at the Electron Workshop coworking space in North Melbourne, volunteering as a Python tutor for the first OpenTechSchool workshop in Melbourne. About 25 students came and there was about 10 tutors. It was a lot of fun!

Does this look familiar? Before the workshop started I reminisced with other tutors, fond memories of using Logo in primary school. I used it in grade 4, I’m pretty sure, in a Victorian primary school. That and “Where in the world is Carmen Sandiego?” are all I remember of computers before age 10.

Maybe it’s just nostalgia speaking, but it seems incredibly sad that kids at school today won’t have fond memories of using Logo. OK so Logo looks pretty old-school now. Why is Scratch not its replacement?

Anyway I digress. Python has a Turtle module that lets you relive those glory days in a whitespace sensitive context. My pro-tip from the weekend is: don’t try to use it with IDLE on a Mac, stick to running it from a Python shell in the plain terminal.

OpenTechSchool have their tutorial notes published on github under the CC-BY-SA license, which is pretty great, so you can feel free to learn by yourself at home – but that’s not as much fun as coming to a workshop, right? :)

It amused me to see that one of the OTS team is Duana Stanley, who I knew through Girl Geek Dinner / MXUG things when she was living in Melbourne and working at ThoughtWorks. Small world…

Talking to the attendees about why they wanted to learn programming and how they heard about the event was really interesting. One just found it as a randomly advertised event whilst browsing Meetup! If you know someone who would be interested in this, make sure they join the OpenTechSchool Melbourne Meetup group or the Melbourne Python users group mailing list to hear about future events.

tags: ,

Comment

---

The progressive speaking stack, in Python

108 days ago

In the free software activism BoF at LCA this evening, Sky raised the idea of using a progressive speaking stack. This is something that came out of Occupy Wall Street:

Occupy Wall Street’s General Assembly operates under a revolutionary “progressive stack.” A normal “stack” means those who wish to speak get in line. A progressive stack encourages women and traditionally marginalized groups speak before men, especially white men. This is something that has been in place since the beginning, it is necessary, and it is important.

(I can’t help noting that this is a queue rather than a stack.) Anyway for lulz I decided to implement it in Python.

>>> from progressive import Speaker, ProgressiveStack
>>> sortMethod = lambda speaker: speaker.privilege()
>>> s = ProgressiveStack(sortMethod)
>>> A = Speaker('A')
>>> B = Speaker('B')
>>> C = Speaker('C')
>>> D = Speaker('D')
>>> s.add(A)
>>> s.add(B)
>>> print s
ProgressiveStack<[Speaker<A>,Speaker<B>]>
>>> speaker = s.next()
>>> speaker.speak()
'AAA!'
>>> print s
ProgressiveStack<[Speaker<B>]>
>>> s.add(C)
>>> speaker = s.next()
>>> speaker.speak()
'BBB!'
>>> s.add(A)  # this person obviously has a lot to say...
>>> print s
ProgressiveStack<[Speaker<C>,Speaker<A>]>
>>> s.add(D)
>>> print s
ProgressiveStack<[Speaker<C>,Speaker<D>,Speaker<A>]>

Note D has moved ahead of A, because A has already spoken.

Enjoy. :)

tags: ,

Comment [2]

---

Choosing our words - LCA2013

108 days ago

Today at the first day of the main conf proper, Sky Croeser gave a talk Free and open source software and activism (slides), talking about the politics of FOSS and how it can be quite aligned with activists’ values, but why it can often currently fall short. I first met Sky at AdaCamp Melbourne a year ago and I was impressed with her clear communication and academic perspective which helped to link current issues or actions in techy communities with those in other political movements. So I was very excited to see her at LCA, and her talk did not disappoint.

One of her points about why (Australian) activists might not be excited about FOSS relates to the way it is commonly described, Free as in Freedom. Sky pointed out that freedom is often the cause named as the motivator behind many political (especially military) acts of recent years in the US and thus may be a somewhat “polluted” term. She suggested that anarchists might tend to talk about an autonomous community, as an alternative. I’m not well grounded in philosophy to pinpoint the difference between the two concepts, but perhaps part of it is this: autonomy is about self-ruling, “positive freedom”. It doesn’t rule out the possibility of obligations to others, which perhaps “freedom” can be taken to encompass (“freedom from”).

Autonomy is a term not widely used by free software activists, although it has been – the autonomo.us group was set up to help promote free network services. But I wonder: what if we reformulated the four freedoms in the terminology of autonomy rather than freedom, and emphasised the benefit to communities over the benefit to individuals? Would such a document be more amenable to leftie activists today?

(I note it is already explicit that freedoms 2 and 3 are for the benefit of others rather than oneself.)

Free software, open source, libre software, F(L)OSS — do we need to add another label to the stable — “software for autonomy”?

tags: ,

Comment [2]

---

My talk at PyCon AU 2012 - "Funcargs and other fun with pytest"

268 days ago

(What’s six months between friends…)

This last weekend I went down to Hobart for the third Australian PyCon conference. The first two were in Sydney, and the next one will also be in Hobart. I had a ball! I will hopefully revive this blog a bit more to write about other aspects of the conference but first up: the talk I gave, which was about the testing library pytest.

Pytest is a mature and comprehensive testing suite for Python projects, but it can be a little intimidating for newcomers. Where do these mysterious funcargs come from, how do parametrised tests work, and where are my xUnit-style setUp and tearDown methods?

Pytest lives by “convention over configuration” – which is great once you know what the conventions are. This talk will look at real examples of pytest in use, emphasising the features that differentiate it from nose.

Video:

I had fun picking out the comics – they are from comically vintage.

Slides, code.

tags: , , ,

Comment

---

« Older