4 ms·
it has to do with pagination of database results. traditionally people used links like ?start=10, however if new items were added in between the time you loade
by mc_hammer 13y ago
it has to do with pagination of database results.
traditionally people used links like ?start=10, however if new items were added in between the time you loaded the page and the time you clicked the link you would see them on the second page if the result set were sorted by newest first DESC
so then ppl used things like ?afterID=10thID, however that doesnt really work with a site with a voting sort, that item will move around from first place to last place on the page and you could get a whole new batch.
hn uses some system, possibley the afterID system, but it knows that after N seconds or N changse to the table the list is no longer valid.
- lanna 13y agoSo, not to risk showing me a link again, they prefer to show me nothing at all? That's a pretty awful tradeoff.
- maxerickson 13y agoIt's not about showing you the link or not, it's the implementation leaking out. A bunch of different user actions generate new fnids (one place you see them is in the 'more' urls) and there is only space set aside on the server for some limited number of them.
- BrindsleyQuives 13y ago^^ What s/he said. I appreciate that the karma system and voting introduces a lot more complexity behind the scenes with regard to how the top stories are ordered than the simple "newest" stuff on top approach of most news or blog sites. But I don't see why that is allowed to 'break' the display. Irrespective of how you select your records from the database, it's fairly basic practice to paginate the results with some kind of begin=1&end=50 URL appending. Also the 'expired link' page doesn't even display a link back to the homepage. So you have to either use your browser's back button [unless that link has also now expired], or manually edit the address bar URL, to get some content loading again. My original question was of the type "Is this really badly designed, or am I missing something really clever?". I think I have the answer now.