OK, the Debate Happened

I watched a live stream on YouTube with some additional commentary by Robert Reich and Michael Lahanas-Calderón.  I described my plan in a comment on Mano’s blog and won’t repeat that here.

Walz is not a skilled debater.  Although I thought he came prepared, he did stumble in small ways a couple of times; and it came out that, some years ago, he had claimed to be in China during the Tiananmen Square uprising when he hadn’t actually arrived until months later.

Vance did much better than I expected.  He actually spoke in complete sentences and paragraphs and didn’t display any of the incoherence, cognitive decline, or terrible-twos lashing out that we expect from Trump.  He’s clearly smarter and more competent than Trump; and I fear that that makes him more dangerous.  Indeed, if Trump wins the election, he might not last the whole four years; so there’s a real possibility that Vance could actually be President.1

Vance repeated all the lies about things being better under Trump than under Biden, even claiming that Trump saved the Affordable Care Act when he actually tried to get rid of it.  (It was McCain’s thumbs-down during the Senate vote that saved Obamacare.)

One thing that jumped out at me and that I haven’t seen mentioned anywhere else is that Vance would try to tear into Harris on immigration, the economy, or pretty much any subject, by asking, “She’s been in office for over three years now.  Why hasn’t she done anything yet?”  Uh … because she’s the Vice President, not the President, and so not the one in charge?2

The moderators, CBS’ Norah O’Donnell and Margaret Brennan, were mostly even-handed, although I noticed one asymmetry:  O’Donnell did fact-check Vance on one of his many lies about the economy during the Trump years; but Brennan pressed Walz rather pointedly on his misstatement about being in China during Tiananmen Square.  I fear that Walz’ misstatement will be all over TV news while all the lies about things being better under Trump will remain old news that nobody cares about.


1This is a reason to vote for Harris next month.  Don’t abstain, don’t vote for a third-party candidate.  Harris and Trump are the only possibilities, and we really don’t want another four years of Trump (and maybe Vance as president for part of it).

2It occurs to me that it might be fun to start talking about the Vance campaign and possible Vance presidency suggesting that Vance is the one in charge.  That might send Trump over the edge even more rapidly.

Another Possible Joyride

There have been some rumors for a while that Amtrak would replace the Capitol Limited (Chicago-D.C.) and the Silver Star (New York-Miami) with a single train between Chicago and Miami via D.C., the idea being to free up the Capitol Limited’s double-decker Superliner equipment for use on the western trains.  (Why they can’t just run the Capitol Limited with Amfleet coaches and Viewliner sleeers I have no clue.)

I found out today that this will indeed be happening starting in November and continuing for “a year or two”.  This might be of interest to me some time in March because my bucket list includes catching some Cardinals’ spring training games in Jupiter, FL. ๐Ÿ˜Ž  IIRC, there’s a hotel just across the street from Roger Dean Stadium that’s less than fifteen miles from the West Palm Beach station.

The new train will have the numbers 40 (mostly westbound) and 41 (mostly eastbound) and be called the Floridian, a train that once ran between Chicago and Miami via Nashville and Atlanta, and will use the single-level equipment normally found on the eastern trains.

Joyride

In my previous post, I mentioned that I might take a joyride on Amtrak; Jazzlet asked in a comment where I might go; and I responded with a couple of ideas, a big loop to the west coast, and a quicker trip to New York City and back.

I’ve come up with some fanciful itineraries.  I’ll probably do the trip to New York (way at the end of that link) first; but I’ve decided that, rather than take the Lake Shore Limited round-trip, I’ll take the Capitol Limited to D.C. eastbound and head to New York on one of the northeast trains.  I’ve ridden both the Lake Shore and the Capitol numerous times, but the latter not for a decade or more; and that’ll give me a much shorter layover in Chicago.

I’ll probably book a first-class seat on one of the Acelas from D.C. to New York; but weekday fares are over the top; so I’ll want to do that on a weekend, and Sunday gives me more options if the Capitol is late and misses the connection to the train that I book (likely).

I could also take the Capitol round-trip; but the nearest hotel to Washington Union Station is a bit of a hike which might be a problem with my current mobility issues; and the New Yorker Hotel is only one block away from the Moynihan Train Hall, Amtrak’s extension to Penn Station.

The good news is that I won’t have much luggage, just a camera bag and a roll-around laptop case with room for toiletries and a change of clothes.

We’ll see…

I Think My Trip to Wrocław Is Off

I’ve decided that I won’t be going to Wrocław, Poland in November.

First of all, my mobility problems are getting worse.  I’ve been using a walker for a while now because arthritis in my back doesn’t want me vertical unsupported for more than a few minutes at a time, so the walker was something to lean on; but for several weeks now, my hips have been complaining as well, and so the walking itself is also a problem.

I wasn’t worried about the parts of the trip west of, and across, the Atlantic:  all the trains I’d ride in the U.S. (except a couple of shorter rides between New York and Boston) have checked baggage service; all the stations where I’d change trains have “red cap” service (help with luggage); and I’d get wheelchair assistance in all the airports.

European trains generally don’t have checked baggage service; but one of my colleagues on the committee told me about a group called “Bahnhofsmission” that provides help with luggage at train stations in Germany, so that would be OK.

I was also worried about a tram ride from the Hauptbahnhof (central train station) to a hotel in Berlin; but I’ve found out that a taxi ride should cost a good deal less than €30; and since I splurge on these trips anyway, that would be no big deal.

But that leaves the fact that my hearing aids don’t work well in big meetings; and since the real reason for the trip would be to attend a meeting of the ISO standards committee for the C++ programming language, I would mostly be Zooming in from my hotel room*.  I would certainly enjoy the travel itself; but it seems difficult to justify the expense when I can attend the meeting just as well from home.

Oh, well; planning the trip was fun; and maybe I’ll take a joy ride on Amtrak some time later this year.


*I have an accessory called a “TV adaptor” that plugs into a headphone jack and generates a bluetooth signal that feeds my hearing aids.  It gives me just enough quality to understand human speech.

The Upcoming Missouri Primary

My local PBS affiliate just aired a 20-minute debate between two Democratic candidates for governor.  The chances of Missouri having a Democratic governor are slim to none, but I was interested since I’ll be voting in the Democratic primary1 early next month.

Two candidates for the nomination showed up for the debate:

Crystal Quade, a young woman who grew up poor in Southwest Missouri (the Bible belt), worked multiple jobs as a waitress, worked her way through college, and all the way to becoming the Minority Leader of the Missouri House of Representatives.

Mike Hamra, a businessman with no political experience; but he has some detailed plans for what he wants to do as governor.

I couldn’t really tell them apart wrt policies.  Both hit all the progressive talking points:  abortion rights, racial discrepancies in law enforcement, etc.  I expect to vote for Quade since she’s the experienced politician and knows how best to get stuff done.

From the TV ads I’ve seen, there’s only one really contentious Democratic primary race with a good bit of vitriol coming from both sides, the one for U.S. Representative from the First Congressional District2; and since I live in the Second District3, I won’t get a vote.  The incumbent, Cori Bush, currently associated with the “squad” in the U.S. House, is being challenged by Wesley Bell, the St. Louis County Prosecutor.  Bush is screaming that Bell is really a Republican, and Bell is screaming that Bush “has her own agenda”.  It’s not pretty.

Although there’s a rational argument that, in heavily gerrymandered places like Missouri, the only election that actually matters is the favored party’s primary, I won’t be voting in the Republican primary because all the candidates are screaming that the other is insufficiently MAGA.  I couldn’t possibly vote for any of them, and I can’t tell them apart.


1Missouri has different elections for presidential primaries and state/local primaries; and it has open primaries:  you just tell the election official which ballot you want when to get to the polling place.  It’s that simple.

2The City of St. Louis and much of northern St. Louis County where there’s still a good bit of poverty and defacto racial segregation.

3I’m not to blame for Ann Wagner, I promise.

What’s Really Important

I’m on a Robert Reich e-mail list.  His latest missive* entitled How to prevent America and the world from falling into fascism contained eleven suggestions, the first three of which really jumped out at me:

Try not to allow issues such as whether Biden should resign, or his degree of responsibility for Gaza, to get in the way of your determination not to let Trump back into the White House. Regardless of our differences over these issues, they pale compared to the threat Trump poses.

For the same reason, please don’t decide to leave the top of the ticket blank or to vote for a third party or not to vote at all. All make it easier for Trump to win. …

Don’t become so upset with politics that you drop out, stop reading the news, or give up on activism. The stakes are just too high. …

Exactly.  If you don’t like Biden much, I probably agree with you; but the most important thing to do right now is to send the orange narcissist packing.


*This link seems to work; but when I load it directly into my browser without going through e-mail, I get a popup suggesting that I follow me. ๐Ÿ˜Ž  I didn’t try the options in the message box, so I don’t know what they do; but when I clicked the X in the upper right corner, the popup went away and I could read the whole thing.

That’s Not Gonna Work!

The possible itinerary I came up with for my November trip has an obvious typo returning from Wrocław on the 26th.  I have no clue why that didn’t jump out at me right away.

Also, checking for what I had really meant to write, I discovered that EuroCity 54 and 57 will be direct trains between Wrocław and the Berlin Hbf which actually works better.

Given my current mobility issues, I might have to skip the Meeting C++ and code:dive conferences, in which case I might be able to fly in and out of Berlin instead of Frankfurt; and the only hassle will be getting between the airport and the central train station.  I can decouple the plane and train legs by spending one night in each direction at a hotel near the Berlin airport, which I did for my Varna trip; so I know the drill.

We’ll see…

Update:  2024-07-12:  I think I have my Wrocław trip figured out.  I was going to give it a quick mention in another post I’m planning; but I mentioned the trip in a message to an Amtrak-related e-mail list; so I stuck the new itinerary out on my website.  Folks who click on the first link above will see the latest and greatest, and some of what I wrote herein might not make any sense.

He shall from time to time give to the Congress information of the State of the Union …

I’m getting more and more depressed about our current political discourse.  Last night, even PBS Newshour got on the Biden’s-too-old bandwagon.  They weren’t claiming to express an opinion, of course; they were claiming to be simply reporting on things like polls and interviews of random people on the streets.

I can understand the media’s obsession.  Biden’s performance, repeatedly and recently, has been shocking; but Trump’s Gish gallop of lies is just old news.

The discussion needs to move away from Biden to what the alternative is.  I wish Biden would give a speech about the current state of the union in which he spells out, in considerable detail, what we’re likely to see given another four years of Trump and his handlers.  Make it about Trump, not about himself; and he should take the gloves off.

And he shouldn’t shy away from observing what the Roberts court has done nor fail to mention their hypocrisy and sleaziness.  For example, he could point out several horrible things that he could now get away with as a sitting president and then say something like:

But I won’t do these things because, unlike the Gang of Six, I care what the Founders had in mind.

I thought of another line that I’d like to hear:

I do not say these things to shame them:  you can’t shame people who are shameless; that’s a waste of time.  My purpose is to show just how vile these people really are.

But I fear that he’ll just speak loudly, maybe pull an angry face, but otherwise fall into the trap of keeping the discussion about himself.  That strikes me as a losing tactic.

Self-Modifying and Machine-Generated Code

In a comment to my previous post, John Morales asked my opinion of self-modifying code.


Answering the question as asked

That’s an easy one:  it’s a maintenance nightmare.  Don’t do it.


More generally

Over the years, and I’m old enough to remember punching Hollerith cards1 and sticking them in sorting machines (wired boards were before my time), I’ve developed a very explicit coding style, principally because a week, a month, or a year from now, I don’t want to be wasting any time trying to puzzle out what the hell I was thinking about.  I always use meaningful identifiers (names of things that programmers make up), although I’ll break down and use abbreviations at block scope; and I avoid all the known anti-patterns (“magic numbers” come easily to mind).  When a function has more than one big thing to do, it’s time for refactoring.  I even prefer Allman-style curly brace placement precisely because it puts more white space in the code and so separates bits of code in ways that are immediately visible.

Back in my newbie days, I made all the newbie mistakes; I even thought that self-modifying code was Really Cool.  The only reason that I’m not still a newbie is that I learned from my mistakes (and I hope that I never stop learning).

Just for fun, I’ll put a cute little self-modifying PDP-8 program at the end of this post.


A related issue:  machine-generated code

This is a completely different thing and not particularly scary.  Programmers know how to write source code, which is just text; and they know how to write text to a file.  No big deal.  Indeed, the two programs that I wrote to generate simple Amtrak timetables and on-time performance statistics spit out complete Web pages2; and my timezone code comes with a couple of utilities that read Zoneinfo data and generate array initializers that get #included in other programs.  That’s all really simple stuff.

It could even be argued that this is what C++ templates are:  when you write a class template or function template, you’re telling the compiler how to write a class or a function for you.  Yes, really.  And if reflection makes its way into C++26, which is highly likely, we’ll have lots more compile-time code generation.3


1If I might stretch the meaning of “program” a bit beyond the breaking point for a moment, my first program was an 026 drum card.  That was back in the Viet Nam era when Sgt. Seymour was Base Fuels Accountant at March Air Force Base.  There was a very complicated daily report that got run overnight at 15th Air Force HQ; and it didn’t take me long to figure out that, in order to get the cards punched right the first time, I had to do it myself.

2It turns out that all I needed was good old HTML1 with no anchors or scripts…easy.

3But this kind of code generation is something that compiler authors do, not something that J. Random Coder like me does.  I know some compiler authors, and they’re way smarter than I am.  If those folks are the big leagues, I’m like an acceptable AAA baseball player when I’m having a good day.


Here’s a bit of machine-language PDP-8 code (not written by me) that sets all the bits in a memory field, including itself, to zero.

A PDP-8 field had 4096 12-bit words, so all the addresses and data are four octal digits.

ADDR  DATA  MNEMONIC
----  ----  --------
0004  1005  TAD 5
0005  3410  DCA I 10
0006  5004  JMP 4
0007  5404  JMP I 4
0010  0011  (data)
0011  2010  ISZ 10

TAD:  Two’s complement add.  Add the contents of the referenced location to the accumulator.

DCA:  Deposit and clear the accumulator.  Store the accumulator in the referenced location and set all the accumulator bits to zero.  The “I” in the mnemonic means “indirect”; and when absolute addresses 108 through 178 are used as indirect addresses, they pre-increment; so the first time the DCA I 10 instruction gets executed, it stores the accumulator in address 128, then 138, and so on.

JMP:  Jump to the referenced location.

ISZ:  Increment, skip if zero.  Add 1 to the referenced location and skip the next instruction if the sum is zero.

That first three-instruction loop just sticks 3410 all over memory until it finally wraps around to location 6 where we continue to location 7 and JMP I 4 to location 3410 and start executing 3410 instructions. ๐Ÿ˜Ž  Since DCA clears the accumulator, at this point we’re storing zeros all over memory.  0000 is an AND instruction:  load the bitwise AND of the referenced location and the accumulator into the accumulator.

I’ve forgotten what that final ISZ instruction is for, and I’m not in the mood to puzzle it out, so I’ll leave that as the dreaded exercise for the reader. ๐Ÿ˜Ž

You’ll notice that that program is not an algorithm because it doesn’t halt; it just keeps on executing AND 0 instructions.  When all the lights on the front panel stop flashing, you press the STOP switch. ๐Ÿ˜Ž

I’ve written a little paper about the PDP-8 if anybody is interested.