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!

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