Author: regehr

  • INT_MIN % -1 = ?

    If you spend much time testing compilers, you’ll run into some strange phenomena even in apparently simple areas like computer arithmetic. For example John Cook wrote a post today explaining why IEEE floats have two different values of zero. Integer arithmetic is generally a lot simpler than floating point math, but it still contains a…

  • Why Take a Compiler Course?

    [Also see why take an OS course and why take an embedded systems course.] All good computer science departments offer a compilers course, but relatively few make it a required part of the undergraduate curriculum. This post answers the question: Why should you take this course, even if you never plan on writing a compiler?…

  • Good Fun and Bad Weather on Mount Baker

    The problem posed by this trip was to find a route that was interesting for my hiking buddy Bill while still being feasible for me. Bill is a seasoned mountaineer and has done some difficult climbs. I’m a strong hiker and feel comfortable on moderate snow slopes, but I haven’t done any technical mountaineering. Technical,…

  • Why Take an Operating Systems Course?

    [Also see why take a compilers course and why take an embedded systems course.] The other day, while having coffee with a colleague, I mentioned that I’ll be teaching OS in the fall. His area is far from computer systems and he asked me what’s the point of this class? What are the students supposed…

  • Flower Power

    The Wasatch Range peaks are 7000′ higher than the nearby Salt Lake Valley. This has many nice side effects but one of my favorites is that a wide variety of micro-climates is available within a small geographical region. In late Fall or early Spring it can be calmly drizzling in the city, but in the…

  • Compilers and Termination Revisited

    My earlier post C compilers Disprove Fermat’s Last Theorem generated a good amount of discussion both here and on Reddit.  Unfortunately, the discussion was riddled with misunderstandings. Some of this was because the topic is subtle, but some was my fault: the post was intended to be lightweight and I failed to explain the underlying…

  • Book Review: Street-Fighting Mathematics

    The Trinity test occurred on a calm morning.  Enrico Fermi, one of the observers, began dropping bits of paper about 40 seconds after the explosion; pieces in the air when the blast wave arrived were deflected by about 2.5 meters.  From this crude measurement, Fermi estimated the bomb’s yield to be ten kilotons; he was…

  • Book Review: Pale Fire

    Pale Fire is a 999-line poem written by John Shade.  It is also a novel by Vladimir Nabokov that contains an introduction by Charles Kinbote, the poem, and Kinbote’s extended commentary on the poem. On the surface, Pale Fire is straightforward.  The poem is a touching — but not, it would seem, terribly good —…

  • Book Review: Surviving Your Stupid Stupid Decision to go to Grad School

    Good jobs have barriers to entry.  Sometimes these barriers are natural (not everyone is capable of writing a novel or being a leader) and sometimes they are artificial (not everyone is born in the right place or to the right parents).  Many well-paid jobs requiring very specialized skills are protected by — among other mechanisms…

  • How to Get a Grant (from NSF, for Computer Scientists)

    Learning to write good grant proposals is hard. First, while we learn to write papers in grad school, most of us only learn to write grants after completing a PhD, and possibly only after getting a faculty position. Second, the hit rates for grants are typically lower than for papers. Third, it’s fundamentally harder to…