Previous Up No next

Diary, April 2002

   Sun Mon Tue Wed Thu Fri Sat
         1   2   3   4   5   6
     7   8   9  10  11  12  13
    14  15  16  17  18  19  20
    21  22  23  24  25  26  27
    28  29  30

Wednesday, April 3, 2002

No contract yet

Although, an article in the local newspaper of last Saturday said that an agreement had been reached with respect to the continuation of the company, no contract has been signed so far. Today, I heard it may still take some time before a contract is signed. It appears that the newspaper article reflects the viewpoint of the trustree, not that of the take over candidate.


Thursday, April 5, 2002

Idiots fair

Every year, in the week following Eastern there is a Eastern Fair for one week in a park called "Het Volkspark". (Until two years ago, there was a tradition to close this fair with a fireworks show.) On the Thursday morning of this week, from 10 till 12, the fair is open for the mentally handicapped from Twente. Because Andy is also retarded, he went together with the center that he attends during weekdays. We were allowed to go with him. The weather was kind of nice, a little cold in the beginning, but that changed when the sun grew stronger. We had a lot of fun. It is really funny to see merry-go-rounds full with mentally retarded children all having the time of their life.

Saturday, April 6, 2002

Bink Software Solutions

Today, the former employees (including me) received an letter from Bink Software Solutions, stating that the contract was signed. After they have made some agreements with the customers, they will invite some of us to work with the new company. The chances that there will be a healthy continuation are diminishing quickly, because some of my former colleagues are already in the process of accepting other job positions. If some of the key persons fall away, it will be less attractive for the others to continue as well. It seems it are always the best people that are find something else the soonest.



Tonight, I saw the last two hours of the movie called Magnolia. This is definitely a special movie. Only in the end it becomes clear how everything fits together.

Wednesday, April 10, 2002

Going home

It is almost half a year ago that Li-Xia's mother arrived on Schiphol. Today, she will go home. We left around half past twelve after Annabel had come home from school, and we first went to catch Andy. We had a rather smooth trip going to Schiphol. After we checked her in, we took two pictures outside. Then we said goodbye to her. Andy waved very happy. We felt a little said. It will be a long time (if ever) before we will meet her again here on earth.

One the high way again, we immediately got stuck in a traffic-jam. It took us almost two hours to get to my mothers place and had a nice dinner together.

Around eight o'clock we went home again. A red sun was following us through the grey trees when we drove from Woudenberg to the highway near Amersfoort. When we arrived home, I developed a splitting headache like I did not have for months.

Thursday, April 11, 2002

Goodbye party

With most of my former colleagues we celebrated a goodbye party. The hope of a smooth continuation has diminished. It seems that most of us already have said goodbye in their minds.


Tuesday, April 16, 2002

Reverse engineering the Quark Xpress format (Part 17)

In the past months, I have been working on reverse engineering the Quark Xpress format again. I decided to write the program from scratch and trying to improve on every thing I did wrong the last time. Another reason for starting over again, is because I am focusing on the various Mac binary file formats, which differ from the MS Window binary file format that I studied last year. Of course, there are many simalilarities between the different formats.

Yesterday evening, I made a discovery in the oldest file format, which explains how the frames are linked to the text. It turned out that in that file format the frames simply contain the number of the block where the text data starts. (I was a little surprised about this, because I could not remember having found this link last year.) This morning, I coded the link in the program, and discovered that it was indeed correct for all files of the oldest version that I did have access to. Yet, the code failed on a slightly newer file format. When I started to compare the two, I noticed that the newer contained appearently arbitrary numbers. Then when I looked closer, I noticed that they are being incremented with some number. Suddenly, I realized that this might be done deliberately to make reverse engineering harder.

(Previous and next part)

Thursday, April 18, 2002


The first chestnut plant (tree) already has formed a bud. Today, I noticed that the connection to the chestnut had dried up. It easy broke off when I moved it a little around. You can clearly see the two "brances" that were connected to the stem of the the plant.

From the other four chestnuts that I planter on March 24 two have died. One is already full grown (about 45 cm, 18 inches), the other already has grown a root and a small green branch is visible.


The cls2cpp.cpp program is a very simple program which can be used to translate .cls files into .cpp files. I had been trying to write some C++ classes with all the code for the methods inside the class definition (just like you see with for example Java and C#). But when classes started to refer to each other, I got some problems, as you cannot call a method on a class whoes interface has not been fully specified.

Usually, the interface definition is given in a .h file, and the implementation in a .cpp file. But there is nothing from stopping you to include a .cpp file. The use of .h files was introduced to facilitate compilation of the sources into separate object files, which are later build into a single executable with the help a linker. But nowadays, with fast computers and enough memory the need for separate compilation is not so strong anymore. (Linking is also a little faster with just one object file.) In that case you simply include the .cpp file.

The problem with the use of separate .h and .cpp files is that they contain a lot of duplicate information, because the method headers are repeated in the .cpp files. I wanted to keep everything in a single file, with all the methods inside the class definitions. So, I designed the .cls file format, which is simply the normal .cpp file, but without the restriction the interfaces of classes need to be fully defined before they are used. The cls2cpp.cpp program, simply takes a .cpp file and reads it three times. The first time, it simply collects the names of the classes and writes a single class name declaration line the .cpp file. The second time, the classes with their members and the headers of the methods are appended into the .cpp file. The third time, the methods with their interface and implementation are copied into the .cpp file. The program also inserts "#line" directives, such that errors are reported with the correct line number from the .cls file.

The program could also be modified such that it would produce separate .h and .cpp. It could also be changed into a program processing multiple files, which would generate a single .h file containing all the class definitions.

Of course, it is a very simple program, and it does not work for all possible C++ class defintions. (For example, it has no support for templates.) But for me it works great.

(See here for an example of usage.)


Today, I read about the interesting Hole-in-the-wall project. There is little more I can add to it. Read for yourself.

Friday, April 19, 2002

Wedding of Herman and Silvia

Today was the wedding of a former colleague. The wedding was held in the town hall of Enschede and started on 14:00. At 18:00 there was a reception in the restaurant Haarmuhle in Alstate, just across the border with German. (Just 15 minutes by car from our place.) The nice thing is that the whole place is powered by a water mill. The German word for mill is muhle.

Tuesday, April 23, 2002


Today, I bought the book Monet written by Vanessa Potts, published by Parragon, Bath, UK, ISBN 0-75254-719-4, for the price of € 7.50 at 10:32 in the morning from the book shop De Slegte in Enschede. Although, I already do have a book about all his works, I bought this book because it is pocket sized and nice to put on the desk of my office (once I am working again).

(follow-up, buying second copy)

Cross sums

Cross sums are a kind of cross-words with numbers. Instead of a description, it simpy gives you a number indicating the sum of the digits (from 1 to 9) in the adjacent squares, but with the restriction that no digit may be used more than once in those squares. For each number and number of squares this only gives a limited number of possibilities. Below a table is given with all the possibilities. The columns give the numbers and the rows the number of sqaures to be filled with the number. If you hover over a number in the table, the combinations (separeated by semi-colons) will be shown.


(Of course, this table was generated by means of a computer program.)

Thursday, April 25, 2002

Video tapes

Andy loves watching and playing with his video tapes. This evening, I found him playing with some tapes (seven or so) that he had taken out of their boxes. I decided to help him put the tapes into the boxes. To my surprise he exactly knew which tapes belonged to each of the boxes. The only mistake he made, is that he mixed up to Winnie-the-Pooh tapes. But even I only realized this, after I noticed that there were two of them. This again proofs he has an excellent memory, although he about 50% behind in his mental development.

The purpose of prayer

The subject at our biweekly cell group meeting was prayer. One of the first questions was: What is the purpose of prayer. I found that a very hard question. Finally, I wrote down: Prayer itself and to complain. Probably the most often asked question to God is the simple question: Why? (And the most powerful prayer is: Help!) Later this evening, Romans 8:26-27 was mentioned. The fact that it starts with expression "in the same way", made us look at the preceding verses. Now in Romans 8:18-25 it does speak about groaning. Then I realized that groaning better describes feeling that I described with complaining.

Friday, April 26, 2002

Reverse engineering the Quark Xpress format (Part 18)

Praise God!, I found the encryption method which is used within the newer versions of the Quark Xpress file format. It was ten days ago that I stumbled on this problem, and since that time it has been on my mind. The last days I had become rather desparate and even a little depressed about this problem. Yes, reverse engineering can be very exhausting and drive you crazy. I had almost given it up, and was considering to buy one of the commercial Quark Xpress to XML converters (such as iCPS). But, I also prayed to God that He would lead me to the solution. That gives me reason to praise Him.

Anton Heijboer

The Dutch artist Anton Heijboer, who is also famous for living together with several woman, is going to receive a royal decoration. I wonder how long it will take for the Dutch marriages laws to allow polygamy as well. It seems the only thing which prevents this are all the complications with respect to the law of succession.

Sunday, April 28, 2002

A typical Sunday

In the morning we went to church. Currently, we often have French and English speaking guests. I sat behind two English speaking guests in the back of the church to translate for them. The speaker was one of my favourite speakers, not because a high education (his original profession is that of a carpenter), but because this man is simply himself and very open and honest. He spoke about the parable of the sower, and gave it a very interesting twist. Usually, it is asumed that the different types of soil are static. He said that we can do something to improve our soil, such that the Word will bear fruit. A very interesting idea. We need to plough our soil and remove the stones.

After the service, Johan Koolwaaij gave me the address of the home page of his family. Annabel wanted to play with a girl friend from the church, and she went off with them.

After lunch, we tried to rearrange the computers in our living room. We decided to put the most used computer (named ester) under the kitchen table, with the monitor and such on top of the kitchen table, thus creating a working place with a lot of desktop space. (We have an open kitchen, meaning that the kitchen and the living room form one big room.) Then the other computer (named andy), which we had not used for sometime, was put on the place where ester used to be.

Around half past four it was time to catch Annabel. When, I arrived, the first reaction of Annabel was on of dissapointment because she didn't want to go home yet. I sat down a little and talked with the father of Annabel girl friend about how hard software is. The words hardware and software suggest that it is easier to modify software than it is to modify hardware. Often, the reverse is true. Some software packages survive many hardware changes. The original 8086 does not resemble the latest Pentium IV in any sense, but Windows 97 SE still builds on MS-DOS. Annabel had got some clay and when we arrived home, she made a dog of it, which I photographed with our web cam.

This evening, Li-Xia showed me the little chestnut plant in our back garden. The one chestnut in home that was about to sprout, did not make it. So, we have two chestnut plants in the house and one in the back garden.


Home | March 2002 | May 2002