Into the Brooks Range, Part 2

[Continued from Part 1, also see Part 3.] August 3 — Over the Arctic Divide Our third hiking day took us over a 5700′ mountain pass where the Wind, Ivishak, and Ribdon river drainages converge. Since the creek-bed of our side drainage was totally impassable, we climbed steep talus slopes, leaving the last tundra behind.… Continue reading Into the Brooks Range, Part 2

Published
Categorized as Outdoors

Into the Brooks Range, Part 1

[Also see Part 2 and Part 3.] In Summer 2009 I went on a 1.5-week backpacking trip in the Alaskan arctic with my brother Eric, my colleague and hiking buddy Bill, and our guides Shannon and Ben from Arctic Treks. It was an amazing trip through a very rugged part of the world. Not only… Continue reading Into the Brooks Range, Part 1

Published
Categorized as Outdoors

Straight Man

Hank Devereaux, chair of the dysfunctional English department at a small university, is having a midlife crisis.  His wife, leaving town, fears he’ll be either in jail or the hospital before she returns — and she is not disappointed.  Straight Man is hilarious, I had to stop reading it in bed because it was too… Continue reading Straight Man

Margin in Software Systems

Margin of safety is a fundamental engineering concept where a system is built to tolerate loads exceeding the maximum expected load by some factor.  For example, structural elements of buildings typically have a margin of safety of 100%: they can withstand twice the expected maximum load.  Pressure vessels have more margin, in the range 250%-300%,… Continue reading Margin in Software Systems

The Compiler Doesn’t Care About Your Intent

A misunderstanding that I sometimes run into when teaching programming is that the compiler can and should guess what the programmer means.  This isn’t usually quite what people say, but it’s what they’re thinking.  A great example appeared in a message sent to the avr-gcc mailing list.  The poster had upgraded his version of GCC,… Continue reading The Compiler Doesn’t Care About Your Intent

C and C++ Make It Hard to Read a Register for Its Side Effects

[ This post was co-written with Nigel Jones, who maintains an excellent embedded blog Stack Overflow.  Nigel and I share an interest in volatile pitfalls in embedded C/C++ and this post resulted from an email discussion we had.  Since we both have blogs, we decided to both post it.   However, since comments are not enabled… Continue reading C and C++ Make It Hard to Read a Register for Its Side Effects

Computer Science Fiction

Science fiction explores the effect of technological progress on society.  It is ironic, then, that the majority of SF authors miserably failed to predict the impact of computers and information technology. Why does Google return no meaningful hits for “computer science fiction?”  Is it not obvious that this term needs to exist, if we wish… Continue reading Computer Science Fiction

200 Compiler Bugs

This morning I reported the 200th bug found by our compiler testing tool.  It is a new way to crash GCC.  The failure-inducing input is not pretty so I won’t give it here, but it can be found in GCC’s bugzilla.  Although the testing tool is now entirely developed by some excellent PhD students, I… Continue reading 200 Compiler Bugs

How to Evaluate a Computer Systems Research Paper

Some excellent resources exist about how to write a good systems paper. This post is about a slightly different topic. In a typical recent year I review about 100 papers, mostly conference papers 8-14 pages long in 9 or 10 point font. People in similar positions — mid-career computer systems professors — are generally in… Continue reading How to Evaluate a Computer Systems Research Paper