The Daily Parker

Politics, Weather, Photography, and the Dog

LA Times thinks USAirways-AMR merger imminent

As I mentioned this morning, news agencies have picked up the little signs that tell them a 1000-airplane airline will happen this week:

The boards of the two airlines are expected to meet in the next few days to vote on the proposed merger, sources have told Los Angeles Times and other news outlets. A meeting to vote on the merger was scheduled for Monday, according to some reports, but was postponed to give those involved more time to work out final details.

According to sources, a decision has now been reached to name US Airways Group Inc. Chief Executive Doug Parker as CEO of the new carrier, while Tom Horton, CEO of American Airlines' parent, AMR Corp., would serve as nonexecutive chairman of the board until next year.

Analysts have estimated that the two companies could generate as much as $1 billion in savings and added revenue by combining forces.

In perhaps a modest bit of irony, I'm writing this aboard an American Airlines airplane over New Mexico Colorado. I do love technology...

US Airways and AMR: tying the knot this week? Yay!

The Economist's Gulliver blog thinks so:

THE merger of US Airways and AMR, the parent company of American Airlines, looks set to be concluded this week. The new company, which will be called American Airlines, would be one of the world’s largest airlines by capacity and become the third full-service carrier in America. We wrote about this a month ago, when AMR's board met to examine US Airways’ proposal. (Tom Horton, AMR’s boss, had promised a decision in “a matter of weeks”.)

The airlines are seen as a perfect fit by analysts. There is little overlap between their routes and hubs, which makes it likely that the new alliance will be approved by anti-trust regulators. The benefits for fliers, however, may not be so great...

Oh yes they will. I've said for years that getting American's management out of American would make it a much better airline. And I've said for years, right here on this blog, that US Airways is the right choice. Hell, even American's pilots, flight attendants, and mechanics agree. As an elite American flier, I expect to keep—yes, even to increase—the benefits I have of sticking with the carrier after the merger.

I've got five American flight segments between now and next Tuesday. I hope that I can congratulate the FAs on one of them for seeing this thing through.

Slow start on the West Coast

I always prefer heading west for business trips and east for fun trips because the time shifts work better that way. Sometimes I go to London for a long weekend and stay on Chicago time, meaning I go to sleep at 4am (10pm in Chicago) and sleep until noon (6am). (On any trip longer than 3 days I shift to local time.) Similarly, coming to the West Coast—I'm in Vancouver at the moment—lets me sleep in a bit (5:30 here is 7:30 at home) and get adequate caffeine before starting my business meetings.

Today I've encountered two complications. First, British Columbia and a few other provinces have declared today a provincial holiday, so nothing opened before 7am. Nothing, as in "coffee shops." Second, this early in February and this far west, the sun doesn't rise until 7:28.

Oh, and it's raining. Not a lot. Just enough.

Of course, here in Canada, everything is clean, efficient, and polite. It's not the Canadians' faults that it's cold, dark, and decaffeinated.

Holy shit

The Pope has announced his resignation:

Pope Benedict XVI announced Monday that he would resign on Feb. 28 because he was simply too infirm to carry on — the first pontiff to do so in nearly 600 years. The decision sets the stage for a conclave to elect a new pope before the end of March.

"After having repeatedly examined my conscience before God, I have come to the certainty that my strengths due to an advanced age are no longer suited to an adequate exercise of the Petrine ministry," he told the cardinals. "I am well aware that this ministry, due to its essential spiritual nature, must be carried out not only by words and deeds but no less with prayer and suffering.

Ratzinger is the person most directly responsible for the office accused of covering up priests abusing children for decades. I cannot wait to read Sullivan...

Update: I was not wrong about Sullivan.

LA-LA-LAyover

Did you know that Los Angeles is on the way from Chicago to Vancouver? I didn't either. I forgot that, when you have hubs in Chicago and Los Angeles, and no flights at all into the actual destination airport, layovers happen.

Good view from the Admirals Club though:

As much as I like flying, I'm not wild about the seven flight segments in 10 days—none of them less than 3 hours. (Next week, apparently, Dallas is on the way from Chicago to San Francisco. Same hub-and-spoke problem.) I also don't like having to scrunch my laptop between the seat to my front and my lap just to get some work done. Waah, waah, waah.

Next report from the Land Above.

When the Azure emulator is more forgiving than real life

Last night I made the mistake of testing a deployment to Azure right before going to bed. Everything had worked beautifully in development, I'd fixed all the bugs, and I had a virgin Windows Azure affinity group complete with a pre-populated test database ready for the Weather Now worker role's first trip up to the Big Time.

The first complete and total failure of the worker role I should have predicted. Just as I do in the brick-and-mortar development world, I create low-privilege SQL accounts for applications to use. So immediately I had a bunch of SQL exceptions that I resolved with a few GRANT EXEC commands. No big deal.

Once I restarted the worker role, it connected to the database, loaded its settings, downloaded a file from NOAA and...crashed:

Inner Drive Weather threw System.Data.Services.Client.DataServiceRequestException
...
OutOfRangeInput

One of the request inputs is out of range.
RequestId:572bcfee-9e0b-4a02-9163-1c6163798d60
Time:2013-02-10T06:05:41.5664525Z

at System.Data.Services.Client.DataServiceContext.SaveResult.d__1e.MoveNext()

Oh no. The dreaded Azure Storage exception that tells you absolutely nothing.

Flash forward fifteen minutes (now past midnight; and for context, I'm writing this on the 9am flight to Los Angeles), with Fiddler running on a local instance connecting to production Azure storage, and I found the XML block on which real Azure Storage barfed but the Azure storage emulator passed without a second thought. The offending table entity is metadata that the NOAA downloader worker task stores to let the weather parsing worker task know it has work to do:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
   <entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" 
   xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" 
   xmlns="http://www.w3.org/2005/Atom">
  <title />
  <author>
    <name />
  </author>
  <updated>2013-02-10T05:55:49.3316301Z</updated>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:BlobName>20130209-0535-sn.0034.txt</d:BlobName>
      <d:FileName>sn.0034.txt</d:FileName>
      <d:FileTime m:type="Edm.DateTime">2013-02-09T05:35:00Z</d:FileTime>
      <d:IsParsed m:type="Edm.Boolean">false</d:IsParsed>
      <d:ParseTime m:type="Edm.DateTime">0001-01-01T00:00:00</d:ParseTime>
      <d:PartitionKey>201302</d:PartitionKey>
      <d:RetrieveTime m:type="Edm.DateTime">2013-02-10T05:55:29.1084794Z</d:RetrieveTime>
      <d:RowKey>20130209-0535-41d536ff-2e70-4564-84bd-7559a0a71d4d</d:RowKey>
      <d:Size m:type="Edm.Int32">68202</d:Size>
      <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp>
    </m:properties>
  </content>
</entry>

Notice that the ParseTime and Timestamp values are equal to System.DateTimeOffset.MinValue, which, it turns out, is not a legal Azure table value. Wow, would it have helped me if the emulator horked on those values during development.

The fix was simply to make sure that neither System.DateTimeOffset.MinValue nor System.DateTime.MinValue ever got into an outbound table entity, which took me about five minutes to implement. Also, it turned out that even though my table entity inherited from TableServiceEntity, I still had to set the Timestamp property when using real Azure storage. (The emulator sets it for you.)

By this point it was 12:30 and I needed to get some sleep, however. So my plan to run an overnight test will have to wait until this evening at my hotel. Then I'll find the other bits of code that work fine against the emulator but, for reasons that pass understanding, the emulator gets completely wrong.

Doubly-idiotic storm name

Looking at Poynter's roundup of storm front pages, I'm struck that the New York Post called the storm "Nemo." Two things:

1. Winter storm names are an invention of The Weather Channel, a move the National Weather Service has explicitly repudiated.

2. Nemo is Latin for "nobody." So the Post's headline yesterday, "Nemo Bites"—i.e., "no one bites"—just reinforces the stupidity..

Anyway, I know my friends out east have unprecedented disastrous a bit of snow to survive endure inconvenience them today. Enjoy the digging.

The GOP's real problem, via Sullivan

Taking a brief rest from my temporary insanity, I read Sullivan:

Someone in the GOP needs to take Bush-Cheney apart, to show how they created the debt crisis we are in, by throwing away a surplus on unaffordable tax cuts, launching two unfunded wars, and one new unfunded entitlement. They need to take on the war crimes that has deeply undermined the soul of the United States. They need to note the catastrophic negligence that gave us the worst national security lapse since Pearl Harbor (9/11) despite being warned explicitly in advance, accept weak and false intelligence to launch a war they were too incompetent to fight or win, sat back as one of the worst hurricanes all but took out a major city, and was so negligent in bank regulation that we ended up with Lehman and all that subsequently took place.

These were not minor errors. They were catastrophic misjudgments which took an era of peace, surplus and prosperity and replaced it with a dystopia of massive debt, a lawless executive branch, two unwinnable wars, and a record of war crimes that had their source in the very Oval Office.

That seems about right to me.

Thinking about vacation...where to go?

Unfortunately, that's not going to happen for a while. I'm going to spend a lot of time in airplanes over the next 11 days, including a long weekend with the folks. Good thing wifi is ubiquitous, even on airplanes, because it also looks like I'm going to burn at over 120% of utilization again this month. (Last month I was 118% billable, but if you add non-billable time I actually worked 134% of full time.)

The madness ends soon. We're hiring, projects are gelling, other projects are winding down, and at some point I'll just get on a plane for four days without taking my laptop.

I did take three hours yesterday to play pub trivia with my droogs, owing to the start of a four-week trivia tournament. We're in second place—by one point. I sincerely hope to make the next three Thursdays.

Lake level hits new record

This is alarming:

A new and worrisome benchmark has been reached with the announcement Tuesday by the U.S. Army Corps of Engineers that Lakes Michigan and Huron have dipped to new record lows. It’s been a 14 year journey. That’s how long water levels have been below historic averages--the most extended run of below normal water levels in the 95 year record of Great Lakes dating back to 1918.

The numbers are as stunning as they are disturbing with serious implications to shipping interests, all manner of creatures which populate the lakes, plus the millions who enjoy these natural treasures recreationally and depend on them as a source of water.

Water levels have fallen 1.9 m from the record highs established in October 1986 and currently sit at levels 735 mm below the long term average. Lake Michigan's water level is 430 mm lower than a year ago

We're getting more precipitation than we have in a while, but it hasn't been enough to end the drought. And because of dredging near Detroit, the lakes are emptying faster than ever right now.