A plan against planning

I was most recently part of an organized gaming match among thirty-two players. Two days before, a meeting was called to carefully lay out which directions groups would go, and how everything would be built, stacked, and executed. Almost down to dotting the little ‘i’.

As you, the reader would know, this plan went completely out the window as soon as virtual feet hit the virtual pavement. My team ‘won’, but the only plan that followed was common sense among people who knew what to do.

Weddings and other big events work in similar ways with similar dynamics. Plans only serve to answer questions of how things should be done if one does not know how.

These are things that happen in the course of execution like where the groom and bride should stand, or where the place settings on the table should go.

It is only by natural circumstance that the groom doesn’t completely run in circles while walking down the isle (although I presume that some have).

Plans are in essence part-way of being a hindrance. Nothing ever really goes to plan, and some things should never be planned (unless they are so obscure of an idea that they should be — such as building blueprints for instance).

The best that one can do with a plan of any sort is to control chaos. Almost always however, it is better to just allow people to train people to react, in a boolean logic sort of way.

A nice example of this is in a concert. A concert is a collection of people working all at once to play out a common piece of music. It is a very refined form of chaos. Players are given sheet music, and told what to play, how to play it, and when to play it by a conductor.

A concert is a great form of how planning should work; the players are (usually) not told how their breathing should work, and what the best position for their fingers are. Quite simply, they know all the little things, and how to adjust their actions to fit in with the big picture.

This type of training falls out of the scope of any general plan, but these people are simply better known as folks that can ‘do it on the spot’, either because they have prior training, or instinctively know how something should be done properly.

People who can adapt and adjust quickly to align themselves with the plan (“play some sheet music”, “defeat the other team”) are the ones that make any plan successful. Those who try to plan excessively instead of allowing people to adapt on the spot risk diluting the original plan (the more important message).

The more important thing is that it risks alienating the people in the plan, who may feel that they know how to, for instance, hold a football while catching a pass. The prime message of the plan is lost.

Thus a complicated plan is never a solution to a complicated problem. Practice helps greatly, but is no substitute for having people around with great sense of what they already need to do, and how to react when the time is right.

If you can’t find people that can adapt, it is probably better to just train them, or toss them, but it should never be okay to treat them as programmable robots. It is both a waste of your time, and theirs.


Pushing forward

With the Arduino movement fully underway and unlikely to lose steam, there is something to be said about how the world was before it.

Revolutionary ideas take things that were once hard and distill them into safe, guided, and easy experiences.

Some of the more experienced scoff at projects like Arduino because at the core, they eat into hard knowledge bought with time. A computer scientist might be a bit miffed if tomorrow they would be somewhat replaced by clever self-optimizing algorithms (pending the submission of a million dollar proof, of course).

Before Arduino, building an AVR breakout board from a knowledge base of zero would have required knowing even beginning electronics lingo (by asking such inane questions like: “what is ground?”) to finally making the selection of AVR over PIC, ARM, FPGAs and otherwise.

A beginner doesn’t really need to understand the innate difference between a crystal and a resonator (the crystal has better quality), or why one is needed in the first place (its used as a sort of heartbeat for microchips).

This is often why hard problems remain hard, and why few people tackle them. Smart (and rich) people remove irrelevancies like these.

Good projects that change the world have this embedded in them as a core value (distilling hard problems) and have become wildly successful because they pander to the masses, and not exclusively to the experts.

Ubuntu for instance, became synonymous with “Linux” on several forums because it was a great entry-level distribution.

Ruby on Rails for quite some time has been the de-facto web framework, and arguably ushered in MVC as a mainstream way of doing web development. Its framework and “opinionated” way of doing things made web development less boilerplate and more manageable.

Knocking down barriers is something that can be done with nearly all that is hard in every field: Mathematics, Biology, Teaching, and Engineering.

While brain ‘trusts’ are nice and elite, drawing many smart people to a field and having them stay is more valuable to society as a whole.

Here is to the next framework, or hard problem solver that makes a massive splashdown on a problem once ruled solely by experts. Things can only get more interesting as people figure out how to craftily exploit making hard things easy. Because problems only get more interesting.

Feisty Fawn delivers (at least for a Dell Inspiron 9300)

Ubuntu Feisty Fawn 7.10 hit the shelves (Thursday, April 19th 2007), and it delivers!

Particularly on sound management. A small issue used to plague laptops like the Dell Inspiron 9300. Because these laptops had a built-in subwoofer of sorts (it would play the same tune at a lower, more bassier level), they were controlled separately from the mixer.

What happened if you wanted to make your laptop shut up with a flick of the buttons on the front panel?

You couldn’t! Muting was specifically bound to just Master, and this let the sub (aptly named Master Mono) keep playing. So while fumbling around to turn stuff off in a classroom/library setting, you’d still have the subwoofer going off!

But with Feisty Fawn this goes away!

System -> Preferences -> Sound

Holding down the CTRL key, I selected Master, Master Mono and PCM. Controlling all three at the same time would make sure that sound wouldn’t go back to the pre-stoneage area of laptops, but at the same time, the mute button in the front panel would work.

And it does!

I’m not waking up in the morning anymore

It is impossible to get anything done with the social racket that takes place in daylight. I don’t know how programmers that do this stuff for a living actually get anything done.

Maybe thats why programming projects take forever to complete!

Heatsinks + Thermal Grease + Force = not fun

…while removing the clips for the stock AMD heatsink, the CPU popped out of the socket attached to the heatsink. I feared that this might have resulted in damage (it normally does), so I checked the CPU’s pins..but it didn’t. I got lucky.

Normally I move the heatsink in a left/right motion carefully to get it off (without snapping the processor out of course), but the heatsink clips on the motherboard were being difficult, so I held the clip that I opened first while trying to open the other one. I wasn’t holding the other clip as tight as I thought, tugged a little on it, and right before my eyes the heatsink propped up with the processor in tow.

The real problem was that I applied thermal grease. My computers tend to stay on for long periods of time, and this helps with cooling considerably. Unfortunately, it turned into a glue like substance, attaching the CPU to its heatsink. This was just one of those times where I got unlucky, and lucky at the same time (the processor still works).

For this reason (and several others probably), AMD included thermal pads on their HSFs instead of getting people to apply thermal grease. Its much easier, and the installation is “passive” – you don’t need to do anything for the extra cooling.