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…
Reading and experience train your model of the world. And even if you forget the experience or what you read, its effect on your model of the world persists. Your mind is like a compiled program you've lost the source of. It works, but you don't know why. [...] ...reading and experience are usually "compiled" at the…
Running programs is the whole point of programming, of course, but there is more to it. The ability to execute code makes programming a tool for thinking and exploring. When we express ideas as programs, we make them testable; when we debug programs, we are also debugging our brains.
pplapi.com (pronounced “people API”) is a web-based data service that provides access to a synthetic world population, n = 7, 171, 922, 938. Researchers can submit queries to pplapi.com using its Application Programming Interface (API) to obtain samples consisting of synthetic agents drawn from this population…
By the early 19th century, just three—French, English, and German—accounted for the bulk of scientists’ communication and published research; by the second half of the 20th century, only English remained dominant as the U.S. strengthened its place in the world, and its influence in the global scientific community has…
Many of us are used to having incoming email filtered, decrypted, formatted, and shown in our favorite colors and fonts. These techniques can be taken further. Customization of spelling (e.g., American to British or archaic to modern) would be a straightforward process. Relatively simple conversions could also let you…
Actually, if cloud algorithms ever seem to come to rest and need little tending, that should be taken as a danger sign. In that eventuality, stasis would be an indication that people have allowed themselves to be overly defined and guided by old software and have stopped changing, or to put it another way, have…
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…
I worked with COBOL near the end of my last contract and found aspects of it fascinating compared to today's languages. Everything is about structures that map directly to the bits on disk, with fine grain control on precision and data types. But then the language reads as a series of macros where you don't have to…
C is a big language with a lot of features, and it’s easy to get lost in how fun it is. But you can’t really appreciate a feature without knowing what it’s like to do without. So do things with limited resources. Make a binary adder using falling dominoes. Make a functional digital clock with neon bulbs, resistors…
One can see Manovich’s argument becoming true in the development of database technology the 20th century. The first commercially available computer databases were organized hierarchically. If you wanted to get to a particular piece of information, you went to the overarching category and made a series of choices as…
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…
A Cornell experiment in the 1960s polled a group of computer science students and divded them into those who liked to work with music in the background and those who didn't. They put 1/2 of each group together in a silent room, and the other 1/2 in a different room equipped with headphones and a musical selection. To…
As we move from the "low" level to the "high", say from the domain of machine code all the way up to, for instance, a rich, expressive Ruby DSL, the question arises, as it does for all language: have we acquired a surplus of content that cannot be simply reduced to core rules? At this point things get less…
Even today a good many distinguished minds seem unable to accept or even to understand that from a source of noise natural selection could quite unaided have drawn all the music of the biosphere. Indeed natural selection operates upon the products of chance and knows no other nourishment; but it operates in a domain…