waffle

Waffle is a weblog.
The author of Waffle, some guy in Sweden, also occasionally writes stmts.net.

The Right Solution

In 2004, I read the story about original Macintosh logic board architect Burrell Smith, and his unusual way of playing Defender. He and everyone else who played Defender struggled with it the way the game was designed. But what he did one day was that he started by putting himself in the worst possible situation and learned to control it. He turned the tables of the game’s expectations while still operating inside its limits.

At the time, I occasionally started up the best Mac OS X Tetris clone that I’m aware of, Quinn, which is sadly unavailable due to legal threats by the Tetris company. (Quinn was previously described as “similar to a block-dropping game that, according to The Tetris Company, I am not allowed to name”.) I was never good at Tetris although I liked it; the earlier levels were boring and the difficulty got steeper so quickly once it got going.

The penny dropped months or maybe even a year after that. I started dropping the pieces directly into place even in the early levels. I played as if I was always under pressure to get the blocks into place. Of course the high score went up since I had earned more points by the time I couldn’t handle the difficulty, but I still didn’t last longer. However, as I kept going (I’ve played it daily pretty much every day since 2005), I did eventually get a lot better. My early high scores were around 50’000 and I’m currently at 221’524. (At the time of writing, it’s enough to place in the top 30 of today’s global Quinn high scores.)

I am not claiming any sort of innovation in my approach to this problem. More likely than not, the way I was playing originally was pretty brain dead. I am also not going to harp on spending 10’000 hours because I’m certainly not one of the world’s best Tetris players.

But I am better than I were. A lot better. I am just as frustrated when the game finally ends, but I have come farther.

Let’s connect this to another Waffle favorite; Douglas Adams’ Parrots, the Universe and Everything talk; his last ever and a good career cap. Towards the end, Douglas is asked why the Hitchhiker’s Guide series is rife with bitter references to digital watches and confides that when they were new, they were so crappy that they were an inconvenience. He then goes off on things that are stuck in horrid reinvention cycles, like hotel/airport bathroom faucets:

What do I do? Do I turn something? Do I push something? Do I pull something? Do I knee it!? (Laughter.) Do I just have to sort of be near it? (Laughter.)

While Douglas Adams is still right on this point eleven years later, he does end on another note:

But, I just think it’s wonderful we just sort of keep on inventing it even though it works, because it’s the way of getting ourselves off local maximums isn’t it?

I am the world’s biggest proponent for using the right approach for the right job. For example, I am not ashamed to use the sort of programming languages that C++ programmers look down on, which tends to be the sort of programming languages that aren’t C++. Even taken as gospel that C++ generates the most efficient machine code in the world, you’re probably not going to need the speed increase badly enough to lower your productivity. (Deserved as it mostly is, I don’t intend to rag on C++ or its programmers; it’s just a useful example.)

But on the other hand, sometimes you do need that. There are tough problems in the world and they need solving. Indeed, we should all be solving tough problems. If no one would, we’d still be living in caves.

I’ve been on the lookout and I’ve been seeing two very concrete examples of Burrell’s mentality. (In a stunning twist, both are Java projects.)

The first is a “pauseless” garbage collector. The second is a “disruptor” pattern with “mechanical sympathy”.

Both have a thing in common and both articulate it clearly: in order to solve the tough problems, you have to solve the hardest problem constantly and you have to invent a new way of doing it. We could have a discussion about which constituent parts already existed (I’m guessing most of them), or how they are making mostly-true statements on some ends because of the convenience it allows them in explaining things, or how they choose different words when words already exist, or whether parts of the problem was already being solved in similar ways before, and some people might shy away from these examples because of these things. I would be surprised at their reasoning; your definition of innovation, if I might use so foul a word, can’t be to literally reinvent everything. It wouldn’t be practical and it wouldn’t be useful. You can spend your life being bitter about other people’s success despite their faults, or you can revel in their advances.

You don’t need to solve every problem as if it is a hard problem. You don’t need your every fiber to sparkle with reinvention to avoid the taint of conventionalism. You should do what’s enough for the problem at hand. Faucets probably don’t need remaking yet again; if anything, maybe they need to be more consistent and labelled.

But every once in a while, at your pleasure and when the moment arrives, what’s enough will require you to take a step back and reevaluate everything. It will probably be more meaningful than Tetris, but you will enjoy it thoroughly. You will savor the challenge, you will twist your brain inside out, you will learn more about unexpected things and you will have fun.

Do it, and don’t look back.

No comments yet.

Sorry, the comment form is closed at this time.