Christopher Shank
09/03/2024, 3:05 AMIvan Reese
Konrad Hinsen
09/03/2024, 6:28 AMIvan Reese
Christopher Shank
09/03/2024, 7:49 PMChristopher Shank
09/03/2024, 7:50 PMChristopher Shank
09/03/2024, 7:51 PMChristopher Shank
09/03/2024, 9:46 PMChristopher Shank
09/03/2024, 9:48 PMIvan Reese
Konrad Hinsen
09/04/2024, 5:53 AMBeni Cherniavsky-Paskin
09/08/2024, 2:12 PMTightly packed areas of memory fighting for space and squishing and morphing together as they shrink and grow• B-trees are a bit squishy/sticky in how nodes get joined/split. So are all structures with amortization? But that's a well-encapsulated property, hardly observable. • Cuckoo hashes get harder to insert into (more pushing stuff around) as they fill up. That's observable as a slow-down (like regular hash tables) but still correct. Well, unlike regular hash tables at some point the guarantee that you only need to check N places really breaks down, but I suppose then you resize and re-hash the whole thing, so the effect is "slow down with amortized resize" similar to regular hashes. • Bloom filters get less precise as they fill up. Now that's really observable to the user. So do other "sketch" structures. But frequently they're used behind some other fallback (e.g. cache miss=>do the network request) that reduce the observable imprecision to observable slowdown. So in all those, squishiness might come handy to visualize algorithm internals, but doesn't map to anything desirable in the final product of computation? Speaking of visualizations, spring-model layouts are handy for evolving graphs (e.g. https://gource.io/) and are also promising for real-time "collaboration" between automated + human-moved layout, because mechanics are intuitive and predictable to our brain.