Neil Schemenauer's Web Log


October 31, 2004

My MythTV setup

Here are some details on my MythTV digital video recorder (DVR). I'm using Debian unstable and the 2.6.9 kernel. I bought a Hauppauge PVR 250 MPEG video capture card. The card does hardware MPEG-2 compression. I'm using Chris Kennedy's version of the ivtv driver (currently version 0.2.0-rc2e). One of the tricker setup tasks was figuring out the correct parameters for the ivtv module since it doesn't yet detect the tuner in my Hauppauge card. Here is what I have in /etc/modules:

# MPEG capture card
ivtv tuner=39

# IR remote

Programming the IR remote was a little bit of work too. I'm using the input-kbd program from the input-20040421-115547.tar.gz version of the input layer utilities package. I wrote a config file and an init.d script to load it at boot time. The programming of the keys is not optimal but I'm too lazy to change the config.

This is all running on an old AMD Duron 700 Mhz machine. It has a nVideo GeForce2 MX video card and I am using the binary (evil) driver from nVidia. I had to patch the 2.6.9 kernel to make it load. The card has a TV-out which I also managed to get working but currently I'm using a 21" SGI monitor as the display. I had to hack the monitor to make it work with the signal from PC video cards but that's a story for another day. I bought a 200 GB hard drive (the compressed video uses about 1.5 GB/hour so I have lots of space).

Overall, I'm quite happy with the system. The main CPU is a little slow and that results in the MythTV menus being sluggish. The picture on the monitor looks really good, much better than on the 21" TV we have. If I was a serious TV watcher I would upgrade to an LCD or DLP projector. I know someone who has a TiVo and while the TiVo interface is a little more polished I think MythTV is better.

October 18, 2004

Kramnik wins last game of chess match to retain title

Today the match ended in exciting fashion. Earlier in the match there was a number of boring drawn games. The 14 move game 11 was particularily pathetic. The players had barely got past the known book moves when they decided to call it a day.

Fortunately, game 12 was more interesting. Kramnik was playing with the white pieces and seemed to be pressing for the win. Leko played some terrific defense, his specialty, and managed to equalize. The players agreed to a draw, probably a mistake on Leko's part. It seemed as though Leko had a chance to win the game and really put the pressure on Kramnik.

Game 13 was also interesting. Kramnik was playing as black and a win would retain his title. A draw would force a game 14. Kramnik played the dynamic Ben-oni opening, obviously not content to play for a draw. While watching this game, I listened to the audio stream from The two commentators for the day, GM Maurice Ashley and GM Joel Benjamin, did a fine job. It looked like Kramnik was going to win the game but again Leko managed to find a defense.

So, the match came down to the last game. Kramnik needed a win to retain his title. Leko played the solid Caro-Kann defense, a wise choice if you are content with a draw. Kramnik played brilliantly, slowly building up an advantage. By the end the game Leko's bishop all but useless. Kramnik's knight, on the other hand, was extremely powerful. Leko was helpless and was forced to resign.

I'm not a big fan of Kramnik but he impressed me in the last two games. Leko was luckly to draw game 13 and he was crushed in game 14. I suspect game 14 will end up in some chess manuals. It seems that Kramnik can play in a dynamic style if he decides it is necessary. I'm looking forward to the reunification match (yes, chess is almost as bad as pro boxing). Part of me wants to see Kramnik and Kasparov meet again, another part wants to see Kasparov defeated by Kasim.

October 11, 2004

PEP 333 (aka Python Web Server Gateway Interface)

Is it just me or does PEP 333 propose a weird interface? Why not just pass an object with appropriate methods to the application?

October 04, 2004

Making cdrecord work on Linux 2.6 with capwrap

Recent versions of Linux (anything after 2.6.8 I think) have limited access to the CD recording ioctls. You now have to have the CAP_SYS_RAWIO capability to issue certain commands. Making cdrecord setuid root does not help since it drops it's root privileges.

I was just about to patch the kernel until I realized that this problem can be nicely solved by my capwrap module. I created a wrapper script:

 # echo '&/usr/bin/cdrecord.mmap 820000' >/usr/local/bin/cdrecord
 # chmod +sx /usr/local/bin/cdrecord

I decided to give it CAP_SYS_NICE as well. Works like charm.