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 31
|
AKI MUPI route 2024
I found the AKI ArtEZ Finals 2024 Mupiroute this evening. This shows where to find
posters from the AKI graduates on the back of
the MUPI advertisement signs. MUPI is an abbreviation for the French 'Mobile
urban pour publicity et information'. Last
year, I have been working on drawing all possible biking routes between the
MUPIs that I knew about with Google Earth. This
years route contains two MUPIs that I had not included yet, so I spend some
time adding these. One of them is a bit further away in Glanerbrug. (See the
updated file MUPIs.kmz, which is likely to be
updated again in the future.) I also adapted the program I wrote last year to
read the downloaded KML file instead of an input file mapping the graduates
with the code I gave them in the MUPI.kmz file. The program now automatically
selects the MUPI with in a range of 15 meters. With the latest version of the
ParseMUPIkml2.cpp with a bucket
size of 1000 solutions for each pass, I found a
route with a distance of 35659 meter that I think I am going to follow.
(The route on Google Maps). It is a bit longer than the route of last year
probably due to the MUPI in Glanerbrug.
Lost Calf
This evening, after hoeing at Herenboeren Usseler
Es, we went looking for the calf that was born yesterday morning. We
could not find it looking from outside the field. We worried unnecessarily.
After we had gone into the meadow with someone from the care team (who had come
to look) and he, walking ahead, found the calf. It quickly walked to its mooing
mother. The calf had walker under the electric fence (which is used to let the
cows graze in a different part of the field each time) and had found a quiet
spot in the tall grass to rest. This is completely normal and understandable
behavior of young calves, we were assured. But it was still nice to have seen
the young calf for a while. We are expecting two more in the coming months and
the herd will then consist of eight Lakenvelder cattle. They are a type of low maintenance cattle and they are
kept for the meat and for the positive effect they have on the fields and the
farm.
Visiting all MUPIs
This afternoon, from 12:21 till 16:23, I biked around the city to visit all the
MUPIs that had a poster on it made by one of this year graduates of the AKI. This year the MUPIs where more spread out and included on in
the town Glanerbrug,
which is part of the municipality Enschede. It rained most of the time at some
point I considered cancel the trip and return home and try another day, but I
decided to continue and at some point when it was only raining lightly, it felt
like it was dry. At the end of the trip, the sun broke through the clouds. I
also visited the thrift store Het Goed
along the route, but I did not buy any book. The route I took, is not
the one I published on Monday. When studying that map, I quickly found a shorter route. I did
find a 'bug' in MUPIs.kmz and made some
changes where the bike path was moved in the past years. I tried the program
but it did not return a better solution also not when I changed some of the
search parameters. I finally used this route.
I also did think about how I could improve the estimate of the minimal length
of partial solution, considering that the current estimate is maybe to
optimistic, but I have not implemented anything again. At least this failure to
find some obviously shorter solution, demostrates the difficulties of
the
Travelling Salesman Problem. I found the works of the following students
noteworthy:
Gerrit Rietveld Academie Finals
I went Amsterdam to see the Graduation Show exhibition at the Gerrit Rietvel Academie. Below a list of works by graduates that I found
noteworthy, which is very subjective and often based on the first impression,
in the order, I encountered them. Work that I found extra noteworth have been
marked with a star.
- Phantasm for 2 by Romaine Gijsberti Hodenpijl.
- My White Square (1) and My White Square (2) by
Maartje Stapel.
- and when by Adriane Bastiaens.
- Foxtail by the pole by Pán Qi.
- why is it always about you? by Julia Pazdur.
- Many works by Karl Götter.
- The Risky Little Game and The Sound of the Ticking Light by
Euzy Jhang.
- Closed Doors, a series of photographs by Max Onink.
- When the novelty settles, Until the dust wears off by
Amber Schaafsma (@Amberroads). *
- Untitled drawings by Ornella Assie.
- Unittled drawings of chestnut doll by Franciszek Zatónski.
- I am but if I was would I?, an interactive installation (hidden in
the wall) by Eva Itsweire. *
- Silent transition by Jimin Lee.
- Short film by Tereza Kalousova.
- A duet by Rosa Shepeherd.
- Domestic portraits by Tove Agelii. *
- Tracing territory by Khandra Karim.
- Glass works by Alina Setjowikarto.
- I want to hold on to you forever 3 by Ivalu Antoni Carlsen.
- Wishing, Still here, and Gesture by Ella den Haas. *
- Engine Stall by Xiomara Virdo
- Unpopulism by Rutgher van Aken.
- Fonts for Friends by Can Evyapan.
- Other Dreams by Niam Maalani.
- FAKELAND, a short
movie inside an immersive installation by Cloé Moretti.
- Gaze by Bea Lamadrid Bayón.
- Karolina Hyun Wilting.
- "may they destroy the
mountains | may those who see it cry", installatino with two movies
by Miray van der Bend.
- Franctured Reality, a VR installation by Alja Kregar.
- The Temple of the Tail-Eater, an installation by Millie van Radish.
- Fragile Interactions by Martina Bucci.
- Liondance! by Eleri Wonkyeol Lee. *
- Tug of War by Juwan Moon.
- The Tides of Metallic Sea, a film by Aitana Herrero Gandia.
- Portraits by Pieke Pleijers.
- Les Perles Silencieuses, Traduction: 'The Silent Pearls' by
Maya Luz.
- Don Not Run by Marjolijn Houdijk.
- De Naakte
Waarheid by Barbera Sterk, which is related to bricks.
- Giants's Breath and Giants' Moves by Nicolas Dagieu. *
- This thread might be a pre-text, but I know it reads me by
Afroditi Terzi
- Ways of Saying II by Meyke Mulder
- Fashion by Oline Bronée
- The Women I Photograph by Giada Alessandra Pieber.
At 13:00, I bought the book This book right now in this place and time,
the graduation catalogue of the Graphic Design department. I donated € 5.00.
Afterwards, I went to the center of Amsterdam, where I visited the bookshops:
De Slegte and Scheltema.
AKI Finals
I went to see the AKI Finals exhibition. Below a list of the students whose work I found noteworthy,
which is very subjective and often based on the first impression, in the order,
I encountered them.
At 15:42, I bought the catalogue AKI ArtEZ 2024, which is written in
English and published by AKI ArtEZ, ISBN:9789075522440, at the reception for € 25.00. Actually, it is
two books. One large book with pictures of the works by the students and a
smaller book with information about the students. The sheets in the large book
are cut in the shape of the smaller book, such that you could fit it in there.
But it is not cut on the large page, so it is not possible to remove it and
replace it with the smaller book. It does not make sense and I think it is bad
design as it serves no functional purpose but simply makes it harder to see the
photographs.
Bricks
Last Friday, I saw the work De Naakte Waarheid by Barbera Sterk, which is about 'flattening' the outsude of a brick of the Waalformaat, which measures 210 × 100 × 50
milimeter. The works in her exhibition were actually based on the ratios
21 : 10 : 5. We talked a little bit and I promised her to
calculate to total number of flattenings. For a cube there are eleven
flattenings as shown on this page. I tried figure out the number with pen and paper, but being
afraid to make some mistakes, I spend writing a program, called bricks.cpp, to do the flattening. As usually, it took more time
than expected, especially with debugging and trying to verify the output. I put
everything in the main function of the pogram. The outerloop of the program
generates all 5 out of 12 combinations. This is used to determine along which sides a cuboid is to be flattened starting from a given face. Of course, for
many combinations this is not possible. A check for some trivial impossible
combinations is included and a loop that five times searches for a face that
can be added. The loop is terminated if there a combinations of sides appears
to be impossible. If a possible combination is found, the program finds a
minimal solution where the sides of the same orientation are given the same
value. After a lot of debugging, I found that there are 54 combinations
ignoring rotations and mirroring. The find this number, run the command:
./bricks | sort -u | wc
To print out these 54 combinations, use the command:
./bricks | sort -u | ./bricks -p
When I studied the output, I noticed that eight of the eleven cube flattenings
had six cuboid flattenings and that the three that have a rotation symmetry had
three cuboid flattenings. (The number six is the number of permutations of three elements.) Below the eleven cube flattenings are
given, where the faces are named with letters, where the use of lower case
means that the face is rotated over 90° compared to the upper case letters.
Below it the number of cuboid flattenings are given.
BAB BA BA BA c c c c A A A
C Cb C C BAB BA BA BA bCb bC C
A A AB A C Cb C Cb A Ab Ab
C C C Cb A A AB a C C c
b
6 6 6 3 6 6 6 6 6 3 3
I realized that I could have figured this out with some more hard thinking.
Writing a program is not always the fastest way of finding a solution for a
problem.
Displaying brick flattenings
I wrote some code to visualize all 54 brick (with ratios
20 : 10 : 5) flattening, which I calculated yesterday.
We had curly kale because we got it last Saturday
from the harvest of Herenboeren Usseler Es. It is
a bit of a strange time to have curly kale because it is still considered as a
winter vegetable. Unlike the winter kale leaves, the young summer leaves are
tender and can be eaten raw. However, some people say that it tastes best when
it had been frosted and they just put it in the freezer. They say it is also
easier to process it when it is frozen. Yesterday, I already used a bit in a
curry dish. Today we used the rest. Conny added some of a herb mix that she
usually uses. We at it as a hotchpotch with pieces of fried pork. Conny also
served it with sausage with cloves.
AKI Finals again
This afternoon, I went to see the AKI Finals
exhibition for a second time. The second
time you always notice things you had not noticed before. Below a list of the
students whose work I found noteworthy to mention for this second visit, in the
order, I encountered them.
In the past weeks, I have been trying to implement a C preprocessor using iterators that can be compiled with the
M2-Mesoplanet compiler of Live-bootstrap. I
first made a (partial) implementation that compiled with the gcc compiler. Because M2-Mesoplanet does not have a cast operator
(because it does no checks of assignments between different types), you have
to give it some options to surpress errors. It still produces a lot warnings.
Next, I tried to compile it with M2-Mesoplanet. I found some bug/limitations.
Such as that in 'case' statements defines are not expanded. So, I replaced
those with if statements because in expressions they are expanded. Also
assigning string contents to an element of an array of pointers to character,
does not work. It looks like the pointer is truncated to a byte. So, I had to
replace such a table to a bunch of if-statements. But then it produced a
strange runtime error, a 'Segmentation fault', at a location that already had
visited several times before. I tried the i386 Emulator and (after I made some small changes) produced the exact
same error at the same location using the command:
../Emulator/Emulator -gen 1 -trace ./ tcc_cc
This shows that the runtime error is due to a return address (on the stack)
being overwritten with an incorrect value. I have not yet figured out the
cause of this. I did commit the current state to MES-replacement repository. This could be related to another limitation
(bug) of M2-Mesoplanet. I have been wondering if I should maybe work on
improving M2-Mesoplanet before I continue working on the preprocessor.
Side notes
In a book you can have footnotes at the bottom of the page, but when you want
to convert a book to a webpage you can convert these to side notes. I found
several solutions presented on the page Sidenotes In Web Design, but I did not find a solution after my liking. I
was more thinking about a solution where the column with the side notes would
be moving more dynamically when you were scrolling the main text. I spend some
time implementing a solution, which can be found at this page, which uses some random text generated with the Random Text Generator. It also uses a little bit of JavaScript that
scans the contents of the page for certain identifiers (in id
elements attributes) for it operation.
Nine ergodic literatue book
I watched the video you've never seen books like these before! (9 ergodic literature books) by
Melanie. In
the comments it lists the nine books with only links to Amazon. Below the books
are mentioned with some more informative links. Four of these books, I already
mentioned on May 12. Ergodic literature is a term coined by Espen J. Aarseth in his 1997 book
Cybertext - Perspectives on Ergodic Literature.
The past week I regularly ate the fruits of the Japanese wineberry that grows in our backyard.
That plant, like so many other plants in our backyard, just appeared one day.
It was only today that we found out that it is a Japanese wineberry.
Today I also picked up the harvest of this week from Herenboeren Usseler Es. It was mainly leeks and onions (red and yellow)
that we got. But also: a purple cauliflower, a gherkin, a (very nice) zucchini, spring onion and a
large head of lettuce with reddish tops. (Last Tuesday evening I was still
busy removing the weeds from the bed from which the lettuce was harvested.)
Also harvested some coriander and rocket in the field. The rocket started
having flowers. For dinner, Conny stir-fried the purple cauliflower with some
union and leek.
High water levels
During our walk we saw that there were high water levels in
a canal called
Usserlerstroom, higher than we ever remembered seeing. We decided to follow
the canal, that about a year ago, had almost dried up, and at one stretch had
to make a detour because the bank of the canal was flooded. Below a picture
illustrating the speed at which the water flowed. The primary reason for the
high water level is that yesterday he had about 7 cm of rain in our area
and across the border in Germany. This cause flooding in several places
including on the A1 motorway near the border crossing. Several cars got stuck on the
motorway. The Usselerstoom runs from the brook called Hegebeek to upper section
in Enschede of the Twentekanaal. It was constructed to feed the canal because it is nine
meters higher than the next section. The lock in Hengelo, with a drop of nine
meters, requires 15,120 m³ water each time it is used. For that
reason there is also a pumping station besides the lock.
Cubes from a sheet
In the past week, I have been working on a
program for calculating the number of cubes that can be made out of a
rectangle sheet for certain dimensions. There are eleven ways to flatten a cube. I mentioned this already on Sunday, July 7 when discussing the number of ways a cuboid with all different dimensions can be flattened. I started thinking
about the maximum number of unit cubes one could unflatten from a rectangle sheet of
size n and m where n and m are whole numbers.
There is a maximum number of cubes based on the fact that a unit cube covers
six unit squares. For given n and m the number can never be
larger than n×m/6 (rounded down). It is also clear that
the number is at least as large as for the maximum numbers for each possible
the rectangle can be divided into two smaller rectangles. Looking at the
results, it looks like that area not covered is at most twelve. It can be
proven for when one side is at most seven. The way this can be shown is that
an existing solution can be extended with some flattenings that fit nicely
together. There are three of these for which it is the case as is illustrated
below:
+--+--+--+--+--+--+
| | |
+-----+ +--+--+ +--+--+ +--+--+--+--+--+--+
| | | | | | | |
+--+--+--+--+--+--+ + +--+ + +--+ +
| | | | |
+--+--+--+--+ +--+ + +--+ + +--+
| | | | | | | |
+--+ +--+ +--+ + +--+ + +--+ +
| | | | | | | |
+--+ +--+ +--+ +-----+--+--+--+--+
| | |
+--+--+--+--+
For two of them, the repeat width is three and for one of them it is two. In
case the occur together (stacked on top of each other), this leads to a repeat
width of six with two copies of the ones that are three wide and three copies
of the one that is two wide. Note that the one on the right can occur in two
different ways when taking one flattening from the left and place it on the
other side. It is possible that there are other patterns with a combination of
flattenings that can be combined in a similar repeating pattern. The program
produces two output files: CubesFromSheet.txt and CubesFromSheetResults.txt. The first file contains solutions
like
Search all folds for 5, 8
8,5: 5(6 +5)
+--+--+--+--+--+--+--+--+
$ | |## ##|
+--+--+ +--+--+ +--+--+
| $ | |
+--+ +--+--+--+--+--+--+
| | $ |## ##|
+ +--+--+ +--+ +--+ +
| | |##$ |##|
+--+--+ +--+ +--+ +--+
|## ##| |## ##$ |
+--+--+--+--+--+--+--+--+
Which gives a solution for placing five cube flattenings in a eight by five
rectangle. The dollar characters also show line along which the pattern can
be extended, making it wider in steps of six and adding five more flattenings.
The other file contains a table of all the maximum values found so far or based
on combinations of rectangles. It also contains a list of all the values and
how they were calculated.
Using tiles
Since Sunday, I worked on a program based on tiles for the cubes from a sheet problem. The idea is to use one tile for each square on
the sheet that is used for a side of a cube. It took me some time to figure out
the right encoding for the sides of the tiles and some time to generate all
possible tiles correctly. The program CubesFromSheet2.cpp generates a set of 140 tiles and with these
generate sequences of columns of a given height. The number of possible
encoding and the number of possible columns of tiles grows rather quick (as was
to be expected). The number of possible encodings that can occur in a sequence
from a wall to a wall is much lower. In the table below for each height it
gives: the number of different encodings between the columns, the number of
different columns that are possible and the number of encodings that actually
occure in some sequence from wall to wall.
2 34 46 11
3 269 471 53
4 2148 4946 357
5 17170 51680 2193
6 137179 540345 13889
There might be a way to only generate only the encodings that can occur in
sequences from wall to wall. But even those numbers might be growing too
quickly to be usefull for finding more solutions.
This months interesting links
Home
| June 2024
| August 2024