↬ I'm Ivan Krstić (@radian). This is a personal site; I speak for no one but myself.

Sweet nonsense omelet

So there I was, basking in the warm California sun, enjoying the gentle jets of the hot tub, and generally doing pleasurable things that don’t involve thinking about my old job. (New job: fucking awesome. Old job: awesomely fucked.)

But then I get an e-mail from a friend, who saw on Slashdot that Engadget reported that ZDNet Asia has an interview with Nicholas Negroponte, or something, and it’s been getting a bunch of press. Now, last time Nicholas got a bunch of press for an interview, it was for calling his employees terrorists; I wondered with slight trepidation what bombshell he dropped this time. Here it is, in its inglorious entirety:

Putting a crank-shaft on the XO laptop was a mistake, but the biggest mistake was not having Sugar run as an application “on a vanilla Linux laptop”, said OLPC founder and chairman Nicholas Negroponte. “Sugar should have been an application [residing] on a normal operating system,” he told ZDNet Asia in an interview. “But what we did… was we had Sugar do the power management, we had Sugar do the wireless management–it became sort of an omelet. The BIOS talked directly with Sugar, so Sugar became a bit of a mess.”

And just like that, more than a year after I left the company, it became clear to me that OLPC can still raise my blood pressure. So let’s talk about Sugar.

When we started software development for the XO, I went on an internal anti-Sugar crusade. Long after everyone else had made up their minds about the need for a new learning-oriented GUI, I was still obnoxious and combative in trying to kill the idea before we began work on it. I wrote strongly-worded internal memos, I argued with Walter, and I got into countless many arguments with just about every Red Hat employee that worked on the project — a number of them won’t talk to me to this day. I tell you this to make it clear that this post is not about defending myself or my work. I was never a Sugar developer, I was never credited as such, and my contributions to Sugar are probably under 20 lines of code contained in a couple of critical bug fixes.

In trying to stop OLPC from putting its weight behind Sugar, my reasoning was fairly straightforward: it’s too hard for a tiny team to build a new GUI platform in a very short amount of time, and it’s silly to throw away the thousands of man years of effort that have gone into mainstream Linux desktop environments and the applications they run. Eventually, I realized I was pissing people off without managing to dissuade them, so I stood down. Sugar was built, and over time, is becoming an increasingly compelling platform.

And of course, Nicholas’ interview gem has nothing to do with anything I just said.

Here’s the problem: through a somewhat regrettable set of naming decisions, the name “Sugar” came to represent two entirely different things. It was the name for the new learning-oriented graphical interface that OLPC was building, but it was also the name for the entire XO operating system, one tiny part of which was Sugar the GUI, and the rest of which was mostly Fedora Linux.

Nicholas, evidently, still remains blissfully unaware of any of this. As is plain to see from his own words, what he considers to be the biggest mistake of the project has nothing to do with Sugar the GUI, and everything to do with the gross, hairy, complicated systems development work that OLPC was doing to support the XO’s special hardware features. And to be clear, I mean “short bus special”, not “shiny unicorn special”.

Let me explain something to you. For most of OLPC’s existence, we had about two guys working on Sugar the UI. They were GUI developers, with GNOME backgrounds. They were not at all the same people doing systems development work to support our hardware. No resources were taken away from systems development to do Sugar. If Sugar hadn’t happened at all, we would have still had to do all the systems work to get Linux working on the XO, and it would have still taken just as long. So if you’re looking for things to blame, Sugar is not the droid you are looking for.

In truth, the XO ships a pretty shitty operating system, and this fact has very little to do with Sugar the GUI. It has a lot to do with the choice of incompetent hardware vendors that provided half-assedly built, unsupported and unsupportable components with broken closed-source firmware blobs that OLPC could neither examine nor fix.

So we wound up with a keyboard whose keys get stuck. A dual-mode touchpad, capacitive and resistive, where one mode doesn’t work at all, and the other makes the cursor spontaneously jump around and sometimes shuts off the touchpad altogether, prompting OLPC kernel developers to beg for saner hardware in the next round. We had board engineering issues that made power management practically impossible. We had a custom display controller chip that was incomplete in some regards, and completely broken in others. We had an embedded controller that blocks keyboard events and stops machine suspend, and to which we — after a long battle — received the source, under strict NDA, only to find a jungle of nested if statements, twelve levels deep, and no code history. (The company that wrote the code doesn’t use version control, see. They put dates into code comments when they make changes, and the developers mail each other zip files with new versions.) And we had a wireless chip that is so far beyond fucked, it’s just about funny.

(Each of those words is a different link. Click them all, I dare you.)

Thinking back, there’s a hardware incident I remember particularly fondly: one of our vendors sent us a kernel driver patch which enhanced support for their component in our machine. They chose to implement the enhancement by setting up a hole which allowed any unprivileged user to take over the kernel, prompting our kernel guy to send a private e-mail to the OLPC tech team demanding that, in the future, we avoid buying hardware from companies whose programmers are, direct quote, “crack-smoking hobos”.

In the end, Nicholas’ bit of interview nonsense just doesn’t pass the smell test. Customers aren’t stupid. There’s close to a million XOs out there; if Sugar was OLPC’s biggest mistake, Windows on the XO would be selling like hotcakes. Let me remind you, then, that the number of Windows-based XOs that OLPC has sold is exactly zero.

So next time you hear Nicholas break out the egg metaphors and wave his hands about the Sugar that doomed it all, shrug and smile. Hell, If I were a meaner person, I’d ask Nicholas why it is that Windows — you know, the Windows from Microsoft, mercifully unstained with the mistake of Sugar — can’t even shut down an XO without throwing up a blue screen of death.

But I won’t ask. Because it’s warm and sunny in California, and I have a hot tub calling my name.

My thanks to Walter Bender for reading a draft of this post.

A new adventure

About a year ago, I left One Laptop per Child and decided to find a new adventure. Last August, I was admitted to the graduate program at MIT, and while I was fantastically excited to study with an extraordinary advisor, life had other plans. I did not enroll. But I’m still receiving quite a bit of e-mail asking what I’m up to these days, so perhaps a short update is in order.

I spent much of the last year devoted to my own research. I spun down various commitments, and took up a few others: I joined the advisory board for the Anti-Malware Testing Standards Organization, became a member of the technical working group for Harvard Berkman’s StopBadware, and joined the Security Response Team for Python, my programming language of choice.

Earlier this year I reprised my role chairing the Program Committee for the 2009 PyCon. I also added a small sideshow to the conference: a summit for dynamic language implementers, with participants from 12 different language groups. All my involvement with the Python community continues to be both humbling and inspiring; I have yet to find such a compelling mix of intelligence, humor and interpersonal warmth in another technical crowd.

But perhaps most importantly, I have — at long last — found my new adventure. After a great deal of deliberation, I moved to California and joined the local fruit vendor.

Today was my first day on the job, and I couldn’t be more thrilled.

The New Yorker on mind hacks

Margaret Talbot’s long feature story in the current New Yorker, regarding the off-label use of prescription drugs as cognitive enhancers:

Neuroenhancers are perfectly suited for the anxiety of white-collar competition in a floundering economy. And they have a synergistic relationship with our multiplying digital technologies: the more gadgets we own, the more distracted we become, and the more we need help in order to focus. The experience that neuroenhancement offers is not, for the most part, about opening the doors of perception, or about breaking the bonds of the self, or about experiencing a surge of genius. It’s about squeezing out an extra few hours to finish those sales figures when you’d really rather collapse into bed; getting a B instead of a B-minus on the final exam in a lecture class where you spent half your time texting; cramming for the G.R.E.s at night, because the information-industry job you got after college turned out to be deadening. Neuroenhancers don’t offer freedom. Rather, they facilitate a pinched, unromantic, grindingly efficient form of productivity.

The article is a good read covering a fascinating subject, and I’m only going to add two pieces of supplemental reading. If, like me, you found Talbot’s article overly anecdotal and painfully short on the science, you need to read Botox for the brain: enhancement of cognition, mood, and pro-social behavior and blunting of unwanted memories appearing in Neuroscience and Behavioral Reviews 32 (2008) 760-776. Due to the epic pain in the ass that is closed-access academia, you or your academic institution need to pay a boatload of money to Elsevier to read the paper, so I’m sticking it right here (PDF) until I’m asked to take it down.

And if the specific phrase Talbot uses at one point in the article — “mind hacking” — made you pause and reflect on just how fascinating a concept that is, my second link for you is a story. Cory Doctorow explores mind/body hacks in 0wnz0red, and it’s convincingly one of my all-time favorite pieces of short science fiction.

« See older postsSee newer posts »