Charlie on Software - Part 5

TiVo Runarounds, Issues, and Problems

For the past few years, I have been a happy TiVo Premiere user. I own two of the boxes, a regular Premiere box as well as an XL4 Elite box. Until recently, everything was fine, until the XL4 took a major dive….


My XL4 started randomly missing channels, no idea why, so I call my cable company, Time Warner.

TWC sends a technician out to look at the problem. He told me everything seems alright, but since he got into a crash in his van earlier in the week, he was in a loaner van with no equipment to check anything for me. Wasted time…

It is still not working, so TWC sends out a “2nd level” technician. He replaced my cable card and tuning adapter, problem still persisted. He was able to isolate the problem to when a tuner changed channels between a switched and non-switched channel. Still no resolution.

TWC sends out their “senior technician”….he redoes some wiring, double checks that everything looks good, problem still persists….he was able to enlighten me to the fact that when a channel doesn’t come in, the TiVo will show in its diagnostics that it is trying to tune into an analog channel when in fact it should be digital. This happens with switched and non-switched channels. He told me he has seen this problem a few times around Austin, and it has only been a problem with TiVo XL4 boxes.DSC00560

So, the Time Warner is convinced everything is good on their end. By this point, I have gone through 3 cable cards and 3 tuning adapters….still no fix in sight

So, I called TiVo tech support. They think everything is fine, but ask me to RMA by XL4 for a new one. But but but, they wanted to charge me $50 to do it…..I was not so happy that TiVo wanted to charge me money to swap out a defective box that was still under warranty….so after further negotiation, I was able to get a new box free of charge.

Fast forward 3 days. New box arrives, same problem. I call TiVo, we spend an hour on the phone troubleshooting….technician admits he does not know what is wrong, but the replacement box I had received was re-manufactured, so it may be bad as well. They ship me a new XL4 off the line.

Today….new XL4 arrives….I hook it up, get it set up, problem still persists. I called TiVo Earlier today….the tech on the phone told me “My signal to the box was too high and that was the problem”. Ok, no problem…..I introduced some artificial degradation on the line by splitting it a few times. Signal went down from 100 to 88, and SNR went from 38db to 34db. Problem still persisted. I called TiVo again tonight, they finally admitted it is an issue that their engineering team is working on and there is no solution in sight.

So, 3 TWC appointments, 3 cable cards, 3 tuning adapters, 3 TiVos, and countless hours spent on the phone and my TiVo XL4 still does not work.

Update 09/04/13:

I have called TiVo tech support every 2 days for the past week. I finally found out that my problem was escalated earlier this week. I asked them what that really meant, the rep replied that “it means we have no idea what is going on, but we are going to look into it further.”….Fantastic, I’m still stuck with a broken DVR. TiVo tried to convince me it was an environmental problem in my home, but given that my regular TiVo Premiere box works perfectly in every outlet in the house and only the XL4 fails, seems to anyone with logical deduction skills that the issue lies in the software or hardware in the XL4 box. Furthermore, I asked TiVo if there was a way that I could somehow replace my XL4 with any other model comparable and pay some kind of fee to do so….the rep was quite rude and insisted it was not possible, and told me that I was stuck with my broken DVR until further notice. So much for customer service.

I know my situation may be isolated, but I cannot in good faith give any kind of recommendation to a company that not only sells a defective product, but then tries to defend its perfection in the face of overwhelming evidence, then cannot provide any kind of resolution for my issue, then refuses to provide me with any kind of other solution even when I offer financial compensation on my behalf (which shouldn’t even be required) to solve the problem.

Securing Synergy

At work, I have several computers on my desk, but I prefer to only use one mouse and keyboard to control all of them. To accomplish this, I use Synergy. The more recent versions of Synergy come with the ability to perform encryption on the connections through Synergy itself, but I did not feel it adequate enough or easy enough to use for my needs. Instead, I run Synergy on my machine which has the keyboard and mouse attached to it, then on my client machines, I tunnel the remote server’s synergy port to the local machine, and connect locally, This tunnels all Synergy traffic through SSH transparently, and is extremely secure. I like this level of security because often times, I am typing personal, sensitive, or confidential information on one of the client machines using the server’s keyboard.

In my setup, is the Synergy server. All SSH is done through public key encryption to make the connection painless.
Here is the script I use:

#!/bin/bash -x

function clean()
    for job in `ps -eo pid,args | grep ssh | grep 24800 | grep -v grep | awk '{print $1}'`
        kill -9 $job

trap clean SIGINT

ssh -f -N -L
synergyc -f localhost

I hope this helps someone else looking for an easy way to secure down Synergy.

Fun with GMail, Google Voice, & Python

Lately I have been getting lots of Google Voice and GMail messages, and it can be a royal pain to go through and mark them all read on the web interfaces, so I threw together a couple of script that help to solve this problem from the shell for me.


#!/usr/bin/env python

import imaplib
obj = imaplib.IMAP4_SSL('', '993')
obj.login('', 'my_password')'Inbox')
typ ,data =,'UnSeen')
try:[0].replace(' ',','),'+FLAGS','\Seen')
    print "Messages marked as read"
    print "No messages to mark"


#!/usr/bin/env python

from googlevoice import Voice,util

voice = Voice()
voice.login('', 'my_password')

while True :
    folder ='is:unread')
    if folder.totalSize <= 0 :
    for message in folder.messages:
        if not

Now, to tie it all together, a bash script:




touch $voice_file
touch $gmail_file

echo "Marking text messages read"
~/bin/voice_mark_as_read &> $voice_file &
echo "Marking gmail messages read"
~/bin/gmail_mark_as_read &> $gmail_file &


echo "GVoice:"
cat $voice_file
echo "GMail:"
cat $gmail_file

rm $gmail_file $voice_file

Now, I do not claim to be the original author of the first 2 scripts here, they were taken from various stack exchange posts and what not (I lost the URLs and I have modified the scripts, so unfortunately I cannot give due credit, but I will not take it for myself). The last bash script was my little work, and it does its job perfectly. I hope this helps someone else to fix the problem that I was also facing.