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…