Hacker News new | ask | show | jobs
Fix HackerNews Issue #11, which is driving us all crazy: Unknown or expired link
78 points by cortexman 4420 days ago
Folks, this isn't brain science. When a user clicks the More link, they don't care that the order of links has changed. Just take them to what you are presently showing users for that page.

This is driving every. single. one. of. us. CRAZY. Whoever knows the code - I am shaming you! GO FIX IT NOW!

https://github.com/HackerNews/HN/issues/11

16 comments

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)

Here is the source code of a comment form: 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.

> 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.

When 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.

Just 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?

Having a parameter for how many pages to skip (and purposely not care about changes between clicks) would not be dramatic at all.
There 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.

I 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.)

Another 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

So I imagine that if you submitted a pull request, they would at least look at it when trying to fix it.

Actually I've gotten to find it a nice tick of the site. Meh so you have to refresh and try again. It's kinda telling you you've spent to much time here and to move along.
I use hckrnews.com and this doesn't happens so much--still does on comments pages cause that's still on ycombinator.
It's not driving me crazy because I'm using AutoPager to load the continuation pages before they expire.
I wish I'd known about AutoPager before I spent all that effort writing a Greasemonkey script that does essentially the same thing. The script's on my Github account (in my profile) if anyone wants to use that instead of installing an extension; in any case, thanks for the heads-up.
Here is dang's official response on the matter from 10 days ago:

[0] https://news.ycombinator.com/item?id=7651770

Technically i understand its importance but in terms of UX this thing is terrible. For a non English speakers, they usually take some time to reply and most of the time they end up with `expired link`. I doubt the user who wrote very big comment (usually highest rated comment in that thread) use HN editor, I guess they first write in the word processor and then copy it here since the amount of time it involved in writing comment is not sufficient.
For a non English speakers, they usually take some time to reply and most of the time they end up with `expired link`. I doubt the user who wrote very big comment (usually highest rated comment in that thread) use HN editor, I guess they first write in the word processor and then copy it here since the amount of time it involved in writing comment is not sufficient.

I use the HN edit box. On mobile, I take care to copy my comment to clipboard before submitting it, so that if I hit the unknown/expired issue then I can hit the back button, refresh, paste, and resubmit. On desktop it's a nonissue because when it happens you can hit the back button and (in firefox/chrome) the edit box will have dutifully saved your whole comment, so nothing will have been lost.

And you are okay with it?
Of course. Their time is limited, and they spend it on more important matters: how to get better stories, how to detect voting rings, how to eliminate randomness of whether stories are upvoted during their short time in the /newest queue, etc. I'm happy they spend their time working on what matters; unknown/expired link is a nonissue in comparison.
It is hard to convince someone to fix what you see as a bug, when the author of the software is really so proud of this "feature" he's filed a patent on it: http://www.reddit.com/r/programming/comments/67iza/patent_on...
That's one of those ideas that seems so cool, and then you try it at your real job and get fired because pages fail to load. Must be nice to sell your site before you have you scale it up. Or be so popular you can ignore bad user experience.
#opensourcehn
Won't happen. Hacker News is the Minimum Viable Product.
until it's not [viable|minimum]. we'll see which.
That made me smile. But HN isn't a product- its a marketing tool.
Everything has really been working great overall on the site. I don't normally chime in on these HN political pages, but this issue is quite bothersome.
> This is driving every. single. one. of. us. CRAZY.

I'd consider it more of a minor inconvenience.

Just sign up for HN Gold to get infinite scrolling and more.
this insightful comment is only visible to HN Gold members
mzscheme-372 4-life.

Honestly it's nice to see an esoteric correct approach. If you're using a web "app" you shouldn't expect anything but a toy anyway. The only place it ever actually bothers me is paginated topics.

Probably the most straightforward way to 'fix' this would be to serialize delimited continuations to disk, but who knows if it would be easy to import that functionality into Arc.

On the other hand, C-a C-c C-r <submit>.. the mousing is by far the hardest part.

Truth has been spoken. What the effing eff? I can only browse two pages and then i have to browse them again because after page 3 it never works. Totally stupid.
pg is gone, who will fix it now
Releasing the source code would be an obvious answer.
Make sure to get a full refund on all the money you've paid to Hacker News. They clearly owe you and are failing terribly. The bastards!