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.

Adventures in GPS

As well as a chance to use my new (used) Garmin GPSMAP-296 in flight for the first time, I also got a chance to use it in auto mode to navigate around a strange city.

Before we left, I made sure I’d loaded the detail maps for Pittsburgh and surrounds into the data card. (BTW: can somebody please tell me why Garmin used a proprietary data card instead of CF or SMC? Oh yeah, so they could force you to buy it from them, right.) I also entered the addresses for Laura’s dorm and our hotel as user waypoints.

I brought along all the car stuff – the special charger adaptor with the speaker so the GPS can tell you verbally where to turn, the bean-bag holder to put it on the dashboard.

When driving, the GPS was great some times – it got us from the airport to Laura’s dorm, and from there to the hotel perfectly. But other times, it was both the cause of, and solution to, all the problems we had.

First problem – we decided after dinner Saturday night to make a run out to the airport to load the stuff that we’d gotten from Laura’s room to load it into the plane so we’d have more room in the car on Sunday. The route it gave us seemed like it took every narrow stop-sign laden low-speed-limit street through scary neighbourhoods. There wasn’t a single leg over 2 miles long.

The second problem was the way back. The route looked way better – long legs with instructions like “take the ramp to the left”. The problem was the execution – Pittsburgh has a lot of intersections where two or more streets go off on the same side in very short order. And it seems like the GPS wasn’t very good at differentiating, plus I wasn’t very good at estimating distances when it said things like “turn left in 400 feet”. After we got off course, the other problem surfaced – the accuracy wasn’t all that good. So I’d be on a road that was parallel to the one I was supposed to be on the GPS wouldn’t know until I was way off. I never saw the GPS pick up WAAS while I was on the ground, which is too bad because that’s where the extra accuracy would have really come in handly. And then I got into the high buildings, and the GPS accuracy got even worse. At one point it totally lost signal and just kept extrapolating the last direction it had seen me on, which indicated that I was driving through the middle of a park. Eventually we got back to the hotel.

Now in flight, I did pick up WAAS. So when I’m following an airway that I need to be within 4 miles of the center line, I had 5 foot accuracy available, but when I was trying to tell whether I’m on one of two parallel streets that are 30 feet apart, I had 100 feet accuracy. Such is life. I have to wonder if the inability to pick up WAAS in the car was due to using the small stick antenna instead of an external one? I’ll have to look into that.

In flight, I was using the arc mode, which isn’t like the HSI I’m used to, but it had the information I needed to follow the route, without obscuring the information below. And the information below was mostly there for information and entertainment – town, highway, and river names and the like, although it was good to keep track of where the nearest airports where. At 8,000 feet in the flat terrain of New York and Pennsylvania, the terrain page is pretty useless. The “panel” page is nifty. I can see how useful it would be in IMC to check the built in instruments, or even as an emergency backup if they fail.

That doesn’t inspire a lot of confidence…

In my continuing efforts to someday fly a deHavilland Beaver, I was having a look at the Murphy Aircraft site. They make a kit built plane that is very similar to the deHavilland Beaver, called the Murphy Moose. It’s smaller than the Beaver, but it’s got a big round engine, and they have a float kit for it. It would almost be perfect for me.

The problem is their web site. It sucks. The very first page has an announcement that they hired their first full time webmaster, and either this webmaster is an idiot, or they haven’t had time to fix the crap. Part of the problem is that there are a lot of broken links. Part of the problem is that some of those links are the classic “thinks they’re a web master because they stole a copy of FrontPage” mistake of a href="file:///S|/Kelly%20Eros/Order%20Info.htm".

But the worst mistake is I went to their order info page (no thanks to that link) to order an information package and DVD. And whoever wrote that page is a moron. First mistake – after you enter your name, you get a pop up telling you that you haven’t put in all the other required fields. No shit Sherlock, that’s why I haven’t hit Submit yet. But then the real problem: you put in your information and your credit card data, and click “Submit”, and instead of getting any sort of confirmation that your information was received, you get two Thunderbird “Compose Mail” windows popping up with an empty mail to “secretary@murphyair.com”. Because for some bizarre reason, the Submit button, as well as being a real form submit button, it’s also a mailto: link. WTF?

Examining the web source, you can also see the biggest newbie mistake ever: the web form has the email recipient coded as a hidden field in the form itself (which means that a spammer could use their server to send spam by changing the email address), and the form action is _vti_bin/shtml.exe/Order%20Info.htm. Looking at my web logs, I can see that _vti_bin/shtml.exe is a known open mail relay program searched for and used by spammers.

This company’s web presence is done by amateurs, and not very competent amateurs. That doesn’t give me a lot of confidence about giving them $50,000 (or however much a kit costs) of my money.