I'm sorry, I know this is Hacker News. But isn't part of hacking actually solving problems (aka removing "schlep blindness"?)<p>I've put up with the "Unknown or expired link" message for years.<p>I'm curious - why can't the "More" link just link to news.ycombinator.com/news?page=2 which gives me number #31-60 of the top trending links?<p>I might miss a post or two in the page transition, but if the post is any good I will see it eventually.<p>Just curious.<p>edit: toned the message down a little - it was previously more ranty (which was supposed to be humorous, but some folk might not get that).
There's an explanation for what you see (the <i>fnid</i> values), here: <a href="http://news.ycombinator.com/item?id=4899745" rel="nofollow">http://news.ycombinator.com/item?id=4899745</a><p>As to why pg can't use normal pagination instead of user-specific state, I dunno, why not just use Ruby or Python (or PHP!) for the site instead of Arc? Short answer is, I suppose, because he can, and he's likely more interested in satisfying intellectual curiosity than designing a normal pagination system. jm2c.
> Why can't the "More" link just link to news.ycombinator.com/news?page=2 which gives me number #31-60 of the top trending links?<p>1. HN deals with your interaction by assigning a session index to your initial contact.<p>2. This index allows HN to keep track of which page of which section you're visiting, so if you click "More" the HN sever knows what do to -- it has a stored context for your request.<p>3. The HN server has limited resources, so if an index goes unused for more than a few minutes, the server reclaims the index for reuse.<p>4. If you wait too long before making a server request like clicking "More", it's possible that your index will have been reclaimed and assigned to another user. If this happens, you see the "expired link" message.<p>5. After your index has expired and been reclaimed, the HN server has no way to interpret your command to proceed -- proceed to where?<p>6. Also, if you wait long enough, the front page (and all subsidiary pages) will have changed contents, so the pages you're viewing are no longer current, consequently the server can't deliver "page 2" for the simple reason that that version of the page no longer exists.