Image Kindleizer

Officially speaking, you can’t view an image on a Kindle without enclosing it in a Mobipocket ebook. But there is an undocumented workaround. Sheet music is usually in static formats like GIF or PDF, so the workaround makes it easier to use legacy sheet music on a Kindle.

So here is a script to automatically handle the labor.


# Given an image in the console, copy it to a mounted Kindle in such a
# way that the Kindle will include it in listings.
# Depends on Image Magick

if [ "$IMG" == "" -o "$TITLE" == "" -o "$MOUNTPOINT" == "" ]
    echo 'usage: kindleizeimage [image file] [title] [Kindle mount point]'
if [ ! -f "$IMG" ]
    echo "$IMG :("
    exit 1
if [ ! -d "$MOUNTPOINT" ]
    echo "$MOUNTPOINT :("
    exit 1

if [ ! -d "$tgtD" ]
    mkdir -pv "$tgtD" || exit $!

tgtF="$tgtD/"`basename "$IMG"`

convert -rotate "-90>" "$IMG" "$tgtF" || exit $!

echo "Kindle -> Alt + z"

Horace Weston’s Celebrated Polka (2.0)

Update: this post was intended to go in the blog for my music making. Oops.

<a href="">[[[Link to video on YouTube]]]</a>

Here’s a new recording of Horace Weston‘s Celebrated Polka (sheet ♫), which I wanted to try a different approach to. The first one I did was classical style with rubato laid on thick. This new one is ragtime flavored.

It makes sense that that you could do either way, considering that Weston was part about European art music and part about American vernacular styles like minstrelsy. In his time people thought that the euro influence was automatically better, in our time it’s maybe the other way around (at least if you’re more into rock/blues/jazz/disco than classical) but this one guy managed to integrate them. And if this composition sounds more snooty highbrow euro than rube yank, keep in mind that it was written for banjo not guitar.

The main theme has a swirly mood like a lady getting dressed up to go out.

The second theme has colorful and daring harmony for that time and place.

The third theme is a jig, as in an irish jig.

And the last bit of the third theme would sound perfectly at home in a 1920s jazz or blues tune:

(Code for indexing into sections of the video courtesy

More posts about Horace Weston:

the human price of change

Internet triumphalists often fail to understand the human price of change.

Eric Garland interviewed by Greg Sandoval at CNet:

These are tough lessons. By the way, I don’t want to sound
like the armchair pundit. You end up sounding not very empathetic. You
sound like some ass who says “This is how it’s going to be and if you
don’t like too bad.” I’m not trying to be dismissive. I’m not trying
to be glib about this. I understand the implication may well be
tens-of-thousands of jobs lost, billions of dollars pouring out of the
industry, shutterings, downsizings…I’m not trying to make light of
that. I’m just telling you that in the final accounting i think some
things we now know. Some of them are very unpopular even in concept
and some of them are very hard to incorporate into strategic thinking,
but that doesn’t make them any less avoidable or inevitable.

Which is to say: have a fucking heart. Just because the steam engine beat John Henry doesn’t mean John Henry got what he deserved.

Myspace II

Apparently the new Myspace is a music business, not a social business.

I remember not so long ago when Imeem decided it was a social network enhanced by music rather than the reverse, I assume because the social features had a better chance of being profitable.

I remember not so long ago when Myspace’s edge as a music provider was that it didn’t pay royalties, so had a chance of surviving. The sense I get now is that Rupert and Fox are culturally from the media business, they were unable to run Myspace as a tech company, and now they’re retreating to familiar ground out of habit.

I dunno, man. The whole internet music industry is fishy, and this particular fish makes even less sense than the norm.

MAFF snafu

Crazy Alex reports that the Firefox MAFF format does _not_ support indexing into remote jar files using the “jar” scheme, so a URL like jar:!/index.html won’t work:

I tried to use jar: prefix, but with no success. Firefox geves download dialog or writes an error stating ”Unsafe File Type. The page you are trying to view cannot be shown because it is contained in a file type that may not be safe to open. Please contact the website owners to inform them of this problem.”

The reason I’m blogging about this hopelessly obscure technical point is that the Apple format for digital music packaging, the ePub and MOBI formats for ebooks, and many other ad hoc formats are exploring this same space of multi-file archives. MAFF is a candidate for an open and common implementation.

ecommerce content resolution

A few Playdar-related developments from Lucas Hrabovsky of Amie St (aka __lucas) —

He set up a page with song listings marked up using the hAudio microformat. hAudio allows code to know that one bit of text is the title of the song and another bit of text is the name of the performer. Here’s what his hAudio markup looks like:

            <div class="haudio">
               <img src="/static/assets/album-default-55w_55h.jpg" class="photo" />
               <div class="top">
               <span class="fn">Lucky Dutch</span> by 
               <span class="contributor">Radio Moscow</span>

Notice that nowhere in there is a direct link to an MP3. The labeled bits of text are fed to Playdar, which uses them to search the user’s MP3s (and other sources) for a song file with the same title and performer. If it finds one, it makes it available over an HTTP connection. In this format any in-browser player, like Quicktime, WMP, or a Flash player, can take over.

Amie Street is a web site that sells songs. If the user has one of their songs on their machine already, the content resolver will find it and make it available for playback in the browser. This mechanism enables web sites to play music without actually supplying it. No webcasting, no hosting, no transmission, no copying.

What if there is an MP3 on Amie Street’s servers that the user doesn’t have yet? __lucas wrote a content resolver plugin that does a lookup to Amie Street’s web API. If the lookup succeeds, the MP3 is made available from Amie Street’s server instead of the user’s local machine.

His code is available at It’s only 58 lines of dead simple PHP — the heavy lifting is all in the web service on the other end of the line.

For that to work with no further development the MP3 on Amie Street’s server has to be freely available. They’re really an ecommerce site, though, so what if they’re not giving the MP3 away but do have it available to purchase? That’s a frontier.

He and I got into a dialog about that frontier. I asked How does the ecommerce part work? I’m wondering about what the user flow would be when there needs to be an interruption to make a purchase. He proposed the following:

  1. Playdar should just nudge you that some of the items you’ve requested can’t be resolved (ie via a Tooltip).
  2. Click on tooltip to open review/login in jQuery.dialog
  3. Confirm purchase and kick off download
  4. The AS resolver could then stream you the full tracks while you wait for the download
  5. Once downloaded and scanned in, can now be resolved by playdar on it’s own for next tme
The Amie Street API could make this happen easily with a couple more additions.
The next step would be applying this to stores other than Amie Street. For example, you should be able to set a preference to go through emusic or automatically find the lowest price and go there. We need to make it as simple and convenient for people to buy [as possible].

So where things stand is that we’re on the cusp of ecommerce integration, a feature which would drive business at stores, enable users to access gigantic repositories on the fly, and allow interoperability between stores.

That said, automatically purchasing and downloading in a uniform way is a can of worms. It would be like the Amazon, eMusic, and iTunes MP3 downloaders, but in a single integrated form. Maybe the downloader can come with the resolver, so that each store supplies its own…

Isn’t “Best of Both Worlds” A Miley Cyrus Song?

C. Joel goes ape for Playdar:

I read recently on Wired’s Epicenter blog about a new application that really excites me. It excites me because this is what computers are supposed to do.

Playdar works with streaming sites like, Pandora, Spotify, etc and examines any music files you have on your computer. If you’re listening to a streaming site and that site wants to play a song you already have on your hard drive, it plays the file on your hard drive instead of streaming it. This is brilliant because it saves the streaming company money, which keeps them in business longer. For the listener, it means you’ll probably get a better sounding song because typically the stuff on your computer is higher quality than what is streamed.

Hopefully, all the streaming companies and music players (*cough* iTunes *cough*) will support this as a plugin soon, so as Van Halen sang, we can get the best of both worlds!

music subscriptions

Correction: thanks to Larry Kenswil for pointing out that I needed to multiply monthly charges by 12 to get annual revenues, which resets the numbers by an order of magnitude. My entire train of thought just doesn’t apply at that point, so I have marked everything below as deleted.

If you want to explore the numbers, I have created a collaborative worksheet that anybody can edit over on Google docs. Eventually it’s sure to be destroyed by vandalism, so save your work as a copy if you get anything you want to keep.

There is news today about two new music subscription services — MOG and Rdio.
Consensus wisdom around music subscription is that it can’t work. It can’t save the recording industry, and it can’t sustain an industry of any kind.

That’s not exactly right.

The reality is music subscription service can make some customers very happy, and can probably be sustainable businesses, but can’t be a large industry.

The kind of people who will love them can easily afford $10-20 a month and don’t have time for the DIY work that filesharing creates. Professionals and parents fit easily in this market. They prefer to pay somebody else to keep their metadata straight, do backups, eliminate duplicates, upgrade software, etc. The money is a non-issue. Their listening styles are relatively old-school, so the kind of user experience that the Rhapsody, Spotify, Yahoo Music Unlimited, etc, clients deliver is fine. Compatibility with Winamp and other third party software is a non-issue.

(Futurist music technology points: the compatibility issues may go away because of either music content resolvers like Playdar or pan-service wrappers like Yahoo Media Player that can seamlessly integrate multiple sources into a single browser-based experience).

There aren’t that many of these customers. Let’s pick a number out of the air and say there will eventually be ten million. That means an industry of max size 1.2 billion dollars at maturity. If the biggest company has 100% of the market and the P/E ratio is 20x, the biggest possible company would have a market capitalization of 48 billion dollars. For comparison, Google’s market cap is 168.84B today.

MOG’s pricing is different: for $5 a month, members can listen to as much music as they want from their computer; for $12 to $15, users can access music on their mobile devices as well.

That’s the best possible outcome for the entire universe of investors and worker bees in the field. More likely there is room for 2-3 companies grossing $100 million total, with a low P/E caused by the brutally high royalties and amount of risk. So market cap of the biggest company at 4X P/E * 100 million / 3 companies = $130 million. MOG just raised $5 million in VC money, suggesting an upside of 10-100x, or a company with market cap of $50 million-$500 million, which is correct. These are reasonable businesses.

But they aren’t going to sustain an industry. There are and will continue to be companies doing music subscription. There isn’t and won’t be a recording industry which exists primarily to supply product to the customers they serve.

proposed implementations of neutral but legal

A comment from Len Lynch on how ‘neutral but legal’ might be implemented:

There is contextual data that can help point toward “possible” (cough, “probable”) infringing content distribution. is an example. But I doubt if it is the “tip of the iceberg”. When non-infringing content distribution deals turn toward torrents to save on network distribution costs, they’ll need a way to tell the difference between them and the rest.

Legal processes might favor solutions like creating “distribution registries” with a goal to disambiguate non-infringing content distribution. It would have to work with other assisting technologies.

Licensed providers like Rhapsody already have this kind of registry, though the ISPs would have to do something much larger. The ISPs would need to know who is uploading, who is downloading, what contractual rights the uploader has, what the term of the contract is, whether the parties who granted those rights had the right to grant them.

Or am I complicating things? Is there really no way to cut through the mess and find a simple 80/20 solution?

Crosbie Fitch proposes the Adams’ A/B Ark manoeuvre.:

Propose the creation of a second Internet that is designed from the ground up to be provably assured as being incapable of duplicating or transmitting anything except in accord with any licenses provided by the copyright holders thereof.

Promise that as soon as this new Internet is demonstrated to be at least 95% as efficient as the existing one (ceteris paribus), that there will be a legally enforced migration.