I write, therefore I am
With this variation on a famous statement by the philosopher Descartes,
I would like to express that the act of writing about what happens in my life
is important to me.
I have been keeping a diary sinds I was 15 years old. In 1995, I also started
to write on my own website. Below you
find some of my most recent writings.
Saturday, November 1, 2026
65 years
I was born on Wednesday, November 1, 1961 at 9:45 in the morning (CET). That
means that today, I will be 65 years according to the calendar and 23376 days
old. But how old am I really? The tropical year, the time that it takes for the seasons to return, is said
to be 365 days, 5 hours, 48 minutes, and 45.19 seconds. Today, around
3:33:57 in the night, it was 65 tropical years since I was born. But the
tropical year is shorter than the sidereal year, the time taken by the Earth to orbit the Sun once with
respect to the fixed stars, namely 365 days, 6 hours, 9 minutes, and 9.76
seconds. That means that, tomorrow nigth around 1:40:34 it will be 65 sidereal
years after I was born. The average anomalistic year, the time taken for the
Earth to complete one revolution with respect to its apsides, is 365 days, 6 hours, 13 minutes, and 52.6 seconds. That means
that, tomorrow around 6:46:59 it will be 65 average anomalistic years since I
was born.
I have reached the age at which people used to retire in the Netherlands, till
almost fourteen years ago, when the age was increased. Now I will official
retire on February 1, 2029.
Saturday, October 31, 2026
Curly kale hotchpotch
We got a little over one kilo of curly kale in the harvest from the Herenboeren Usseler Es cooperative. We used about half of it to have curly kale hotchpotch for dinner. This is the first time this winter and
definitely not the last, because we have to finish the other half also.
Link
- Exolune: Real-scale planets. Seamless from orbit to the ground.
Thursday, October 29, 2026
Link
Wednesday, October 28, 2026
Link: The Classification of Finite Simple Groups
Through Hacker News, I found a link to The Classification of Finite Simple Groups, formalized in Lean which is
about Classification of finite simple groups. I have been fascinated by group
theory from when I first encountered it in high school. I remember seeing an
article in the Scientific American about the Monster Group. On my birthday eleven years
ago, I got a printed (and outdated) copy of the Atlas of Finite Groups:
Maximal Subgroups and Ordinary Characters for Simple Groups. I read the
blog about the achievement. They used AI for the formalization. Maybe the
people working on Second-generation classification will now also resort to AI and/or
formalize their proofs in Lean.
Tuesday, October 25, 2026
The quality of code
Five days ago, I made the bold statement that the Tiny C Compiler is not an examply of quality code. That got some
critical replies. The Tiny C Compiler is written by Fabrice Bellard who wrote some great programs that are widely used. First
of all it is important to note that quality is subjective to some degree.
In the book Zen and the Art of Motorcycle Maintenance it is argued that 'Quality' is
neither subjective nor objective. The Reddit user LordRybec in one of his comments said: 'If the code looks horrible but works
extremely well, odds are it's just higher quality than you understand how to
understand'. I had said that more people had complained about the quality of
the code. In another reply, he said: 'It may be bad (I haven't looked it at it
personally), but it may be so ingenious that you just think it is bad when it
is actually totally awesome'. A bit further in the discussion, I pointed at
the function tal_realloc_impl, which is in the file tcc.c. I
had some problem understanding this function when I encountered it during some
debug session. If I remember correctly, it was because it seems to be
harded-coded for 32-bits architectures with the expression
(size + 3) & -4, which rounds the value of
size up to the nearest value that is a multiple of four. (The use of
-4 presumes two's complement representation of integers, which is the most common used
method. To remove that dependency, one could use ~3, but their might
be C compilers that are not good at constant folding and would use an additional machine instruction instead.)
There is a goto-statement in the body of the function
tal_realloc_impl that implements a loop that could have been
implemented with a for-statement or while-statement and some restructuring of
the code. The code of the Tiny C Compiler contains many goto-statements and I
must agree that it often makes faster code. But in some places, such as the
function preprocess_skip, I really wonder what is the speed
improvement of having a goto-statement to the label _default. Yes, it
probably reduces the number of machine instructions in the function, makes the
code length a bit shorter, but it probably introduces and additional jump
instruction. I too uses goto-statement when implementing iterators as a
co-routine. I have noticed that in the code when a comparison is made with a
constant, the constant is often placed first, which is not how people usually
write code, but it does defend against the common mistake of accidently
changing the comparision into an assignment when one types = instead
of ==. Most compilers now give a warning when one makes such a
mistake. The user LordRybec made some two more additional comments
(this and this) about different views of quality. I agree with him that one could
also view quality as an external property of the software, how well it works,
and not consider the quality of the code itself, especially if it is going to
be a finished project. Although I do agree that you should not write code with
the view that it will be modified in the future, knowing that one of the most
counter product things it to take future features in mind, but there is always
a possibility that your project will need modification or extension in the
future or will be used for something that you had not participated, especially
if you do publish the code. Of course, there could have been a good reason to
use a goto in a certain function, but if there is no documentation of the why,
it is likely that it is not possible to figure out what the reasoning was
behind the choice. This can lead to confusion or result in adapting bad
practices by less experienced software developers. I think as an engineer you
have some responsibility to encourage good engineering practices among less
experieced engineers and that responsibility increased by the number of people
who may exposed to the code.
Link: The Exponential Time Hypothesis Is False
OpenAI announced three new
results with the blog Working with academic communities to build scientific understanding. One
of them is in the field of theoretical computer science and is about the The Exponential Time Hypothesis being false as shown in the pre-print:
The Exponential Time Hypothesis Is False and a Lean proof given in A 2o(n) Time Algorithm for 3-SAT. See discussions on
Hacker News and
Reddit (one of several). The exponential time hypothesis implies
P ≠ NP, which means that is now one less route to settle the
P versus NP problem one of the greatest
unsolved problems in theoretical computer science.
Saturday, October 24, 2026
Harvest
Even though it is already the end of October, we are still receiving a generous
harvest every Saturday from the Herenboeren Usseler
Es cooperative. Today, we were could pick out one pumpkin per 'mouth' from
the selection laid out in the polytunnel. took two, because we have a
subscription for two mouths.. I also collected two kilo of potatoes, some
carrots (at least a kilo), two bunch of green beans (you have to cut of the
beans yourself), and two heads of lettuce or endive. I was a bit late and got
one of the last heads of head of romaine (if I'm not mistaken) and a large head
of endive, of which there were still plenty of left. (Last week I also brought
two large heads of endive home of which we gave away the largest.) We ended up
having an endive salad tonight using part of one head, simply because it
wouldnot fit properly in the fridge otherwise. At the "giveaway table," I also
picked up four of the very last tomatoes, three of which are still completely
green. We will see if they ripen. If not, we will have to come up with
something else to do with them. We also still have a white cabbage and a red
cabbage from last weeks harvest. We probably will made sauerkraut from one
of them. We already did that this year with four other cabbages.
Going into the city
I went into the city this afternoon. I first visited the exhibition Ontmoetingen en Observaties (which could be transalted
to Encounters and Observation) with photographs by Rob ten Tusscher at photo gallery Objektief. Next, I went to Concordia,
where I had a second look at the exhibition Paviljoen: Cross Media Design. (There is still no information about
who made what.) I did notice some things, I had not seen before.
Wednesday, October 21, 2026
Link: Spare room by Denis Iaquinta
Denis Iaquinta posted a link to the Guassian splat Spare room on
Reddit to demonstrate his pipe line he has developerd. My first impression was
that of a squatted home with aspecially due to the matras laying in the middle
of the room. There are a number of interesting object in the room. A painting
on the wall, a half finished puzzle on a table, four chair against the wall, a
spiral object, a cloth on the wall, a foosball table, eight chairs placed in
a cicle (are we going to have session), a cupboard with books inside, just to
mention a few. You can look out of the windows on one side of the room, but
not on the other side.
Tuesday, October 20, 2026
Neocities: Coding Night
I went to the Neocities: Coding Night - Build your own digital garden event at
Sickhouse. A presentation was given by the
owner of the Alien Head Shit
Kid site on neocities.org. I found
a tutorial
explaining how to deploy to neocities throught github workflow.
Link: The Annotated VT100 Firmware
I found the link to The Annotated
VT100 Firmware interesting because one of the first terminals I worked on
was a VT100 compatible terminal. I owned a Teco VA120 terminal, which is now stil at TkkrLab. I also wrote some PASCAL modules for visualizing parsing on a
VT100 compatible terminal: The screen management
module and the Primitive terminal interface
module.
Sunday, October 18, 2026
Free form solution for The China Labyrinth
It turns out it is not so hard to find a solution for The China Labyrithn puzzle if you do not put restrictions on the border.
The solution below was found by two people in about half an hour. The puzzle is made from pieces that I made with a laser cutter on September 22.
Saturday, October 17, 2026
Link
Carte Blanche
I went to see the exhibition
Carte
Blanche at B93. It was a double exhibition. Upstairs, was the work
Fragments Unknown by Désiré De Lacy with photographs, projections on sheer
curtains she had found on the street, and some audio playback. Quite
interesting how she blends images in such a way that you at first do not
notice it that they are blended. Downstairs was the exhibition of
Guusje Slagter (Instagram). I took one of the cards that were offered with a still from
the short film Het menselijk apparaat (The human apparatus).
Tuesday, October 13, 2026
Bring Your Own Beamer
From 19:00 till 23:00, I showed my animation at
the Bring Your Own Beamer event at
TETEM art space. This is the fourth time I
joined this type of event. The previous time was in March 10 earlier this year. This time, I decided The China Labyrinth as a homage to Christian Freeling. I did bring two physical copies of the puzzle with me.
One made from wood and one made from perspex. The other artist and/or instalations at this event
(if I did not miss one) were
Sunday, October 10, 2026
Hackfest 2026
I went to Hackfest 2026 in
Enschede. It was held at a different location then last year. It was at Sickhouse. I attended
all the talks and in the breaks I looked around the various stands.
At 12:15, I listened to the talk Introduction MsshCore by FrankkieNL.
He showed how he uses a WisMesh Tag to connecto to the MeshCore through an
app on his smart phone using Bluetooth. At 13:15, I listened to the talk
BadgeTalk by Anne Jan Brouwer about
all the badges that he was involved with in and about Badge.Team. At 14:15, I gave the talk Fast
Linux bootstrapping. Afterwards, some people remarked that I maybe
should have explained bootstrapping a bit earlier in the talk. At 15:15, I listened to the talk
Printing in Seconds: Volumetric 3D Printing by Annalise Anspach. Quite interesting and many questions ans suggestions
were made. At 16:15, I listened to the talks Parametric antenna design and Building with OpenSCAD by
Andries Lohmeijer.
In between the talks and afterwards, I looked around the stands. Some of these
were:
- PILED from England.
- Everyone can learn to solder like a pro! by
Mitch Altman
from Berlin.
- I played a bit with a MIDI controller and a modular synth by
SoundForce
- Relions3D with 3D printed marble runner and B-lamp.
- Isetta Computer
- KITT Engineering with
The Smart Pavement Tile.
- Space Clock
- Is a 1973 Pinball Machine a Computer? showing a Bally 'Monte Carlo' pinball machine. The owner showed the inside and the
workings of machine. He was also in possession of the original schematics.
It reminded me at the pinball machine we had in our dorm when I studied
computer science.
- Nerds With Acid showing a modified drum machine besides some other things.
I also talked with various people and some old colleagues.
Photographs
I walked to Creative Broedplaats
Enschede, who recently moved into a new building, to see the two
exhibitions with photographs: A Ballroom of
Eros by Anca Axinte and
Image of Imagination by Boel Nordenstam.
Thursday, October 8, 2026
Link