Archive for the 'culture' Category

Apt Quotation

Tim O’Reilly, in Microsoft Missing the Boat on Mobile:

The future is not like the past, and any strategy that is designed to protect the past will eventually fail.

Anyone looking at delivering electronic media should think very carefully about what this means. If your business plan relies on delivering your electronic media in an environment that duplicates the limitations of your old physical media as closely as possible, you’re doomed. The same goes, come to think of it, for network providers. If your business plan relies around taking new network technology and making it work exactly the same as your old network… You’re doing it wrong.

Random Cool Stuff From FOO Camp

NYC Resistor is a group in NYC that created a “hackerspace”, a dedicated hang-out where hackers can get together and work on projects. From their lightning talk, it includes both hardware and software hacking, and results in all kinds of crazy projects. It looked cool and fun, and more things like this could go a long way towards re-establishing non-commercial third places in the modern world.

GigaPan, as described to me by Jason Campbell, is a method for very cheaply taking very high-resolution panoramic images. The basic idea is to have a commodity digital camera in a computerized servo-mount on a tripod. The servo-mount pans the camera over the desired areas, taking pictures at appropriate intervals as it goes. The gigapan web service then stitches the entire set of images together and provides a convenient interface for viewing.

Bonus nifty #1: no special interface is needed to the camera. It just uses another servo and a stick to manually depress the shutter switch!

Bonus nifty #2: Because the entire panorama isn’t taken at once, but over the course of several minutes (for potentially large values of several) as the camera pans over the scene, it doesn’t capture a point in time but a distribution. This occasionally creates strange artifacts when images are stitched together, but potentially has some very cool implications. Imagine if you had enough storage to keep one of these running throughout the course of an entire event of some kind, or even a significant span of time. Would it be possible to present an interface to the resulting time-distributed panorama that reflects the wealth of information gathered?

Martin Wattenberg is just plain awesome. I’d seen Name Voyager before (it’s great fun to play with), but his presentation on Many Eyes was really cool. It’s apparently being used extensively by a lot of linguistics and literary researchers, including Bible scholars. One of the more interesting observations from his talk: the key to Many Eyes was “stop words”, garbage connecting words that most software types would be inclined to throw away. However, the presence and usage of these words can offer more information about a piece of text than “significant” words!

And Evil Mad Scientist still has the best company name ever.

Telling Stories

A lot of the other things I saw at FOO Camp were interesting products that spawned interesting ideas in my head. For example, there’s We Tell Stories. A venture by, of all publishers, stodgy old Penguin Books, We Tell Stories experiments with using a variety of digital media to… Tell stories. Slice and Your Place and Mine were experiments in serial fiction, and thus their experimental quality doesn’t really come across well in archive form. The others are more interesting.

Fairy Tales is a fairy tale that lets the reader “fill in the blanks” as they navigate through the story. It’s a simple use of digital technology, minimally interactive, but still interesting, since it shows just how mutable formerly-fixed things can be on the web. And, now that I think about it, it welcomes user remixing and makes it an inherent part of reading the story. Nifty!

The (Former) General is a Choose Your Own Adventure story… That’s designed to be read the way everyone actually reads Choose Your Own Adventure stories: with a thumb, index finger, middle finger, ring finger, pinky, and nose firmly planted several pages back so you can explore alternate branches if you don’t like the one you’re on. In order to do this, it keeps a map showing you what you’ve read, what you haven’t, and how they connect together. This lets them do all kinds of silly things that would be… Highly frustrating in a normal Choose Your Own Adventure story.

The most interesting of the six is The 21 Steps. This story’s told using Google Maps. The pop-up balloons are used to present the text describing events at a location pin, and an animated Indiana Jones Is Travelling line connects the location pins in chronological order. The structure here is fairly simple, but I think there’s a lot of more elaborate variations that can be built on top of this basic foundation. It’s probably not going to catch fire as a hot new media for telling stories, but I think it could do some cool things.

Ignoring Government

This morning’s keynotes at OSCON weren’t nearly as good as last night’s. In particular, I’ve got a bone to pick with Christine Peterson. She talked about sensing systems, and coming government attempts to both mandate and regulate sensing - making sensing the sole provenance of the government, and using sensing to further escalate an authoritarian surveillance state. Reasonable enough so far. But her proposed solution to this was to ignore the government and completely privatize surveillance, under the justification that government is inherently predisposed towards centrism, inherently ignorant of the Benefits of Free, and inherently unchangeable. “DC is DC,” she seemed to be saying, “and the only way we’ll get anything done is to ignore them and privatize everything.”

Lessig provides an excellent explanation in Code 2.0 of why this is a horrible idea. Ignoring government and forging boldly forwards on your own doesn’t create an system that cannot be regulated by government. Instead, it cedes the government space to the authoritarians, allowing them to operate and expand its influence uncontested. We’re seeing the end result of that in politics now. Across pretty much all of the western world, the notion that “government is inherently harmful” or “government can do no good” or dozens of different variations on the theme have taken hold. As a result, those that would support a progressive agenda have largely abandoned government, and authoritarianism has grown unchecked.

Further, the history of privatization in the 20th century has been an unchecked series of disasters. Private entities are motivated wholly by profit, and thus incredibly susceptible to authoritarian influence. They make more money from it, after all. Public entities are, at least theoretically, answerable primarily to the public good which, in a democratic system, is determined in a distributed manner.

I believe that government can be made to understand the Benefits of Free and work in a distributed, free model. In fact, I believe it is inherent to a properly functioning democratic system. But we won’t have a properly functioning democratic system unless we believe that government can do good; that free and public are complementary, not opposed; and that “being political” is something desirable, rather than something repugnant.

Sage Advice

Sally Forth on Powerpoint And this is one of many reasons why Francesco Marciuliano is an underappreciated genius.

The others mostly have to do with his ability to slip Internet pop culture references into a mainstream newspaper comic strip. It’s really a shame he stopped doing Medium Large.


FOO Camp ‘08

This weekend was FOO Camp ‘08 which I, as an employee of O’Reilly Media, was privileged to attend. And, frankly, wow. Now I understand what all the fuss was about. I missed the sessions on Friday and a couple of the Saturday sessions, but everything I managed to attend was, without exception, astonishing. Over the next week or two, while the experience is still fresh in my mind, I’m going to try to turn my hastily-scribbled notes about the sessions that really stood out for me into coherent blog posts.

First, though, I’d like to mention something I noticed over and over throughout the weekend:

Innovation Isn’t Isolation

I was going to title this section “Developers Don’t Drive Development”, but after thinking about a couple of the sessions that really jumped out at me, I concluded it just wasn’t true. A more accurate statement is that just developers don’t drive development. What I think of as the “old model”, of giving someone a technical education, sitting them down to think really hard, and then turning them loose and getting all kinds of awesome products is gone, and I’m not sure it ever existed. A lot of the coolest things I saw this weekend were things that were created for very non-technical disciplines, and by very non-technical people. It might just have been the sessions I picked - honestly, I did steer away from anything that smelled like it’d fit in at a tech conference - but a lot of the motivators and big new ideas seemed to be coming from humanities and artistic folks. People with non-technical educations, who were taking technology and bending it to their own ends.

I’ve suspected this for a while now, but I was kind of nice to see that I’m not totally out to lunch. How far out to lunch I am remains to be seen. Other opinions along the same lines included:

  • Robert, one of my co-workers, who was utterly floored by a cello performance on Friday night. I’m really sorry I missed it.
  • Lenore Edman of Evil Mad Scientist (seriously, guys, best name ever) was most impressed by what I’m going to call “sewing origami”, for lack of a better term. I can’t remember what Windell Oskay (also of Evil Mad Scientist) was most impressed by - sorry, Windell.
  • Lane Becker was most impressed by a game designer who ran a session I’m really sorry to have missed on Saturday and, on Sunday, had a bunch of people collaboratively build a game in chalk on the concrete between the session-tents.

Next Up: Bees. My god.

Playing Games

Clay Shirky’s post about Gin, Television, and Social Surplus triggered some interesting thoughts about game-playing based on my reading of Rules of Play.

In his discussion of how we’re starting to make use of our cognitive surplus, rather than wasting it on “gin” like TV, Shirky mentions video games. He seems to view video games as a kind of intermediate ground between productive uses of the cognitive surplus, like Wikipedia, and unproductive uses, like watching sit-coms. I disagree; I think video games are an important part of why we’re able to make use of the cognitive surplus, rather than continuing to waste it on gin. In the past, our economy was based almost wholly on physical labour. Games were correspondingly physical, either helping children build up the physical traits they’d need to do their work, like strength and reflexes, or helping them learn rough analogs of the skills they’d be using as adults. For adults, games served a similar role, keeping them in form and practice while letting them relax without the pressures of work.

I think video games serve the same purpose for today’s more intellectually-oriented economy. As Danc is fond of pointing out, one of the more compelling incentives to play video games is the opportunity to explore and understand a dynamic system. In a well-designed game, the player encounters successively more complicated layers of mechanics and interactions between mechanics. One of the challenges posed by the game is untangling these mechanics and building an understanding of how the game works. I view this as a fundamental intellectual skill, one that’s necessary for understanding and working with complex systems. Video games often layer other traits on top of this - situational awareness, teamwork, memorization, quick reactions to rapidly changing circumstances, large- or small-scale organization…

It’s true that not every game player learns to generalize these skills beyond video games, or even between video games. But those that do are better prepared for the requirements of our modern intellectually-focused economy.

The World of Warcraft and the Third Place

There’s been a lot of effort and thought put into working out why World of Warcraft has been so much more popular than other MMOs. Most numbers put them at ten times the active subscriptions of their closest competitor, though I don’t know of any that break it down by region. (From my memory of launch dates, I suspect there’s some interesting information buried in the regional break-down) In North America alone, WoW has a reported 2 million subscribers, more than any other MMO since the Lineage games at their peak.

The focus in these analyses of popularity usually tends to emphasize the game mechanics. There is, of course, the psychologically addictive behaviour created by epic loot drops and other intermittent rewards. There’s the sense of progress and development as your character levels or advances through raids. There’s the raid encounters themselves and the extreme commitment required to learn them. But really, none of this stuff is particularly original. It’s not even more smoothly-executed than other contemporary MMOs. Yes, the graphics are friendlier. The interface is slicker. Some of the high-level stuff is more casual-friendly. To some degree, “network externalities” (thank you, Bradford C. Walker) mean that WoW’s popular because WoW’s popular. But based on my experience playing WoW and watching others play WoW, I think this stuff is all a fancy side-show to the real deal.

WoW’s more popular because scattered across all these things, in bits and pieces that add up to a significant whole, is a game that’s much, much better at doing the thing MMOs do best than any of its competitors. It’s better at being a Third Place, an informal venue for socialization.

Continue reading ‘The World of Warcraft and the Third Place’

More on Sharing

Neil Gaiman made an excellent post the other day that covered, among other things, the effect of sharing on book sales. Entitled More on Free and Suchlike, he responds to a bookseller that accuses him of harming independent booksellers by giving away a book for free online:

The books you sell have “pass-along” rates. They get bought by one person. Then they get passed along to other people. The other people find an author they like, or they don’t.

When they do, some of them may come in to your book store and buy some paperback backlist titles, or buy the book they read and liked so that they can read it again. You want this to happen.

Go read the full thing, it’s really excellent.

He’s got a good follow-up post today too (Born Free), about a program that’s part of World Book Day in the UK and Ireland. As part of World Book Day, £1 book tokens are being distributed to schoolchildren across the UK and Ireland, and a bunch of “World Book Day £1″ books are being published specifically for the occasion. It’s a wonderful promotion, and I encourage everyone go to read his post (from which all of the information in this paragraph is shamelessly lifted) to find out more.

On the Need for a Good Computer Science History Course

Software developers spend most of our time re-inventing the wheel. Everyone who works with computer types has run into the “not invented here” and “I can do it better” mentalities, or fallen victim to them themselves. But I think this goes beyond that. Software developers seem, to me, to be wilfully ignorant of past work. Not only do we not know about it, we don’t want to know about it!

Mark Dominus demonstrates one example of this while examining the whole “Design Patterns” mess. The “Design Pattern” movement seems to be unconsciously based on this ignorance of history, through an assumption that modern programming languages are the be-all and end-all of programming languages, and always have been. As Dominus puts it:

If these problems recurred in every language, we might conclude that they were endemic to programming itself. We might not, but it’s hard to say, since if there are any such problems, they have not yet been brought to my attention. Every pattern discovered so far seems to be specific to only a small subset of the world’s languages.

Some awareness of the history of programming languages might produce a slightly greater awareness of the trends Dominus identifies in the history of programming language development. It might help us avoid re-treading the same ground over and over while claiming that we’re exploring new territory. Perhaps we could even focus our attentions on the areas of language development that actually need work?

Another excellent example is this recent article on Internet software patents by Philip Greenspun, who correctly identifies that most modern software “innovation” is rehashing the work of early pioneers. We’re just scaling that work in obvious ways to take advantage of increased system capacity, or making half-cooked implementations of ideas that these pioneers devised in a much more robust form but were unable to follow through with.

Looking back on my computer science degrees, I’m honestly confused about why there wasn’t more history taught. We got a lot of algorithms, mathematics, and mainstream languages (C, C++, Java) thrown at us, but very little history of or context for the things we were learning. Except for Dr. Grundke’s second-year assembly language course and Dr. Cox’s third-year programming languages course, it wasn’t until fourth year courses or graduate work that historical matters were mentioned at all. And even then, no consideration was given to the implications of the history or its influence. It was written off as obsolete, interesting but largely irrelevant. Even in graduate courses, my experience shows a near-exclusive focus on recent history.

Yet Engelbart’s NLS did things that modern computer systems still can’t manage. Modern programming language and environment development seems to put a lot of sweat into developing poor copies of Smalltalk and LISP. Years of time are put into recreating things that our Internet protocols can already do, because the existing programs that implement these protocols don’t. I’m not saying these older solutions didn’t have their flaws, or that there haven’t been original new developments. But the history of these older technologies at least merits study, so we can focus on improving the things they did wrong and take advantage of the things they did right. Unfortunately, many of the students graduating from computer science programs (possibly the vast majority, including many graduate students!) are as completely unaware of this rich history as they are of modern developments.

This is particularly strange to me, because one of the big motivators for my interest in computers was Steven Levy’s Hackers. Levy’s examination of the early days of the computer movement was inspiring and educational. While non-technical, it provided some good examples of what does work (openness) and what doesn’t work (secrecy), which almost certainly shaped my interest in the Free Software movement. Towards the end of the book, he also inadvertently demonstrates the importance of historical awareness by following people who were sure that history was irrelevant. This lack of awareness doomed them to repeat their predecessors’ mistakes, eventually leading to the collapse of their movements, companies, and technology.

I also have to wonder how much influence the proprietary software movement’s had on this mentality. When your ideal model of software development is behind closed doors, you have to pretend that there’s no need for awareness of other technologies, much less awareness of how they work. If you recognize that reading, working with, and building on notable programs and technology written by others  is valuable, the claim that software innovation requires absolute secrecy starts to look a little shaky.

TLDR: what I want to see is a required course - possibly even a full-year course! - on the history of computing. A proper history course, one that critically examines the causes and effects of events, their influence, and forces the students to become aware of these historical pioneers and the technology they developed. Teach them what it did and what it didn’t do. Heck, if it’s feasible, make them use it a little.