Emacs Turns 50
Emacs debuted at MIT in 1976, bringing programmers a full-screen text editor that remains widely used today. Its roots in TECO and a culture of sharing helped shape the free software movement and GNU/Linux. (technologyreview.com)
Zig has changed how it handles operator precedence: instead of assigning a fixed order to every operator combination, it leaves some combinations ambiguous and requires parentheses to clarify them. The goal is to reduce the precedence rules programmers must memorize and prevent bugs caused by misremembering how a complex expression is grouped. Familiar combinations, such as ordinary arithmetic and comparisons, can still be written without extra parentheses; unusual mixes such as `orelse` with equality may now produce a compiler error. The change affected only 353 lines in a codebase of more than a million lines. The compiler’s error messages identify the conflicting operators and explain how the expression was grouped in Zig 0.17.x.
Existing code can be updated manually as compiler errors appear, or with the temporary `zig fmt --upgrade` option, which adds parentheses to preserve the old evaluation order. Manual fixes are recommended because reconsidering rare, ambiguous expressions can expose bugs or reveal that a different grouping better reflects the intended logic. Automated formatting can also add unnecessary parentheses, and its preserved grouping may not be the clearest choice - for example, an error handler might more naturally apply to one operand rather than the whole `orelse` expression. Developers who use the formatter are advised to review its changes. The upgrade option will be removed after one release cycle.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.
Emacs debuted at MIT in 1976, bringing programmers a full-screen text editor that remains widely used today. Its roots in TECO and a culture of sharing helped shape the free software movement and GNU/Linux. (technologyreview.com)
C++ lookup tables can be optimized for extremely high query throughput, with the title claiming a billion queries per second. The topic is techniques for building fast lookup tables. (lemire.me)
Moxnox 1.0 is an NT-like, POSIX-compatible operating system that runs atop Btrfs. Its source code is available on GitHub. (github.com)
china-policy-data provides a free daily JSON feed of Shanghai government grant and subsidy notices. The feed is designed for researchers and AI agents. (github.com)
Linux 7.4 adds opt-in DMA-BUF read and write support through io_uring, enabling hardware memory buffers to move through the I/O path without CPU copies. The initial implementation supports NVMe block devices, with buffers up to 4 GB. (phoronix.com)
After a year running Dioxus fullstack apps, one Rust codebase and shared types across server and client make development and refactoring simpler. The major drawback is a 90-minute release build on GitHub Actions, and an all-Rust stack still has some exceptions. (oxidt.com)
Today's best Hacker News stories, summarized and screenshotted, one email a day.