Yesterday’s Putsch in Russia

Published at 20:11 on 24 June 2023

It looks like Putin has survived it… for now.

And that latter phrase is crucial. Before yesterday, Putin’s power was unquestioned. Nobody dared cross him. Not if they wanted to keep on living, that is.

Now, somebody has crossed him… and Putin was compelled to cut a deal to resolve the situation. Putin is no longer the undisputed master of events in Russia. He has been shown to be weak, shown to be vulnerable.

As such, I would be surprised if Putin lasts much longer than another year.

Garmin Drivesmart 66: Pure Crap

Published at 17:25 on 24 June 2023

Last year, I decided to treat myself to a new automotive GPS system for my truck. You see, I sometimes like to explore forest service roads in backcountry areas that lack cell coverage, making smartphone maps mostly useless. I decided to buy a Garmin unit, since that is a name brand, and I have one of their hiking GPS units and it works just fine. So I assumed that Garmin’s automotive GPS units would also be well-designed. Boy, was I wrong! To reiterate the subject of this post: the thing is pure crap. It cannot honestly be described any other way.

Let me enumerate the ways in which it is crap:

  1. Crap software design. If you pair the GPS with your smartphone (which you must, if you want to receive real-time traffic updates for driving in the city), it turns on this cheesy key-click feature, in which the GPS speaker will make a loud click for each keystroke you enter on the smart phone. The rub is, the click will be randomly delayed due to the use of Bluetooth pairing by anywhere from 100 ms to a full second. Just try typing with such a misfeature, I dare you. It is extremely disorienting, and makes accurate typing virtually impossible. And there is no way to disable this crap misfeature. I spent several hours trying to, reading the manual, exploring all the settings, doing web searches. There is no escape. The only way to turn it off seems to be to unpair your phone.
  2. Crap real-time traffic information. Speaking of the real-time traffic updates, they are crap. In my experience they report less than half of significant delays. Because the device is unaware of so many instances of traffic congestion, its navigation advice in the city is also crap. Plus the chosen way Garmin indicates traffic congestion on its map is subtle and easy to miss.
  3. Crap software quality. The GPS often hangs or crashes at random times. When this happens, it takes about five minutes to recover. Typically this happens when I am running late and most need everything to work properly.
  4. Crap backup camera. I decided to spring for the optional backup camera, because my truck is old enough not to have one from the factory. About as much of a mistake as buying the GPS itself. It’s crap, too. The camera takes up to a full minute to turn on when requested. Video is frequently laggy and erratic. My old cheapo analog wired backup camera was vastly better.
  5. Crap maps. First, the maps are a good two years or more out of date from the moment you download them. A new road opened two years ago near my property in Bellingham. Its presence changed the optimal way to get there from I-5. Two years on, and the new stretch of road is still not in the latest update from Garmin. Second, the maps are woefully incomplete. The device is essentially useless for its intended purpose of navigating on remote forest service roads; most of them are not in its database.
  6. Crap hardware design. The Drivesmart 66 spews radio noise like mad on the lower radio frequencies. Use it while listening to an AM radio station? Forget it! This is extremely annoying, as the same remote areas without cell coverage (i.e. the areas that prompted me to get this unit) also tend to lack FM radio coverage, while stronger AM stations still manage to cover such areas, due to how the longer radio waves used in the AM broadcast band propagate. So even if it was useful in the backwoods (and it is not) I would still have to choose between being able to listen to the radio and having GPS guidance.

My assumption is that these misfeatures are also present in most or all newer Garmin automotive models. Because why wouldn’t they be? It’s only logical to use a common software base in all products, and a manufacturer inclined to cut corners when it comes to RF noise shielding in one device is probably going to cut them in all their devices.

Bottom line is that I cannot recommend any currently-manufactured Garmin automotive GPS units. Avoid them all.

Neurotypicals, Sigh

Published at 17:33 on 22 June 2023

I am somewhere on the autism spectrum, and one thing I find difficult about neurotypicals is how they so often experience extreme difficulty using language to communicate, via words and their assigned meanings.

Like with my toothache recently. It was bad enough that I was reasonably sure that it was abscessed to the point of no return and that the f*cker needed to be extracted. But noooooo, the endodontist couldn’t say that. Instead, he has to write up a report to send to my regular dentist, who then can’t say it either. No, I have to schedule an appointment, face to face of course, so she can break it to me. And she spends about fifteen minutes doing so. Most of those fifteen minutes are filled with statistics about root canals that don’t apply to my particular situation. Eventually she gets to the point: the endodontist’s report said that options were not good for any restoration procedure.

End result: I learn what I had already expected some time ago.

What was I supposed to do? Cry over it? It’s dead, it’s infected, we need to do what one always does with dead infected things in one’s body: remove them. Just tell me it needs to be removed, so I can get it removed sooner rather than later. Is that so hard?

Oh well, at least I know now. And thankfully the really hurty phase of it ended three weeks ago, so it is not as if I was in any undue pain from the experience. But it sure would have been nice to know the truth sooner and with less fuss.

Was India Involved?

Published at 07:21 on 20 June 2023

That is my question: Was the current right-wing Hindu nationalist (read Hindu supremacist) government in India in any way involved in this and other similar crimes in Canada? I am not saying they definitively were, mind you, just that they might have been (such things are entirely in character for such a regime), and the possibility needs to be seriously investigated.

Looks Like Many Centrists Get It

Published at 22:52 on 15 June 2023

I worried earlier about the threat of petulant centrists helping elect Trump in 2024. Now, this is still a worry (No Labels is still around, after all), but it seems that many other centrists are being realistic about things and appreciate how truly dangerous No Labels really is. Take the canonical centrist Democrat group Third Way, for example. Fully three of the four articles currently featured above the fold on their main page are about the dangers of No Labels.

Which, to reiterate, is definitely good news, but then again No Labels is still around, which is not-so-good news.

And Now, Federal Charges

Published at 20:17 on 8 June 2023

Time to reiterate a few points I made earlier in the wake of the New York indictment:

  • This is still not one of the two most serious things Trump did, crimes that strike at the heart of political democracy, and which therefore are the most critical things to indict Trump over. Yes, mishandling so many classified documents (willingly and deliberately, and then trying to cover it up) is more serious than trying to cover up some hush money payments to a porn star. But it is still not as serious as attempting to tamper with vote counting in Georgia or inciting a fascist putsch at the Capitol, not by a long shot.
  • The pending indictment breaks another precedent. An ex-president will soon be indicted over Federal charges. This proves that the Department of Justice is not pulling levers behind the scenes to protect Trump. Well, not quite: I am sure they are still pulling levers behind the scenes, but not enough to completely protect Trump.
  • They would, in other words, have indicted anyone other than an ex-president far sooner, over far less convincing evidence.
  • Moreover, the broken precedents makes it more likely that another indictment over what happened on 6 January 2021 will come eventually.

What this all means is that when it comes to a trial, they are highly likely to convict, because they have already done Trump the favor of being double super sure that the case against him is ironclad.

And then what? Most likely, house arrest. Sorry, Nice Liberals: the system is not very likely to lock up someone that powerful in a normal prison. Plus, house arrest neatly solves the problem of Secret Service protection, to which all ex-presidents are entitled under the law. It will probably become part of their mission to supervise the conditions of his house arrest, perhaps in conjunction with Federal marshals.

This Is Mostly Crap

Published at 22:02 on 1 June 2023

This is how a member of the center-right might want to see Florida politics, because it lets him play pin the blame on the liberals, but it really doesn’t explain what happened very well.

The Florida Democrats already tried the hardcore centrist strategy. In 2022, in fact. And we all know how well that worked out. Charlie Crist, their candidate for governor, had previously served as the Republican governor of Florida.

The Florida Democrats fail, not because they tack to the right or to the left, but simply because they are grossly incompetent as an organization.

I have told this story before, and I will now tell it again: I have done some volunteer work for the Florida Democrats. It entailed making get-out-the-vote calls. They gave me a spiel to use which had been invalidated by recent news stories. I contacted them for an updated spiel. They had none. I had to spend the first thirty minutes of my shift coming up with a spiel on my own. This is just about the absolute last thing you want your volunteers to do. You want to put out a unified, coherent message!

And it gets worse. The list they gave me was out of date as well. I called people who had already voted early or absentee. I called people exasperated because they had requested to be on the do not call list, some of them multiple times. This is very basic stuff. If someone tells you to stop calling them, you honor their request. You do not want to piss people off by continuing to call them!

Florida could be a competitive swing state today, as it once was not too long ago, were only the Florida Democrats capable of campaigning their way out of a wet paper bag.

More Drone Attacks in Russia

Published at 07:53 on 31 May 2023

The Russians call it “terrorism,” of course. And, guess what? They are right! By pretty much any measure, such things are terrorism.

They are also totally to be expected in a wartime situation. During World War II, there were routine acts of terrorism in the belligerent nations. Often, their enemy nations were involved in some fashion.

War is unpredictable. Always has been, probably always will be. Putin was supremely foolish to believe that something as high risk (and as much a stretch strategically) as attempting to invade and subjugate all of Ukraine would go smoothly, according to plan, and expose the Russian heartland to only minimal risk.

So far as this undermining support for the war in Russia, probably not, sorry. Hitler thought the Blitz would do that to the United Kingdom, and it had precisely the opposite effect, despite imposing much more hardship and danger on the British public than the few insignificant pinpricks that we have seen so far against Russia. Putin’s line has after all long been that this whole “special military operation” is about Russia’s security, and now that Russia is getting attacked well inside its borders, this whole “we are fighting because our security is in danger” line now has more traction.

What it will do is boost morale inside Ukraine even more. It is always good news when a war goes far worse for one’s enemy than that enemy ever believed possible.

But yes, it’s all quite ugly. News flash: war itself is ugly. Don’t like the ugliness of war? Don’t start one! If you have started one, stop it! Putin could totally kneecap Ukraine’s causus belli by negotiating a ceasefire and withdrawing back across Russia’s internationally recognized borders.

Until that happens, however, as Garrison Keillor once quipped: “If you didn’t want to go to St. Cloud, then why did you get on that train?”

Turkish Elections

Published at 21:50 on 30 May 2023

The guy the West wanted to win, Kılıçdaroğlu, lost. Erdoğan, Turkey’s longstanding president with an authoritarian streak, won yet another term in office.

But here’s the thing. Kılıçdaroğlu sounded positively Trump-like in his non-concession “concession” speech, going on as he did about how the election had been stolen from him. And his anti-refugee stance (he promised to summarily expel all refugees from the country) also comes across as more than a little bit Trump-like.

In other words, it really doesn’t look like the narrative in the Western media of a brave liberal democrat challenging an evil entrenched authoritarian is all that accurate. Maybe if the opposition hadn’t chosen such an obviously flawed figure as their standard-bearer, they would have fared better?

Java Annoyances

Published at 07:22 on 29 May 2023

When Java first came out in the 1990’s, I gave it a try, then turned away from it. My reason was not the core language itself but its standard library, which impressed me as something of a poorly-organized and overcomplex mess.

Decades later, and with some professional coding experience in that language ecosystem under my belt, and that is still basically my takeaway conclusion. The worst that can be said about the core language is that it’s a bit dated (understandable, as the the design is now decades old). But the overall pattern of the standard class library being awkward has extended to the language ecosystem as a whole.

Just about every third-party library for Java tends to be a special combination of big, awkward, and given that size and ponderousness surprisingly feature deficient. Take the Jackson JSON library for instance. Its current release totals just shy of 800 classes (yes, 800, I am not making this up). Yet when I tried to do something as simple and basic as generate pretty-printed output (nicely indented and formatted, with all keys in JSON objects sorted alphabetically), I couldn’t do it out of the box. (There is an ORDER_MAP_ENTRIES_BY_KEYS option, but it fails to act as advertised in all — in fact, in most — cases.) I had to write helper methods to get my output formatted as desired.

And this was after blowing most of a day poring over documentation and trying experiment after experiment attempting to get my output correct. The configuration settings in Jackson are split up amongst at least three classes, and of course the documentation for one configuration class does not mention the others. It is left as an exercise for the programmer to discover the others.

Contrast with Python, which has a simple JSON serializer and deserializer built-in to the language’s core library. (Jackson is a third-party library, because in Java you must use a third-party library if you want to read or write JSON; the standard Java library lacks JSON support. This, despite the standard Java library being much larger in terms of number of classes than Python’s library.) And there is no hunting the documentation in Python: right out there in the documentation for the json module (one module, one class, one HTML page of documentation to read, that’s it) the indent and sort_keys options to json.dump are described. And the options work as advertised in all cases! What takes over a day to code in Java can be accomplished in under a minute in Python.

Yes, Jackson can do deserialization into objects, with schema checking, and the built-in Python library cannot. That’s nice, dear. The basic functionality of being able to generate pretty-printed output out of the box seems to be missing. It’s like driving a luxury car with heated seats and a fancy entertainment system but no factory headlights or taillights, so you must add those if you want to drive it after dark.

And I run into this sort of thing over and over and over again. In the Java world, I am literally always encountering this or that use of some giant, cumbersome, poorly-documented third-party package, that compels me to waste multiple hours understanding it. Or, in most cases, just partially understanding it and still making a huge number of educated guesses about it. And because those packages also tend to be surprisingly limited in functionality, one either has to pull in more huge, cumbersome, weak libraries to make up the deficiency, or add more lines and complexity to the code base.

It all ends up sending the cognitive complexity of understanding what a Java program does into another whole universe of mental difficulty.

It’s a real shame, because as I said the core Java language really isn’t too bad at all. And the core Java runtime environment is, by any objective measure, great: garbage-collected, platform-independent, with full support for preemptive multi-threading, and with a portable graphical user interface that (with a little programmer effort) manages to replicate the native look and feel on all three of Windows, Macintosh, and Linux.

But oh, those library antipatterns. They do so much to take away from the overall experience.