The Daily Parker

Politics, Weather, Photography, and the Dog

Yes, he's certifiably demented

It wouldn't be a day ending in "y" without people looking at some stupid thing the OAFPOTUS said and asking "why?" Or, you know, lots of people:

Finally, not that I complain about the weather enough already, but just look at the cold front that came through yesterday around 7:30pm:

I got caught outside wearing just a sweater and was quite unhappy. As in every March, we just want warmer weather already. Like, you know, yesterday afternoon.

Busy day, so let's line up some links

Stuff to read:

Finally, thanks to reduced funding and deferred maintenance, the Chicago El has seen slow zones balloon from 13% of its tracks to 30% since 2019. Fully 70% of the Forest Park branch has reduced speed limits, making the trip from there to downtown take over an hour. But sure, let's  keep funding below the minimum needed to function, and keep the CTA, Metra, and Pace all separate so they can each fail in their own ways.

Beavering away on a cool spring morning

After our gorgeous weather Sunday and Monday, yesterday's cool-down disappointed me a bit. But we have clear-ish skies and lots of sun, which apparently will persist until Friday night. I'm also pleased to report that we will probably have a good view of tomorrow night's eclipse, which should be spectacular. I'll even plan to get up at 1:30 to see totality.

Elsewhere in the world, the OAFPOTUS continues to explore the outer limits of stupidity (or is it frontotemporal dementia?):

  • No one has any idea what the OAFPOTUS's economic plan is, though Republicans seem loath to admit that's because he hasn't got one.
  • Canada and the EU, our closest friends in the world since the 1940s, have gotten a bit angry with us lately. Can't think why.
  • Paul Krugman frets that while he "always considered, say, Mitch McConnell a malign influence on America, while I described Paul Ryan as a flimflam man, I never questioned their sanity... But I don’t see how you can look at recent statements by Donald Trump and Elon Musk without concluding that both men have lost their grip on reality."
  • On the same theme, Bret Stephens laments that "Democracy dies in dumbness."
  • ProPublica describes a horrifying recording of Acting Social Security Commissioner Leland Dudek's meeting with senior SSA officials last week in which he demonstrated why the OAFPOTUS pulled him from a terminal job as "the ultimate faceless bureaucrat" to head the agency. (Some people have greatness thrust upon 'em?)
  • Molly White sees "no public good" for a "strategic bitcoin reserve," but is too polite to call the idea a load of thieving horseshit.
  • Author John Scalzi threads the needle on boycotting billionaires.
  • Writing for StreetsBlog Chicago, Steven Vance argues that since the city has granted parking relief to almost every new development in the past few years, why not just get rid of parking minimums altogether?

Finally, in a recent interview with Monica Lewinsky, Molly Ringwald said that John Hughes got the idea for Pretty in Pink while out with her and her Sixteen Candles co-stars at Chicago's fabled Kingston Mines. Cool.

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.

Making Russia great again

This quote from Kremlin spokesman Dmitry Peskov sums up the last six weeks: "The new administration is rapidly changing all foreign policy configurations. This largely aligns with our vision."

Or, as Dana Milbank wrote this morning, the OAFPOTUS has taken less than a week to set the country back 100 years:

Armed with a portfolio of fabricated statistics, Trump judged that “the first month of our presidency is the most successful in the history of our nation — and what makes it even more impressive is that you know who No. 2 is? George Washington.

Usually, such talk from Trump is just bravado. But let us give credit where it is due: Trump has made history. In fact, it’s not much of an exaggeration to say that, over the course of the last five days, he has set the United States back 100 years.

Trump on Monday implemented the largest tariff increase since 1930, abruptly reversing an era of liberalized trade that has prevailed since the end of the Second World War. He launched this trade war just three days after dealing an equally severe blow to the postwar security order that has maintained prosperity and freedom for 80 years. Trump’s ambush of Ukrainian President Volodymyr Zelensky in the Oval Office, followed by the cessation of U.S. military aid to the outgunned ally, has left allies reeling and Moscow exulting.

And our erstwhile friends? “The United States launched a trade war against Canada, its closest partner and ally, their closest friend,” Canadian Prime Minister Justin Trudeau said on Tuesday. “At the same time, they’re talking about working positively with Russia, appeasing Vladimir Putin: a lying, murderous dictator. Make that make sense.”

The Dow Jones Industrial Average shed more than 1,300 points. Inflation forecasts are increasing (the free-trading Peterson Institute says Trump’s tariffs will cost the typical American household $1,200 per year). Retailers such as Target and Best Buy are warning about higher prices. The Atlanta Fed’s model of real GDP growth, which a month ago saw 2.3 percent growth in the first quarter, now sees a contraction in the first quarter of 2.8 percent.

Russia almost doesn't matter anymore, and wouldn't at all if it didn't have 3,000 nuclear weapons. Yet here we are, taking our victory lap after defeating Stalinism, by giving Putin everything he ever wanted.

Today's OAFPOTUS corruption watch

It's entirely possible that I will have something to post about the OAFPOTUS's self-dealing almost every one of the next 1,417 days. One hopes not, however. I mean, we only have 608 more days until the next election!

Jeff Maurer starts today's update with his take on the laughable proposal for the United States Government to buy cryptocurrency:

The president wants to spend taxpayer dollars to buy fake non-money that Twitch streamers use to buy drugs. And he’s not limiting the government to the less-laughable cryptocurrencies, like Bitcoin — if Bitcoin is Coca-Cola, Trump wants to also buy Jittery Jimmy’s High-Fructose Fizz Drink. Trump has mused that buying cryptocurrency could get the government out of debt, which sounds like the plan a degenerate gambler makes right before his body turns up in a New Jersey landfill.

This plan clearly benefits someone — the value of the cryptocurrencies Trump mentioned spiked after the announcement — but because cryptocurrencies are anonymous, we don’t know who got rich. It could be donors, foreign interests, or Trump family members — the only thing we know is that it was somebody terrible. Plus, someone placed a highly leveraged $200 million purchase right before Trump’s announcement, so there’s probably an old-timey insider trading scam happening alongside this Digital Age scam-of-the-future.

Another likely beneficiary is the guy who told Trump to do this: David Sacks. You may know Sacks as the ardent Trump backer and frequent repeater of Kremlin talking points whom Trump named as his “Crypto Czar”, with the “Czar” part really making sense given Sacks’ beliefs. Sacks says that he sold all of his cryptocurrency before Trump took office, but we can’t verify that, because crypto is anonymous. We do know that Sacks’ venture capital firm — the stake in which Sacks has not said that he sold — invests in a crypto fund whose top five holdings are exactly the five cryptocurrencies that Trump wants the government to buy. Sacks is a really lucky dude! It’s like if I was named Blog Czar and then got the government to buy a billion I Might Be Wrong subscriptions, and to be clear: President Trump, that offer is very much on the table.

Molly White also has a few things to say on the subject, with less satire and more technical expertise.

Given the raging corruption coming from the top of the party, is it any surprise that US Senator Joni Ernst (R-IA) has cozy relationships with the military contractors her committee regulates?

Meanwhile...

Finally, I was pleased to see that Amazon and MGM Studios have started development of a TV series based on the first novel in Iain M Banks' Culture series, Consider Phlebas. It's a fun novel, and a good introduction to the series—which makes sense as it's the first one he wrote. I hope it gets to production.

More Weather Now improvements

Weather Now v5.0.9194 just hit the hardware, with a new feature that allows you to browse the Gazetteer by finding all the places near a point. (Registration required.) I also added a couple of admin features that I will propagate to every other app I have in production, and made a few minor bug fixes.

Only one minor hiccup: I forgot to add a spatial index to the Gazetteer, which caused searches around a point to take minutes instead of seconds in production. I added the index to the database definition, and after about an hour it had indexed all 15 million locations in the database. So the Nearby Places feature should work perfectly now.

This is one of those things you don't notice in a dev-test environment. The dev-test database only has about 200,000 records in it, so even without the index it only took a moment to find all the places around a point. Nothing like testing in production to find a huge performance miss!

Fun Gazetteer facts

I meant to add this earlier today, but I had to do some work for my real job.

Uploading 15.4 million place records into Weather Now revealed some unexpected statistics. As you might expect from a military website, the National Geospatial-Intelligence Agency got a lot of its data from military sources. And the military tends to map things they care about in great detail. So the top 10 countries by place counts turn out to be:

  1. China, 2.1 million
  2. United States, 1.1 million
  3. Russia, 857,000
  4. Iran, 686,000
  5. Indonesia, 543,000
  6. Thailand, 530,000
  7. Finland, 495,000
  8. Mexico, 490,000
  9. Republic of Korea, 346,000
  10. Afghanistan, 343,000

The top 5 states by USGS place count might surprise you, too:

  1. California, 52,700
  2. Texas, 43,300
  3. Oregon, 36,800
  4. Tennessee, 33,400
  5. Arkansas, 29,800

Florida, New York, Pennsylvania, and Illinois, the 3rd through 6th most populous states, come in at 19th, 11th, 8th, and 33rd, respectively. I have no idea why.

And the smallest places? All of these NGIA files had fewer than 8 locations—probably because they contain places that are really part of some other country:

  1. Dramana and Shakhatoe, 1
  2. Kalapani, 1
  3. Minerva Reefs, 1
  4. Conejo Island, 2
  5. Geyser Reef, 2
  6. Hans Island, 2
  7. Siachen, 2

I honestly don't know why NGIA puts those places in their own files. I'll correct them eventually.

If you want to have a bit of fun, try searching for places you know and see what weather is closest.

Almost everywhere in the world

Late Tuesday night, Weather Now finished importing and indexing 15,430,045 places from around the world, ending with Mutirikwi Dam, Masvingo, Zimbabwe at 9:29 pm CST. (I need to re-import about 11,000 records for places that don't belong to any particular country, but that's low-priority.)

When I first built the Weather Now Gazetteer in July 2002, I only imported populated places, because database space was a lot more expensive then. So from 2002 until the v5 upgrade launched 3 years ago, the Gazetteer had about 7.5 million records and lived in a relational SQL database that migrated to the Cloud in 2013.

This time, I imported every scrap of geographic data I could find in the US, which added 8 million more. And starting later this year, I'll automate updates, particularly from sources that change frequently like the National Geospatial-Intelligence Agency and the Federal Aviation Administration. I may import other databases later on, but for now, I think we're good.

Pricing for Cosmos DB works differently than it used to for SQL Server. Weather Now v4 (2013-2022) used an Azure SQL DB size that cost $10 per month. That gave me up to 10 GB of relational storage for everything, which is why all the weather data moved to really inexpensive flat storage (Azure Tables) that cost about 4.5c per GB per month. When Weather Now lived on-premises through 2013, the Gazetteer and weather data took up about 50 GB (25 GB for the Gazetteer and 25 GB for the first 11 years of weather data), but it cost nothing except electricity—$100 a month of electricity, in fact.

With Cosmos DB, I pay for database transactions, called Request Units, plus a small fee of 25c per GB per month for storage. It gets a little complicated, but basically, the biggest expense for the database is the import, which cost about $75. Going forward, the biggest database expense will be the search service, which costs $2.42 per day. Storing 20 years of weather data costs $1.65 per day. Of course, the application service hosting Weather Now runs $3.60 a day, so it does all add up.

Because the daily cost summary takes a full UTC day to update, I don't have the new run rate for the application yet. When that comes out tonight, I may have to look into ways to defray the cost of the app, whether by voluntary donations or *gulp* advertising.

Incidentally, The Daily Parker costs $4.87 per day ($3.60 for the app service, 79c for storage, and 48c for the database. Now that Weather Now is pretty much where I want it, my next project will be to write a new blog engine and port this app to something that will cost about half that. So be on the lookout for a tip jar on this app as well.

Still chugging along

The Weather Now gazetteer import has gotten to the Ps (Pakistan) with 11,445,567 places imported and 10,890,186 indexed. (The indexer runs every three hours.) I'll have a bunch of statistics about the database when the import finishes, probably later tonight or tomorrow morning at the latest. I'm especially pleased with the import software I wrote, and with Azure Cosmos DB. They're churning through batches of about 30 files at a time and importing places at around 10,000 per minute.

Meanwhile, in the rest of the world:

Finally, in February 1852, a man calling himself David Kennison died in Chicago. He had clamed to be 115 years old, participated in the Boston Tea Party, and hobnobbed with the great and good in the early days of the Republic. And in the proud tradition of people giving undue acclaim to total charlatans, the entire city turned out for his funeral—173 years ago yesterday.