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 Trump exempts phones, computers, chips from ‘reciprocal’ tariffs
The president has all the power that the congress and the senate gives him. Previous presidents were not given this much power. The bad guys are in the congress and the senate for not upholding the constitution.
fjfaase··on I think I know why Collatz does that thing it does
Maybe a math oriented forum, might be a better place to post it.

Do you think you could write up the proof in Lean?

fjfaase··on Intelligence Evolved at Least Twice in Vertebrate Animals
What would be the reason that birds did not develop language? There are birds that have an amazing range of vocalizations, such as the Lyre Birds, and there are examples of birds that have shown the ability to associate human speech with abstract concepts. So, why did some bird specie develop a language and a culture heritage. The developed in parallel with mammals. Birds too spend some considerable effort in feeding there offspring, just like mammals. There are enough examples of young birds with almost the size of there parents still following their parents around to beg for food.

How would the worlds have looked if some birds would have developed language and being able to transmit knowledge to sibling and children? Or was it the fact that we have hands that we evolved further? It is sometimes argued that language developed as part of mate selection. Bird vocalizations definitely play that role with birds.

fjfaase··on Open source, 3D-printable smart chess board
If you scroll down the page, you will see that it has white light around the piece, which are LEDs, I presume.
fjfaase··on Open source, 3D-printable smart chess board
The DGT Pegasus [1], which is designed for online play as the device presented her, costs 189 Euro. I know one of the founders of DGT and once applied there for a job for the app development, but did not feel that there was a match at the moment also because I am not really into chess.

[1] https://dgtshop.com/products/chess-boards/dgt-pegasus

fjfaase··on An 'Administrative Error' Sends a Maryland Father to a Salvadoran Prison
That Trump and Musk have not been arrested yet, or at least impeached, for grossly violating the constitution shows that the USA has turned into a fascist state by the congress and the senate.
fjfaase··on I asked police to send me their public surveillance footage of my car
Some years ago, the one in Arnhem, was up for sale, and the local hacker space, hack42, made an attempt to buy it and turn it into the largest hacker space of Europe. The plan did not work out.
fjfaase··on The Burnout Machine
This is true and not at all. Last year, I quit my job, because I was in the process of getting a burn-out. It was primarily because management refused to give me recognition for my efforts. (I dreamed about it last night.) While I was unemployed, I did voluntairy work at a farming coop, physical labour, often simple weeding. Working there for just one morning per week felt more rewarding than working as a SWE. You could always see the results of your work with your own eyes.
fjfaase··on The Best-Kept Secret of Dutch Biking: The Dutch Hardly Bike at All (2018)
I recently started walking to work, because by bike it is only 11 minutes and I felt I did not get enough exersize. Walking takes up about 33 minutes for the same distance. With my precious job, it took me abou 25 minutes biking to work. I think that the travel time is an important factor in the selected mode of transportation.
fjfaase··on A Polyomino Tiling Algorithm (2018)
Interesting. I am going to have a look at this. In the past year, I have been working at an algorithm on how many paper cubes one can make out of a rectangle sheet of paper. There are 11 polyomino's that can be folded into a cube. It is impossible to exactly fill a rectangle (with integer size) completely with those polyomino's. So, you also will need some holes, squares that are not covered.
fjfaase··on “Normal” engineers are the key to great teams
I have had many colleagues who produce more code and functionality at a constant rate than me. But I have also had that the experience that some of those colleagues were trying to reproduce a certain customer bug for weeks and not being able to reproduce it and that when I finally decided to also have a look at the code, within half a day found the bug and a two click way to reproduce it. When I told them about this two click way to reproduce it, they at first did not believe me that it was that simple to reproduce it. They had so see it several times with their own eyes before they believed it.

I also have had the experience that some colleagues had worked on optimizing an algorithm for months and months. I too had looked at the algorithm and one day, almost out of the blue, I came up with a short cut that totally avoided said algorithm and implemented the required functionality with some calls to a function in standard library we were already using. Again, I was met with disbelieve when I presented the solution.

I feel that I am the guy who about once per year comes up with an idea that no one else had thought about and that most of the time I am just not very productive and often find myself daydreaming and not being very productive.

I also feel that often I am far ahead of other with respect to ideas and that I fail to convince others about a my '(too) advanced' approach. I several times have been in the situation that I proposed a solution to a problem and that some kind of manager decided to go for a simpler solution and that after months of develop time, it came to be that certain functionality did not work and that it was simply decided that that functionality was not going to be supported anymore.

fjfaase··on US stops sharing intelligence on Russia with Ukraine
Some are suggesting this is because recent gains that Ukraine is making as the army of Russia is getting exhausted also because of some recent succesful destruction of large stockpiles of ammunition by drone attacks.
fjfaase··on Ask HN: Who Are Your Favorite Photography and Generative Coding Artists?
Do you know about Peter Struycken, who made many art works, painting, carpets, light shows, and 3D animations with the help of computers? Even his painting of the last decade where made using computer programs to find pleasant looking random patterns for placing coloured squares. See www.pstruycken.nl for more information.
fjfaase··on Do you want to be doing this when you're 50? (2012)
I have asked this question myself when I was younger, but I never had the ambition for some leadership role or to do something else than software engineering. Now at age 63, I am still a software engineer. Last year, I have started a new job as an embedded software engineer at a small company, and I am very much enjoying it, learning new things about electronics, clock domains, and how peripherals work (like I2C peripheral of the ESP32-S3). I am drawing flow-charts for the first time in my career and developing unit tests to make sure the software works as desired. I am learning many new things and I am enjoying it. I am still working on becoming a better software engineer.
fjfaase··on Where are all the Rewrite Rules?
I have been thinking about implementation oriented rewrite rules that for example express that you can add two numbers smaller than 2^2n with three addition operations (and some other operations) on numbers smaller than 2^n or with two addition operations that take an additional integer smaller than 2 (usually called a carry in hardware implementations).
fjfaase··on Append-Only Programming (2024)
Interesting approach. A bit similar to 'test && commit || revert' (TCR) as done by Kent Beck.

I kind of doing this with my AoC with my literary programming approach where I add only code to the markdown file that is then processed by the MarkDownC program [1], which takes all the C fragments in de markdown file and puts them in the right order to be compilable, overwriting earlier definitions of functions and variables. So, each markdown file, one per day [2], shows all the steps how I arrived at the solution. I do use a normal editor and use copy-and-paste a lot when making new versions of a certain function.

[1] https://github.com/FransFaase/IParse/?tab=readme-ov-file#mar...

[2] https://github.com/FransFaase/AdventOfCode2024/blob/main/Day...

fjfaase··on Dedekind's Subtle Knife
How does this compare to the surreal numbers defined by Conway?
fjfaase··on Why can't we remember our lives as babies or toddlers?
I once hear the story of a colleague who when going to college met with someone who he felt that he knew although they were unable to establish were they knew each other from as they came from different cities. When he returned home and told the story to his mother, she smiled and told him that they as toddlers had met.
fjfaase··on I use two trumpets to play the flute [video]
Could you not just remove the mounth piece with a flute and the horn with a straight pipe?
fjfaase··on No good deed goes unpunished: can we now be sued over software we give away?
I understand your worries as they were one of my reasons to join these government organized briefings.

It seems very unlikely that such a lib in itself has any cyber security risk as long as it itself does not query an external database through a network connection.

The users of the lib have to asses that it has no security risk.

Did you sign any formal agreement with the users of the lib? Is there still any obligsation on your side with respect to the lib?

If you would discover some security issue, like a buffer overrun, would you fix it? Then just mentioning it, would be enough. The users of the lib bear the greatest responsibility. They have to regularly check your lib for security problems.

fjfaase··on No good deed goes unpunished: can we now be sued over software we give away?
What I understand (from having attended some Dutch government meetings about this), is that companies are liable and should make an assessment of all third party libraries that they are using with respect to the risk involved with cyber security. Furthermore, they should actively monitor any security updates of those third party libraries and incorporate fixes in their own software and push those to users of their software. This does include embedded software in the devices they sell.

This applies to all software that is part of a commercial interaction, no matter whether the other party has to pay for the software or not. The software could be part of a device or be part of a certain service.

I understood that as long as the developers of open software are not involved in a commercial interaction, they cannot be held liable. I guess that if you receive some kind of support (a grant) for developing open source software, you are not immediately in a commercial interaction. But if you have some kind of agreement with an organization to develop or maintain open source software specific for that organization, that could count as commercial interaction.

fjfaase··on It Took Trump Only Twenty-Four Days to Sell Out Ukraine
I think that the problem is that Europe does not want to acknowledge that they are at war with Russia. Russia says that they are at war with Europe and they are testing the waters all the time, just last night flying a drone against the Chernobyl dome. Europe is not willing to confiscate the Russian assets in Europe or deal with Russian oligarchs having dual citzenship and still doing bussiness, or with all the sanction avoidance that is going on.
fjfaase··on Ohm: A user-friendly parsing toolkit for JavaScript and TypeScript
Looks quite nice. The online editor with color coding looks sleek. I suppose that they are using a PEG-parser to parse the grammar in the online editor.

Can you also specify color coding for your grammar?

This is a parser generator. In the online editor, even with the example grammar, you can see that there is some delay when you change the grammar in what is being parsed. I wrote an interactive back-tracking parser with caching that does not show less delay with a bit larger grammar. Search for 'IParse Studio'.

fjfaase··on Literate Programming in Quarto
I developed something for C that just works in github markdown files, but without place holders. It just parses all the fragments, possibly from multiple files, and puts them in an order to be compiled. It does automatically generate forward declarations for functions. The generated C output does contain #line lines. I used this in the past years for AoC.
fjfaase··on Donald Knuth's 2024 Christmas Lecture: Strong and Weak Components [video]
I have made an implementation of the original Dancing Links algorithm, but for some large problem, more than a million rows and 104 columns with an average of about sixteen positions per row, it is killed because it takes too much memory.

I wonder if the updated algorithm is using less memory.

My guess is that this large problem has about a hundred million solutions. So, even if it finds a hundred solutions per second, it still would require about ten days to finish.

The problem, I am working on, is the number of solutions to the 'Fancy Tetris Houten Puzzel' where all pieces of the same color touch are connected by at least one side touching another side of a piece with the same color.

I have been thinking about other algorithms for solving this Exact Cover problem that are less memory sensitive.

fjfaase··on I believe 6502 instruction set is a good first assembly language
I agree with the article. The 6502 was the first CPU I wrote a lot of machine code for both on the Acorn Atom, where the Basic had a buildin assembler, and the Atari XL-800, for which some roommates and I programmed a compiler in Basic and next made it self hosted.
fjfaase··on Fixing left and mutual recursions in grammars
It is possible to write a (top-down) parser that can deal with the left recursion without having to rewrite the grammar itself. Simply split the left recursive ones and not. Then first try to accept a non-left recursive rule and if that succeeds, use the result to try to parse any of the left recursive ones. (If I am not mistaken, this also works for mutual recursion of left recursive rules.) I have implemented this several times.
fjfaase··on Preserves: An Expressive Data Language
Is it true that Records are the same as Dictionaries, because the labels in the records can have any value?

Interesting on how on one hand the size of SignedInteger is unlimited, but on the other hand there is a ByteString. A ByteString could also have been represented by as a sequence of SignedInteger. I also wonder if it would not better to have a Unicode character as an atomic unit and represent a string as a sequence of Unicode characters.

This makes me wonder whether this is a high-level data model or yet another data representation.

fjfaase··on Object in space was mistaken for an asteroid. It was a Tesla Roadster
Very small. It is at the moment not on a collision course, I understand. Even if it was, it very likely would burn up before reaching the ground. And even not, the Earth is very large and mostly covered with water. Even the chance it hits a human is very small.
fjfaase··on Show HN: I recovered one of my earliest ZX-Spectrum games from an audio cassette
Well done. Not an easy feat I know from experience. I did the same for some basis/assembly programs for the Acorn Atom. Recovered those from tape.
← PreviousPage 11 of 32Next →