A work of IF is not itself a narrative; it is an interactive computer program. A narrative is “the representation of real or fictive events and situations in a time sequence” (Prince 1980, 180); this can result from an interactive session but does not describe any IF work itself. Similarly, interactive fiction is not…
In the 1980s, alternate visions of computers and the future of design were expressed in competing views about programming. Some architects believed that designers needed to learn advanced programming. If designers did not understand how their tools were constructed, they would not only be dependent on computer experts…
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…
Called the "null move" technique, it tells the engine to "pass" for one side. That is, to evaluate a position as if one player could make two moves in a row. If the position has not improved even after moving twice, then it can be assumed that the first move is a dud and can be quickly discarded from the search tree…
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…
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…
Acquire as little software as you can get by with, and stick with it. That's hardware critic Richard Dalton's advice. It's easy to get so caught up in the constant onrush of improvements and "next generations" in the software market that you wind up forever getting ready to work instead of working. You can buy last…
Software is a new enough kind of thing in the world that humans are still figuring out how to deal with it. Though it can be bought and sold, you can't see, hear, touch, taste, smell, eat, or burn it. On an unlovely flat artifact called a disk may be hidden the concentrated intelligence of thousands of hours of…
While we’ve hired many computer-science majors that have been critical team members, It’s noncomputer science degree holders who can see the forest through the trees. For example, our chief operating officer is a brilliant, self-taught engineer with a degree in philosophy from the University of Chicago. He has risen…
Here’s the question I’ve been asking myself: When technology enables a person to make something that looks professional without having to master any degree of craft, does that increase or decrease the likelihood of creativity? And can educators be lulled into a false impression that they have been developing…
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…
If the cloud is a vast array of personal computer processors, then why not add your own laptop or desktop computer to it? It in a certain way it already is. Whenever you are online, whenever you click on a link, or create a link, your processor is participating in the yet larger cloud, the cloud of all computer chips…
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…
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…
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…
The peak hour itself was tremendously intense, but during the hours before, and even during the hours afterward, a hacker attained a state of pure concentration. When you programmed a computer, you had to be aware of where all the thousands of bits of information were going from one instruction to the next, and be…
The job of computer scientists, of course, is to design the programs that let electronic computers accomplish those impressive feats of thinking and knowing. The computer scientists have to figure out how to make programs that get to the right kind of output from the right kind of input. But our job as cognitive…
The software, the program. is responsible for organizing hardware, the organism. Yet throughout the process, it is the organism in its various stages of development that has to run the program. In other words, the hardware runs the software, whilst at the same time the software is generating the hardware.