Sat Feb 4 12:03:40 EST 2017

Eliminate accidental complexity

( wording is very fuzzy - a little under the weather today ... )

Easier said then done...  I still find myself constantly battling
ridiculous problems, most of them caused by solutions that are not
thought out well, mostly because of reliance on other accidental

How to change this?

A typical pattern:

1. I'm tired of this shit.  Let's abstract it.

(time passes)

2. How did that work again?  Why did I do it like that?

The problem seems to be that nothing is straightforward.
Straightforward things are easy to remember.  Abstractions however
often create more trouble: yet another thing to remember, beause they
leak, the underlying structure needs to be in the mind as well.

It is as if the relation between the underlying structure and the
abstraction remains in working memory as a background echo while
developing the abstraction, but when that cache disappears, it seems
that the abstraction no longer makes sense.  It is as if the original
structure needs to be restored to memory to understand the abstraction
itself.  That is really not a good abstraction!

Let's find a word for it: re-abstracting through understanding an
abstraction's implementation / relation between low and high.