The Daily Parker

Politics, Weather, Photography, and the Dog

Second court overturns DOMA

The 2nd Circuit Court of Appeals has ruled the Defense of Marriage Act unconstitutional on equal-protection grounds:

This is a really big deal. [George H.W. Bush-appointed Chief Judge Dennis] Jacobs is not simply saying that DOMA imposes unique and unconstitutional burdens on gay couples, he is saying that any attempt by government to discriminate against gay people must have an “exceedingly persuasive” justification. This is the same very skeptical standard afforded to laws that discriminate against women. If Jacobs’ reasoning is adopted by the Supreme Court, it will be a sweeping victory for gay rights, likely causing state discrimination on the basis of sexual orientation to be virtually eliminated. And the fact that this decision came from such a conservative judge makes it all the more likely that DOMA will ultimately be struck down by the Supreme Court.

The 1st Circuit already found the law unconstitutional. One hopes we can dispense with the law without going through all 12 circuits in order...

At least I'm not mentally ill this week

Yes, one more entry of nothing but links, as my creativity is completely directed at the three five work projects currently on my agenda. But tomorrow afternoon I start a mini-vacation that will include a good, solid 22 hours of being in planes and trains, which I actually find relaxing. (I am not kidding.)

For now, here's what I'm saving to my Kindle reader:

Finally, as much as I love crisp, cool autumn weather, I do not like the sun rising after 7. I've learned to turn on a bunch of lights as soon as I get up to fool my diurnal, reptilian brain that it's daytime. And now I must get more caffeine.

Lynx

A quorum:

All for now.

Best laid plans...

Well, that was a fun demo. Fortunately we have four more Agile iterations before we're done.

So, now that I have precisely thirteen minutes to catch up on my email and the news of the day, I will note this lede that could only come from a left-leaning British newspaper:

BAA is to drop its name in favour of plain Heathrow after concluding that the initials, derived from the old British Airports Authority, no longer fit a foreign-owned company with no authority that has been forced to sell off half its airports.

So, Stansted will be run from Heathrow. That should really drive people there.

Direct effects of moving to Azure

I still haven't moved everything out of the Inner Drive Technology Worldwide Data Center to Microsoft Windows Azure, because the architecture of Weather Now simply won't support the move without extensive refactoring. But this week I saw the first concrete, irrefutable evidence of cost savings from the completed migrations.

First, I got a full bill for a month of Azure service. It was $94. That's actually a little less than I expected, though in fairness it doesn't include the 5–10 GB database that Weather Now will use. Keep in mind, finishing the Azure migration means I get to shut off my DSL and landline phone, for which AT&T charges me $55 for the DSL and $100 for the phone.

I also found out how much less energy I'm using with 3 of 5 servers shut down. Here is my basic electricity use for the past two years:

The spikes are, obviously, air conditioning—driven very much by having the server rack. Servers produce heat, and they require cooling. I have kept the rack under 25°C, and even at that temperature, the servers spin up their cooling fans and draw even more power. The lowest usage periods, March to May and October to December, are cool and moist, so I don't use either air conditioning or humidifiers.

Until this month, my mean electricity use was 1100 kWh per month overall, 1386 kWh in the summer, and 908 kWh in the shoulder seasons. In the last two years, my lowest usage was 845 kWh.

Last month it was 750 kWh. Also notice how, during the much hotter summer in 2012 (compared with 2011), my electricity use was slightly lower. It was just harder to see the savings until now.

Including taxes, that means the bill was only $20 less than the usual shoulder-season bill. But I'm not General Motors; that $20 savings is 20% of the bill. Cutting my electricity bills 20% seems like a pretty good deal. And next summer, with no servers in the house, I'll be able to run less air conditioning, and the A/C won't have to compete with the heat coming off the server rack.

Now I've just got to figure out how to migrate Weather Now...

Coming up for air

So far this month, I've worked about 110 hours (no exaggeration), in part preparing for a pair of software demos on Monday. Normal blogging will likely return tomorrow or Monday.

Meanwhile, here's a picture of Parker:

That's from six years ago this week. Everyone together, now: "Awwwwwwww."

Windows Azure deployment credentials

My latest entry is up on the 10th Magnitude tech blog:

We've taken a little more time than we'd hoped to figure out how to deal with Azure deployment credentials and profiles properly. In an effort to save other development teams some of our pain, we present our solution. First, the general principle: Publication profiles are unique to each developer, so each developer should have her own management certificate, uploaded by hand to each relevant subscription.

When you deploy a project to a Windows Azure Cloud Service instance, you have to authenticate against the Azure subscription using a management certificate. The Publish Windows Azure Application wizard in Visual Studio presents you with a helpful link to sign in to your Azure subscription and download credentials. If you do this every time you publish to a new subscription, you (a) rapidly run up against the 10-certificate limit in Azure; and (b) get ridiculous credential files called things like "WorkSubscription1-AzDem12345-JoesSubscription-MySecretProjectThatMyBossDoesntKnowAboutSubscription.publishsettings" which, if you're not paying attention, soon shows up on a Subversion commit report (and gives your boss access to that personal project you forgot to mention to her).

Don't do that. Instead, do this:

1. Create a self-signed certificate using IIS. Name it something clear and unique; I used "david.10thmagnitude.com," for instance.
Image of creating a self-signed certificate
Then export it to a private folder.
Image of exporting a certificate from IIS to a folder

2. Import the .pfx file into your local certificate store.
Image of importing a private key

3. Export the same certificate as a .cer file.
Image of exporting a cer file

4. Go to the Azure management portal's management certificate list.

5. Upload the certificate you just created to the subscriptions to which you want to publish cloud services.
 Image of uploading a cer file

Now you have a single certificate for all your subscriptions. Next, create a publishing profile with the certificate:

6. In your Azure cloud service project, right-click the project node and choose "Publish…" to bring up the Publish Windows Azure Application wizard.

7. Drop down the "Choose your subscription" list and click "<Manage...>"

8. Click "new"

9. In the "Create or select..." drop down, find the certificate you just created and choose it.

10. Continue setting up your publishing profile as you've done before.

That's it. Except for one other thing.

If you have more than 0 developers working on a project, at some point you'll use source control. Regardless whether you have Subversion, Mercurial, or whatever, you need to avoid committing keys, certificates, and publishing profiles into your VCS. Make sure that your VCS ignores the following extensions: *.pfx, *.cer, *.publishsettings, and *.azurePubxml.

You want to ignore pfx and publishsettings files because they contain secrets. (I hope everyone knows this already. Yes, pfx files use passwords, but publishsettings don't; and anyway, why would you want to risk anyone else authenticating as you without your knowledge?) Ignore cer files because they're not necessary in an Azure project. And ignore azurePubxml files because every developer who publishes to Azure will wind up overwriting the files, or creating new ones that no one else uses.

Conner Bradley Montano (2012— )

I am officially an uncle.

Good morning, Conner. Welcome to the world. Don't let your last 13 hours turn you off to it. It gets better.

Nick, Jeanine: congratulations, you crazy kids. Let me know when you're ready to have me corrupt him.

Aviation and time zones

Yes, more links:

Later today I'll also have a new post on the 10th Magnitude blog.