I was reading Reddit today and came across an interesting article titled Solving Every Sudoku Puzzle. My girlfriend and I enjoy doing Sudoku quite a bit, so an article about solving them obviously caught my eye. I clicked through and arrived at what appeared to be an essay written by Peter Norvig who is (was?) an artificial intelligence (AI) researcher and now works at Google. If you’ve ever taken an AI course in school you’ve probably heard his name before. Norvig’s algorithmic genius is apparent by his simple attack of this potentially expensive problem. The elegance of his solution speaks to his years of programming experience and inherited wisdom.

The thing that most caught my eye was that Norvig has chosen Python to implement the solution in. The syntax is a little confusing and would probably require a quick read of the reference manual to follow along. The required use of white space really helps to make the code more readable which should help out beginners a fair bit. His choice tells me that there is something to Python that is worth looking into.

Recently I’ve been curious about alternatives to ASP.Net and PHP, one of which is Ruby on Rails (RoR). A lot of people are talking about RoR and there are some clear lines in the sand. A lot of people criticize its problems with memory use and the unorthodox way dynamic pages are served. Others extoll the virtues of the languages syntax, its tight integration with AJAX libraries and its scaffolding technology for rapid development. I’ve not had enough time to formulate an opinion but I can definitely see the validity of points on both sides of the argument.

Python has a web framework similar to RoR called Django. One of its major proponents in the web industry is Jeff Croft who has used it to great success for his blog. Django, much like RoR, has an unorthodox page serving technique which makes it difficult to find a hosting company. From the information I could find via Google it appears that AJAX is also integrated along with scaffolding. It looks like Python is worth taking a look at, time to find somewhere to host Django and test it out. Thanks Mr. Norvig.