Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
|
Lone signpost in Mongolia
In episode 128 of season 8 of Itchy Boots titled 'Loneliness hits different in
Mongolia 🇲🇳', Noraly
Schoenmaker comes along a signpost in the middle of nowhere as can be seen
starting at 13:53. This is along the grevel road A1701, which at many place is not a
single road, but many parallel roads often spread out quite widely. So, it is
rather interesting that there is a sign somewhere in the middle when most local
just take one of the many tracks. I found a photo on Alamy.com that was taken by Daan Kloeg on Augustus 7, 2019. I contacted him and he promptly gave the
location from which the photo was taken, allowing me to find the signpost on
Google Earth. According to the satelite image on
Google Earth the location of the signpost is 48°55'59.88"N 92° 2'19.38"E, a little west of the road on google
maps and open street map, which might explain why I had not yet found it when I
followed the road. (I am not sure whether I followed the complete road from the
start to the end.) A little bit further (at 48°57'44.50"N 92° 2'34.98"E), she comes along another 'sign'
with the words (if I have transcribed them correctly):
'өлгий'
'тавтай
морил', and 'сум', which I
understand means 'Welcome to Ölgii district. A little further she travels through a village called
Ölgii.
Infinite mazes
I have been thinking about the construction of infinite mazes. When I say maze, I mean a maze on a infinite square grid
(in all directions) where there is some way to calculate if there is a wall on
each line segement of the grid and that the mazes is 'prefect' in the sense
that the mazes has no cycles and that each square can be traveled to from every
other square. The page Maze Classification give some algorithms for creating finite mazes on a
rectangle (or square) of a square grid. There are only two algoritms:
Wilson's algorithm and Aldous-Broder algorithm. For animations of these algorithms see the page
Maze Algorithms. There is a
simple method for generating infinite mazes from finite mazes of some fixed
size n. The idea is to place grids of size n side to side on the
grid. Asuming that the walls on the outside are all closed, it does not meet
the requirement of a perfect maze. The idea is to create a maze of size
n×n with 'rooms' of size n and have the openings determine
where to add an opening between the mazes of size n. This should be
repeated for every power of n. Asuming that the generation starts at the
origin, one only has to generate this for a limited number of powers, depending
on how far one moves from the origin. This technique is also explained on the
page Making an Infinite Maze. This method does not really result in random
mazes, because these kind of mazes will contain very long walls that are
getting longer and longer the further one gets from the origin, which is rather
rare in truely random mazes. How can be improve on this assuming that we start
generating the maze from the center and do want to store as less as possible
information, potentially being able to regenerate parts of the maze on demand?
In some game, for example, the user would only see a limited part of the maze
from above, or till a wall (or a certain distance) when from the inside. One
idea is to generate the maze in chunks of n by n squares. In
such a chunk it should not always be the case that there should be a path
between all the squares. The idea is to start with an infinite grid that has
no walls and start randomly adding walls inside a certain chunk as long as each
sqaure still has a path to the 'outside'. If an additional chunk needs to be
added, it will also be allowed to put walls on the 'sides' where the chunks
touches chunks that already have been filled. Although this seems a good
approach, it seems that it will reduce a different maze depending on the order
in which the chunks are added. Even if everytime the same random sequence is
used for each chunk, there is still a problem for the walls that needed to be
placed on where the chunks meet. A solution could be to always generate the
chunks in a 'fixed' order. If the order is truely fixed, for example in s
spiral order around the center, one would have to generate more and more
chunks if one is moving away from the center. A solution to this to introduce
a dependend relation to the grid of chunks, were a chunk can only be generated
when all the chunks it depended on are already generated. Maybe there is a
way to define the dependend relation (with all other than the origin chunk
depending on the origin chunk directly or indirectly) such that only a limited
number of chunks need to be generated, possibly linear to the 'distance' to the
origin.
Unexpected error messages
Since I finished replacing stage0 of live-bootstrap for x86 (32 bits) two months
ago, I have been working on the x86 64 bits version. I heve now come as far
as being able to compile the Tiny C Compiler sources, but the resulting
compiler when compiling some sources gives some unexpected error messages,
which seem to be correct (see commit
96ad3732). This will require some clever debugging. Maybe, should
first test this compiler on some other sources.
All flowers open
It looks like all flowers on our magnolia have
opened. The first flowers opened on March 18.
The leaves of most of those first flowers turned brown due to frost and have
partly fell down already. The latest of the flowers that opened are on the side
of the house, which receive far less sunshine than the side where the first
flowers opened. We did get flowers for quite a long period this year. The
flowers spread a lovely fragrance.
Exhibitions
This afternoon, I visited the exhibition
Over Water with photographs by Joop Overkleeft. It has a series about soldiers placing a Bailey bridge and some from his digital graphics.
Next, I went to Concordia and watched the Idem et Idem exhibition again.
One of the artists was present and I talked a little about her project. I also
saw the video with the work of Kore Danaë Plunkett that that I cannot
remember seeing the last time (probably because it was not projected). It was
kind of a recording of a performance by her. The translation of the description of her work is: "My life is defined by duality and
contradictions, as a result of my limitations. Chain armor and two-dimensional
work are the spaces in which I explore these characteristic aspects of my
identity."
In the evening, I went to the exhibition RE:-)CONNECT at B93 with works by second and third year students of the AKI. There were individual works by the following students on display:
They also had some collective works in coorporation with Tessa de Roo. There
were two screen print collective works and two collages of works on the wall.
I found those quite interesting. I talked with one of the students about this
because you do not often see that artists worked together on an art work. I
understood that it had come quite natural when they started working with
screen printing.
Rijksmuseum Twenthe
Today, Conny and I visited Rijksmuseum Twenthe. We first saw the exhibition Pekka Halonen. An Ode to Finland with paintings by Pekka Halonen. I found the following works noteworthy:
- Self-Portrait, 1890s.
- Winter Landscape, 1892.
- Lynx Hunter, 1900.
- Washing on the Ice, 1900.
- Nude Female Model, 1894. *
- The Violinist, 1900. *
- Italian Girl, 1893-1984. +
- The Short-Cut, 1892.
- Sitting on the Shore, 1893.
- After the Music Lesson, 1894.
- Boy Holding an Apple, 1891.
- Reapers, 1891.
- Boy on the Shore, 1891.
- Boat, 1929.
- Man Tarring a Boat, 1908.
- Reaper's Grave, 1902.
- Girl Skiiing, 1910.
- Mealtime, `899.
- Pioneers in Karelia, 1900.
- Sunday in a Crofter's Cottage.
- The Sauna Shore, Late Winter, 1906.
- In the Sauna, 1925.
- Laundry Drying, 1910.
- Pushcart in the Garden, 1913.
- Going for a Swim, 1910.
- Wilderness, 1899.
- Rowan Tree, 1894.
- Tall Pine, 1905.
- Self-Portrait, 1906.
- Studioe Interior, 1913.
- Still Life, 1909.
- Outside the Studio, 1920.
- Rock Covered in Ice and Snow, 1911.
- The Kantele Player, 1892.
- Girl Reading, 1918.
- Maija in Jääski Folk Costume, 1905.
- Cabbages, 1909.
- Winter Landscape, Myllykylä, 1896. *
- Evening Impression, Myllykylä, 1896. *
- Winter Day in Karelia, 1896. *
- Winter Landscape, Pielisjärvi, 1915.
- Landscape, Koli, 1914.
- Sallow in Autum, 1907.
- Clouds over Lake Tuusula.
- Spring Flood, 1896.
- Rapids, 1916.
- Forrest Pond, 1925.
- Riverside, 1897.
- Ice Melting, 1916.
- Ice Breaking Up, 1916.
- Thaw, 1905.
- Snow Covered Pine Saplings, 1899.
- Snowy Trees, 1923.
- Purple Winter Landscape, 1928.
- Winter LIght at Lake Tuusula, 1905.
- Snowy Forest, 1916.
- Birches in Winter Sun, 1912. *
- Sunlit Winter Landscape, 1911. *
- Winter Landscape, 1895.
Really a lot of very impressive paintings. After this we saw the exhibition:
Edwina van Heek: Silent force behind Rijksmuseum Twenthe, which honours
that a hunderd years ago Edwina van Heek-Burr Ewing signed the deed of
donation by which she donated a new museum building and an accompanying art
collection to the Dutch State. Some of the works on display:
- Portrait Edwina van Heek_Burr Ewing, Reinier Sybrand Bakels.
- Portrait Jan Bernard van Heek, Reinier Sybrand Bakels.
- Richard Mabott, Atelier Hans Holbein de Jonge, 1533.
- Gezicht op de IJssel, Jan Voerman, 1911.
- Gezadelde schimmel en hond in stal, Wouterus Verschuur, 1850.
Next we saw the exhibition
Many Loving Arms with works by Bas Kosters. I did not have high expectations of this exhibition, but I
was quite impressed by it. I found the following works noteworthy (if I have
not mixed up the wall labels):
- Such Delicate Tenderness, 2019.
- Gender Bliss Tapestries, 2025.
- Male Pussy, 2025.
- New Beginnings, 2024.
- My House is on Juicy Street.
- Love is All Alone, 2016.
- We Are All Mothers, 2024.
- Safe Me, Parking, 2021.
- Safe Me, Sky, 2021.
- Soft Cones, 2021.
- Safe Me, Direction, 2021.
- Safe Me, Super, 2021.
- Safe Me, Pylon, 2021.
- Safe Me Jeroneensteeg, 2021.
- Sorry Boy, Delft Blue Kintsugi Set, 2024.
- Jobe the JOY Bear, 2022-2025.
- Bear Tapestry, 2022.
- 100MJ, 2017-2019.
- I Am Here Inside, 2019.
- Divine Tapestries, 2024.
- Fluid Teewee Cuddle Wall, 2024.
- Gentle Communication, 2016.
- Communication on Tapestries, 2016.
- Giuseppe (with text 'STY / LiSTE'), 2017.
- Leonardo (with text 'Art / ISt), 2017.
- Frederik (with text 'LOW / LiFe'), 2017.
- Divine Tear-Hope-Love, 2024.
- Pink Is the Color of Selflove, 2019.
- We Are All Internationally Very Sad, 2016.
- I will Cry My Eyes for You, 2016.
- Tear Are Life's Glitter 1, 2, and 3, 2018.
We saw the exhibition Calculating Empires again. Conny took the picture below of me
paging through the book Calculating Empires. On the wall I found the words Incompleteness and Undecidable but I could not quickly find it in the book. I wondered
whether it is possible to buy the book, but (at home) I could not find it.
Infinite mazes
I have been thinking some more about generating infinite mazes since I wrote about it on the second
of this month. If you always generate the chunks in the same order, it is
sufficient to remember which walls are connected on the perimeter in order to
avoid areas that cannot be connected and that there are no cycles. However,
generating the chunks in the same order is not very efficient. Whenever two or
more walls on the outside are connected, one has to decided which one will be
going to infinity or in other words for each wall we need to indicate in
which direction we have to walk, while touching the wall, to arrive at the
other side of the wall. In the other direction this will never be the case.
I think this will work, but I get the impression it will result in some bias.
Because walls going outside of the border can never return into it. A way to
counter this, is also to determine how walls outside the border have to be
connected. In interesting question is how many of these should be connected to
avoid another bias? I fear that some serious mathematics is required to
establish this. Maybe is also depends on the shape of the perimeter.
Still the same error message
I am still getting the same error message with the 64 bits version of my
replacement stage0 of live-bootstrap when I
am using the interpreter that I wrote for Stack-C, the intermediate language
that the compiler uses. In the past weeks, I worked on getting the interpreter
working for the 64 bits version of Stack-C and I also implemented a debugging
mode allowing to set breakpoints and step through the execution. Getting it to
work took more time than I had expected. Now that they show the same behaviour,
it is safe to conclude that the bug is likely not in the programs used to
generate an executable from the Stack-C file but in the compiler itself or how
the compiler is called (with respect to environment variables). The message
both versions return is:
lib/linux/x86_64-mes-gcc/crt1.c:55: error: non-zero addend on REL architecture
Sci-Bot: hamiltonian cycles
Yesterday, I tried out Sci-Bot with the
question: 'hamiltonian cycles.' I found the result quite interesting and
decided to keep the results in a local copy. Because the saved file contained UTF-8 characters, I wrote the program UTF8toHTML.cpp to convert these characters to HTML escape
sequences. It looks like the AI bot is no longer workable without creating an
account.
Fixed bug in C compiler
I finally fixed the bug in tcc_cc.c, the C compiler in my replacement
stage0 of live-bootstrap that I have been
struggling with in the past weeks. It turned out that the bug was in the
preprocessor that did not handle the following code correctly:
#define VAR_A 1
#define VAR_X VAR_A
#if VAR_A == VAR_X
#endif
It is important to realize, that the following, should return the same result:
#define VAR_X VAR_A
#define VAR_A 1
#if VAR_A == VAR_X
#endif
This shows that macro definitions are only expanded when they are used. This is
the same for the expressions for the #if directive as it everywhere
else. In the iterator solution I implemented, I decided to have the expansion
iterator only work after the condition iterator (that evaluates the various
#if directives), because otherwise it would also expand all branches
that are not needed and it would have something to not expand the macro
definitions. (Maybe there is an elagent way to implement it, but I have not
looked into it yet.) This meant I would have to implement something for the
macro symbols in the expression and assuming that the full expansion rules
would not be needed. I simply added some code repeatedly expand macro
definitions in the expressions with two lines of code. This again shows that
the implementation of the C preprocessor is far from trivial. I am sure that my
implementation in tcc_cc.c is not compliant with the standard. There
is still some other bug to be solved as I am no getting error messages about
'Invalid relocation entry.'
This months interesting links
Home
| March 2026
| May 2026