Wednesday, December 31, 2008

Zune dies for leap year

So one of the hot topics on Twitter just now has to do with all of Microsoft's Zune MP3 players unexplainedly bricking at midnight this morning. This should not come as much surprise to those of us who've been around Microsoft a while, though. Microsoft has had persistent problems with clock and calender math for most of their corporate existence. Back in 1988, virtually all applications that used the Microsoft C Runtime Library and had any sort of date or time calculation in it went absolutely bonkers on February 29th because of a bug in MSFT's leap day calculations. Most problems went away on March 1, although some remained. There have been a number of other such bugs in MSFT's history. I'm pretty certain that this particular one is due to the Zune system software simply being unable to cope with today being Day 366 of the calendar year.

If I'm right about this, Zunes should start working again (as if nothing was ever wrong) at midnight. But I'm just guessing that that's the problem.

You'd think after 20 years of making mistakes like this Bill would have learned to force his coders to quality-check calendaring code, but here we are...

Friday, December 26, 2008

The Repeater Footprint Project, Revisited

The Repeater Footprint Project is largely an excuse for me to play with Splat!, but I have a feeling it might be useful, too. It came out of discussions with various people on IRC, as well as listening to various hams on the DuPage Amateur Radio Club VHF machine.

Apparently there's a UK club that has a site that lists each of the repeaters in their area (possibly the whole country) with maps showing where one can expect to be able to reach the repeater. This seems as if it would be a useful thing. The group on the W9DUP repeater also seemed to think so and were opening wondering on the air how one would go about doing that. Now, I happen to know how to go about doing it, but I wasn't able to get a word in edgewise in the ragchew (gotta love VHF ragchewers), so instead I decided just to go ahead and do it.

I started out by creating pages on my ham wiki for each repeater in K5EHX's database, but that proved to be largely unhelpful and I am now looking for an easy way to delete them; in the meantime I suggest you ignore them as they're not being maintained. The bulk of the project is right now in a database, which is accumulating coverage data (by grid square) for each repeater in K5EHX's listings. Along the way I've written an extensive set of validation tests for Tom's database. Here's a list of all the tests currently done:
  • Trustee callsign is a valid ham callsign, using cty.dat to derive callsign validation regexps.
  • If the callsign is a US callsign, the callsign is checked to ensure that it is in ULS and is listed as active.
    • If the callsign is in ULS and was cancelled because the licensee changed callsign, Tom's database is automatically updated with the new callsign if the new callsign is still active.
  • The repeater type field is checked for odd values; people often put strange values in this field.
  • The output frequency is checked against a list of authorized frequencies. Currently this uses US authorizations; a future version will use the country listed in the database to choose the correct list of frequencies.
  • The offset and shift values are parsed against the output frequency to derive an input frequency, which is also validated against authorized bandplans.
    • The US repeater plan is used to try to infer input frequencies when the offset or shift values are left unspecified; when incomplete or discrepant data is found and a corrected value can be inferred, Tom's database is updated automatically.
    • Common errors that are corrected include entering offsets in kHz or 100 kHz steps and entering an absolute frequency insteaed of an offset.
  • Repeaters at zero latitude and longitude are flagged as errors (these are typically due to an entry using a location name that cannot be georesolved).
Entries that pass validation are merged into my repeater database, which is not currently being published, because I haven't figured out how I want to do it yet. Maybe I should offer XML dumps.

Future plans include merging in the IRLP node list, and developing a way to merge in other random repeater listings found on the Internet. I could really use some good ETL software for this, but I haven't found any that I can afford yet. Adding more validation tests is also high on the priority list.

Meanwhile, I have a script running that generates splats (coverage maps) for each repeater in my database, storing for each location and frequency pair (coverage varies by frequency) the least expected path loss from the transceiver location to any point within each gridsquare reachable from that transceiver. This takes about 30 minutes per location/frequency pair, and will complete in about 15 months unless I dedicate more hardware to the project.

Once this is done, I should be able to easily generate a list of every repeater that one could hear, and could work, from any given gridsquare. I used to have a barebones webpage that generated such lists (give it a gridsquare and it would tell you what systems you could work) but I haven't updated it since I refactored the database. I can also generate lists of repeater pairs that might potentially interfere with one another.

The coverage database, once complete, would be of great benefit to anyone who travels and, I would think, also be of significant value to coordinators. I assume most coordinators have similar information, although from what I've heard most coordinators use rule-of-thumb methods to anticipate interference and relatively few have Longley-Rice simulation software or terrain mappers.

(This is a slightly edited copy of an article that appears on my ham wiki, which I recently updated due to attention created by a post on the QRZ forums.)

What's up with the weather?

Yesterday morning, it was, I believe, -1 outside, and the driveway (and also apparently the Indiana Toll Road) was coated in ice.  This morning, it's 35 and the snow and ice are all melting.  Tonight we're supposed to get thick fog.  Tomorrow, it might get as high as 60, but tomorrow evening and Sunday we're supposed to get more snow.

I know that the motto of Illinois weather is "wait five minutes, it'll change", but this is even more erratic than normal.  It's unusual for us to get sub-zero weather in December but we've broken into negativeland several nights in a row the past week or so. 

Methinks there's more to this global warming idea than just some talking heads.

Wednesday, December 10, 2008


At the moment, the #2 search on Google Trends is for "brechdurchfall", which is the German word for "gastroenteritis", as best I can figure.  I've found a few articles about norovirus and rotavirus incidents (e.g. this one, in German and about a sports school in Austria if I've read it correctly, and this one, also in German, about unexpectedly sick patients in a hospital). 

We already know that Google Trends can predict the flu.  Is there some sort of outbreak of viral GI disease in German-speaking countries that I've not heard of?

Tuesday, December 09, 2008

Replacing Governor Blagojevich

Today's top news story, at least in Illinois, is that Governor Rod Blagojevich has been arrested on a panoply of corruption charges.  I'm not going to opine on the likelihood that he's guilty, at least not now.  I'm more interested in what happens now to Illinois state government, especially considering that we've got an open senate seat right now (which is apparently related to the charges, sad to say) and all sorts of problems for which we really could use an effective state government.  That's a bit challenging when your governor is in FBI custody.

The governor of Illinois is elected to a four year term; the last election was in 2006 and the next will be in 2010.  The state constitution provides that the lieutenant governor (currently Pat Quinn) takes over in the event that the governor is unable to serve because of death, conviction on impeachment, failure to qualify, resignation, or "other disability".  There's also provisions that allow the governor to transfer power temporarily to the lieutenant governor.  As far as I can tell, these are the limit of the ways to remove the governor from office (although "other disability" is not defined in the constitution and I haven't found a statute that clarifies this yet).

Let's look at the options for removing the governor, then.  Death and "failure to qualify" are nonstarters; while a lot of people really dislike Blagojevich, I doubt assassination is a significant probability, and he seems to be in decently good health. Further, he pretty clearly seems to meet the relatively minimal qualifications for the office (25 years of age and three years a resident of the state).  That leaves impeachment, resignation, and "other disability".

Of course, Blagojevich could resign, but I really don't expect him to.  The charges against him and his recent public comments quite frankly leave me wondering about his competence, and so while by all rights he should resign, he should also have known that he was under federal investigation (according to one radio report I heard, he's been subject to wiretaps for nearly two months now) and yet continued to behave as if there was no cause for concern.  So that leaves options for involuntary removal.

Of course, I would prefer that he be impeached.  There's a problem with that.  In order for the legislature to impeach the governor, it has to be in session; it's not right now and won't be again until January 12, 2009, when the 96th Illinois General Assembly, which was elected last November, will meet for the first time.  Of course, the constitution provides for special sessions.  Most special sessions in Illinois are called by the governor, but of course it's unlikely that the governor will call a special session so the legislature can impeach him.  But there's another option: under Article IV, Section 5, the presiding officers of the two houses of the outgoing 95th General Assembly (being Senate President Emil Jones and Speaker Michael Madigan) can convene a special session of the lame-duck legislature by joint proclamation.  So that's one way, and probably the only effective way, we can get rid of him without his active cooperation.

The other option would be under the "other disability" clause.  There's some guidance to be found in 10 ILCS 5/25-2, which sets forth conditions under which an elective office becomes vacant.    Being arrested doesn't seem to be enough, although being convicted would.  Unless Blagojevich pleads guilty at his arraignment today (which I deem highly unlikely), I imagine it'll take several months at least to convict him, so this doesn't provide much help either.

There is probably also a procedure for some group of people in the executive branch to declare that the governor is temporarily unable to perform his duties, similar to the federal process set forth in the 25th Amendment.  However, I haven't yet found a state law that sets forth that process.  Pat Quinn is supposed to have a press conference this afternoon, and I imagine there will be some discussion on that issue then.  (Update: Based on comments Pat Quinn made in his press conference, there is a process by which the Illinois Supreme Court may determine that the governor is temporarily unable to perform the duties of his office.)

Personally, I'd like to see him impeached, and quickly.  I would like to have two senators again, and the best way for that to happen is for us to get Blagojevich out and Pat Quinn in.  I think it's likely that Speaker Madigan will support impeachment; the question is whether Senate President Emil Jones, widely regarded as an ally of Blagoyevich, will also do so.  And of course it's always a challenge to get a lame-duck legislature to do anything.

As a side note, there is no provision for filling a vacancy in the office of Lieutenant Governor; the constitution mandates that the office remain vacant should it become vacant.  If both the offices of Governor and Lieutenant Governor become vacant, the Secretary of State (currently Jesse White) becomes acting governor and is required to hold a joint special election within 60 days to fill both offices.  So if Quinn does succeed Blagojevich, we'll be without a lieutenant governor until 2011.

Monday, December 08, 2008

Linguistically created zombies

A&E just ran a documentary (repeat will be in a couple of hours) about Meth Mountain, a community in northern Alabama that is just overrun with meth addicts.  I didn't watch it, not really planning to.  What got me to blog was one sentence fragment out of the description of the program on A&E's website: "Dr. Mary Holley, an obstetrician whose meth-addicted brother committed suicide and who is now on a mission to clean up Meth Mountain."

On first reading, I took that to mean that Dr. Holley's brother first committed suicide, and then (presumably as a ghost or revenant, or other such thing) embarked on an undead mission to clean up Meth Mountain.  Of course, this reading is not what A&E intended; it's obvious that they meant that Dr. Holley (and not her deceased sibling) is on a mission.

This is a case of an ambiguous antecedant; the pronoun "who" (in "who is now on a mission") is ambiguous, and could refer either to Dr. Holley or to her brother.  In general, when a pronoun is of ambiguous reference, there is a preference for binding it to the most recently used noun phrase to which it could reasonably apply.  Unfortunately, in this case that's Dr. Holley's brother, not Dr. Holley herself, and that creates the unfortunate image of a rampaging meth-addicted zombie trying to chase out all the other meth addicts. 

I'm not sure how to write this noun phrase so as to avoid this ambiguity; in any case, it amused me, and I hope it amuses you too.

Database failure takes out cable in Orlando

WOFL in Orlando, Florida is reporting that Bright House Networks, the cable provider in the Orlando area, is (or at least was, as of a few hours ago) suffering an outage in television service due to a "corrupt database".  The outage only affects television service; reportedly telephone and internet services are unaffected.

So my question is, how does a "corrupt database" interrupt television service on a cable system?  I can see this impacting delivery of encrypted digital channels (the database with the encryption codes might not be accessible) but how would a database be involved in delivery of basic analog cable channel service?

Russ Martin latest casualty as mainstream media continues to crash

So Russ Martin is the latest casualty in the trimming down of mainstream media, as media organizations all across the country wither in the current sorry economic times.  Seems Russ' employer decided to switch to an all-sports format (sports programming is cheaper to produce because you don't have to pay sports figures to come on interviews, while most other celebrities typically expect some sort of honorarium). 

This on the same day that Tribune Co. filed for bankruptcy and the New York Times announced that it was seeking to mortgage its office to raise cash.  And NBC recently announced that it was considering cutting hours, maybe even days, out of its programming schedule.

At least the movie theaters are doing well.  That happened in the 30s, too.

F/A-18 crashes into house

The news is now reporting that a Marine F/A-18 out of Miramar has crashed into a house in San Diego. Apparently, the pilot ejected prior to the crash. I have a message for the pilot.

Pardon my french, but what the fuck are you doing ejecting out of a plane when your plane is on a crash trajectory for a residential neighborhood? Your duty is to protect the citizens of the United States of America. It is your duty, in this situation, to do everything in your power to keep that plane from taking the life of an American citizen. If that means you have to stay at the controls of your malfunctioning plane as it augurs into the terrain, then that's what your duty to the United States called for you to do today. Ejecting from a plane that might crash into an occupied civilian structure, especially over a residential neighborhood, is only excusable if there was no chance of controlling the descent of the plane in any way. What if it had crashed into University High School? How many children would you have killed?

If this pilot ejected from a plane that he had any chance of controlling, and in so doing failed to do his utmost to protect the lives of the citizens of San Diego, I fully expect that he be charged with gross dereliction of duty, and, given that at least three people have died as a result, manslaughter.

P.S. Some people have expressed upset at my tone. Perhaps my ire should be directed more at the Marine Corps, for operating an aviation training facility in a densely populated area. If it comes out that the pilot in this case did absolutely everything humanly possible to control the course of the plane before ejecting, then he has done his duty (provided, of course, that the plane's malfunction is not itself his fault), and the deaths that may well have resulted from this are not truly his fault. But as I first read about this, I was reminded of that news chopper pilot whose tail rotor failed. This is a circumstance in which most people would consider the chopper "uncontrollable". He managed, nonetheless, to somehow wrestle the chopper to a crash landing on top of a commercial building so as to minimize harm. (There's film of the last several seconds of the flight somewhere on the web.) I admit that I hold our servicemen to high standards. Those standards will sometimes require Marines to die for their duty. That's part and parcel of the job, and if you aren't up for that, don't take it.

Update: The Marine Corps has disciplined 13 service members for errors in handling this incident, including relieving four officers from duty. Still no word on what discipline, if any, the pilot will face. It seems that a number of people screwed up rather badly here.

Sunday, December 07, 2008

Wikimedia vs. Internet Watch Foundation

The tech media are all abuzz over how the Internet Watch Foundation has recently added a page on Wikipedia to its "list of pages that contain child porn". This has had the effect of causing all web traffic to any Wikimedia site from any customer of the several ISPs that subscribe to the IWF's filtering service to be forced through IWF's proxy filter so they can block access to the (so far) one page that they've found that contains child porn. A side effect of this is that Wikipedia (the English Wikipedia, at least) has had to block all editing from anonymous persons on the affected ISPs, because they cannot "differentiate different users, and block those abusing the site without blocking other people as well."

Most British ISPs voluntary agree to filter web traffic through their networks for content which violates UK law. Most of them use the services of the Internet Watch Foundation, which is a non-governmental organization with close ties to the Home Office and other law enforcement entities, but not a law enforcement organization in and of itself. I haven't been able to dig out the details of the 1996 agreement that created the IWF, but I get the feeling that there was an undertone of "you do this voluntarily or we will force you to do it" and the ISPs agreed to it because they didn't want the negative PR of appearing to be on the side of child pornographers. Anyway, the IWF provides its clients with lists of URLs that contain "unlawful" content, which its clients are required (by contract) to block. They may not manually review the lists, but must use them exactly as provided by IWF; the IWF is the sole party responsible for the lists.

Wikipedia has an article about a 1970s album by the Scorpions (a German hard rock band) titled "Virgin Killer". The original cover for this album featured a naked prepubescent female with a "cracked-glass" effect covering her genitals; this cover was extremely controversial and was rather quickly withdrawn and replaced by a much tamer cover for most distributions, although it is still possible to buy copies with the controversial cover on it, even in the UK.

Someone (anonymously, presumably) reported the page to the IWF as a "webpage containing potentially illegal content". The IWF reviewed the article and concluded that the image "may be illegal in the United Kingdom" and added the article to its blacklist. Doing so forced the subscribers to IWF's blacklist to force all traffic to any site hosted on the same server as (which is to say virtually all Wikimedia sites) to be passed through the filtering proxy in order to detect and block any attempts to access the article. As a side effect, this caused everyone who goes through the filters to appear to Wikipedia's security systems to appear to be coming from the same IP, which significantly undermines Wikipedia's internal security measures; in addition, at least some of the proxy filters are unable to cope with the load and are reportedly generating random page load failures and other problems in addition to blocking access to the page in question.

Somewhat strangely, IWF did not block the image itself; they only blocked the Virgin Killer article and the "image page" for the image. If the image were to appear on another article, that article would be left untouched, and the image would be displayed. The image in question appears on articles on at least four other Wikimedia projects, none of which were being filtered at last report.

Wikipedia has responded with a cavalcade of screeching about the evils of censorship; a handful of editors who have argued for removing the image have been shouted down and in some cases blocked from editing. Although I have seen no public statement from the Foundation, rumor has it that there have been conversations between the IWF and Sue Gardner (WMF's executive director), and the WMF has sent demands to the ISPs to discontinue the filtering. There appears to be no possibility that Wikipedia will consider removing the image, or even diminish its prominence. Some editors even argued for a hard block of all UK IPs "in order to send a message" that censorship is wrong. In addition, the raw inconvenience that has been imposed technically on UK editors has profoundly upset many UK editors.

There's so much to comment on here. On one hand, we have ISPs imposing filtering that their customers haven't specifically asked for, using filter lists from a self-governing third party that appears to be responsible to no one, so as to require the filtering of an image that is almost certainly not illegal under the relevant law. The filtering is done so badly that it fails to block most uses of the content that is alleged to be illegal, and also blocks content which is not alleged to be illegal (specifically, the text of the article about the album, which is not alleged to violate any law at all). Finally, the technical solution used is apparently not robust enough to handle the traffic caused by forcing most of the UK Wikimedia-related traffic through its servers.

On the other hand, we have the ideologically detached Wikipedia community that has steadfastly refused to contemplate that there are topics, and especially images, which, while they should be available, ought to be placed behind "shields" of some sort so that they are not unexpectedly displayed to readers who are likely to be offended by them. The Wikimedia Commons by now quite likely has the largest collection of free porn on the Internet, and there are just a plethora of articles on Wikipedia about thoroughly prurient topics that are certainly of interest to some, but at the same time are not the sort of things that most people will want children exposed to uncontrollably. Wikipedia's community, however, has steadfastly insisted that "Wikipedia is not censored" and thus steadfastly, even defiantly, almost always refuses to conceal, minimize, or shield prurient, offensive, or shocking images. (Thus, if you happen to be reading Wikipedia from work, absolutely do not hit "random article"; you might well end up with an image of gay sex on your screen.)

Now, I'm a pretty committed civil libertarian; I think censorship is wrong, and I object to the imposition of content filtering on anyone's internet connection for any purpose except at the express request of the customer. So it's very much my wish that this particular filtering scheme be attacked on general principles. However, it's clear to me that this filtering scheme is well-established in Britain (it's been in use on at least one of the ISPs there since 2004, based on one article I read) and there doesn't seem to be much public dissent to its use. Not being British I don't have a really big dog in this fight, and there are far worse offenders on this issue than the UK.

I also take issue with the IWF filtering the article instead of the image. Surely their technical people realize that images within a webpage load independently of the webpage itself, and that they can block just the image without blocking the rest of the article. I question why they did not do this in this case, as it would have been the least intrusive means to accomplish this.

On the technical issue regarding the IP appearance issue, the reports are that the IWF is willing to work with the WMF to sort out a solution that avoids this. If I understand the situation, this is just a matter of them ensuring that XFF works correctly in their proxy, and that their proxies are properly registered with the WMF.

The one thing that would have probably rendered this situation less problematic would have been if the IWF had contacted the WMF when it reached the determination that the content was illegal under UK law. Not only could the WMF have advised the IWF on the least intrusive manner to block the image, but they could also have ensured that the necessary forwarding configuration was in place to avoid the disruption that occurred over the past few days. That said, I suspect that had the IWF attempted to contact the WMF, they would have gotten nowhere; it's likely that the WMF would have either ignored the communication, or responded with hostility instead of attempting to cooperate, or to negotiate a compromise solution.

It's my position that this image should not be blocked. The fact that the exact same image is in use on Amazon UK's site without any action taken against Amazon suggests that there's hidden motivations on the IWF's part here. And it seems quite likely that the WMF's general incompetence combined with the complete lack of community leadership within the English Wikipedia will combined to prevent at sort of compromise solution; the WMF has nobody with the competency to negotiate one, and even if they did there is no effective way to impose it on the community because of the lack of leadership within the community. So I strongly suspect that the IWF intends to stand strong on this one, secure in the understanding that this is one they can win.

Go ahead, Jimmy, Sue, and Mike. Prove me wrong. I dare you.

P.S. Other coverage: Seth Finkelstein, Danny Wool

Saturday, December 06, 2008

Savannah cats?

Savannah catSo why are savannah cats the top search right now? Did someone mention them on a TV show or something? They're pretty cats and all that, but why would they be the top search on a Saturday evening otherwise? It's not like they're new on the scene.

(Image by Jason Douglas, from Wikimedia Commons)