The Daily Parker

Politics, Weather, Photography, and the Dog

Incremental improvements

i just pushed a new build of Weather Now that corrects a problem no one else knew about in the way it managed time zones. The work took about 3 hours over several days this week, sneaking half an hour here and there between rehearsals, performances, and my day job.

I also worked on some code to interface with my home weather station. I've gotten it to download and parse reports from my Netatmo devices, and to refresh (and securely store) the API access token. I figure it'll take about 3-5 more hours to hook that code into the Azure Functions that download and store weather reports from other sources.

Today, however, I have one more performance of Die Zauberflöte. So...maybe next weekend?

Lunch links

I love it when something passes all the integration tests locally, then on the CI build, and then I discover that the code works perfectly well but not as I intended it. So while I'm waiting for yet another CI build to run, I'm making note of these:

Finally, WBEZ made me a shopping list of locally-produced hot sauces. First up: Cajun Queen—apparently available about a kilometer away.

Wait, it's August?

While I fight a slow laptop and its long build cycle (and how every UI change seems to require re-compiling), the first day of the last month of summer brought this to my inbox:

  • Who better to prosecute the XPOTUS than a guy who prosecuted other dictators and unsavory characters for the International Criminal Court? (In America, we don't go to The Hague; here, The Hague comes to you!)
  • After the evidence mounted that Hungary has issued hundreds of thousands of passports without adequate identity checks, the US has restricted Hungarian passport holders from the full benefits of ESTA that other Schengen-area citizens enjoy.
  • The US economy continues to exceed the expectations of people who have predicted a recession any day now. (Of course, every dead pool has a guaranteed winner eventually...)
  • After an unprecedented 31 consecutive days enduring temperatures over 43°C, Phoenix finally caught a break yesterday—when the temperature only hit 42°C.
  • Jake Meador explores why about 40 million fewer Americans go to church these days than in 1995.
  • Remember how we all thought Tesla made cars with amazing battery ranges? Turns out, Elon Musk can't do that right, either.
  • American car culture not only gives us unlivable environments, but also discourages the exploration that people in other countries (and I when I go there) do all the time.
  • We should all remember (and thank) USSR naval Captain Vasili Alexandrovich Arkhipov, who vetoed firing a nuclear-tipped torpedo at an American destroyer during the Cuban Missile Crisis 71 years ago.

Finally, Chicago historian John Schmidt tells the story of criminal mastermind Adam Worth, who may have been Arthur Conan Doyle's inspiration for Professor Moriarty.

Stuff to read later

I'm still working on the feature I described in my last post. So some articles have stacked up for me to read:

And while I read these articles and write this code, outside my window the dewpoint has hit 25°C, making the 28°C air feel like it's 41°C. And poor Cassie only has sweat glands between her toes. We're going to delay her dinnertime walk a bit.

Oh, right, there's another sub-feature

I finished the main part of the feature I've been fighting since last week, only to discover that a sub-feature needs refactoring as well. Basically, before implementing this feature, the user would recalculate their model every time they changed its parameters. Calculation usually takes 5-10 seconds for most models, but (a) for some models it takes up to a minutes and (b) the calculation engine uses a first-in-first-out queue when calculating. But the calculation engine caches on a most-recently-used basis (meaning it flushes the least-recently-used calculations when it needs to free up space), so generally, it's just a quick call to retrieve the same results.

In actual user testing, we realized that users often want to go back to a previously-used set of parameters. The calculations for any set of parameters should always return the same results, so in theory this isn't a problem. But we only stored the URL of the most recent calculation for any model. So to get previous results, the users had to recalculate the model with the previous parameters.

I've spent the last 5 days refactoring all of that so that all calculation results are stored, even incomplete ones, and users can simply flip between them with a drop-down. Only, there's a second step, whereby the API takes the results and transforms them into a different view. That calculation is very quick—just a few milliseconds—but also subject to the queuing mechanism, and requiring a second call from our UI to our API, and then from our API to the calculation engine, after our API looks up the results of step 1.

All of this has pushed our sprint out a week, as well as made me very cross with myself for not anticipating this workflow a year ago when we built our current UI.

Anyway, it's past 4pm on a Friday and I will probably spend another 90 minutes on this tonight to get it to a point where I can finish it Monday morning without having to rethink the whole API. Good Omens II will just have to wait.

Nailed to the perch

This Twitter is no more. It has ceased to be. It has expired and gone to meet its maker. Bereft of life, he rests in peace.

John Scalzi has my favorite take so far:

Twitter was its own specific thing, whereas as “X” is meant to be a number of different things, of which microblogging will be only one part, and, one suspects, the part Musk will care the least about. He’s really about finding ways to have people give him their money, either through subscriptions or taking a cut of transactions. It’s a fundamentally different beast, or at least, plans to be.

Twitter isn’t Twitter anymore. He’s destroying the value of the brand name. Even if at some point X fails (and it probably will), and Musk sells off the microblogging part for pennies on the dollar, even if the new owner calls it “Twitter” again, too much damage will have been done to the brand identity, and most of the power users (who aren’t incel bigots either by inclination or for pay) will either have moved on or will have done what I’m planning to do, ie., reduce their reliance on the service. Historically, social media sites get sold twice, first for a whole lot of money, and then for very little. When they’re sold for very little, it’s understood they’re damaged goods, unlikely to rise again to the prominence they had before. And in this case, the new buyer wouldn’t even get the value of the name.

To be clear, Musk’s microblogging service will persist, until it doesn’t, and people will use it, until they don’t. But whatever it is now, it’s not Twitter, and there’s no percentage in pretending it is. It was nice to have Twitter when we had it. But it’s gone. Now we get to find out what’s next.

Is Musk evil? Yeah, but mainly he's just a narcissistic failson. I mean, Eddie Lampert is evil and a narcissist, so he actually profited from killing Sears. Musk's evil comes more from his upbringing as an unrepentant beneficiary of Apartheid. (Yes, I'm linking to a partial debunking of Elon Musk Apartheid rumors.)

As someone said when Musk bought Twitter, I know a lot about software, so I'm staying away from Musk's cars and rockets.

Three notable deaths

An entertainer, a criminal, and an architect died this week, and we should remember them all.

The most notable person to die was singer Tony Bennet, 96:

His peer Frank Sinatra called him the greatest popular singer in the world. His recordings – most of them made for Columbia Records, which signed him in 1950 – were characterized by ebullience, immense warmth, vocal clarity and emotional openness. A gifted and technically accomplished interpreter of the Great American Songbook, he may be best known for his signature 1962 hit “I Left My Heart in San Francisco.”

In later years, he memorably dueted on the standard “Body and Soul” with Amy Winehouse, and released a full-length duet album with Diana Krall and a pair of recordings with Lady Gaga. Even after the revelation in early 2021 that he had been diagnosed with Alzheimer’s, he remained active.

Kevin Mitnick, 59, also died this week, but he won't be quite as missed as Bennet:

Described by The New York Times in 1995 as “the nation’s most wanted computer outlaw,” Mr. Mitnick was a fugitive for more than two years.

He was sought for gaining illegal access to about 20,000 credit card numbers, including some belonging to Silicon Valley moguls; causing millions of dollars in damage to corporate computer operations; and stealing software used for maintaining the privacy of wireless calls and handling billing information.

Ultimately, he was caught and spent five years in prison. Yet no evidence emerged that Mr. Mitnick used the files he had stolen for financial gain. He would later defend his activities as a high stakes but, in the end, harmless form of play.

At the time of Mr. Mitnick’s capture, in February 1995, the computer age was still young; Windows 95 had not yet been released. The Mitnick Affair drove a fretful international conversation not just about hacking, but also about the internet itself.

Today, 20,000 credit card numbers wouldn't even rate a single paragraph in the Times. How things have changed.

Finally, Chicago architect Richard Barancik, 98, left his mark on the world not just by designing iconic bowling alleys, but also as the last of the so-called "monument men" who repatriated art that the Nazis stole in the 1930s and 40s:

He was the last-known surviving member among nearly 350 "Monuments Men" who recovered art looted in Europe during World War II and shot to prominence with a 2014 film directed by George Clooney and starring Matt Damon, Bill Murray and Cate Blanchett. Barancik hadn't talked much about the assignment before the movie, his daughter said, but once it came out, he was inundated by letters from schoolchildren and by autograph seekers and "World War II nuts."

By then, he had retired from an architecture career that paralleled the Gold Coast's post-war residential development, with high-rises sprouting on Lake Shore Drive and farther inland, readying the Near North Side for the yuppie invasion. His projects included 990 and 1212 N. Lake Shore Drive, office buildings 142 and 211 E. Ontario, and the 44-story and 73-townhouse development at Eugenie and Wells streets in Old Town.

Barancik also pursued suburban office complexes like the East-West Tech Park in Naperville and Woodfield Lakes in northwest suburban Schaumburg, and he designed Chicago Public Schools' Willa Cather Elementary School on the West Side, his daughter said. His bathhouses at Adeline Jay Geo-Karis Illinois Beach State Park near Zion feature wavelike undulating roofs.

In media vita morte sumus. Requiescat in pacem.

Clearer air on an "inside" day

I had one of those "why am I working inside today?" moments when I got my lunch a few minutes ago. The obvious answer—Cassie needs dog food—doesn't always work when it's 27°C and sunny. It did get me to re-evaluate my dinner plans, however. Cooking pasta just doesn't appeal when my favorite sushi place has an outdoor patio that allows dogs.

Meanwhile, I'm adding a feature that might take the remainder of this sprint as it completely changes how we store and present 3rd-party calculation results to the end user. Previously we just presented the user's most recent calculation on the results page. But our pesky users seem to want to see their previous calculation results as well. Since we were throwing those away when the user made a new calculation, I have some work to do.

Meanwhile:

  • Via Bruce Schneier, the Gandalf AI app lets you socially-engineer an AI to get its password. Schneier himself hasn't gotten past Level 7, so good luck to you.
  • Tyler Austin Harper sees an uncomfortable connection between the movies Oppenheimer and Barbie, both of which open this weekend.
  • Office furniture brokers have a glut of inventory as post-pandemic return-to-office plans get slower and slower.
  • Today is the anniversary of Massachusetts Commodore Dudley Saltonstall's incompetent attack on the British garrison at present-day Penobscot, Maine, in 1779, that should remind all y'all commando wannabes what happens when amateurs attack a vastly superior professional force. (Also a reminder that Benjamin Franklin's diplomacy really won our War of Independence, not George Washington's soldiering.)
  • In what can't be politely described, so I'll call it a dick move, Universal Studios denuded a stand of trees along Barham Blvd. in Los Angeles to harass the striking writers and actors who had used the trees for shade in the 32°C heat. And the suits continue to wonder why everyone roots for the talent.
  • Of course, the suits broke the business in the first place, so maybe that has more to do with it.

Finally, now that Cassie has had her birthday photo and her sardine dinner, it's time for her bath. Wow, does she need one. And she's going to get one tomorrow morning, traumatizing though it is for her.

Run, you clever unit tests, and pass

The first day of a sprint is the best day to consolidate three interfaces with three others, touching every part of the application that uses data. So right now, I am watching most of my unit tests pass and hoping I will figure out why the ones that failed did so before I leave today.

While the unit tests run, I have some stuff to keep me from getting too bored:

Finally, the 2023 Emmy nominations came out this morning. I need to watch The White Lotus and Succession before HBO hides them.

Update: 2 out of 430 tests have failed (so far) because of authentication timeouts with Microsoft Key Vault. That happens on my slow-as-molasses laptop more often than I like.

Slow day

As predicted, the weather is great and I'm working from home with the windows open. And I'm doing an open-ended research project that is leaving me with more questions than answers, which is always good.

I haven't spent a lot of time online today, except for the research. But I would like to point out yesterday's Strong Towns post, which hit home almost literally. In most parts of the US, the suburban city plan (aka sprawl) gets a pretty heavy subsidy from urban property-tax payers:

A couple of years ago, I conducted an infrastructure study for the Town of Nolensville, Tennessee, at the request of Mayor Derek Adams, analyzing their tax revenues in relation to their development pattern's maintenance costs. You can find that study here, but I'm sure you can guess what I found, if you're a Strong Towns reader. 

I looked at five different streets, each with a slightly different development pattern. I categorized these streets based on what infrastructure they contained, their levels of density, and their historic context. The final street on the list was a townhome street (consisting of typical 24-foot lot widths, as opposed to the 69- to 114-foot-wide lots of the other suburban streets). All four of the non-townhome lot development patterns resulted in long-term deficits for the city under the existing level of taxation. What's more, I adjusted these deficits to allow for the more expensive homes to contribute more taxes (since their higher assessments would, of course, generate more money in absolute terms), and they still didn't break even. The townhomes, on the other hand, produced a budget surplus of $51.43 per lot.

In the study's conclusion, I discussed how this result may be received politically. In the past, people have moved to towns like Nolensville precisely for the suburban development pattern. Even today, when more urban and traditional forms of community are increasing in popularity, not everybody wants to live in a townhome. Am I advocating some kind of 15-minute city conspiracy to forcibly abolish side yards?!?

No—despite the proven financial and logistical problems with suburbs, I don't think we should abolish them. It could be argued that heavy-handed strategies like that don't fit with our political culture and traditions in this country. Instead, I think we should do something eminently American: we should tell the suburbs to pull themselves up by their own bootstraps.

That doesn't mean abandoning them. Rather, it's a call for a frank, down-to-earth conversation between the taxpayers and the suburbs; the type of conversation any responsible parent would have with a teenager who's living beyond his means.

Sure, but if you're getting subsidized million-dollar housing, why would you ever vote to pay your actual bill?

OK, lunch is over. Back to the mines...