I've been asked to write a guest post for the NYU student blog -- NYU Local. This is that piece.
I've led what I think of as a Forrest Gump type life. Somehow, by fate or luck, or the Invisible Hand, I seem to end up where history is made. When I was a high school student in the Bronx, participating in student strikes, I came to a meeting with the teachers union and found myself sitting across from Albert Shanker, the powerful head of New York's teachers union. (Shanker was also a punchline in the Woody Allen movie, Sleeper.)
I was in Silicon Valley in 1980, working at a leading software company when the IBM PC, still secret, was locked in our conference room. I had one of twenty Macintoshes outside Apple when it was getting ready, in 1983. In early 1984 I was on stage with the Young Steve Jobs when it was announced (I was then the Young Dave Winer).
I was at Wired in the early days. Many of the people there went on to do big things in the Internet boom that followed. And in 2003 during a fellowship at Harvard, I was starting a blogging community while Mark Zuckerberg was starting Facebook. To show you how clueless I was, I didn't hear about Facebook until much later, after I left Harvard.
Anyway, all of that is great, but I want to talk about another Forrest Gump type experience I had, when I was a grad student in the late 70s at the University of Wisconsin. I was getting a computer science degree, learning how to program first on big mainframes with punched cards, and in a new mode called "interactive" where you sat in front of a CRT and typed commands to the computer which executed immediately. This was the revolution of the day. A computer you could converse with! Amazing. I loved it.
A bunch of important new things were sprouting in this rich new environment. The programming language called C, an operating system called Unix (written in C), and a networking system that would eventually become the Internet. Email programs, adventure games, texting, visual editors, all these things were booting up at the same time. And I, as a mere student, got to play in the middle of all this, and make my own contributions. Several times I talked with the leading developers at other universities, by phone and electronically, to find out how they did what they do, which I was in awe of. I still remember that feeling now.
An aside, what made all these things work so well is that they were empty inside. Almost skeletal. Hard to believe there isn't more to it. I asked one of my mentors how this could be and he said it has to be that way. If it's complex it can't work until it's empty. These days we have another way to describe this, my friend and former colleague David Weinberger called it Small Pieces, Loosely Joined. I've never heard a better description of the architecture of the Internet.
I had role models for success. People who were programming because they loved it, because it made them free, and probably not to a small degree, for its potential to make all of us free in the future. Viewed in hindsight, I guess we all had little inklings of the greatness that would follow. Look at how far that work has gone. Here we are, well over thirty years later, and we haven't finished exploring the stuff that was booting up in the 70s.
However, today, most of the forward motion in technology comes from the commercial side, which is something I also have done, and have great admiration for. Academic development is great, but there's nothing like having the discipline of needing to make users happy. If you make great tech but no one uses it, well you haven't really done anything. There's a tension between the academic, exploring, teaching approach -- doing for the sake of doing and nothing more, and the drive to make a product that changes the world and makes you rich. You need both sides of it to drive creativity.
Last year at NYU, a small group of programmers who called themselves Diaspora sparked the imaginations of thousands of people and journalists. Here was a band of smart young people who would build something just for the joy of it. Programming in the cause of freedom. A hugely optimistic act. It's the motivation for what I'm talking about. But, what was missing was the contribution of a university -- of experience informing, guiding and teaching the young people how to do what they set out to do. People who had been down roads much like the one they're traveling, and can guide them past the potholes, pirates and vigilantes, carpetbaggers and cliffs. There's a Mr Potter or Mr Burns lurking around every corner, it seems.
In other arts, there's a healthy respect for the knowledge accumulated by previous generations. These days, however, in programming -- that respect seems to be fading. I think, if we can learn to communicate across generations, we can combine our strengths, your youth, vigor, optimisim for the future -- with my generation's lessons from the trenches. And if we can remember the feeling that many of us had when we were young, that the sky is the limit, that we can be great if we just will ourselves to be great. We can have it all.
When I was at Harvard I met a group of young people who called themselves Downhill Battle. How smart, and irreverent and wonderful. They were laughing at the old people who told them how hard life is. I met up with them a few years later, their asses thoroughly kicked, the smile off their faces. This made me sad. You need balance. Irreverent optimism is good. But if you want to get something done, you're going to have your butt kicked and it hurts. But keep the smile, keep on laughing, in the end, no one gets out of this alive.
The development of the Internet must continue. We're putting too much emphasis on corporate APIs and not enough on open APIs. Every student should at least have a chance to manage their own infrastructure. In some disciplines, such as computer science and journalism, it should be a requirement. How can you have a free press if you're depending on the goodwill of a corporation to give you your infrastructure. You must control it yourself if you want freedom. That's where the Diaspora kids were right. This was also one of the basic tenets of the Internet. With cloud computing, with services like Amazon EC2 and Rackspace, it's getting easier all the time. There will come a day when your parents will run their own servers. Weirder things have happened. And your children will too. How about you?