The Immutable Web

A few months ago, I started thinking deeply about the idea of immutability on the web, and what kinds of consequences it would have.

Immutability in programming languages has very interesting features, most of which I learned while trying to implement an Immutable Dict type in Python (i.e. a tuple with non-index keys).

In particular, immutability brings with it immense benefits in multi-threaded programming, where one thread may modify the value of an object that an unrelated thread is relying on.

The web is the ultimate example of concurrency, in that you have a distributed system of unrelated actors across time and space working on the same data sets for different purposes. It is perhaps the most important place to see immutability, but instead its contents are extraordinarily unstable.

Tim Berners-Lee wrote (in 1998!) about how Cool URIs Don't Change. We've progressed a bit since then - I haven't seen cgi-bin in awhile - but it's notoriously hard to keep things around online. does a tremendous job trying to preserve copies of the web for posterity, but even that is a broken model, since it isn't truly immutable.

Posthaven was founded on the idea of a website that never goes offline (based mostly, I would guess, on the experience of the founders having to shutter Posterous after being acquired).

I finally started thinking about what a place on the web that contained truly immutable content might look like, how it might function, and what sorts of uses it might have.

So, I hacked together It saves anything to a unique URL based on its content. It is truly immutable, and uses it's Headers as such - using the longest expire times possible for its content.

Since URLs are based on the contents of the file, in theory, it acts sort of as a reverse search engine: you provide content, and will tell you where on its server to find it - forever. Whether or not this content has been uploaded before is irrelevant, since it's immutable.

So check it out, and see if you can make something fun with it. I'm excited to see what you build on the immutable web.

Stanford MBA Trends

In Peter Thiel’s recent lecture for CS183B he mentioned that they’ve done some studies on recent graduates from MBA programs, and how as a result of who they are and the environment they’re put in, they “systematically end up doing the wrong thing, they try to catch the last wave.” He mentions Junk Bonds in the 80’s, Dot Com in the late 90’s, and mortgages/finance in the mid-2000’s as examples of MBA’s catching the last wave, or picking the wrong thing.

I was pretty interested in the idea of MBA industry choices being some kind of indicator of an industry that has just peaked and is about to decline in some dramatic fashion. So I went to Stanford’s Career Management Center and went through all their available reports from 2004 to 2013 to see what trends I might be able to spot.

Full data is available in a Google Spreadsheet.

Probably the most compelling part of this data set is the non-quantitative portion - for 2013’s report Stanford started breaking out Technology into many more sectors with the footnote: “Technology subcategories indicate industries impacted by technology jobs.”

That feels a bit like empirical validation of Marc Andreesen’s viewpoint that software is eating the world. Small chunks of what 10 years ago would have been part of Finance or Media/Entertainment are now under the tech umbrella. It likely won’t be long before the Technology label isn’t really a helpful differentiator, as every business will have to be built on some sort of technology foundation.

As far as quantitative trends, the starkest one is the most alarming - an unprecendented 32% of Stanford MBA grads are going into tech, compared to 16% 10 years ago and 13% just 2 years ago. It could be that this is part of the larger, longer term trend of tech eating into other industries, or if Peter Thiel is right, that Tech might have a correction headed its way.

It turns out that if certain objects are made visible and salient, people's behavior can be affected. Objects characteristic of...

It turns out that if certain objects are made visible and salient, people's behavior can be affected. Objects characteristic of business environments, such as briefcases and boardroom tables, make people more competitive, less cooperative, and less generous.

A compelling argument for the casual office from Nudge by Thaler and Sunstein.

Hybrid sweet spot: Native navigation, web content by David of Basecamp

Hybrid sweet spot: Native navigation, web content by David of Basecamp

This is a great write-up by DHH of Rails fame about the Basecamp approach to native app development. They’re using a hybrid approach to take advantage of native experience where it matters, and development speed where the native responsiveness isn’t as critical.

It’s a great follow-up to my post on Mobile Web Performance from a few months ago, and hopefully a sign of things to come in terms of web applications making a resurgence in the mobile paradigm.