Author: regehr

  • Why Would Researchers Oppose Open Access?

    Last week I started sort of a relaxed flame war with other members of the steering committee for an ACM conference on the subject of open access to the proceedings. “Open access” would mean that anyone could download the proceedings. The current situation is slightly different: Often, individual papers are available on authors’ home pages.…

  • Grandview Peak

    [nggallery id=23] Grandview Peak, at 9410′, is the highest point in Salt Lake City. Even so, it’s a long way from anywhere and no trail goes to its summit. Over the course of four trips to Grandview I’ve yet to see another person within two miles of the top (not counting whoever I’m hiking with,…

  • A Guide to Undefined Behavior in C and C++, Part 1

    Also see Part 2 and Part 3. Programming languages typically make a distinction between normal program actions and erroneous actions. For Turing-complete languages we cannot reliably decide offline whether a program has the potential to execute an error; we have to just run it and see. In a safe programming language, errors are trapped as…

  • How to Debug

    One of the painful parts of teaching a lab-based embedded systems course is that over and over I have to watch a team with a relatively simple bug in their code, but who is trying to fix it by repeatedly making random changes. Generally they start with code that’s pretty close to working and break…

  • I Can Solve the World’s Debugging Problems

    Probably 10 times a semester, a student taking one of my courses sends me a mail like this: Dr. Regehr I have this bug I’ve been working on for a long time, I’ve tried everything, I’m going to miss the deadline… and then 15 minutes later, I get another email: Nevermind I figured it out.…

  • The Truth About the Life of the Mind

    [This piece is a followup to The Big Lie About the Life of the Mind.] Being a professor, like any other job, has its pros and cons. You’d hope that one of the advantages would be that the job encourages a person to live a life of the mind. Otherwise what’s the point, right?  I…

  • The Big Lie About the Life of the Mind

    Earlier this year Thomas Benton wrote an essay The Big Lie About the ‘Life of the Mind, skewering academic humanities in the United States. His thesis is that there is effectively a conspiracy to produce many more PhDs than there are faculty slots, and to keep the carrot of the tenure-track faculty position just out…

  • Why Take an Embedded Systems Course?

    Embedded systems are special-purpose computers that users don’t think of as computers. Examples include cell phones, traffic light controllers, and programmable thermostats. In earlier posts I argued why any computer scientist should take a compilers course and an operating systems course. These were easy arguments to make since these areas are core CS: all graduates…

  • An Epidemic of Rat Farming

    In Hanoi, as the story goes, the French placed a bounty on rat pelts. The locals responded by farming rats. A child who gets candy for cleaning up a big mess is likely to create another mess the next day. These are perverse incentives: incentives that have unintended and often undesirable side effects. As a…

  • Self-Checking Projects

    Matching students up with research projects is entertaining but difficult. The project has to be at the right level of difficulty, has to fit the student’s time frame, and has to interest the student. If grant money is going to be used to pay the student, the work has to fit into the funded project.…