Monday, April 23. 2007
Programming Challenge: Sudoku Generator
Write a program to generate sudoku puzzles with a unique solution.
In Postscript.
In such a way that if I print 5 copies of your program, I get five distinct sudoku puzzles.
Continue reading "Programming Challenge: Sudoku Generator"
Improving svnmerge
There's been a lot of writing about svnmerge: Ken Kinder wrote a nice introductory article on the topic, and now there's a wiki and even a mailing list. Maybe someday soon it will depart the contrib/ purgatory!
One unusual use of svnmerge is to "branch" a public subversion repository into your local repository, to allow local development while still tracking the public trunk. This is related to vendor branches, but is more suited to the case where you'll be submitting changes back to the project, and is particularly useful if you have commit permission on the public repository. For me, I was merging from the Python repository (http://svn.python.org/projects/python/trunk/) to my own private repository (let's call it http://svn.v.igoro.us/python/trunk).
Svnmerge has a few weaknesses, but one that surprised me was this: while svnmerge can manage changes between different repositories, it can't do so when the repository-relative path is the same in each branch. In this case, the repository-relative path for both is /python/trunk, so svnmerge complains:
svnmerge: cannot init integration source '/python/trunk' It must differ from the repository-relative path of the current directory.
Continue reading "Improving svnmerge"
Sunday, April 8. 2007
Are we really smarter?
I love reading old computer science texts. I own the first three volumes of The Art Of Computer Programming, and while I can't claim to have read them all cover-to-cover, I often flip through them fairly randomly, and usually find some clever algorithmic trick or optimization that piques my interest.
Somehow I hadn't heard about HAKMEM before. It's an entirely new trove of puzzles to think about!
