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
|
Advent of Code: Day 1
I woke up early and failed to fall asleep again for the first day of Advent of Code. I solved the two puzzles without much problems. The first
part, I did in one try (including compiling correctly) and for the second
part, I needed two tries. I already had some idea that my first try of the
second part was going to fail, but I nevertheless tried it. Then I resorted to
a bit brute force approach for the second part. I also spend some time
improving MarkDownC, the literate programming tool I am using.
At 15:53, I bought the book The Temporal Void written by Peter F. Hamilton in English,
published by Pan Books in 2009,
ISBN:9780330443036, from Het Goed for
€ 2.99 and I bougth a lithograph by
Janny Endstra for €9.99.
Phoenix BIOS
At TkkrLab there was a box with old PCBs,
mostly old motherboards, but also one with 7400-series TTL ICs, donated by someone for everyone who wanted to use
them. On one of PCBs, I saw two ICs with the text Phoenix Technologies Ltd, 1987, 1988. The famous Phoenix BIOS, I presume.
I found a screwdriver to remove them and took them with me.
Advent of Code: Day 3
I have been thinking about the math formulation of this years Advent of Code puzzles just using sets and vectors. For puzzle of today you have to find some sub sequence of 2 and 12 (for the
second part) digits, such when interpretted as a number, the value would be
maximum. This could be described with:
puzzle(V in Vectors of {1, ,, ,9}, l in {1, .. , sizeof(V)})
= max { value in Nat
| exists v in subvectors(V):
(length(v) = l) and (value, v) in reverse_base_repensation(10)
}
In this the V argument is the puzzle input represented as a vector of
numbers from 1 to 9 (including) and l the required length, which is 2
for the first part and 12 for the second part. The function
reverse_base_repensation returns a set with values and vectors
representing that value in the given base where the most significant 'digit'
is at the first location of the vector. (A more logical choice would be to have
the least significant 'digit' first for when you want to define operations on
those vectors.) To make this a bijection (if I am not mistaken), the following
definition can be used:
reverse_base_repensation(n in Nat)
= { (n in Nat, v in Vectors of {0, .., n-1}
| n = sum i in {1, .. , size(v)}: v[i] * n ^ (size(v) - i)
and not v[size(v)] = 0
}
(One would still need to proof that this indeed a bijection.) A sub sequence or
sub vector is made by taking a specified number of elements from a vector and
arranging these in the same order. So, we need a vector with indices taking
from the size of the vector in increasing order. One can achieve this by
defining a sorting function for the values in a set and an order function.
sorting(S in Sets, order is Sets of Vectors of S) =
= { v is Vectors of S
| length(v) = size(S)
and (forall e in S: exact one i: v[i] == s)
and (forall i,j: i < j implies (v[i], v[j]) in order))
}
subvectors(V in Vectors)
= { v
| forall s subset {1, .. , size(V)}
exists a in sorting(s, {(a in Nat, b in Nat) | a => b }):
forall i in {1, .. ,size(v)}: v[i] = V[a[i]]
}
There are probably other and better ways to define this with mathematics and
with a more mathematical correct notation. (I prefer to use words for
mathematical symbols.) It is not tivial write a program that could execute
these kind of definitions, because it is not immediately clear which is the
correct execution method, let alone to optimize this into a low polynomial
algorithm, because this requires reasoning that goes through all the
definitions.
A free space for experimentation
I went to Rijksmuseum Twenthe to see the
exhibition Enschede: A free space for experimentation. The exhibition offers an
overview of a groundbreaking avant-garde that emerged in the city in the past
hundred years with as highlights the periodical 'De Enschedese School' and
the AKI between 1980 and 2002. 'De Enschedese School' was a periodical of
that was send by mail four to six times per year for a yearly subscription fee,
at first only as printed material but later also other forms of art. It was
started by Frans Oosterhof. I read in
one of the publications (that was folded open under glass) that Wim T. Schippers was also on of the editors. (See for some more
information the page about De Doka van Hercules, a comic book losely based on the Dutch literary
novel De
donkers kamer van Damokles by W.F. Hermans.) However, I agree with
Ernst Bergboer, who wrote (in Dutch): "There was no lie in it, but the significance of art, and
especially the experimental variants that emerged in Enschede, never penetrated
the city". When in 2002 the AKI merged with some other art schools, it became
less experimental and more traditional academic. I am not sure whether that
should be considered as an improvement.
I found the following works from the exhibition noteworthy:
- Model Study, Wim ten Broek, 1951-1952.
- Night with red, Jan Cremer, 1959.
- Garden, Folkert Haanstra (sr.), 1939.
- Untitled, Ben Akkerman, 1960.
- Untitled, Ben Akkerman, 1956-1961.
- Quarrels in the family, Ans Wortel, 1962.
- Untitled, Ben Akkerman, 1953.
- Houseboat in the Twente Canal, Klaas Bernink, circa 1961-1962.
- Interior, Klaas Versteegen, 1986.
- Freedom, Ria Rettich, 1982.
- The Italina Journey from the Brenner Pass to Rome, Uwe Poth, 1946.
- Untitled, Marlies Appel, 1990.
- Style Exercises, Raymond Queneau, 1980. (book.)
- The Painting, Frans Oosterhof, 1980. (Three-colour textile print and linen.)
- Villa Naispier, Jan van de Pavert, 1986. (Book and map.)
- Four oilballs on heavy sirup, De Enschedese School, 1980. (publication.)
- Colorless book, Ernie & Bidet, 1985.
- 650 Years of Enschede, De Enschedese School, 1975. (publication.)
- Post Shanghai, Harry Brusche, 1986. (publication.)
- The Darkroom of Hercules, De Enschede School, 1981. (publication.)
- No.9, De Enschede School, 1982. (publication.)
- Terra cotta me, baby, DE8/Kewi, 1983.
- Sword of Judgement, Kees Maas, 1985.
- The racing car, Gerrit de Wilde, 1984.
- Black Disk, Jan Dietvort, 1986.
- Untitled, Marlene Dumas, 1984.
- Mauhro's Canal, Kees de Groot, 1984. (Video 08'22min.)
I also walked through the rest of the museum and saw (among many other things)
the exhibition Calculating Empires, which I had seen before, and the
following works:
- Nude, Aat Veldhoen, undated.
- Half-nude, Aat Veldhoen, 1964.
- Half-nude (painter's wife), Jan Sluijters, circa 1912.
Sauerkraut
Today we opened our first jar of sauerkraut, which we made with white cabbage.
There are still jars in the meter cupboard with sauerkraut made from red
cabbage and Savoy cabbage. The meter cupboard has a relatively stable
temperature due to the district heating pipes. The potatoes (not visible in
the photo) are also from
Herenboeren Usseler Es. We browned 200 grams of
ground beef with an onion and three cloves of garlic. Then mixed in the
sauerkraut (500g) and left it simmer over low heat. Just before the potatoes
were done, we sautéed a red bell pepper in a little oil and added some
Mrs. H.S. Ball Chutney Hot for a sweet and a bit spicy sauce. We mashed the
potatoes with a generous splash of milk.
Phoenix BIOS (Part 2)
When I was ready to depart from TkkrLab, I
noticed that the box with PCB was still there. I causually made a remark about
having taken the Phoenix BIOS ICs from one of the other motherboards. Then
another member of the hacker space made some remark that he would like to have
them as he took the motherboard, which happens to be from a 286 PC, and already had noted that the BIOS ICs were missing. I have
promised to return them to him.
Enschede 0,7K
In the evening, I paid a short visit to the exhibition Enschede 0,7L at artist collective
B93 with photographs by Cyril Wermers
and collages by Torino.
Advent of Code
At 6:57:25, I finished this year of Advent of
Code. I spend the most time on solving the second part for last
Wednesday. My process of solving the second part is recorded on this mark down page. I am a bit proud that I was able to solve this all on
my own. I read on reddit that many people solving it with the Z3 Theorem Prover. I felt a bit getting trolled for todays puzzle,
because it looked like a very hard puzzle, even for the first part, but it
turned to be rather simple in the end. And the second part was just a bonus
part for it you had solved all previous parts, just like in the past years.
I was a bit afraid that this last puzzle would keep us busy till Christmas.
This months interesting links
Home
| November 2025