California bill would require bots to disclose that they are bots
veeto.app
Understanding Reasoning LLMs
magazine.sebastianraschka.com
Transformer Implemented Using Excel
byhand.ai
Show HN: SQLite disk page explorer
github.com
Elon Musk's Demolition Crew
projects.propublica.org
Simulating water over terrain
lisyarus.github.io
OpenLDK: A Java JIT compiler and runtime in Common Lisp
github.com
Complex Systems and Quantitative Mereology
abeljansma.nl
Steve Meretzky – Working with Douglas Adams on the Hitchhiker's Guide
spillhistorie.no
PlayAI's new Dialog model achieves 3:1 preference in human evals
play.ht
Show HN: An homage to Tom Dowdy's 1991 screensaver, "Kaos"
thestrikeagency.com
How to prove false statements? (Part 1)
blog.cryptographyengineering.com
Open source AI: Red Hat's point-of-view
redhat.com
TKey – Security for the New World
tillitis.se
YouTube restores SineVibes channel after Peter Kirn & Ars Technica get involved
bsky.app
Aluminum Batteries Outlive Lithium-Ion with a Pinch of Salt
spectrum.ieee.org
Frank Lloyd Wright's mile high skyscraper proposal (2021)
onverticality.com
Show HN: An API that takes a URL and returns a file with browser screenshots
github.com
Programming SDF animations of Rick and Morty
danielchasehooper.com
How do we evaluate vector-based code retrieval?
blog.voyageai.com
Scala 3 Migration: Report from the field
blog.pierre-ricadat.com
For the problem this was designed for, what this is missing is an argument for why this is better than a heap with a last-resort ordering trivially added. (If you're not using this for a scheduler of course a heap doesn't make sense.)
Note that C padding can be unfortunate here; for some types (but not when `sizeof(key) == sizeof(pointer)`) it may make sense to pack `bit` (in the generic struct; this does not need a whole `int` even) and `key` (in the type-specific struct) into the same word. I think `bit` needs `bitsizeof(key) + bitsizeof(max_dups)` values, so you only need 7 bits (log2(64+64)) at most (hmm, that's almost small enough to try cramming into the low bits of the pointers again ...).
I forget if pointer-bit stuffing is actually defined in C, or if you should be using `uintptr_t`. Debugging is probably saner if you do regardless.
It appears that this is intended to be used intrusively (in which case the value also needs to think about padding), but this completely fails to use the appropriate vocabulary. In fact, I think that might be the only difference between this and a typical bit-oriented radix trie? If so, Wikipedia is completely correct to delete this, since in general any node-based container can be made intrusive quite trivially.
Using absolute indexes (against a known origin) is probably saner than relative-pointers if you have something simple enough, since it lacks the problem of moving/copying.
Despite those considerations, this is definitely worth reading if you're interested in data structures (unlike some articles that get posted occasionally, which can be blogspam or outright incorrect).