Processing 101

Noisepages: Websites for smart artists.

A beautiful thing. Image (CC) b0r1s.

While John Maeda focuses on elegant “Laws of Simplicity,” my focus here will be on my emerging Laws of Stupidity. These are reflections both on the dangers of my own stupidity, and the potential ability to harness the powers of stupidity to conquer any task.

Law 1: Get Stupid.

Maeda’s First Law regards “thoughtful reduction.” That’s a helpful, subtle, and rich metaphor for what you have to do to provide a solution that balances flexibility with simplicity – in other words, your final design.

As a programmer, and sometimes a pretty clumsy programmer, I believe the first step should be thoughtless reduction.

Reduce everything to the point that you think it’s actually pretty stupid.

“Hello, world” is the greatest application of this concept in history. It doesn’t do anything. It prints “Hello, world” on the screen. That’s pretty stupid. It’s studying with one of the Dutch Masters and starting out by drawing a smiley face.

That’s how stupid I think you have to be when attacking a new problem. You probably think you don’t need to type in a Hello, World program. It likely involves one line of code that you already understand. But by doing so, you say to your brain, “Hey, brain, you know what? You’re kind of an idiot. It’s okay. This is hard for you. I’m going to hold your hand, or … neurons, or whatever it is you brains have.”

Why am I an expert on this concept? Because I have to constantly bang myself over the head to actually apply it. I’m too stupid to remember to do it myself, so I need regular reminders.

Of course, the reason stupidity works is that by the time you get to stuff that’s actually hard, you have a stronger foundation of understanding. You can reduce a problem to more basic elements and really put some hard work into understanding them, without affecting your pride.

And if we’re all humble enough to be really, really stupid, we may find ourselves winding up pretty smart.

Then you’ll be ready to carefully balance flexibility and complexity to find the most ideal design solut…

You know what, worry about that latter. Right now, “Hello, world!”

5 Responses

  1. [...] to give you a feel for the tone, here’s Peter’s First Law of Stupidity – massive apologies to John Maeda’s more sophisticated Laws of [...]

  2. radian
  3. Peter

    I totally agree with your Law of Stupidity, but I don’t think that’s the point of “Hello, world”.

    The point of “Hello, world”, as I understand it, is to have the simplest possible program that does something, in order to make sure that your programming environment is working.  If you can get “Hello, world” to work, that means that your editor/libraries/compiler/linker/whatever are installed and working.  If “Hello, world” doesn’t work, then you have to fix the environment before you try anything else.

    If “Hello, world” works, then your environment is ready to support more serious coding efforts, and any problems you encounter after that will probably be due to something wrong with your code.  If your first try is something more ambitious than “Hello, world”, then you have too many moving parts to deal with if there’s a problem.

  4. Peter Kirn

    Right, but that’s a design principle (test the most basic chain of events prior to something working) that tends to get easily lost. In other words, you may have to force yourself to do something stupid in order to test what you’re really trying to test — rather than starting to get fancy and obscuring the problem.

    So that’s what I mean about “Hello, world.” You could do something more elaborate and test your build environment, but if you did, you’d wind up adding additional potential for failure. So you do something silly.

    And I think it is possible to try tests of design ideas that are similarly minimal.

  5. rhowaldt

    ‘hello world’ may of course be used for both purposes described (ie. as a system-test and as a stupidity indicator-thing). sometimes stuff is consciously intended one way, while unconsciously it creates a different thing. if you know what i mean.

Leave a Reply