Monday, November 9, 2009

On the cusp of locking

Kurt Vonnegut has written that there are actually 6 seasons, not 4. Between fall and winter comes locking, after the leaves have fallen and as the snows begin to bring on the winter quiet; then, between winter and spring we find unlocking, as the snows melt, the ice thaws, and the ground begins to soften for the first shoots of spring. I like this notion, and I've always found locking to be one the most difficult seasons emotionally. Fall has color, and the pleasure of the occasional warm day. Winter brings quiet and, of course, skiing. But locking - it seems to make me think hard thoughts and feel raw edges.

Today Katy and I attended the memorial service for Pat Field, who lived across the street from our first home in Cambridge. The service was in the beautiful Bigelow Chapel at Mt. Auburn Cemetery; after the service itself, we followed a sax player to the family plot, where Pat's ashes will be interred. A reception followed at Pat's home, and for the first time I got to see the interior of the house. It's stunning, full of incredibly elaborate woodwork and fine hand-knotted carpets. It's sad to think of this home, containing over a hundred years of furnishings from Pat's family, being broken up and scattered.

Pat died at home, attended by a great-niece, just weeks after the death of the last of her brothers. I gather the family has its depths; tensions in the family were hinted at in the memorial service. Much food for thought.

I walked home from Pat's and went outside to rake leaves. I've done a lot of raking over the past few weeks. I like raking; it's physical, but not really difficult, it gets me outside, and it has a tangible end point - even if it is a sure sign of the arrival of locking. This afternoon, as the sun was approaching the horizon of the surrounding houses, it lit up the red Japanese maple tree in our front yard, which stubbornly clutches its leaves long after most of the surrounding trees have dropped theirs. I had to take pictures; even these mediocre cell-phone images provide hints of just how lovely this tree is right now.

Here's a view from the other side, looking toward the sun.

Most of the trees, though, are bare by now, like this maple in our back yard.

So this afternoon I declared victory for the season; no more raking, I hope, until spring.

Tuesday, September 29, 2009

Farewell, Chemisa

We've known this was coming for a while, but that doesn't make it any easier.

This afternoon we had a vet come by the house and put down Chemisa.

Chemisa (we never really decided on a spelling for her name...), like all of our cats, was a foundling; Katy and the kids brought her home from Santa Fe some 15 years ago. She was never an especially friendly cat, but she mellowed a bit in her old age, and has slept with Katy and me for years.

She was initially an indoor-outdoor cat; our attempts to keep her in would cause her to start peeing outside the cat box. As she got older, she stopped going out in the winter, and after a run-in with another critter that resulted in a nasty, infected bite, she finally relented and stayed inside. After a period of stand-off-ishness she eventually accepted Willin and Ditz, and the three of them would sometimes curl up together.

Back in August Chemisa began to lose her appetite, and for the past few weeks she's been losing weight. Having seen what Willin went through to get to his diabetes diagnosis, we we decided we just couldn't do that with Chemisa and elected instead to put her down. Katy found a vet who would make a house call, and this afternoon, at about 1:30PM, Chemisa died, peacefully and quietly, in my lap, with Willin, Katy and RuthAnne next to her.

She's buried in the garden beneath a new tree. I'll update this next spring when it blooms.

Thank you, Chemisa, for being part of our family.

Monday, September 14, 2009

Emacs and Windows

My new job is forcing me, at long last, to embrace Windows as my primary development environment. As a result, I'm finally putting some real effort into getting emacs, complete with shell buffers, working well on Windows.

Here, as far as I can reconstruct it, is what I've done.

  • Download md5sums for Windows, so I can verify the MD5 checksums on other software I download.
  • Download and install keytweak, so I can remap the $#@ Caps Lock key to be a control key.
  • Add a HOME environment variable to the Windows environment. I've set this to C:\Documents and Settings\mylogin\My Documents, in an effort to be as natively Windows-ish as possible. Note that this will affect the location of things like the emacs initialization directory (.emacs.d) and bash initialization files (.bashrc).
  • Download and install emacs for Windows. Now I have an editor; I plunked a bare-bones init.el into $HOME/.emacs.d to get me going. It looks like this:

;; electric buffers
(global-set-key "\C-x\C-b"    'electric-buffer-list)

;; completion

;; start the server 

;; font lock
(global-font-lock-mode t)

;; Don't store tabs. 
(setq-default indent-tabs-mode nil)

  • Download and install Cygwin/X. My reasoning here is that I'm bound to need an X11 server at some point, and this gives me enough of the entire Cygwin system (including bash, grep, find, etc.) to get started. I also added RCS (for super-easy source control for init files, etc.).

Now the main pieces are installed, but there's a lot of customization left to do. In particular, emacs shell buffers are lame; they run the Windows shell, not bash, and directory tracking doesn't work.

The next steps I acquired from Henry Kautz, specifically his page Using Emacs and Bash or Csh under MS Windows. I confess, this is essentially a black box for me, but it works like a charm. I added this to $HOME/.bashrc:
# directory tracking (from

alias cd=cdpwd
function cdpwd {
'cd' "$1"
echo "Working directory is $(cygpath -wa .)"
alias pushd=pushdpwd
function pushdpwd {
'pushd' "$1"
echo "Working directory is $(cygpath -wa .)"
alias popd=popdpwd
function popdpwd {
echo "Working directory is $(cygpath -wa .)"

I preceded these lines with a bit of path setup; this will no doubt vary based on your needs:
# Set up a vaguely useful path, in the context of an emacs shell. Thils will NOT have
# a bunch of standard Windows stuff on it.

cmakedirs=/cygdrive/c/Program\ Files/CMake\ 2.6/bin
emacsdirs=/cygdrive/c/Program\ Files/GNUmacs/emacs-23.1/bin/

export PATH=$cygdirs:$tcldirs:$cmakedirs:$emacsdirs:$windirs

Then I added this to $HOME/.emacs.d/init.el:
(defun my-shell-setup ()
"For bash (cygwin 18) under Emacs 20"
(setq comint-scroll-show-maximum-output 'this)
(setq comint-completion-addsuffix t)
(setq comint-eol-on-send t)
(setq comint-file-name-quote-list '(?\  ?\"))
(setq w32-quote-process-args ?\")
(make-variable-buffer-local 'comint-completion-addsuffix)
(setq shell-dirstack-query "cygpath -w `dirs`")
(add-hook 'comint-output-filter-functions 'perfect-track-directory nil t)
(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m nil t)

(defun perfect-track-directory (text)
(if (string-match "\\w*Working directory is ||\\([^|]+\\)||" text)
(cd (substring text (match-beginning 1) (match-end 1)))))

(setq shell-mode-hook 'my-shell-setup)
(setq process-coding-system-alist (cons '("bash" . undecided-unix)
(setq exec-path (cons "C:/cygwin/bin" 
(cons "C:/cygwin/usr/bin" (cons "C:/cygwin/usr/local/bin" exec-path))))
(setenv "PATH" (concat "C:\\cygwin\\bin;C:\\cygwin\\usr\\bin;C:\\cygwin\\usr\\local\\bin" 
(getenv "PATH")))
(setq shell-file-name "bash")
(setenv "SHELL" shell-file-name) 
(setq explicit-shell-file-name shell-file-name)
(cd "~")

Now M-x shell creates a fully-functional bash shell, with directory tracking enabled. Sweet!

While customizing .bashrc I ran into a little problem with line endings; I configured Cygwin to use Unix-style line endings (LF, or \n), but emacs by default creates files with DOS line endings (CR LF, or \r\n). Bash doesn't like this. Saving a text file in emacs on Windows to have Unix line endings is done via C-x <enter> f unix <enter>.
"Give yourself to the Dark Side."

Oh, and speaking of the dark side: Those ugly white-on-black command windows can be customised to be a bit less depressing. There's a "colors" tab in the properties menu of the command window, and you can save the preferences for subsequent sessions.

Sunday, September 13, 2009

Paranoid Nation

Today's New York Times has an article about kids walking to school by themselves. My kids, being homeschooled, didn't face this specific conundrum, but we did allow them to start taking the T and walking places unescorted at pretty young ages - and we definitely faced disapproval from other parents about this. Fear of abduction is one of the most oft-cited reasons for not allowing children to walk places.

This little pair of facts is embedded in the story; I wish it had been a bit more prominent.

Critics say fears that children will be abducted by strangers are at a level unjustified by reality. About 115 children are kidnapped by strangers each year, according to federal statistics; 250,000 are injured in auto accidents.

The Federal Highway Administration has a program to encourage walking and biking to school, with suggestions on how to improve safety for pedestrians and bikers, and ways to allay parental fears. For the sake of our children, I hope it succeeds.

Wednesday, August 19, 2009

Killer Micros

I recently wondered about the origins of the phrase, "attack of the killer micros." A little time on Google revealed many attributions of the phrase to Eugene D. Brooks III, who evidently presented a talk with that title at one of the annual Supercomputing conferences around 1989 or 1990 (there are conflicting references, but nothing I can substantiate). Brooks was profiled in the New York Times in May 1990, and the phrase is used as the headline of a May 1991 NY Times article. But I was really after the first, definitive use of the phrase.

Well, this may or may not be it, but Brooks' words appeared this way in the Usenet newsgroup comp.arch on October 15, 1989:

[...] Micros now dominate
the performance game for scalar code and are moving on to vectorizable code.
After all, these little critters mutate and become more voracious every
6 months and vectorizable code is the only thing left for them to conquer.
No NEW technology needs to be developed, all the micro-chip and memory-chip
makers need to do is to decide to take over the supercomputer market.

They will do this with their commodity parts.

Supercomputers of the future will be scalable multiprocessors made of many
hundreds to thousands of commodity microprocessors. They will be commodity
parts because these parts will be the fastest around and they will be cheap.
These scalable machines will have hundreds of commodity disk drives ganged up
for parallel access. Commodity parts will again be used because of the
cost advantage leveraged into a scalable system using commodity parts.
The only custom logic will be the interconnect which glues the system together,
and error correcting logic which glues many disk drives together into a
reliable high performance system. The CM data vault is a very good model here.


This was in a thread, not started by Brooks, entitled "Attack of the Killer Micros." So clearly the phrase had been kicking around before then.

This, BTW, was a bit of a Golden Age for Usenet news groups; The signal/noise ratio was very high, and some very smart, articulate people posted regulary: Brooks, John Mashey, Henry Spencer, Bob Colwell, Eric Raymond, many more. It was also an exciting time in the computer industry, with a lot of architectural experimentation and implementation. Fun browsing for old coots like me. :-)

Friday, July 31, 2009

Emacs for the Mac

Recently I've been making more use of my iMac for programming at home, and I've been struggling to get a comfortable, reliable emacs setup. Today I came across Tim Bray's blog entry on giving Aquamacs a personality transplant, and it really helped. In summary, I put these into my ~/.emacs file:

;;; AquaMacs tweaks
(setq mac-command-modifier 'meta)
(setq x-select-enable-clipboard 't)
(setq mac-option-modifier nil)

These turn the command key into a meta key, cause the emacs kill buffer to participate fully in the OSX clipboard and, ah, do something to the option key (which, now that I have command as meta, I don't use). Thanks, Tim!

Tuesday, July 21, 2009

7,565,349... the number of my newly-issued patent for the frequency distribution operators.

I think of this as my first "real" patent; the prior patents for which I'm an inventor are the Torrent patents, where we all played a role but it's hard to point to anything specific and say, "That's MY idea." This one is really my baby; Mike Beckerle was a very helpful sounding board, but the main ideas and the implementation are mine. IBM, of course, handled the logistics of the filing process - all four and a half years of it.

I have decidedly mixed feelings about so-called software patents, but this one at least meets the "non-obvious to a skilled practitioner" bar; so far, no one I've described the problem to has come up with this solution.

So - it's a funny milestone, but a milestone nonetheless.

Thursday, July 9, 2009


One of the things I enjoyed during my trip to India is the creative uses the Hyderabadis have for henna. It's used to make elaborate patterns on hands, called mehendi, and to color grey hair, for both women and men.

a young girl having a mehendi applied


From "10 Incredible Indian Beards and Moustaches" at

I've been thinking of trying henna on my hair and beard since returning from Hyderabad. I recently found henna in the Little Market in Acton and tried it on a portion of my beard. I liked it, but the henna didn't seem very intense, so I ordered some henna from It came last week while I was visiting my mother; last night I mixed it up, and this morning RuthAnne applied it.

Henna is basically ground up leaves from the henna plant, and it has an odd, funky, slightly-wet-dog odor to it. It looks remarkably like baby poo. RuthAnne wore gloves to avoid winding up with orange hands and slathered it on.

From HennaHead

I let it sit in my hair for about three hours; then Katy rinsed it out (a bit of a trick where the henna had dried out), I showered and washed my hair, and - voila!

Saturday, July 4, 2009

Independence Day, 2009

It's still July 4th, but I have a few moments while Mom naps to start my 4th of July entry. Mom and I were up late last night (11PM) working on a puzzle, and we both slept late this morning - me until about 7:45, Mom until about 8:30. After breakfast and some packing for tomorrow we took the shuttle to Buchanan for the picnic.

The weather is lovely; blue sky with a few puffy clouds, warn without being hot, and a bit breezy. We checked in at the dining hall and then headed outside for lunch. We sat at a table with some of Mom's neighbors, as well as a couple who have one of the duplexes at Buchanan. (Her name is Arlene; I can't recall her husband's name.) They do a lot of traveling and had very interesting stories. Here's the husband with Mom.

And here's a picture Dan (who lives two doors down from Mom) took:

After a nap we went over to Jeannie and Bob's for another picnic. We had a beautiful sunset; the fireflies came out in force, and we set off sparklers.

From Sparklers

The next three links are to video clips.

Jeannie Marie will be going to church with us in the morning; then we'll be back here for lunch and final packing.

This has been an interesting visit - certainly grist for another posting.

Thursday, July 2, 2009

Meeting Tony

I'm visiting my Mom in Elizabethtown, and this morning Karen and I took her to her physical therapy appointment with Tony. This is for her rotator cuff repair; Mom has been working with Tony since her surgery, and he's really helped her regain strength and motion. Here they are, going through the exercises.

before getting started

pumping iron, like Aahnold.

cranking away at full tilt

Before heading over to Lancaster for the appointment, we took a short walk to the top of the hill near Mom's apartment.

Mom and me

Mom and Karen

Sunday, June 21, 2009

Pinewoods Morris Men 2009 AGM

My Morris team held its annual general meeting yesterday at The Point, as customary. Much was discussed and little accomplished, also as customary, aside from the consumption of crisps, beer and some delicious snacks brought by Jan. We did, however, confirm the current squire and bagman for another year (or portion thereof), and the foreman was reappointed.

Business concluded, we piled into cars and drove to the Heritage Museums in Sandwich for some dancing. The hot and humid weather caused us to wrap things up after fewer than a dozen dances, and we capped the trip with rides on the carousel and some portraits in the Art Museum.

As usual, we opened with Highland Mary.

From 2009 PMM AGM

We danced at several places around the grounds and wound up at the carousel for a ride.

After one last stand outside the carousel we went back into the museum for some portraits.

Monday, June 8, 2009

"It's almost like being a Morris Team."

That's how Tom, the concertina player extraordinaire for the Pinewoods Morris Men, once described having Pinewoods dance out on three consecutive weekends. We repeated that rare event this spring, dancing at the Marlboro Morris Ale, the Marlboro Morris Men's Portland gig, and the Bouwerie Boys' annual Suds. I took a few pictures:

2009 Marlboro Morris Ale

2009 Portland Tour

2009 Suds

Thursday, May 21, 2009

Spring in E-town

Kathy, one of my mom's helpers, sent me these pictures of Mom out and about near her apartment.

Mom, May 2009

Saturday, May 16, 2009

Grrr - consumer-grade ISPs

I've just wasted over an hour trying to figure out why Katy was not able to access her email via POP at our Google-hosted domain. Sending mail worked fine; receiving, though, just hung.

It turned out to be the firewall settings on the Verizon-provided DSL router at Katy's parent's home in Falmouth. It was blocking outbound access to port 995, used by gmail's POP server. I switched the firewall setting on the router to "minimum" (from "typical") and the port was unblocked.

I have to believe that Verizon changed this setting recently, because email from here has worked before. Grrrr. Maybe this blog posting will save someone else a little fruitless searching...

Saturday, May 2, 2009

Obamanomics and The Matrix

This week's New York Times Magazine lead article is After the Great Recession, an interview with President Obama by David Leonhardt. It provides a great window into Obama's thinking on the ecomony and other issues, including health care. Here's an excerpt from the health care discussion:

LEONHARDT: And right now we’re footing the bill for a lot of things that don’t make people healthier.

THE PRESIDENT: That don’t make people healthier. So when Peter Orszag and I talk about the importance of using comparative-effectiveness studies as a way of reining in costs, that’s not an attempt to micromanage the doctor-patient relationship. It is an attempt to say to patients, you know what, we’ve looked at some objective studies out here, people who know about this stuff, concluding that the blue pill, which costs half as much as the red pill, is just as effective, and you might want to go ahead and get the blue one. And if a provider is pushing the red one on you, then you should at least ask some important questions.

LEONHARDT: Won’t that be hard, because of the trust that people put in their doctors, just as you said? Won’t people say, Wait a second, my doctor is telling me to take the red pill, and the government is saving money by saying take the blue —

This cracked me up, as Obama was evoking Morpheus, from The Matrix:
This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes.

This kind of red-pill / blue-pill symbolism can't be what Obama intended, and I'm sure I'm not the only person who will notice this. Ooops...

A follow-up note: I pointed out this amusing little slip on the NYT's moderated article comment section; they declined to publish it. I guess levity has no place at the Times.

Sunday, April 19, 2009

Spring on the North Shore

On Saturday Katy and I went for a series of walks at some of the parks and woodlands of Massachusett's north shore. This was Plan B; we had intended to hike up Mt. Monadnock, but threatening weather convinced us to stay closer to home. While we ended up with a much more modest day of walking, it was nonetheless quite lovely.

We began by driving north from Cambridge to Manchester and then toward Gloucester on Massachusetts route 127, looking for Ravenswood Park, a 600 acre preserve of the the Trustees of Reservations. Before we got to it, though, we stumbled across a different Trustees' parcel at Coolidge Point. This small park contains a large pond and the lovely Ocean Lawn, an expanse of grass punctuated by some magnificent trees. The coastline here is very different from the sandy Cape Cod beaches I know know visiting Katy's parents in Falmouth; the shore is much more rugged.

From 2009-04-18

From Coolidge Point it's a very short trip to Ravenswood Park. This large park has many small ponds and vernal pools, some nice views of the ocean, and lots of rocks covered with this interesting growth.

On our way out, we observed that a young visitor had made a presumably unintended contribution...

Our last walk was at Halibut Point, a park we've visited several times before. Just north of Rockport, this preserve offers a rather unusual tower, an inactive quarry, some stupendous rock piles, and interesting tidal pools.

We capped the trip with a visit to Passports restaurant in Gloucester. The food was superb.