Category: Programming
-
Sudoku
I’ve been playing Sudoku on Google+. i’ve more or less mastered the easy and medium levels, but it takes me about 30 minutes to do a hard level, and I haven’t tried expert yet. Sudoku is a fairly dumb game in some ways; as a colleague of mine pointed out, it’s trivial to write a…
-
CVS SSH
Sorry for the long posting hiatus. I have enough readers now that it’s hard to write the usual random nonsense. I was recently reminded of an old problem using CVS over SSH, which was an interesting example of various different instances of reasonable behaviour adding up to a bug. It’s possible that this bug has…
-
Executable stack
The gcc compiler implements an extension to C: nested functions. A trivial example: int f() { int i = 2; int g(int j) { return i + j; } return g(3); } The function f will return 5. Note in particular that the nested function g refers to the variable i defined in the enclosing…
-
DejaGNU
Sorry for the long delay. Anyhow, I wrote that so that I could write this. DejaGNU is the test harness used by gcc, gdb, the GNU binutils, and probably other programs as well. Frankly, it’s a disaster. The documentation is weak, the implementation is complex and confusing, it’s slow, it does not support running tests…
-
Tcl
Around 1997 I had did quite a bit of programming in the Tcl language, as part of an IDE project at Cygnus. The project failed, for several reasons, but here I’m going to write about Tcl. I don’t hear much about Tcl these days, although it was fairly popular in its day. Tcl is a…