ajax applications

i've been looking at 'ajax' web applications, which are basically things like google maps, google gmail, amazon a9 and other interactive pages that don't rely on server round-tripping to deliver a response to the user. ajax applications provide most of the front-end interaction in a javascript layer running on the browser, which fetches XML and XHTML behind the scenes and uses the DOM to display and manipulate the data. the word 'ajax' is actually an acronym, meaning 'asynchronous javascript and XML' (or '... and XMLHTTPRequest' or '... and XHTML/CSS' according to some people) and is best explained by this essay by adaptive path. also woth a look on the technical side is this blog on XMLHTTPRequest development.

anyway, the company 37 signals produce several pretty useful ajax applications. i particularly like tadalists for web browseable todo lists, and 'backpack' for managing notes and other information, although this costs real money for the most useful features...

here is a list of good ajax resources:

su-doku questions...?

spurred on by occular's post, i decided to try and write my own deterministic sudoku solver. at the moment i'm using java, but i think that prolog or any other AI language would be ideal. anyway, i had a few thoughts while doing this, which i don't know the answers to (yet...)
  • how many finished 9x9 sudoku grids are there?
  • how do you create the starting grids - is it simply backtracking from a finished square that fulfills the constraints?
  • in connection with the previous, it should be noted that most starting grids i've seen have 180 degree rotational symmetry about a diagonal, sometimes 90 degree about both or reflectional about both, just like crossword grids
  • is there a way to determine the 'difficulty' of a particular starting grid deterministically, or is it purely subjective?

if anyone has any ideas, i'd be interested...