4 ms·
The reason this happens is that the link is actually a reference to a live closure[1] held in memory on the server. Notice how the URL has `fnid=...`? Well fnid
by grinich 12y ago
The reason this happens is that the link is actually a reference to a live closure[1] held in memory on the server. Notice how the URL has `fnid=...`? Well fnid is short for function ID.
There isn't an obvious way to fix this without dramatically changing the way pages are rendered. The reason the link expires is probably that the garbage collector picks them up after a timeout interval. I remember this was something on the order of 10-30 min.
Honestly though, HN is a free service built with an experimental programming language buy a guy who worked full-time as a seed-stage investor. That's a miracle in itself. You're not going to "shame" anyone into fixing it.
[1] http://en.wikipedia.org/wiki/Closure_(computer_programming) http://en.wikipedia.org/wiki/Closure_(computer_programming)
- sillysaurus3 12y agoThere isn't an obvious way to fix this without dramatically changing the way pages are rendered. Actually, it's easy to fix, because it's easy to turn dynamic urls ("fnid" urls) into regular URLs (something like "/submitreply?id=xxx"). They just haven't gotten around to it yet, which is fine.
- deleted 12y ago[deleted]
- aaronem 12y agoI actually just grabbed a copy of the HN source a few days ago in pursuit of a potential side project I'm screwing around with on behalf of a community I frequent. I'm half tempted to dig into it and see what I can come up with in terms of a fix, but before doing so I'd want to know where I could submit a pull request or send a patch, and I'd want to know that such a pull request or patch would receive serious consideration from those responsible for HN, rather than a "thanks, we'll check it out never" sort of response. (It's one thing if I end up with something that doesn't work in a test case I failed to consider beforehand, or doesn't fit in well with whatever plans exist on the part of HN's current maintainers; that's something I can understand, and I'm not about to get my nose out of joint over it. What would raise my ire would be to put in the effort and see it go zinging off into the ether, never to be heard from again.)
- jaredsohn 12y agoAnother comment linked to some comments from dang: "It's on our list. There are a lot of things on the list; we don't know yet when we'll get to it." https://news.ycombinator.com/item?id=7651770 https://news.ycombinator.com/item?id=7651770 So I imagine that if you submitted a pull request, they would at least look at it when trying to fix it.
- Dylan16807 12y agoHaving a parameter for how many pages to skip (and purposely not care about changes between clicks) would not be dramatic at all.
- slashnull 12y agoJust making a redirect to the latest front page, or nth page of the latest rendering closure would already much better. Is there any obvious reason why this isn't done?
- Dorian-Marie 12y agoHere is the source code of a comment form: https://gist.github.com/Dorian/21c78ea7143ba0a50c3a https://gist.github.com/Dorian/21c78ea7143ba0a50c3a We can see that it's an hidden field. So maybe an extension can re-fetch the page and updates the hidden field every 5-10 minutes, that would fix it for the HN users complaining about it.
- letstryagain 12y ago> HN is a free service This is just a cop-out. HN gets massive amounts of traffic and obvious problems like this one should be fixed.
- grinich 12y agoWhen I say it's "free" I mean it in a larger sense. HN has no advertisements, and up until fairly recently, no full-time developers. There wasn't much incentive to fix these bugs in the product, even though they seem quite glaring to users. PG spent _lots_ of time creating tools to better moderate content and block spammers, which are features that users don't see but actually make a huge difference. When you're building a house, painting the walls is the last thing you do.