Rat-holes of Lost Time

Much of software development is best described as "problem-solving". Much of the rest, BTW, is knowledge capture.

When we look at the time spent on problem solving we can see four potential outcomes.

  1. Time is spent producing a viable solution to the actual problem.
  2. Time is spent producing a non-solution …
more ...

Don't Pave the Cowpaths

In it, Bruce Silver recollects process reengineering gurus who warned "Don't pave the cowpaths!". Presumably because the cow path was a random walk all over the pasture land, and wasn't the most efficient course.

However, anyone who was watched cows at work will tell you that the cow path is …

more ...

Stating the Problem

In principle, stating a problem is a trivial exercise: someone can't do something. It can be made wonderfully complex, however. The root cause of the complexity could be a fundamental unwillingness to state the problem without including technology hints like "database" or "hierarchy" or "project management" or "change control".

Context …

more ...

Why Is OO So Popular?

"Polymorphism is nice as well, although I can't grok (yet) why this is necessarily not part of non-OO things. I'm not clear that it goes with the strong binding of state and method in a class."

Polymorphism isn't necessarily part of OO. Python actually has polymorphic functions outside of class …

more ...

Tabular Results

The "correct" answer is to fully normalize the design and get away from a mixed bag of columns and nulls. The MESS is bad from every perspective, except query performance. A semi-normalized design that separates the STATE CHANGES from the ESSENTIAL DEFINITION is an optimal design in many respects.

Here …

more ...



Normalization Experiment Protocol (revised)

The open question is "What is the cost of fragmentation?"

The cost has some absolute components and some relative components. Since fragmentation is difficult to avoid except through grotesque over-allocation of space, the issue is to control fragmentation through normalization. A more important pair of questions, then, are these:

  1. What …
more ...