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.
18.5° CelsiusThe temperature at Twenthe Airport went up to 18.5° Celsius, which breaks the previous record of 16.8° for the temperature on this date in 1990. This is the fourth day in a row, and probably the last, with a new record high temperature. The highest temperature for tomorrow is 17.9° Celsius which was measured in 2019. With a predicted highest temperature of 15.4° Celsius it is not likely that it will be broken.
18.3° CelsiusThe temperature at Twenthe Airport went up to 18.3° Celsius, which breaks the previous record of 14.4° for the temperature on this date in 1990. When walking, we still found some snow in a ditch along the road, which is a strange experience with the extreme high temperatures of these days.
16.7° CelsiusThe temperature at Twenthe Airport went up to 16.7° Celsius, which breaks the previous record of 14.4° for the temperature on this date in 1966.
18° CelsiusThe temperature at Twenthe Airport went up to 18.0° Celsius, which breaks the previous record of 15.1° for the temperature on this date in 1990. Quite surprising swing of weather, because two weeks ago was the start of a cold period where the temperature remained below zero Celsius for almost a week. Conny and I continued our search for border poles in Drenthe. The poles we encountered are:
Walking along the borderConny and I decided to walk along the border near the city of Overdinkel. We first made a stop at the border between the village Glane and Gronau to find a border pole we missed last year May 31. When we parked our car, Conny noted stone that looked like a border pole and when walked over, was indeed the border pole 856-E. After we found the border pole we came for, we walked in the other direction and found one more pole. From there we drove to another location and walked a long distance along the border. At a tree, just after border pole 3-I, that had recently fell down, we had some lunch. The poles we encountered are:
COVID-19It seems that the battle against COVID-19 is a lost battle. Take for example, the scientific publication Mechanistic transmission modeling of COVID-19 on the Diamond Princess cruise ship demonstrates the importance of aerosol transmission, which suggest that it is very difficult to stop the spread of the virus. As expected, the virus is mutating and possible avoiding antibodies against earlier infections including antibodies produced by vaccinations. And now the first hybrid has been found, which combines the mutations from two variants, B.1.1.7 and B.1.429. There is no reason why this will happen again. Some specialist are stating that a cytokine storm plays an important role in people getting seriously ill from a COVID-19 infection. Maybe more effort should be put in treating that. One such possible treatment is the EXO-CD24 drug found by Prof. Nadir Arber. The effectiveness of this drug has not been scientifically established yet by means of double-blind study with sufficient number of cases.
Data modeling in ThinkwiseI watched the first half of the video Platform Experience - On demand (in Dutch) on the Thinkwise channel. Thinkwise is a developer of low-code development platform, a platform that they for 16 years used to develop solutions for their customers, but in the past two years are marketing as a development platform. During the presentation, they said that the documentation is available online. I looked up their data modeling and was a little disappointed that it is table oriented. It was interesting to read the data modeling guidelines. It is interesting to read about strong entities, weak entities, link tables and inheritance tables, but it shows that the table oriented approach is an implementation of a more abstract way of modeling data. It seems they do advocate composite, and possible large, primary keys, which could not always be the best implementation solution. But it seems to work for the kind of applications that they target.
Monday, February 15, 2021
Animals tracks and snow shapesIn the afternoon, Conny and I walked along the roads called Moorveenweg, Hegebeenkweg, Berktepaalweg/Kwekerijweg, Riethermsteeg, and Ontginingsweg. The name of Berktepaalweg refers to the marke stone called Berktepaal. But this stone is not along this road, but along the road called Moorveenweg which runs parallel to it. The road called Bertkepaalweg was only extended to the border between the municipalities of Enschede and Haaksbergen around 1937. So maybe the road was called like this, because it was going into the direction of the Berktepaal. We saw many animals tracks in the snow, most of which seems to be from rabbits and/or hares and maybe also deers. Conny took a picture of what looked like a hare in the distance and one of what looked like a deer in the distance. We also saw many examples of snow shaped by the wind. Surprising how just a small tree can lead to dunes in the wake of the tree. The picture above is of such a dune. I suspect that turbulence plays some role in the development of these dunes.
Saturday, February 13, 2021
愉快的春节 and palindrome dateToday is the first day of the year 4718, the year of the ox according to the Chinese calendar. The spring festival has begun. This is both the year of Andy and I, meaning that this year we will have our 24th and 60th birthdays, respecitively. Today is also a palindrome date when written like 12/02/2021 (DD-MM-YYYY), 12-2-21 (DD-M-YY), and 21.2.12 (YY.M.DD).
BookAt 23:52, I bought the book Environments written by Frans Haks, Egbert Switters, and Swip Stolk in Dutch, published by Studium Generale Rijksuniversiteit Utrecht in 1968. I bought it online from De Slegte, Antwerpen for € 100.00.
Double dateToday is a double date when the date is written in the format MM/DD/YY or YY.MM.DD: 02/10/21 or 21.02.10. The next such date is on December 11 this year. This is the third mention of a special date for this year. snow fell during the morning. It is now the fifth day in a row that it is snowing, which is quite unique.
Some snowIn the morning, some more snow fell. I think, not more than one centimeter. The sun started to shine during the day.
snow. A bigger problem is that the temperature is going to drop and stay below zero (Celsius), which causes the snow to stay. Often, snow happens at the end of a cold period in the Netherlands. Now it is at the start of a cold period. The last predictions are that the temperature will stay below zero for at least a week. This morning, it took me a quarter of an hour to get the car out of a parking lot. I have some snow dunes in my back garden. My estimate is that during the day (since yesterday evening) about 4cm of snow fell.
snow yesterday evening. This morning, I tried to measure the height of the snow on a table outside. It is difficult to establish the amount of snow that fell because there is a strong wind which blows the snow away. I measured the snow height on two spots and concluded that about 15cm of snow has felt during the night. It is still snowing and it will continue snowing during the day, the night and also tomorrow according to the weather predictions. According to the weather predictions the coming weeks the temperatures will remain below zero (Celsius), meaning that the snow will not melt away and stay on the fields for a long time. My estimate is that during the day another 3cm of snow fell.
Winter is coming!The weather predictions are becoming more and more convincing that we here in the Netherlands are heading for a winter period. For Sunday, about 10 to 20 cm of snow is expected, followed by a week of cold temperatures. At the end of the week, there could be 10 cm of ice in the North of the country.
Palindrome date D-M-YY, double date M/D/YY and YY.M.DToday is a palindrome date for the format D-M-YY: 1-2-21 and a double date for the formats M/D/YY and YY.D.M: 2/1/21 and 21.2.1.
Saturday, January 30, 2021
BooksAt 13:42:16, I bought the following boos from the Taschen:
Thursday, January 28, 2021
Monday, January 25, 2021
Schoonebeker DiepConny and I travelled along the Schoonebeker Diep at the border of Germany, which is actually the part of the Grenzaa river, which starts in Germany, that is on the border. We followed it in search of border poles. Because the border is in the middle of the river, border poles were placed in pairs at both sides of the river, where the exact middle of the two poles signifies the position of the border. In some cases, only the pole on the Dutch side is left. We followed the book Op zoek naar grenspalen and maps from Topografische atlas van Drenthe proved very helpful. There is a biking path along a large part of the river. We traveled by car and could not follow the river over the whole distance but had to use the road from Coevorden to Nieuw-Schoonebeek. We failed to locate the border pole 152-I. We made a short walk through the center of Nieuw-Schoonebeek. We found the following border poles (and two shields on a bridge).
Afterwards, we traveled to the Germany village Neugnadenfeld where we visited two graveyards. During the second world war it was the location of a prisoner of war camp with primarily Russian soldiers. Because Russia had not signed the First Geneva Convention, the Russian solders were not protected by it. As a result of this, many died and were thrown in a mass grave. After the war, members of the Moravian Church from Germany and other parts of (Eastern) Europe were granted the establish a village at the location of the camp. At their graveyard people are buried in order of their date of death and the graves have simple and similar looking tombstone. There is a rahter strong constrast between the two graveyards.
Friday, January 22, 2021
Curfew effectivenessIn the document COVID-19, 25e Tweede Kamer briefing, 20 jan 2021 (in Dutch), yesterdays technical briefing of the RIVM to House of Representatives of the Netherlands, it mentions (on page 28) some statistics with respect to nonpharamceutical interventions against COVID-19. On the page there references to scientific publications: The effectiveness of eight nonpharmaceutical interventions against COVID-19 in 41 countries, Ranking the effectiveness of worldwide COVID-19 government interventions, Early assessment of the impact of mitigation measures to control COVID-19 in 22 French metropolitan areas, October to November 2020, and An Early Assessment of Curfew and Second COVID-19 Lock-down on Virus Propagation in France. I presume that the graph presented on the page is based on the data from these (and possible other) publications. It clearly shows that mandating to wear masks in (some) public spaces is not very effective. And also that the effectivess of stay-at-home order (with exemptions) on the reproduction number is about 20%. At the moment there is no strong support for a curfew in the House of Representatives of the Netherlands, because there are doubts about the effectiveness with respect to impact of the measure, which in the Netherlands with a strong culture of personal freedom and choice, is seen as a last resort type of measure. Conny gave me book Trajecten door Utrecht 7 written by D.T. Koen and J. Renes in Dutch and published by Het Utrechts Archief in 2003, ISBN:9076366128. With the book there is a reproduction of a map of the province of Utrecht from 1743 (second edition).
Software engineering is mostly a craftIn my experience as a software engineer for many years, I feel that software engineering is still heavily relying on craftmanship to such an extend that it barely can be called engineering. With engineering, I understand a well defined process to arrive at a reliable solution for a well specified problem by applying a standard set of methods. Of course, software engineering is operating in a context where the problem specification is volutile and usually not well understood from the start of a project. But that can also be seen as a motivation for a more enginering based approach to quickly respond to changing requirements. Currently, most software development is done by writing code, which contains the specified problem and its implementation mixed in such away that it is often not possible to see which is which. So far, not many tools have been developed for a more engineering approach to software engineering. Almost every day new programming languages are proposed, but most of these are just new combinations of language construct in other languages and/or an alternative way to implement them. Most of these languages end a silent death. Most of the software engineering of today is related to data management, where multiple people operate on a shared data repository, either through websites or dedicated applications. Although there are some no-code development platforms they usually work with simple data models. There are some low-code development platforms that are more promesing. (One that I know of is the one developed by ThinkWise.) I believe that these platforms can only succesfull if they are based on rich semantic models. These kind of no/low-code platforms implement just one implementation strategy from a high-level specification to an executable platform. What I am thinking of is the development of languages that specify how a high-level specification can be implemented using lov-level programming languages. I understand that this is a very hard problem. I have started developing a data specification language, which I called DataLang, a name that also has been used for similar approaces. An introduction to this can be found here.
Uncontrolled spreadThe authorities reported that the spread of the VUI - 202012/01 COVID-19 variant in the Netherlands is no longer contained. They estimate that now about 10% of the COVID cases are the VUI - 202012/01 variant. I am not surprised about this. The authorities have over and over failed in this respect. They are expecting that by April it will be the dominant variant leading to next wave and advising the government to take new measures. The government is thinking about a curfew from 20:00 till 4:00. The experts of the RIVM should have realized that the new variants with higher infection rates were to arise and plan ahead to counter this. As far as I know, they did not do anything. They even did not enough screening of variants to detect the development of mutations. And once the new variant was discovered, they failed to scale up testing to contain this variant. It seems that they only thing they did was to estimate the spread of the new variant in order that they could adise the government with respect to measures to be taken. That can be seen as a clever strategy to avoid their primary responsibility to contain the spread of infectious diseases. Over and over again our government has failed to contain the spread of the virus by means of testing and contact research. It is only since a few months that people who do not have symptoms can be tested.
SnowYesterday, on the news there was an issue about how today a snow front would go over the country from the west to the east. Yesterday morning, I already saw some small snow specks fall from the sky, some of which stayed on the roofs of the houses. In the evening, I made some curly kail hotchpotch (with no fried pork but with smoked sausage). Only in the evening, it started to snow and some of it on the roads. At least about 2.5cm of snow fell during the evening, based on my own measurement. The coming days the temperature is going to rise and the snow is expected to quickly melt away.
Literate programming with MarkdownOn March 20, I am going to give a (online) workshop on parsing. The workshop will start of with a overview of parsing and than explain the decision I took for implementing IParse. In the second part of the workshop, will consist of writing some simple grammar for IParse and test it on input. I am thinking about discussing RawParser, a reimplementation of IParse in 'raw' C, in the last part of the workshop. In the past months I have been working on RawParser and trying to add extensive documents to explain how it works, but I do not feel very happy about all the restrictions that C imposes on the order and level of detail you have to provide. A few days ago, I came across Build Your Own Text Editor and was rather charmed by it approach. It is generated from a collection of Markdown files and a steps.diff file with the help of a program called leg. This made me thinking about using Markdown as the primary source of the code and write a program to generate a C program from a collection of Markdown files. I think it is possible to make the program smart enough to reorder the Markdown code fragments and to allow a mechanism for extending the code without having to include many instructions where to include which piece of the code as in CWEB, a computer programming system created by Donald Knuth and Silvio Levy as a follow-up to Knuth's WEB literate programming system. I have started this approach on RawParser/doc/grammar.md file. As a positive side effect, working on this did result into some improvement of RawParse.c itself.
-- contact -- Frans
My life as a hacker
The Art of Programming
HTML to LaTeX
eXtreme Programming Programs Hamilton cycles
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:
This is a static website with no contact form and no way to add comments. It
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
program files with a total size of 4,837,619 characters,
9 MySample scripts with a total size of 75,004 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 1290 JPEG images
(total size 56,935,217 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,
119 KML files with
a total size of 4,775,603 bytes,
and 2 EXE files with a total size of 38,340 bytes.
a total size of 683,887 bytes,
This leads to a total size of 113,767,575 bytes.