Two Hard Things (2009)
11 comments
·January 20, 2025EdwardCoffin
xarope
ah, ye olde two hard things, namely:
1) cache invalidation
2) naming things
0) off-by-one
saltyoutburst
Credit where credit is due. https://x.com/secretGeek/status/7269997868
xarope
with apologies to Leon, I think I first saw it from Martin (he gives full credit to the sources), so I'll post to link here for completeness:
gsf_emergency
As counter-inspired by a fellow HNer, the encoding of this problem (cribbed from Dirac/von Neumann, so any inanity is all mine!) ought to be:
f[<Intension|Extension>] == 0
bmacho
What are <A|B> and f[C]?
gnkyfrg
[dead]
lalaithion
There’s two hard problems in computer science: cacsynchronizing shared access to the same resource.he invalidation, and
LeonB
I find “co-ordinating distributed transactions” to be very hard. Getting any kind of optimum cooperation between self-centred agents is tricky.
Also — “Jevon’s paradox”. That one is nasty! For example: just about anything we do to decrease use of fossils fuels by some small percent, makes the corresponding process more efficient, more profitable, and thus happen more. That’s a nasty nasty problem. I guess it’s not specific to computer science, but all engineering.
tmarice
Everybody knows the two hard things are timezones and unicode.
cryptonector
Eh, only one hard thing then, because as hard as Unicode is timezones is way harder.
I'm partial to this non-jokey take on two hard things:
Phil Karlton famously said there are only two hard things in Computer Science: cache invalidation and naming things. I gather many folks suppose "naming things" is about whether to use camel-case or not, or picking specific symbols we use to name things, which is obviously trivial and mundane. But I always assumed Karlton meant the problem of making references work: the task of relating intension (names and ideas) and extension (things designated) in a reliable way, which is also the same topic as cache invalidation when that's about when to stop the association once invalid.
https://web.archive.org/web/20130805122711/http://lambda-the...