-
A Fire Upon The Deep — Retrospective and E-book
Over the last few weeks I read A Fire Upon The Deep, surely one of the top five works of computer science fiction. The proximate reason for the re-read was the upcoming release of a sequel, Children of the Sky, which I am impatiently awaiting. I read the “special edition” which contains about 1500 of…
-
Does a Simulation Really Need to Be Run?
At some point we’ll be able to run a computer simulation that contains self-aware entities. In this piece I’m not going to worry about little details such as how to tell if a simulated entity is self-aware or whether it’s even possible to run such a simulation. The goal, rather, is to look into some…
-
Externally Relevant Open Problems in Computer Science
Most academic fields have some externally relevant problems: problems whose solutions are interesting or useful to people who are totally ignorant of, and uninterested in, the field itself. For example, even if I don’t want to know anything about virology, I would still find a cure for the common cold to be an excellent thing.…
-
Software Bugs and Scientific Progress
When a bug is found in a piece of software, the root cause is often a bug in someone’s thoughts. One way to better understand a bug is to look at how deep the underlying thought error was. In other words: How many assumptions must be revisited as a result of the bug? Level 1…
-
Sensor Network Technology in Vinge’s A Deepness in the Sky
An important function of science fiction is to help us understand sociological, technological, and other aspects of our future. A really good SF novel — like some of those produced by Asimov, Clarke, Heinlein, Le Guin, Niven, and Vinge — is so full of ideas and possibilities that the reader’s mind is expanded a little.…
-
The Future of Compiler Correctness
Notes: This piece is mainly about compilers used for safety-critical or otherwise-critical systems. The intersection of formal methods and compilers for scripting languages is the empty set. Readers may be interested in a companion piece The Future of Compiler Optimization. A half-century of experience in developing compilers has not resulted in a body of widely-used…
-
The Future of Compiler Optimization
Also see The Future of Compiler Correctness. Compiler optimizations are great: developers can write intuitive code in high-level languages, and still have them execute in a reasonably fast way. On the other hand, progress in optimization research is excruciatingly slow despite hundreds of papers being published on the topic every year. Proebsting’s Law speculates that…
-
Book Review: Sustainable Energy — Without the Hot Air
The premises are simple. First, energy consumption must be met by energy production. Second, use of fossil fuels is unsustainable. Third, no magical technological fix to the energy problem is going to arrive. Finally, to understand a sustainable future, we must think quantitatively. That is, to proceed with a debate about, for example, wind or…