News for hackers. Stuff that matters.

bjkchoy

Re:Build System Schism: The Curse of Meta Build Systems on Tuesday March 19, 2024 @07:54PM (#39761568)
SCons is listed as a meta build system here, but it is clearly an end-to-end build system. It seems to me SCons even fits all the requirements listed by the author. Plus, you program your SCons build using Python.

He also describes the dynamic discovery of header dependencies of Ninja as a hack. It is true that it is a special case to handle a specific type of dynamic dependencies. But the basic idea behind it (using the compiler's diagnostic as the source of truth) is sane and efficient. The alternative is to scan the sources using a custom parser, which is slower and more fragile.

Re:Fish – Update on the Rust Port on Monday November 27, 2023 @08:47AM (#38432181)
Rust strings enforce utf-8 encoding, yes. However, it seems Windows (which uses utf-16) allows ill-formed UTF-16, in particular it tolerates unpaired surrogates.

You can read more here http://simonsapin.github.io/wtf-8/

Re:Named element IDs can be referenced as JavaScript globals on Tuesday September 27, 2022 @11:36AM (#32996746)
I saw this "shortcut" used in code snippets, on online JS/CSS/HTML editors like JSFiddle. It did not even occur to me this was part of JS spec, I thought the editor was generating code behind my back!
Re:Weightless: Parabolic flight on an A310 on Tuesday September 13, 2022 @09:00AM (#32823675)
One of my preferred video clip ever was filmed entirely during a parabolic flight:

OK Go, Upside Down & Inside Out https://youtu.be/LWGJA9i18Co

Re:Kallithea – Self-hosted alternative to GitHub on Tuesday April 06, 2021 @09:40AM (#26711603)
These days RhodeCode has a Community edition which is licensed under AGPLv3.
Re:That XOR Trick (2020) on Monday January 18, 2021 @10:25AM (#25822621)
There is a very clever and beautiful algorithm that only uses the xor operation. It's the Luby Transform code, the simplest implementation of a Fountain Code. A Fountain Code lets you transmit a file over an unreliable connection (packets can be unordered, and even lost), with just a unidirectional communication. And this can be done just by xoring a random number of blocks from the file over and over!

A very good explanation of the algorithm: http://blog.notdot.net/2012/01/Damn-Cool-Algorithms-Fountain...