Sat May 21 12:17:51 CEST 2011

Doing something wrong

Over the last year I've lost a lot of focus.  Frankly I don't know
what this is about any more.  I found this out recently talking to
someone: I just made up a new goal.  It went something like this:

   In embedded programming there is a trade-off between abstraction
   (for managability) and special-casing (for resource efficiency).  

   I am investigating ways to solve this problem better, and possibly
   commercialize a solution.  However this is hard.

It's already a paraphrase because I don't remember the exact
explanation, but I'm hiding behind the fact that it's hard.

It's definitely what I WANT to do, but my plan of getting there is not
very realistic.

Let's try to find some reasons:

- I got overwhelmed.  The literature I am (was) following on the
  subject of typed metaprogramming is not easy.

- On the practical side I'm conflicted between two language models:
  Scheme + Macros and more restricting typed approaches (MetaOCaml or
  Haskel type classes).

- The problems I'm trying to solve are too hard as a first attempt:

  * An ill-specified USB driver for Staapl/PIC18, where I don't know
    exactly how the thing is supposed to work and I am puzzled by how
    to tackle simple memory management problems,

  * A "generic audio DSP language".  Also very much a trial-and-error
    thing that needs a lot more knowledge integration to get anywhere.

  * A virtual machine for small (64k RAM) 32-bit micros.

- I'm very far removed from the status-quo.  This means there is a lot
  of room for improvement, but also a lot of skepticism.

- I don't have straight-line time; too many distractions.  This is
  probably a motivation/efficiency issue instead of an effective lack
  of time.

What I need is either a clear (difficult, long-term) goal and
discipline and focus, or simpler goals that are self-motivating to
gather more data and knowledge for the next move.