/images/bio-photo-small.jpg

Shallow and Pedantic

A person/tech/code blog of a coder/techie/person. Like calculus in a kiddie pool, the author of this blog is known to be quite shallow and pedantic.

Valgrind Fail

I neglected to post this here somehow, it’s about a month old by now…

Screenshot lost in the mist of time… shows a program segfaulting, and then working properly when run within valgrind.

The problem turned out to be an imprecise (false-positve) comparison operator implemented for a class used as a hash key. God, I hate C++.

Scheduling

So, I see I forgot to post my schedule for this semester…

…ttime screenshot lost in the mists of time…

As you can see, it’s TTime! With a shiny new Cairo interface. We’re back to the Ruby version, too - as we have another coder on board, which is using his compilation skills in order to write a new REPY parser.

You can also see it’s only found one schedule. This is thanks to the group selection constraint which was finally coded. Yes, that’s a link to the Github repository for TTime. You’re welcome to help write some constraints :)

Things I learned today

  1. You can use git on a VFAT disk (for example, a USB key) without all of the annoying mode issues, by using the following setting in .git/config:

    1
    2
    
    [core]
    filemode = false
    

    What I haven’t figured out is how to do force a chmod in this situation; for example, if I create a new script, I was hoping to be able to git chmod +x it.

  2. Cream is a very good editor if you’re used to Windows applications. It’s a set of plugins for VIM which make it modeless and (very) familiar to Windows users. However, Ctrl-O still has its usual job for us ordinary junkies :)

Deskbar and Firefox 3

Deskbar has a really neat plugin which allows you to search your browsing history and bookmarks. Firefox 3 has switched the storage format to an sqlite-based one. I’ve been working on a new plugin to make use of that - so far it’s very enjoyable to use :)

ยป Deskbar_FF3

Hebrew spell-checking in Pidgin

This one took me a while to figure out, which is reason enough to post it here.

First of all, you’ll need aspell-he, as pidgin uses gtkspell (which, in turn, uses aspell) rather than enchant (which supports hspell). There is a patch for gtkspell which gets it to use enchant, but I don’t know of a simple way to get it to work in my distribution of choice, Ubuntu.

Now you need a neat little plugin from the Guifications plugin pack, called SwitchSpell. Unfortunately, it’s in version 2.3.0 of the pack, whereas the current Ubuntu version is 2.0.0. It’s not complicated to install this from source though: I’ve detailed the precise installation procedure below; the confusing thing is that if you forget to install libgtkspell-dev or libaspell-dev, SwitchSpell will not be built, but the configure script tells you that it will.

Faster Languages

Due to an exercise in an AI course, I’m forced to confront an old nemesis - C++. Part of the reason is that the exercise contains a time-limited tournament, and the code needs to run very quickly. Another reason is, I guess, the fact that C++ serves as a sort of lowest common denominator in the course (which used, by the way, to be taught in LISP, along with the language).