It's interesting to see how far C# progressed since this was written. Just a couple of years later, C# 3.0 came out and his example becomes:
mylist.Select(foo => foo.Description())
.Where(x => x != "")
.Aggregate((a, b) => a + "\n" + b);
Which is, I think, pretty nice.