• Mahjongg Layouts

    Up until this weekend the layouts in Mahjongg where completely hard-coded. This meant that layout creators had to recompile after every change they made. Now mahjongg can load data from an external file and I’ve started moving some of the hard-coded layouts out to file as examples. Somewhere in the middle of testing the code…

  • Time to Blow Things Up

    Long before Muslim extremists, before the Communist Menace, even before the Anarchists it was the Catholics who were trying to bring down Western Civilisation. It’s time for Guy Fawkes ! Quite frankly I’ve never been sure whether I am meant to be celebrating the persecution of Catholics or the attempt to destroy the government. It…

  • gnome-games and Zeroconf

    As Luis has observed, there is now, thanks to Andreas Røsdal, support for zeroconf game server discovery in gnome-games. Specifically both iagno and gnibbles can take advantage of it. Unfortunately, up until twenty minutes ago, the build was broken because I had forgotten to add a file to CVS. It should work now. I hope.…

  • Death of a Laptop

    My laptop hard-drive has started to make more noises than normal. It’s not a bearing issue, it’s the clicking of the heads that has increased in volume. The hard-disk diagnostics claim there is nothing wrong, but I am making sure my backups are current none-the-less. The hard drive is only two years old, but the…

  • Sync Revisited

    Well of course it isn’t faster. It allocates two pages of memory rather than one, but that is unavoidable if you really want to squeeze those last few bytes out. (For those that really need to know: the start address and the memory size request share the same location.)

  • The Smallest Sync

    The smallest you can make an ELF binary under Linux is 45 bytes. You only have eight bytes for code, but it can be done. Fortunately Rob’s version can be squeezed into that. So here it is (ported from nasm to gas): .data .code32 ehdr: .byte 0x7F, ‘E’, ‘L’, ‘F’ .int 1 .int 0 .int…

  • Nothing Really

    It seems to have been a while since I last wrote anything. I just don’t seem to have been near a computer when I’ve wanted to make a blog entry. Poo. I’ve got back to doing the same-gnome rewrite. It’s not playable but the animation is looking really smooth now. No more jumps and discontinuities.…

  • Saying Good Bye to Random Number Seeds in Gnome-Games

    I have removed all traces of the random numebr generator seeds from gnome-games. No more large, possibly negative, integers in the title bar. No more multiple “New Game*” menu entries. No more fidly little dialogs for you to enter random numbers into. The reasoning behind this move can be found in a thread of games-list@gnome.org.…

  • I Hate Spreadsheets

    I’ve just spent half the day reading gnumeric’s function reference. The function discriptions are fine, but finding the right function to do the things I wanted to do was nasty. On top of this I’ve never quite shaken the feeling that spreadsheets are a great idea implemented in completely the wrong way.

  • Speed

    Back when I was programming on an old IBM PC (not an XT, the original PC) there were certain rules you followed if you wanted your code to be fast: Multiplication was slow. Division was slow. Floating point was really awful (no hardware support). You didn’t even think about square roots. XOR AX,AX was the…

Got any book recommendations?