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

Posters

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
EOF


Yields
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

News

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.

Sunday, October 15, 2017

Dial-A-DBA

In what follows, I have changed a personal name and an agency name and acronym. Otherwise the conversation took place as I give it.

A few minutes before eight this morning, the telephone rang. I got it on the second ring. A woman began speaking:

"Hello, I'm calling from the NOC. Alistair is locked out of the database and can't work."
"I'm sorry, what? (My employer strictly speaking doesn't have a network-operations center (NOC). It has a couple of network administrators with offices a few doors down from mine.)
"Alistair is locked out of the database. You're on the DBA team right?"
"Well, yes, I am a database administrator." (One who could not just then recall any Alistair among the users of those various databases.)
"So you'll take care of this?"
"Well, give me his telephone number, and I'll see what I can do."
"I only have his work number."
"That's OK". I wrote it down.
"Oh, and give me his email address," I said.
"His CBFC email?"
"Wait, Chesapeake Bay Fisheries Commission? I don't work for them."
"Oh, who is this?"
"George ...."
"Oh, I'm sorry, I have a wrong number."

At that point I gave her the number she had reached, she apologized again, and we hung up.

Now, I can imagine mis-dialing many numbers in this town, and getting the wrong person of the right trade: lawyers, lobbyists, and policemen come to mind. But though I do know several database administrators whom I did not meet in the line of work, I don't think that there are so many of us. On the other hand I know of two men who became friends when one mistakenly called the other and asked a question about Filemaker Pro, which the other was able to answer.

The agency I have called CBFC does important work, though I don't know how much requires developers or analysts to be logged in on a Sunday morning. I hope that the other DBA was able to get Alistair's login squared away.

Saturday, October 14, 2017

Noise

Last weekend, a dog within earshot spent much of the day barking. I suspect that the owners were gone for the day and had left it out.  I noticed this summer, while reading The World As Will and Representation, a passage in Volume II, Chapter III:
Actually, I have long been of the opinion that the quantity of noise anyone can comfortably endure is in inverse proportion to his mental powers, and may therefore be regarded as a rough estimate of them. Therefore, when I hear dogs barking unchecked for hours in the courtyard of a house, I know what to think of the mental powers of the inhabitants. ... We shall be quite civilized only when our ears are no longer outlawed and it is no longer anyone's right to cut through the consciousness of every thinking being within a circuit of a thousand yards, by means of whistling, howling, bellowing, hammering, whip-cracking, letting dogs bark, and so on.
Years ago, we lived in an apartment that looked out on a yard where a dog was left out all day to bark at strangers, trains, leaves blowing down the alley, etc. It was my impression that the owners simply didn't hear the dog, because they were inside with the windows down and the TV on. On the other hand, their tolerance for noise must have been high. One Saturday morning we were awakened when the man of the house propped a skillet on the porch steps and buffed the rust from its bottom with an attachment on an electric drill. That sounded as if a spoon had gone into a garbage disposal, only much louder.

Washington will not be civilized by Schopenhauer's standard anytime soon. It is difficult to walk many blocks in any direction downtown without passing a construction site. The other day at lunch time, I saw a shredder truck operating on I St. NW opposite Lafayette Square: I don't know who can manage concentrated thought within a block of one of those.  Musicians play wind instruments and electric guitars on busy corners. Yet a co-worker has said in response to my complaints that Washington is much quieter than Taipei.

Saturday, October 7, 2017

The Adjectives He Keeps

In the chapter "Clio: A Muse" of Teacher in America, Jacques Barzun wrote that
An historian is known by the adjectives he keeps, and textbook writers would become better historians if they got rid of most of theirs, or at least replaced them with more strongly felt ones.
A book that I have just read brings this to mind, The Epic of Latin America  by John A. Crow. It weighs in at a bit more than nine hundred pages, and I kept thinking that an historian with better discipline as a writer might have brought it in nearer five hundred. Really, though Crow overdid the adjectives, the weakness is a general lack of feeling for the language. Every dozen pages, I found a passage such as
When the century drew to a close it left a maze of overlapping institutions, race fusions, social classes, architecture, feelings, and thought, all hammered together into a single frame. Generally speaking, this framework did not change greatly in succeeding years.
On page 910 there appears the paragraph
"The English language itself," [Américo Castro] add sadly, "is being impoverished in the cultural circle of the United States, because the university man, caught by the spirit of the masses, does not dare avoid triviality." He might have added that widespread radio and television broadcasts and high pressured business dealings have lowered considerably the level of American speech because the best examples are no longer held up before us, and because a correct knowledge of the English language is no longer considered necessary for success.
Fair enough: but after nine hundred pages of the book's prose, this is like being lectured by Falstaff on clean living and body-mass index.

The Epic of Latin America is published by the University of California Press. The sometime director of that press, August Frugé, wrote in his memoir A Skeptic Among Scholars of drastically cutting back on the copy editing of the manuscripts. I was ready to blame Frugé's policy for the bagginess of the work, which might have made a better book at half its size. But I find that Frugé had barely started at Berkeley when the first edition came out in 1946.

The book will serve well enough for reference for one wishing to remember the progress of the Spanish colonization of the Americas, or of the succession of governments in the Latin American countries since. I don't think anyone will read it for the cultural insights, though they are there to be found: it is just too much work to find them, and it is not clear to me that the author recognized the difference between communicating insights and passing on current cliches. A reader comfortable in Spanish might make a good thing of the references, though she will have to locate them in the notes.