Douglas Rushkoff is the author of Program or Be Programmed, in which he makes the case for learning about programming. In his keynote speech this week at Webvisions, he said that the difference between programmers and non-programmers isn’t like the difference between drivers and mechanics. It’s more like the difference between drivers and passengers.

Rushkoff is also the co-organizer of the forthcoming Contact Summit, an event that will “explore how to realize the greater promise of social media to promote new forms of culture, commerce, collective action and creativity.”

I caught up with Rushkoff at Webvisions to talk about programming, decentralized Internet and the unfulfilled promises of technology.

Klint Finley: Two of your current big themes in your speaking and writing are learning to program, and the need to abandon what you’ve called the corporate Internet. What do you think the connection between the two is?

Douglas Rushkoff: A lot of us our too willing to accept roles as consumers in society. I understand the economic reasons for that, but I don’t think it leads to a fulfilling life or a sustainable community. The best way out of this is to deconstruct what you’re consuming, or better yet to become a creator yourself. I’m trying to help people see their own creativity.

If people want to tweet, or blog, or whatever that’s fine. But what I want people to understand is how their creativity is being circumscribed by people at companies that have their own interests in mind.

As far as forking the Internet is concerned, we don’t have to build a whole new Internet. We could. But what I’m trying to do is recreate the feeling of 1992 in 2012. In 1992 it felt like anything could happen. And now these revolutionary technologies are just being used to re-enforce the status quo.

Do you actually spend much time coding? If so, in what language? What are you working on?

I don’t do much. I used to do C++. If I do coding now, it’s “cultural coding.” I’m doing programming in so far as deconstructing social or economic constructs so people know how they work, know what the rules are. I’m interested in “coding banking” or “coding money.”

I’m going to learn Ruby, though.

Can you give an example of how programming illiteracy might hurt someone, and how programming literacy might help them?

Every day they’re all over the place. I decided to do my site in WordPress. I don’t really know how WordPress works, but I know CSS and I know how the dashboard works, so I was able to make a site in WordPress. As luck would have it, some plugin or something wasn’t secure and some hackers or bots put some .htaccess files up that was making people download God knows what when they came to my site. So I deleted all the .htaccess files, but they all came back. Because WordPress is opaque to me, I don’t know what to do about it. Now I have to hire someone. But if I’d stuck to HTML and CSS, then I’d know how it all works.

That’s a practical example. On a more philosophical level, people don’t really even know that programming exists. People think that Facebook is there to help them develop social connections. But it’s actually there to monetize social connections. If you look at the structure, what it encourages, what it discourages, then you see what it actually is.

What is the structure? What does it encourage and discourage, specifically?

Take Farmville for example. Farmville is basically a virus. It uses you as a carrier to your address book. As long as it’s entertaining enough for the time being…

Right, it gets you to invite your friends, and then they have this social obligation to play…

It tries to invite everyone.

There’s a missed opportunity. We used to think that these technologies would help us realize that reality is less fixed, that we can be designers, that we don’t have to accept the way things are. But the people running these companies aren’t trying to change things. They’re trying to make money.

Where would you tell someone who is sick of being programmed to start learning to program?

It depends on what they’re interested in. Even more important than programming is learning the sort of biases that different media have. Read media analysts. Read McLuhan, or Postman or me or someone else.

For programming, you could learn subroutines in FileMaker Pro, or learn Scratch. A lot of people learned what programming was in the 80s with HyperCard. Ruby represents what I like about programming, it has a great community around it.

Or you could just install Ubuntu. It changes the way you view your computer. Your operating system becomes an ecology of code made by people. It’s no longer arduous.

By now you’ve probably seen a lot of the various project out there to create wireless mesh networks free from government or corporate control. Which do you think are the most promising?

I really like the one that’s here [in Portland].

Personal Telco?


Well, it’s not exactly a mesh network. It’s just that a lot of small business have wi-fi that’s been setup and maintained by volunteers. But I guess in an emergency they could connect up all the nodes and make a mesh network.

Yeah, it’s everywhere isn’t it?

I like Phantom*, a way of doing everything anonymously. It’s being developed on Android, it turns your phone into a completely anonymous node.

So I had this idea for forking the Internet, then I saw Ethan Zuckerman speak about it. He said about all this next net stuff is all great and ideological, but that revolutions in technology don’t usually happen by building some whole new version of something. You get revolutions by tweaking what’s already there. So maybe that’s what we should be focused on. Besides, even if we created something 100 times faster than FidoNet, you still wouldn’t be able to stream Lady Gaga videos, or whatever. So will anyone want to use it? People in Egypt didn’t get the Internet initially for political communication, they got it for entertainment.

Well, you could always have more than one Internet. You could have a decentralized wireless network that runs on mobile phones just for messaging. It wouldn’t need a lot of bandwidth.

Right. That’s true.

*I’m not sure that’s the project that Rushkoff is talking about

Photo by Johannes Kroemer

See Also:

Hackety Hack: An interactive application that teaches introductory programming with Ruby. It’s designed for kids, but is suitable for adults who just want to learn the basics.

Eloquent JavaScript A book on JavaScript and programming for absolute beginners. The free online version of the book includes an interactive console for typing JavaScript in and seeing what it does.

Our previous interview with Rushkoff

Rushkoff’s keynote at Pivot

Part of Rushkoff’s talk at SWSX 2010

Our interview with Max Ogden on decentralizing the Web

Our interview with J. Chris Anderson on CouchDB and decentralizing the Web

klint finley