The Daily Parker

Politics, Weather, Photography, and the Dog

Temperature 26, dewpoint 22

I just got back from walking Cassie for about half an hour, and I'm a bit sticky. The dog days of summer in Chicago tend to have high dewpoints hanging out for weeks on end, making today pretty typical.

Our sprint ends Tuesday and I still have 3 points left on the board, so I may not have time to give these more than a cursory read:

Finally, Andrew Sullivan adapts a column he wrote in August 2001 asking, "why can't Americans take a vacation?" One reason, I believe: all the time and money we spend in and on our cars.

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.

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.

Papagena lebe!

I'm just over a week from performing with the Chicago Symphony Orchestra at Ravinia in Mozart's Die Zauberflöte, so as I try to finish a feature that turned out to be a lot bigger than I thought, I'm hearing opera choruses in my head. Between rehearsals and actual work, I might never get to read any of these items:

Finally, New York City (and other urban areas) are experiencing a post-pandemic dog-poop renaissance. Watch where you step!

And now, I will put on "Dank sei dir Osiris" one more time.

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.

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.

Shocking Supreme Court decisions just announced!

Ah, ha ha. I'm kidding. Absolutely no one on Earth found anything surprising in the two decisions the Court just announced, except perhaps that Gorsuch and not Alito delivered the First Amendment one. Both were 6-3 decisions with the Republicans on one side and the non-partisan justices on the other. Both removed protections for disadvantaged groups in favor of established groups. And both lend weight to the argument that the Court has gone so far to the right that they continue to cause instability in the law as no one knows how long these precedents will last.

Let's start with 303 Creative v Elenis, in which the Court ruled that a Colorado web designer did not have to create websites for gay weddings, on the philosophy that religiously-motivated anti-gay bigotry is protected under the First Amendment:

The decision also appeared to suggest that the rights of L.G.B.T.Q. people, including to same-sex marriage, are on more vulnerable legal footing, particularly when they are at odds with claims of religious freedom. At the same time, the ruling limited the ability of the governments to enforce anti-discrimination laws.

The designer, Lorie Smith, said her Christian faith requires her to turn away customers seeking wedding-related services to celebrate same-sex unions. She added that she intends to post a message saying the company’s policy is a product of her religious convictions.

A Colorado law forbids discrimination against gay people by businesses open to the public as well as statements announcing such discrimination. Ms. Smith, who has not begun the wedding business or posted the proposed statement for fear of running afoul of the law, sued to challenge it, saying it violated her rights to free speech and the free exercise of religion.

I actually might agree with the very narrow outcome of this specific case: I don't think someone should be forced to create something they morally oppose. That said, I fear, as do many others, that people will see this as license to scale back anti-discrimination measures against all marginalized groups. And this is why I think the case is going to be a problem for a generation. I'll read Gorsuch's opinion over the weekend, hoping that he resisted the urge to fill it with Federalist Society-approved obiter dicta. But I expect to see more litigation on anti-discrimination statutes as a result of the ruling. It's part of the Republican strategy to erode hard-won rights by creating fear and doubt in marginalized groups, and it's working.

The other ruling (Biden v Nebraska), also pitting the Republicans against everyone else in the free world, killed the President's program to waive about $405 billion in student debt that hundreds of thousands of low- and middle-income borrowers owed to the Federal Government. The Court found the thinnest of pretexts to allow the State of Missouri just enough standing to keep the case from evaporating entirely, and then rug-pulled all those people for whom $10,000 might be the difference between poverty and continued daily meals by saying the President exceeded authority granted him by Congress to "waive or modify" the loans:

The court has rejected the administration’s expansive arguments in the past. The court lifted a pandemic-era moratorium on rental evictions put in place by the Centers for Disease Control and Prevention. It threw out a coronavirus vaccination-or-testing mandate imposed on large businesses by the Occupational Safety and Health Administration. And in a ruling unrelated to the pandemic, it cited the “major questions” doctrine to limit the Environmental Protection Agency’s options for combating climate change.

The legal battles have left millions of student loan borrowers in limbo. More than half of eligible people had applied for the forgiveness program before it was halted by the courts, with the Education Department approving some 16 million applications.

Biden’s debt relief program has been a divisive issue on Capitol Hill. On June 7, Biden vetoed a Republican-led resolution to strike down the controversial program and restart loan payments for tens of millions of borrowers. The measure passed the Senate with the backing of Sens. Joe Manchin III (D-W.Va.), Jon Tester (D-Mont.) and Kyrsten Sinema (I-Ariz.). Despite Biden’s veto, the resolution shows the likely difficulty of getting any future debt relief plan through Congress.

This, like yesterday's affirmative action decision, shows the Republican majority gleefully rolling back all the things they have hated ever since Lyndon Johnson had the gall to give those people civil rights in 1964. They firmly believe in the ability of everyone born on second base to get a home run even if it means everyone else strikes out, because (and I'm really not making this up, if you dig into what these people have written) they deserve it. (Best Tweet of the day, from the ever-scathing New York Times Pitchbot: "Opinion | Without the burden of affirmative action, Harvard can finally become a true meritocracy—by Jared Kushner and Robert F. Kennedy Jr.")

The good news—in the most general sense as the 6-3 split will continue to be very bad news in specific for years—is that this kind of reactionary behavior by the right wing tends to flame out in a generation or so. It's the desperate clawing back of gains made by the lower orders to hold onto inherited privilege for just a little longer that happens when the old guard know they're on their way out. We've seen it in the US before, and in the UK, and in lots of other times and places.

Unfortunately, undoing the damage the revanchists cause hurts like hell. The next 10-15 years are going to suck for a lot of people.