Author: regehr

  • Blogspam Poems

    These are unedited excerpts from blogspam that I’ve received over the past few days. Sometimes it resembles a koan: s other words, how do you try to look for blogging that suit a few things i prefer to found out about? Truly does virtually anyone learn how to BROWSE through blogging by simply issue or…

  • Thoughts on Embedded Development Boards

    An embedded development board is an off-the-shelf part that includes a microcontroller and some peripherals, mounted on a PCB. It tries to not get in the way of whatever you want to do, but instead makes it easy to start writing software and attaching hardware. Some boards even include a bit of prototyping space. The…

  • High-Resolution Timing on the Raspberry Pi

    Just to be clear, this post is about measuring the times at which events happen. Making things happen at specific times is a completely separate (and much harder) problem. The clock_gettime() function (under Raspbian) gives results with only microsecond resolution and also requires almost a microsecond to execute. This isn’t very helpful when trying to…

  • The Citation Telephone Game

    My kids often come home from school spouting crazy “facts” they’ve learned from classmates. It seems fundamentally human to repeat stories and, in the repeating, alter them—often unintentionally. Researchers do the same thing, and just this morning I was irritated to read an entirely inaccurate citation of one of my own papers. No doubt others…

  • Trilobite Day Trip

    A great thing about kids is they provide an excuse to read a book aloud, make popsicles, spend an afternoon skipping rocks, or hike up a random mountainside to look for fossils. So when Ben—a fountain of knowledge about remote and little-known Utah attractions—recently posted about visiting a trilobite-bearing outcrop of Spence shale in the…

  • The Hidden Cost of Compiler Bugs

    I have a hypothesis that compiler bugs impose a noticeable but hard-to-measure tax on software development. I’m not talking so much about compiler crashes, although they are annoying, but more about cases where an optimization or code generation bug causes a program to incorrectly segfault or generate a wrong result. Generally, when looking at a test case…

  • Utah Eye Candy

    There are several reasons that I sometimes post outdoor pictures here. First, I like pretty things and hope that other people do as well. Second, it seems reasonable to break up an otherwise monotonous flow of picture-free text about undefined behavior and compiler bugs. Third, I’m not above doing a bit of not-subtle PR work…

  • Core Question

    [This post is about machines used by people. I realize things are different in the server room.] We had one core per socket for a long time. When multi-cores came along, dual core seemed pretty awkward: real concurrency was possible, but with speedup bounded above by two, there wasn’t much point doing anything trickier than…

  • Cyber War

    I recently read Richard Clarke’s Cyber War. Although I didn’t learn anything new on the technical side, that isn’t the focus of the book. Clarke’s main agenda is to build awareness of the uniquely vulnerable position that the United States finds itself in as well as proposing national policies that might lead to a more…

  • It’s Time to Get Serious About Exploiting Undefined Behavior

    [Note: I promise, this is almost my last post about undefined behavior for a while. Maybe just one more in the queue.] The current crop of C and C++ compilers will exploit undefined behaviors to generate efficient code (lots of examples here and here), but not consistently or well. It’s time for us to take this…