balupton/history.js provides an API for accessing HTML5 History manipulation, but it also supports older browsers and uses that ugly # notation - but only when HTML5 is not available. Could be quite interesting for a project of mine.