Blog Articles 41–45

People Are Not Tasks

The primary text in church this morning was Romans 15:22–33 — Paul’s travel plans, in which he hopes to visit Rome on the way to Spain after delivering a relief gift to Jerusalem. Our bishop is visting this weekend and gave the message, and some of the things he said got me thinking about how to live a good academic life.

The Tenure-Killer

I must not fear.
Fear is the mind-killer.
Fear is the little-death that brings denial of tenure.

— Litany Against Fear, from Dune by Frank Herbert, adapted by yours truly.

There are a a couple pieces of advice, or rather a piece of advice and a short manifesto, that have stuck with me throughout my academic career.

The first was given at orientation when I began grad school, I believe by Loren Terveen. He said, about selecting an adviser, that “who you work with is more important than what you work on”. To this day I believe this is completely true.

The second is from Matt Might, in his article HOTWO: Get tenure, which I read in my first year as a tenure-track professor:

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()) {
    fillAndStroke(shape);
} else {
    stroke(shape);
}