A Wikipedia for Navigation Data

I was reading A blog entry about airport entries on Wikipedia and COPA (Canadian Owners and Pilots Association), and reflecting on how thousands of volunteers, people with too much time on their hands mostly, have made Wikipedia such a comprehensive resource. And it struck me that if we could harness the same sort of dedication and talent from pilots around the world, the vast number of us who rely on DAFIF (Digital Aeronautical Flight Information File) data for our flight planning, flight simulation, moving map navigators and other applications won’t be left out in the cold when DAFIF goes away.

I was envisioning something based on the Wikipedia source, but instead of a free form text entry you’d have a structured form for entering the data, and it would be pre-filled with the data already available from DAFIF, FAA and other databases. Then interested people could regularly check that against their local Aeronautical Information Publication and update it as necessary. The resultant database would be available free to any person or program who currently uses FAA and DAFIF data, such as my own waypoint database generators.

Since I posted a variation of this idea on Usenet last night, I have been informed that one DAFIF using program has already attempting the volunteer approach. The problem with that is that while they will only target users of their one individual program and only make the results available to the users of their one individual program. I think it would be better to make one system that draws volunteers from users of all programs that use DAFIF, and which makes its results available to all users of DAFIF.

My experience trying to recruit volunteers for entering data for my navaid.com systems is that people express interest, but there are very few people who follow through, and most of them lose interest after a few update cycles. The only solution is to make it as easy as possible for people to contribute, and to draw from the largest possible pool of volunteers.

Update: I contacted the people doing the volunteer project for their own product, and they have no interest in doing something for the benefit of the entire aviation community because they can’t make money off of it, and made disparaging remarks about the types of volunteers that this project would attract. Since they’re being assholes, I took the link to their site off this posting.

Good day flying

I flew one of the club’s Archers to Batavia for an oil change and to get the wheel pants put on. I volunteers because I hadn’t flown in over a month and I needed to knock some rust off. A free flight in a plane that’s easier to fly than the Lance seemed like a good way to do it. The weather wasn’t great – there was a broken to overcast layer at about 6000 feet, and shafts of rain scattered all over the place. And as typical for a June afternoon, it was pretty bumpy.

After the oil change, I came back to Rochester and got the Lance ready to fly to Ottawa. I filed IFR at 9000 feet, and the Lance took its own sweet time getting up that high. Man that plane is getting aenemic. I barely got 300 fpm before I retracted the gear, and about 800 fpm afterwards, and getting worse and worse as I got higher. I climbed through a bit of a layer at 6,000 feet, and was in solid IMC at 9,000 feet for about 20 minutes before it cleared off and left me in pretty decent visual conditions. Man, I’m never going to keep IFR current in actual, am I?

I really wish I was able to fly more often to become a “better stick”. I have no problem with the procedures and the thinking part of flying, but I am just not happy with how well I can hold a course or an altitude. I hand flew the whole way for the practice, but even when I briefly put on the autopilot in order to dig out a chart, the autopilot did an absolutely horrible job of holding a heading – the turn coordinator is very very slow to react, and I think that makes the autopilot slow to respond and prone to overcorrect.

This was my first flight to Canada since getting my CANPASS registration. That means that I called beforehand, and didn’t have to call on arrival. Big whup. But it also means that in the future I won’t have to stop off in St. Catherines on the way to Oshawa (because Oshawa customs isn’t available after 4pm) because I don’t have to arrive at an airport of entry while customs is available. If I could have, but I didn’t, choose to land at Rockcliffe, Carp or Gatineau instead of Ottawa, and maybe save a few bucks on ramp fees. I didn’t, because I wasn’t sure if it was going to be IFR conditions and I wasn’t sure of the arrival and departure procedures for those outlying airports. Maybe next time.

Ok, I’m an idiot and Linode is back on the table

It turns out that that test I ran yesterday that showed that Linode was even slower in mysql than it was in Postgres? Well, it turns out that I’d left the “;host=mysqldb.gradwell.net” in the connect string, so instead of hitting my local mysql database, I was actually going across the Atlantic Ocean to hit a database at Gradwell. D’OH!

I switched to using the local database, and the time came down to a slightly more acceptable 7+ minutes, but I was still I/O rate limited much of the time. Then I switched to using another guy’s database on his Linode (much better provisioned than mine) and the time went down to about 3+ minutes, and I never hit my I/O limit even once. (Which makes me think that multiple generators running at the same time won’t slow to a crawl.)

Linode probably a total washout

I’m starting to think that I won’t be able to host my application on Linode at all. Here’s the results of my latest testing:

Database Home Gradwell Linode
PostgreSQL 7:46   21:01
MySQL 0:32 1:01 42:40

The abysmal performance on the last run, MySQL on Linode, appears to be because I’ve hit some sort of I/O limiting that they do when people do too much disk I/O (i.e. swap).

I’m going to try the tests again on Linode but with the database hosted somewhere else – either at home or on my Gradwell server. Even if that works, I’m not sure what that will mean about my options.

More bad news on the Linode front

Followup to Rants and Revelations » Bad news on the Linode front:

I ran the same generator task on Gradwell and the Linode. On Linode, it took 21m1.1s, on Gradwell, 1m0.5s. Kind of a huge difference, don’t you think? So I copied the database and code to my home machine, which has 1024Mb of RAM instead of 96Mb, and dual Athlon MP1800+ processors, and it still takes 7m46s.

So either Postgres is way slower than MySQL, or I’ve done something really wrong when I ported the code.

I guess my next move is to try the Gradwell MySQL code on my home server and see how long it takes.