It actually just updates window.location.hash instead, which does cause a flood of history entries (looks like just one per distinct animation state, though, at least in Chrome). See the "One Last Thing" section near the bottom of the article for the rationale. See the inline code snippets in the article, or view source for wavyurl.com to see the actual code used.