The Daily Parker

Politics, Weather, Photography, and the Dog

Strolling in the Nashville sun

Having the morning free, and having a lot of cool air and sun, I took a quick stroll around Nashville. I'll have more later, but for now, here's the Tennessee State Capitol, apparently under construction:

Of course, since the Tennessee General Assembly has a well-Gerrymandered 75-24 Republican majority, I would expect they're actually deconstructing the Capitol. But whatever.

I also passed by Riverfront Station, the downtown terminus of Nashville's adorable little 6-times-a-day toy commuter train:

It may be a really sad attempt to have real public transportation, but it's also a train station, meaning there are Brews & Choos-qualified breweries right by my hotel. I'm planning to visit one today. You'll have to wait until at least Friday for the reviews, though. And also for better photo editing.

Mixed bag flying on Sunday

Business travel on Sunday evening brings some good, some not so good. For starters, I got from the curb through security to the terminal in 12 minutes, because there aren't a lot of business travelers. On the other hand, getting to the G Concourse lounge involved a lot of near-collisions as the leisure travelers shuffled around without looking where they were going.

I'm impressed with what they've done to the lounge, though. I haven't been in G Concourse since August 2016, so I was pleasantly surprised.

Next report from Tennessee.

New Weather Now update

I've added a bunch of small but useful features to Weather Now:

  • Users can now set their preferred measurement system (metric, Imperial, default) and time/date formats.
  • On Nearby Weather and Nearby Places, users can double-click the map to re-center and load new info.
  • Moved the Weather Score column on lists to increase usability.
  • Tweaked the Weather Score formula.
  • Several other bug fixes and feature tweaks.

So if you set up a profile, which you can do simply by logging in with any Microsoft ID, you can customize the app in a bunch of ways. (There's no cost, but I'd appreciate it if you'd subscribe on Patreon.)

Have fun with it. I'm probably going to slow down on Weather Now updates for a bit as I change focus to replacing BlogEngine.NET.

In just a few hours, though, I'm going to a work conference in Nashville, Tenn., where I will have the opportunity to visit at least three breweries. Stay tuned!

Fere libenter homines id quod volunt credunt

The Post's Monica Hesse watched the entire first season of "The Apprentice," now streaming on Amazon. Pray you never have to do this:

A refresher, since it’s been awhile since “The Apprentice” debuted in 2004. The show was a competition in which the prize was a vague job at the Trump Organization.

Upon this viewing, what surprised me the most is how much this show primed the country to think of Trump as imperial. I cannot stress this enough. Fanfares play when he enters the room. Contestants grovel for his attention. His properties, business deals and business acumen are all touted as “the best” and nobody fact-checks any of this.

But there were signs, I’m telling you. Bad signs....

Like Sam. There is a contestant named Sam, and he is terrible — he falls asleep in the middle of one challenge — and for two straight episodes everyone who works with him tells Trump that he is terrible and needs to be fired. But Sam talks a good suck-uppy game and he looks the part, so Trump keeps letting him stay, and anyway 21 years later Pete Hegseth is our defense secretary.

Or Omarosa. As soon as Sam is gone, Omarosa emerges as the next conniving, two-faced villain, single-handedly torpedoing her team’s success in multiple challenges. This time Trump sees it, too, but does he fire her? No. He fires the people he thought should have stood up to her better. Malevolence isn’t a sin, only weakness, and so here we are today watching Trump and JD Vance push around the Ukrainian president instead of the Ukrainian president’s bully.

“The Apprentice” was corporate cosplay, with decisions made based on what would play well with an audience rather than what would do best in a workplace.

Is there any reason, now, for DOGE to set completely arbitrary and legally contested deadlines for millions of federal workers to decide whether to quit their jobs? Any reason for Trump to fire the board of trustees of the Kennedy Center and appoint himself chair? Any reason for the United States to buy Greenland, which is not for sale, or annex Canada, which is not interested?

It’s government cosplay....

I've said it often: having spent the late 1980s and much of the '90s in New York, I have always considered the OAFPOTUS to be a boorish clown with horrible business skills and a schtick I found grating. It turns out, nothing has really changed except his platform.

Got Brews & Choos down to a science

Yesterday was the 5th anniversary of the Brews & Choos Project's high-water mark before the pandemic. On 7 March 2020, I went farther than I'd ever gone before in search of breweries to add to the list, visiting Penrose and Stockholm's in Geneva, then More and Lunar in Villa Park on the way back. A few days later the world stopped for a while. It would be almost three months before I visited another brewery.

Yesterday, I took a half-day of PTO, braved some crappy early-spring weather, and met up with my Brews & Choos buddy at a relatively new place in the Pilsen neighborhood of Chicago. We managed to visit five South Side breweries, and—here's the science part—consumed no more than 3 pints of beer over 5 hours. It was a marathon, not a sprint, after all.

In any event, I've got a lot of photos to go through and a lot of reviews to write, so look for them to come out over the next few days.

And hey, if you want to see more Brews & Choos reviews, contribute to The Daily Parker! Your $5 contribution keeps the site running for a day—or buys a tasing-size beer.

Another reason to contribute: I've started re-developing The Daily Parker's code from scratch. I changed direction slightly on an existing project to make it a blog on steroids, and I think it'll be super-cool when complete. So how about throwing in another $5 a month to support that, too?

Another day, another OAFPOTUS grift

I want to start with a speech on the floor of the French Senate three days ago, in which Claude Malhuret (LIRT-Allier) had this to say about the OAFPOTUS:

Washington has become the court of Nero, an incendiary emperor, submissive courtiers, and a jester high on ketamine in charge of purging the civil service.

This is a tragedy for the free world, but it is first and foremost a tragedy for the United States. Trump’s message is that there is no point in being his ally since he will not defend you, he will impose higher tariffs on you than on his enemies and will threaten to seize your territories while supporting the dictatorships that invade you.

I have faith in the strength of American democracy, and the country is already protesting. But in one month, Trump has done more harm to America than in four years of his last presidency. We were at war with a dictator, now we are fighting a dictator backed by a traitor.

Malheureusement, il a bien raison. And his speech is worth reading (or hearing, si vous parlez français bien).

But that isn't all that happened in the last day or so. No, every day brings new revelations of stupidity and corruption in the new administration:

And now I will take a half-day of PTO and explore four new breweries in Bridgeport and Pilsen. If only the weather had cooperated.

Support The Daily Parker on Patreon

As threatened promised, I'm starting to beg for money to help support The Daily Parker and Weather Now. You can go to Patreon and sign up to help us, with special member benefits as you contribute more.

The Daily Parker costs about $5 a day to run (though I hope to reduce that significantly this fall), and Weather Now costs another $10. They're not entirely labors of love, as I have used Weather Now as a demo project to land new work. But after more than five years with the same full-time employer, those days might be behind me—even though the weather never stops.

So, hey, buy me a coffee. I'll put your name in lights!

Wow, this totally bites

I got some bad news this morning: my dentist, John C McArthur, announced his retirement as of March 17th.

I started going to Dr McArthur in 1974. In fact, I was one of his first patients after he took over the practice from his father—who was, in turn, the dentist my mother, uncle, and grandparents started going to in 1958. So my family has a long, long history going to his Hubbard Woods office. I mean, 13 presidents long. I'm going to miss going up there.

Moreover, I have never had a cavity. So I would say he had some skills. (Of course, as he would point out, I had good genes, good habits, and fluoridated water, which may have helped.) Going to the dentist has never caused me any anxiety, so I've never really understood why other people dread it.

I mean, I've never gone to a different dentist. I've never even thought about it. What do I ask them? "How many of your patients have you kept free of cavities for 50 years?" I hope his office has a good referral.

Obviously, I knew this day would come. I figured he'd retire during the pandemic, but he kept going, for which I'm grateful. I wish him a long and happy retirement.

Reading while the world compiles

One of my work projects has a monthly release these days, so right now I'm watching a DevOps pipeline run through about 400 time-consuming integration tests before I release this month's update. That gives me some time to catch up on all this:

The New York Times has a long explanation of how the Clown Prince of X took over the federal bureaucracy.

All right, the build has finished, so I can now deploy. And for no reason other than I like it, here is a photo of Cassie watching TV with me last night:

Why The Daily Parker costs so much

A longtime Daily Parker reader asked this about yesterday's post:

"The Daily Parker costs $4.87 per day" -- I'm really hoping that's a misprint, because that's almost $150 a month, which is ten times what I pay for my web hosting package which comes with unlimited domains, a full email service (IMAP+SMTP over TLS), click-to-install WordPress and MySQL database creation, SSH access to the back-end Linux machine, and excellent customer support.

Also -- and I *really* hate to say this to a fellow IT professional -- your web site often seems rather slow. So much so that I'd built a mental image of it running on an old PC in a corner of your apartment, and I'd put the slow response times down to the latency of a hard disk spinning up from idle.

So, he's not wrong: The Daily Parker right now is slow and buggy. And expensive*. (Ironically, when it was literally running on a PC in the corner of my apartment prior to 2013, it ran like Jesse Owens.)

Sherman, set the Wayback Machine to October 2015, when I deployed the current version of this blog. From the blog's separation from braverman.org in 2005 until 2015, it ran on DasBlog, a .NET 1.1 blog engine that worked most of the time and had a few features I liked. I dragged it kicking and screaming up to .NET 2.0 and later .NET 4.0, and there it stayed.

After 10 years and dozens of tweaks, I decided to modernize by moving to BlogEngine.NET, which I also forked and modified. This engine runs on .NET 4.8, which I had to shoehorn into an Azure App Service when Cloud Services went away a couple of years ago. BlogEngine.NET had modest performance problems when it had a nice virtual machine all to itself, as Cloud Services weren't too different from on-premises hardware. But Azure App Services don't quite work the same way, such that many of the performance optimizations in the BlogEngine.NET code actually cause performance headaches in App Services. For example, at app start, the engine loads the entire blog history into memory, because in 2007, when the project began, memory was fast and disks were slow. (NB: The Daily Parker has over 9,700 posts spanning 27 years.) Also, the code runs entirely synchronously, so under load it spins up more and more threads until it just collapses from exhaustion.

So here we are: running a very old blog engine on a nearing-end-of-life version of .NET that everyone is tired of.

But, aha! There is a solution, which I've been kicking around for almost as long as I've had a blog, and which I finally have the skills and time to work on. I'll simply build my own. It'll be idiosyncratic, sure, but it'll be fast and it'll be cool.

Or maybe I'll go back to DasBlog, now that someone has rebuilt it in .NET Core.

Nah. I'm going to write my own. Target date: October 15th, ten years after I released this version.

* It's actually now around $3.34 per day after a Microsoft Azure pricing change on February 12th which just showed up in the cost management tool today. The costs break down as follows: App Service type B2, $2.49; storage (media and event log), 52¢; database (serverless type B), 33¢. So, around $100 per month.