The Daily Parker

Politics, Weather, Photography, and the Dog

Huge step for Weather Now v5 today

This weekend, I built the Production assets for Weather Now v5, which means that the production app exists. I haven't switched over the domain name yet, for reasons I will explain. But I've created the Production Deploy pipeline in Azure DevOps and it has pushed all of the bits up to the Production workloads.

Everything works, but a couple of features don't work perfectly. Specifically, the Search feature will happily find everything in the database, but right now, the database only has about 31,000 places. Also, I haven't moved any of the archival data over from v4, so the Production app only has data back to yesterday. (The Dev/Test app has data back to last May, so for about the next week it'll have more utility than Production.)

I'm going to kick the tires on the Production app for a week or so before turning off v4. I expect my Azure bill will be about $200 higher than usual this month, but my June bill should be about what my January bill is. Uploading all the archival data and the Gazetteer will cost many, many database units, and I'll keep v4 running for probably half of April, for example.

The Dev/Test version and the Production version have the same bits as of this post. Going forward, Dev/Test will get all the new features probably a week or two ahead of Prod, just like in the real world.

Plus, over the next few months I'll post explanations of how and why I did everything in v5.

I'm pretty excited. Everything from here out is incremental, so every deployment from here out should be very boring.

Small victories

I just finished upgrading an old, old, old Windows service to .NET 6 and a completely different back end. It took 6.4 hours, soup to nuts, and now the .NET 6 service is happily communicating with Azure and the old .NET Framework 4.6 service is off.

Meanwhile, the Post published a map (using a pretty lazy algorithm) describing county-by-county what sunrise times will look like in January 2024 if daylight saving time becomes permanent. I'd have actually used a curve tool but, hey, the jagged edges look much more "data-driven." (They used the center point of each county.)

Now it's 22:45 (daylight saving time), and I need to empty Cassie and go to bed. But I'm pretty jazzed by how I spent a rainy afternoon on PTO. It was definitely more rewarding than tramping out in the rain to a couple of breweries for the Brews & Choos project, which had been Plan A.

Purging old data

I mentioned yesterday that I purged a lot of utterly useless archival data from Weather Now. It sometimes takes a while for the Azure Portal to update its statistics, so I didn't know until this afternoon exactly how much I dumped: 325 GB.

Version 5 already has a bi-monthly function to move archival data to cool storage after 14 days and purge it after 3 months. I'm going to extend that to purging year-old logs as well. It may only reduce my Azure bill by $20 a month, but hey, that's a couple of beers.

As for Weather Now 5, if all goes well, I'll start downloading weather in the Production environment today, and possibly deploy the app over the weekend. Stay tuned...

Ah, conferences

The Tech Forum goes on. Tomorrow, though, I don't need my work laptop, and so will bring my personal one, enabling me to post a little more.

I've also thought about finally writing my own blog engine. Or, at least, forking an existing one (maybe even this one?) and going to town on it. During some downtime today I purged a lot of crap from my Microsoft Azure subscriptions, but I still have old applications (like this blog) running in old workloads.

Tonight: the Fun Dinner. Oh, boy.

Weather Now 5 close to launch

Last night, I finished the last major feature in the Weather Now upgrade that I started in earnest back in October 2020. That means the development app can do most of what the version 4 can do, except better in most cases. By extension, that means I just have a few things to do in order to replace version 4 in production. But "a few things" includes setting up all the production assets for the new version, including the DevOps pipelines. That's not a small job.

That last bit may take a while. I'll have more extensive release notes closer to launch. The Search feature will have the most limitations immediately post-launch as it requires replacing the current 7.5-million-row gazetteer from the external sources, rather than simply porting the data. A few other things (full internationalization, configuring your language and measurement systems, and historical data) will also take time. Modernizing the deployment pipeline makes adding these features back in a lot easier, though.

For now, the development app has weather archives back to last May and much simpler methods of accessing data than v4. I encourage you to try it out.

Busy couple of days

I've had a lot to do at work the last couple of days, leading to an absolute pile-up of unread press:

Finally, on this day in 1940, Woody Guthrie released "This Land is Your Land," a song even more misunderstood than Bruce Springsteen's "Born in the USA."

More about the insanity of crypto

A couple more resources about "web3" (cryptocurrencies, NFTs, DAOs, etc) crossed my inbox this week. Even before going through these stories and essays, the only way I can understand the persistence of the fantastic thinking that drives all this stuff is that the people most engaged with it turn out to be the same people who believe all kinds of other fantasies and wish-fulfillment stories.

Case in point: the extreme right-wing protestors up in Canada have received almost all of their funding from American right-wingnuts. Remember: the protestors believe, counter to all evidence, that vaccines cause more harm than good, and that they have a right to remain part of a common society without the responsibility of protecting others in that society from easily-avoided harm.

Because Canada really wants them to go away, and even more than that does not want foreigners funding domestic terrorists, the Canadian government blocked the cross-border financial transfers to the Maple Morons through the regular banking system. It took about 36 seconds for the Americans to try again using cryptocurrencies, and about 14 seconds longer for scammers to piggyback on the effort:

Canada Unity 2022, the group of anti-vaccine protestors who have snarled traffic in Ottawa and earned accolades in the right-wing media, wants to talk to you about Bitcoin.

A handful of the group’s organizers held a press conference on Facebook Live Wednesday that quickly devolved into a presentation on the popular form of cryptocurrency, confusing many of their supporters who were watching online.

“Are we at a press conference for Freedom Convoy 2022 or having some guy shove Bitcoin down our throats?” one commenter griped. “Very disappointed! I came to see updates about progress made by our Truckers.”

In some respects, the convergence of the anti-vaxx protests and Bitcoin was probably inevitable. Last month, the protests drew support from one of the biggest proponents of Bitcoin in the world, Tesla CEO Elon Musk, who tweeted “Canadian truckers rule.” Former President Donald Trump has voiced support, and right-wing figures from Tucker Carlson to Ben Shapiro to Michael Flynn have seized on the trucker protests.

Even better, the way organizers have decided to distribute the Bitcoin meant for the rationality- and education-challenged protestors might not exactly show the benefits of cryptocurrencies in the best light:

Instead of giving the truckers the money in a cash format they can actually use, the "professional orange-piller" in charge of the Bitcoin distribution has explained a multi-step plan to give truckers pieces of paper with seed phrases printed on them. The seed phrases will be placed into sealed envelopes along with instructions on how to create a Bitcoin wallet, which are then "numbered and squiggly random lines should be drawn on the envelope to help with later identification". The volunteers then plan to physically destroy the printer with shears and screwdrivers, to try to prevent attackers from pulling the seed phrases out of the device memory. Of course once the trucker has their seed phrase, they have to go through the multi-step process of gaining access to the Bitcoin wallet on their smartphone, and then figure out how on earth to actually use their newfound Bitcoins to, say, pay for fuel.

That comment comes from software engineer Molly White, who has a delightful and detailed series of essays on blockchain in general. If you have any questions about web3 or blockchain and don't want a sales pitch from someone trying to keep the value his holdings inflated until he can dump them on you, start with White.

In a world where people devalue the study of history and economics in favor of shouting to the world about their magical beliefs, the rise of crypto doesn't surprise me. I don't know what will happen when it all collapses, but I have a pretty good idea who'll get hurt. I wonder who the right-wingnuts will blame when they lose everything? Probably not themselves.

Happy 20th birthday, .NET

Today is the 20th birthday of the Microsoft .NET Framework. I remember it vividly, because of the job I had then and its weirdly coincidental start and end dates.

I joined a startup in Chicago to write software using the yet-unreleased .NET Framework in 2001. My first day of work was September 10th. No one showed up to work the next morning.

Flash forward to February 2002, and our planned release date of Monday February 18th, to coincide with the official release of .NET. (We couldn't release software to production using the unreleased beta Framework code.) Microsoft moved the date up to the 14th, but we held to our date because releasing new software on a Thursday night in the era before automated DevOps pipelines was just dumb.

I popped out to New York to see friends on Saturday the 16th. Shortly after I got back to my house on the 17th, our CTO called me to let me know about a hitch in our release plans: the CEO had gotten caught with his hand in the till. We all wound up working at minimum wage (then $5.25 an hour) for two weeks, with the rest of our compensation deferred until, it turned out, mid-2004.

So, happy birthday, .NET Framework. Your release to manufacturing date meant a lot more to me than I could have imagined at the time.

The real daylight saving

A friend on social media posted a graph of how quickly or slowly the amount of daylight changes per week. Unfortunately the graph was for London, and pretty ugly, so I decided to make one for Chicago that was a bit more spare:

Here in Week 6, we get 15 more minutes of daylight than we got last week. For most of March, we'll get 17 minutes more per week before things slow down a bit, then reverse. The weeks of both solstices have zero change.

The friend wondered in her post what it would look like in the southern hemisphere. So, voilà Sydney:

And just for giggles, I graphed Fairbanks, too:

Neat, huh?

(Incidentally, the links point to the Weather Now v5 Beta site. Even after the v5 launch sometime this spring, the Beta URL should stay functional.)

Lazy Sunday

Other than making a hearty beef stew, I have done almost nothing of value today. I mean, I did some administrative work, and some chorus work, and some condo board work. But I still haven't read a lick of the books I've got lined up, nor did I add the next feature to the Weather Now 5 app.

I did read these, though:

  • An Illinois state judge has enjoined the entire state from imposing mask mandates on schools, just as NBC reports that anti-vaxxer "influencers" are making bank off their anti-social followers.
  • Across the border, Canadians, generally a less sociopathic lot than American conservatives, have run out of patience with their own anti-vax protestors.
  • The Washington Post demonstrates how the worst gerrymanders in the US work—like the one here in Illinois.
  • Local bicyclists have had enough of winter, blaming the city for filling bike lanes with slush. But...the city didn't make it snow, right?

OK, back to doing nothing. Cassie, at least, is getting a lot of attention.