Thursday, May 31

Union Station, Denver Colorado

Tuesday, May 29

amtrak: still incompetent

So I made an earnest effort to purchase a train ticket from the Amtrak website this evening. It didn't go well.

It's sort of like they don't really want you to ride the train. Actually, it's like Amtrak was organized by some hostile force or forces specifically to prevent rail travel.

Monday, May 28

a rough visualization of beer-drinking patterns over 18 months

beer graph

Sunday, May 27

I keep walking back and forth to the kitchen, looking for a substance to consume which will quiet my appetites sufficiently that I can sit still and write. So far I've gone through a fair amount of yogurt, several pieces of bread with olive oil, a cup of coffee, and half a bottle of Grolsch. There's no whiskey or tobacco in the house, so I suppose this will have to do. If I can get on a roll before the beer is gone, it may be enough.

I spent part of today tidying up a little piece of code I wrote months ago, so that Levi can perhaps show its results to people at a conference in Belgium. What it does is to grep through a bunch of transcribed US Census records from Nebraska in 1900 (available from this friendly ftp site as fixed-width text files) looking for groups of people who might possibly be twins (or even, say, triplets). It's not all that clever about how it does this, and the results are correspondingly modest, but I suppose it's a good enough proof of concept. You can find this kind of thing if you go looking for it.

Would you like to see some twin pairs? I thought you might.

last first relationship* sex born father's birthplace mother's birthplace
Airhart Lewis H. son M Jun. 1899 Illinois Germany
Airhart Luella H. daughter F Jun. 1899 Illinois Germany
Jordan Wallace P. Son M June 1897 Indiana Germany
Jordan Wallis C. Son M June 1897 Indiana Germany
Kaufman Minnie daughter F Dec 1886 Pennsylvania Illinois
Kaufman Vinnie son M Dec 1886 Pennsylvania Illinois
Phelps Rella V daughter F Nov 1886 Ohio Iowa
Phelps Frilla J daughter F Nov 1886 Ohio Iowa

They really did name their kids like that.

Out of a hundred odd pairs in my results, I count 25 whose names are obvious transformations/variations (Leonora/Elenora, Edgar/Edwin, Leonard/Lester) or rhymes (Minnie/Vinnie, Lerrie/Wernie), and 15 more starting with the same letter or syllable (Frank/Fred, Howard/Hazel, Roger/Ronald). Admittedly this is an arbitrary distinction - what constitutes a transformation? - but the pattern does stand out.

If you looked at a representative sample of present-day twins in America, would you see the same pattern? Maybe, but maybe this one expresses some kind of fundamental attitude we've since lost. I remember hearing in a history-of-the-family course that cultures with high infant mortality rates (most of them, historically) often treat naming much differently. Very young children might not be named for their first year or two, or until it seems likely that they'll survive, and children born after the death of a sibling often take the same name - acting as literal replacements for the missing child.

I can imagine that a culture which understood twins as sharing an identity would give them tightly-coupled names, to an extent that seems sort of comical now but once just expressed an apparent truth. 'course, it's probably dangerous to talk about "a culture" here - Nebraska in 1900 was full of Czechs, Germans, Scots, Irishmen, Swedes, Russians, and sundry migrants from back East.

Somebody somewhere has probably written a dissertation on this.

There's interesting, albeit unsourced, stuff on naming conventions at genealogy.com: The Importance of Given Names.

I can't distribute the big wad of census transcriptions I'm using for this, but attached is a little tarball with the script and some output. If you happen to download a metric crapload of the right text files and cat them all together into something like 1900.total.txt, you can then do

perl twins1900.pl < 1900.total.txt > 1900.log

and be on your merry way. I'd provide more detailed instructions, but I kind of doubt it's worth anyone's time at this point. We want to make a lot of this kind of data available from a solid database with a friendly interface and robust search tools, but there are probably going to be some non-trivial hoops to jump through on the way.

more: twinpairs.tar.gz

Thursday, May 24

Three large ravens sit in a half-dead tree across the street from my office, quorking as I walk past.

There is something in the nature of birds that has always fascinated me. A quickness, a purity of expression, a kind of patterning. An intelligence not especially of brain but of form.

Wednesday, May 23

fog up the hill out the window last night

Last night, mediocre margaritas, little plastic monkeys on the edge of each glass. Avocados and rain. Everything still green. Tall grasses, weeds, and subtle wildflowers everywhere around our house.

This morning, an enormous, greasy omelette at the Village Coffee Shop on Folsom. Disgust.

In the evening, long after everyone else has gone home, I sit in the office and read badly organized Wikipedia articles about the Sisters of Mercy, Norwegian Black Metal, Nazi occultism, Madame Blavatsky, and Rudolf Steiner.

Tuesday, May 22

It's been months since I wrote much of anything,
barring a couple of pale exercises in sold-out bullshit
to be found elsewhere. I hear you can make good money these
days telling people that sold-out bullshit is a radically
liberatory
way to sell things. As long as you don't choke
on your own bile there are probably worse gigs.

I may have written half a dozen poems
in the last year. None of them are much good.
Poetry is deader than most things we still
have a name for ever get to be.

I write more code now, but most of it
serves the meaningless needs of a nascent
bureaucracy, and it's all trivial.
Most programming, in fact, is the work
of petty bureaucracy.

Monday, May 21

a perl idiom i really like

Turn elements of a list into keys of a hash using map.

my %stop = map { $_ => 1 } ('temp', '..', '.', '');

Which is a lot like saying:

my %stop = ( 'temp' => 1, '..' => 1, '.' => 1, '' => 1);

But much prettier for longer lists.

Wednesday, May 9

/wala may be down for a day or two. Possibly I have just been lax with my passwords in an ill-advised public space, but it is also possible that I really need to do some security auditing on the script.

I'd like to take a moment to express my gratitude for a world filled with incompetent script kiddies.