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
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
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.