Top
Best
New

Posted by surprisetalk 2 days ago

The Third Hard Problem(mmapped.blog)
44 points | 31 commentspage 2
petersumskas 3 hours ago|
There are only two hard problems in computer programming:

1. Naming things 2. Cache invalidation 3. off-by-one errors

sprayk 3 hours ago|
there are actually 10 problems: naming things, cache invalidation, base conversions, off by one errors, and cache invalidation
QuaternionsBhop 3 hours ago||
Base conversions are easy, but which off by one is it? base 4 or base 6?
sprayk 1 hour ago||
10 base 2 is 2 base 10. i gave four unique hard problems. and now typing this out i see that I was off by 1 (or two)
ToniDoni 5 hours ago||
I thought it was timezones.
Svoka 4 hours ago||
Putting object into trees is basically a caching problem.
recursivecaveat 4 hours ago|
I was thinking it's a naming problem haha, a file path can be seen as a global/fully-qualified name really.
kator 4 hours ago||
I wonder whether the author deliberately avoided ontology? That's what comes to mind when I read this. The age-old debate between taxonomy and ontology.
zephen 2 hours ago||
The article veers from saying computers are different, to saying they should be different but maybe aren't, back to how special they are:

> The next time you sit down to an empty design doc and don’t know where to start, be kind to yourself. You’re solving a hard problem.

This supposed hard problem in computing has always been with us, in real life. Which he admits multiple times, e.g.:

> Yet Victorian-era gentlemen might have pondered the same questions while sorting letters as we do while sorting virtual paper.

He appears to claim that the sole organizing principle in real life is the hierarchy, but, of course, that computers and ideas are different:

> Hierarchies are so natural to us that they ... [work] for physical objects that can be in only one place at a time. Ideas and information, however, resist taxonomies. They form intricate webs that penetrate rigid boundaries.

This distinction of physical vs. virtual requirements doesn't hold up under any sort of rigorous analysis. As he admits, hierarchies are not always ideal in physical space -- do we organize parts and supplies separate from tools, or place them next to their probable job sites?

And of course, the "in only one place at a time" is certainly true for any given group of atoms, but we have become adept at making fungible copies of atoms for many things. I might have drywall screws or 33 ohm resistors in multiple cached locations, and I have soldering irons and screwdrivers and pliers on more than one workbench.

One thing that is true is that we can usually add non-hierarchical groupings to information more easily than we can to groupings of atoms.

Another thing that is true is that we already often do so whenever the convenience outweighs the various costs.

And the third thing that is true is that this, also, is not much different than the physical world, where we routinely both break our hierarchies and create copies of things when needed.

jeffbee 4 hours ago||
The first chapter of this waves away the fact that hierarchical filesystems are now useless, but it is still a fact. There is no more reason to organize your files than there is to drive around in a chariot. It is hard to map one domain to the other, but it is also not necessary. With AI indexing and recall it's less necessary than it has ever been.
g8oz 4 hours ago|
This seems optimistic.
aleksiy123 4 hours ago||
Use multiple trees.
adampunk 5 hours ago|
This is more true as stated than people want to give credit for, usually.