New Years day
Yesterday evening, Annabel was
allowed to stay up. I remember how when I was young, it
was always very special if we were allowed to stay up till
midnight. The evening always looked like without end.
The first thing I did in this new year was going to the
bathroom. Annabel and I went out to watch the fireworks
of our neighbours. Andy just slept through all the noise.
Lately, I am often receiving emails from single women
looking for a contact. These emails look very genuine,
except that they have very weird email address from hotmail
or AOL. Also the body often mentiones yet another weird
looking email address. I haven't replied to any of these
email addresses in fear that they are being send by a
company creating "verified" email lists for spammers.
Train
Yesterday, Li-Xia had been talking
about the fact that Andy never went on
the train, and so I suggested that we maybe could take the
train while going into the city. A number of years ago, a new
railway station was build halfway Hengelo and Enschede near
the University and besides the new soccer stadium (to keep
the hooligans out of the city center). So, Li-Xia had been
talking to Andy the whole morning that we were going to take
the train into the city. When this afternoon I put on my coat,
just to check something in the back garden, Andy started to
shout and being very happy. From that moment, he could not
be stopped again. Luckily, we were about to leave.
It had been dry for some hours, but when we left it started
to drool a little. While driving to the railway station the
rain got stronger, and once we were on the platform the rain
came down really strong. I had bought two tickets for adults
(€ 2 each) and two railrunner tickets for kids
(€ 1 each). We had to wait some time, before the
train arrived, but it promptly arrived on time. (It was a
half hour service.) When it stopped, it became clear that
it was very crowded. We drove Andy in his buggy inside while
Li-Xia and Annabel followed. We simply stayed at the corridor.
I weaped the steamed-up windows of the doors on the other side
so that Andy could look outside. Although there was not much
to see, he was making shouts of joy all the time. When we arrived
at the central station, the platform was on the side he we were
watching. So, I could simply drive the buggy out.
It kept on raining all the time while we were in the city.
We first made it to the McD. We ordered the usual. We were
rather surprised to find a railrunner ticket with the happy
meal. We should have got it earlier.
On the way back with the train, we managed to find an empty
appartment for ourselves. It was the type of apparment with
only seats along the sides and with a lot of empty space in
the middle. Actually, they are intended to be used by people
who take their bike with them, which is common practice here
in the Netherlands. Of course, it was also appropriate for
Andy's oversized buggy. Again, Andy enjoyed the ride to the
fullest.
After we arrived home, I discovered that some water had got
into my bag and that even
my diary had become wet. Luckly,
none of the writing was affected.
Around eleven it started to snow. It snowed for about two
hours, but because the temperature was above zero, the snow
did not stay on the ground, except for some places.
Reading old diaries
This weekend, I spend a lot of time reading through
some diaries (nr. 5 to 8) from 1978.
It was a very interesting and relaxing experience. I also
updated some of my web pages according to the fact recorded
in these, namely My life as a hacker
and Movies I watched. I could
also create a Books I read page.
Lasting snow
Yesterday around eleven in the morning, it started to snow, and
because temperatures were below zero, the snow remained. In the
afternoon Annabel played with the
snow in the back garden.
The essense of this pattern is not architectural but
behavioural. It argues that couples should build there
own bed, because it s the center of their life together.
I wonder whether this holds for every couple. I think
we lack the mood, the energy, the time, and the craftmenship
to even start thinking about doing this.
This pattern starts with the statement: Bedrooms make
no sense, and continues to say that the space around
the bed is good for nothing except access to the bed.
But a little later, it states that the space around a
bed alcove should not be too tight. Because it should be
comfortable to get in and out and to make the bed. In the
past alcoves (called "bedstee" in Dutch) were used a lot
in farm houses. But I get the idea that the main reason
was for keeping the bed warm during the cold winter nights.
It is also not very pratical if you want to make use of
the bathroom during the night. If you want to save space
there are other good alternatives.
Fire alarm
Around a quarter past eleven this morning, we were informed
that there was a fire alarm, and we were requested to leave
the building. No this was not an exercise they told us. We
left our room and went outside and on our way out we saw many
man with orange shirts and hats, but no single sign of a fire.
We also had not heard any fire alarm. Shortly after we came
outside, a fire truck arrived, but it could not get close to
the building due to some illegally parked cars. We also noticed
that most people were still inside the hall. We decided to go
in again. There we saw how some fireman took the elevator
(yes, not the elevator!) to go to the fourth floor to check
for a fire. Then we were told that coffee was served in the
CC building. (An exercise drill after all?). Only then I realized,
I had kept my bag with everything in
it behind in the building. We, the people of our company, decided
to have an early lunch in the CC building.
Connecting with the past
Yesterday evening, I attended a reunion of K77, a youth club, which I attended for some time at the of the
seventies. At the start it was held in some building belonging to the
Roman Catholic church in Woerden. When I arrived there around eight
o'clock there was but one person I knew, a father that was there at
the start. It was only arround ten that it became a little busier and
just before I wanted to leave at twelve, I met with the last person
I was hoping to see. Among the people I met, was a boy that I knew
from kindergarten and highschool, and a girl I knew from primary school
and highschool. And also some I only knew from highschool. It was
very interesting to hear about their stories, things you could not
have imagined twenty years ago when we were still in highschool. There
was one girl with whom I could associate quite well because she too
married someone from abroad. While with others I felt that there was
not much we had in common anymore. It also surprised me that many who
had lived outside Woerden for some time, had returned.
It was around one o'clock that I finally left for Enschede, and during
the one-and-half hour drive home, I thought about everything that had
happened. I also noticed that for the first time in my life, I was
thinking about the idea of going back to Woerden. I have more ties
there, than I thought. Now it looks like that after highschool I lost
contact with everybody that I knew. But I guess that happens a lot with
people.
Two Towers
I just came home from watching "Lord of the Rings: Two Towers".
A really great movie, I think.
I have to admit that the graphics were astonishing, especially
for the Gollem/Smeagol creature. Another three years, and
animating humans should be no problem.
(Seeing part one and
three)
SAX sucks!
SAX is the
abbreviation stands for Simple API for XML.
(API stands for Application Programming Interface, and
describes a way in which a certain application can be used
from outside.) On the SAX home page
it mentions
that there are two major types of XML APIs, namely
Tree-based APIs and Event-based APIs. SAX is
the defacto standard Event-based API. An event-based API
generates events for each lexical element that is being
encountered in the input file. To use it, you have to
provide it a handler that can process the events. At first
sight, this may seem a simple interface. But, from the
view point of building parsers, it is a rather unusual
approach. The most common used type of API for lexical
processing is a Stream-based API. Such an API consists
of the following methods:
- a method for opening a stream and reading the first
lexical element,
- a method for checking the end of the stream,
- a method for investigating the current lexical element, and
- a method for reading the next lexical element.
Traditional file reading methods work like this. You open
a file, which returns a file handle. You use the End-of-file
method to check if their are more characters in the file,
and you have a method for reading the next character from
the file (a combination of the third and fourth method).
Also scanners used in compilers have a stream-based API.
And in a sense a SAX XML parser is equivalent to such scanners,
because its interface is on the level of lexical elements rather
than syntactical elements. (Although on the inside it also does
syntactical checking when an XML stream is validated against
a DTD.) So, technically speaking, we should conclude that SAX
is an API for a XML scanner.
If you want to implement a XML scanner (with DTD validation) it
is easier to implement it as an event-based API. However, if
you want to write a program (parser) using a XML scanner, a
stream-based API is to be prefered. The Simple in SAX
thus refers to "simple to implement" not "simple to use".
In a sense it is rather shocking that of
all the
people that contributed to SAX there never has been someone
to suggest a stream-based API (or that person was silenced
by the crowd). More shocking, because I have never heard
of a event-based API for reading text files, or being used in
a compiler. That would be very akward.
Only recently, I had to look into a program that was using a
SAX like API for processing a XML document. It was totally
unreadable as it was full of large switch statement and used
a stack of states to keep track of where it was. In a sense it
is worse than the use of goto-statements. That is the reason
why I used SAX sucks! as the title of this story. SAX
is a nice piece of software, except that it choose to implement
the wrong kind of interface. An interface that was easy for the
implements of SAX, but hard for the users of SAX. They should
have chosen an interface that is easy to used, and a little
harder to implement, because a XML scanner only needs to
implemented once, while there are many potential users of a
XML scanners.
I just discovered that the Xerces C++ SAX parser from the
Apache XML project
does support progressive parsing in the SAXParser class with
the methods parseFirst and parseNext. The method parseNext
parses the XML file and stops as soon as it comes across a
XML token (as defined in the XML specification). Relevant callback
handlers are invoked as required by the SAX specification.
This is sufficient to implement a stream-based API which
can be used in a recursive decent parser for processing an
XML document. (BTW, the use of 'XML token' in the above
description again supports the idea that although it is called
a SAXParser, the methods parseFirst and parseNext basically
implements a scanner interface which reads XML tokens one by
one from the XML file.)
Recovering data
Last weekend, I finally managed to recover some data from
an ancient computer tape that I used to store some
Acorn Atom programs. I think it
is more than four months ago, that I made a recording of
the tape using a very cheap cassette player (from
Annabel) using the
Philips webcam.
The easiest step was to find out how to read the WAV files.
I wrote a simple program to convert the stereo 16 bit WAV
file into a mono 8 bit stream. Then I spend many hours
figuring out how to analyse the signal and recover the data.
Over the months, I spend many left-over hours thinking about
the problem. (I my bag there always
sheets with drawings of signals and algorithms with them.)
I think, I made about six or seven false starts. Last week,
I got the idea to look at the maximum of a simple square
deconvolution. Last Friday, I discovered that this was the
right way to go. The rest of the weekend I needed to figure
out how to link the maxima together. The program
waves4.cpp analysis
the waves, and tries to recognize bytes of data. If found,
these are printed as zero's and one's on a single file (including
the start bit), if not I print out the short and long waves
as "_" and "* " strings. With a text editor, the mismatches
can be changed into zero's and one's. Then a third program,
called convert.cpp can process
this file into readable output. Tonight, I edited the
output file into a web page.
(follow-up,
other hacks)
This evening, I received an email from a woman called Melissa from the USA.
She told me the following story.
This morning (Monday morning), I was
closing out my devotional time with prayer. Just as I said "Amen," this
random thought out of nowhere entered my head. It was a small voice that
said "He's on His way to the Netherlands." I thought to myself, "what in the
world? where did that come from?" So, I got online and searched for some
news about Christianity in the Netherlands. That is how I was led to your
site -- through a "google search." I'm looking forward to what God wants to
do through all of this. Maybe He just wants me to pray for the Netherlands,
as I've already begun to do. My prayer is that His Holy Spirit will inhabit
the Netherlands and spread like wild fire as people there come to know Him
through faith in Jesus Christ. My prayer is that hearts there will repentant
and that the people will whole-heartedly embrace the Living God! I would
absolutely love to hear back from you. Please let me know what you think God
might be calling me to pray for about your country.
I was rather surprised by this email, because next Wednesday,
January 22, we have general elections, which are rather exciting,
because there are two parties that could become the largest.
Of course, I replied to her and explained that
our political system is different than in the USA.
We have a many party system, meaning that no party is
ever strong enough to get half of the votes. This means
that always two or three parties will have to form a
coalition. This coalition will then form a government
consisting of a number of ministers and a prime minister.
It is the custom that the prime minister comes from the
largest party (the party that got the largest number of
votes). It is also a custom that the largest party is the
first party that may try to form a coalition.
Whenever a coalition breaks up, new elections will take
place after three months. Last year May we had elections
that were over shadowed by the murder
of Pim Fortuyn, a right-wing politician whoes party
was the LPF. The LPF formed a coalition
with the Christian Democrat Alliance (CDA) and the liberal party (VVD).
Our prime minister was Jan Peter Balkenende. The big losers
during that election was the labour party (PvdA). The
coalition broke apart about
three months ago because of
internal struggles in the LPF (simply because their strong
leader was killed). The popularity of the LPF has dropped
dramatically, so they are not expected to play any role
in this elections. And to everybodies surprise the popularity
of the labour party (PvdA) is on the rise. And the last
days it becomes clear that there will be a close match
between the PvdA and CDA about who will become the biggest.
If the CDA wins, Jan Peter Balkenende will likely become
the new prime minister. He will first try to form a coalition
with the VVD, if they have enough votes. If that does not
work, he probably will have to form a coalition with the PvdA.
Jan Peter Balkenende is a church going Christian.
If the PvdA wins, then Job Cohen will likely become the
new prime minister. At the moment he is the major of
Amsterdam. Before he has been an "under" minister in
a previous coalition. During that time he was responsable
for the Gay Marriage law, which was effectuated on
April 1, 2001. During
the first ten minutes of that day, he married four gay
couples in Amsterdam. He says that he does not have any
religious believes, and thus can be considered as an
atheist. If he would become our new prime minister, he
would be the first Jewish prime minister outside Israel,
according to
an interesting article in the Ha'aretz Daily.
In that case, a coalition between the PvdA and the CDA is
also likely. It is possible that in this case Jan Peter
Balkenende will not be part of the government. If the
largest party loses, it is usually considered as a
defeat of their political leader. And these usually
resign.
Besides the parties I have mentioned so far, there are
another 12 other parties joining in these elections.
(Many are so small that they will not get a single
seat.) Amongh them are some socialist parties and
two small Christian parties. Not everybody in the CDA
is a church going christian. Actually, they even have
some moslims among their members. (There is no separate
moslim party.) These small Christian parties have
about 6 seats.
There is much at stake during this election. Before
the previous elections our country was led for eight
years by a coalition of PvdA, VVD and D66 (now a very
small party). This was called the "purple" coalition,
a mixture of labour (red) and liberals (blue). And
during that time, many Christian values were destroyed
with the introduction of the Gay Marriage law and the
euthanasia law.
Earth as a companion of a gas giant
Some article on Space.com
made me think about the idea of Earth being a "companion" of
a gas giant, not orbiting around it (as I suggested
last month), but in a horseshoe orbit like
asteroid 3753 is around Earth. That would mean Earth
would be alternating in trajectories closer and further from
the sun, which are exchanged during encounters with the gas
giant. Depending on the relative speed of the Earth compared
with the gas giant these periodes could be roughly between two
and ten years. Each encounter with the gas giant would also
cause extremely high tides, possibly inducing variations on
the length of the day as well. It would be very hard to imagine
what would be consequences for the climate on this.
A planet turning around a gas giant would also experience
huge tidal fources, if it would be rotating. Such tidal forces
would reduce the rotation speed over time, as we have seen
with our moon. Again this would produce a climate with very
strong (short term) variations, if it were only for passing
behind the gas giant.
Election day
Li-Xia and I, went to vote
around half past eight. We were number 110 and 111 to
vote in our district.
Of course, we followed the life report of the result
in television in the evening. Enschede was again the
first of the big cities (more than 100000 inhabitans)
to present its results. They did so in less than half
an hour after the voting ended. That is the nice thing
about using voting machines.
The outcome was that the Christian Democrats won
with 44 seats out of 150, closely followed by the
labour party (PvdA) with 42 seats. The liberal
party (VVD) got 28 seats. This means a coalition
between CDA and VVD only gets 72 seats, which is three
too less. It would be very unbelievable if CDA and
VVD would form a coalition with the LPF again, which
lost 18 seats and only has eight seats left. It looks
like the CDA will be forced again (just like last year)
into a coalition that they do not prefer.
(follow-up)
A new bed for Andy
So far, Andy has been sleeping in
a cot (size 70 by 120 cm). Now it is becoming too small
for him. For a child of his age it is not very common to
sleep in a cot, but we have felt that it was the best
option for him so far. Yesterday, we looked at many shops
to see if we could find a bed that he could not easily
get out, but we did not find anything meeting our requirements.
We did consider a Flexa bed.
At home, we looked at the old bed of Annabel.
It has a border
around it but it is quite high. Looking at it, I noticed that
I could easily make it lower. The rest of the day, I spend
making it lower. Which involved some sawing by hand.
Annabel enjoyed helping me the
reconstruction work. I was quite satisfied with the result.
Although Andy had become a little ill this morning, we
decided to change his bedroom. His bedroom is not very
big, about two by three meters. We had to move some things
out, and it took me some hours to put the bed together. And
because I made a little mistake, I had to do some part over.
When we showed it to Andy, he was not very happy (as expected).
And although we put all his cuddles and books in the bed
(it is 200 by 90 cm), he was not very happy, and only slept
around ten o'clock in the evening.
Coalitions
Last Friday, Mr. Donner was assigned the task of
consulting the parties about a possible coalition.
He is a member of the Christian Democrats, but
takes an independent possition for this task.
(He did so also during the last coalition forming.)
Today, he announced the following coalitions to
be examined:
- Christian democrats, liberal party and the LPF (the
party of Pim Fortuyn) with an 80 seat majority.
This is the coalition of the previous government,
which broke apart because of internal struggles
in the LPF. (Not a very believable choice, if you
realize that LPF lost so many seats.)
- Christian democrats and the labour party with
an 86 seat majority. This is the coalition that
most people feel should be prefered, but the
Christian democrats during the campain expressed
their explicit desire to continue with a coalition
including the liberal party.
- A "purple" coalition, consisting of the liberal
party, the labour party and a party called D66.
This was the coalition that formed the government
for eight years before May 15, 2002. This coalition
would only have a slim majority of 76 seats.
Strangely enough, Mr. Donner did not consider some
other likely alternatives, namely coalitions of
the Christian democrats and the liberal party with
either D66 or the small conservative Christian
parties. D66 already expressed that they did not
wanted to be part of such a coalition. (They lost
again some seats compared to the last elections.)
I do not know the response of the small conservative
Christian parties. Maybe they are not considered
as realistic partners in any coalition, just like
the small left-wing parties.
(follow-up)
Looking for Leo Dekker
Yesterday evening, I received again
an email from Deia Cavalcanti telling me to look for
this Leo Dekker. I received an email before, but
regarded it as spam. I checked
telephone book
and discovered that there is a person with that name living
at the given address, but that it only has a mobile phone
number. Maybe I should try to phone some of the others with
the same surname and see if any of them is a relative that
knows more. The email was send to some others as well. I
wonder how many people have taken action. (My greatest fear
is that Leo did fly to Brasil but got into some trouble
after arriving there. His mobile phone probably is worthless
in Brazil.)
(follow-up)
There was some wet snow falling down,
almost like rain, this morning. The weather report says that
we should get some real snow later this week. We will see.
Snow
This morning there were patches of snow
on the ground. By noon most of the snow was gone because of the
sun. Then later in the afternoon it started to snow very
strong. It completly disrupted traffic in the whole
country, and the rest of Europe, as I heard later.
Today, I came along game called Collapse, which seems to be a combination
of Clickomania and Tetris.
Where Clickomania is a type of logical puzzle to solve,
Collapse is a reaction game like Tetris.
(follow-up)
This months interesting links
Home |
December 2002 |
February 2003 |
Random memories