21 November 2007

AT&T uses IBM WebSphere SIP

Erik Burckart, former co-worker and all around cool guy, pointed out that it's finally public that AT&T uses WebSphere SIP and followed it up with some screaming SIP performance numbers.

I spent better than a year working on an earlier incarnation of WebSphere SIP, and it's very nice to see it succeed both technically and in the marketplace. From the press release, it is also fun seeing IBM build SIP-related capabilities into Tivoli and Rational products in addition to WebSphere.

John Francis and the QR Algorithm

My friend Flip used to get a kick out of his electrical engineering textbooks because they'd include biographies of major engineering contributors who died obscurely and in poverty. Flip speculated those biographies were intended to be motivational in nature.

Our numerical linear algebra class covered the QR algorithm. In class, our professor mentioned its place as one of the most important algorithms ever. Later, he passed along an interesting note. One of the biggest contributors to the algorithm had never heard just how important it was...

Date: Sun, 19 Aug 2007 13:54:47 -0700 (PDT)
Subject: John Francis, Co-Inventor of QR

Dear Colleagues,

For many years, I have been interested in meeting J G F Francis, one of
the co-inventors of the QR algorithm for computing eigenvalues of general
matrices. Through a lead provided by the late Erin Brent and with the aid
of Google, I finally made contact with him.

John Francis was born in 1934 in London and currently lives in Hove, near
Brighton. His residence is about a quarter mile from the sea; he is a
widower. In 1954, he worked at the National Research Development Corp
(NRDC) and attended some lectures given by Christopher Strachey.
In 1955,'56 he was a student at Cambridge but did not complete a degree.
He then went back to NRDC as an assistant to Strachey where he got
involved in flutter computations and this led to his work on QR.

After leaving NRDC in 1961, he worked at the Ferranti Corp and then at the
University of Sussex. Subsequently, he had positions with various
industrial organizations and consultancies. He is now retired. His
interests were quite general and included Artificial Intelligence,
computer languages, systems engineering. He has not returned to numerical

He was surprised to learn there are many references to his work and
that the QR method is considered one of the ten most important
algorithms of the 20th century. He was unaware of such developments as
TeX and Math Lab. Currently he is working on a degree at the Open

John Francis did remarkable work and we are all in his debt. Along with
the conjugate gradient method, it provided us with one of the basic tools
of numerical analysis.

Gene Golub

17 November 2007

Gene Golub, 1932-2007

Having just recently gotten an appreciation for what Golub has contributed (from classes, books) and how active he's continued to be (talking to profs who've recently written papers with him) it was wildly unexpected to see this forwarded to my inbox this morning:

From: Cleve Moler 
Date: Fri, 16 Nov 2007 17:55:42 -0500
Subject: Gene Golub, 1932 - 2007

Gene Golub, founder of the NA Digest, passed away today, Friday, November 16,
at the Stanford University Hospital.  He was 75 years old.

Gene returned home to Stanford recently from a trip to Hong Kong.  He was
planning to leave again Tuesday on another trip, this one to Zurich where the
ETH was to honor him with a special degree.  Instead, Sunday night he went to
the emergency room because he was "feeling lousy".  On Tuesday, he was found
to have AML, acute myelogenous leukemia, a form of cancer that affects the
white blood cells.  This is a potentially curable disease and he was expecting
to begin chemotherapy today.   But serious complications developed suddenly
over night.

I was able to see Gene for an hour last night and he was in reasonably good
spirits.  Mike Saunders was trying to get Gene's laptop to use dial-up over
the hospital's phone system because Gene said he was a couple of days behind
on his email.  I was planning to get a wireless card for his machine today.
None of us had any idea how suddenly the situation would worsen.

The Stanford iCME students have created a memorial blog at

Our community has lost its foremost member.  He was a valued colleague and
friend.  Goodbye, Gene.

 -- Cleve Moler

13 November 2007

Python dictionaries and Java Hashtables Analogy

I stumbled across the open source SAGE project this past week. Among many other things, SAGE uses Python to unify the many disparate programming languages introduced by packages like Mathematica and MATLAB. I figured SAGE would finally be a good excuse to improve my lousy Python skills, and I started reading Dive Into Python.

During it's description of Python dictionaries, Dive Into Python makes the comment that

"A dictionary in Python is like an instance of the Hashtable class in Java."
Immediately I've got some bad lingering associations from my former IBM server-side Java work. Hashtable access is inherently synchronized in Java, but many programmers aren't aware that they're paying synchronization overhead on every get and put. These folks learned about Hashtables from Java 1.1 material and never moved onward to Maps as the Collections framework improved. Scarier still is when people do know about Hashtable synchronization but fail to use newer mechanisms like Collections.synchronizedMap wrappers and ConcurrentMap implementers to document their synchronization needs explicitly.

All in all, Dive Into Python's analogy seemed wrong. So I bugged Michael Gilfix. Mike's my single source for all questions involving at least two of the trio "Java/Python/threads":

Hey Mike,

I ran across
  > A dictionary in Python is like an instance of the Hashtable class in Java.
in a python tutorial I was skimming.  Do they really mean Hashtable
with all the underlying synchronization implications?  Or do they mean
HashMap and didn't think hard enough about the analogy?


To which he replied:

Hey. It's like a hashmap. You need to synchronize using something like
mutexes from the threading package. None of the built in collection types
come with built in synchronization. Sounds like you're having fun.

09 November 2007

Helicopters, damaging tendencies, make send-thanks

Random stuff I've gotten a grin from over the past week...

I'm not one for black helicopter paranoia but apparently it's common enough to warrant announcements:

Tomorrow afternoon ... a group of helicopters will be practicing for their flyover at the DKR stadium during this weekend's football game. . . . Campus Safety and Security is providing this advance notice to faculty, staff, and students so they may be aware and, hopefully, unalarmed at the helicopters' presence.
Evil paraphrase: Ignore the black helicopters flying over campus—they're just practicing so they can be effective during large public events.

While covering design optimization in a class, the professor showed us a slide about shape optimization in a particular biomedical device. It included the line

Design challenge: overcome tendency to damage red blood cells

Lastly, from the release notes of the libFLAME library:

Thank us!

We are very insecure people. So, if you like the libraries and find them useful, send us a message! We even make it easy. In the top-level directory of the libflame distribution, execute:

    make send-thanks

This will automatically e-mail us a message!

Subscribe Subscribe to The Return of Agent Zlerich