Fall in New York

Generally beautiful, New York City is even beautiful-er when autumn foliage comes around. So it was cool to discover this Flickr set of scanned leaves from Morningside Park – literally 3 blocks from where we live.

(Via what about the plastic animals, via Outside.in)

Kunstler: The Tragedy of Suburbia

WordPress just added special TED support – I’m not a fan of TED’s exclusive/trendy approach, but it’s a good opportunity to post this excellent talk by James Howard Kunstler.

The lesson of design which considers its users, environment and resources vs. design that is isolated, contrived and wasteful holds true to software as well, from the UI to the server.

Mod_rails and Accepting the Environment

I don’t usually read Fast Company & co, but I found an article in the recent issue pretty inspiring. It’s about a landscaping company called Whole Systems Design which tries to build stuff in a way that takes into account the environment where it’s located. Environment not just in the “compost your pizza leftovers to offset CO2 of your vacation” meaning, but in the “stuff that already exists when you start building” sense. It’s a simple and intelligent approach to design – create something that works with what’s already there. From the article:

[company’s founder, Ben Falk] calls mainstream environmentalism, with its “nihilistic,” minimize-human-impact approach, one of the “largest hurdles we face toward being a good community member of the earth again.” He cites one of his influences, Berkeley architect Christopher Alexander, who asked, “Can a building be just as natural as a tree?” Adds Falk: “Or a beaver dam? … It goes beyond ‘Let’s pretend we’re not there.’ We’re here. Let’s make a good impact.”

This links for me with the release of Phusion Passenger, aka “mod_rails for Apache”. I don’t know how well it works (Dreamhost now offers it, which seems a good sign), but if it works well this may be the most important thing that happened for Ruby on Rails since it was launched.

Rails’ main weakness, in my opinion, was that it did not take into account what was already before it, namely the Apache web server (and also stuff like existing code/DB schemes, but that’s less critical perhaps). It was very slow under Apache, and instead of fixing this the Rails community set out to replace Apache with something else – first lighttpd, then Mongrel, now nginx. But it turns out Apache leads its category, by a large margin, for a reason and that creating a good web server, though it might seem pretty straightforward to begin with, is actually pretty hard.

With mod_rails, Rails deployment may now be as easy as PHP deployment, which will give RoR a chance to compete in the shared server space, which is often looked down upon and yet is far bigger than the dedicated server domain, as seen here (this is based on PHP IP vs Domain stats – very rough but generally the right idea):

Ruby on Rails potential market, before & after mod_rails

It is said that The Velvet Underground were hugely influential even though few actually bought their records, because most of those who did listen to them ended up starting bands. For some time, I was thinking Ruby on Rails is going to end up similarly – myself and many other developers got our initial exposure to MVC and ORM and Convention Over Configuration from Rails, but we often ended up building applications in Rails-influenced frameworks like CakePHP or Code Igniter that implemented these ideas in languages that could be easily deployed with reasonable performance (the key word here is easily. You can get performance with Rails, but it requires leaving your core problem for some time, to specialize on deploying RoR). Now, it may not be this way – provided people are still working on improving the docs :)

Ubuntu Brainstorm

Ubuntu’s Brainstorm app is very cool. Basically it lets users post suggestions, bugs and requests for Ubuntu, and rate/comment other users’ posts. It enables users to get involved in the process and lets developers know what users are missing most and get ideas for future additions. It’s a new interface for discussion, something new on top of forums, bug tracking apps etc.

(Dell’s Ideastorm, predates Brainstorm, but the concept will probably work better with Open Source projects where users are more accustomed to this kind of feedback process. Ideastorm’s own top items are almost all Open-Source related. Having less of a life also makes some difference I suppose ;))

You can get the source at Ubuntu’s repository but unfortunately there isn’t a downloadable standalone package for this yet. It would be great to have an simple install of this, I think almost any product and company could benefit from something like this.

This is why open source software is growing so fast: it’s a positive feedback loop, its products feed its own growth. Good to see Ubuntu growing so nicely, with Vista & Leopard we definitely need an alternative.

The Web’s Language

Jeremy Zadowny explains why “WebOS” is a meaningless term. In my view, the Web is really a big Tower of Babel situation: people from all over the world are building, with no coordinating body or hierarchy, the hugest construction ever. But the reason the Web doesn’t fall apart is that we all do have a very basic, simple language to communicate with one another: HTTP.

Stay close to HTTP (like PHP, REST, RSS or AJAX do) and you succeed. Try to build your own seperate, more sophisticated, languages (like SOAP, .NET or Java applets) – and you fail.

(To clarify: I consider Java and .NET failures, due to the fact mega-powerful companies like Microsoft, Sun and IBM invested huge resources at them and yet their Web market share is lower than that of the open LAMP stack, and decreasing. SOAP is far from HTTP since it builds a complex request mechanism instead of REST’s GET/POST. REST really is just a fancy name for HTTP GET/POST – in real life, most Web Servers actually block PUT/DELETE requests)

You can think of the Web as what anthropologists call a Trading Zone (speaking of the Bazaar…): A place where people with many different backgrounds, cultures and motives meet. Naturally a common language emerges, simple and sparse. In many languages there “Spoken” and “Written” dialects. The Web’s spoken language is Pidgin HTTP, comprised of two verbs: GET and POST. On top of these verbs, there are simple nouns and adjectives unique to specific domains – like fishermen and merchants in the trading zone would have common names for the ocean’s creatures, Flickr or Yahoo! APIs are domain languages for their specific areas. As I see it, these are becoming even simpler, with Atom, RSS and microformats removing cumbersome API keys and domain-unique XML responses. “Hey, Flickr! Got fish today?”

GET /services/feeds/photos_public.gne?tags=fish&format=rss_200 HTTP/1.1

From Counterculture to Cyberculture

I’m reading Fred Turner’s “From Counterculture to Cyberculture” now, and it is the best book I’ve read in a while. With every Barnes & Noble filled with so many pop-science books who try to quickly monetizethe latest meme while it’s still in fashion (you recognize that type of writing by the use of the word “Meme” ;)), this book stand out as deep and insightful.

Two main lessons for me in this book. One which I didn’t expect is being introduced to Systems thinking: this reminds me of learning to program, when you begin to see algorithms wherever you look. Systems is one step further, as they give you tools and metaphors to look at non-deterministic behaviors, which tend to be in higher supply in the real world.

Another is the way the approach which Stewart Brand, the books’ main subject takes to implementing his values. The book traces Brand’s path from starting the Whole Earth Catalog to playing a major part in evangelizing personal computing and the Internet. I’ve recently had a chance to look at an actual copy of the Catalog (which is why I’m updating this post now, a year after it was published) – what strikes me most is the down to earth, practical approach it takes. The Catalog was meant for people who left mainstream society and went “back to the land”, setting up their own communities. Brand offers them tools and information which is far more eclectic than you’d expect: not just organic gardening tutorials and geodesic dome construction tools, but also the latest project management techniques and army fitness guides.

Underneath the items in the Catalog is an approach that says technology can shape history. If you have an idea on how things should be, you try to implement it not just via politics and fashionable “activism”, but by actually building something. It’s a comforting notion, in a time when some of what Brand helped create create (and the Web itself) seems to have been largely overtaken by charlatans.

Here’s a video of a panel with Turner, Brand, Kevin Kelly and Howard Rheingold, discussing the book. (The RealVideo version sounds better on my machine). The actual conversation starts at about 7:30 minutes.

Crowd Control

And to counter my last post, a nice description of a working collective mind emerging in real time from Kevin Kelly’s “Out of Control“:

Loren Carpenter boots up the ancient video game of Pong onto the immense screen. Pong was the first commercial video game to reach pop consciousness. It’s a minimalist arrangement: a white dot bounces inside a square; two movable rectangles on each side act as virtual paddles. In short, electronic ping-pong. In this version, displaying the red side of your wand moves the paddle up. Green moves it down. More precisely, the Pong paddle moves as the average number of red wands in the auditorium increases or decreases. Your wand is just one vote.

The audience roars in delight. Without a moment’s hesitation, 5,000 people are playing a reasonably good game of Pong. Each move of the paddle is the average of several thousand players’ intentions.

They later get to control, collectively, a flight simulator. It’s a pretty good book, and you can read it all online.

Failure of Crowd Wisdom – the Fanatic Takeover

I don’t visit Reddit much anymore, for reasons which this post will soon discuss, but today I got there and found an item titled “Reddit, a year ago. Better times… and barely any political or religious zealotry in sight.“. Personally, I think a year ago is too early – it was better two years ago.

A few noted milestones in Reddit’s decline were the “Impeach” day, which filled the homepage with all sorts of “Impeach Bush” links, and then the Ron Paul flood, which gave the impression Paul is a serious contender in the US presidential race, when in fact his support base is lower than the statistical error margin in most polls. (Paul supporters, please don’t flame. I’m not stating a political view, just a statistical fact).

These incidents demonstrate that the networked crowd, whose wisdom Reddit tries to harness, is easily gamed. Worse: with some persistance, people who game it can start a feedback loop that amplifies their efforts. I call it the Fanatic Takeover.

The basic pattern goes like this: say you belong to a certain ideological group, like Paul supporters. You posts a Reddit vote link to a pro-Paul story in some internal forum. Within a short timeframe, many group members who visit this forum click the link – registering as Reddit users if needed, because they care enough to take the 20 seconds to do it – and push the story up in Reddit’s stats, getting it to the homepage. Since stories in the homepage have a higher chance of being upmodded, simply due to higher visibility, Reddit users outside your group who happen to agree with this story also vote it up.

Notice that this not only floats the story, but adds Reddit users from that group’s forum, including people who wouldn’t have been in Reddit without it. So, your group now gained more power to affect the site. Furthermore, because your people came with a certain ideology, they are more likely to use their ability to vote stories up or down, unlike other users who may be indifferent to the US presidential race.

As a single story incident, this is not big deal. But when you do the same thing on 10 stories at the same time – which is not much harder than floating one story – you get another effect: you’re not only adding your own Reddit users, you’re actively reducing the number of users who aren’t interested in your messages, or aren’t as dedicated to them, and simply go to greener pastures to look for interesting stories.

As this continues, the process amplifies itself – your users keep increasing their share of total Reddit users. This is done by other ideological groups as well, and as a result the site becomes more partisan and less interesting.

My personal observation is that the “less interesting” part is not only because the site becomes a forum for political arguments, but also because people who support any ideology fanatically tend to be less intelligent and open minded than people who don’t (and, yes, this goes for leftist just as well as right wingers). As a result of the general dumbing down of the new userbase, the non-political stories also decrease in value and you see a lot more links to pictures of cats and clue-challenged “opinion articles”.

I think the interesting part about this is that this same process takes place offline, just at a much slower rate, so it’s not as obvious. The Web allows for rapid iterations in this feedback cycle, giving us a fast forward view of processes that take years or decades in the Real World. But if you look for it, you might begin to see this pattern taking place in many offline systems and groups: companies, academic fields, establishments, governments – even whole nations.