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

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 him, 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, sauted squash with garlic and basil, lasagna with sliced squash instead of pasta/noodles.
Enjoy!






Thursday, June 6, 2013

Advising Junior Colleagues

About two and a half years ago I wrote a blog post about advising grad students. At long last, here is Part II in my (very slow) advising series. It addresses the question, "What do you tell your Junior Colleagues?"

Let me begin with a disclaimer: I can't guarantee anyone success. When I talk to my junior colleagues, whether at Harvard or elsewhere, I tell them things I really believe, but (unfortunately) I don't make the rules, I don't make decisions, and what I believe may or may not be right for any particular person or institution. So, this is my opinion on what I think one should tell Junior colleagues. But hey, this is my blog, and everything in it is just my opinion.

Let me just start out by putting it bluntly: being a professor is a bit of a crazy profession. It's one that has worked for me and offers many features (perhaps the topic of a later blog), but it's not the kind of job any sane person would make up. You get into this job because you're used to being really good at everything you do. Unfortunately, there are way too many things for a professor to do that you can continue to do all of them at the same quality level that makes you comfortable This is perhaps the greatest challenge that we have to face -- be willing to do things at less than peak performance. I repeat, "You must be willing to do some things at less than your peak performance." This seems totally counterintuitive in a highly competitive job, where you feel that everything you do is highly scrutinized, but if you try to excel in everything simultaneously, you will drive yourself totally crazy.
So, what is an over-achiever to do?

Pick and choose carefully. The key here is that you can't do everything well all the time. Instead, you pick what you are going to do well at any point in time. As an academic, I like to think in terms of semesters. At the beginning of each semester, you have to decide which are the things for which you need to produce A work and for which can you slide through with B work. Each semester, the lists change slightly so that at some point, every functional area gets some A work and some B work and every semester gets some A work and some B work.

Let's make this more concrete.

Let's say that you've just started your first faculty position and you want to make a good impression -- how do you get started? My advice typically goes something like this. No one expects you to crank out much research your first year. If you have some straggling papers from your dissertation or post-doc, that's fantastic -- get those out. But, your real focus in year one is to get your teaching under control and get your research agenda planned. Note that planning a research agenda is different from doing research, but we'll get to that in a minute.

If you are in a kind department, then you can assume that you'll be teaching the same courses for several years. That means that if you invest time this year in developing your courses the way you want to teach them (i.e., you make teaching an "A" priority), then you can leverage that investment over the next several years (expending "B" effort, while ideally obtaining "A" results). So, while many will tell you that any time you invest in teaching is wasted, I disagree. Good teachers get good students. And good students will help you do your research. That said, invest time wisely. Time spent automating grading is time well spent. Time spent developing four thousand step animations is not. (And trust me, it is very easy to fall into this trap. I've done it.) I could go on for quite some time about what is and is not a good use of your time with respect to teaching, but that's another topic. For some detail, I recommend my colleague Harry Lewis's article on the topic or my more recent experience elsewhere in this blog.

And then remember that what works for me may not work for you. The key ideas are:
  1. Figure out what works for you.
  2. Invest time in things that are reusable.
  3. Remember, the quality of your teaching is best measured by how much the students learn, not how entertained they are or how much they think you or your slides rock.
  4. True learning takes place when students do things and get feedback -- anything you can do to improve the quality of feedback students get on work increases the chances that students are actually learning something.
Sadly, most students never look at anything other than the final grade on massive assignments. I spend hours grading final papers and both writing and typing up detailed comments. Few students actually read these comments, so perhaps it's not a good use of my time. However, I still do it, hoping that perhaps one of them will actually learn something.

OK, so picking up the main thread here -- invest time in your courses in year one so that in the next two to three years, you can teach the same courses with minimal effort. You hire good teaching assistants, you pull out your notes (and perhaps assignments) from the previous year and you spend almost no time preparing. Sure, in those future years, you're giving a B effort in teaching, but because of the prep you did in year one, you ought to be able to invest B effort and get A- or B+ results.

The second part of year one is planning your research program. That probably means figuring out what you want to do and then writing the proposals to get funding for those projects. This is the time to renew acquaintances with all your friends who are now working in places that fund academic research. See if you can get some supporters lined up for corporate grants -- these are small grants, but require significantly less effort than your classic NSF grant. You'll want to submit one or two of those as well (and I mean one or two, not six or eight), but your main goal is to have a plan for the research you want to do and convince people to give you money to do it. If you have your ideas well in place by the end of the first semester, that puts you in good shape to identify the grad students you want to admit.

Getting a handle on what projects/research you want to undertake also sets you up in semester two and over the summer to write high quality grant proposals. This is the time to squelch your inner procrastinator. Get your proposals written early enough to get feedback. Ask your senior colleagues for critical review -- if you are in a good department, they want you to succeed and will help you submit the best proposal you can. It's also worth teaming up with another colleague or two for some bigger proposals if (and this is a big if) the work necessary on the larger project is compatible with that research agenda you spent so much time crafting. Don't lose sight of that.

So, if all goes well, by the end of year one, you will have lots of reusable materials for your teaching, a research agenda on which you can begin to execute, a couple of proposals in the pipeline, and some incoming grad students whose interests are well-aligned with your research agenda. Begin year two.

Year two is all about getting your research firing on all cylinders. Over the last several years I have become a strong believer in knowing what paper you are writing when you begin a project. If it's real research, then you had better not know the results, but you had better have some hypotheses. Write those down. Really. Honest, write the opening paragraph that motivates what you are doing and why. If you can't write it now, why are you doing the research you're doing? Sure, you don't know how it will turn out, but if you don't have an hypothesis, you don't really know why you're doing what you're doing.

Concurrently with getting that research started, you're also starting to be a graduate advisor. That is a whole other topic, but in the context of this discussion, the message is you have to realize that this is another one of those activities that you need to learn to do. And every student needs a different advisor -- you might be able to play that role for multiple students, but if you walk in believing that you can advise every student identically, you will not be a successful advisor. You need to have some basic advising methodology and a philosophy, but you need to get to know your students, understand their strengths and weaknesses and figure out how to most effectively advise each student. This will take time.

After year two, you should be a on a role of focusing mostly on your research and students, and then periodically having to step back and brush up your teaching (i.e., make it an A task for a semester or two), whether to update a course, update your teaching methodology, teach a new one, develop a new course, translate your course to the web, etc. However, if you use that time effectively, then you can still make research an A priority for many of your semesters. Do not confuse grant writing with research -- grant writing is a necessity (at least in my field). If you are successful, you can secure several year's funding with a semester or two of concentrated effort and then forget about funding for awhile. However, you have to keep track of where you are in the funding cycle and know when it's time to elevate grant writing to an A activity, so you don't suffer from a gap in funding. Personally, this is a huge challenge for me as I'd much rather do research than write grant proposals (I'm kind of guessing I'm not alone here). As a result, I can end up leaving grant writing a low priority for too long -- don't let this happen to you.

Now, some of you are getting ready to scream at me and say, "What about all that other stuff? What about program committees and NSF panels and guest lectures and attending conferences and departmental committees, and undergrad advising and all those other things that our institutions expect us to do????" If your colleagues aren't already ready to fire me for saying that you can sometimes relegate teaching to a B activity, I'm sure some will cringe at the next section.

High order bit: you do not have to do as much of this stuff as you think you do.

There, I said it. Seriously, the closest I've ever come to "yelling" at my Junior colleagues (you know who you are) is when I see they have signed up to do six program committees in one year. Yes, program committees are useful. Yes, they keep you up to date on what people are doing. Yes, they get you known. But six? No! It's not a good use of time.

My advice is no more than two program committees each year. One of those can be a real conference and one can be a workshop. Yup, no more than two. And you don't have to do two every year, but repeat after me, "No more than two." There, wasn't that easy?

Now, how do you pick the two? You want to work your way up to getting on the program committee of the big conference in your area. It needn't happen in years one or two, but by year N-1 (where N is the year you are up for tenure), you want to serve. In the meantime, build up your PC credentials by serving on the slightly less prestigious venues. Pick workshops that are very closely aligned with your current research agenda. It's fine to approach current chairs and let them know that you'd like to serve on a future committee -- they will pass it along to the next chairs (of course, if you already know who the next chairs are and they've not yet put together a committee, you can approach them). You can also ask your senior colleagues/mentors to help you get on the big program committees. However, your best approach is to accept a limited number of invitations and do an outstanding job. Get your reviews in on time, engage in thoughtful discussions, be positive, etc. Trust me, you'll have more invitations than you'll know what to do with. But now you know what to do, say, "I'm really sorry, but I'm completely booked up this year on program committees -- please let next year's chairs know that I'd be interested though."

Note: I do not always heed my own advice, and I almost always regret it.

OK, that's program committees, what about NSF panels? I find that serving on those is extremely helpful right before I am about to submit a proposal, because they remind me how panels work and what's important in a proposal. So, you should do a few of these, but not a lot -- perhaps one every other year? That feels about right to me. And yes, you'll get asked to do more. Fortunately, those invitations are always accompanied by specific dates, so you can use your, "Oh, I'm so sorry, but that day/week/month is simply not possible for me."

How about committees in your own department? This is a bit tricky. If you are in a nice, nurturing department, they won't ask you to do too much, because they don't want to distract you. However, there are some committees that are worth the time -- in my opinion graduate admissions and hiring. The former because it gives you firsthand knowledge of the pool and puts you in good recruiting territory. The latter, because you know who's coming out in the few years after you, who you might want for colleagues, and at whom you should be looking. However, moderation is your friend -- don't do both in one year -- each of these is very labor intensive (admissions a huge burst at one time in the year; search a more steady time sink throughout the year). Just like with your PC invitations, you can be polite and constructive in turning down committee invitations, "Dear Chair You-Who-Controls-My-Destiny: While I would be very excited to serve on the suck-all-my-time-out-of-day committee, I'm afraid that I cannot do it this semester/year. I've already scheduled all my committee time on other activities. I would however be happy to serve next year (and will reserve time now if that's feasible)." What's a chair to do? They can't really dispute what your schedule looks like and you have, in fact, signed up to do it next year. Of course, if it's an activity that you feel you never want to do unless someone is holding a close relative hostage, you'll need to tweak that letter slightly and leave off the part about wanting to do it in the future.

Finally, there are those friendly invitations to "Come give a talk." Giving talks is a good thing; it can be fun; it gets you visibility and gives you a chance to find out what's happening in a department. But, it also takes time and means "yet another trip." So, be strategic. There are times during your pre-tenure years that giving talks is more important: the semester before your department is going to write to every researcher on the planet asking their opinion of you. Yup, the year before tenure and, if you have a formal mid-tenure-track review, the year before that. Even then, you do not need to give 4000 talks. Be strategic. You can probably guess at least half of the people to whom your department is likely to write. Pick the very top departments from that list. Rather than visiting every institution on your list, leverage the most prestigious departments in your field. Be visible -- maybe, just maybe, if you're up for tenure, you give the talk rather than having your student give it. Even if you don't do that, use your conference time wisely: talk to colleagues, let them know what you're up to. Invite them out to lunch/dinner with your students. Finally, rather than traveling to give a talk, you can ask your department to invite them as colloquia speakers. It's funny how many invitations I get to come give talks that are followed up a year later by letter requests. You think it's purely coincidence? I don't.

The other way to make sure people know what you're up to is to convene a mini-workshop on YOUR RESEARCH. You have to get this right, but if you have the funding and can really take advantage of the event and you can persuade people it's worth their time, there is nothing better than inviting 15-20 bigwigs in your field to spend a couple of days at your institution engaged in thoughtful, interesting conversation. If they also happen to come away with the big picture of your research agenda, won't you feel like the star? I believe that it is becoming more common for departments to allocate at least some funds to help you do something like this. It can save you a lot of travel.

Above all, learn to say, "No." You can be polite, but you must be firm. After one particularly brutal year, I adopted the mantra, "It's all my fault." The message to myself was supposed to be that I control my work life and if I'm too busy, it's because I've said yes to too many things. Surprisingly, rather than being a defeatist attitude, it's actually quite empowering. If it's all my fault, then I have the power to change it.

One of the trickiest things for me is saying no to students. I truly love spending time with students -- after all, if I didn't like students, why would I choose to be at a University? When they invite me to a faculty dinner, I'd love to go, but guess what. Dinner time is family time in my life. I already miss way too many dinners when I travel and I frequently have some child-transportation responsibilities in the late afternoon or early evening, so it's quite difficult to really make faculty dinners go. So, what do I do when students ask? Typically I explain that evenings are rough for me, but suggest that we do lunch -- either during the semester, or more frequently during reading period when both our schedules are a bit more flexible. This past year, I had evening duty in Cambridge with one of my kids and that let me attend a faculty dinner or two or use those evenings to take students out. Yes, it cost more than a faculty dinner, but the students are more interested in just hanging out with you and talking than with trying the local 5-star restaurant (should you have one). The hours I've spent over lunch, dinner or coffee with students are among the most fun of the semester -- it doesn't matter if it's in the formal setting of a faculty dinner. In fact, think of the faculty dinners as mechanisms for you to figure out which students might enjoy just chatting and then do that!

OK, those are the things I like to tell my colleagues. Some have found these words useful; I'm sure others will find that they don't work. In any case, you get to make decisions about how you spend your time. If you make those decisions wisely, so that they simultaneously help you be productive and keep you sane, you will either end up tenured or you'll end up not-tenured, but reasonably content with your life, instead of bitter and resentful.

A Note on Powerpoint and Teaching

While in the midst of finishing up an upcoming blog post on mentoring Junior Faculty, I wrote up the following. It seemed like a topic that is more generally interesting and that such detail doesn't belong in that other entry, so here it is all by its lonesome.

I'd like to talk about powerpoint (or any other presentation software), animation and teaching. For years, I avoided teaching with powerpoint, because I like to scribble on slides -- my slides are typically the outline of what I want to talk about and are mostly reminders for *me* so that I remember what I want to tell the students. However, there is information on them that you don't want students to have to frantically scribble down, so you think, "Hey, I can give them copies of the slides, and then they can listen to me instead of scribbling frantically." This is the beginning of the slippery slope. Once you hand out notes, the students believe that they are proxies for lecture, and if they are not, they will complain bitterly. Even though I very clearly explain that the notes are for me and are provided as a service and are not a replacement for lecture, I've been totally reamed for "having four blank bullets on a slide and only filling in three of them during the discussion in class." I kid you not.

Anyway, I finally transitioned to powerpoint when I got a tablet, because then I could have pretty slides and scribble on them. The first year I did this for my OS course, I spent way way way too many hours building meticulous animations of a context switch. You know ... I am 100% convinced that those animations wasted a ton of my time and benefited absolutely no student and probably harmed some. All the literature confirms that students do not learn by passively watching or listening to you -- passively watching you step through the animation, even if you explain it ever-so-eloquently, is absolutely not the same as forcing them to figure out what the steps are. Yup -- it will take a lot longer if you make them figure things out, but you know what -- they'll actually understand it better. (You may argue that with the picture perfect animation they can step through them later and without you there actually understand what's happening. While that may be true, one in twenty students will do it, while pretty much everyone sitting in a classroom has to pay some amount of attention if you're constantly making them explain what is going on.)

I do devote time to trying to make my slides and explanation as clear as possible when I am recording material for students to screen in advance, but I am working hard to avoid spending significant fractions of my waking moments building fancy animations. In my opinion, animation bad; making student think and discuss what things must happen, how they happen, why they happen, etc. is significantly better.