Blog Articles 41–45

Travel and Talks — Belgium and the Netherlands

I’m travelling next week to Belgium and the Netherlands, and have several talks scheduled; I’d love to see you at one of them.

These last three talks will be variants of my Recommending for People talk, updated from the version I gave at Albany if you want a preview.

If you are in one of these general areas and would like to connect while I am in town — drop me a line.

Dynamic Dispatch is Control Flow

In 2010, I saw a tweet that changed how I think about programming. I do not remember who tweeted it, and I have been unable to locate it again, but its gist was “The Tao of OOP is that dynamic dispatch is control flow”.

This is true, and it creates an entirely different way of thinking about designing objects. I also find it applies somewhat to functional programming.

Let’s start with a small, contrived example:

if (shape.isFilled()) {
} else {


My productivity system is working fairly well at a few levels: I feel like my day-to-day and weekly tactical planning are in good shape, as well as my pipeline management and some medium-term planning. However, there are a couple of notable holes that I’m still looking to fill.

One Tweet Research

I spent the day yesterday at the NSF CISE CAREER workshop. It was excellent, and I strongly encourage any young US CS faculty to go to a future installment or watch the online videos if a CAREER proposal is in their future.

One thing that came up repeatedly is the need to clearly — and concisely — explain your research. Several program directors referenced the Heilmeier Catechism, the first question of which is “What are you trying to do? Articulate your objectives using absolutely no jargon.” Another brought up that it’s important to be able to explain briefly what you’re doing (or planning to do).

I’ve been adopting something like this in my talks for a few years now. When I’m giving a research seminar, one of my first few slides is ‘#1TweetResearch’: how would I convey, in a single tweet, the overall thrust of my work? Here’s the slide from my last seminar: