C.R.A.W.LAB Etouffee

Delicious Bytes of Information

Literate Programming

I’ve talked with many of my students about first writing out their programs in “plain English” before writing a single line of code. The motivating idea is that if you are unable to clearly describe the algorithms and code you want to write in plain English, then you are ...

When am I going to use this?

Pretty good article about a popular student question, "When am I going to use this?"

And the question itself — "When am I going to use this?" — is nearly always a lie, a front. The asker is not genuinely contemplating the use-value of Material X; rather, he or she is merely ...

The Move to Python 3

An outline of a transition to Python 3 that retains a clone of an old Python 2.7 environment, assuming that the Anaconda Python distribution is being used.


  1. All of the commands shown here should be issued at the terminal prompt, indicated by the $. You do not need to type the $

Weekly Meetings

In addition to our weekly group meeting, I meet with everyone in my research group one-on-one for 30 minutes (at least) every week. It's a huge time investment, but I feel it's a worthwhile one. Luckily, I learned a lot about managing from my days playing baseball (coaching ...

Perfection *Can* Be the Enemy

I like this quote. The first draft, the first prototype, the first iteration of a design doesn't have to be perfect, or even very good, provided that you are willing to relentlessly improve it. Make something. Then, make it better until it is something great.

Scanning Apps

A summary of scanning applications, with focus on iOS because that's what I use and know best.