The Daily Parker

Politics, Weather, Photography, and the Dog

Problems with air pressure

I'm about 18 hours from taking Cassie on a long road trip, and I have two problems that may cause headaches (one of them literally). First, trees and grasses all over Chicago have started having lots of sex, causing really uncomfortable stuffiness and sinus congestion for me. Second, one of the tires of my car has a slow leak.

The first one will work itself out naturally, with the help of several boxes of tissues. The second one requires a trip to the local tire center, which I'm glad to report is about 200 meters from my house.

Updates as conditions warrant.

Sabotaging open-source code

Via Bruce Schneier, a developer who maintains one of the most important NPM packages in the world got pissed off at Russia recently, without perhaps thinking through the long-term consequences:

A developer has been caught adding malicious code to a popular open-source package that wiped files on computers located in Russia and Belarus as part of a protest that has enraged many users and raised concerns about the safety of free and open source software.

The application, node-ipc, adds remote interprocess communication and neural networking capabilities to other open source code libraries. As a dependency, node-ipc is automatically downloaded and incorporated into other libraries, including ones like Vue.js CLI, which has more than 1 million weekly downloads.

“At this point, a very clear abuse and a critical supply chain security incident will occur for any system on which this npm package will be called upon, if that matches a geolocation of either Russia or Belarus,” wrote Liran Tal, a researcher at Snyk, a security company that tracked the changes and published its findings on Wednesday.

“Snyk stands with Ukraine, and we’ve proactively acted to support the Ukrainian people during the ongoing crisis with donations and free service to developers worldwide, as well as taking action to cease business in Russia and Belarus,” Tal wrote. “That said, intentional abuse such as this undermines the global open source community and requires us to flag impacted versions of node-ipc as security vulnerabilities.”

Yeah, kids, don't do this. The good guys have to stay the good guys because it's hard to go back from being a bad guy.

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.

Last post on clock changes (until November, probably)

Josh Barro and Saray Fay get to the heart of the time-change issue:

The first thing I want to note is something I’m amazed many participants in this debate don’t seem to know: We have tried this policy before. In January 1974, the US entered what was supposed to be a two-year “experiment” with permanent daylight saving time. Unfortunately, daylight saving time does not add daylight to the day, it only shifts the daylight into the afternoon from the morning. And once people realized that — that daylight saving time in January means doing everything in the dark in the morning — they hated it.

There are a number of large and mid-size metropolitan areas where the sun would not rise until around 9am for weeks on end in the winter.

On average, a person who tells a pollster they want permanent daylight saving time is really just saying they would like the sun to shine more. Well, so would I. But the government only controls the clocks, not the axial tilt of the earth. If you actually enact permanent daylight saving time, it will exit the realm of daydreaming about how the sun is nice and turn into actually forcing Americans to drag themselves and their children out of bed in the dark for much more of the winter. Once you have inflicted this upon them, they will think deeply about the issue. They’ll hate it (and possibly hate you) and they’ll demand a reversal, as I will remind you they sought and promptly received the last time we tried this.

Perhaps the best solution would be to harmonize clock changes with Europe, switching to Daylight Saving Time on the last Sunday in March, and returning to Standard Time on the last Sunday in October. But then it'll get dark earlier on Hallowe'en, so...think of the children!

Update: The House has decided to proceed with all deliberate speed on this issue, ensuring the bill a quiet death sometime this summer.

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.

US lurches to ending seasonal clock changes

As if from nowhere, the US Senate yesterday unanimously voted to pass S.623 (the "Sunshine Protection Act of 2021"), which would end daylight saving time by making that the new standard time, effective 5 November 2023. This blew up the Time Zone Committee mailing list, mostly with the implementation problems around time zone abbreviations. One of the maintainers listed four separate options, in fact, including moving everyone to a new time zone (Chicago on EST? New York on AST?), or possibly just redefining what CST and EST mean. Canada has a law that essentially lets the US set standard time zones for Canada, so it gets even more complicated the farther down the rabbit hole you go.

Fun fact: most time zone software running on most computers requires 3-character time zone abbreviations to work correctly. That rules out changing CST to, simply, CT. One maintainer suggested P for Permanent; another suggested A for Always (CAT, EAT, MAT?).

You might think this is funny, but we TZDB maintainers have the power to make your brain hurt this way.

By the way, if you think year-round DST is a good idea within our current time zone boundaries, you may want to consider when the latest sunrise will happen in 2024 if the law passes, in ascending order of orneriness:

Location Sunrise Sunset
Eastport, Maine 8:06 17:00
Miami 8:10 18:50
Chicago 8:19 17:33
New York 8:20 17:41
Salt Lake City 8:52 17:13
Detroit 9:01 18:12
Menominee, Mich. 9:29 18:21

The easternmost point in the U.S., Eastport, will have darker mornings, but still perhaps tolerable. Menominee, which actually lies a little west of Chicago, would not be a fun place to live in January.

To review: There is a reason we change the clocks twice a year, which everyone forgets until it's dark at 8:30 am.

Moreover, wall-clock time is arbitrary. We can get up earlier or later if we choose to. Cassie, for instance, gets up at sunrise, and expects me to do the same, so I actually liked the change last weekend.

We also had a bunch of messages today about Iran, which has decreed that they will no longer change their clocks twice a year, with immediate effect. Now someone in Iran has to tell the authoritarian, anti-technology mullahs why it might take up to a year for their cell phones to reflect the change.

Gotcha!

A year ago today, Cassie and I adopted each other, which was obvious even on the drive home from PAWS:

Right now she's sulking on the couch because she didn't get breakfast this morning. That's because in about 15 minutes she's going to the vet to get her teeth cleaned. Pobre perrita.

Not quite back to normal yet

We had two incredible performances of Bach's Johannespassion this weekend. (Update: we got a great review!) It's a notoriously difficult work that Bach wrote for his small, amateur church chorus in Leipzig the year he started working there. I can only imagine what rehearsals were like in 1724. I'm also grateful that we didn't include the traditional 90-minute sermon between the 39-minute first part and the 70-minute second part, and that we didn't conclude the work with the equally-traditional pogrom against the Jews of Leipzig.

It's still a magnificent work of music.

Meanwhile, elsewhere in the world:

Finally, Rachel Feltman lists five myths about Daylight Saving Time. Our annual tradition of questioning it without changing anything will continue, of course.

And it's about 16°C outside, so it's time to take Cassie on her third half-hour walk of the day.