/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.

Been working on TTime

I’ve found myself working on TTime, the Technion Timetable Scheduler, quite a bit lately. Lots of cool stuff went in:

  • Boaz Goldstein’s TCal, a Cairo-based schedule renderer (could you believe the old version used MozEmbed?)
  • Sports courses are now correctly parsed
  • Ability to select specific lectures and groups for the automated scheduler
  • A manual scheduler - given an existing schedule, you can ask to show all alternatives at once, and hand-pick them. Some people (Tom, for example) prefer this.
  • Just for kicks - interoperability with Grandpa’s XML format

I’ve also cleaned up the packaging quite a bit - it can now be installed using setup.rb, or the updated Debian package. I think it may soon be time to tag a release :)

Tunelling even more stuff over SSH

Today at the CS department of the Technion is a particularily Bad Network Day (TM) for laptop users; none of the wired connections at the farm work, and wireless doesn’t seem to working for HTTP at all.

It does, however, work for SSH. Ka-ching! :)

Tunneling your browser over SSH is a pretty simple affair - SSH into somewhere which has a decent connection, and use the -D9999 flag (9999 works, but it can be any 16-bit number over 1024). Then, configure your browser to work over a SOCKS proxy at 127.0.0.1:9999.

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