The Daily Parker

Politics, Weather, Photography, and the Dog

Early autumn summer weather

Just a quick note while I've got my head down with an ugly commit and probably a few follow-up fixes.

After a lovely autumn-cool weekend, today we have some summer-like weather, just warm enough to make me wonder whether I should turn on the air conditioning. I'll decide around 6, I think.

On the other hand, I wonder why I'm sitting inside on one of the last days like this we'll have for six months?

Size matters sometimes

So, I finally figured out why Weather Now kept struggling: I deployed it to a too-small App Service Plan for the load it was getting. And since most of the load is coming from bots, I hope that the robots.txt file I finally deployed properly will get them to stop.

I fixed the mysterious exceptions being thrown, too. But it turned out, the problem was simply load. A bigger App Service Plan brought the effective CPU from 100% to 28% immediately. And it'll only cost another $66 per month...

I'll experiment with other ASP sizes later this week. At least the app works again!

Major, but invisible, debugging effort

I spent hours this weekend and a couple of nights this past week fixing Weather Now. The app has gotten a lot more traffic than usual lately, mostly because I didn't put the robots.txt file in the right location. Unfortunately, all the extra traffic made it really obvious that the app had some serious performance issues, which I traced to some bad asynchronous code design.

The miracle cure for these issues came from Microsoft, and the Microsoft.VisualStudio.Threading.Analyzers package. This easily found the places in the Inner Drive Extensible Architecture as well as Weather Now where I'd botched the async coding.

Along the way I also made a couple of small tweaks that should cut down on the number of error messages the thing sends me. After last weekend's deployment I started getting so many that I had to shut the app down for a while. (Good thing I don't have any paying users.)

Annnndddd...it's not better. I still haven't figured out why the production API keeps dying, even though it seems to work fine in the Dev/Test environment.

Crap.

C'était pas absolutement horrible...

I just finished a 75-minute open-level French test as part of a QA study that Duolingo invited me to participate in. What an eye-opener. And quelle épuisement!

The test started well enough but got a lot harder as it went on, for two principal reasons. First, the order of sections went precisely in the order of my abilities: reading, writing, listening, speaking. Turns out I read French a lot better than I write it, write it better than I understand it, and speak it like a reject from a Pink Panther film. Some poor evaluator will have to listen to me going on for nearly three minutes about how hard the job of cat-herder is. What's worse, I only just now learned the word berger. "Herder des chats" is, apparently, not a thing, but berger de chats potentially is. I hope whoever scores that response at least has a sense of humor.

The second reason it got harder is that "open level" bit I mentioned. Each section got progressively more difficult, such that by the end of the listening part I could barely pick out the topic let alone individual words. Senegalese fishermen, you may be surprised to learn, are harder to understand than recorded announcements at train stations.

Still, I'm glad I did it. I don't know if they'll share the results with me, because they only want the data to calibrate their language-learning product. I hope they do, particularly before I pop out of the Chunnel just over two weeks from now.

I'm dog-sitting again, so a nervous beagle wandered up to my office during the test to see why I hadn't fed her yet. I suppose they both could use an around-the-block and some kibble. I will try to speak French to them, if only for my own practice.

Oh, and if you haven't been able to get to Weather Now this afternoon, that's because I shut it down for a bit while I root out a connection-exhaustion problem. I believe there are too many bots hitting it the last few days, but it still shouldn't crash when they do. Until I can fix the problem, or get rid of the bots, I'm only going to have it up a little bit at a time. (Its data collection continues unaffected, however.)

Not the most boring deployment ever

I've added a new feature to Weather Now: user profiles. It's only the most basic implementation and, at the moment, doesn't actually do anything. But it will lead to a whole range of features that the application hasn't had since it was an old Active Server Pages app in 1999.

Unfortunately, the deployment required setting up additional features on the weather API, so that user IDs travel from the UI to the API securely. The deployment took two hours, and threw up several pipeline failures for a reason having nothing to do with the API changes.

Anyway, now that the base user profile feature works, I can now add:

  • User preferences for measurement systems (metric or Imperial);
  • User-selected home locations;
  • User-selected home page weather lists;
  • Multiple custom weather lists; and
  • Lots of other personalization features.

At some point I'll also finish importing the whole (9-million-plus record) gazetteer, so users can search for more places.

Now, however, I'm going to make some lunch now and take Cassie on a very long walk in the amazing autumn weather we have today.

Late summer at my house

During this last full week of summer, I haven't had a lot of time at home because we had to work in the office every day. And what a week.

I got home from work (and got Cassie home from day camp) right before some pretty impressive storms hit on Tuesday:

After discussing with a friend how a lot of the humidity we've experienced this summer comes from corn and soybean transpiration to our west, he discussed it with Bing's DALL-E 3:

(Not sure what happened with the spine of the book...or the windmill in the cover photo...or the title...but I did laugh.)

Relief is coming, though. A line of thunderstorms went through just before sunrise, and the cold front driving them will drop the dewpoint from 21°C now to 15°C by this time tomorrow:

Then Wednesday night my doorbell camera picked something up that I didn't expect:

Turns out, I have a new houseguest, who has politely set up shop by my front door to help keep mosquitoes (and one unfortunate cicada!) out:

That is a furrow or foliate spider, as far as I can tell.

Wednesday evening she even got a visitor:

Sadly, as is typical of orb weaver romances, her gentleman caller probably did not survive the evening. I don't judge; she's caught a lot of mosquitoes, she's entitled to celebrate. And I think I saw some baby spiders last night, so maybe I'll invite a couple inside?

Today, I'm taking a PTO day to catch up on everything, and to clear a path for my 4-hour walk tomorrow.

Heat wave continues

The forecast still predicts today will be the hottest day of the year. Last night at IDTWHQ the temperature got all the way down to 26.2°C right before sunrise. We have a heat advisory until 10pm, by which time the thunderstorms should have arrived. Good thing Cassie and I got a bit of extra time on our walk to day camp this morning.

Elsewhere in the world:

Finally, Garmin has released its latest fitness watch that doubles as a freaking Dick Tracy wrist phone. I mean, first, how cool is that? And second, how come it took 90 years after Dick Tracy got one?

Four longer stories

As I wait for a build pipeline to run, I'm reading these:

  • Harvard law professor Richard Lazarus argues that the recent Supreme Court decision on presidential immunity doesn't shield the XPOTUS from the most serious charges he faces.
  • Pavin Chachavalpongpun, a professor of Thai politics, sees recent events in Thailand as heralds of the coming end of the monarchy's control.
  • Why do people just stop dating?

Finally, author John Scalzi doesn't want you to idolize authors—especially not him:

Enjoy the art creative people do. Enjoy the experience of them in the mediated version of them you get online and elsewhere, if such is your joy. But remember that the art is from the artist, not the artist themselves, and the version of their life you see is usually just the version they choose to show. There is so much you don’t see, and so much you’re not meant to see. At the end of the day, you don’t have all the information about who they are that you would need to make them your idol, or someone you might choose to, in some significant way, pattern some fraction of your life on. And anyway creative people aren’t any better at life than anyone else.

Looks like the build is almost done...

Long-ish day

I had painters in my house yesterday and today, and this morning I finally got chased out of my office for a bit. That meant I had more to do this afternoon, which meant I didn't get a chance to read much.

Which is only to say, regular posting resumes tomorrow.

Can't trust that day

I have painters painting and I'm coding code today, so I'm just noting a couple of interesting stories for later:

  • The New York Times explains how the warming climate could send seven systems over the tipping point into unrecoverable damage.
  • Bloomberg CityLab climbs through the $80 million effort to make Chicago's Merchandise Mart last another 90 years.
  • National governments trying to protect their own railroads have derailed private cross-EU night-train service, hurting passengers.
  • The City of Chicago could have to pay over $100 million to the thieves who stole our parking meters in what continues to be the stupidest, and possibly most corrupt, municipal contract in the city's history.

Finally, a pilot ferried a Cessna 172 from Merced, Calif., to Honolulu in 17½ hours last Tuesday, a feat that I would categorize as "stupid risky" rather than "brave." I have a policy never to fly beyond gliding range in a plane with one engine, which means even around Chicago I don't fly more than a few kilometers off shore. Sure, a Cessna 172 can easily get from Chicago to Grand Rapids on a standard load of fuel, but why on earth would you risk ditching even 10 km offshore. This guy flew over 2,000 km from the nearest shore. And it wasn't his first time.