Friday, March 6, 2026
19.6° Celsius
The temperature at Twente Airport has gone up to 19.6° Celsius, which breaks the previous record of 18.1°C on this date in 1989. In the city I saw some magnolia which already started to flower. I saw some pink and white spots at the top of some of the buds of our magnolia.Link
- "We ran out of columns" - The best, worst codebase
- RISCY-V02: A 16-bit RISC processor, logically pin-compatible with the WDC 65C02
Thursday, March 5, 2026
Temperature records
I wrote a program to generate a page with a list of daily temperature records since August 1981 (the year I came to live in Enschede) as recorded by the nearest official weather station at Twente Airport based on the file etmgeg_290.zip that can be downloaded from the website of the Royal Netherlands Meteorological Institute. Last Tuesday, the temperature reached 17.6°C at Twente Airport beating record 17.2°C from 1959 and today it reached 17.8°C breaking the record 15.6°C from 2013.Link
Wednesday, March 4, 2026
Moon in the sky
This evening, I decided to biked to the care center where Andy lives to attend some meeting because the weather is quite nice with (near) record temperatures and clear skies. On the way going there, I followed some sign for the direction of Oldenzaal taking the road called Oldenzaalseveldweg, which took me into a forrest area (officialy closed after sunset) and resulted in some detour. The total trip was about 16.4 kilometer and took me 64 minutes. On the way back, I took a route along the main roads avoiding some short-cuts, which was about 16.1 kilometer and took me 67 minutes. The road from Losser to Enschede was rather dark except for the light of the moon, because it does not have street lights except near some road crossings. At 21:59, I took the picture shown below approximately matching this Street view image:
Links
- But How Does a Computer Actually Work? (from scratch, no prior knowledge needed)
- I made my own smartphone with 4G!
- Flip Distance of Triangulations of Convex Polygons / Rotation Distance of Binary Trees is NP-complete
- 130k Lines of Formal Topology in Two Weeks: Simple and Cheap Autoformalization for Everyone?
Monday, March 2, 2026
Itchy Boots
I have been following the YouTube channel Itchy Boots about the travels of Noraly for some months and I also started to track her biking routes in Google Earth and recording them in a KML file. She posts her videos on Sundays and Wednesdays. She just announced that they will be posted on Sundays only for the coming time. I guess that there are some troubles with the planning of her trip for the coming season. The videos she puts on are from a trip she made around August and September 2025. I am using Google My Maps to generate most of the tracks. It has an option to export tracks as KML/KMZ files. Her videos only cover short parts of her biking trips and it is not always possible to establish which route she took exactly. The current videos are about traveling throught China, which have complicated things a bit. On January 25, I already wrote about a program that I use to correct for the offset between the roads and the satelite images. For all the Chinese text, I have been using the Google Translate option for translating texts on images. I have been using the Chinese amap.com for finding locations with Chinese texts. It does not always works well, because signs on shops and restaurants usually do not contain names, but just state the type of shop it is. You can search for hotels, shops, and hospitals for example, just like with Google Maps. I also have not figures out if amap.com has an English mode and if so, how to enable it. The roads in Google Maps within China are often outdated or contain errors, causing it to generate incorrect routes, which require some editing in Google Earth. In the video of last Sunday, Heading deeper into the land of the DRAGON (unseen China) |S8, EP124, she and mister Bing, her (manditory) guide for traveling within Xinjiang, visit the shop (selling pig meat) of his grandfather-in-law because it happened to be along the route. The fragment starts at 6:39. Yesterday evening, I already spend a long time geolocating it, assuming that it was within the city limits of Hami, a large city along the route. According to the sign at the start of the road they enter, it must be near a hospital, because the sign talks about the area being a temporary parking locations for a hospital. I search for locations near hospitals and also for locations near "pig meat shops", but failed to find it. This evening, I discovered a location matching that is actually a bit to the west of the city in a small town. I also succeeded in finding the hotel they stayed at the end of the trip and the 'shopping' center with traditional Chinese looking buildings in the city of Balikun/Barköl, which is in Barkol Kazakh Autonomous County. I felt that Bing maps had beter satelite images for the city. The map in OpenStreetMap shows most of the roads, but only a few buildings, however, it does indicate the location of the remaining old city walls, which are not marked on any of the other maps. In other locations, I also saw the, sometimes barely visible, remanents of the Chinese wall. I have noticed that OpenStreetMap often does show trails that are not found on online road maps.Links
Saturday, February 28, 2026
Sickhouse Warming (Day 2)
Today, I attended the second day of Sickhouse Warming. I primarily went there to watch movies and documentaries. I saw:- At 12:30, the movie Flow by Gints Zilbalodis. I was afraid that I would got bored during this movie, but it was quite entertaining.
- At 15:30, the documentary Hotel Mokum, which is about a group of people squatting a former hotel in Amsterdam and being evacuated.
- The documentary This is TMI. Quite funny and entertaining.
- The documentary Happiness by Firat Yücel about an activist who struggles with insomnia due to being able to stop following news from Palestine and across the region. (I struggled abit with keeping my eyes open, not because it was boring.)
- At 17:30, the documentary Still playing by Mohamed Mesbah about the game developer Rasheed Abueideh who created the game Liyla & The Shadows of War and is now working on Dreams on a Pillow.
- Into the evening, the randomly selected cult movie Bad Taste, the first movie made by Peter Jackson.
Link
- emuko: Fast RISC-V emulator written in Rust. Boots Linux.
Friday, February 27, 2026
Sickhouse Warming(Day 1)
In the afternoon, I went to the opening of Sickhouse at their new location. They have organized the Overkill Festivals. Last year, there was no Overkill festival, because they had to evacuate the old location and were still refurbishing the new location, which we opened with a small festival today and tomorrow. Because I went into the city, I first went to see the exhibition FIA (Fine Art Intelligence) at photo gallery Objektief. At Sickhouse, I attended the afternoon panel talks.Feminist media, Feminist practice
The first panel talk, the panel members first gave an introduction. Christie Morgran talked about Softer, a movement for softer digital futures. It is based in both Copenhagen and London. They also plan on having an event in Amsterdam, possibly with Valerie Fuchs. They had an online event with Mindy Sue along side the Soft Robot event that was held last week. Next Vanity Roxane talked about The Fem Dem that she started to empowering woman. She mentioned Open Source Radio, where they curate music, and Nieuwe Electronische Waar, as some of the things she was/is involved with. As the last panel member, Juliette Lizotte introduced herself. She is involved with Hackers & Designers in Amsterdam. She talked about two projects: Sisters of the Wind and Harri Kanta, which was shown on Overkill 2024. During the panel discussion, Christie remarked that she noted that technical tutorials, such as for example. for 3D modeling, are ofthe hyper masculine.ALT-Tech for Alternative Futures
Roos Groothuizen calls herself a media artist who cares about human rights. She talked about a DIY alternative for digital doorbells that upload footage to servers and are used for surveillance. See instructions in English for building one. Pablo San Gregorio is a game designer, who has one of his creations in the exhibition, and an aspiring artefact artision. He wants to know how things do work and how they are made. Sunjoo Lee talked about her Electric Garden project that involves microbial fuel cells and one of the projects she did at Creative Coding Utrecht. Rein van de Woerd talked about permacomputing and about self hosted websites.Finding, Building, Claiming our Space
In this panel Tessa Wiegenrinck (photographer), Alicia Breton Ferrer, (from Roodkapje Rotterdam), Marie Janin (from Sickhouse), and Jasper Schütz and Reinier (both from Studio Complex Enschede were asked questions about their art spaces.Exhibition
In the exhibition at Sickhouse the following artworks, installations, and/or games were present:- Drift, a sound and light interactive installation by Maggie Khorrami.
- I remember… Ongoing stories and memories of Sickhouse's community, a video installation. Collective archive by Sam & Tessa.
- Mega Dreoilín, walkthrough video installation by Han Hogan and Donal Fullam. An art project in the form of a 16-bit video game about the challenges to be young and find a house in Dublin in the middle of the housing crises.
- RoBowGotchi, an Art-cade Machine by Vincent Schoutsen, Wouter van Veldhoven, Leon Denise & Emilie Breslavetz.
- Alternative ways of inhabiting space, an interactive Installation by Paulina Martinez.
- Various photo presentations by Tessa Wiegenrinck.
- Loopscroll game by Pablo San Gregorio.
- Crockpot game by Emily Kroonce & Blake Andrews.
- Bubble Rage game.
- Border game.
- Somnia game.
I also saw the book Deep Simulator Ag in the 'library'.
Drift performance
Around 20:00, I watched the performance of Maggie Khorrami with her installation Drift, a sound and light interactive installation. During the performance she controlled the music with “RAGΞN", a wearable instrument — a body extension built with Conductive Rubber Cord Stretch Sensors that translates movement into sound. Interesting.Link
- Slide Rules: Cellular automata
Thursday, February 26, 2026
Crocuses
Below a picture of the crocuses in our front garden. They opened in the past days. Yesterday, there were record temperatures in the rest of the country. At Twente Airport the temperature went up to 16.7° Celcius, but that did not break the record from 2019 for this day. Today, the temperature went up to 17.4°, which does not break the record of 19.3° from 2019 for this day. It looks like spring has started with temperatures higher than normal.
Tuesday, February 24, 2026
Link
Saturday, February 21, 2026
RSS feed
Someone asked if I did have RSS feed for my website. I extended my chkhtml.c program to generate an RSS file, the file: rss.xml, based on the information available on my home page. The descriptions with the items are generated from a comment starting with Descr: that are removed when the file is uploaded. All the items also need to have a GUID. First, I just generated random GUID's using the code found here. Then I decided to generate it fromt the link. I arrived at the following statement:v = 12582917L * v + v % 12289 + ch;The variable v is a 64-bit unsigned integer and for ch the next (cyclic) character of the link is used. The value of v is used for generating the next 'digit' of the GUID until all are generated. You could also view this as a hash function. I got the two prime numbers from good hash table primes.
Friday, February 20, 2026
Link
Thursday, February 19, 2026
Link
Wednesday, February 18, 2026
Books
At 16:04, I bought the following two books from Rataplan:- De Aanschouw written by Edo Dijksterhuis in Dutch and published by Stichting Met een grote K in 2023, ISBN:9789462625341, for € 2.99.
- Wildsam Field Guides: Los Angeles edited by Taylor Bruce, illustrations by Caroline Tomlinson, written in English, and published by Wildsam Field Guides in 2017, ISBN:9781495155390, for € 1.50.
- De harde kern 1, published in 1992, ISBN:9789041701770.
- De harde kern II, published in 1993, ISBN:9789041701787.
Link
Monday, February 16, 2026
Links
- How many registers does an x86-64 CPU have?
- PlanckForth: Bootstrapping an Interpreter from Handwritten 1KB Binary
Sunday, February 15, 2026
2 cm snow
Yesterday, it was already on the news that we would get lots of snow today. During the night the temperature at Twente Airport dropped to -8.2° Celsius, which is rather cold for this time of the year. Today, the day started with a clear blue sky and a lot of sunshine causing the temperature to go up to 4.2° Later in the afternoon, she sky became more and more clouded. Around 20:00 in the evening, the temperature dropped to around zero and it started to snow. Around 22:00, I measured about 2 cm of snow on a surface about the ground. The ground was also covered with snow, but maybe not that high.Saturday, February 14, 2026
Loving Art
I went into the city and went to see the exhibition Loving Art at Creative Broedplaats Enschede. The official opening is this evening at 19:00, but they opened at 14:00. I liked the following works:- Souvenirs from past lives, Desire R. De Lacy, 2026.
- All of Your Love (diptych), Henk Holtkamp, 2026.
- Untitled, Anastasia Karsanidi.
- All of My Love, Henk Holtkamp, 2026.
- Sweater with embroidery, Joëlle Lola.
- Untitled, Iulia Paraipan.
- Collage of 14 works, Berta Super Hero.
- Echoes Across the Distance (two self-portaits exchanged between the artists as a tribute to a friendship), Tom de Groot & Wahab Saheed.
- Untitled, Dorothea Christiane van Bakel - Hassink
- Consent as a tool for connection (video and project presentation), The Connection Project
Friday, February 13, 2026
Link
Thursday, February 12, 2026
Links
Wednesday, February 11, 2026
Undertow
In the evening, I went to the opening of the exhibition Undertow with work by Judith Schepers at artist collective B93. It was an interesting exhibition. Some of the works are:- Collection of framed animals bones.
- Drawings on photographs from French from an old book
- Collection of black stones place in a spiral
- The Wanderer And Her Shadow II, 94×128 cm, photo on linen and embroidery thread, 2026
- Phoenix, photoprint and ink on veil, 2025.
- Old white wall mounted telephone (which I did not recognize as belonging to the exhibition).
- Analog photo on 20 year old baryta paper and syberian chalk
- Labyrinth, 21×15 cm, ink, chalk, home-cooked charcoal and watercolor on paper, 2024.
- Untitled, 40×80 cm, photograph and Siberian chalk on birch plywood, 2022.
I took a postcard with a reproduction of Labyrinth, which shows a labyrinth with a key at the center between the underground roots of two trees standing close to each ohter, and a small button with the name Cas Klaver.
Monday, February 9, 2026
Polygons problems
A few days ago, I came across the article Any-Angle Flow Field Algorithm for Navigation on Reddit, which made me think about similar algorithms I worked on related to finding the shortest path between two points in a 2D plane that is limited by polygons on integer points. It made me also think about the Clipper2 - Polygon Clipping Offsetting & Triangulating library, which is used in many slicers for 3D printing. (The triangulation function is new to me, but it does not surprise me at all, because it is very close to the other functions.) Algorithms to combine polygons (to calculate the union, intersection or difference) have to calculate the point where two line segments cross. If the end points of the lines have integer coordinates this does not guarantee that the intersection also has integer values, because it involves a division and because a division only returns an integer when the numerator is a multiplicate of the denominator, which is often not the case. One solution is to 'round' the intersection to the closest point with integer values. This could change the area of the polygon. So, how to deal with this? One could define that two polygons are equivalent when they cover the same grid points (with integer values). With cover we mean, points that are either inside the polygon or on the polygon. In that case it is possible to construct a combination of two polygons, but it will probably increase the number of line segments that are needed. I fear that the algorithms to implement this is far from trivial to deal with all possible cases. It is easy to define which grid points should be included into a combination of two polygons, but if the number is large, it could be difficult to construct a small sets of line segments that enclose all those points. It is possible that a combination operation results in disconnected collections of points that require multiple polygons.Friday, February 6, 2026
AI building a C compiler
Yesterday, Anthropic announced that they tasked Opus 4.6 using agent teams to build a C Compiler in Rust and it in two weeks and burning the equivalent of 20.000 USD in tokens produced a working compiler. I still believed that AI would not be able to write complex program such as compilers, but appearingly, I am wrong. I scanned through the repository, primarily read the documentation, which I presume was also generated, and discovered that it covers more of C than what I have implemented in my C compiler for replacing the GNU Mes compiler used in live-bootstrap. I should be noted that they did use a very large set of unit tests to let the AI generate code for. This is a kind of ideal situation, because in practice it hardly ever happen that such sets of unit tests are available when a new piece of software is available. There is a method called test-driven development (TDD) where you first write unit tests for each part of functionality you want to implement. So far, I have not really worked with AI agents, not believing in there usefulness, but now I think I should maybe look into it more. It will definitely have an impact on software development in the coming years.Link
- MenuetOS is an operating system in development for PC, written completely in 64bit assembly language
Thursday, February 5, 2026
GNU Mes replacement for x86
I am now at the point that I have a replacement for stage0 of live-bootstrap that does not depend on the GNU Mes compiler for the x86 target. On January 27, I had already shown that I had written a C-compiler that could compile the Tiny C Compiler version 0.9.26. In the past week, I got all other utilities that are needed to compile the Tiny C Compiler from the source files copying the structure that is used in live-bootstrap repository. In the future, I might make a clone of that repository with my alternative for stage0. With this, I have theoretically completed tasks 2, 3, and 4 of the project. I might still need some additional testing, fine-tuning, and documenting.Tuesday, February 3, 2026
Links
Monday, February 2, 2026
Links
Saturday, January 31, 2026
Exhibitions
I went into the city. I first went to see the exhibition Mustangs again. Next, I walked to Concordia, where I saw the new exhibitions Chronical with video projections by Peng Zuqiang 彭祖强 and Art Next Door with photographs taken by various amateur photographers from all parts of the city guided by professional photographer Gill Bollegraf. There was one interesting photo showing the tower of the Grote Kerk (the large church), the tower of the town hall, and the After a short visit to bookshop Broekhuis, I biked to the AKI where there was an open day. In the wood working shop, some students were working. I was attrachted by the smell of wood. I walked through the building and saw some interesting work. I talked a bit with one of the students. At 15:51, I bought two cards each for € 3.00. One card was the 'The Hermit' card from a deck of tarot cards designed by Minka Holtrop. The other was a postcard with a reproduction of paiting of a girl. I thought I took a picture of the name of the artist, but at home I could not find it. I guess she is a student and I might still discover who she is. Next, I went to Rijksmuseum Twenthe. At the exhibition Marika Eshuis Collection, I saw the following works:- Study 'Bal Tabarni', Jan Sluijters, ca.1906.
- Lady in Evening Dress (Greetje), Jan Sluijters, 1913.
- Lady with Hat, Jan Sluijters, undated.
- Portrait of Zulma and Self-Portrait (diptych), Roger Raveel, 1999.
- The Trees of Murs, Roger Raveel, 1966.
- Cat in a Basket, Roger Raveel, 1987.
- Just a Pair of Scissors, Roger Raveel, 1994.
- The Wild Rose, Roger Raveel, 1966.
- Self-Portrait, Roger Raveel, 1972.
- My granddaughter, Wies Elfers.
- In Memory of Mauro, Cor Lap.
- Self-Portrait, Arjan Berfelo.
- Leida, Renske Schilt.
- Moniek, Berry Araya.
Friday, January 30, 2026
Broken snow layer
This morning, there was a broken layer of snow with a clear sky. Yesterday, there also was a broken layer of snow and in the afternoon there was some more snow. Some of the snow melted. During the night there was some snow.Links
Tuesday, January 27, 2026
100% binary compatible
I finally succeeded into building a Tiny C Compiler executable with the compiler I developed for replacing the GNU Mes compiler that is 100% binary compatible (exactly the same) with the one build with the GNU Mes compiler in the live-bootstrap project. For this, I created a change root environment. I also needed to fix a bug in stack_c.c with respect to constants, which took me a long time to discover. Below a T-diagram with all the steps that are executed to build tcc-boot0, which differs from the one built by live-bootstrap. The executable tcc-boot1 that is build with tcc-boot0 is the same. This removes the last doubts I still had about the correctness of the compiler I developed, which I still had after I concluded on the ninth that I had completed Task 1.
Links
Sunday, January 25, 2026
Offset KML files
I am following Noraly, a Dutch woman, who is traveling on bike and recoring her travels on the YouTube channel Itchy Boots. I am trying to track the route she has traveled on Google Earth. I am using Google My Maps to generate the routes and make adaptations if needed. In the latest video, she has entered China. The problem with the roads in China, which I have noticed before, is that they have an offset with respect to the satelite images. Because I would like the route to match the satelite images, I created the program OffsetKML.c, which takes offset information from the file diffs.kml and applies offsets from the KML file on the standard input to the standard output. The file diffs.kml should contain polygons of one segment where the first point is set on the position of the road and the second point on where it should match with the satelite image.Saturday, January 24, 2026
Link
Thursday, January 22, 2026
Biking trip
Today, I biked about 36 kilometer in temperatures between 0° and 2° Celsius. The primary reason was to attend the yearly evaluation and planning meeting for the care given to Andy at the care center he lives. This was attended by care staff from his residential group and his day care group and a clinical educational psychologist. On the way there, I paid a very short visit to a small thrift shop in Lonneker and on the way home I visited two thrift shops. The first one was in Losser in a former boiler house of the textile factory Van Heek. The other was in Glanerbrug where I first visited a small supermarket to buy and consume a multigrain triangular bread roll. In the evening we had sauerkraut mash with our homemade sauerkraut made from savoy cabbage, pinneapple, bacon and smoked sausage, which is perfect after a biking trip on a winter day.Inverse perspective transform
Earlier this week, I received a photograph of an artwork that was taken from the side and from below. The normal algorithm that I used for correcting the perspective view of a work did not work correctly. I figured out the formulea for doing the correct displacement along the sides. If x ranges from 0 to 1 along a side, than the formulea is x(1+a)/(1+ax) where a depends on the angle the side is viewed. I guessed the values for the four sides by trial and error looking at the result. I have since been thinking about methods to calculate those values. The first insight that I got was that the diagonals of the rectangle cross in the center point, no matter from which angle you look at the rectangle and that the distances from the center to the four corners is the same for all corners. I thought that this could help me to set up some equations where the variables involved could be calculated. Today, I realized that there is an easier way to calculate the values. The idea is to determine the vanishing points and determine where the line from the vanishing point to the center crosses the sides. If this line crosses at some point that is at s ranging from 0 to 1, we can calculate the value for a knowing that the value for x is a half with the formulea (2s-1)/(1-s). I implemented the algorihtm in a script for the MySample editor and it worked as expected.Links
Wednesday, January 21, 2026
Link
- RzWeb: A browser-based reverse engineering platform that runs Rizin entirely in your browser through WebAssembly.
Monday, January 19, 2026
Links
- ShapeR: Robust Conditional 3D Shape Generation from Casual Captures
- IKOS (Inference Kernel for Open Static Analyzers) is a static analyzer for C/C++ based on the theory of Abstract Interpretation.
Sunday, January 18, 2026
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 over 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.Link
- Ljudmila: Generative art
Saturday, January 17, 2026
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.Friday, January 16, 2026
Link
Thursday, January 15, 2026
Link
Wednesday, January 14, 2026
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.Tuesday, January 13, 2026
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.Sunday, January 11, 2026
#bootstrappable
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 #bootstrappable 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?.Saturday, January 10, 2026
Cold and snow
Early this morning, around 8, the temperature at Twente 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 Twente 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.Link
Friday, January 9, 2026
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
Links
Thursday, January 8, 2026
Link
Wednesday, January 7, 2026
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.Link
Monday, January 5, 2026
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.Progress on Task 3
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
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)
