Dutch / Nederlands
Site map

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.

Sunday, December 5, 2021


Saturday, December 4, 2021

Advent of Code

This morning, I got up early to solve todays puzzles of Advent of Code. I found these easier than yesterday. Some of my colleagues have been using Excel for solving the puzzles of the past days. Last night, I wrote an additional solution to yesterdays second puzzle. Then I also realized that it would be rather easy to solve it, if you would sort the input data first. You can do this with an external utility or even in Excel, if I am not misstaken. Todays, puzzle is about playing bingo, where you win when you have filled one row of column. Is it possible to create a set of bingo cards, such that no matter in which order you draw the numbers, there is always but one card that wins at when the next number is drawn? It would require that no two cards have a row or a column with exactly the same numbers in it. For each card there are 2.5!.5! ways to arrange the rows and the columns, such that the card will always win at the same moment. What is the largest set of such a set of cards if numbers are taken from a certain range? Of course, this depends on the number of balls you have available.

With respect to Advent of Code, I found the following links:

Thursday, December 2, 2021

Palindrome date

Today is a palindrome date when written like 12/02/2021 (MM/DD/YYYY) or 2021.12.02 (YYYY.MM.DD). The previous such date was February 2, 2020.

Extra puzzle of the first day

I solved the extra puzzle of the first day of Advent of Code with a program that calculates a running sum, but after I had formalized it like the first puzzle, into:
f(A : List of Integer) = count { i | A[i] + A[i+1] + A[i+2]
                                          < A[i+1] + A[i+2] + A[i+3] }
I realized, it could be simplified into:
f(A : List of Integer) = count { i | A[i] < A[i+3] }
Which eleminates the need to calculate any sum at all, let alone perform some addition and/or substraction.

Rijksmuseum Twenthe

In the afternoon, Conny and I visited Rijksmuseum Twenthe. There we saw a number of exhibitions. First of all the exhibition Artemisia: Vrouw & Macht, which is about Artemisia Gentileschi. ("Vrouw & Macht" is Dutch for "Women & Power".) We saw the following paitings:

Next we saw the exhibition Deep Truth, which I already visited on Sunday, September 12. We looked at the following works:

During this, we also walked through the normal collection and saw Falaises près de Pourville by Claude Monet. Finally, we saw the two exhibitions part of Fotomanifestatie Enschede:

At 15:47, I bought the following three books in the museum shop:

Back at the car we noticed condensation on the inside of the car windows and some snow on the car. We concluded that the snow fell during our stay in the musuem. We saw a row of dark clouds on the horizon while driving home.

Wednesday, December 1, 2021

Advent of Code

With 18 of my colleagues, I joined this years Advent of Code. My programs will be committed to my AdventOfCode2021 repository on GitHub. It took me about an hour to finish todays puzzles.

I have been thinking about how to formulate the puzzle in a manner that does not state anything about how to execute it. On reddit a solution has been published in the programming APL that is probably the shortest possible in any programming language, and which reads: +/¯1↓x<1⊖x (ten Unicode characters requiring fifteen bytes in UTF-8). Although it is very short, it is an executable algorithm. One way to represent the puzzle is with this expression:

f(A : List of Integer) = count { i | A[i] < A[i+1] }
This is a definition of a function, which takes a list of integers and counts the number of succesive pairs where the latter element is larger. The first question is whether it is possible to define semantics such that this can be interpretted in only one way. One possible problem could be how the variable i is dealt with. Maybe in this function it is not a problem, but if it is part of a more complex expression, it could ambigious. This also assumes that we already have read the list of integers from some input. The input for the puzzle is given as a file and it is assumed that the integers are represented as decimal numbers using Arabic numerals in the ASCII encoding. From the input we may also conclude that the integers are small and can be represented as 32-bit integers. Functions or methods to parse numbers in this type of representation are present in most programming languages. Although the expression suggest that the list of integers is passed as a whole to the function, an actual executable implementation does not need to do this, because it could also be implemented using an iterator that reads the input number by number and an implementation of the function that processes the numbers on by one. That is actually how I solved this in my C++ program.


Tuesday, November 30, 2021

Omicron variant spreading

Today, it was reported that the Omicron variant of COVID-19 was detected in test samples taken on November 19 and 23. The cases are not related. One of the two persons has been in one of the countries in the south of Africa. The other has not and a connection with someone coming from there has not been established yet. This suggest that the variant has already been spreading over the world undetected and probably cannot be confined anymore.

Monday, November 29, 2021

A little bit of snow

This morning, when I went outside, I noticed a little snow on some parts of the grass in the garden.

13 cases of Omicron variant

It was reported that the Omicron variant was found in 13 positive tests so far. These are of the 61 that tested positive last Friday from the 624 passengers that arrived in two planes from the Netherlands. A similar amount of passangers arrived in the past days, but they were not tested like those on the Friday, maybe because the way that was done was critized. In the past days those who continued elsewhere were not tested and those who left the airport were offered a free test. About half of the people did not take the test. There is currently no law that allows the government to force people to take a test. So, the operation of last Friday, which drew some critizism with respect how it was executed, seems to have been an exceptional event. But it does give some interesting information. From this one could make some estimates how many people could already have been infected with the Omicron variant in the Netherlands.


Saturday, November 27, 2021


At 10:01, I bought the book Het gezicht van de AKI edited by Maarten Binnendijk, Saskia Huisman, and Regina Kroeders, written in Dutch and published by Hardyuitgeverij in 1997, ISBN:9789075522075, from charity shop Het Goed for € 1.60. Yesterday, I already saw this book, but did not buy it because I was afraid that I already had a copy of it. I went back this morning, after I concluded that I did not have it yet.

61 of 624

Yesterday, two planes from South-Africa arrived in the Netherlands with 600 passangers in total. Before they boarded the plane all of them had to show a negative test result (with a rapid nasal test, for example) not older than 24 hours. On arrival, 61 of them tested positive with COVID-19. Those who tested negative were free to leave but where requested to stay in isolation for five days. Those who tested positive and had a place where they could stay isolated either by themselves or with the group they traveled with, where also allowed to leave. They were requested to stay in isolation for five days if they showed no symptoms and for seven days if they did show symptoms. People who arrived from South-Africa in the past days are urged to have themselves tested. Today, the samples from those who tested positive will be checked for the Omicron variant. There is a big chance that someone in the Omicron variant is already spreading in the Netherlands and I suspect that it will not take long before it is spreading uncontolled as well.

Overkill Festival

I went to the Overkill Festival. I wore the necklace Conny made from the contents of the .Festival Box we got Last year. I looked around. I liked the following art works: The theme of this tenth Overkill Festival is Collective Masquerade. Because of this there were several 'makeup' stations around the venue. At one of them, I put a dot of nail polish on the nail of my left thumb and than pushed the nails of my thumbs together, which transfered part of the nail polish to the nail of my right thumb. (Before I left the venue, I removed most of the polish as not to scare other people.) I sat around and talked with some of the people of the modular meet-up. I left before the modular synthersizer music event started in the evening.

Walking around the city

After having visited the festival, I walked through the city. At Fotogalerie Objektief, I watched the exhibition Klei with pictures by Ben Vulkers. I walked into the Beeld & Aambeeld gallery, where there were two works by Billy Foley on display. At the coffee and thea shop Simon Lévelt, I bought a tea water thermometer. Finally, I visited bookshop Broekhuis, where at 16:49:16, I bought the book Nietzsche written by Paul van Tongeren in Dutch and published by Amsterdam University Press in 2016, ISBN:9789048529414, for € 5.95.

Friday, November 26, 2021


The new B.1.1.529 variant is going to be the test if we learned anything about dealing with COVID-19. Besides Botswana and South Africa, it already has been detected in Hong Kong and Israel. Some countries are closing their borders, but I wonder whether we will be able to confine it. There are indications that it more infectious than the now dominant Delta variant and due to the high number of mutations in the spike protein, there is a reasonable chance that current vaccins will be less effective against this variant. Actually, it shows that we have failed to deal with COVID-19, because scientists have warned for the chance of variants that evade current vaccins and that it was just a matter of waiting before it would appear.


Wednesday, November 24, 2021


Tuesday, November 23, 2021


Monday, November 22, 2021

struct or class

I have been using the programming language C# for two years, after having worked with C++ for many more years. Recently, I was tricked again with some quirck of C#, which is related to a fundamental difference between struct and class. In C++, struct and class are semantically equivalent in their behaviour, except with respect to a small detail, which partly might explain why I was being tricked again. Take for example, we want to sum value based on some key and also count the number of values, which for example could be used to calculate the average afterwards. (I am aware that this probably could also be done with some clever LINQ expression.) For this we define a type Values with a Sum and Nr member and implement the following method:
  public void AddValue(Dictionary<int, Values> dict, int key, int value)
    if (dict.TryGet(key, out Values values))
      values.Sum += value;
      dict.Add(key, new Values() { Sum = value, Nr = 1 };
The idea of this method is to check if the key is present with the TryGet method and then either modify the value or add a new entry in the dictionary. However, this code does not work when Values is defined as a struct instead of a value, because when it is defined as a struct the method TryGet returns a copy of the value in the dictionary and modifying that value does not change the value in the dictionary, where as when Values is defined as a class it returns a reference to the value in the dictionary. C# is one of the programming languages that have decided to hide the difference between a value and a reference to a value. In languages, like C this difference is made more explicit, which requires more syntatical sugar. This a common problem when deciding to make things explicit or implicit.

Friday, November 19, 2021

Formnext 2021

Yesterday afternoon and today, I visited the Formnext, the leading trade fair for additive manufacturing and the next generation of intelligent manufacturing solutions, which is held on the Messe Frankfurt. I looked around halls 12.1 and 11.

Sunday, November 14, 2021


In October 2012, I bought a FAKTUM kitchen from IKEA, which was installed by my brother and one of my sisters. It came with a 25 year warranty. However, in 2014, IKEA introduced the METOD kitchen system, which is incompatible with FAKTUM. In the first years after the introduction of METOD, FAKTUM reserve part remained available. But that is no longer the case. There are some companies that have started producing spare parts however. Because the fridge of Conny was a bit larger and a lot newer, we decided to remove the build-in fridge from the FAKTUM kitchen and use the space for storage. This required to install some new shelves and fix the hinges. I tried to order the right type of shelves from one of these spare parts websites. It was kind of hard to find the right type of shelves due to the broken interface of the website. They offered a set of two shelves for 45 €. I wanted to order two of these sets only to discover that the transportation costs where another 125 €. I decided to have a look hardware store and for about 30 € we got all the materials to create four shelves and fix the back of the cupboard. The doors of the cupboard used to be attached to the door of the fridge, but now that the fridge was gone, the doors would no longer close. To fix this the hinges needed to be replace by soft closing hinges. I tried searching the internet for the original soft closing hinges for the FAKTUM kitchen, but failed to find any. Instead we bought two sets of two KOMPLEMENT soft closing hinges (intended for the METOD kitchen system) and I spend some hours trying to fix them by drilling some new holes in the sides of the cupboard and makes some holes in the doors a little larger. Today, I succeeded in fixing the doors and get everything to work as we wanted. If I ever will get a new kitchen, I wonder whether it will be an IKEA kitchen again, as it seems that the 25 year warranty has little meaning if something breaks down or if you want to modify your kitchen.

Saturday, November 13, 2021

Wasserprobe | Waterproef

I biked to Tetem, where I saw the exhibition SprintExpo 'If it fools you, it is not fake' with works by Valentina Gal, Diana Gheorghiu, and Sonia Mangiapane. This is part of the Fotomanifestatie Enschede '21 for which I already visited the other locations two weeks ago on October 30. Next, I went to XPO to see the exhibition Wasserprobe | Waterproef with works by Judith Schepers and Regine Wolff. The floor of the exhibition was filled a layer of water. There were some rubber boots available, but I decided to take of my socks and shoes to wade through the water. I talked a little with Judith Schepers and at 15:40, I bought the catalogue of the exhibition for € 24.00.

Friday, November 12, 2021

Palindrome date (DD-MM-YY and YY.MM.DD)

Today is a palindrome date when written according to the DD-MM-YY format: 12-11-21 and the YY.MM.DD formats: 21.11.12. The previous such date was November 2, 2020 and the next will be November 22, 2022. It is also a double date when written according the DD-MM-YY format.


At 10:05, I bought the book Ulysses written by James Joyce in English and published by Wordsworth Classics in 2010, ISBN:9781840226355, from charity shop Het Goed for € 2.15.

Tuesday, November 9, 2021


Wednesday, November 3, 2021


Monday, November 1, 2021

60 years

I was born on Wednesday, November 1, 1961 at 9:45 in the morning. That means that today, I will be 60 years according to the calendar and 21915 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. Yesterday, around 22:30 in the evening, it was 60 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, today at 18:54 it will be 60 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, today around 23:37 it will be 60 average anomalistic years since I was born.

My colleagues gave me some presents. I got the book Journal 29 Revelation: Interactive Book Game written by Dimitris Chassapakis in English and published by Rain Projects Software Developers Limited in 2018, ISBN:9780692183052 and a bag of Gyokuro tea.

At 17:50, I bought the book Kröller-Müller: honderd jaar bouwen en verzamelen written by Rudolf Willem Daan Oxenaar in Dutch and published by Joh. Enschedé in 1988, ISBN:9789070024543, from charity shop Het Goed for € 2.25.

In the evening, Conny and I went to see and experience Foundscape Orchestra by Daniel Maalman at the former printing press hall of De Twentsche Courant Tubantia newspaper in Enschede. The two fuzzy silhouettes seen in this video are the two of us.

Sunday, October 31, 2021

Dune: Part One

This afternoon, Conny and I went to see the movie Dune: Part One for a second time. We both enjoyed it, even a little more than the first time. The first time I felt a bit empty after the movie, but this time I didn't. I think I now had more time to take it all in and perhaps less looking forward to the 'high points' from the book.

Saturday, October 30, 2021

Fotomanifestatie Enschede

This afternoon, I visited all locations of the Fotomanifestation Enschede, but at one location there will only be an exhibition from November 11. I saw the following exhibitions:


Wednesday, October 27, 2021


Today, was the funeral of my mother. The chuch services was at 11 o'clock. The church was almost full, not only with family members, but also many from the town of Woudenberg. I spoke an in memoriam during the service. A neighbour shared also shared some memories. The woman leading the service also knew my mother, because she was quite active in the church, and also shared some memories. It made me realize that my mother was a well known person. After the service we went to restaurant Schimmel 1885, where we had a lunch with soup and sandwiches. There was not a formal opportunity for condolences, but people just walked around. I met with some of my cousins, most of which I had not seen for years. With some, I talked a little longer, with others only briefly. At the end of the afternoon, we had a private cremation with only the immediate family. This according to her wishes.

Tuesday, October 26, 2021


Monday, October 25, 2021

Senior software engineer

Now that I am approaching the age of sixty and having sufficient financial means to retire early, I notice that I have different requirements with respect to working conditions than my less senior (as in age) fellow software engineers. I also noticed that the standard job qualifications no longer apply to me. I am less interested in the language and tools that are being used or the application area. I no longer have the desire to 'develop' myself or being 'challenged' all the time. My requirements are primarily with respect to the working environment.
   One of the things that motivates me is if I can solve some problem for others or help them in some way. So, having short communication lines with the users of the software that I develop, is something I like.
   I like working in a team, but I also like autonomy with respect to what I work on. I do not want a 'boss' to tell me what to work on, but rather a 'product owner' that tells me which issues have the greatest priority such that I can make my own evaluation about what is the best thing to work on for me. (I tend to feel quite responsible and I have the tendency to jump onto too many things at the same time.) I also discovered it is nice to have someone to reflect on my work who is not directly involved with my work. I have had some bad experiences with Scrum and daily stand-up meetings. Although code reviews are a good method for finding bugs, the efforts of a thorough code review does not always weigh up to the results and if changes may only be applied to the main branch after a review, this might delay the development speed and require additional rework during merging. I prefer a more chaotic development method above a very structured one where there are a lot of administrative steps.
   I also like my current working rhythm, which consist of going to the office on Monday, Wednesday, and Fridays to work six hours and working another six hours at home, usually three hours on both the Tuesdays and the Thursdays. I often spend these hours on one of the evenings or in the weekends if there is an issue that I would like to finish for one of my colleagues to use the next day.
   I find biking to my office for at most 25 minutes one-way a good distance. Some years ago, I commuted for about 40 minutes and although I have no problems with biking that distance, I find it just a little too far under bad weather conditions.

Sunday, October 24, 2021


Conny captioned this photo: "The Bodhisattva of the Echinacea purpurea at Usselo." When we walk through the grounds of the crematorium of Usselo, I always sit here with my eyes closed and for some reason I often quickly get into a meditative state and experience a deep peace. Likewise today.


Thursday, October 21, 2021

Strange day

This morning, my mother passed away at the age of 91. She already received end-of-life care for some days and at her age and condition it was not very likely that she would recover from her illness. My oldest sister stayed with her during the night taking care that she was comfortable. I am happy that Annabel and I visited her last Tuesday for about half an hour. She was only briefly awake and excused herself before falling asleep again. I visited her on October 2 and had a nice talk with her.

This morning, Conny handed in the keys of her former home, where she lived for fourteen years. In the past months we spend a lot of time moving things to our come and cleaning her home. Hopefully, we will have some time for other activities, such as searching for border poles and visiting exhibitions.

Going into the city

I went to the city to get some recent passport photo for the renewal of my driver's license. At the shop I got another set of four of them and a medium sized portrait photo with me smiling for free. After this, I went to bookshop Broekhuis. There I saw the exhibition of Balance in Life with photographs by Jelle Rietveld as part of the Fotomanifestatie Enschede '21, which has the theme: Colors of Life.

At 11:35:56, I bought Moleskin daily planner for 2022 and the book Room to Dream: A Life written by David Lynch and Kristine McKenna in English and published by Canongate Books in 2018, ISBN:9781782118404, for € 17.95.

Sunday, October 17, 2021


Saturday, October 16, 2021

Rinus Roelofs: Mathematical art

I went to TkkrLab for the Cyber Saturday presentation by Rinus Roelofs about mathematical art. (It is about half a year ago that ago that I visited a space.) His presentation is about folding flat shapes into 3D objects. The oldest description is by Albrecht Dürer. Roelofs showed a number of animations based on these descriptions. He also talked about Infinite Regular Polyhedra. He experimented with all kind of constructions of basic shapes where all the shapes are connected with straight angles, which if made from wood with a laser cutter can be put nicely together.

The presentation, in Dutch, but with a lot of interesting animations, was recorded and can be found on YouTube: CyberSaturday: Mathematische kunst door Rinus Roelofs.

Friday, October 15, 2021


December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
-- contact --




Art works
Useless lists


My life as a hacker
Signature programs
Software enginering
The Art of Programming
eXtreme Programming Programs


Hamilton cycles
cutting sticks
Califlower fractal




The email address below, may only be used for private communications. This email address may not be put on any mailing list. I do not want to receive emails with advertisements of any kind. My email address is:

Privacy statement

This is a static website with no contact form and no way to add comments. It has no advertisements and no trackers. It does not use cookies. I am not using any method to analyse traffic to this website nor keeping any logs. I am not collecting personal data besides what is published on this website. If you want me to remove any personal data (including your name or link to your website), please contact me by above email address and I will make all effort to remove the data as soon as possible. I am private person and this website does not serve any economic purpose. All cost for maintenance are paid by myself. I do not receive any payments. The website is ad-free and does not have sponsored links.

Site statistics

If I did not count wrong, this site consists of 1012 HTML-files with a total size of 23,409,442 characters, having 50,320 internal links and 12,683 external links to (more than) 4,160 websites. (At least 747 of the external links are broken.) Furthermore, it contains 221 C/C++ program files with a total size of 4,867,103 characters, 10 MySample scripts with a total size of 77,438 characters, 3 PASCAL program files with a total size of 35,259 characters. and 2 Python program files with a total size of 3,764 characters. There are 67 text files with a total size of 739,138 characters. With respect to images, this site containts 1298 JPEG images (total size 57,515,110 bytes), 146 GIF images (total size 3,765,046 bytes), 94 PNG images (total size 2,280,364 bytes), and 2 BMP images (total size 3,727 bytes). With respect to sounds, it contains 14 WAV files with a total size of 389,002 bytes and 1 MP3 files with a total size of 70,182 bytes. It also contains 43 PostScript files (total size 308,387 bytes), 2 LaTeX files (total size 132,020 characters), 11 PDF files (total size 12,472,212 characters), 22 zip files (total size 2,487,335 bytes), 3 gzipped tar files (total size 52,345 bytes), 45 SGF files with a total size of 85,019 bytes, 132 KML files with a total size of 5,155,188 bytes, and 2 EXE files with a total size of 38,340 bytes. It also uses 18 JavaScript files with a total size of 906,193 bytes, This leads to a total size of 115,372,957 bytes.


Creative Commons License

I, Frans hold the copyrights of this and all other pages on this website. For this website a Creative Commons License is applicable. You may not use this work for commercial purposes. I consider all computer programs to be copyrighted by me under the GNU General Public License, unless stated explicitly otherwise. All quotes (text and program fragments) from other sources are excluded from this, and should be considered as copyrighted by their authors.