Previous Up Next

Diary, July 2024



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


Monday, July 1, 2024

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.


Tuesday, July 2, 2024

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.


Wednesday, July 3, 2024

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 charity shop 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:


Friday, July 5, 2024

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.

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.


Saturday, July 6, 2024

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.


Sunday, July 7, 2024

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.


Monday, July 8, 2024

Displaying brick flattenings

I wrote some code to visualize all 54 brick (with ratios 20 : 10 : 5) flattening, which I calculated yesterday.

This text is displayed if your browser does not support HTML5 Canvas.

Curly kale

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.


Friday, July 12, 2024

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.

M2-Mesoplanet

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.


Saturday, July 13, 2024

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.


Saturday, July 20, 2024

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.

Purple cauliflower

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.


Monday, July 22, 2024

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.


Saturday, July 27, 2024

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.


Wednesday, July 31, 2024

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 to quickly to be usefull for finding more solutions.


This months interesting links


Home | June 2024 | August 2024