There were issues with this book, but I appreciate how the Critical Theory aspects of it serve as a sort of "red pill" to break us out of our complacent acceptance of the world--specifically in video games. Many reviews complain about the erudite verbiage, but all Critical Theory makes use of newly-invented words in…
At Livermore, a legendary senior weapons designer is about to retire. At the Spring 2005 MIT workshop, his colleagues discuss this retirement and refer to it as “a blow.” They are anxious about more than the loss of one man’s ability to make individual scientific contributions. He has irreplaceable knowledge about the…
Some older scientists, for example, justify their use of opaque software by pointing to the infinite regress of computer representations. After all, they argue, it doesn’t really mean much to know how your simulation is programmed if all you are looking at is a high- level computer language. The “real guts” of the…
When I was a graduate student, if you were going to convert some data or something like that, you would write the FORTRAN code to convert the data yourself. That’s how you would do it. Now there are these programs. There are these windows and you click. I .nd with my students all the time, they don’t know why…
A few of my favorites, not found in the linked article: "There are two ways of constructing software. One way is to make it so simple that there are obviously no deficiencies. The other is to make it so complex that there are no obvious deficiencies." C.A.R. Hoare "The purpose of software engineering is to control…
Of the 20,000 to 30,000 genes now thought to be in the human genome, most cells express only a very small part - which makes sense, a liver cell has little need for the DNA code that makes neurons. But as almost all cells carry around a full copy ('distribution') of the genome, a system is needed to #ifdef out stuff…
If a procedure named INSIGHT has been defined and then called seventeen times in the program, and the eighteenth time it is misspelled as INSIHGT, woe to the programmer. The compiler will balk and print a rigidly unsympathetic error message, saying that it has never heard of INSIHGT. Often, when such an error is…
Computers can do a lot in education. Of course, books and magazines can do a lot in education. Of course, a lot of what computers do well is simply replacing books and magazines. A children's library needs a librarian. It's not a dumpster full of books. Librarians (like teachers) know what children will like and…
Kakeru Seki: A fact is somehow related to another fact. Unless you understand these relationships, you won't be a real reporter. Noriko Hikima: True journalism! Kakeru Seki: Well, you majored in the humanities. Noriko Hikima: Yes! That's true--I've studied literature since I was in high school. Kakeru Seki: You havea…
Like bilinguals, expert computer programmers successfully manage two or more separate lexicons, grammars and divergent concepts, avoiding inadvertent transfer between the two. Numerous studies of novice programmers indicate that they struggle to do achieve this division; transfer from natural language creates bugs…
In fact, the best game of chess in the world right now might be played neither by man nor machine.47 In 2005, the Web site ChessBase.com, hosted a “freestyle” chess tournament: players were free to supplement their own insight with any computer program or programs that they liked, and to solicit advice over the…
This kind of data is hard to come by, but thanks to almighty Stackoverflow ands their wise decision (thanks Joel), to make this data publicly available we can mine this data to our collective benefit. With a simple bash script to download the data, a small Java program to extract the stats and Google Docs to make the…
If you give two programmers the same problem—it depends on the problem, but problems of a more mathematical nature, they can often end up writing the same code. Subject to just formatting issues and relabeling the variables and the function names, it's isomorphic—it's exactly the same algorithms. Are we creating these…
Seibel: You mention four disciplines: music, graphics, mathematics, and text those are about as old as humanity. Clearly there are powerful ideas there that are independent of computers—the computer just provides a way to explore them that might be hard without the computer. Is there also a set of interesting…
Seibel: What do you think is the most important skill for a programmer to have? Fitzpatrick: Thinking like a scientist; changing one thing at a time. Patience and trying to understand the root cause of things. Especially when you're debugging something or designing something that's not quite working. I've seen young…
Seibel: Do you think of yourself as a scientist, an engineer, an artist, or a draftsman? Allen: I think of myself as a computer scientist I was involved in my corner of the field in helping it develop. And those were interesting times—the emergence of computer science—because there was a Ic lot of question about, "Is…
Seibel: Do you feel like programmers and computer scientists are aware enough of the history of our field? It is, after all, a pretty short history. Knuth: There aren't too many that are scholars. Even when I started writing my books in 1963, I didn't think people knew what had happened In 1959. I was reading in…
So I don't envy modern programmers, and It's going to get worse. The simple things are getting packaged into libraries, leaving only the hard things. That stuff is getting so complicated, but the standards that people are expecting are stunning. One of the ones ^i^ey showed me stunned me. He was showing me Google Maps…
One of the things that I've been thinking about off and on over the last five-plus years is, "Why is programming so hard?" You have the algorithmic side of programming and that's i close enough to mathematics that you can use mathematics as the basic model, if you will, for what goes on in it. You can use mathematical…
And think about failure modes—I remember one of the great lessons I got about programming was when I showed up at the airport at Heathrow, and there was a power failure and none of the computers were working. But my plane was on time. Somehow they had gotten print-outs of all the flights. 1 don't know where—there must…