Skip to content

Index

TIvo has an outrageous sale going on

Right now, take a look at Tivo's Site. They are 'giving away' refurbished Tivos for $30.00. I just bought one the other day for $50 (they lowered the price again.) They must have a warehouse full of these. I think the very comprehensive set of cables that come with the device alone are worth the $30

[GEEKY] Nuances about REST

While teaching at Brandeis University this summer (see Cosi JBS Web Site) I've come to think a lot more deeply about the often cliche'd 'REST' approach to developing Web Services APIs.

As everyone always says, when you try and explain something, you discover the little gaps in your own understanding, and end up learning at least as much from your students as they are learning from you, which is cool, but for another day.

The essence of the subtlety is captured in the introductory paragraphs of "Put or Post: The Rest of the Story" (an article that was discovered and shared by one of the students 🙂

"Web service designers have tried for some time now to correlate CRUD (Create, Retrieve, Update and Delete) semantics with the Representational State Transfer (REST) verbs defined by the HTTP specification–GET, PUT, POST, DELETE, HEAD, etc.

So often, developers will try to correlate these two concepts–CRUD and REST–using a one-to-one mapping of verbs from the two spaces, like this: Create = PUT, Retrieve = GET, Update = POST, Delete = DELETE.

[…snip…]

The crux of the issue comes down to a concept known as idempotency. An operation is idempotent if a sequence of two or more of the same operation results in the same resource state as would a single instance of that operation.

According to the HTTP 1.1 specification, GET, HEAD, PUT and DELETE are idempotent, while POST is not.

That is, a sequence of multiple attempts to PUT data to a URL will result in the same resource state as a single attempt to PUT data to that URL, but the same cannot be said of a POST request." (from "Put or Post: The Rest of the Story" )

Idempotency , hello? Viagra anyone?

This is subtle stuff. Suffice it to say that I bet the majority of people who talk about REST, and even implement it, are not aware of the nuance. It ties together what HTTP verb to use with the details of what resource is being touched and for what purpose.

It's an open question to me whether or how this nuance matters in the real world.

Perhaps cloud caching services (CDNs) or other elements of the cloud make assumptions about the exact semantics of the HTTP verbs. Or perhaps there are enough violations of these principles that as a practical matter they are just of theoretical importance.

If you are interested, I recommend that article, as well as several others that I put in the intro to the lecture in the course which covered REST.

(In retrospect, REST deserves a complete lecture of its own rather than being part of a much broader and general topic of 'Web Services and Cloud Computing." Next time.)

Hubris, Technology and a Whale

A couple of New York Times articles today that point out (what others have pointed out too) that the roots of the disaster in the Gulf have a lot in common with those of the Economic meltdown last year:

"AS the oil spill in the Gulf of Mexico follows on the heels of the financial crisis, we can discern a toxic recipe for catastrophe. The ingredients include risks that are erroneously thought to be vanishingly small, complex technology that isn’t fully grasped by either top management or regulators, and tricky relationships among companies that are not sure how much they can count on their partners." (from : Recipes for Ruin, in the Gulf or on Wall Street)

How true, the similarities are striking. The world is so much more complicated and out of control than we would like to think:

"In the weeks since the rig explosion, parallels between that disaster and the proto-Modernist one imagined by Melville more than a century and a half ago have sometimes been striking — and painfully illuminating as the spill becomes a daily reminder of the limitations, even now, of man’s ability to harness nature for his needs." (from The Ahab Parallax)

Safari now has Scribefire

Yay! One reason holding me to using FireFox on Mac was that I rely heavily on Scribefire which was not really working on Safari. I am using it now on Safari 5. It seems ok but, first blush it doesn't seem quite as nice as on Firefox. But at least it gives me a chance to try starting to use Safari to see if it's all it's cracked up to be! Check out Scribefire, on Firefox or Safari (and I guess Chrome.)

Chrome: I just can't get used to it's weird tab user interface. There goes Google again, reinventing the wheel. Gmail doesn't have folders, it has tags. And now Chrome has funny tabs instead of ones that look 'normal'

Live weather radar

It was dark and thundering and lightening today at 4 in the afternoon. I found this really nice animated radar weather map of the last 2 hours. I am sure it's just one of many but I hadn't seen this one before. Enjoy!

Live Weather Radar

Don Dodge on your creative genius

I came across this good post from Don Dodge which I wanted to share. Don was at Microsoft and is now at Google. He cites a New York Times article about creativity, which I've also read. I recommend both. Here's Don:

"We are all creative but our human experience filters, and conscious mind, block out creative bursts. We are much more creative while sleeping when the subconscious mind is free to think outside the box and associate thought fragments in totally new ways. Think about your dreams. You create the characters, the story line, the scenes, the dialog,
everything. All of us have a little Steven Spielberg inside us" (from Unlock Your Creative Genius)