The Boy Who Could Change the World

Home > Nonfiction > The Boy Who Could Change the World > Page 12
The Boy Who Could Change the World Page 12

by Aaron Swartz


  And the rest is future history.

  Both systems were relatively ill-supported by browsers in my experience. They were, after all, hacks. So while they both seemed extremely cool (KnowNow, in particular, had an awesome demo that allowed for a WYSIWYG SubEthaEdit-style live collaboration session in a browser), they never really took off.

  Now apparently there is another technique, which I was unaware of, that involved changing the URL of an iframe to load new JavaScript. I’m not sure why this technique didn’t quite take off. While Google Maps apparently used it (and Oddpost probably did as well), I don’t know of any other major users.

  djb

  http://www.aaronsw.com/weblog/djb

  October 19, 2009

  Age 22

  I think it’s time to remind people that D. J. Bernstein is the greatest programmer in the history of the world.

  First, look only at the objective facts. djb has written two major pieces of system software: a mail server and a DNS server. Both are run by millions of Internet domains. They accomplish all sorts of complicated functions, work under incredibly high loads, and confront no end of unusual situations. And they both run pretty much exactly as Bernstein first wrote them. One bug—one bug!—was found in qmail. A second bug was recently found in djbdns, but you can get a sense of how important it is by the fact that it took people nearly a decade to find it.

  No other programmer has this kind of track record. Donald Knuth probably comes closest, but his diary about writing TeX (printed in Literate Programming) shows how he kept finding bugs for years and never expected to be finished, only to get closer and closer (thus the odd version numbering scheme). Not only does no one else have djb’s track record, no one else even comes close.

  But far more important are the subjective factors. djb’s programs are some of the greatest works of beauty to be comprehended by the human mind. As with great art, the outline of the code is somehow visually pleasing—there is balance and rhythm and meter that rivals even the best typography. As with great poetry, every character counts—every single one is there because it needs to be. But these programs are not just for being seen or read—like a graceful dancer, they move! And not just as a single dancer either, but a whole choreographed number—processes splitting and moving and recombining at great speeds, around and around again.

  But, unlike a dance, this movement has a purpose. They accomplish things that need accomplishing—they find your websites, they ferry your email from place to place. In the most fantastic movies, the routing and sorting of the post office is imagined as a giant endless choreographed dance number. (Imagine, perhaps, “The Office” from Brazil.) But this is no one-time fantasy, this is how your email gets sorted every day.

  And the dance is not just there to please human eyes—it is a dance with a purpose. Each of its inner mechanisms is perfectly crafted, using the fewest number of moving parts, accomplishing its task with the most minimal energy. The way jobs are divided and assigned is nothing short of brilliant. The brilliance is not merely linguistic, although it is that too, but contains a kind of elegant mathematical effectiveness, backed by a stream of numbers and equations that show, through pure reason alone, that the movements are provably perfect, a better solution is guaranteed not to exist.

  But even all this does not capture his software’s incredible beauty. For djb’s programs are not great machines to be admired from a distance, vast powerhouses of elegant accomplishment. They are also tools meant to be used by man, perfectly fitted to one’s hand. Like a great piece of industrial design, they bring joy to the user every time they are used.

  What other field combines all these arts? Language, math, art, design, function. Programming is clearly in a class of its own. And, when it comes to programmers, who even competes with djb? Who else has worked to realize these amazing possibilities? Who else even knows they are there?

  Oddly, there are many people who profess to hate djb. Some of this is just the general distaste of genius: djb clearly has a forceful, uncompromising vision, which many misinterpret as arrogance and rudeness. And some of it is the practical man’s disregard for great design: djb’s programs do not work like most programs, for the simple reason that the way most programs work is wrong. But the animosity goes much deeper than that. I do not profess to understand it, but I do honestly suspect at some level it’s people without taste angry and frustrated at the plaudits showered on what they cannot see. Great art always generates its share of mocking detractors.

  This is not to say that djb’s work is perfect. There are the bugs, as mentioned before, and the log files, which are nothing if not inelegant, and no doubt djb would make numerous changes were he to write the software again today. But who else is even trying? Who else even knows this is possible? I did not realize what great art in software could be until I read djb. And now I feel dirty reading anything else.

  A Non-Programmer’s Apology

  http://www.aaronsw.com/weblog/nonapology

  May 27, 2006

  Age 19

  In his classic A Mathematician’s Apology, published 65 years ago, the great mathematician G. H. Hardy wrote that “A man who sets out to justify his existence and his activities” has only one real defense, namely that “I do what I do because it is the one and only thing that I can do at all well.” “I am not suggesting,” he added,

  that this is a defence which can be made by most people, since most people can do nothing at all well. But it is impregnable when it can be made without absurdity. . . . If a man has any genuine talent he should be ready to make almost any sacrifice in order to cultivate it to the full.

  Reading such comments one cannot help but apply them to oneself, and so I did. Let us eschew humility for the sake of argument and suppose that I am a great programmer. By Hardy’s suggestion, the responsible thing for me to do would be to cultivate and use my talents in that field, to spend my life being a great programmer. And that, I have to say, is a prospect I look upon with no small amount of dread.

  It was not always quite this way. For quite a while programming was basically my life. And then, somehow, I drifted away. At first it was small steps—discussing programming instead of doing it, then discussing things for programmers, and then discussing other topics altogether. By the time I reached the end of my first year in college, when people were asking me to program for them over the summer, I hadn’t programmed in so long that I wasn’t even sure I really could. I certainly did not think of myself as a particularly good programmer.

  Ironic, considering Hardy writes that

  Good work is not done by “humble” men. It is one of the first duties of a professor, for example, in any subject, to exaggerate a little both the importance of his subject and his own importance in it. A man who is always asking “Is what I do worthwhile?” and “Am I the right person to do it?” will always be ineffective himself and a discouragement to others. He must shut his eyes a little and think a little more of his subject and himself than they deserve. This is not too difficult: it is harder not to make his subject and himself ridiculous by shutting his eyes too tightly.

  Perhaps, after spending so much time not programming, the blinders had worn off. Or perhaps it was the reverse: that I had to convince myself that I was good at what I was doing now, and, since that thing was not programming, by extension, that I was not very good at programming.

  Whatever the reason, I looked upon the task of actually having to program for three months with uncertainty and trepidation. For days, if I recall correctly, I dithered. Thinking myself incapable of serious programming, I thought to wait until my partner arrived and instead spend my time assisting him. But days passed and I realized it would be weeks before he would appear, and I finally decided to try to program something in the meantime.

  To my shock, it went amazingly well and I have since become convinced that I’m a pretty good programmer, if lacking in most other areas. But now I find myself faced with this dilemma: it is those other areas I would
much prefer to work in.

  The summer before college I learned something that struck me as incredibly important and yet known by very few. It seemed clear to me that the only responsible way to live my life would be to do something that would only be done by someone who knew this thing—after all, there were few who did and many who didn’t, so it seemed logical to leave most other tasks to the majority.

  I concluded that the best thing to do would be to attempt to explain this thing I’d learned to others. Any specific task I could do with the knowledge would be far outweighed by the tasks done by those I’d explained the knowledge to.* It was only after I’d decided on this course of action (and perhaps this is the blinders once again) that it struck me that explaining complicated ideas was actually something I’d always loved doing and was really pretty good at.

  Explaining what that knowledge is, naturally, a larger project and must wait for another time.

  You can probably see DFW’s influence on this piece, not least of which in these footnotes.

  That aside, having spent the morning reading David Foster Wallace, it is plain that I am no great writer.† And so, reading Hardy, I am left wondering whether my decision is somehow irresponsible.

  You can probably see DFW’s influence on this piece, not least of which in these footnotes.

  I am saved, I think, because it appears that Hardy’s logic to some extent parallels mine. Why is it important for the man who “can bat unusually well” to become “a professional cricketer”? It is, presumably, because those who can bat unusually well are in short supply and so the few who are gifted with that talent should do us all the favor of making use of it. If those whose “judgment of the markets is quick and sound” become cricketers, while the good batters become stockbrokers, we will end up with mediocre cricketers and mediocre stockbrokers. Better for all of us if the reverse is the case.

  But this, of course, is awfully similar to the logic I myself employed. It is important for me to spend my life explaining what I’d learned because people who had learned it are in short supply—much shorter supply, in fact (or so it appears), than people who can bat well.

  However, there is also an assumption hidden in that statement. It only makes sense to decide what to become based on what you can presently do if you believe that abilities are somehow granted innately and can merely be cultivated, not created in themselves. This is a fairly common view, although rarely consciously articulated (as indeed Hardy takes it for granted), but not one that I subscribe to.

  Instead, it seems plausible that talent is made through practice, that those who are good batters are that way after spending enormous quantities of time batting as a kid.* Mozart, for example, was the son of “one of Europe’s leading musical teachers”† and said teacher began music instruction at age three. While I am plainly no Mozart, several similarities do seem apparent. My father had a computer programming company and he began showing me how to use the computer as far back as I can remember.

  Indeed, this apparently parallels the views of the psychologists who have studied the question. Anders Ericsson, a psychology professor who studies “expert performance,” told the New York Times Magazine that “the most general claim” in his work “is that a lot of people believe there are some inherent limits they were born with. But there is surprisingly little hard evidence. . . .” The conclusion that follows, the NYTM notes, is that “when it comes to choosing a life path, you should do what you love—because if you don’t love it, you are unlikely to work hard enough to get very good. Most people naturally don’t like to do things they aren’t ‘good’ at. So they often give up, telling themselves they simply don’t possess the talent for math or skiing or the violin. But what they really lack is the desire to be good and to undertake the deliberate practice that would make them better.”

  The quote is from Wikipedia where, indeed, the other facts are drawn from as well, the idea having been suggested by Stephen Jay Gould’s essay “Mozart and Modularity,” collected in his book Eight Little Piggies.

  The extreme conclusion from the theory that there is no innate talent is that there is no difference between people and thus, as much as possible, we should get people to do the most important tasks (writing, as opposed to cricket, let’s say). But in fact this does not follow.

  Learning is like compound interest. A little bit of knowledge makes it easier to pick up more. Knowing what addition is and how to do it, you can then read a wide variety of things that use addition, thus knowing even more and being able to use that knowledge in a similar manner.‡ And so, the growth in knowledge accelerates.§ This is why children who get started on something at a young age, as Mozart did, grow up to have such an advantage.

  I’ve always thought that this was the reason kids (or maybe just me) especially disliked history. Every other field—biology, math, art—had at least some connection to the present and thus kids had some foundational knowledge to build on. But history? We simply weren’t there and thus know absolutely nothing of it.

  It was tempting to write that “the rate of growth” accelerates, but that would mean something rather different.

  And even if (highly implausibly) we were able to control the circumstances in which all children grew up so as to maximize their ability to perform the most important tasks, that still would not be enough, since in addition to aptitude there is also interest.

  Imagine the three sons of a famous football player. All three are raised similarly, with athletic activity from their earliest days, and thus have an equal aptitude for playing football. Two of them pick up this task excitedly, while one, despite being good at it, is uninterested* and prefers to read books.† It would not only be unfair to force him to use his aptitude and play football, it would also be unwise. Someone whose heart isn’t in it is unlikely to spend the time necessary to excel.

  Many people, of course, are uninterested in such things precisely because they aren’t very good at them. There’s nothing like repeated failures to turn you away from an activity. Perhaps this is another reason to start young—young children might be less stung by failure, as little is expected from them. I apologize for the clichédness of this example.

  And this, in short,‡ is the position I find myself in. I don’t want to be a programmer. When I look at programming books, I am more tempted to mock them than to read them. When I go to programmer conferences, I’d rather skip out and talk politics than programming. And writing code, although it can be enjoyable, is hardly something I want to spend my life doing.

  Well, shorter than most DFW.

  Perhaps, I fear, this decision deprives society of one great programmer in favor of one mediocre writer. And let’s not hide behind the cloak of uncertainty; let’s say we know that it does. Even so, I would make it. The writing is too important, the programming too unenjoyable.

  And for that, I apologize.

  POLITICS

  Aaron’s politics are easiest to define, particularly in the context of his renown as a programmer and an Internet and information freedom activist, by what they were not: Aaron was decidedly not a cyber-utopian.

  He did, of course, believe in the right of ready access to information (a pursuit that in some sense cost him his life), and he told me that he was a “free speech fundamentalist.” Yet Aaron’s highest goal was to help build a society defined by social justice, and he understood that this would not automatically flow smoothly from the right, and the means, to know about political and corporate corruption.

  No, transparency and paper rights wouldn’t suffice. Aaron knew that to create a more just world, one must employ knowledge, civil liberties, and civil rights as tools in the hard work of organizing against entrenched power.

  Justice, defined how, exactly? How, exactly, did he define justice? Though Aaron eschewed labels, his ideals seemed essentially libertarian socialist: he sought to minimize coercion (governmental, corporate, and economic) and maximize utility, while understanding the importance of equity and solidarity
in achieving these ends. But he was willing to engage within the system to get there.

  During the time I knew him well, he thought a lot about monetary policy, believing that in order to resolve the immediate economic downturn, and eventually achieve full employment by mobilizing people and capital in ways that improve lives, “the Fed should be printing money that we then give to poor people (or everyone if that’s easier).” His final tweet, composed when yet another contentious fight over the debt limit loomed, urged the minting of a trillion-dollar coin to fund government operations.

  These are the policy prescriptions of the post-Keynesian. But he wouldn’t call himself one; rather, he told me, “I generally like the post-Keynesians.” And when a friend announced that he self-identified as a socialist, Aaron replied, “Good—we need more of those.”

  Though he worked hard to elect Democrats, even volunteering to assist the Democratic National Committee’s tech team during the crunch before Election Day, he was an ideologue in pursuit of utility maximization rather than a partisan. He would have preferred a more pluralistic democracy that accurately mapped the varied political impulses of the American populace onto the Congress, and he was willing to ally with Republicans. He would be heartened by the increasing left-right solidarity we see in spaces such as the antiwar, civil libertarian, and criminal justice reform movements today.

  Aaron strived to ensure that his efforts, no matter the cause, were as strategic as possible. He believed that one must dissect structures and learn how they tick, develop the tools, tactics, and strategies that are most likely to manipulate them for good, and organize people to implement those approaches.

  His poignant deconstruction of the processes of running for office and legislating illuminates the incentives, sample biases, filters, and veto points that determine what does and doesn’t get accomplished in Washington. His proposed solutions can be read as a retrospective blueprint for the workings of groups he co-founded, including Demand Progress and the Progressive Change Campaign Committee, and his thinking on these matters informed his friend Lawrence Lessig’s Mayday PAC. Each of these organizations still bears the stamp of Aaron’s ideals and is better for it, whether or not we always succeed at living up to those principles.

 

‹ Prev