Problem: Can't pause/fast forward/rewind video or music while sitting on the couch.
Solution: An IR receiver. Luckily it just so happens, I have an old IRMan lying around (basically a commercial version of [UIR](http://fly.cc.fer.hr/~mozgic/UIR/), albeit long discontinued).
Next problem: The computer is behind the couch, at the other end of the room.
Solution: [Universal IR Receiver Daemon](http://kbinstuff.googlepages.com/uirduniversalirreceiverdaemon). This neat little utility supports the UIR protocol and can send the IR codes over a network as UDP packets. Neat! Now I can connect the IRMan to my conveniently located home server which relays the button codes to my desktop PC.
Next problem: No receiver daemon!
Solution: A simple python script listens for incoming UDP packets, checks if the code matches an action defined in a configuration file, then executes that action. Currently amarok and mplayer are supported. Get the script at the [software odds & ends](http://www.luolamies.org/software/misc/) page.
Final problem: UIRD doesn't want to connect to my IRMan.
Solution: Apparently a delay in the initialization routine was too short. Changing "usleep( 1000);" to "usleep( 10000)" in init_irmodule.c seemed to fix the it.