Last night I finished watching Le Bureau des Légendes, the brilliant French spy thriller that lasted for five seasons from 2015 to 2020. The last two episodes of the series were directed by noted French director Jacques Audiard, and to say that represented a departure from the tone and tenor of the preceding 48 episodes does not do justice to the word "departure."

Spoilers for the entire series ahead.

The plot kicks off in the pilot episode when Guillaume Debailly (the French spy "Malotru", played by Mathieu Kassovitz) calls his former Syrian lover Nadia El Mansour (Zineb Triki) after a bombing in Damascus. He was absolutely not supposed to do that, having returned to Paris and already hung up his fake identity "Paul Lefebvre." This kicks off six years of all sorts of trouble for him, the DGSE (French CIA/MI6 equivalent), the Russian FSB...nearly everyone. Malotru is tortured, forced to work for both the CIA and the FSB (though not at the same time), he gets his boss killed and several French agents exposed, all because he's in love with El Mansour.

In the 48th episode, it looks like he may come out all right. El Mansour is safely in France, he has turned his FSB handler into a double agent for the DGSE after getting a DGSE computer genius embedded in an FSB disinformation operation, and he is reunited with his daughter.

Then Audiard came in and lit the show on fire. In the end, Malotru is a broken man and El Mansour has been stuffed into the fridge. I wasn't stunned by that last bit, as Audiard telegraphed it at the beginning of episode 49. No, it really pissed me off.

Was this a French ending or just a misogynistic ending?

English TV critic Chloe Walker also found it baffling:

For starters, characters we’ve been following for years are casually jettisoned. We see nothing at all of Sylvain, the fan-favorite mainstay of the DGSE’s tech department; or of César, whose undercover mission in Russia had been a major focus of the latter seasons. Marina—who has served as the audience surrogate since Season 1 when Guillaume trained her—does at least make an appearance in the finale, but in what amounts to an extended cameo. That all of these beloved characters are shafted at the expense of a last-minute nothing of a storyline, involving a second-tier agent whose new girlfriend may or may not be an opposition spy, is both bewildering and deeply frustrating.

Nadia’s death is the finale’s ultimate insult, and the fact it even happens is ridiculous. ... Though Karlov commits suicide, it’s clear that before his death, he’d already set in place his revenge. Guillaume knows that it’s coming. Yet somehow, it never once occurs to this formidably smart agent that the love of his life might be the target?

And the execution of Nadia just feels callous. Much of the finale is dedicated to punishing Guillaume for the snowball of disaster that stemmed from that first phone call, but that implies he hasn’t been suffering continuously throughout the whole series—the same man we’ve seen beaten and burned, kidnapped, and tortured. If Nadia had lived, it wouldn’t have been a simple case of happily-ever-after; they’ve both been through too much for a steady relationship to run smoothly. Still, it would have offered a little slither of hope after a relentless fusillade of pain. We know Guillaume won’t come back from her death. His broken body might struggle on, but his mind will be destroyed. That The Bureau asks us to watch this man suffer for five whole seasons, and then ends his story such a cruel way (the last time we see him, he is curled on the ground in an agony) seems almost perverse.

Perverse. Yes. And still, the preceding 48 epsiodes were a marvel of storytelling with characters I want to see again. Plus, being a European series, they're not at all afraid to show boobs that everyone speaks multiple languages. Even English: if a Russian and a French person are speaking to each other, that's the most likely language they share. At any moment, someone could pop out of their shirt with a Turkish phrase in an English sentence on an Iraqi street. I wish American TV could put that much faith in their viewer's IQs.

Regardless, I strongly recommend the series to anyone who likes good TV and doesn't mind reading subtitles. It's worth it.

I mentioned a few weeks ago that I had taken advantage of Anthropic's promotional pricing to have Claude Fable 5 analyze all the Inner Drive applications for performance and robustness. That has led to a series of software releases built off the recommendations that Claude made, starting with this app on July 30th, a new IDEA™ release yesterday, and a pretty significant update to the Inner Drive Gazetteer today.

Next up will be a new Weather Now release early next week that will incorporate all the fixes and enhancements in the IDEA and Gazetteer updates. I haven't updated Weather Now since May 20th, so it won't just include my own updates but also at least two dozen other components including Blazorise and Syncfusion UI controls.

Once that's done, I'll want to add two or three epics to this app, because there's a lot I still want to do with it.

Stay tuned.

This morning I released a new version of Inner Drive Extensible Architecture™—the IDEA™—that supports the Unicode Common Locale Data Repository (CLDR). This means that apps using the IDEA™ can let users pick time zones using their own language.

Check out the new demo, to which I've added support for UK English, French, Spanish, and simplified Chinese.

Unlike Noda Time, the Inner Drive time zone components use System.DateTimeOffset instead of a custom Instant class. Also, the Inner Drive components read the time zone and CLDR data at app start from the IANA and CLDR source files, which means you can deploy the latest files directly from Unicode and IANA without having to re-deploy or re-compile your app.

The current IDEA version also has a couple of performance fixes that Weather Now and this app will use. I do eat my own dog food!

A cool front passed through yesterday dropping temperatures in Chicago all the way to...19°C overnight. The dewpoint dropped to 17°C, however, which hints at a time a few weeks from now when the sweaty corn will have been harvested. Last year that happened right around the end of August, so one can hope.

Elsewhere in the world:

Finally, I am saddened to learn that I may have probably taking a trip on The Canadian in its 1950s-era rolling stock. The train, which runs from Vancouver to Toronto, launched with its current Budd cars in April 1955. The train will continue running indefinitely, but as National Geographic explains,

VIA Rail has announced a $107-million program to refurbish some of the vintage sleeper cars over the next five years. But the roll-out of an all-new long-distance fleet, including glass-domed observation cars, is set to begin in 2030. The Canadian will continue to follow the same route. But the old stainless-steel cars that give the train its timeless appeal will gradually be removed from service.

The nearest equivalent Amtrak train, The Empire Builder, runs from Chicago to Seattle along the northern US border, and still uses Amtrak's 1980-vintage Superliner cars. Not the same thing at all.

Sometimes things just work

   David Braverman 

I'm at a friend's house where I just set up her wireless network and wi-fi enabled printer in under 10 minutes. At my (and Wirecutter's) recommendation, she bought a TP-Link Archer BE3600. Setup was very easy. I especially like that it has a "IoT network" feature that you can enable to isolate smart switches from the rest of your network. I have a Netgear Nighthawk at home that gets me 1,300 Mbps throughput, but I didn't see anything like an IoT network when I set it up. I'll check tomorrow morning.

With the router and printer all connected, it's time for dinner. I really worked up an appetite enabling IPv6 just now, so I'm looking forward to it.

I've just uploaded the last bit of media consumption data to the Journal. Over the years I've made 55 mix CDs (or rather 52 CDs and 3 "CDs" which were just .mp3s edited together and put on a memory stick). I've now uploaded all the playlists, starting with #00 from May 1997 and ending with #53 from June 13th. The exercise also showed that some of my concert dates were recorded incorrectly. I blame my past self.

I'm now off to take Cassie on a much-needed constitutional. It's very sticky out, so I don't know how far we'll go. Poor dog, she gets no attention.

Fixed it

   David Braverman 
BlogsHow this worksSoftware

I mentioned earlier today that I broke links to pages with yesterday's release. Welp, they're fixed now. Apologies.

I mentioned yesterday that last night's Brahms X Radiohead concert sounded like a weird idea. It actually sounded weird, too. I went with my Brews & Choos Buddy and spouse, one of whom is an older Millennial who listened to Radiohead on repeat in college. Millennial person loved it; spouse and I were perplexed as we were much more familiar with the Brahms symphony than with Radiohead.

Still, Ravinia is delightful, even when there's a little bit of rain on your picnic.

You know what isn't delightful? The news:

  • White House Press Secretary Karoline Leavitt has resigned, after having spent a year and a half lying so badly that she made that Iraqi guy look like a parragon of truth.
  • Melania Trump is the first First Lady with negative approval ratings since polling on the subject began. Can't think why.
  • Former Cambridge don Jason Arday apparently committed suicide yesterday after evidence emerged that he'd fabricated his life story and plagiarized parts of his published scholarship. News organizations are calling it "tragic," which is likely an accidentally correct use of the word in this case.
  • What did John Locke know about elites that we seem to be forgetting?

Finally, when writing this post I discovered a bug in the address-resolution system in the blog that causes pinned pages to show up with invalid URLs and then to fail when the correct URL is entered into the browser address bar. The Brews & Choos Project page still exists, but until later today at the earliest it's not going to show up when you navigate to it. The Daily Parker regrets the error.

I'm about to go to Ravinia to hear one of the weirdest things I've heard of. The weather seems to be holding, and I did spend $30 for a lawn seat, so I should go. My friends assure me this will be cool.

As I was doing other things, the US Air Force Thunderbirds were practicing for this weekend Air and Water Show, which promises to have a lot of water in the air tomorrow. So today's practice might have been our only chance to hear see them. And see them I did as they passed within a kilometer of my apartment doing about 750 km/h:

USAF Thunderbirds rehearsing over Chicago, 2026-08-14

USAF Thunderbirds rehearsing over Chicago, 2026-08-14

We'll see if the forecast changes, but right now tomorrow afternoon looks pretty rainy. Sunday, though, looks great.

You are looking at the Inner Drive Technology Journal project release 1.0.9723, containing the biggest feature set I've ever released in one week.

The last release came out only last Thursday and fixed a couple of bugs. Today's release, in contrast, started almost immediately after 1.0.9715 and contains an entire epic of features that brings advanced searching capabilities to the application. You can now search by project, event type, tags, specific fields, and geography. Want to see which shows I attended at Ravinia Festival in 2024? Or how about Daily Parker posts tagged with both Cassie and AI since last August?

The career-altering part: the Advanced Search epic only took 17 hours to design and implement, starting with Claude Fable 5's analysis task last Thursday afternoon and finishing this morning with a couple of tweaks to the Search page layout.

When I first put the Epic into Jira six years ago (!), I guessed it would take me about six weeks of after-hours and weekend coding to finish, something around 75-90 hours. Maybe longer. And a lot of the work would be tedious as none of the features is particularly groundbreaking in itself, just fiddly to implement. I also figured on spending a dozen or so hours just learning how to work with Cosmos DB's native searching and filtering capabilities so that I didn't reinvent the wheel.

Claude Sonata did all that stuff for me. I got to build the software, not the code (though I did review every line and made hundreds of small tweaks to Claude's work), letting me concentrate on what I wanted it to do and how I wanted it to work for the user, rather than how it had to work for the compiler. (And now I've learned how to work with Cosmos DB searching and filtering because I can read and step through working code.)

Throughout my career, I've experienced a couple of huge leaps in what I could accomplish. Reading Steve McConnell's _Code Complete in 1995 taught me how to code like a professional. Switching from Visual Basic to C# in 2003 taught me how to write performant, truly object-oriented code. Then in 2011-12 I moved from on-premises hardware into Microsoft Azure along with continuous integration/continuous delivery. Each step made it easier to spend time on the user and less on the technology.

So now here we are, with 30 years of professional software development experience and a $20-a-month Claude subscription, releasing an entire epic containing 11 features1 in just 8 days and 17 hours of effort in my spare time.

I love living in the future.

One more thing: This experience has also gotten me thinking about the role of junior developers in the near to medium future. It's really going to suck for a lot of them, particularly the ones who took classes to "learn how to code." I graduated college with a degree in history and most of a degree in music and never thought I could turn my hobby of writing software into a career until the point in my second year of law school when a lawyer paid me to automate his real-estate closing documents. That was 1995, right before the first boom. I got very lucky. The kids going into software development today are already obsolete unless they've learned the kinds of things I learned reading history and music. I'll have more to say about this in the next couple of weeks.

For the moment, though, I'm going to lean back and enjoy today's software release. It's the first exciting deployment I've had in a long time that was exciting for the right reasons.


  1. Plus 3 tasks and one really stupid regression defect. Still, 73 Git commits in one week is a lot for a solo part-time project.

The Economist/YouGov approval tracker has the OAFPOTUS's net approval at -27 (34% approve, 61% disapprove), down 0.9 points since last week, and the lowest approval rating in the history of the poll. In their state-by-state analysis he's only above water in Idaho, Wyoming, and West Virginia, which together account for 11 electoral votes, not quite enough to swing a national race. Even among older white uneducated men, he's around -15. Will that translate into the 6 Senate pickups we need to halt the politicization of the Federal judiciary? We'll find out in 81 days.

Before that happens:

Finally, tonight I'm attending a concert at Ravinia Festival called "Brahms X Radiohead," which merges Johannes Brahms' Symphony #1 with Radiohead's 1997 album OK Computer. I have no clue what to expect, despite having heard both works in the past. Will it be Dark Side of the Moon meets The Wizard of Oz? Or will it be something else entirely? We'll have picnic blankets, wine, and cheese, so worst case: it rains and we don't hear it. Updates as the situation develops.

We have a bit of smoke drifting down from Minnesota this afternoon, pushing our AQI up to 69. It's enough to taste, unfortunately, but not enough to hurt. We've also got yet another line of thunderstorms coming through in an hour. Cassie and I caught a little bit of drizzle just now, which was just an added bonus on top of the humidity. Once my shirt dries sufficiently I'll peel it off and take a shower.

Meanwhile, other places have worse weather:

  • The UK recorded its hottest day of 2026 this afternoon as temperatures hit 36.1°C in London and 38.1°C farther south.
  • Multiple cities across France hit 40°C with 80 of the country's 101 départements under an Orange Alert for heat. This also forced the government to shut down 6 nuclear reactors, just when people need more power for air conditioning.

Elsewhere:

  • Francesca Hong didn't so much lose Wisconsin's Democratic primary for governor on Tuesday; rather, she lit herself on fire with rank-and-file voters with a little help from extremist weirdo Hasan Piker.
  • Here in Chicago, our upcoming election for school board promises to be a trip to the big top. Already more than half the candidates have had their ballot petitions challenged, and five people of varying ability are running for president.
  • You're not imagining it: shopping is impossible these days.
  • The last barrel of Schlitz Beer was drunk this week in Old Town's Glunz Tavern. RIP Schlitz (1893-2026).

Finally, Bruce Schneier and Nathan Sanders try to separate the technological and capitalist problems with AI:

In any discussion about AI’s potential, it’s important to separate the technology from the socio-political system it’s embedded in. That AIs can lack context, mix up facts, or fall for stupid tricks are all technological problems. Because the giant developers like OpenAI and Anthropic have prioritized solving them, AIs can now more easily access resources like the web or email, are more disciplined about using those resources, and are better at staying within their guardrails.

In contrast, ensuring that AI models benefit people broadly, that their energy costs are fairly allocated, that their environmental impacts are minimized, and that they don’t steal content and revenue from publishers are all questions of incentives in a capitalist system.

Exactly. We're still many years from understanding how best to use these new models.

Architect and University of Illinois-Chicago professor Stewart Hicks explains why the architecture of data centers will result in a generation or more of unusable land, and how architects of the past avoided this outcome (mostly):

While a new wave of storms drenches the South Side, an old wave of sensible Democrats stopped the insanity in Wisconsin, nominating moderate Milwaukee County Executive David Crowley for governor in a squeaker against state representiative Francesca Hong. And once again, left-wing activists seem to have [gamed the polls[(https://talkingpointsmemo.com/edblog/prediction-markets-get-trounced-in-hongs-defeat) and prediction markets. Not to put too fine a point on it, but most Democratic voters seem to have decided that the Monster Raving Loony Party Democratic Socialists of America, who used to be all three of those things but are now really only one of them, aren't going to help get Democrats elected in three months.

Elsewhere:

Finally, the Illinois Dept of Transportation may restore train service to Rockford, Ill., for the first time in 45 years by the end of 2027. The fun bit: Metra, not Amtrak, will operate the service. I may live to see train service in Illinois during my lifetime that rivals European service before I was born.

The National Weather Service confirmed that the storms we had in Chicago yesterday resulted from a derecho:

August 11th was a very active day with multiple rounds of severe weather. A cluster of strong to severe storms impacted northwest and north central Indiana in the morning around the US 30 corridor, dropping hail the size of baseballs in Starke County, IN! By late morning, a strong MCS was observed quickly moving east through northern Illinois. This line of storms produced destructive damaging wind gusts up to 100 mph in far NW Indiana! In our forecast area, La Porte, Starke, Marshall, and St Joseph (IN) counties saw the most damage with wind gusts of up to 75 mph. This system rapidly weakened as it moved into north central Indiana, with wind damage reports becoming much more sporadic. In addition to the severe weather, repeated heavy rainfall over the same areas caused flash flooding.

The MCS that moved from eastern Iowa to northern Indiana today has been preliminarily confirmed as a derecho. Based on the preliminary information thus far it began around 12Z [7 am CDT] this morning and continued to at least 1725 UTC [10:25 CDT] (although will be evaluated later if the continuation to near Cincinnati may be included). The maximum measured gust received thus far was 86 kts (99 mph) in Gary, Indiana. Just a reminder that official 2026 derechos will be confirmed in 2027 once 2026 storm data has been finalized, but events such as this where we feel confident to confirm it as a preliminary derecho will likely have no problem maintaining the objective criteria once final storm data is released.

Gary may have recorded a 160 km/h gust but they didn't send the data to Asheville. Aurora, Ill., also stopped transmitting weather data immediately after recording a 137 km/h gust.

Even as these areas are putting the pieces back together from yesterday, look what's about to hit us this morning:

Joliet, Ill., weather radar 2026-08-12 9:28 CDT

It's so bad this year that Illinois could soon break the record for the most tornadoes in any state in a single year:

In the coming days, the National Weather Service will survey the damage and confirm how many tornadoes were seen Tuesday in Illinois. Each confirmed tornado will add to the growing total in the state, which shattered its yearly record over six weeks ago.

If Illinois continues this stormy trend, it may not only add to its state record but perhaps break a nationwide record for the total number of tornadoes in one state in any single year — 232 tornados in Texas in 2015 and 1967.

“There’s no question that we’re getting warmer,” [WGN-TV meteorologist Bill] Snyder said. “Gulf of Mexico temperatures continue to escalate. That sends more water vapor into the atmosphere. Our warmer winters in Chicago lead to a very active spring.”

Fun times, fun times...

Update, 11:03 am: This morning's line of storms missed my part of the city by a comfortable margin, and looked really cool doing so:

Storms pass my apartment 2026-08-12 10:45 am

I'm just far enough north that we didn't get the worst of the derecho tearing through the area:

Joliet, Ill. radar 2026-08-20 11:08 CDT

I may post a photo or two later. Being 27 floors up and in the lee of a large building helps a bit.

We've gotten a lot of storms like this recently. I wonder if all the extra heat in the atmosphere might have something to do with it?

I posted on Friday that I planned to make pasta sauce over the weekend, and in fact I did. This also gave me a chance to play with Claude AI a bit more. Now, it's well known that some older LLMs sucked at basic math. Anthropic seems to have solved that, as I've seen when I've run other queries. What does this have to do with pasta sauce? Well, you need math if you're going to make nutrition labels from an ingredient list:

Daily Parker Sunday Sauce

Nutrition facts

Servings per recipe: ~14–15 (250 mL containers)
Serving size: 250 mL (1 container)

Calories: 294

% Daily Value*
Total Fat 16.4 g 21%
Saturated Fat 6.6 g 33%
Trans Fat 0 g
Cholesterol ~55 mg 18%
Sodium 680 mg 30%
Total Carbohydrate 18.2 g 7%
Dietary Fiber 3.6 g 13%
otal Sugars 8.6 g
Includes 0 g Added Sugars** 0%
Protein 15.8 g 32%

*The % Daily Value tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
**Cane sugar (~1.4 g/serving) is technically "added sugar," but is below the labeling threshold for a separate declared line at this serving size.

And for the Europeans out there:

Nutrition Information / Valeurs nutritionnelles

Per 100 mL | Per 250 mL serving

Per 100 mL Per 250 mL (1 serving)
Energy 492 kJ / 118 kcal 1,230 kJ / 294 kcal
Fat 6.6 g 16.4 g
of which saturates 2.6 g 6.6 g
Carbohydrate 7.3 g 18.2 g
of which sugars 3.4 g 8.6 g
Fibre 1.4 g 3.6 g
Protein 6.3 g 15.8 g
Salt 0.68 g 1.7 g

Servings per container: 1 (250 mL container = 1 serving)

Very nutritious! And accurate, I think. The math I checked maths just fine.

One of the Air Force Thunderbirds has been tooling around Chicago this morning, preparing for this weekend's Air & Water Show. He passed right by my window doing almost 350 knots, and I had my 300 mm lens ready:

USAF Thunderbird flies by my window

USAF Thunderbird flies by my window

It looks like he flew back to Gary after his practice run:

USAF Thunderbird track 2026-08-10 11:50 am

My dog and I had a pretty good day yesterday. I took her to the dog beach, giving her the opportunity to bogart everyone else's balls:

She basically just cavorted, gamboled, and porpoised for half an hour while I looked for stray balls to toss to her:

Cassie at the dog beach, 8 August 2026

Her friend Butters met us at the beach and came with us to The Dock, where the dogs shared a dog burger.

Later, I met a couple of other friends at Pritzker Pavilion to hear Mozart's Requiem:

Pritzker Pavilion, 8 August 2026, 9pm

We don't get too many days like that in Chicago. Sadly, today will not be one of them, but we'll brave the ridiculous humidity to get at least an hour-long walk between the waves of thunderstorms. And today, I'll remember to bring her treats.

Welp, there it goes. The sun just set after 8 pm here in Chicago for the last time until next May. It's at this point every summer that we start to realize how close we are to autumn. In just 20 days, the sun will set before 7:30; and just 18 days later, before 7.

I only wish that the end of corn sweat season were as predictable.

Instead of attending the Grant Park Music Festival's performance of Mozart's Requiem last night, I went to Rate Field to see the White Sox lose to the Cleveland Guardians, 8-2. Other than the humidity, it was a really good night to do either:

Rate Field 7 August 2026

It turns out, however, that GPMF has a second performance this evening, and some of my musician friends who couldn't go last night want to go tonight. I'm also excited because this is the Robert Levin edition from 1993. Levin preserved the structure of Franz Süssmayr's iffy 1792 completion but still used Mozart's "Amen" fugue at the end of the Sequenz.

It turns out, I have heard the Levin completion at the Grant Park Music Festival before, 20 years ago. This time, however, there will be no Tibetan throat singing to interrupt Mozart's music.

Earlier posts

Copyright ©2026 Inner Drive Technology. Privacy. Donate!