It's about memory allocated for the hash table. If they add some RAM and change the timeout to 12 hours you won't even notice what's going on under the hood.
And closures are nice from programming perspective. Should I say it's almost definitely the future of server-side development... ;)
Surely they could come up with some way to store trivial state in the URL's GET params, without making life too miserable for the programmers.
Nearly 10 years ago, Nielsen wrote about "URL as UI" <http://www.useit.com/alertbox/990321.html>. URLs that break after an indeterminate time are not good UI.
HN is using URLs for passing those hash keys (if they are hash keys of course), but they need to store them on the server as well. So URLs themselves don't solve the problem in this case.
It's actually that HN doesn't use databases, where they could keep session-specific data much longer.
Have continuations just moved the the complexity -- making some aspects more elegant, while resulting in undesired side effects like expiring reply links?
I find that often happens when I'm designing abstractions - complexity moves somewhere else, and I later get unexpectedly bitten.