HNHacker News
TopNewBestAskShowJobs

fjfaase

2,266 karma · joined March 20, 2017

Software engineer with more than 30 years experience writing software in mostly C++. Interest in parsers, interpreters and combinatorics problems.

* https://www.iwriteiam.nl/ * https://github.com/FransFaase * https://fjfaase.at.hn

submissionscomments
fjfaase··on Show HN: C-compiler to compile TCC for live-bootstrap
I have been reviewing stage0 and gave a presentation, 'reviewing live-bootstrap' about it at WHY2025, in which I also made some suggestions about improving stage0. I am now working on this.

What I refer to as stage0 is the first 19 steps of the mentioned description, which actually involves the execution of over 700 executables. (See presenration for T-diagran.) I believe that number can reduced by at least a half.

fjfaase··on Chris Rea died – Driving home for Christmas
I fear that some women who once slept in my bed, will be rather sad now. On April 15, 1984, Chris Rea gave a concert at the University of Twente. Some people in my dorm were involved with the organization of concerts. After the concert a girl turned up at our dorm who was looking for a place to sleep. I ended up offering her my bed while I slept on a sofa in my room. The bed and the sofa were separated by a back half of a piano. I remember that the next morning, she left to the next city where Chris Rea would perform next.
fjfaase··on Show HN: Dbzero – Code as if you have infinite RAM (Python persistence engine)
I see this coded in C++ and I wonder if there is also an C++ API available? Are you considering other bindings, besides Python? What about C#?
fjfaase··on International maps of cities coloured by street/road/ave/etc.
In the Netherlands there are many cities where an other, road like name is used for all streets in a quarter. Where I live the word 'hoek', meaning corner, is used. Others are 'brink', 'landen', 'velden', and 'horst'.
fjfaase··on DOJ won't meet Friday deadline to release all the Epstein files
I doubt they will ever release the files that contain(ed) the name or images of Donald Trump as long as he is in office. They will find excuses after excuses not to release them and the courts will be busy with those that are mentioned in the released files.
fjfaase··on Your job is to deliver code you have proven to work
I twice worked in a teams where we did not use branches (or PRs). Both were working like that when I joined them.

The first was because we were svn (and maybe even csv before that, but I cannot remember) and that did not support branching easily. That team did switch to git, which did not go with its some struggles, and misconceptions, such as: "Never use rebase."

The second team was already working without branches and releasing a new version of the tool (the Bond3D Slicer for 3D printing) every night. It worked very well. Often we were able to implement and release new features within two or three days allowing the users to continue with their experiments.

When after some years the organization implemented more 'quality assurance' they demanded that we would make monthly releases that were formally tested by the users, we created branches for each release. The idea was that some of the users would test the releases before they were official released, but that testing would often take more than a month, one time even three months, because they were 'too busy' to do the formal review. But at the same time some users were using the daily builds because these builds had the features implemented that they needed. As a result of this, the quality did not improve and a lot of time was wasted, although the formal quality assurance, dictated by some ISO standard, was assured.

I have no experience with moving away from using branches. It might be a good idea to point your manager/team lead/scrum master to dora.dev or the YouTube channel: https://www.youtube.com/@ModernSoftwareEngineeringYT

fjfaase··on Your job is to deliver code you have proven to work
One more reason to work without branches and PRs. The future for CI/CD is bright ;-).
fjfaase··on Dafny: Verification-Aware Programming Language
Yes, the primary reason being the bootstrapping problem. But because Dafny can already can generate C# code, that should not be a major problem. It also allows for a gradual conversion where more and more parts are generated from Dagny sources.

I know that maintaining a compiler in its own language poses some problems when you want to extend that language with additional features.

Because compilers are rather complex problems, they can be viewed as a testing stone for a language.

I think it would be nice to have a formally verified compiler. That is a bit more than proving that the sources are correct. But because formally verified compilers are rare, it could promote the usages of Dayne.

I am aware that it would be quite an effort to make it self-hosted and even more to formally verify it correctness.

fjfaase··on You're 25-35 years old? You're running out of time
The difference in the graphs of men an women could be explained if you assume that women with a lower percentile score get more children and/or are more affected by it.
fjfaase··on Frog gut bacterium eliminates cancer tumors in mice with a single dose
If I had late stage cancer and a few months to live, I would be happy to receive a shot because the choice between fully cured or possibly dying a bit sooner is not that bad if you your end is near. I guess many people would.
fjfaase··on U.S. Military Willing to Attack "Designated Terrorist Organizations" in America
The USA is quickly changing into a full fascist, autocratic country. I wonder if it still can be stopped. To me it seems as if people outside the USA are more are aware of what is going on than people inside the USA. It also understand that the flow of migration between the EU and the USA is reversing.
fjfaase··on Great Free Arabic Fonts
I get the impression that these font are primarely designed to be used for large font sizes and are less suitable for normal texts with normal sized fonts.
fjfaase··on Dafny: Verification-Aware Programming Language
Looks interesting. I saw some C# files, from which it seems it is implemented in C#. Is there going to be an implementation in Dafny?
fjfaase··on What does a lean proof prove?
Interesting. A bit similar to bootstrapping.
fjfaase··on Lean theorem prover mathlib
I see a lot of maintainers specialized in topology and category theory, but non in graph theory. I wonder if this is also reflected in the areas that are covered by the library.
fjfaase··on Is P=NP?
Maybe I should have written: "Many have tried to find algorithms in P to solve NP problems and failed to find them." Even now, many people are working on algorithms to find solutions for NP problems. I understand that it has been proven that it is not possible to proof P=NP? using 'algorithms'. That might mean that even when a proof is found that P=NP that there still will be no P algorithm to solve NP problems.
fjfaase··on Is P=NP?
It is fairly new, but very relevant for daily life, like many others are not. Thousands of people have tried to write smart algorithms to solve NP problems and many have thought they found an algorithm in P only to be disproven later.

Whether the Riemann hypotesis is true or not, is not going to have any practical effect, accept for a small group of mathematisians who are working on it. Most people do not know what a Field medal is nor care about it.

fjfaase··on Is P=NP?
The fact that thousands of people have failed to prove that P=NP indication that it is probably not true. It has even been proven that it cannot be proven by some methods.
fjfaase··on Woz's Toolbox and Tolkien's Desk being auctioned
The toolbox was sold for 50,800 and the desk for 330,200. There are some other interesting items.
fjfaase··on Trump to make all foreign tourists provide five years of social media history
That could possibly result in 'empty' soccer stadiums next year, because I fear that many foreign fans will be baned due to some 'critical' comment in social media about USA or Israel. The number of foreign tourists will drop even lower.
fjfaase··on U.S. Flips History by Casting Europe–Not Russia–As Villain in Security Policy
If "islamisation" is a problem, why then is Saudi-Arabia a close ally of the USA?

I think it is more that Trump cannot collect bounties in the form of donations in his crypto currency in exchange for favors.

Maybe it is also because they cannot cope with the idea that the 'socialist' Europe is doing well (lately even better than the USA) economical, while this goes to their ideas of what makes a nation strong.

Also in other aspect such as safety, well being, freedom of press, and life expectancy many countries in Europe are doing better than the USA on average.

The fact that the USA is normalizing relationships with Russia is felt as very worrying especially while painting the EU as an adversary.

The USA is the only NATO country that activated article 5 and many European countries responded, but not the USA is saying they will not respond to article 5 if NATO countries in Europe is attacked by Russia.

fjfaase··on The Traveling Salesperson Problem (Modernized)
Nice!
fjfaase··on 10 years of writing a blog nobody reads
I for thirty years. But usually only very short blogs about personally relevant events, such as buying books. I am not really interested whether it is read or not.
fjfaase··on Duplication Isn't Always an Anti-Pattern
This is very true. I once had to implement a form with a table that looked a bit similar to three already existing forms that were implemented with some shared classes. I studied it and concluded that it was just too different to make use of the shared code and simply copied parts of the shared code. Took me about a day to get it working. Then another developer, who had worked on these three other forms saw what I had done and decided to integrate the four forms. Took him almost three weeks to get it working. I did not protest or made any remark about it, because I had done similar things in the past and sometimes 'wasted' time by trying to find the most beautifull abstaction, while at other times it did work out great. The intuition of when to avoid duplication or not, like so many other thing, only comes through making lots of mistakes. Luckily this other developer solved some bugs in the process, so the final result was an improvement.
fjfaase··on The Full-Source Bootstrap: Building from source all the way down
For the presentation, which includes links to the recording, see: https://iwriteiam.nl/WHY2025_talk.html The 'show notes' button reveal additional notes and links to sources and blog posts I wrote in the past years.
fjfaase··on The Full-Source Bootstrap: Building from source all the way down
After reviewing stage0, I have concluded that it can be simplified and made easier to review. I am working on a project to proof this. On WHY2025 I gave a presentation about this.
fjfaase··on The Math of Why You Can't Focus at Work
This based on a highly simplified idea of how focus works. My experience is that motivation is a far more important factor for me. I struggle a lot with procrastination when my internal motivation is low. Meetings do drain me, but short interuptions are not a problem if I am motivated, but if I am not motivated a cycle of procastination will kick in and it can take me hours from becoming focused again. I often feel ashamed of my procrastination, which makes it harder to get out of it. This is why I do not like fixed working hours. Sometimes, I can focus beter at night than during standard working hours. The break through ideas for fixing problems (hard bugs) often come at random moments when I am not focused on them at all, often during boring daily cores.
fjfaase··on Build a Compiler in Five Projects
What do you mean with bad grammars? Do you mean grammars that are hard to parse (require a lot of backtracking) or do you mean that it leads people to creating bad languages?

My experience is that if a back-tracking parser list all the possible terminals it is expecting at the first location (with some additional information about the rules they occurred in) it fails to get passed, that this usually gives enough information to understand what is wrong about the input or the grammar.

fjfaase··on Build a Compiler in Five Projects
I agree, that if you want to write a production grade parser, this is probably the best way to go. I also agree that parsing is not a solved problem for all cases. But that is the case with many more problems. However, for many cases it is a solved problem and that often it is not the first thing you should focus on to optimize.

If you teach a course about compiler construction, I think it might be better to teach your students how to write a grammar for some language and use some interactive parser that can parse some input according to the grammar (and visualize the AST). See for example: [1] and [2] (Even if you feed it the C grammar, it succeeds parsing thousands of lines (preprocessed) C code at every keystroke. This interpreting parser is written in JavaScript and uses a simple caching strategy for performance improvement.)

For the scripting language [3] in some of the Bizzdesigns modeling tools, a similar interactive parser was used (implemented in C++). This scripting language is also internally used for implementing the various meta-models. These scripts are parsed once, cached, and interpreted often.

I think it is also true for many domain-specific languages (DSL).

[1] https://info.itemis.com/demo/agl/editor

[2] https://fransfaase.github.io/MCH2022ParserWorkshop/IParseStu...

[3] https://help.bizzdesign.com/articles/#!horizzon-help/the-scr...

fjfaase··on Build a Compiler in Five Projects
I mend to say: No, even if a grammar is not ambiguous ...
← PreviousPage 4 of 31Next →