Month: May 2011

  • Squeezing a CS Research Idea

    [Disclaimer: I wrote about this topic once before, but it was buried in a longer piece. Also, it was in one of the first posts on this blog and I don’t think anyone read it. Update: I checked the stats. Nobody read it.] A hammer I like to use when reviewing papers and PhD proposals…

  • Iterating Over The Full Range

    Every couple of months I need to write code that runs for every value of, for example, a char. This is usually to exhaustively test something so the code should be fast, so I write it in C. At first I always want to write: for (c = CHAR_MIN; c <= CHAR_MAX; c++) { use…

  • Size Matters

    Not long ago I served on an NSF panel: a collection of researchers who look at some grant proposals and provide recommendations to NSF program officers who then make decisions about which, if any, of the proposals to fund. After the panel finished, the program manager asked us for feedback about various issues including the…

  • Externally Relevant Open Problems in Computer Science

    Most academic fields have some externally relevant problems: problems whose solutions are interesting or useful to people who are totally ignorant of, and uninterested in, the field itself. For example, even if I don’t want to know anything about virology, I would still find a cure for the common cold to be an excellent thing.…

  • What I Want From a Bibliography System

    As a professor I spend a fair amount of time wrangling with references. Because it’s free and reasonably simple, I use BibTeX: an add-on tool for LaTeX that automates the construction of a bibliography by pulling references out of a separate text file, assigning them numbers (or other identifiers), and formatting the entries appropriately. BibTeX…

  • Publishing for Impact

    Choices made in the process of doing research can lead to a 5-10x difference in number of publications for exactly the same underlying work. For example, do I publish my idea in a workshop, then a conference, and then a journal? On the other hand I can just do the conference version. Do I take…

  • A Day in the West Desert

    Southern Utah is famous for its canyons and arches. Utah’s West Desert, on the other hand, is not as well-known and is perhaps not as easy to appreciate. It encompasses a large area, containing entire mountain ranges that are virtually unknown (ever heard of the Confusion Range or the Wah Wahs?). It is also very…

  • Generalizing and Criticizing Delta Debugging

    Delta debugging is a search-based technique for taking an input to a program that triggers a bug and making that input smaller. For example, you might have a sequence of GUI operations that causes Thunderbird to crash. Assuming the crash is deterministic and the input can be replayed automatically, you can iteratively remove UI actions…