Coding
My show downloading stack
I love watching TV, and hate it. Regular show schedules are horrible, commercial breaks are annoying, and the ability to rewind is very important. I love Hot’s VOD service (and happily pay to watch the shows I enjoy), but my true favorite for getting my entertainment is everyone’s favorite not-a-dumptruck, the internet. In this post, I will describe how I do it.
Everything I describe in this post can be done using miro. It’s a neat piece of software, which lacked polish in version 2.4 (2.5 is out now though), but there are a few things I don’t like about it:
- You have to be graphically logged in for it to run. Among other things, this means that if someone reboots your computer, there’s no way to get it to start automatically. (I’ll be very happy to know if I’m wrong about this)
- It doesn’t give you as much control as I’d like over torrents.
- Its BitTorrent client doesn’t perform as well as rtorrent.
However, Miro does one thing which I haven’t figured out how to do myself yet: It keeps track of your position within watched shows. That is, stop watching a show -and next time playback will resume from the same place.
Three things I didn’t know Ruby does
Edit: I was misled!
Illustrated here. Hints below.
>> def inspect_x_and_y(x,y); puts "x: %p, y: %p" % [x,y]; end
=> nil
>> inspect_x_and_y(y={"hello" => "world"},x=[1,2,3])
x: {"hello"=>"world"}, y: [1, 2, 3]
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
Download links after the obligatory screenshot.
Valgrind Fail
I neglected to post this here somehow, it’s about a month old by now…
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++.
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).


