HNHacker News
TopNewBestAskShowJobs

fjfaase

2,267 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 That Time Ken Thompson Wrote a Backdoor into the C Compiler
For the 'full' graph for stage0 see: https://fransfaase.github.io/Emulator/tdiagram.html and note that it even is not completely 'full' leaving out some steps that copy file from one location to another. Use mouse or fingers to zoom and pan.

I gave a talk about this at WHY2025 which also refers to this 'Reflections on Trusting Trust' paper. On YouTube https://www.youtube.com/watch?v=akzyyO5wvm0

fjfaase··on That Time Ken Thompson Wrote a Backdoor into the C Compiler
Interesting. I reviewd the live-bootstrap project (a project to build a trusted C compiler for building Linux) in the past years, including writing a Linux on i368 simulator/interpreter, and gave a presentation about this at WHY2025.
fjfaase··on When is it better to think without words?
I am not using AI tools for code generation. I have only used it for 'querying' information, for example, when I started to work with Device Trees and Yocto for embedded Linux development. I am happy with IntelliSense. Yes, AI tools can very quickly generate some simple app, but I do not believe it will work for more complex problems.
fjfaase··on When is it better to think without words?
In the family of my maternal grandfather there are many individuals who are much better at science but have difficulty with language (often in combination with dyslexia) in school. I have some evidence that those individuals (myself included) have a significant higher non-verbal IQ (20 to 30 points) than verbal IQ as categorized by the WISC-V intelligence tests. I often struggle to express my ideas with words. When I think about algorithms it is often in 'abstract' visual images. While developing software, I find myself searching for functions/methods a lot, because I often forget their names or the order of the parameters.

Academic performance is strongly correlated with the verbal components of intelligence. I wonder if there are other people who know that their non-verbal IQ is measurable higher than their verbal IQ.

fjfaase··on The price of mandatory code reviews
I wonder how this fits with the results from dora.dev that CI/CD is the most effective way to develop software. Is working on a single branch without feature branch and without mandatory code reviews even more effective? Or is it due to practices in CI/CD?

Maybe developers spend more time on reviewing and testing their code when they commit directly to the main branch, then when they know someone else is going to review tge code en perform the merge? How bad is a bug when it is caught the same day?

fjfaase··on The Flummoxagon
I wrote a program to produce the exact cover for the puzzle and I did some experiments with my exact cover solver to find solutions and generate an estimate of the number of solutions. I am not very sure on the estimate. One run returned a number of 10^50 and another one (with a slightly different, but more successful search strategy) returned a number of 10^148.

The generated exact cover is about 5 megabytes using a notation the positions for the ones in the vector are listed.

The second run has now found about 200 solutions in about six hours, which is far less than the ten thousands that they have found [2].

I do not know of any other programs that can estimate the number of solutions of an exact cover.

[1] https://www.iwriteiam.nl/D2510.html#16

[2] https://news.ycombinator.com/item?id=45559402

fjfaase··on Why You Should Be Using Git Worktrees
Evidence is showing that Continiuos Intergration/Continious Development is the most effective development method. (See dora.dev) Working without branches (on the server) is the best way to implement this. (Search 'ci branches' on YouTube.)
fjfaase··on The Flummoxagon
I did write a program to generate an exact cover. Thr output is a little over 5 megabyte when using a notation that list the indices of the positions that have a 1. I have not yet verified that it is correct. My solver found one solution so far and edtimates that the number of solutions is more than 10^50.
fjfaase··on Countering Trusting Trust Through Diverse Double-Compiling (DDC)
In the past years, I reviewed stage0 of live-bootstrap and gave two presentations about it (available on YouTube). Currently, I am working on a much simpler approach than using the GNU Mes compiler, which requires you to first have a large subset of C compiler. See https://www.iwriteiam.nl/Software.html for more information.
fjfaase··on The Flummoxagon
It would be nice, if they could publish the exact cover. I have written some algorithm that can estimate the number of solutions to an exact cover base on the number of solutions it found and the size of the 'tree' that has been explored.

I could write a program myself to calculate the exact cover, but I guess, it will take me about a day to do so. It would not surprise me if the exact cover will be a few hundred mega bytes (when using one character per position).

fjfaase··on The Flummoxagon
Nice article, which also explains the mapping of the puzzle to an exact cover problem and how those can be solved with dangling links as in Knuth's Algorithm X.
fjfaase··on How to check for overlapping intervals
Now write some code to manage collectons of intervals and operations, such as finding if a value is included in a collection of intervals and operations for merging two collections of intervals. What is the best data structure to be used? Explain why?
fjfaase··on Daniel Kahneman opted for assisted suicide in Switzerland
If you have (grand)children, an important reason to wanting to stay alive is often not the fear of dying, but wanting to be there for them and fearing the grief they will endure if you are gone.
fjfaase··on The Unknotting Number Is Not Additive
What is real? There are strong indications that what we experience as reality is an ilusion generated by what is usually refered to as the subconscious.

One could argue that knots are more real than numbers. It is hard to find two equal looking apples and talk about two apples, because it requires the abstraction that the apples are equal, while it is obvious that they are not. While, I guess, we all have had the experience of strugling with untying knots in strings.

fjfaase··on What is a coding language that is easy to learn for a beginner?
Have a look at flutter.dev. It is a multiplatform app development environment. The have instruction materials for beginners.
fjfaase··on Partijgedrag – A Dutch political voting compass built on public data
Very nice. I like and will recommend it to others.
fjfaase··on It is surprising that Earley can efficiently parse C
It is amazing which speed up you can achieve with some simple caching when using a back-tracking recursive descent parser working on a string stored in memory.
fjfaase··on China has only one time zone
In Urumqi people simply do everything two hours later than normal. The tradition working hours would be 10AM to 2PM and 4PM to 8PM.
fjfaase··on Linus Torvalds Vents over "Completely Crazy Rust Format Checking"
The other day, I read that reviewing code takes double the effort of writing code. What Linus mostly does is merging code and resolving conflicts, which also requires him to read (review) the code.

The formating of code has a significant impact on where merges introduce conflicts or not. Also formating has an influence on the readability of the code. Linus remarks that in his editor the indentation looks corrupted. I suspect that this is due to a diff erent tab size. Tab sizes of 2, 4, and 8 are commonly used.

It looks like Linux is making a joke before he deals with the real issues. One should realize that humor is cultural depended and that something that is considered a joke in one culture is considered rude in another and the reverse. In some cultures, humor is very subtile, such that outsiders often do not notice that they are made fun of, whilebin other cultures the use of swearwords is used in daily language without it meaning anything special.

fjfaase··on TigerBeetle is a most interesting database
I wonder if the 'debits and credits' example is still realistic. Is it not that banks record all individual money transfers and keep them on record for years (often due to national laws that require this). Then the balance on a certain account is a simply a selection/view on the set of all transactions. For efficiency reasons you may want to store the result in some table. If there is a limit on withdrawals on a certain account, you do need to calculate the balance first and then a transaction mechanism is needed to assure that there are not several money transfer that individually do not surpass the limit but together do.
fjfaase··on Advent of Code: Libraries
So far, I have not felt the need of the type of library that is proposed here. There were some cases where I needed integers larger than 2^64. There are usuallt only a few puzzles where you need some specialized data structures. Most of the time, I have been able to solve things with arrays.
fjfaase··on Show HN: Cparse is an LR(1) and LALR(1) parser generator in C
This is not an generator that generates code, like yacc/bison, but that dynamically constructs a data structure ('table') that the parsing engine uses to perform the parsing.
fjfaase··on Solving a wooden puzzle using Haskell
Solving this kind of puzzles is equal to solving an exact cover. Exact cover is known to be NP-complete.
fjfaase··on Advent of Code: 500 Stars
Nice write up. I subscribe the given advices. This made me consider to get the 500 stars as well.
fjfaase··on Perihelion precession of planetary orbits solved from quantum field theory
Do I understand that they are claiming that they have found a way to explain General Relativity from quantum field theory. Are all other effects of General Relativity also explained by this quantum field theory. If not, it seems contradict General Relativity, if it only explains some of the effects that are predicted (and measured) by General Relativity.
fjfaase··on Fluid vacuum yields exact solutions to Pioneer anomaly and Mercury's perihelion (2019)
I have always understood that 'Mercury’s perihelion precession' is explained by Albert Einstein's General Theory of Relativity (GTR). The article suggest an alternative explanation, which seems to imply that the GTR is not true. The GTR already has been well established through the observation of many other physical phenomena. Which seems to nullify the alternative explanation provided by the article.
fjfaase··on Hyundai is now delaying its EV battery plant that was raided by ICE
As someone from Europe (the Netherlands), it is an important reason for me to no longer consider to travel to the USA. The idea of the possibility to be deported to a prison facility in South America or Africa, with no due process is simply terrifying.

I would strongly advice any fellow countrymen not to travel to the USA, especially if they are not 'pure' white. There are many Dutch with Dutch parents that are not 'pure' white, because they have a Chinese, an Indonesian, a Caribbean, an Italian, a Spanish, a Moroccan, or a Turkish ancestor (to mention just some possibilities).

fjfaase··on Show HN: I built a minimal Forth-like stack interpreter library in C
Interesting. I am currently in the process of writing an interpreter for a similar stack based language. I already wrote a compiler for this language to x86 assembly that can be compiled to an ELF. The language is used as an intermediate language for a C compiler that I am writing. It is maybe less Forth-like than your language. For more information see: https://github.com/FransFaase/MES-replacement For the interpreter have a look at: stack_c_interpreter.c

At WHY2025, I gave a talk about the reasons why am working on this. See: https://www.youtube.com/watch?v=akzyyO5wvm0

fjfaase··on ThreeJS Attractor Maths Visualisation
Interesting animations.
fjfaase··on Is 42 too old
At your age, I guess it is rather important what you have to offer besides your software development skills. Do you have experience working in teams, a track record with working with people, or extensive knowledge in an adjacent field, such as electronics, IT, or one of the other sciences? Or do you have extensive knowledge of certain safety/security/medical regulations?

Is there some specific area in software engineering that you are drawn to or some application are? There are many applications fields of software development and I think in some large fields it will not be worth trying to compete with junior developers.

← PreviousPage 6 of 32Next →