Sunday, November 12, 2017


Sometimes at this season, gingko trees will drop showers of golden leaves. I haven't had a chance to put my self on the sun side of one of these showers to take a picture. I tried today, but the leaves were coming down in tens rather than hundreds. Still, they make a good show, on the tree

or on cars

 or on the ground

I noticed a tree or two that dropped its leaves still green

or yellow-green

Mostly, though, the leaves are golden before they fall.

Saturday, November 11, 2017


The neighborhood listserve has an invitation to help plant lurid sedge, a native plant, in wetland nearby. The description of the plant, from New Moon Nursery, reads
Carex lurida is a large tufted wetland sedge. The narrow leaves are a bright yellow green and about 1’ long. In late spring stiff triangular culms rise above the foliage to 3’ bearing chartreuse bottlebrush shaped spikes. Attractive warm brown seed spikes follow. This bold sedge flourishes in sun or part sun in damp or wet sites. Carex lurida and other wetland sedges host caterpillars of Eyed Brown Butterflies and several species of Skippers and moths. Many wetland birds feed on the seed. The Sedge Wren feeds and nests in sites dominated by wetland sedges.This sedge has numerous common names. It is sometimes called lurid sedge due to the shockingly unexpected yellow color of the foliage and seed spikes. Some references call it sallow sedge again due to its yellowish “complexion”. Others call it shallow sedge perhaps in error or perhaps due to its ability to grow in shallow water.
Now, this was not my understanding of "lurid", but Skeat's Concise Dictionary of English Etymology says
Lurid, wan, gloomy. (L.) L. luridus, pale yellow, wan. Perhaps allied to Gk. χλωρός, green; see Chlorine.
The OED gives "pale and dismal" the priority, with citations beginning in the 17th Century. For "Shining with a red glow or glare" , the first citation is from the end of the 18th Century, and the figurative sense in which I have always known it to be used has a first citation from 1850.

Wednesday, November 8, 2017


Last month I took our car to the dealership for "A Service", which amounts mostly to changing the oil. Mid-morning, the agent called and listed some additional work the agent suggested. I agreed to all, until she got to replacing the battery, which would have cost $200. That I thought exorbitant.

On Saturday morning, returning from another errand, I stopped at AutoZone. The battery prices suggested that my savings would be less than I thought. I left with a $140 battery. Still, ignoring the time standing in line, and the time spent changing the battery, I figured to clear $60. Replacing the battery did not take long.

However, this model of car has anti-theft logic for the sound system: wholly removing power will leave the readout with an "enter code" display. This requires that one enter a five-digit code with the presets. One has ten tries to get it right, after which one must take the car to a dealership. We could not find the code. We found one for the previous car, which I tried on the ground that it was in with some other material for the new car. Of course it did not work. With no better ideas left, we went running.

While running, both of us thought where the card might be. It was there, and I tried it. It also did not work. I went to the company website to confirm it: it was correct. Yet it did not work. I suspected a bug in the technology.

On Sunday morning, a bit of looking on the internet suggested that interference from the FM radio might prevent recognition of the code. The remedies suggested were to disconnect the antenna, or to enter the code in an underground parking garage. The antenna work did not sound like something I could do cleanly. We drove to Columbia Heights first, where the garage wasn't deep enough, but where my wife picked up a shower curtain. Then we drove to a lot in Friendship Heights, where we continued to the fourth level underground. There the code worked the first time.

From the $60 savings, I deduct $3.70 in parking garage costs. There was also the matter of a couple of hours spent looking for the card and driving to the garages. On the credit side, we got rid of a certain amount of useless paper from the glove compartment--old registrations and insurance cards, etc. Still, next time I think we'll have the dealership change the battery.

Tuesday, October 31, 2017

Philip Levy, RIP

Last week, The Washington Post carried an obituary of Philip Levy, founder and proprietor of Bridge Street Books. Levy founded the store in 1980. It remains one of a handful of independent, general-interest bookstores in Washington. Its philosophy and literary criticism shelves look more extensive and more interesting than those of the others, and its poetry section looks as good as any. It has been able to order books for me that another store hasn't.

The other independent bookstores I know have obvious constituencies. At Kramerbooks, the customers tend to be young, and live or work nearby. At Politics and Prose, the customers run more to the thirties or older, and their children. I was never at Bridge Street enough to guess what its constituency might be. Judging from the obituary, Levy developed to store to suit his own tastes, letting the customers find it if they would.

Monday, October 23, 2017


About a month ago, I noticed that the Polish Embassy on 16th St. NW had many posters displayed along its fence. Last week, I got around to walking by for a closer look. These are reproductions of posters from the Poster Museum in Warsaw. Placing them along the embassy fence struck me as an odd way of showing them, but then I considered that the originals were made to be pasted to walls.

One item sets out the theme of the exhibition:

A couple of long stretches:

One understands why in 1919 Poland felt the need for an army:

On the other hand, I find the martial image odd in a poster promoting education:

And the invitation to subscribe to a government loan is dramatic:

Sunday, October 22, 2017

Numbers Games

A while back, somebody asked me whether it was possible to do a task, but without describing that task very clearly. I said, Yes, probably, let me know. Eventually it turned out that the task was to produce and transmit a list of checks recently written. This seemed entirely possible.

After some back and forth between our Accounting Department and our bank, I learned that the file to be sent required a fixed-length record. The amount of the check was to occupy ten spaces, zero-filled on the left, and with no decimal point between the dollars and the cents. (The absent decimal point I take to be a COBOL idiom. It must have made sense in the dawn of data processing: if the average transaction was in the hundreds of dollars, omitting the decimal point gave one roughly a 16% savings in space; with the expensive storage of the day, that was considerable.)

Anyway, I generated sample files, which looked OK. I generated and sent a file of checks not yet cleared. Then I looked closely at a smaller file. It was pretty good, but a transaction of 5218.94 showed up as 0000521893. An examination at the file of checks not cleared showed that one out of forty was a cent low. Now, I am not one who will quibble over one cent in a five thousand dollar transaction. But accountants will, and I am glad that they will: I want the people who watch the money to be serious and precise. And I would not care to explain to some we paid why his check was held up by the bank for a discrepancy of one cent.

Such discrepancies arise because modern computers do their calculations with binary arithmetic, and powers of 2 map only so well on to powers of 10. Eventually, I was able to come up with a minimal demonstration of the problem. Running a Perl script with the text

#!/usr/bin/perl -w-

use strict;

my $original = '5218.94';
my $x100 = $original * 100;
my $x100_sprintfd = sprintf '%010d', $original * 100;
my $sprintfd_no_x100 = sprintf '%010d', 521894;

print <<EOF;
Original -> $original
Times 100 -> $x100
Times 100, sprintfd -> $x100_sprintfd
Sprintfd, not Times 100 -> $sprintfd_no_x100

Original -> 5218.94
Times 100 -> 521894
Times 100, sprintfd -> 0000521893
Sprintfd, not Times 100 -> 0000521894
This happens with Perl 5.10, 5.16,  and 5.22, I find. Oddly enough, the format specifier '010.0f' does not round down. No doubt the mechanics of it are there to find in the source code, which is available on the internet. But I don't know that I could track this down, and I do know that I haven't time to try. The workaround, which I arrived at before coming up with this script, is to do the multiplication within the database query, rather than outside.

William Kahan put a lot of thought into the many edge cases of floating-point arithmetic, and certainly deserved his Turing Award. After Wednesday afternoon, I better understand why he called his test suite for floating-point implementations "paranoia".

Saturday, October 21, 2017


According to Thursday's New York Times, some Italian schools will teaching their students to identify fake news, beginning on October 31. It's well to be prepared, of course. But is the need new? In Luigi Barzini's The Italians, chapter "The Pursuit of Life", I find
Very few then are the rules which can help an Italian plot his course and steer a safe line in a country which has never really accepted the moral teaching of feudalism, and in which society, the law and State have feeble powers. He must defend himself. He begins early by being his own school-teacher (most schools are inadequate) and professor (universities are poor, backward, and badly run). Later he must be his own journalist (published new of internal affairs can be so biased that to rely on them is to court disaster), his own literary, film, art, and drama critic (reviews rarely reflect the worth of the film, book, or drama, but a number of factors, the personal relation between author and critic, their respective political parties, relative ages, philosophical bias, and so forth), his own strategic expert in times of war (nobody will tell him who is winning and when to run until too late), and his own fiscal expert (to distinguish which are the taxes to be paid fully, which only in part, and which to be ignored altogether). He must at times be his own lawyer, policeman, and judge. In short, his security depends not on the combined exertions of his countrymen to which he should add his own but mostly on his individual capacities and native shrewdness.
(My italics.) The Italians was published in 1964; the edition I have was printed in 1996.