The Daily Parker

Politics, Weather, Photography, and the Dog

Chicago's Riverwalk proposal

Via The Atlantic Cities blog, the City of Chicago has unveiled a proposal to beautify the Chicago River:

Mayor Rahm Emanuel on Monday unveiled plans to expand the riverwalk another six blocks along Chicago's River.

“The Chicago River is our second shoreline," Emanuel said in a statement. "“It is now time to celebrate this incredible waterway with the completion of the entire riverwalk project, from Lake Michigan to the confluence of the three branches.”

The conceptual plans include a theme for each block of the riverwalk with names including The Marina from State to Dearborn, The Cove from Dearborn to Clark, The River Theater from Clark to LaSalle, The Swimming Hole from LaSalle to Wells, The Jetty from Wells to Franklin and The Boardwalk from Franklin to Lake.

The Marina, for example, would be designed for restaurant space and public seating, while the Cove could include kayak rental retail space, and the Swimming Hole would provide recreational space. Floating gardens, fishing piers and an iconic bridge from Upper Wacker the riverwalk also are among design plans.

This means they might even finish the Wacker Drive reconstruction someday...

Baby steps in U.S. rail transport

Amtrak today will run a train from Chicago to Pontiac, Ill., at speeds up to 175 km/h:

The time spent traveling at 175 km/h will be relatively brief, lasting for only 24 km on new rails and new concrete ties between Dwight and Pontiac along the 457 km Union Pacific Railroad corridor from Chicago to St. Louis.

Dwight is about 130 km southwest of Chicago and Pontiac is about 30 km further to the southwest. The train will then continue on to Normal at top speeds of 125 km/h before heading back to Chicago Union Station, officials said.

For comparison, on Monday morning I'll be on a bog-standard train from London to Cardiff that will average 125 km/h, including stops, and between them toodles along at the pokey pace (for the U.K.) of 150 km/h. That's a slow train in Britain. The fast trains in Britain, like the one I took in March, go considerably faster. And don't even get me started about Shanghai...

Someday I hope the U.S. will have a modern transportation network. Someday.

Changing the way I read

Last week, I bought an ASUS Transformer TF700, in part to help out with our seriously-cool Galahad project, and in part so I could read a bunch of heavy technical books on tonight's flight to London. And yes, I had a little tablet-envy after taking the company's iPad home overnight. It was not unlike fostering a puppy, in the sense that you want to keep it, but fortunately not in the sense of needing to keep Nature's Miracle handy.

Then yesterday, Scott Hanselman pointed out a great way to get more use out of the pad: Instapaper. I'm hooked. As Hanselman points out,

Here's the idea. You get a bunch of links that flow through your life all week long. These are often in the form of what I call "long-form reading." Hackernews links, NYTimes studys, academic papers, etc. Some folks make bookmarks, have folders called "Links" on their desktops, or email themselves links.

I have these websites, papers and interesting links rolled up and delivered automatically to my Kindle every week. Think about how amazing that is and how it can change your relationship with content on the web. The stress and urgency (and open tabs) are gone. I am naturally and organically creating a personalized book for weekend reading.

I have a bookmarklet from Instapaper that says "Read Later" on my browser toolbar. I've put it in every browser I use, even Mobile Safari. I've also logged into Instapaper from all my social apps so that I can Read Later from my iPhone Twitter Client for example. You'd be surprised how many apps support Instapaper once you start looking for this.

What this means it is that Instapaper is ready and waiting for me in every location where an interesting piece of long-form reading could present itself. I don't stress, I click Read Later and the document is shipped off to Instapaper.

I'm sold. I actually have it updating my tablet every 12 hours, because I do a lot of my reading on the 156 bus. Or, today, British Airways 226.

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.