Monday, January 12, 2009

Day 12 - The Pudge Factor

One thing about the holidays is that whole "gaining weight" thing.  I am not and have never been the person with the tiny waist.  However, the last few months have been sitting rather uneasily around my middle.  The main problem is simply not getting to the gym.  It's kinda nice to avoid it right around January 1 as there are people in attendance that won't be in attendance in short order.  I'm gonna have to get back on track with that tomorrow morning.  Playing hockey a couple of times a week keeps things reasonable in terms of energy level and total-body-squishiness, but when I can get to the gym for the other 3 days of the week, that does a body good.  Especially in my business - the sitting down staring straight ahead business.  Like the salesman at "The Vast Waistband" on the Simpson's episode King-Size Homer:

Work, huh?  Let me guess. Computer programmer, computer magazine columnist, something to do with computers?

His speculation of "...it must be all the constant sitting and snacking..." is one of the great banes of the information industry.  Ah well - a job is a good thing - it pays for my blogging habit.

Anyhoo, I'm involved with an issue at work that seems to be gaining some traction vis a vis a root cause of the problem instead of an eternal examination of the symptoms.  The current line of investigation suggests the issue was a small problem that leads to performance issues over time.  This is the type of problem encountered at this stage of the project.  The software development is long done, much testing is over and we are left to sort through the "long tail" of remaining issues.  These are the bugs that arrise from complex or long-term interactions, exactly the problem in this case.  We've been working on this project for quite a long time and I suspect that many developers at my work have either passed by or never knew about the "embedded" aspect of our work.

The devices we work on are embedded, but (fortunately) they aren't the embedded ones I first learned on.  These machines have more computing power, memory and long-term storage than I had access to for the first 15 years of using a computer.  My first PC had 1 MB RAM, a 80286 processor and a 10 MB hard-disk.  These devices have 50 MB RAM for Java (plus much more for the underlying OS), hundreds of MB of Non-volatile memory and 300 MIP processors.  So I can understand how embedded ideals can be overlooked during development.  This is the stage of the project when those embedded design patterns pay dividends, or come back to bite us.

One of the best things that these embedded designs lead to is software that is compact, fast and resource-sparse.  These ideals will be more necessary when this software is more widely deployed and possibly developed upon.  Hopefully I can call some attention to this move away from the "small" before we begin the next project in earnest.

No comments: