Stupid TiVo, stupid Netgear

Our two TiVos are networked together over our wireless network. This allows us to transfer shows between the two, as well as doing the daily call over the internet. But the wireless dongle on the upstairs TiVo occasionally drops connection. In the past, I’ve just unplugged the dongle and let it cool down a bit, plug it back in, and everything was fine. But twice in the last two days, when I unplug the dongle, the whole TiVo reboots. That’s not good.

I wonder if it’s time to buy a new dongle. Or maybe I should just hold out for the TiVo Series III.

Further proof that the US patent system is totally broken:

I now have my name on a second patent. 7,034,916 is basically our old patent 6,812,994 with a few little changes to incorporate some changes we (I) made to indicate whether the feature is ready to play or not.

Take a look at the list of inventors. Curtis is the only other programmer on that list, and he left the company last year before we did this change. Everybody else is middle management and the guy from Corporate Design and Usability whose sole contribution to this change from the old one was to say that we should use blue rather than green to indicate the “ready to play” status. The guys responsible for the code that sends up the information from the feature player as to whether the status is good or not aren’t mentioned on the patent, just me because I take that information and change the colour of the blob of colour on the screen and provide a tooltip. But the guy who signs my timesheet is. That doesn’t seem fair to me.

Sometimes, Java isn’t my favourite language

I have an AbstractDocument in a JTextArea in a JScrollPane. I’m writing to the AbstractDocument from a thread that watches a log file – basically doing the equivalent of a “tail -f”. So far, so good.

Here’s the part that isn’t my favourite thing in the world: If I want the JScrollPane to automatically scroll to the bottom of the file when I write to it, I have to do my AbstractDocument.insertText in the event queue thread (using SwingUtilities.invokeLater), but if I don’t want it to scroll to the bottom, I have to do the insertString in a different thread. Is this fucking stupid, or what? Wouldn’t you expect “Scroll to the bottom on input” to be a property somewhere?

So I’ve got a flag for whether I want it to scroll to the bottom or not, and when it’s true, I use SwingUtilities.invokeLater and when it’s false I call insertString directly.

According to the Java bug parade, people want this property, but even when it’s available, they want the current behaviour to remain the default because so many of us have had to write code this way.

WTF?

I clicked on a Slashdot banner ad. I got:

Using Apache Tomcat but need to do more?

We’re sorry, but due to restrictions placed by US law, we are unable to offer you the opportunity to download WebSphere at this time due to your country of origin. If you believe that this was in error, please contact SF.net with your IP address (165.170.128.66).

I don’t know if SourceForge knows how to do a “whois”, but that IP belongs to Kodak, a company based in Rochester, NY, USA. I very much doubt that US law would prohibit the export of certain software to Rochester, NY, in spite of the fact that we elected Hillary Clinton.

Update:
It gets better – if you click the “please contact SF.net”, it’s a mailto, but when you send the email, it bounces with

—– The following addresses had permanent fatal errors —–
<support @sourceforge.net>
(reason: 550 Unrouteable address)

—– Transcript of session follows —–
… while talking to mail.sourceforge.net.:

>>>>>> RCPT To:<support@sourceforge.net>

< << 550 Unrouteable address 550 5.1.1 <support@sourceforge.net>... User unknown

If I was IBM, I wouldn’t be trusting my important products to these ass-clowns.