I just love being a geek sometimes

Sometimes having programming skills comes in very handy, particularly when you’re trying to be as lazy as you can possibly be.

I have a MythTV DVR system setup in my apartment.  One of the features of this system is that any of the Linux systems (Which is all 5 of my home computers) on my LAN can connect to the backend server and be used to watch live TV or shows that I have recorded on the backend.

In my home office, I’ve got two PC’s setup.  This allows me to use one as a TV while I’m working on the other.

This setup suits my needs nicely, but there was one minor annoyance.  I had to move from computer to computer any time I wanted to adjust the volume, change channels, skip commercials, etc.

Most people would just accept it as is (well, most people wouldn’t have built their own DVR either, heh), but being a geek it was time to flex some creative mental muscle.

MythTV frontend has the capability of receiving commands across the network via telnet.  I looked around for remote control programs that used this interface, but everything I found was either so old that it wasn’t compatible with current versions of Myth, had disappeared from their creator’s webserver, or weren’t what I wanted.  I decided it would be easier to just roll my own.

About an hour of programming later, and my simple little network remote program had the basic features that I use on a regular basis and was able to open a socket connection to the control port and control the frontend.  Of course, I couldn’t just leave it at that, so I incorporated all of the controls that I could imagine that I’d ever want to use.  Total time on the project was probably 3 hours, but some of that was spent just watching TV when I got caught up in what was on when I was testing the program.

Anyway, here’s a screenshot of my silly little remote control toy.

Isaac's MythTV network remote control program
Isaac's MythTV network remote control program

1 thought on “I just love being a geek sometimes”

Leave a Reply

Your email address will not be published. Required fields are marked *