Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs






March, 2005
SMTWTFS
  01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Search the weblog





























Genii Weblog


Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.


Wed 23 Mar 2005, 02:52 PM
Crash sceneAnother one of the games I like to play when I have a moment to spare, or a project I want to avoid, is called "Make it crash".  The idea is to take some Midas or CoexEdit or CoexLinks functionality and find a way to make it crash.  This is both fun, and leads to more stability in the product since I then have to fix the problem.  I have various rules for myself, but the main one is that the crash has to be "my fault".  In other words, it is trivial to get Notes to crash due to its own faults, but since I don't have the source code handy, I can't fix those problems.  Therefore, it has to be in the Midas code.  

Today's game was sparked by a letter from a client who says that our rich text comparison was crashing.  I found the bug, which had to do with comparing nested tables, and fixed it, but then I got into the game.  To really stress the comparison engine, I used the Partner Forum database, which I like to use as a resource with a bunch of rich text fields, and simply set up a loop which compares the rich text field in each with the rich text field in the next document.  Obviously, these comparisons have no meaning, but I figured they would stress all sorts of bits of code that were not normally stressed when I was comparing fields that did have something to do with each other.  For this game, I only worry about crashes, and I'm afraid to say I have found three and fixed them so far.  No more crashes, so no I may compare every document in the Partner Forum for 2000 (created with R4/R5) with every document in the Partner Forum for 2004 (many created with ND6/6.5) and see if I can find any problems due to new data structures or new storage technologies.

Fortunately, these all run on my second machine, so I can also work on the projects I am supposed to be working on.  Oops, did I say "fortunately"?

Copyright © 2005 Genii Software Ltd.