Reading academic papers on a Kindle Paperwhite

I recently discovered a great little tool called K2pdfopt for reformatting PDFs such as two-column academic papers so that they are easy to read on a Kindle. (On a related note, it’s ESEM paper review season).

To format for my Kindle Paperwhite, I invoke it like this:

k2pdfopt filename.pdf -dev kpw


Then I just copy the reformatted PDF file to my Kindle. Works great.

Edit: The author of k2pdfopt, William Menninger, informed me that the "-fc" flag is on by default (no need to specify it), and that you can set "-dev kpw" in the K2PDFOPT environment variable so it doesn’t have to be set on the command line each time.

Tackling Hofstadter’s Law with confidence intervals

Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.

One of the frustrating things about developing software is that tasks always seem to take longer to complete than you expected before you started. Somehow, we’re always almost done on whatever feature we’re working on.

I’ve also long been a fan of the idea of using 90% confidence intervals instead of point estimates. Hubbard discusses this in his wonderful book How to measure anything. Instead of trying to pick how long a task will take (e.g., 4 days), you try to predict a range where you are 90% certain that the time will fall within that range (e.g., 3 – 15 days).

I’m going to put my money where my mouth is and try doing confidence interval estimates when working on a feature or bug. I ginned up a quick form using Google Forms and my aim is to fill it in each day, and then evaluate how well I can come up with 90% estimates.

Effort estimation

People don’t understand computer science

From a recent Daily Beast essay.

Certainly, it is more practical to study engineering than philosophy. The country has a high demand for engineers. America also needs doctors, computer programmers, chemists, mechanics, and janitors. Does America not also need art historians, artists, philosophers, novelists, journalists, and well-rounded, thoughtful, and intellectually independent adults?

Gore Vidal defined an intellectual as “someone who can deal with abstractions.” Does the mediocrity of the job market mean that America no longer needs people who deal with abstractions? Only someone already painfully unable to deal with abstraction would draw such a suicidal conclusion.

I’m pretty sure that a computer programmer is someone who can deal with abstractions.