Long ago (1988) I moved to Berkeley and started sending a monthly "newsletter" to my Boston friends. When I returned to Boston (1993), I continued the tradition for about five more years (or until I had kids). Looking back, I realize that I was actually blogging. Each newsletter contained anywhere from a few to several blog posts. Having been silent for the past decade or so, I've decided to resume these activities. Don't expect anything profound -- I tend to focus on what I find entertaining or amusing and perhaps sometimes informative. We shall see!

Tuesday, April 15, 2014

CS161 Through the Ages

It's that special time of year when we need to design this year's CS161 T-Shirt. Students requested seeing previous shirts, so here is my historical collection.

2001

2003

2009

2011

2013

Saturday, April 5, 2014

The first Seussical

And because it's always a good time for Doctor Seuss. Here was the first one I did that started it all.

While he ran the Circus

In all the whole world, the most wonderful spot
Is right here in Cambridge near the Law School lot
It's just the right spot for my wonderful plan
Said Venky Narayanamurty, I can do it I can

He came to Harvard in 19-98
The Division had lots of stuff on its plate
But his long term vision was always in sight
A school of engineering -- that would be right

One hire here, three hires there
Creating offices out of thin air
And yet with each hire, as FTE's grew
Each and every one was one Venky knew

From the youngest new member, just out of school
To the most senior -- tip top of the pool
Venky knows each new hire astonishingly well,
Having taken many to lunch or dinner for the sell.

When time came for promotion, the faculty knew
That admidst the commotion, Venky knew what to do
From junior to senior one here and one there
And soon thereafter, each had a committee to chair

Through all of this growth and all of this work
Our Dean Venky had one unusual quirk
His students, his postdocs, his young undergrads
Continued their research with Venky -- ye gads!

How on earth did he do it, we all wondered how
Here a decade later, we still wonder now
A division to run, faculty to tend
It seemed clear that his days never end

And yet every day either early or late
He'd enter the lab with his unmistakable gait
No longer a dean, just a regular teacher
Reviewing, critiquing and improving each feature

Four Presidents, three deans of F-A-S
He served them all and served us no less
For he always said, "I work for you."
And now I have a parting gift for you too:

Watch as I take a Division quite strong
Add administrative support and before very long
A school of engineering at Fair Harvard at last
Our days in the shadows are now in our past

Thank you is not nearly enough to say
And we know that you aren't going away.
So, to Venky, our colleague, leader, mentor, and friend
Dean or not, we'll follow you to the world's end

Saturday, March 8, 2014

CS50 is so Nifty

Since I posted my latest "Seussical" I figured I should post a few of my others as well.

In honor of my awesome colleague David Malan.

One hundred two hundred three hundred four
Five hundred six hundred seven hundred more!?

Some major in Ec, others in gov,
but it's CS50 that they all come to love.
Some have programmed before, others have not,
but after three weeks it doesn't matter a lot.

Whether starting from scratch or from where skittles are easy,
even if "this old man" is a little bit cheesey,
through crypto and games to forensics and more,
they've all heard of 50 from Morocco to Singapore.

Whether by way of the the norm, or the hacker edition,
the students complete their CS50 mission.
Some do it by day, others by night
But when psets are due, they have all done all right

Why are they here and not ever there?
We don't know, they don't always share,
but it's probably the fantabulous CS50 Fair

Some start out nervous and some start out brave,
but many are just excited by Dave.
Some worry about failin', and we sometimes hear wailin', but mostly we hear,
"Thanks to good Professor Malan!"

Oh me Oh My
Oh me Oh My
David Malan is our 50 guy!
The kids are inspired, even when they're tired.

Why do they do it?
We don't get it quite,
But we know that with pizza and breakfast, they'll do it all night!

Year after year, we watch the course grow.
But it's more than just numbers you know.
There are ideas, so novel and new,
and tons of hard work done by only a few.

But we feel David's impact in course after course
Through numbers and interest, we feel the force.

We can't give you stock or even big money,
just do something cute and perhaps even funny.
What we want to do is say thanks and much more,
your presence, your teaching, your ideas we adore.

So keep working your magic and doing what you do,
knowing we're all extraordinarily grateful to you.

Friday, March 7, 2014

Systems at Harvard

Today was our visiting day for Prospective PhD students and we had a bit of fun with our research presentations. My esteemed colleague, Eddie Kohler, dubbed the series of talks, "CS Idol." Our instructions were, "Talking about research is OK, but funny is better." So, this is what I did …

The sun tries to shine
But it is too cold to play
Welcome to our open house
On this cold, wintery day

You're sitting with peers
And some faculty too
And we say "How we wish"
You'll be G1's we do!

Too cold to go out
Here's a show just for you
So you sit here politely
Like we ask you to do

So all you can do is
Sit, sit, sit, sit!
And I bet you don't like it
Not one little bit

Bump!
And then
Bump
How that bump makes you jump

So Look!
He couldn't be droller
Go look!

The Kohler in a Bowler!
And he says to us
Forget about this vortex Polar
In SEAS it is sunny
So we can have
Lots of good fun that is funny

I know research we
could do Said Kohler
Some new research

Said Kohler in a Stroller
A lot of good research
I will show it to you
Your teachers
will not mind at all if I do

First, we start with a tree
"Add a trie," said Kohler
Trees and tries are quite good

Said Kohler on a Roller

Why we can have
Good alignment in cache
Using each byte
To avoid any thrash

Pack the keys! Keep them small
Break them up into parts
Pack the keys! Keep them small
Stats will blow off the charts

"We do more," said Kohler
I give you transactions
Without blocking at all
What lovely abstractions
We make you a silo
With performance galore
Hundreds of Thousands of
ops per second and more

Just you wait
We can do more said Kohler
With key values and caches
And a cache patroller
Materialized views!
So dynamic and fresh
We say Pequod cache joins
Are most sure to impress
"That's amazing!" said one and all
But that is not all
Oh no.
That is not all...

Look at me!
Look at me!
Look at me Now!
It is fun to have fun
But you have to know how.
And know how, he sure does
It's Doctor Morrisett
Studies typed languages

With his dear bovine pet
Ask him for type safety

And he might say Y not
Ask him bout the botnets

He might say, "NoBot!"
And his research is hot
But that is not all
Oh no
That is not all

What Greg was about to say
Before he flew away

And landed with a CRASH
Soup should be made of Stone

And seasoned with CHILI
Tis a fact well known

Next comes Good Prof Seltzer
But we call her Fizzy
She too works on systems
When not feeling dizzy

Big graphs are her game
Made of vertex and node
Her group has just showed
Quite efficient code

For finding neighbors
With memory to spare
Trade space for much time
In an LSM flair

Or shard that big graph
Using a junction tree
Implementation
As Speedy as can be
Our goal you shall see
Databases of graphs
Bigger than any
Edges skewed like giraffe's
This isn't just laughs

If it's not hard enough
Just make them all streaming
If you think it's easy
You're really just dreaming

Just add them in layers
And remove them the same
And so said the Dizzy Ms. Fizzy
so so so so
I will show you
Some more good research I know

And now I'll run out
And then fast as a fox
I'll simply return
And come in with a box
A big black steel box
It is shut with a hook
Now look as this trick
Says Dizzy
Take a look

If we peek right inside
Then we'll see lots of cores
But how can we use them
With ease, she underscores
Complex code she abhors
Add cores one by one
adding more speed through
Core ten thousand and one
Make programs fast
Almost magically do
No help from mere mortals
Would be a grand coup!

We'll use some guesses
Based on good statistics
And pick out those spots with
Good characteristics
Speculate the code
And stuff in a cache
And maybe later
We'll get a hit and dash
Then programs run fast
Every time that we hit
We really can do it
Each and every bit!

So now you have seen
Lots of research that's fun
And the only thing left
Is to meet everyone

Enjoy the rest of your day
With students and friends
What you do depends
On what he recommends

Sunday, January 19, 2014

On Kindness

I'm not usually particularly sappy, but every once in awhile, I reserve the right to do so.

This week, an open letter to a kind and generous traveler went viral. (If you didn't read it, it's worth a read; if you don't have time, the reader's digest story is, "Mother traveling with autistic daughter gets a seat companion who, rather than being annoyed by child, engages with child and helps to entertain her during plane flight.") Anyway, it reminded me of a plane trip many, many years ago.

I was headed to California with two kids, roughly ages 3 and 5. They were pretty seasoned travelers at the time, because they did most of my business travel with me. I had enough frequent flyer miles that I always tried to upgrade us. On this particular flight, we had been upgraded, which meant that seating was two seats on each side of the aisle. I sat next to my 3-year-old daughter and across the aisle from my 5-year-old son. We were on the 5:00 Boston to SFO flight, which meant that with high probability, the person next to my son would be a tired business man looking for a relaxing flight home. And that's what I thought happened when a well-dressed man sat next to my son. But like Daddy in seat 16c, this traveler was not too tired to be kind. He helped my son with his meal tray, was gracious regardless of what was happening, chatted with in, and in a moment that made my heart melt, gently placed a blanket over him when he curled up to go to sleep.

Like the Mom in 16a I was enormously grateful. As we left the plane, I expressed my gratitude and handed the man a business card telling him that if he were ever back in Boston, I owed him a drink. In the "it's a small world" department, it turned out that he had actually heard of the tiny company my husband and I ran, because we traveled in the same technology sector.

Needless to say, the open letter reminded me of this trip, so I went out on a limb and dropped an email. And, in keeping completely in character from so many years ago, I received an almost immediately reply. The exchange made my day, so I am sharing it here:

XXX, 

Many years ago, perhaps 11, we were on a flight together from
Boston to San Francisco and you were the "lucky"  person who
ended up sharing a row with my 5-year-old son in business class.
You were kind and gracious and I have always been grateful.  I 
was reminded of that by a story that went viral today on HuffPost.

Perhaps my experience was less dramatic, as my son didn't 
have the same challenges as the young lady in the article, 
but my reaction and the gratitude was pretty much spot on.

So I thought I'd just drop a note today to say hello and 
wish you a happy New Year.

- Margo
And the reply:
Margo,

Wow - great and unexpected surprise.

For some reason I've never been quite certain about, that flight and
the time spent with your son has always remained in my mind like it
was last week. Your son is a great person!

It's great you remember and I hope you and yours are all well in 
this new year.

All the best,

A couple of things -- I always try to respect people's privacy, so I have left this kind man anonymous (although I may drop him a note and ask if he'd like to be identified). But what should we take away from such stories? I guess I take away two things:

  1. I had a college roommate who always said, "When you think highly of someone, they shouldn't be the last to know." This has always struck me as sage advice, and I try very hard to live it. When I find myself raving about person X to person Y, I try very hard to go back and make sure person X knows how highly I think of him/her. It's actually somewhat uncommon to simply tell people you respect them, admire something they did, think the world of them, etc, but you know what, it's a really good thing to do.
  2. Kindness often doesn't cost anything and is frequently pretty simple. It just requires an ability to look outside oneself. Again, it's another thing worth doing.

Friday, August 2, 2013

101 Uses for Summer Squash

It's that time of year again. The zucchini, pattypan, and other assorted summer squashes are ripening and that means that it's time to get creative about how to use up all that summer squash. It starts out slowly enough. You think that a couple of stir fried zucchini dishes and perhaps a vegetarian pasta casserole will keep your zucchini in check. Then you find yourself at the CSA acquiring many pounds more squash. So, what do you do?

My old standby that is quite popular with the younger crowd are chocolate zucchini muffins (thanks to Jill Levien).

This year, I branched out and went for Sue LoVerso's chocolate zucchini bread. I did this one both for home and for a potluck; it was popular.

I also signed up to feed a film crew worth of 15-year-olds one weekend. Not knowing if all present were carnivoes, I opted for one vegetarian zucchini pasta casserole in addition to the very meaty version I usually make.

There were many dinners that included stir fried zucchini (or summer squash) with garlic.

But I was still feeling overwhelmed, so I went for a variant of the lindentree casserole, which I'll call How to use up a ton of squash in something vaguely reminescent of lasagna.

Next I went to some of my favorite cookbooks and found a fabulous recipe for zucchini pizza crust from Moosewood's original cookbook. I put cheese and sauce and onions and other goodies on it and thought it was fabulous!

I may try some zucchini noodles this weekend (use a vegetable peeler to turn a zucchini into noodles; blanch them and then serve with pesto or tomato sauce or any pasta sauce you'd like).

Last year, I had a couple of other recipes I used, but didn't seem to write down:

  • Squash fritters: basically take some shredded squash, an egg or two, some parmesan cheese and enough flour to give you something you can shape into patties. Then fry them or bake them. I love these as a late night, post-soccer game snack.
  • Stuffed Squash: scoop out the gust of the squash and saute with onion, garlic, olive oil, maybe tomato, whatever spices you got from the farm and then enough bread crumbs to dry it out. Put it in the squashes and bake until the shells are soft. Tomato sauce is nice on these.
  • Squashed Slaw: Make something like cole slaw, but use shredded zucchini instead of cabbage.
  • And finally, this amazingly fudgey chocolate zucchini cake is shocking.

Don't forget old standbys such as ratatouille, sauteed squash with garlic and basil, lasagna with sliced squash instead of pasta/noodles.
Enjoy!