It was only yesterday evening late that I discovered that the Book fair Glanerbrug already had started day before yesterday. In the past
years, I usually went on the first day of the book fair. I went this afternoon.
I did not find many interesting books and I also noticed that the prices have
come closer to the prices in thrift stores. At 13:59, I bought the book
Information is Beautiful written by David McCandless in English and published by Collins in 2009,
ISBN:9780007294664, for € 2.00. There is a website related to the book.
I downloaded some data about the precipitation deficit in the Netherlands from
the Dutch page Data neerslagtekort of the Royal Netherlands Meteorological Institute to calculate on ever day since
April 1, in what percentage of the driest years we are. The numbers for the
past weeks are:
The value in the second colomn is the current precipitation deficit in mm. The
value in the third column is the highest value on record. The value in the
third column is an estimation of the driest year we are in based on the
distribution of measuremenst from 1906 to and including last year, a total of
120 years. Some rain has been predicted for the coming days, so hopefully it
might drop a bit in the coming days. I used the following code to process the
int_nl.dat file:
This morning, I saw two exhibitions at De
Vrijhof, a building at the University of Twente, which is the cultural centre and houses the central
library. First I saw the exhibition with thirteen gouaches by Klaas Versteegen. The second was the exhibition See What We Make.
I found the sculpture by Sophia de Vries and Jet van de Werf noteworthy and
also the paintings by Tessa van Belois, Carlijn Tempelaars, Joanita Leferink,
Mirka Tako Morocho and Emile Hollander.
I came across the page Taken,
which shows information that a webpage receives from the client. When I looked
in the source code of the page, I discovered that the page was not generated by
the server, but that the information was retrieved with JavaScript. Of course,
this allows the code to make some kind of request to a server using this
information and thus being used to track someone. As far as I can see, this
page does not do it. So, although it seems that the page knows a lot about you,
the information shown never reaches the website but stays local. In the text
box below, some information is shown that is can easily be retrieved with
JavaScript embedded in this page. Again, this is purely local. This is a static
website and no information is send to a server and the website does not use
cookies.
I went to Maker Festival Twente. I first saw the exhibition at Tetem Art Space with the
installation Synthetic
Halo by Kurina Sohn, which
generates sounds and graphics based on the brainwaves detected by an EEG
sensor. I also subjected myself to the installation. I heard various kinds of
sounds. Only afterwards, I looked at the explaination of the various sounds. I
am not sure if I identified all the sounds on the explaination. Next, I joined
the free embroidery workshop using TurtleStitch. I decided to program it without reading the manual after
someone showed me some elementary steps. It took me some time out that drag
and drop is the primary method of creating the Scratch based programs. In my first program that was executed on an
embroidery machine I had added some movement, not realizing that it introduced
a line as well. I was told that the machine automatically centers the output
generated by the program. The second second program, saved in the file
SimpleFractal.xml, in which I also
increased the size a bit, resulted in a nice result. Both were executed with
pink wire on a purple sample of felt. I looked around the area at all the
stands and also wanted to have a look inside the Luminarium by
Architects of Air, but when I
was told I had to buy a ticket for 5.00 €, I declined. At the end, I
talked with two people (students) from the AKI, I was given a copy of AKI ArtEZ FINALS 2025, the last one they
had with them. It is sealed in plastic and I might decided not to open it.
I just read Issue 470: 'tcc-mes gets stuck building meslibc in amd64 bootstrap' of the
live-bootstrap project. This morning, I pulled
the last version of the live-bootstrap repository and started to build it for the x86_64 (also
know as amd64) target, I got the same error as mentioned in
one of the comments (the latest at this point of writing), which occurs
when when unified-libc.c is compiled with tcc-mes. I thought
I was doing something wrong myself, but it seems that this is a know
limitation. The reason I wanted to build it for the x86_64 target is that I am
stuck with respect trying to compile the Tiny C Compiler (the version used in
live-bootstrap) with the compiler I am developing to replacing the GNU Mes compiler. I am gettings as far as to compile tcc-boot0,
but when I execute tcc-boot0, it immediately crashes with a segmentation fault. I am getting exactly the same binaries when I replace
calls with my compiler with the GNU C compiler (gcc). I asked for some advice
on the #bootstrappable IRC channel at Libera.Chat and Ben Siraphob
send a patch to fix the problem with the incorrect relocations in the
executable preventing the immediate crash. But now it seems to crash in
another location when I call it to compile some code. I will have to look into
this further. Maybe I should have a look at a recent version of the Tiny C
Compiler, such as the one at repo.or.cz / tinycc.git.
I went to see the exhibitionFlemish
Primitives with photographs (and some items) by Fleur Debruyne at B93. I liked the titles
with the works as much as the works themselves and for that reason an
essential part of them. The titles of the works in the order I saw them:
A figure or trope, the whole for the part
Ceci est une pipe (Call a spade a spade). Pinstripe snit worn by the
artist, after R Magritte & R van der Weyden
The adoration of the land (Blessed fruit, glistening)
I found this text (of the title) in the announcement for an artist talk by Kashyap Krishna at the last day of the exhibition Negative space, his first solo exhibition.
I wondered what the text meant and discovered it is the name Purandara Dasa,
probably refering to Purandara Dasa (c.1470 – c.1564), who was a composer, singer and a
Haridasa philosopher from present-day Karnataka, India. The script that is
being used is the Kannada script, which is an abugida of the Brahmic family, used to write
Kannada, one of the Dravidian languages of South India especially in the state
of Karnataka. I have never hear of the Kannada language before, but I understand that is quite an old language.
I have been thinking about my program to solve the Asymmetric Traveling Salesman Problem that I have been using to find the shortest
biking route along MUPIs with posters of AKI students. I have been thinking about the method that I am using to
estimate the minimum distance that still needs to be travelled for a partial
solution. Now I am adding the shortest route going to and from each node (and
divide it by two) for the estimate. But that estimate is not very good,
because there are three nodes that are close to eachother, it is very likely
that the shortest route going to and from these nodes are all going to
eachother, which is not very realistic. I am now thinking about a method that
looks at all shortest outgoing routes from each node. (Of course, you could
also do this with all ingoing routes.) Summing up all the distances for all
those routes, leads to a minimal distance that still needs to be traveled. I
guess it will be close to the method I have used so far. Now if there is a node
that has two or more of shortest outgoing nodes into it, it is not possible to
that the final solution will contain all of these. Only one can be included,
meaning that the others have to point to some other node with a longer route.
It is possible to calculate which is the minimal value that needs to be added
to the already minimal distance. Also when there a cycle of a number of nodes,
at least one of the node should have a route going to a node outside of the
cycle to break the cycle. Again it is possible to calculate what is the minimal
additional cost to break the cycle. It looks like these two do not interfere
with eachother. Maybe there are easy ways to improve this even further.
This afternoon, I visited the exhibitionNegative space at Het Robson (Stichting Vierkant), the first solo
exhibition of Kashyap Krishna.
Although, I was not able to attend the artist talk he gave later this
afternoon, as announced, and hear his story behind the works on display, I was quite
impressed by the exhibition also through the titles given to the works. The
works are given on negative space page on the website of the artist. I saw the works as they
were numbered at the exhibition:
I was watching a Dune: Part One first
reaction video on YouTube, when I realized that the phrase "Who are you?"
that is heard when Paul and Jessica enter the room where the reverend mother
Gaius Helen Mohiam is sitting is not found in the book and that it might be
taken from the Aql (from the Arabic عَقْل) as found in the appendix "Terminology
of the Imperium" where it is defined as: "the test of reason. Originally, the
'Seven Mystic Questions' beginning: 'Who is it that thinks?'" I have always
wondered what the other six question could be. I used Google and its AI gave
the following list:
Who is it that thinks?
Who is it that loves?
What is the beginning of the end?
Where is the path to truth?
How is the soul weighed?
When does the drop become the ocean?
Why does the universe dream?
It also explained that the first question serves as a gateway into the
consciousness and inner-awareness traditions of the Zensunni Wanderers and the Bene Gesserit. It explained that it invites the thinker to look past their
day-to-day ego, memories, and personality to identify the true, core source of
their consciousness. It mirrors real-world mystical practices, like the
Atma
Vichara (self-inquiry) found in Advaita Vedanta. I found the sixth question quite interesting when you
realize that the story of Dune plays on a dessert planet that has not seen an
ocean for a very long time. I asked Google's AI for the origin of the
questions and it gave an answer with another set of questions.
Who is it that thinks? (The canon prompt: identifying the observer)
From where do these thoughts arise? (Traces the origin of consciousness).
What is the shape of the mind? (Realizing that thought has no physical form).
Who experiences the senses? (Separating biological input from the soul).
What remains when the thought is gone? (Finding the stillness of pure awareness)
Is the observer separate from the observed? (Dissolving the barrier between self and universe).
Who am I? (The ultimate dissolution of ego).
Although this list is more of the line of self-inquiry, I judge it as less
mystic compared to the first list.
This evening, I did some experimentation with the visualization of compact
solutions of the The China Labyrinth to connect it with the I Ching. First I decided to adapt the shape of the pieces suitable for a
physical puzzle. I also decided to place the hexagrams on them. The upper three lines reference to the top three sides
from left-to-right and the lower to the bottom ones also from left-to-right.
The I also decided to have the names in Chinese characters as an alternative to
be selected. (Note that the selection will become effective for the next
solution to be realized.) I am not really happy with the result.
I was wondering if there was a more compact shape to arrange 64 hexagons than
the one I have been using for place the pieces from The
China Labyrinth. I searched The On-line
Encyclopedia of Integer Sequences® with some keywords hoping to find
the sequence for the number of compact (convex) shapes for a given number of hexagons. I did not find a sequence
related to this. I wrote the program convexhexagon.cpp to calculate all the shapes up to 99 hexagons.
With the numbers, I did find the sequence A116513: 'Number of distinct hexagons of n points chosen from triangular
lattice A_2 with sides parallel to the principal axes of that lattice.
Degenerate sides (of length 1) are permitted.' This sounds like it is the same,
I was looking for. I also searched the sequence of the most compact shapes,
which are the shapes with the shortest perimeter. I found the sequence
A216522: 'Integers of the form 2*x +
3*y with nonnegative x and y, with repetitions,' that matches the perimeter
when measured around the centers of the hexagon for first 99 numbers.
Although it is quite likely that the two sequences are the same (beyond the
part they are the same), I have no idea how to prove that they are equal.
I read that Christian Freeling was found died yesterday at the age of 79. According to
a news report in Dutch he was found dead at the bottom of the stairs by a
neighbour, who already suspected something might be wrong because his raccoon
dog Snowy was left outside during the night. There are reasons to believe that
he already died on Monday. Yesterday, I still visited his website with respect to The China Labyrinth. I met in 1981, when I
started studying at the university during the game evenings of Fanaat. He introduced me to some of his abstract board games with complete
information. We also had some philosphical discussions and was impressed by his
intelligence and his ideas.
Addition May 22: His last move on LittleGolem was in a 'Havannah-Size 10' game at 12;26 on Monday, May 18.
Below a visualization of the compact shapes of hexagons with the minimum
perimeter with each number of hexagons. I made it to see if there are some
obvious patterns, but I could not see one. A problem is that for some sizes
there are multiple shapes with the minimum perimeter for that number of
hexagons. I still find the connection with the A216522 sequence very mysterious.
In the afternoon, I saw the exhibitionThe Belly of the Beast with photographs by Anca Axinte at photo gallery Objektief. In many of the photograph the
model holds an object that resembles a heart. The artist wrote about this,
translated from Dutch: 'A figure consuming her own stone heart.' The object was
hanging from the ceiling in the middle of the room. The text with the
exhibition starts with (translated from Dutch): 'There is a primal animalistic
force within us, built into our instinct, our ego, and our will to survive. We
call it the beast. It acts not out of cruelty, but out of fear, and fear is the
absence of love. To live, the beast must consume what it lacks.' A very
different exhibition from the previous. Quite interesting.
At the end of the afternoon, I visited two exhibitions. The first was the exhibition Friendly Secrecy System curated by Janne Schimmel at Sickhouse. The list of works on display (with videos)
see this
post on instagram. I am not really into console games. I found the
following two works noteworthy:
The second was the exibition Everything In-between with works by second
year students from the AKI at Creative
Broedplaats Enschede. Not all the works on display had information with them.
I saw the following works:
Remove to Exist by Daria Kliuchnikoff. The description starts with:
'"Remove to Exist" is a three-layer torn-strip poster exploring the
journey inward, from the infinite to the intimate.' I took on strip of the
most outer layer.
Four photographs made into layers.
Four videos: One of an attempt to put a fried back its shell, one of a
tree suddenly falling and one of pouring thee in a cup with holes.
Projection in a kind of doll house with images from rooms controlled by
a proximity sensor.
'Pixilated' black/white video with sound.
Video project on a bed.
Three videos displayed on monitors.
Video projection in a corner with two mirrors.
Projection of outline on netting fabric
Video Tot aan de huinzen in de verte bij Jolien Langenberg.
Crystallis, 1.8m by 1 m, film, by Rachel Éowyn Arendsen. The description starts with:
'Crystallis is a miraculous journey of metamorphosis. A womb that holds a
fragile life inside.'
Three videos from three sides taken from riding a bike.
I biked around the route of KunstenLandschap 2026. At 11:06, I arrived at Rijksmuseum Twenthe where I bought the entrance band and got a map of the route and additional information of the artist and
performances. There I first viewed the exhibitionAbstracties van het Landschap with collages of landscape
photographs by Ger Dekkers. I found the following works noteworthy:
ditches and snow in perspective, flevoland, 1988.
drift-ice, dike noordoostpolder, 1987.
dune, zeeland, 1972.
shell and ditches, flevoland, 1978.
last snow along a ditch between fields, flevoland, 1991.
vertical breakwater and foam near roptazijl, 2005.
A few months ago, it was still unclear whether the festival could go ahead due
to the loss of subsidies. Fortunately, enough private individuals donated, but
it is clearly 'smaller' than in previous years, with fewer large installations.
When I wanted to calculate the area of a hexagon placed on a triangle grid, I
decide to split it in two halfs and use inner-product method of calculating
the area for the lengths a, b, and c and calculate the
points starting at the origin. I was a bit surprised that the are was equal to
ab+bc+ac triangles. I verified it to be correct. I also
modified the program convexhexagon.cpp to calculate the first 1000 values (instead of
100 as before) and see how it matches with the A216522 sequence and I discovered that they are different. The first
value where the sequence is one smaller than the most compact arrangement is
121. Some of the following are: 163, 211, 235, 265, 292, 325, 355, 391, 424,
463, and 499. Up to 5000 there are 160 differences of one smaller. So, now
there is no need anymore to prove that they are the same. But it still
surprising that they are so close. It is also noteworthy that the value for
the most compact arrangement for 122 is one lower than the one for 121. After
some more searching in The On-line Encyclopedia of
Integer Sequences, I found sequence A135711: 'Minimal perimeter of a polyhex with n cells'. It calculates the
the perimeter along the outside of the hexagons. It states that the formula
for this sequence is: a(n) = 2*ceiling(sqrt(12*n-3)). That means it is monotone
increasing sequence, which the sequence for the most compact arrangement with
the 'convex' requirement is not. It seems that the sequences A216522 and
A135711 are related.
In the afternoon, I visited the exhibitionOn Being Elsewhere at Concordia. It is a group exhibition with works by
Tessa Langeveld, Geertje Brandenburg, and Rossella Nisio. In the description it says something about video
installations, but I did not see any moving images and/or videos being
displayed. Maybe those were switched off.
This afternoon, I saw a little plant in one of the two boxes I put all the
seeds we harvested last year from our magnolia. Some months ago, I found a lot of fungus on one of the
boxes. Some weeks ago, I already empted the contents of one box, because it was
totally soaked with water. I did not see any seeds. I had totally no hope for
the other box. So, I was a little surprise to see one little plant appear. I am
not even sure it is indeed a magnolia plant.
The temperature at Twente Airport has gone up to
31.2° Celsius, which breaks the previous record of 29.7°C on this date
in 2005. This also marks the first tropical
day of this year.
I am going to give a proof that the sequence A216522: 'Integers of the form 2*x + 3*y with nonnegative x and y, with
repetitions,' can be expressed with
ceiling(sqrt(12*n + 9)) - 3 with n
starting at 0 for the first element in the sequence. Given a certain number, is
quite easy to determine in how many ways it can be written as a sum of 2's and
3's. It all comes down to the fact that 6 equals three 2's and two 3's. This
means, that for example 18 there are four ways to write it as a sum of 2's and
3's. This leads to the formulea: f(6*k) = k + 1
with k larger or equal to 0, Because, 2, 3, 4, and 5, can only be
written in one way as a sum of 2's and 3's, we also know that
f(6*k+2), f(6*k+3), f(6*k+4), and f(6*k+5)
result in the same value as f(6*k). Because there is no way to write 1
as the sum of 2's and 3's and there is but one way for 7, we can also establish
that f(6*k+1) = k. The function f(n) returns the
number of times n will occur in the sequence A216522. We can also
deduce from this, that the distance where the number f(6*k+6) from
where number f(6*k) occurs for the first time in the sequence is
k+6. The same is true for f(6*k+6+j) and f(6*k+j)
where j is a number from 1 to and including 5.
Define the function g(n) to return the last (zero base) location for
which the value n occurs in the sequence A216522, where g(1)
is equal to 0 although 1 does not occur in the sequence. We define this as the
sum of all values of f(i) with i ranging from 0 to and
including n minus 1. When g(6*k+6) is expressed with
g(6*k), we get:
Similarly we can show that for i from 1 to and including 5 that
g(6*k+i+6) is equal to g(6*k+i)+6*k+i+6. These equations can
be combined to g(n+6) = g(n)+n+6.
We can verify that ceiling(sqrt(12*n + 9)) - 3
returns the correct values for low values, but that still does not proof it
is correct for all values. If we equate this expression (without the rounding
up with y and replace the n with x, we can derive
the following equations:
If we take into account the ceiling function, than for each whole number filled
in y this expresses where on or before the value of x
occur all values of y in the sequence. For the first six numbers that
occur in the A216522 sequence, we get:
From this we can observe that they do match with the position of the last
occurence of the value in the sequence. Now, when we substract value for
x for n+6 from n, we get:
Harmen Stoppels submitted some pull
request to fix some problems with getting the Tiny C Compiler compiled for some 64-bits targets using the tools I have
been developing to replace the GNU Mes compiler that is used in the first stage
of the live-bootstrap project. I understand
that he used Claude Code to find fixes. The fixes are for compiling the tcc-0.9.26
sources to x86_64 (also
know as amd64) and AArch64
(also known as ARM64). However the tcc-0.9.27 sources cannot be compiled yet
with the compiled tcc-0.9.26 giving different kind of error messages for both
targets. I also did find a bug (Issue #15) in the compiler with respect to the use of the
continue statement inside a switch statement that is placed
inside a for, while, or do statement. I had
'hacked' the implementation of the switch statement with the
do statement of the Stack-C intermediate language. To execute the
programs that are compiled for the AArch64 target under Linux one has to
install the Arm System emulator of QEMU. When installed this will automatically call the emulator whenever
an AArch64 ELF file is executed. Very handy for testing purposes.
This months interesting links