Skip to main content


On Grinnell’s Completion Rate (Essay #23)

Grinnell is working hard to increase our six-year completion rate.
I reflect a bit on that goal and the way it is being phrased.

Grinnell’s expected student workload (Essay #18)

In spring 2016, Grinnell’s Curriculum Committee released a document setting policies for minimum workloads in classes. In this essay, I attempt to reflect on the implications of that document.

Grinnell’s Web Presence (Essay #54)

I’ve spent the past three years complaining about the loss of important public information from our Web site. In this essay, I attempt to tie together my various comments on these issues.

Software hammers (Essay #40)

On the dangers of having too limited a view of software.

Proofpoint: How to make email miserable to use (Essay #21)

My reaction to Grinnell’s installation of Proofpoint. While I rant about bad software in a separate essay, Proofpoint causes me enough difficulty that it’s worth a separate essay.

Word choice that irritates me: Sell Yourself (Essay #80)

With all the baggage that phrase carries, why would anyone ever use it?

Terms I’ve come to despise: Best practices (Essay #86)

They aren’t.

The College bookstore (Essay #87)

Narrow and broad views of a central campus resource.

CV vs. Vita (Essay #93)

Why it bothers me when people write vita when they mean CV.

Software for reporting sexual assault (Essay #101)

Frustrations with yet another piece of software on campus, one that is particularly important to get right.

Ordering from Harry and David (Essay #139)

A comedy of (technical) errors.

More fun with Harry & David (Essay #163)

The comedy continues.

Even more fun with Harry & David (Essay #172)

It’s not so funny any more.

Harry & David: The Saga Concludes (Essay #198)

I think I’m done!

Submitting Camera-Ready Copy to SIGCSE 2017 (Essay #151)

Further evidence that computers hate me, or perhaps that I hate computers.

The strange pricing of meal plans (Essay #161)

Nonsensical numbers and my failure to get explanations.

Date and time formats (Essay #235)

On the perils of ambiguity.

The joy of administrative processes (Essay #251)

Trying to get money for the CS SEPC.

Reply to all (Essay #258)

Learn how to use it correctly!

Fighting with Microsoft Surface (Musing #263);

Why did I try?

How not to ask about a position (Musing #271)

I rant about an email message that I received.

Good things about Grinnell that frustrate me: Too many events (Musing #286)

Doesn’t anyone pay attention to our schedule of events?

Handling student course demand (Musing #290)

Yes, we need extra sessions and the occasional overenrolled course.

A (nonlinear) rant (Musing #293)

Things that bothered me one day.

Summer MAP compensation (Musing #308)

A more reasoned rant about two important issues.

The restrooms in Noyce (Musing #309)

A reason I’m ashamed of our students.

Losing it (Musing #314)

My worries about keeping up with demand.

The Ologie marketing concept survey (Musing #321)

Some good, some bad.

What’s sauce for the goose … (Musing #325)

What goes around, comes around.

Delegate! To whom? (Musing #334)

In which I try to delegate and fail.

Self-catering, revisited (Musing #336)

In which I respond to a question about catering.

Mailing list etiquette (Musing #339),

In which I wonder why people send the messages they do to mailing lists.

Yammering (Musing #372)

Misusing annoying social media systems.

It shouldn’t be my job (Musing #392),

Stupid answers to unnecessary questions.

Best of breed? (Musing #401)

Our strange software choices.

Another unposted rant (Musing #407)

Deciding not to post a rant.

Breakfast in the Marketplace (Musing #411)

A healthy breakfast, not.

Another good rant ruined (Musing #412)

A danger of paying attention to broader issues.

Which role has priority: Department Chair or Tutorial Advisor? (Musing #413)

I thought I was done musing today, then the email arrived.

Browser expectations (Musing #428)

Why do people continue to expect that I use a browser that does not exist for my operating systems?

Get Outlook for iOS (Musing #435)

Why shill for a felon?

Course tags (Musing #443)

A good idea misused (not mused).

Grinnell things I don’t understand: Student meal stipends (Musing #440)

Why do we charge more than we’ll allow them to spend?

Grinnell things I don’t understand: Accounting practices (Musing #451)

Why can’t they itemize?

Words I hate: Relatable (Musing #453)

I don’t relate.

I lied (Musing #454)

How are you doing, Sam?

Show me the data (Musing #468)

Why is that such a hard request?

Caring about (handbook) language (Musing #481)

Am I the only one who cares? Does that mean I should stop caring?

Damn, I’m old (Musing #486)

Modern musical taste.

My annual Thanksgiving Shuttle rant (Musing #487)

Thanks for suggesting my class is unimportant.

A note to Curriculum Committee (Musing #489)

Please make sure that faculty know about their advisees.

Sokal, revisited (Musing #505)

Getting not only the science, but also the citations, wrong.

Some coding reminders to myself (and my students) (Musing #507)

A reaction to the joy of dealing with crappy code.

Unsubscribe (Musing #512)

What should be an easy process.

Norman bins (Musing #515)

Bad design.

Thoughts on proposed changes to Grinnell’s gift policy (Musing #518)

Urging caution.

Potato bars (Musing #522)

Food choices.

A nine-month contract (Musing #530)

If we have nine-month contracts, why can’t we do three months of paid work over the summer?

Bad software (Musing #562)

Something that makes it harder to teach.

I hate computers (Musing #565)

The black screen of death.

Overloads (Musing #567)

Exciting opportunities lead to bad decisions.

Penny wise … (Musing #573)

The joy of bottle deposits.

Annoying paperwork (Musing #576)

Is there any other kind?

Perspectives on writing (Musing #578)

Arguing for multiple approaches.

Textbook orders (Musing #579)

Does it really make sense to make us do them this early?

Course tags and other alternatives (Musing #584)

Can’t we find better ways to understand the curricula our students design?

Two cultures, revisited (Musing #591)

Misunderstanding other disciplines.

Getting requirements wrong (Musing #592)

I am frustrated that we don’t express core requirements correctly.

Mixed messages (Musing #596)

Paying attention.

Recycling (Musing #597)

Why is it so hard?

Bad code (Musing #599)

Among the things that don’t belong in standardized exams.

Criticizing faculty proposals (Musing #601)

Something I do too often.

Better classroom software (or perhaps hardware) (Musing #611)

Following up on a recent rant.

Logos, colors, fonts, and more (Musing #612)

Does getting the right kind of Grinnell Red really matter?

Comments on the summer MAP form (Musing #624)

Minor critiques.

It’s not my Grinnellian story (Musing #626)

The title says it all.

Grinnell’s new typeface choices (Musing #633)

They want me to use Arial?

Embracing the public Web (Musing #634)

Putting information where it belongs.

Cyclic imports in Python (Musing #655)


Loading zones (Musing #656)

These are not your parking spaces.

Grinnell traffic (Summer 2018) (Musing #670)

Worse than it used to be.

Code as language (Musing #695)

Ludicrous ideas.

Badly designed software (Musing #702)

Don’t delete user files.

Reflections on some Grinnell policies (Musing #708)

That is, policies we need to change.

Critiquing a comment without critiquing the speaker (Musing #715)

Trying to be more polite. Probably failing.

More Norman Doors (Musing #716)

The wonder of physical user interfaces.

Business cards (Musing #719)

I give up.

Vegetarian in Iowa (Musing #720)

A challenge.

Getting the recipient right (Musing #721)

Avoiding the appearance of phishing.

Old or vintage? (Musing #722)

Computers become vintage way too quickly.

FedEx signatures (Musing #725)

Inconvenient, at best.

Advertisements for ghostwriters (Musing #726)

If you’re advertising ghostwriting services, you need to write well.

Bad advice (Musing #729)

Don’t worry about the language of the contract, they won’t enforce it.

The term cyberattack (Musing #732)

Has it become too broad?

SAT mistakes (Musing #741)

The College Board should know better.

The Quantitative Reasoning course tag (Musing #749)

Can we revise the description?

Amazon music storage (Musing #752)

Never trust the cloud.

Notes on Web governance (Musing #753)

Five years is too long to wait.

Frustrated with fonts and formatting (Musing #758)

Things aren’t easy as they first seemed.

Grumpy (Musing #769)

A bad day (in spite of some good aspects).

A bug (or perhaps not) (Musing #772)

Learning to check my software version.

Dear Grinnell student (Musing #773)

Life’s too short.

Hurdle rates (Musing #776)

A bad measure.

Correct spelling matters (at least to me) (Musing #784)

Would you buy a writing tool with misspelled menus?

Fiddling with Linux applications on macOS (Musing #789)

Things are never as easy as they should be.

Check your comments (Musing #798)

Make them useful, or don’t make them at all.

Outlook 365 vs. (Musing #801)

I hate computers.

Cheapening the brand (Musing #809)

I hate crappy Web sites.

The MathLAN Web servers (Musing #823)

Why they’re important.

Scientifically illiterate swim parents (Musing #835)

Don’t be selfish!

I want my REPL! (Musing #839)

Working with MySQL databases.

Who gets the credit? (Musing #854)

Arranger or composer?

Landscape photos from my iPhone (Musing #863)

Everything is topsy turvy.

Microsoft nagging (Musing #869)

No, I don’t want to turn on automatic updates.

Opening Convocation 2019-20 (Musing #888)

Where was everyone?

Meal plan pricing (2019 edition) (Musing #891)

More expensive, but also more sensible, than it was three years ago.

Finding my chill pill (Musing #898)

Regaining my composure.

Distributed knowledge (Musing #899)

And other changes to governance.

New computing policies (Musing #902)

More challenges to shared governance.

The joy of upgrades (Musing #907)

Do they ever go smoothly?

Using comments from end-of-course evaluations (Musing #911)

The purview of the faculty member and the review chair.

Dorm departures (Musing #912)

I may be losing my touch.

Visiting the Naismith Basketball Hall of Fame (Musing #915)

Selling the legacy.

Deleted (Musing #918)


Syllabus guidelines (Musing #921)

Some good, some less good.

Where was everybody? (Musing #932)

Sometimes I really hate this place.

Swimming, diving, and parking (Musing #942)

Why are there so many conflicts?

Swimming and … that other thing (Musing #944)

Supporting divers(ity).

One drive, many steps (Musing #950)

What do your workflows look like?

Long-term concerns (Musing #955)

The SamR album keeps skipping back to the same old tune.

User studies in campus navigation (Musing #959)

We should run some.

Annoying link requests (Musing #974)

How should I respond?

mailto links (Musing #1010)

Why do designers get them wrong?

Workload, learning, and such (Musing #1074)

Am I winning or losing?

Computer troubles (Musing #1075)

Why are these things never easy?

Biting my tongue (Musing #1083)

Or should I be biting my fingers?

SM Word (Musing #1084)

Getting things backwards (or backwords).

Misbehaving email clients (Musing #1092)

A joy of moderation.

Technological minimalism (Musing #1096)

Different interpretations.

An open letter to my president (Musing #1103)

You got it wrong.

Endnotes for my open letter (Musing #1104)

It’s a compulsion.

Correlation is not causation (Musing #1124)

You knew that, didn’t you?

The joys of Cisco (Musing #1125)

Tech support is an awful experience. You knew that, didn’t you?

I (still) hate Ellucian Self-Service Academic Planning (Musing #1135)

A comparatively calm rant.

Minor irritants (Musing #1139)

Fun with the little things that get to me.

Still a curmudgeon (Musing #1149)

I try to change, but it’s hard.