This cartoon was relevant in 2000. Now, they’re rolling out fiber to the curb in some places. Like the steady state of disks is “full”, the steady state of bandwidth is “not enough”.

Interview this morning. I have not one, but 3 code samples ready for them: One complete GTK+ C program, one almost-complete Swing Java program, and one pretty half-assed GTK+ C graphics demo. The Java program implements 5-card-draw poker, but anteing, betting, calling, and raising were things that I knew I couldn’t get done in 24 hours. I verified that it works on multiple JREs, which is something that a lot of real-world Java programs are never checked on. Ah well. I’m semi-nervous. We’ll see what happens.

GTK+ apparently has some odd things going on in its memory allocation and deallocation routines. These things confuse ElectricFence and mcheck terribly, and to a lesser extent, they confuse valgrind. The thing that worked reasonably well is to export G_DEBUG=gc-friendly ; export G_SLICE=always-malloc, then to run valgrind. The program ran at a crawl, but running it for a while showed that there was only 1 memory leak that my code was responsible for. And I’m inclined to think it’s a false positive since I unset() everything right after the Glib routines return the data I want in that small section of code.