Previous Up No next

Diary, February 2026



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


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.


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.


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.


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:

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.


This months interesting links


Home | January 2026