Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Ian Bell
08/13/05 08:32
Read: 956 times
Northrepps
United Kingdom


 
#99338 - One exception
Responding to: Erik Malund's previous message
Erik Malund said:
Now, it is, of course, fun now and then to do some really fancy code, that's fine, just do not let the people that pay you suffer for that reason.

I generaly agree with everything you have said Erik. As a rule, fancy code only creates problems. I have only come across one possible exception to this rule. For many years I worked on hand held label printers. These were mass produced so were very cost sensitive. The customer wanted as large a set of characters as possible . This takes up more ROM and leaves less space for code. To fit more charcaters in we used various methods of compressing bit maps. Even so, in a typical product we had 12K of font data and 4K of code. The customer also wanted to do fancy things with the characters like italic, bold and outline styles. No way could we store these as separate fonts, we could not afford the ROM, so they had to be generated algorithmically from the base font data.

The code that did these data manipulations consumed the largest proportion of cpu time available per print cycle so the algorithms they used and the way they were coded had to be as efficient as possible to avoid needing a higher speed and more expensive processor variant. It was important that intermediate values were kept around for the next print cycle because that would need them too. Also the font data was several bytes long so reducing fetch times with indexing was important too and of course the data needed to be de-compressed at the same time too. As much RAM as possible had to be left for the text editor so we could not just read in a few columns of data and work on that.

All in all a very challenging piece of code that required a deep understanding of the processor machine code in order to produce the fastest smallest code (no compiler on earth could look far enough ahead in the code to achieve the same level of optimisation). We were proud of the results and I thought the code could be described as elegant. It did nothing stupid or dangerous but in its own way was rather fancy. Several million units were made and it never crashed.

IAn



List of 57 messages in thread
TopicAuthorDate
defensive coding how and why      Erik Malund      08/12/05 15:33      
   What do you mean?      Craig Steiner      08/12/05 17:32      
      Elegant      Steve M. Taylor      08/13/05 00:20      
         Paradox?      Rob Klein      08/13/05 05:10      
      clarification      Erik Malund      08/15/05 06:35      
         Remember      Neil Kurzman      08/15/05 11:43      
            Absolutely, and even then should be avoi      Erik Malund      08/15/05 12:19      
            Absolutely, and even then should be avoi      Erik Malund      08/15/05 12:19      
            extrodiaray?      Jan Waclawek      08/15/05 13:12      
                extrodiaray?      Craig Steiner      08/15/05 13:17      
                  Goooooogle      Jan Waclawek      08/15/05 15:08      
                     No, he does not      Erik Malund      08/15/05 15:30      
                        proofreading      Jan Waclawek      08/16/05 03:27      
                     Another challeneg      Craig Steiner      08/15/05 15:49      
                        another challenge      Jan Waclawek      08/16/05 03:45      
               OK, I can not Spell      Neil Kurzman      08/15/05 19:18      
                  this is my point      Jan Waclawek      08/16/05 03:30      
                     I sure you could, But      Neil Kurzman      08/16/05 09:35      
                        Really?      Craig Steiner      08/16/05 10:20      
                           professors and classes      Jan Waclawek      08/16/05 10:50      
                           Really !      Neil Kurzman      08/17/05 14:05      
                              Hmmm      Craig Steiner      08/17/05 14:09      
            defensive commenting      Jan Waclawek      08/16/05 03:59      
         Don't know      Craig Steiner      08/15/05 12:47      
            Ok, let me get away from that word      Erik Malund      08/15/05 13:49      
               Gotcha      Craig Steiner      08/15/05 14:44      
                  and I came to truly despise that word wh      Erik Malund      08/15/05 15:07      
                     Just like driving      Kalpak Dabir      08/17/05 20:48      
            Elegant equals...      Dan Henry      08/15/05 17:21      
               that it      Erik Malund      08/16/05 06:11      
               Oh, how true...!      Andy Neil      08/23/05 05:29      
                  It's never the author's problem      Dan Henry      08/23/05 08:51      
                     I knew a person who told me about a real      Erik Malund      08/23/05 09:38      
                        A blissful existence      Dan Henry      08/23/05 18:37      
                  Your bugs versus my bugs (or vice versa)      Dan Henry      08/23/05 18:34      
                     common wisdom has it that the average pr      Erik Malund      08/24/05 07:34      
   One exception      Ian Bell      08/13/05 08:32      
      exceptions      Erik Malund      08/15/05 06:45      
         vice versa      Jan Waclawek      08/15/05 06:53      
            what is obvious      Erik Malund      08/15/05 07:58      
               your mileage may vary      Jan Waclawek      08/15/05 08:15      
                  that is the very same      Erik Malund      08/15/05 09:05      
                     competent      Jan Waclawek      08/15/05 13:40      
                        please define "working"      Erik Malund      08/15/05 14:02      
                           competent programming => working program      Jan Waclawek      08/15/05 15:48      
   i'm new      Emem Essien      08/18/05 05:10      
      if you move your eyeballs a bit to the l      Erik Malund      08/18/05 06:22      
         Coding Bible      Russell Bull      08/20/05 08:16      
            Precedence vs. explicitness      Dan Henry      08/20/05 09:27      
   Outlaw coding!      Russell Bull      08/21/05 06:47      
      a program it is, by definition, asynchro      Erik Malund      08/22/05 07:42      
         Methinks the point was missed      Russell Bull      08/22/05 18:20      
            "Easy?"      Andy Neil      08/23/05 03:13      
            but we agree      Erik Malund      08/23/05 07:34      
      VIPER?      Andy Neil      08/22/05 10:53      
      What does "timing" mean?        Dan Henry      08/22/05 20:03      
         excuse the foreigner, if he was not clea      Erik Malund      08/23/05 07:36      

Back to Subject List