When navigating through my repo directories on github.com, I noticed that it uses cool javascript effects to switch between directory views without ever causing a postback, and yet the url changes nice and RESTfully: http://../tree/master/dir7
-> http://../tree/master/dir7/dir4
.
Whenever I have to keep track of navigation with javascript, I've always had to resort to hash arguments in the address bar. http://...page#new-javascript-location
How do they do it?