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