Previous Up Next

Diary, January 2023



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


Sunday, January 1, 2023

15.7° Celsius

At the start of the night, the temperature at Twenthe Airport has gone up to 15.7° Celsius, which breaks last years record of 13.5° on this date.


Tuesday, January 3, 2023

Boundary of subsitution patterns

I have been thinking about boundaries of subsitution patterns for irregular grids of squares and equilateral triangle. If there are two irregular grids that are the same except for some changes in a closed area such that there is a single boundary where on the inside the grids are different while on the outside is the same, then this boundary has certain properties. The corners on the inside of this boundary cannot be smaller than 150°, because otherwise it is not possible to fill it in more than one way and is it thus not possible that it is on the inside of an area that can be filled in more than one way. For a corner with an angle of 150° one of the sides is touched by a triangle and the other by a square. For a corner with an angle of 180° in one alternative both sides have are touched by a triangle while in the other they are touched by a square. For a corner with an angle of 210° the same holds as with an angle of 150°. For corners with angles of 240° and 300° it is possible that in the alternatives the sides are touched by the same shape or by different shapes. Corners with an angle of 330° is not possible, because the corner on the outside is too small to fit anything. There are some more restrictions on angles of consecutive corners due to the shapes on the outside. I think it is possible to write a program that generates all possible boundaries, with increasing area, and see if they can be filled with at least two different patterns, such that the shapes on the inside are different. This could start with assigning different assignments of triangles and squares on the inside of the boundary and see if with this assignment the area on the inside can be filled.

Algol 68

I read some post on Hacker News about Algol 68 Genie. That reminded me that in my first year at the university we had to write programs in Algol 68. I also (vaguely) remember some story that the compiler that had some bug that caused it malfunction on some programs during a few months of the year and that instructors told students to wait a month and try again. This was probably not the Algol 68 compiler developed by the Dutch branch of Control Data Corporation and released in 1974. According to A Shorter History of Algol68 in which it says: "Zoethout ea, CDC Netherlands 1974. Full implementation, used mainly in teaching in Germany and the Netherlands on CDC mainframes". The report describing the compiler is: Algol 68, Version I, Reference Manual. The document describing the development of this compiler An early implementation of revised algol 68 makes mentions of the CDC 6000 series. According to the document Informatica aan de THT, fase 01, 1974 - 1981, this compiler was used at the university (then still called 'Technische Hogeschool Twente'), but I remember that we worked on a DEC 10 mainframe that was installed in 1975. The report A History of Algol 68 mentions Algol 68C, a portable compiler that also made available for the DEC-20 mainframes. Also A brief history of Algol 68 Genie makes mentions of the Algol 68C compiler on the DECsystems 10. I have a book by Cornelis H.A. Koster, Th.A. Zoethout, and H. Meijer, Systematisch programmeren in Algol 68, published in 1978, about systematic programming in Algol 68.


Saturday, January 7, 2023

The life of a software engineer

I came across the interesting blog Things they didn't teach you about Software Engineering, which I think described the reality of software engineering quite well. In the past years, I discovered that my greatest struggle with software engineering is my deep rooted sense of insecurity. Software engineering is a rather demanding task. I think it is one of the more creative types of engineering, where the product of the engineering is not the design for a system, but where the product is the system itself in the form of code. Furthermore, there are usually many different solutions for a problem and many different ways to express those solutions in code. With software engineering there are often also many single points of failure. You have to live with the reality of bugs that can express themselves in the most unexpected ways. Professional software engineering is usually done in teams where you have to work together with others on a single code base and where it is common that your colleagues review you code or at least come across it when they have to implement some feature or fix a bug. I often find myself worrying a lot whether the solution I have chosen is the right one or whether I have tested it enough. It is a common experience that you think you have tested all cases just to discover that you missed some. Either you learn to hide your insecurities or they drive you on a road to soul searching, possibly resulting in various forms of burnouts, in alienation from your family and friends outside of you work circle, in changing your world view and/or in losing your faith. But which might in the end result in a form of enlightenment.

Kunst en Koffie

At Concordia, I saw the exhibition Kunst en Koffie with art works (mainly prints) from their art lending collection. There was also a price list for items that you could buy. Some of the works that I found most interesting, drawings or paintings from houses on a water front, where not in the price list.


Sunday, January 8, 2023

Substitution patterns

I wrote the program irst_sub.cpp to find substitution patterns for irregular grids of squares and equilateral triangles. The program implements the ideas I expressed last week, which generates all boundaries that can be filled with at least two alternating patters. I wrote some code to visualize the solutions. While studying, I found another alternative coupling. It looks similar like one of the two I found before. It is shown below:

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


Monday, January 9, 2023

Book

At 17:36:49, I bought the book Historische atlas NL: Hoe Nederland zichzelf bijeen heeft geraapt written by Martin Berendse and Paul Brood in Dutch and published by Wbooks on Monday, September 2, 2019, ISBN:9789462583177, from bookshop Broekhuis for € 20.00.


Tuesday, January 10, 2023

Polygon triangulation demo

Today, I developed a demo for a simple polygon triangulation algorithm. I developed it for a presentation I want to give. It implements a sweep line algorithm. The Clipper2 - Polygon Clipping and Offsetting Library for Boolean operations on polygons also makes use of a line sweep algorithm, but the problem is a bit more complicated as there are more kinds of events that one has to deal with.


Wednesday, January 11, 2023

B93 Anno Nu

I went to see the opening of the exhibition B93 Anno Nu at the artist collective B93. It has been a long time I went there. The last time was on Wednesday, March 4, 2020. The exhibition had works by:


Thursday, January 19, 2023

Avatar: The Way of Water

This afternoon, Conny and I went to see the movie Avatar: The Way of Water. It is an impressive movie and a good sequal with an open end to further sequals. Good balance between action and drama. Also some interesting additions to the flora and fauna of Pandora, especially, the introduction of the Tulkun, a sentinent race of whale like animals.


Friday, January 20, 2023

Mystery machine code

Yesterday, the source code of The Lisa was released. See: The Lisa: Apple's Most Influential Failure. I looked around the website of Computer History Museum and came across: The Earliest Unix Code: An Anniversary Source Code Release, which is about Unix Book II from the papers of Dennis Ritchie, which contains almost 190 pages of printed source code listings, written in PDP-7 assembly code. It states that page 145-169 contain an unidentified program, perhaps an interpreter for a programming language? B? I did glance at the code, but I wonder if it is an interpreter for the B language. The instruction set is described in PDP-7 Reference Manual. Based on the description, it should be possible to write a small interpretter that could process the assembly listings.


Saturday, January 21, 2023

Underneath the wings of a butterfly

This afternoon, I visited the exhibition Underneath the wings of a butterfly at TETEM art space. I only saw the augmented reality part of the exhibition where you had to walk around the room with a tablet to which headphone were attached. You had to follow a butterfly. Interesting concept. There were a lot of flat photographs in the scenery. I did not wait for the virtual reality part of the exhibition.


Sunday, January 22, 2023

愉快的春节

Today is the first day of the year 4720, the year of the rabbit according to the Chinese calendar. The spring festival has begun.

Speck of snow

When we went walking this afternoon, there were some speck of snow falling from the sky, non of which stayed on the ground. On Friday, there was some substantial snow in the Southern parts of the country but nothing in our part of the country.

Small area substitution patterns

In the past weeks, I continued working on the program for find substitution patterns for irregular grids of squares and equilateral triangles. Below it shows 53 of the 15407 patterns with a boundary length of 27 that the program found, starting with the pattern with the smallest area. As can be seen, many of these patterns can be split in more than one smaller pattern. I have wondered whether I should exclude these combinations in the counts, but it should be noted that there are restriction on how substiturion patterns can touch each other. The program does check if the outside of the boundary can be filled with squares and triangles. It does this by checking if the coves can be filled. The count of substitution patterns per length of the boundary, starting with a length of 12, is: 1, 0, 1, 1, 4, 3, 12, 15, 44, 75, 200, 411, 1070, 2420, 6304, 15407, 40569, 104145. I have not found this sequence in The On-Line Encyclopedia of Integer Sequences®. The counts are given below. The area is expressed in the number of squares (columns) and triangles (rows).

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

n = 12

     |   6
-----+----
  12 |   1
total = 1


n = 13

total = 0


n = 14

     |   8
-----+----
  16 |   1
total = 1


n = 15

     |   9
-----+----
  19 |   1
total = 1


n = 16

     |  10  11
-----+--------
  20 |   2   1
  21 |
  22 |   1
total = 4


n = 17

     |  11  12
-----+--------
  23 |   1   1
  24 |
  25 |   1
total = 3


n = 18

     |  11  12  13  14
-----+----------------
  22 |   1
  23 |
  24 |       4       1
  25 |
  26 |       1   3
  27 |
  28 |       2
total = 12


n = 19

     |  13  14  15
-----+------------
  27 |   3   1   1
  28 |
  29 |   1   5   2
  30 |
  31 |   1
  32 |
  33 |   1
total = 15


n = 20

     |  13  14  15  16  17  18
-----+------------------------
  26 |   3
  27 |
  28 |       8           1   1
  29 |
  30 |       4   3   3
  31 |
  32 |       2   9   7
  33 |
  34 |       1
  35 |
  36 |       2
total = 44


n = 21

     |  14  15  16  17  18  19
-----+------------------------
  29 |   2
  30 |
  31 |       7   2   1   1
  32 |
  33 |       4   8   6   1   1
  34 |
  35 |       1  11  16   5
  36 |
  37 |       2   2   3
  38 |
  39 |       1
  40 |
  41 |       1
total = 75


n = 22

     |  12  13  14  15  16  17  18  19  20  21  22
-----+--------------------------------------------
  24 |   1
  25 |
  26 |
  27 |
  28 |
  29 |
  30 |              16   1
  31 |
  32 |               3  21               1       1
  33 |
  34 |                   8   8   2   3
  35 |
  36 |                   7  13  21   2   3
  37 |
  38 |                   1  12  24  25   3
  39 |
  40 |                   3   3  11   4
  41 |
  42 |
  43 |
  44 |                   2
  45 |
  46 |                   1
total = 200


n = 23

     |  16  17  18  19  20  21  22  23
-----+--------------------------------
  33 |  14   4
  34 |
  35 |   4  22   4   2   1   1
  36 |
  37 |      12  26   5   7   1   1   1
  38 |
  39 |       6  18  50   7   2   1   1
  40 |
  41 |       2  14  40  68  28   2
  42 |
  43 |       2   6  14  22   8
  44 |
  45 |       1   2   7   2
  46 |
  47 |
  48 |
  49 |       2
  50 |
  51 |       1
total = 411


n = 24

     |  14  15  16  17  18  19  20  21  22  23  24  25  26  27
-----+--------------------------------------------------------
  28 |   3
  29 |
  30 |
  31 |
  32 |           5
  33 |
  34 |              55   5   2
  35 |
  36 |              20  67                   1           1   1
  37 |
  38 |               6  32  24   6   2   4
  39 |
  40 |                  21  55  30  19   4   1   3
  41 |
  42 |                   7  21  87  50   2   2   2
  43 |
  44 |                   7  18  53 123 114  15   5
  45 |
  46 |                   1   6  11  52  53  19
  47 |
  48 |                   2   3  17  13   8
  49 |
  50 |                   1   1   2   3
  51 |
  52 |                   3
  53 |
  54 |                   1
  55 |
  56 |                   1
total = 1070


n = 25

     |  15  16  17  18  19  20  21  22  23  24  25  26  27  28
-----+--------------------------------------------------------
  31 |   2
  32 |
  33 |
  34 |
  35 |           2
  36 |
  37 |              63  26   4
  38 |
  39 |              34 101  18   4   2   1   1
  40 |
  41 |               4  46  91  19   6   8   1   1   1   1
  42 |
  43 |               4  18  85 115  41   9   1   2   1   1   1
  44 |
  45 |                   9  29 142 168  29  10   8   1   1
  46 |
  47 |                   6  20  73 200 279  77  20   5
  48 |
  49 |                   3   6  14  91 167 130  41
  50 |
  51 |                       8  13  33  44  23
  52 |
  53 |                   2   4  16  11  10
  54 |
  55 |                   1   1   2   5
  56 |
  57 |                   1
  58 |
  59 |                   1
  60 |
  61 |                   2
total = 2420


n = 26

     |  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
-----+--------------------------------------------------------------------
  32 |  16   1
  33 |
  34 |   3
  35 |
  36 |          24   1
  37 |
  38 |           3 206  13  11   2   1
  39 |
  40 |              81 247  16                   1               1       1
  41 |
  42 |              56 146 121  13   6   2   4
  43 |
  44 |               4  83 196 122  22  25   3   3   1   4
  45 |
  46 |               7  20 122 256 165  28   3   3   1       2
  47 |
  48 |                  19  47 233 383 190  25  25   4   4   1
  49 |
  50 |                   5  27  77 300 571 319  52  28   6   2
  51 |
  52 |                   8   6  39 109 374 397 247  37   4
  53 |
  54 |                   1  11  10  58 132 178 102  32
  55 |
  56 |                   3   6  26  24  51  24  11
  57 |
  58 |                   1   1   6  13   5   3
  59 |
  60 |                   3   1   4   7   2
  61 |
  62 |
  63 |
  64 |                   2
  65 |
  66 |                   1
  67 |
  68 |                   1
total = 6304


n = 27

     |  17  18  19  20  21  22  23  24   25   26  27  28  29  30  31  32  33
-----+----------------------------------------------------------------------
  35 |  13   4
  36 |
  37 |   4   1
  38 |
  39 |          19   5
  40 |
  41 |           4 269  88  34   4
  42 |
  43 |             153 490  99  16   7    2    1   1
  44 |
  45 |              53 227 431  79  25    7    9   1   1   1   1   1
  46 |
  47 |              25 106 330 475  76   59    9   3   1   2   1   1   1   1
  48 |
  49 |               2  27 171 481 597  110   26   9   8   7   2   1   1   1
  50 |
  51 |               7  22  69 326 782  722  114  46  12   7   3   1
  52 |
  53 |                   9  28 105 422 1100 1022 255  77  35  17   3
  54 |
  55 |                   4  11  57 155  583  989 772 250  46   8
  56 |
  57 |                   6   9  24  87  266  559 589 343 109
  58 |
  59 |                   1  15  18  46  127  148 138  60
  60 |
  61 |                   1   3  19  17   33   28  27   2
  62 |
  63 |                   1   1   8  18   14   16
  64 |
  65 |                   3   2   4  11    7
  66 |
  67 |                   1
  68 |
  69 |                   1
  70 |
  71 |                   1
  72 |
  73 |                   2
total = 15407


n = 28

     |  17  18  19  20  21  22  23   24   25   26   27   28   29  30  31  32  33  34  35  36  37  38
-----+----------------------------------------------------------------------------------------------
  34 |   4
  35 |
  36 |      58   4   2
  37 |
  38 |      19  14
  39 |
  40 |       6     156   9   2
  41 |
  42 |              27 710  37  22   13    6         2
  43 |
  44 |               6 352 781 139   21                        1                   1           1   1
  45 |
  46 |                 251 837 566   58   29    7    2    5
  47 |
  48 |                  70 355 930  557  107   30   31    5    2   3   1   4
  49 |
  50 |                  54 128 525 1180  469  173   36    6    4   1   2           3
  51 |
  52 |                      64 258  819 1593  609  109   39   12  27   3   4   1   3
  53 |
  54 |                   8  18 107  416 1360 2021  736   96   44  11   5   2   2
  55 |
  56 |                   4  19  36  187  585 1891 2556 1167  205  96  58  24   5   4
  57 |
  58 |                       6  24   62  257  841 2122 2092  954 287  95   5   2
  59 |
  60 |                      11  10   65  128  452 1125 1921 1569 751  87  30
  61 |
  62 |                       3  14   15   74  197  467  680  676 344 156
  63 |
  64 |                       4   8   29   32   96  128  181  110  65   4
  65 |
  66 |                           2    7   17   45   72   40   31   3
  67 |
  68 |                       4   3   13   18   32   24    6
  69 |
  70 |                       1   1    4   16    2    3
  71 |
  72 |                       1        2    3    5
  73 |
  74 |                       1
  75 |
  76 |                       3
  77 |
  78 |                       1
  79 |
  80 |                       1
total = 40569


n = 29

     |  19  20  21   22   23   24   25   26   27   28   29   30   31   32  33  34  35  36  37  38  39
-----+-----------------------------------------------------------------------------------------------
  39 |  69  22   4
  40 |
  41 |  33  36   6
  42 |
  43 |   4     163  33    7
  44 |
  45 |   4      42 1099  310   99   45    6
  46 |
  47 |           6  667 1840  593  111   29    8    5    1    1
  48 |
  49 |           2  259 1386 2031  330   80   34   11   10    1    1    1   1   1   1
  50 |
  51 |              148  491 1631 2147  513  112   75   16    3    3    1   2   1   1   1   1   1
  52 |
  53 |               42  187  778 2369 2177  529  145   32   13    8   10   8       2   1   1   1   1
  54 |
  55 |               38  102  409 1278 3307 2594  453  159   46   30   11   8   2   4   1   1   1
  56 |
  57 |                    30  140  556 2120 4676 3386  497  164   75   22   9   8   8
  58 |
  59 |               11   13   59  263  819 3059 5653 4049  843  249  111  68  28  16   7
  60 |
  61 |                4   16   27  137  365 1274 3990 5538 3239 1008  427 104  24  13
  62 |
  63 |                     8   23   90  231  665 1771 4257 4965 3129  791 152  54   8
  64 |
  65 |                     4    5   34  105  331  911 1860 2991 2474 1413 454  33
  66 |
  67 |                     4   17   27   81  151  352  623  759  694  364 118
  68 |
  69 |                     4    8   23   29  100  207  260  245  231   90   6
  70 |
  71 |                     1    5   11   18   63  112   86   77   23    6
  72 |
  73 |                     2    1   12   21   22   25   20    2
  74 |
  75 |                     1    1    4   21   11   13    8
  76 |
  77 |                     2    2    3    5   14    2
  78 |
  79 |                     1              1
  80 |
  81 |                     2
  82 |
  83 |
  84 |
  85 |                     2
  86 |
  87 |                     1
total = 104145


sum

     |   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  32  33  34  35  36  37  38  39
-----+--------------------------------------------------------------------------------------------------------------------------------------------------
  12 |   1
  13 |
  14 |
  15 |
  16 |           1
  17 |
  18 |
  19 |               1
  20 |                   2   1
  21 |
  22 |                   1   1
  23 |                       1   1
  24 |                           5       1
  25 |                       1
  26 |                           1   6
  27 |                               3   1   1
  28 |                           2      11           1   1
  29 |                               1   7   2
  30 |                                   4  19   4
  31 |                               1       9   2   1   1
  32 |                                   2  12  49   1           1        1
  33 |                               1       4  22  10   1   1
  34 |                                   1      11  67   7   5
  35 |                                       1  15  53  13   2   1   1
  36 |                                   2       7  33 170   7   5             1              1    1
  37 |                                       2   2  19  90  31  11   1    1    1
  38 |                                           1  18  78 269  22  13    6    1
  39 |                                       1       6  52 239  52  10    3    2    1
  40 |                                           3   3  38 140 433  44    6    1    3         1                   1        1
  41 |                                       1       2  18 123 464 141   42   12    1    1    1    1
  42 |                                                   7  77 260 881   52   30   17   10         2
  43 |                                               2  10  36 260 776  173   32    8    4    2    2    1
  44 |                                           2       7  22 142 671 1017  176   51    3    3    1    4    1                   1           1   1
  45 |                                               1   2  20  84 411 1698  418  134   60   16    2    1    1    1    1
  46 |                                           1       1  13  31 425 1146  750   86   32   10    3    5    2
  47 |                                                       6  45 185 1197 2594  746  190   43   11    6    3    2    1   1   1
  48 |                                                   2   3  36 130  596 1313  747  132   55   35    9    3    3    1   4
  49 |                                               2       3   8  43  521 2034 2758  481  106   43   19   17    3    2   2   2   1   1
  50 |                                                   1   1   7  84  205  825 1751  788  225   64   12    6    1    2           3
  51 |                                               1          15  35  250  861 2436 2869  627  158   87   23    6    4   1   2   1   1   1   1   1
  52 |                                                   3       8   6  103  367 1193 1990  856  146   43   12   27    3   4   1   3
  53 |                                                       2   4  25   81  302 1200 3469 3199  784  222   67   30   11  10   8       2   1   1   1   1
  54 |                                                   1       1  19   28  165  548 1538 2123  768   96   44   11    5   2   2
  55 |                                                       1   1   6   54  159  564 1861 4296 3366  703  205   54   30  11   8   2   4   1   1   1
  56 |                                                   1       3  10   45   60  238  609 1902 2556 1167  205   96   58  24   5   4
  57 |                                                       1       6    9   54  227  822 2679 5265 3729  606  164   75  22   9   8   8
  58 |                                                           1   1   12   37   67  260  841 2122 2092  954  287   95   5   2
  59 |                                                       1       1   26   31  105  390  967 3197 5713 4049  843  249 111  68  28  16   7
  60 |                                                           3   1   15   17   67  128  452 1125 1921 1569  751   87  30
  61 |                                                       2       1    7   35   44  170  393 1301 3992 5538 3239 1008 427 104  24  13
  62 |                                                                    3   14   15   74  197  467  680  676  344  156
  63 |                                                               1    1   16   41  104  247  665 1771 4257 4965 3129 791 152  54   8
  64 |                                                           2        4    8   29   32   96  128  181  110   65    4
  65 |                                                               3    2    8   16   41  105  331  911 1860 2991 24741413 454  33
  66 |                                                           1             2    7   17   45   72   40   31    3
  67 |                                                               1         4   17   27   81  151  352  623  759  694 364 118
  68 |                                                           1        4    3   13   18   32   24    6
  69 |                                                               1         4    8   23   29  100  207  260  245  231  90   6
  70 |                                                                    1    1    4   16    2    3
  71 |                                                               1         1    5   11   18   63  112   86   77   23   6
  72 |                                                                    1         2    3    5
  73 |                                                               2         2    1   12   21   22   25   20    2
  74 |                                                                    1
  75 |                                                                         1    1    4   21   11   13    8
  76 |                                                                    3
  77 |                                                                         2    2    3    5   14    2
  78 |                                                                    1
  79 |                                                                         1              1
  80 |                                                                    1
  81 |                                                                         2
  82 |
  83 |
  84 |
  85 |                                                                         2
  86 |
  87 |                                                                         1


Tuesday, January 24, 2023

Fairy ring

I found a fairy ring in the back garden of our house. It is actually inside an old doormat.


Thursday, January 26, 2023

Museum No Hero

Conny and I went to Museum No Hero where we saw two exhibitions. First we saw the exibition Oog in Oog met de Wereld (Eye to Eye with the World). The works that I found noteworthy (all of them, if I am not mistaken): From the exhibition Verzamelen is kleur bekenen. De wilde collectie van Geert Steinmeijer (Collecting is showing your true colours. The wild collection of Geert Steinmeijer), I found the following works noteworthy.

Afterwards, we walked towards Twickel Castle and around the area. The castle now belongs to a foundation that owns large areas of land around the city Delden.


Sunday, January 29, 2023

Dune 2021 film

In the past weeks, I spend some time working on my page about Dune 2021 film where I compare the transcript with the book, a script and the screenplay. For this I watched most of the film and attempted to count the number of shots in every scene. It was interesting to watch it in such a detailed way, because it made me aware of the sometimes subtle symbolism of certain shots. The most obvious being the various shots of the ox. Another example is the shot of Paul closing his fist with the ducal ring inside followed by a shot of the open hand of Leto hanging down.


This months interesting links


Home | December 2022 | February 2023 | Random memories