Blog posts tagged "amazon"

(One of the many) Ebook Dilemmas.

January 25th, 2010

I'm going to need books, lots of books

How do I support and reward the excellent curation of the local bookstore if I want the ebook version of something I find? – Kellan

I am not a unsophisticated consumer of science fiction. And finding new material to feed the book addiction is something I spend a not inconsiderable number of cycles on. Yet, there I was standing in Borderlands last week, and books to buy were jumping off the shelves. 2-3 of “my authors” had new books out that I hadn’t heard about. (tho 2 of them are on low rotation right now, as they’ve disappointed me of late) A book multiple friends had mentioned but I’d failed to track was featured. And I found several other new promising options, none of which I had heard of, and several of which aren’t normally available in print in this country.

Low Paper Diet

And I was stuck. You see, I’m on a pretty strict dead tree diet right now. I simply don’t have to the space to store books. And while I’m at it I’d rather not incur the carbon debt of chopping down trees, mass printing on paper, warehousing and transporting a product which is statistically likely to be pulped before ever being purchased. Clearly I’m getting a huge amount of value out of Borderlands, but I didn’t really have a way to include them in the exchange. I wasn’t even sure I was really comfortable wandering next door to their newly opened cafe and settling in with my Kindle as I was inclined to do.

Micro-slicing the pie vs trickle down?

Charlie Stross wrote a really great post recently, The monetization paradox analyzing the value chain of content production right now, summed up as,

“Google could in principle afford to pay every novelist currently active in the English language out of the petty cash.” – Charles Stross

Amazon is doing something similar. Capturing greater value then they’re providing. (and I love Amazon) I visit Amazon.com, I visit the Amazon.com Kindle Store. And I walk away empty handed. Amazon captures the value when I buy a book for my Kindle, but aren’t providing sufficient tools for me to do this. Without Borderlands, Amazon would have gotten no $$ from me last week, as it is, they did all right.

So how do I cut my local bookstore/curator in? I asked on Twitter and the consensus emerged around “buy the book, steal the ebook”, or “tip the bookstore.” (thanks to waferbaby, dajobe, BOBTHEBUTCHER, benprincess, timoni, carlcoryell, bhyde, and rabble for feedback!)

One of the ways I know I’m getting old is most of the time stealing media isn’t worth it. This also is a product of consuming outside of the most mainstream troughs, and genuinely liking/respecting most of the players in my media supply chain. I’ve got sitting on my drive detailed specs for building a relatively high throughput personal book scanner, and in the moments when I’m honest with myself I’ll probably never build it.

Open Questions?

Which brings me around to, how do I tip bookstores? And if there exists a viable model of funding that allows me to express my generalized appreciation of the existence of these important curators while getting some specific value back, a Kickstarter inspired model if you will? Would anyone besides me use it I wonder? How does this interact with Charlie’s ideas of a subscription model for writers? Given a semi-hyphothetical open e-reader with a radio could we partially fund bookstores with a real world version of Amazon affiliate links?

Unfortunately I still don’t have the answers, but I wanted to write down the problem, am I’m going to keep looking into it. Meanwhile if you know of anyone experimenting with this, I’d love to hear about it.

(so concludes the latest in this week’s series of blog posts written by the simple expedient of scaling up a tweet by a 30x inflation factor)

(update: a few really interesting comments, thanks guy!)

New Amazon AWS Signature Version 2 is “OAuth-compatible”

December 30th, 2008

Enigma rotors

Spent a couple hours last night writing the core of a stripped down, PHP4 compatible API library for Amazon SimpleDB (in the style of my flickr simple library. Just not a fan of abstraction for its own sake). In the process I discovered that Amazon had revved the version on their “Signature Method”. Which is good news as SignatureVersion 1 contains a classic crypto-blunder in its design, namely it encourages collisions. (more details, also why you care about collisions) To date the solution was use SSL, and wait patiently, very patiently. So yay for Amazon fixing this! And in fairness, first couple of drafts of the OAuth spec contained a similar issue, though it got ironed out quickly. Yay for many eyes and the open web.

“OAuth-compatible” signing

Great things are more secure, good news and all, but that isn’t what caught my eye. This block of text did:

Here is what’s different about forming the string to sign for signature version 2:

  • You include additional components of the request in the string to sign
  • You include the query string control parameters (the equals signs and ampersands) in the string to sign
  • You sort the query string parameters using byte ordering
  • You URL encode the query string parameters and their values before signing the request

You really have to be an OAuth-dork to find anything special with that paragraph, but if you were, you’d notice that those 4 bullets are an incredibly succinct description of generating an OAuth signature. (in fact a more succinct description then appears anywhere in the OAuth documentation

Which meant that my SimpleDB library can reuse most of the logic from my OAuth library to do the trickiest part of the API call, namely the signing. (Additionally it means that security reviews of both protocols support each other)

So my AWS signing method is a approximately a dozen characters different then my OAuth method and as straightforward as:

    .....

    $signature = aws_request_signature(AWS_SECRET_KEY, $http_method, AWS_SIMPLEDB_SERVICEURL, $parameters);
    $parameters['Signature'] = $signature;

    $encoded_params = array();

    foreach ($parameters as $k => $v){
        $encoded_params[] = oauth_urlencodeRFC3986($k).'='.oauth_urlencodeRFC3986($v);
    }

    $request_url = AWS_SIMPLEDB_SERVICEURL . '?' . implode('&', $encoded_params);

    .....

    function aws_request_signature($key, $http_method, $service_url, $parameters) {
        $base_string = aws_base_string($http_method, $service_url, $parameters);
        return base64_encode(hash_hmac('sha1', $base_string, $key, true));
    }

    function aws_base_string($http_method, $service_url, $parameters) {
        $parsed = parse_url($service_url);

        $host = strtolower($parsed['host']);
        $path = $parsed['path'] ? $parsed['path'] : '/';
        $data = array(
            strtoupper($http_method),
            $host,
            $path,
            oauth_normalized_request_params($parameters)
        );

        $base_string = join("\n", $data);
        return $base_string;
    }

(this uses my personal OAuth library, but your library should have similar methods)

Sure made my jobs of implementing a library easier. If you’re going to invent a new crypto protocol, please consider doing like Amazon, and re-using the basic building blocks. (which also happen to be best practices)

Amazon reveals its secret key-data overlords from the planet Cloud

October 3rd, 2007

Only the barest of glances at Dynamo so far, and by far the most interesting pieces are going to be how they do the scalable high availability, and of course we’re talking about “Werner Vogels Scalability(tm)“, but I was immediately struck, [as Sam was](http://intertwingly.net/blog/2007/10/03/Key-Data ), by the this pattern key+data we’re seeing:

  • memcached (everybody is using it)
  • CouchDb (everybody is talking about it)
  • Berkely DB (Bloglines and Yahoo to name just two, plus Google, thanks Steve)
  • Facebook Data Store API
  • and now Dynamo.

Meanwhile Assaf argues well that not all keys are created equal

speedy

Uploaded by joshua of california on 2 May 06, 6.19PM PDT.

Some EC2, Fedora, Rails, Mongrel, Memcached Links

April 12th, 2007

I had done some futzing around with EC2, but ExpoCal is the first web app I’ve brought up and run on it. Also my first outing with Fedora. Some links:

Also some yum’ed packages:

yum install sudo gcc ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs ruby-devel rsync ruby-mysql.i386 mysql mysql-devel mysql-server mysql-admin httpd-devel apr apr-devel apr-util-devel subversion libevent

When Computers Fail

February 12th, 2007

Dear Amazon.com Customer,

As someone who has expressed interest in books by William Gibson, you might like to know that “Religion and the Enlightenment 1600-1800: Conflict and the Rise of Civic Humanism in Taunton by William Gibson (Author)” is now available.

You can order your copy for just $71.95 by following the link below.

Funny thing is, it does sound like a book I’d be interested in.

Amazon EC2: Still working on the “elastic” part?

August 24th, 2006

I’ve been waiting for an Amazon compute cluster ever since S3 came out, and like Les I tried, and failed, to sign up for EC2 beta as soon as I got the email. What all you freaks were doing up around 5am signing up for webservices I’ll never know.

Nik over at TechCrunch however ran the numbers, and its looking more like what I get from John Companies, and less like the great mapreduce grid in the sky I was hoping for.

Tagged: Uncategorized , , , , , ,

Amazon and Micro Transactions

July 2nd, 2006

Having played with and thought about the costs associated with handling transactions and paying people (and we’re talking monetary|infrastructural costs, not social|spiritual, thats a different post), I’m always struck by how much overhead there is; overhead in fact swamping the value of many types of transaction.

Which is how I know I’m living in 21st century when I was able to buy David Brin’s latest work, with money I made filling in phone number information on a couple SF restaurant listing, and have enough left over to cover backing up the contents of my virtual server I just flashed.

No real insight but having just lived through it, it felt worth noting.

Tagged: Uncategorized , ,

Amazon Prime, the Ultimate Big Box Store

January 24th, 2006

Does anyone know if there is a way to limit your searches on Amazon to only items available for Amazon Prime?

(And to clarify I’m aggressive about buying books from local independents, but the ability to notice “Hey, we’re going to need a new toilet brush soon”, and have a nifty OXO designed one show up two days later is killer. Kind of like the mass transit version of driving out to a big box store [or so I like to delude myself])

update: Lady Dr. Cutie TroublerMaker (pronouced “Abby”) points out an AskMefi thread on exactly this topic.

The answer is “no” (or rather “NO”), but the suggested work around is to include the term “Amazon” in your searches.

I am also reminded that we have the creative madman behind Amazon Light right here in Boston, and I should take this to him, so, um, Alan, any help?

Tagged: Uncategorized ,

All Consuming Taken Over By Robots!

May 25th, 2005

2002 was a good year for innovation, and All Consuming was one of my favorite site that came out that year. I used it, I recommended it, I wrote scripts based on it. But slowly it drifted into unusability, got slower, didn’t evolve, and eventually I went back to using Amazon as my site for proxying books onto the web.

3 years later its been revived (in 24 hours!), and is now being officially hosted as a Robot Coop app! This is great. Because there is sooo much more I’d like to see done with it! (Haven’t decided if this is good enough reason to stop hacking on my Rails book management app which is still just some quick sketches in a notebook)

That said, I’m a little ambivalent of the last of focus in the new app. Not sure if its snobbery, or segregationist tendencies, but I don’t want to share the website with non-book like media. But thats a minor quibble.

The Robots have always said that 43 Things was just the first of a long list of good ideas they wanted to roll out, and here we have their second app. Congrats guys.

Tagged: Uncategorized , , ,