-
Wanted: Epitaphs for Hot Topics
Any given research community always has a few hot topics that attract an inordinate number of paper submissions. Sometimes these are flashes in the pan, other times they mature into full-fledged areas having their own workshops and such — but most often they endure for a few years, result in a pile of PhDs, and…
-
It’s All About Interfaces
The Frank system — see also this recent post — is intended to reduce the amount of code needed to create a usable desktop software stack by about 1000x. I’m pretty sure that this goal is sufficient but not necessary. In other words, if we can reduce software size to 0.1% of its current size then that’s…
-
Fixing Computers
Pretty often, a friend or relative asks if I can fix something that’s wrong with their computer. Because I’m very irritable in some respects, my first impulse is always to say something like “Sure! And I bet a brain surgeon would love to put a band-aid on that ouchie, too.” Usually, I manage to resist. Over…
-
Can Simplicity Scale?
Software has gotten really big, with many systems — even, apparently, cars — running into the hundreds of millions of lines of code. The drawbacks of code bases this large are numerous: they are hard to understand, hard to modify, hard to test, and virtually guaranteed to contain huge numbers of bugs. My understanding is…
-
NSF Data Management Plans
As of a year ago, all grant proposals submitted to NSF must be accompanied by a data management plan. Basically, the PIs must explain: how sensitive data (for example, data that contains personal information about experimental subjects) will be managed how data resulting from the research will be archived and how access to it will…
-
Proposal to Stress-Test Implementations of C++11 Concurrency
I recently submitted a proposal to NSF’s “small” Computer Systems Research solicitation. The rest of this post contains the body of the proposal, edited a bit for formatting (citations are missing and there are no doubt some leftover latex-isms) and to remove some sections that are tedious to people not sitting on an NSF panel.…
-
What PC-lint is Really For: Enforcing Language Dialects
John Carmack’s piece about using static analyzers is really nice, and he’s right that applying PC-lint to a significant piece of C code results in page after page of warnings. Faced with this problem on a code base I cared about, and not wanting to give up, I first created a config file for PC-lint…
-
Book Beginnings
If a book starts out just right, I’ll keep going back and rereading the first few sentences long after I’ve finished the book. Here are a few that did that to me. Fagles’ translation of the Odyssey: Sing to me of the man, Muse, the man of twists and turns driven time and again off…
-
Bit Puzzle Results
This is the followup piece to Monday’s bit puzzle. First off, the spec for this problem wasn’t clear what to return when both arguments are the same. But let’s look at Carlos’s comment about where this code would be used: If you think of a binary number as a sequence of binary tree decisions on the…
-
Mount Olympus
Today I got out of Salt Lake City’s stifling inversion for a little while.