I still don't think that's quite right, since you're presumably numbering the newest item as "0" and then counting up from there. Which means after 20 new posts come in, my link to /#20 no longer takes me where I want it to.
Similarly, with history.pushState and history.replaceState, why use hashtags instead of actual URLs?