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
|
Some snow
In the morning, there was broken layer of snow outside.
Yesterday, Conny saw a little snow falling from
the sky just for a few minutes. In the afternoon, there were some episodes of
snowing, sometimes even with large snowflakes, but most melted away although
it stayed on some more places than what we saw this morning.
More snow
During the night, more snow fell, resulting in more
snow on the ground, but still not completely covering the ground. The
temperature was very constant during the day, around 0.5° Celsius, with a
few times going up to 1.0° and in the evening shortly dropping to
-0.3°.
The Temporal Void
I finished reading the book The Temporal Void by Peter F. Hamilton, which I started reading
on December 1, last year, the same day I bought it.
The book has 746 pages, but I think it could have told the story in maybe half
of that number of pages. There are whole sections where nothing happens that
contributes to the story, no real important action and no emotional
development. This is the middle book of the Void Triology and because I had not
read the first book, I had some difficulty getting into the story. Although
there is one main story, there are also some side stories with characters with
no back-ground information about their relationship with other characters. It
would have been nice if the book would have had some short introduction or an
appendix explainting the characters and their relationships. I did have some
look at wikipedia to get some of these details. The plot twist at the end of
the book also feels like a deus ex machina although not totally unexpected. I do not sense an urge to
read more books by this author.
First workday
I woke-up from a nightmere where I found myself in an office where I had just
started a new job before the Christmas break, but I found myself not being able
to do anything, not knowing what I should do, with a very vague assignment
(make a game), not being able to remember the names of my colleagues and even
the name of the company, with a boss who came over to look at my empty desk,
and me wanting going over to him to resign. For me it was just an evil dream,
but today many people in North and South
Holland had trouble reaching their office, due to snow falling from the sky in large parts of the Netherlands. Several train
connections stopped and there were long traffic jams on the high ways due
to the snow and various accidents that took place. Also many flights on
Amsterdam
Airport Schiphol were canceled. It looks like we as a society are no longer
used to this amount of snow, because in the past this happened more often.
We also had some snow in the morning, which did stay for some hours. In the
afternoon, there was some more snow, which formed a thin layer on the ground
after some time. Although the air temperature has been mostly below zero degree
Celsius, it seems that the ground is still a bit above it. Yesterday we also
had a bit of wet snow. In the coming days some more snow has been predicted.
Such a long sequence with snow is rather exceptional.
In the past week, I made some progress on Task 4 of the GNU Mes replacement project.
I have witten C programs that can be compiled with the tcc_cc C compiler to replace the programs for various steps in the boot
process. The input files, which need to be compiled on forhand with and
existing C compiler, are:
- hex0_s: Seed executable compiled with tcc_cc, stack_c, blood-elf, M1, and hex2 from hex0.c.
- hex0_s.hex0: Produced with tcc_cc, stack_c, blood-elf, M1, and hex2 from hex0.c.
- hex2_s.hex0: Produced with tcc_cc, stack_c, blood-elf, M1, and hex2 from hex2.c.
- ELF-x86-debug.hex2: ELF-header file with some required code.
- blood-elf_s.macro: produced with tcc_cc, stack_c, and M1 from blood-elf.c.
- blood-elf_s.blood_elf: produced with tcc_cc, stack_c, and blood-elf from blood-elf.c.
- M1_s.macro: produced with tcc_cc, stack_c, and M1 from M!.c.
- M1_s.blood-elf: produced with tcc_cc, stack_c, and blood-elf from M1.c.
- stack_c_s.M1: produced with tcc_cc, and stack_c from stack_c.c
- stack_c_intro.M1: Intro file with definitions and some system functions
- tcc_cc.sl: produced with tcc_cc from tcc_cc.c
The T-diagram below shows the eleven steps (numbered from 2 to 12) that are
involved and which of the above input files are used:
Next would be to add some steps that reproduce the input files with the
binaries and the the C programs. Some more programs are also needed to unzip
and untar the sources of the Tiny C Compiler before it can be compiled.
But I am first going to focus on Task 1 and finish that. (I extracted the code
to create the T-diagram into the file TDiagram.js)
4 cm of snow
Yesterday, we did not see any snow fall from the sky.
When in the evening, I wanted to use the car, I had to remove about 4 cm
of snow from the car. Today, a large amount of snow sweeped over the country
from the west, resulting in about 700 Km traffic jams. We got about
4 cm of snow. The snow is affecting public life. Some grocery delivery
services did not operate and no paper waste was collected in Enschede, just to
mention two examples. We are a part of the Netherlands that did not get much
snow compared to the central area of the country. For tomorrow we will not
get much snow, probably some rain. The temperatures will be above zero Celsius.
But on Saturday, the temperature will drop substantial below zero and more
rain is to be expected. The freezing could also cause very slippery conditions.
On Sunday, the temperature might even drop lower.
Completing Task 1
In the past days, I continued working on Task 1 of the project replacing the GNU Mes compiler and simplifying stage0 of
live-bootstrap. I
spend time on figuring out why the resulting tcc executable differs
from the one build by live-bootstrap. I downloaded the last version of
live-bootstrap and spend some time to get it work again in the change root
environment with a script that stops when tcc-0.9.26 has been compiled. I used the header
files and the standard library code from GNU Mes as found in mes-0.27.1.tar.gz from July 6, 2024, which is
the one in the current version of live-bootstrap. I failed to reproduce the
exact same executable, but I managed to get an executable that only seems to be
different with respect to the size of some of the global variables. I wrote the
program asmdiff.c to compare the differences of the output produced
with the objdump -d command for both executables. It produces the
output:
Line 2: Difference:
1: ../../Emulator/rootfs/usr/bin/tcc-0.9.26: file format elf32-i386
2: tcc: file format elf32-i386
Offset 70 for 080832d1 to 080832d1 - 08083317 to 08083317
Offset 140 for 080832e5 to 080832e5 - 08083371 to 08083371
Offset 210 for 080832f9 to 0808360e - 080833cb to 080836e0
Offset 212 for 08083614 to 08084ab1 - 080836e8 to 08084b85
Offset 282 for 08084ac2 to 08084c85 - 08084bdc to 08084d9f
Offset 322 for 08084c96 to 08084c96 - 08084dd8 to 08084dd8
Offset 462 for 08084cb4 to 08084cb4 - 08084e82 to 08084e82
Offset 532 for 08084cc1 to 0809aad4 - 08084ed5 to 0809ace8
min_v1 = 080832d1
min_v2 = 08083317
None of the regions overlap
All the changes are found in constants that point follow the last line of
disassembled code, which I assume are references to global variables. One can
also see that the difference (the offset) increments with steps of 2, 60, and
70 with consecutive ranges. The most obvious explaination for this is that due
to larger sizes of some global variables, which could include certain string
constants. When I compare the output of the strings command on both
executables, I find a difference in size of 1270 and find that the executables
contain paths to header files and the libc.a library. I suppose that
most of these are contained in the debug information in the ELF file. The
difference in the length of the paths is 70, so, I suppose that some of the
paths also appeared in the global data section and that that explains the
differences. The following tasks of the project are about setting up an
alternative execution environment such as the one used in stage0, which when
established will allow to check this further. For the moment, this leads me
to the conclusion that
Cold and snow
Early this morning, around 8, the temperature at Twenthe Airport dropped to
-4.3° Celsius, which was the coldest in the Netherlands. Last evening, it
already started to snow and there was some more snow
and it stayed on the ground. During the day we had clear sky with a lot of
sunshine. Nevertheless. the temperature rise. At Twenthe Airport it reached
-1.6°C. Coming night is predicted to become even colder, around -10°C.
The prediction is that tomorrow it will be dry and sunny again, and that on
Monday there will be some snow, but also that the temperatures will be above
zero again the whole day.
#bootstrapable
I was looking at kaem-optional-seed in bootstrap-seeds/POSIX/x86 because Task 3 of the MES-replacement repository is about writing new kaem scripts written by Jeremiah Orians. I wondered if there also was a C
version of the kaem-optional-seed.hex0 available. I joined the
#bootstrapable IRC channel at Libera.Chat. I had some interesting conversations there, which also
reminded me of some other attempts to replace the GNU Mes compiler. At WHY2025, I already had heard that someone had written a C to Shell script
compiler. This was done by Laurent Huberdeau. For the code see: Pnut: A Self-Compiling C Transpiler Targeting Human-Readable POSIX Shell.
His master thesis is A Fully Reproducible C Toolchain Rooted on POSIX.
Liam Wilson is following a
similar approach to what I am doing. See his work in the repositories:
tcc_simple and
tcc_bootstrap_alt. Earlier this month, I found TCCBOOT: TinyCC Boot Loader developed by Fabrice Bellard, which uses TCC to boot Linux 2.4.26 from sources. It
looks like this is from 2004. Michael Ackermann is currently working on
compiling the Linux with the Tiny C Compiler (TCC). See the linux-tcc repository for his work. He reported a potential bug in TCC. Although, live-bootstrap uses 'frozen'
versions of TCC, there is still active development taking place. See the tinycc repository. I also heard about work on building a 'simple' Rust
compiler in C: Why am I writing
a Rust compiler in C?.
O2 Joggler
This evening at TkkrLab another member had
dumped some stuff on a table. Mostly Pentium capable desktops and laptops with Windows 95, some graphics cards and the like. There was also O2 Joggler amongh the items. It has a power adapter with a BS 1363 plug. Because we have a member who is from Britain, there was
a plug box with BS 1363 sockets. I tested it using the plug box and
decided to take it. I need to find an adapter before I can use it.
The Ape that Understood the Universe
I finished reading the book The Ape that
Understood the Universe: How the Mind and Culture Evolve by Steve Stewart-Williams, which I started reading on October 29. I bought
the book on July 9, 2021. I found it a rather boring
book, maybe because I already read some other books, like Our inner ape: the best and worst of human nature and The Mating Mind: How Sexual Choice Shaped the Evolution of Human
Nature. In some chapters, the author is rather repeative trying to make
his point with multiple examples. I was also a bit surprised about the two
appendices, but after finding the page Criticism of evolutionary psychology on wikipedia, I understand that it
is rather controversial in the USA.
Going into the city
In morning, I went to the Herenboeren Usseler Es
for the first time this year to collect some of the harvest. Last Saturday,
this was canceled due to the weather conditions. Among the harvest we got
parsnip, endive and Brussels sprouts on stalks. I removed the sprouts at the farm and kept one
of the heads. In the afternoon, I went into the city for the first time this
year. There I saw the exhibition Mustangs
with photographs by Mirjam Huisman
at Fotogalerie Objektief. I found this exhibition quite impressive. Afterwards,
I went to some bookshops. I saw the catalogue of the exhibition In & Out of Amsterdam: Travels in Conceptual Art, 1960-1976, but I did
not buy it. When I came home, Conny had made a
stew with the parsnip and a salade with the endive.
Book
At 16:24, I bought the book eindexamen catalogus 1986 written by Han
Morskieft and Jan Vermaat in Dutch and published by AKI Enschede in 1986
from Rataplan for € 1.99. I had
already seen the book when I visited the store yesterday, but I was not sure
whether I already had the book or not. After I concluded that I did not have
the finals catalogue of this year, I went back to buy it. According to the
back of the book, there should also be a cassette tape with the book. There
are still a number of finals catalogues from the AKI that are missing. As far as I know, in 2012 there was none. The
one for 2011 was printed as a supplement to the local newspaper. It can be
viewed at Internet
Archive as Artez Enschede Jaarboek with the cover image as page 1. I found second hand copies online for the years 1983, 1987, ans
1989, but not for 1990. I do not know of any before 1983. In 1981, the
book A Fluxus story was published about the AKI Fluxusfest organized
from September 21 to 26 with both activities as the AKI as at the University of
Twente with artists and peformers related to Fluxus.
This months interesting links
Home
| December 2025
| Random memories