One of RSS’s weaknesses in its early days—its chaotic decentralized weirdness—has become, in its dotage, a surprising strength. RSS doesn’t route through a single leviathan’s servers. It lacks a kill switch. As long as the URL resolves, a feed can still surprise you. RSS is the true web: a loose net of dark filaments.
This leads to a contempt for the past. Too much of what was created in the last fifty years is gone because no one took care to preserve it.
Since I run a bookmarking site for a living, I’ve done a little research on link rot myself. Bookmarks are different from regular URLs, because presumably anything you’ve bookmarked was once worth keeping. What I’ve learned is, about 5% of this disappears every year, at a pretty steady rate. A customer of mine just posted how 90% of what he saved in 1997 is gone. This is unfortunately typical.
We have heroic efforts like the Internet Archive to preserve stuff, but that’s like burning down houses and then cheering on the fire department when it comes to save what’s left inside. It’s no way to run a culture. We take better care of scrap paper than we do of the early Internet, because at least we look at scrap paper before we throw it away
We are here because the editor of this magazine asked me, “Can you tell me what code is?”
“No,” I said. “First of all, I’m not good at the math. I’m a programmer, yes, but I’m an East Coast programmer, not one of these serious platform people from the Bay Area.”
I began to program nearly 20 years ago, learning via
oraperl, a special version of the Perl language modified to work with the Oracle database. A month into the work, I damaged the accounts of 30,000 fantasy basketball players. They sent some angry e-mails. After that, I decided to get better.
Which is to say I’m not a natural. I love computers, but they never made any sense to me. And yet, after two decades of jamming information into my code-resistant brain, I’ve amassed enough knowledge that the computer has revealed itself. Its magic has been stripped away. I can talk to someone who used to work at Amazon.com or Microsoft about his or her work without feeling a burning shame. I’d happily talk to people from Google and Apple, too, but they so rarely reenter the general population.
There are lots of other neighborhoods, too: There are people who write code for embedded computers smaller than your thumb. There are people who write the code that runs your TV. There are programmers for everything. They have different cultures, different tribal folklores, that they use to organize their working life. If you told me a systems administrator was taking a juggling class, that would make sense, and I’d expect a product manager to take a trapeze class. I’ve met information architects who list and rank their friendships in spreadsheets. Security research specialists love to party.
What I’m saying is, I’m one of 18 million. So that’s what I’m writing: my view of software development, as an individual among millions. Code has been my life, and it has been your life, too. It is time to understand how it all works.
Every month it becomes easier to do things that have never been done before, to create new kinds of chaos and find new kinds of order. Even though my math skills will never catch up, I love the work. Every month, code changes the world in some interesting, wonderful, or disturbing way.
This is a map of me dorking around on the Internet. But it also reveals something important that would otherwise be invisible. It shows how I think.
I realized that each one of these technologies set out to help people do something but consequently grew and changed over time. Each ultimately provided a way for large groups of people to talk about and think about very difficult problems:
- Microsoft Office: How do we communicate about work
- Photoshop: How do we create and manipulate images?
- Pac-Man: How do we play?
- Unix: How do we connect abstractions together to solve problems?
- Emacs: How do we write programs that control computers?
Computer people often talk about products. But each of these five have come to represent something else—an engagement with hard problems that are typically thought to be in the domain of philosophy, literature, or art, rather than programming. This software doesn’t just let people do things; it gives them a way to talk about and share what they did.
Mediums change, but what’s unique about Medium, and so many other digital platforms, is that that these changes often apply retroactively. You may “finish” a post on a platform, but to those who own the platform, it’s never quite finished.
I think of this as digital wear & tear. If you leave a book on a shelf, it gets dusty and the pages turn yellow. If you leave a post on a platform, the <div>’s change and the header gets redesigned.
A couple of weeks ago, I went to a w3c workshop about annotations on the web. It was an interesting day, hearing from academics, implementers, archivists and publishers about the ways they want to annotate things on the web, in the world, and in libraries. The more I listened, the more I realised that this was what the web is about. Each page that links to another one is an annotation on it.
Tim Berners-Lee’s invention of the URL was a brilliant generalisation that means we can refer to anything, anywhere. But it has had a few problems over time. The original “Cool URLs don’t change” has given way to Tim’s “eventually every URL ends up as a porn site”.