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.
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.
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.
It is almost half a year ago that Li-Xia's motherarrived 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.
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.
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.
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.
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.
Today, I bought the bookMonet
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).
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.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
1
1
1
1
1
1
1
1
1
1
2
1
1
2
2
3
3
4
4
4
3
3
2
2
1
1
3
1
1
2
3
4
5
7
7
8
8
8
7
7
5
4
3
2
1
1
4
1
1
2
3
5
6
8
9
11
11
12
11
11
9
8
6
5
3
2
1
1
5
1
1
2
3
5
6
8
9
11
11
12
11
11
9
8
6
5
3
2
1
1
6
1
1
2
3
4
5
7
7
8
8
8
7
7
5
4
3
2
1
1
7
1
1
2
2
3
3
4
4
4
3
3
2
2
1
1
8
1
1
1
1
1
1
1
1
1
9
1
(Of course, this table was generated by means of a computer program.)
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 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.
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.
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.
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.