The Daily Parker

Politics, Weather, Photography, and the Dog

Weather Now bug fixes deployed

I've fixed seven annoying bugs and added three minor features to Weather Now, including:

  • Fixed searching from the search box so you can enter an airport code directly;
  • Fixed the Last 24 hours page to show day and night icons properly;
  • Added a status page so users can peek under the hood; and
  • Tweaked a few things in the background worker process around logging and status update alerts.

A minor bug fix release like this used to take a couple of hours to deploy, because I had to update the code running on the web server file-by-file. I got the process down to about an hour—but I still had to bring the application offline to make the update.

Since I put it up in Microsoft Windows Azure, publishing an update takes about 15 minutes, is completely automated, and doesn't require taking the site down. The great Inner Drive migration continues to pay dividends.

Cooler-than-normal March; quite a contrast

As I look out my window and see snow falling, I can't help thinking back to last March, in which we'd already had the third record-warm day in a row (27.8°C) on our way to the warmest spring in Chicago history.

This March, not so much:

So far, March has been both colder than average across all of Illinois and wetter than average across western and northern Illinois. The statewide temperature for March 1-14 was 0.2°C degrees, 3.0°C below average. That stands in stark contrast to last March when the statewide temperature for March 1-14 was 7.3°C, 4.1°C above average. That is a 7.1°C difference between the two periods.

The latest NWS forecasts show that rains of 25-50 mm or more could fall in the southern third of Illinois over the next five days. Also their 6-10 day and 8-14 days forecast show that colder and wetter than average conditions will prevail for the rest of March. Because of recent rains and melting snow, the NWS has issued flood warnings today on portions of the Mississippi, Illinois, and Wabash Rivers.

The next 8-14 days don't look so hot either:

Did I mention it's snowing right now? Happy St. Patrick's day.

That's all he wrote

Weather Now is fully deployed to the Cloud. As soon as the Worker Role finishes parsing the last few hours of weather, I'll cut over the DNS change, and it will be live.

Actually, that's not entirely true; I'm going to cut over the DNS in the morning, after I know I fixed the bugs I found during this past week's shake-down cruise.* So if you want to see what a weather site looks like while it's back-filling its database, you can go to its alias, http://wx-now.cloudapp.net. (Because of how Azure works, this will remain its alias forever.)

Time to meet my friends, who are wondering where I am, no doubt.

* Bugs fixed: 13. Total time: 6.9 hours (including 2.4 to import and migrate the Gazetteer).

While the data uploads...

The final deployment of Weather Now encountered a hitch after loading exactly 3 million (of 7.2 million) place names. I've now kludged a response for the remaining 4.2 million rows, and a contingency plan should that upload fail.

Meanwhile, I have a saturated Internet connection. So rather than sit here and watch paint dry, so to speak, I'm bringing back some of the bugs that I decided to postpone fixing. The end result, I hope, will be a better-quality application than I'd planned to release—and a rainy Saturday made useful.

The Inner Drive Technology International Data Center's last day

Tomorrow morning, shortly after I have my coffee, I will finally turn off the last two production servers in my apartment the IDTIDC. The two servers in question, Cook and Kendall, have run more or less continuously since November 2006*, gobbling up power and making noise the whole time.

As I write this, I'm uploading the production Weather Now deployment along with the complete Inner Drive Gazetteer, a 7.2-million row catalog of place names that the site uses for finding people's local weather. It takes a while to upload 7.2 million of anything, of course; and it's only 35% done after two hours. Trying to deploy the Cloud package at the same time may not have made the most sense, but I need the weather downloader to start running now so that when I cut over to the new site, it has actual weather to show people.

I started this project on November 3rd, logging almost exactly 100 hours on it until today. I'm through the tunnel and almost done climbing up the embankment. One more night of whirring fans and then...quiet.

Update: Crap. The Gazetteer upload crashed after 3 million rows. Now Plan B...

* Yes, I did just link to the Wayback Machine there. The original Inner Drive blog is offline for the time being. I have a task to restore it, as I haven't updated it since 2008, it's not a priority.

Another update: the original link at (*) pointed to Wayback Machine, but after reconstituting the old blog I corrected the link. That's why the footnote above no longer makes a lot of sense.

The efficiency of working from home

Principally, it means not having to commute in 15 cm of snow. It also means several uninterrupted hours of working on stuff. And, unfortunately, not reading all this yet:

Now to walk Parker in the snow, and keep working...

Weather Now 4.0 released to Beta

I don't know what to do with myself the rest of the day. I've just deployed the completely-redesigned Weather Now application. I feel 10 kilos lighter.

Check out the preview on Windows Azure.

The application started in mid-1997 as a feature of the now-defunct braverman.org, my proto-blog. The last major changes happened in 2006, when I gave it a face-lift. I've occasionally pushed some bug fixes, but really, until today it has looked and acted essentially the same way for 6 years. (The GetWeather application, which downloads and parses data from outside sources, hasn't changed significantly since 2002.)

So what's new? In sum:

  • The application now runs on Microsoft Windows Azure, up in the cloud. (Check out the preview!)
  • This means it also runs on Azure SQL Database instead of on-site SQL Server.
  • Since I had to port the database anyway, I completely re-architected it.
  • The database rearchitecture included moving its archives to Azure Storage, which will pay benefits once I update the UI to take advantage of it.
  • The ancient (1997, with revisions in 1999, 2002, and 2005) GetWeather application, which downloads weather data from outside sources, got rebuilt from byte 0 as well.
  • Finally, I fixed 35 bugs that the old architecture either caused or made fixing overly difficult.

There are a few bugs in the preview, of course. This morning I found and fixed 6 of them, all related to architectural changes under the hood that the creaky user interface didn't understand. And just now, I discovered that it thinks the sun never shines anywhere—again, almost certainly a problem related to changing from using the broken System.DateTime object to its replacement, System.DateTimeOffset. Always another bug to fix...

Still: I'm done with the port to Azure. I'll bang away on it for the next week, and if all works out, on Saturday I'll finally, finally, finally turn off my servers.

Almost done with Weather Now's upgrade

I've just finished—I mean, finished—the Weather Now worker role. The worker role runs in the background and performs tasks like, for example, downloading the weather from outside sources, parsing it, and storing it.

I have three tasks left to enable me to publish the new version of Weather Now to its new home in Windows Azure:

  • Create a script to initialize the lists that appear on the site's home page;
  • Upgrade the existing ASP.NET website to an ASP.NET web application; and
  • Create an Azure Cloud Service Web role to house the application.

I believe I will be done today sometime. But first, Parker is demanding a trip outside.

March? What do you mean, March?

I'm just a day from losing my mind (or "loosing," to all you Facebookers out there), a day from my workload returning to normal levels, and a day from deploying Weather Now to a test instance in Azure. Then, maybe, I'll have time to take all these in:

Watch this space for a sneak preview of Weather Now 4.0, possibly tomorrow. The GetWeather utility has run with only minor hitches for a week, and with two more (quick) bug fixes it's ready for production. That just leaves about 6 hours of work to move the ASP.NET application up to Azure...and then, you get to beta test it. If all goes well I'll cut over to Azure on the 9th or 10th, and finally—finally!—retire my last two servers.