West Virginia University
headerimg4

Starting Points—sbaldwin, Sun, 03 Feb 2008 15:02:17

The project begins from the recognition that both disciplines – creative writing and software engineering – are fundamentally writing practices. We note that computer programming began as a writing practice, from the moment John von Neumann first applied the word “program” to a computer in 1942, and referenced both the act of writing and electronic signaling. As such, both disciplines share the cultural frameworks common to writing practices: both employ a range of writing tools, both require incorporated knowledge and skills, and both involve communities of practitioners in everyday settings. In both disciplines, these frameworks enable human cognitive activity leading to innovation and discovery. By focusing on creativity and by modeling points of intersection and translation, we can better understand these processes of innovation and discovery. How do creative writing and computer programming foster creativity? How do they define creative work and the creative writer or coder? As Donald Knuth pointed out, computer programming is not merely “economically and scientifically rewarding, but also … an aesthetic experience much like composing poetry” (Knuth). Exploring this aesthetic experience will contribute to developing new outcomes in both creative writing and software engineering.

We suggest six initial parallels between writing computer code and creative writing, ranging from the formal to the social.

1. In both writing practices, the writer approaches and employs language as a material with “additional” structure beyond standard or literal text. The creative writer works with figures such as metaphor, or with narratological techniques such as characterization. The code writer works with algorithms, syntax, and all the art of computer programming, in the sense of Knuth’s classic work The Art of Computer Programming.

2. In both writing practices, the reader is required to perform additional work beyond that required to read a standard or literal text. Both creative writing and code writing require the reader to possess special knowledge of traditions, conventions, and interpretive techniques.

3. In both writing practices, the text creates a performative outcome that differs from and exceeds the standard or literal text. Creative writing leads to “imaginative” and “aesthetic” effects, while code writing is “executed.” In both cases, the text is not simply its literal meaning. Another way of saying this is that both kinds of writing are the “software” that reference and operate on a larger context or “hardware.”

4. In both writing practices, there are multiple meanings at many levels, both larger and more granular, e.g. in words or letters, or in variables and arrays. In creative writing and computer code, we notice the writing itself in ways we do not in standard or literal text, where writing is subordinate to “meaning” or to conveying a message. Another way of saying this: both creative writing and code writing are “generative.”

5. In both writing practices, the written text is a locus of complex cultural issues, such as authorship and ownership. The specific qualities of computer writing and creative writing exemplify these issues and make them test cases for the entirety of writing practices in our culture.

6. Finally, both writing practices create communities. Standard or literal text is intended to be broadly readable and reflects larger institutions. Creative writing and code writing, by contrast, lead to unique subcultures of practitioners. In fact, there is considerable overlap between the two communities. There is Perl poetry, there are poems in the Internet Task Force RFCs?, and there are poets who work through concepts of programming.

Of course, other relations are possible. One could imagine non-relations or aporias. Another direction might explore economic relations, i.e. what kind of work is involved in each writing practice, and at what point does each create a “work” that enters into systems of exchange and capitalization? Or another direction might involve questions of “invention,” i.e. what are the practical and compositional practices of arriving at a work of writing or coding, and where in the process of composition does a writer/coder invent or discover the work?

Coding as Practice—jcayley, Tue, 19 Feb 2008 10:16:50

I welcome this workshop’s starting points, cast in a framework of writing practices and yet I continue to question whether writing as such – creative writing, literary arts, writing (in) digital media, literature, the world of letters – has yet achieved, here and now, the implicit cultural and critical reconfiguration. If it had, I argue, it would be easier to conceive of coding as a distinct cultural practice, now necessarily and deeply implicated with certain writing practices but with its own properties and methods. In this context I hope to re-worry the ambiguities and misdirections associated with code, and re-explore my anxieties over the hypostatizing denomination codework.

Andy’s Oram’s Notes—sbaldwin, Sun, 24 Feb 2008 11:11:54

Andy Oram’s very interesting speaker notes “Literary computing: applying literary concepts to computing and vice versa” (the basis for his talk) are here.

Nick Montfort’s Notes—nmontfort, Wed, 27 Feb 2008 02:54:24

I have posted my speaker notes for “Imaginative, Aesthetic, Executable Writing.”

Coding Is Not Creative, Aden’s position—aevens, Wed, 27 Feb 2008 20:36:36

Design is creative. Coding is mechanical. Every line of code is written to accomplish a particular purpose, and its (absolute) success or failure is measured according to this determinate, prior standard. The route from code to executable is also determinate (parsing, precompilation, compilation, assembly, etc.). So if coding is not creative, why is there “no silver bullet”?

Laurie Taylor’s Notes—ltaylor, Thu, 28 Feb 2008 17:18:35 -0500 reply

My notes are here.

Coverley-Luesebrink Notes—mluesebrink, Sun, 02 Mar 2008 12:33:21

The first and third points resonate. Although some critics of e-literature speak of the programming that accompanies digital work as additional or exceeding the actual text, I echo Sandy’s statement that both are “software.” And often enough, they are the same “software,” not separate entities created through different practices. We have good examples of digital lit narrative and poetry that were conceived of and written first as standard text without regard to eventual coding structures. However, the term “born digital” frequently signifies that the author created the piece within and at the same time as the code language. In these cases, I believe, the work is a nearly seamless fusion of writing and coding practices that produce the creative result.

Codework and digital essentialism—jbolter, Sun, 02 Mar 2008 17:42:37

It seems hard to dispute that code is a kind of writing. But what is the status of that writing? Some theorists and practitioners take the position that code is the essence of the digital medium. The implication is that those working or studying “higher” levels of the digital (e.g. the interface or the cultural or economic contexts) are missing what is essential. My question is: how can we study codework in a way that avoids reductive arguments? Can we establish a dialogue among various approaches to a digital artifact so that an appreciation of the code informs an understanding of the experiential and cultural significance of the artifact, and vice versa? The analogy to traditional forms of writing suggests that this should be possible (see Sandy’s points 5 and 6). On the other hand, the formal nature of computer code as writing (its apparent lack of a connotative dimension) seems to work against any connection between code and cultural levels of meaning-making.

Opening the Object—jrosenberg, Sun, 02 Mar 2008 20:28:40

The original UNIX shell API provided a wildly attractive and still important framework for combining small simple do-one-thing-well commands into a kind of language. While the GUI world is thought by many to have supplanted command-line interfaces, GUI objects typically lack the one thing that made the shell API so attractive: composability. Composability is important, because it allows the user to avoid elaborate coding by stitching together existing pieces of code. GUI objects do not form a language. GUI talk is a series of pointings and burps and grunts. The Morphic paradigm, originally introduced as the user interface for Self, then taken to Squeak, provides a framework for GUI object composability. All objects are open for inspection, all the way to the code level, and can be sent ad-hoc messages. This provides a framework in which the writer is at last free to specify the kind of objects that make sense for writers. We are no longer enslaved to complacently accepting the code objects that are widely deemed to be a done deal, and which were not created for our world but for a corporate world. Language itself is a world of objects, starting at the phoneme, through the word, grammatical units, sentences, and larger-order units. Software tends to make available only the objects designed by the software’s author. My position is: Open the object! We are barely at the start of understanding how interactive word objects should work. To discuss the relationship of writing to programming, we need to focus on how we want software to be, not on how it currently is.

Coding Is Not Creative, Aden’s position—jrosenberg, Sun, 02 Mar 2008 20:53:27

Design is creative. Coding is mechanical

As someone who writes code for a living (in part), I have to say I disagree with this, very strongly. (Not clear if this is the place to have this discussion …) The choice of exactly how to code the design involves an enormous amount of creativity, and has its own aesthetic, which is related to the functionality. There are so many ways of choosing how to implement a design, code expression is just as creative as natural-language writing.

Coding Is Not Creative, Aden’s position—sbaldwin, Mon, 03 Mar 2008 09:56:48

(In response to Jim: I’m all for discussion here, bring it on! Let’s just remember to keep it going when we get together in a month.) – Sandy

Alan Sondheim’s notes—sondheim, Mon, 03 Mar 2008 21:44:46

Note: this is a revised version of Alan Sondheim’s earlier text

Filter and being (notes for NSF workshop on codework):

I’ll try to keep this short –

I want to generalize writing and coding as inscription, and emphasize that the world as we know it is already inscribed, encoded and decoded. The lifeworld isn’t analogic and/or mute; it’s discrete and presencing.

It’s discrete because we deal with symbols in order to communicate; we’re sending signs or tokens back and forth, very rarely the physical objects of our desire.

One way of thinking about this is in terms of filtering. The usual model of information, transmitter through receiver (with stuff of all sorts in the middle channel) implies that there is a form of coherency and, if not comprehension, at least “mutual orientation of cognitive domains,” between sender and receiver. I’d argue that this orientation occurs through filtering which is always present, fuzzy, and possessing a political economy of its own (think of Pribram’s “retinal knowledge” for example, the neural processing that occurs in the retina before signals are sent from the eye to the brain).

Filtering isn’t active or passive, inscribed or inscribing, and informa- tion itself is non-existent, nothing, a form of particulate matter with an ontology derived from organisms and apparatus.

Once we start (or end) here, “creative” writing splits; on one hand it becomes wryting – that’s spelled with a “y” -a state of material transformation, transmission, and reception; and on the other, it becomes malleable, a spew interpreted as symbols. Here is the moment of creative freedom which also splits – on one hand into or through unbounded, rule- less “creative” writing, drawn from an organism’s interior – and on the other, a fuzzy collocation of coding, languages, kludges, protocols, drawn equally from interior impulse and external restraints (economic, etc.) or goals that may be transformed in the process of inscription.

(I want to note that in the work I’m doing here at the Virtual Environ- ments Laboratory, I’ve been exploring visual configurations or inscrip- tions, configurations in which spaces, avatars, and objects interact in uncanny ways, simultaneously malleable and protocol-driven:

Working within the visual and time-based register, static and dynamic processes blur into one another. We can temporally code a tableau, moving performers during slow-scan in much the same manner as characters appearing at both ends of a panormaic photograph. We can also move them in terms of depth, and we can create an interactive diorama in which the viewer enters and meanders, reconstructing the original sequence of events. We can also combine a tableau with encoded and restructured motion-capture behaviors, using avatars or mannequins circulating among the diorama elements, as “tourists” among ruins – in this manner there are several interlocking layers of interpretation, the viewer in the midst of them. With the aid of 3-dimensional laser scanning, we can present abject ele- ments as if they were interior projections of the “tourists” themselves, and it’s not far from this that the potential for a 4-dimensional reading or interpreting (seeing, witnessing) of 3-dimensional object interiors occurs. The result is a 5-dimensional manifold as cultural object, cultural abject. The possibilities for exploration are enormous here, a kind of pure escapism of dialog, narrative, arousal, creation and annihilation, in which ultimately nothing happens, no one gets hurt.

So this leads to another direction I’ll just mention briefly – thinking of creative writing as a kind of inscribing in any medium at all. We can then talk about creative inscription, creative coding, whatever, emphasizing a “new media” approach to all of this, rather than thinking of electronic literature, e-literature, interactive writing, etc.)

To misquote the physicist David Finkelstein, one might consider program- ming as fucking with/in a universe of abstracted ontologies, and creative writing as masturbation-fantasy, moving just about anywhere, anywhen. Both, however, have inscription and filtering in common and neither presents or is pure “presence” within the world. On the other hands, both meander among rules, although with differring obeisance, and both have, at their core, a freedom that is as absolute as anything gets.

How can this be useful pedagogically? In terms of creative writing, the answer is, I believe, to think of texts as both intentional, cohering, and as material objects which are always already filtered; this leads to thinking about filtering and different forms of filtering as creative writing practice. In terms of programming, not being a programmer (but working with programmers), I’m not sure; I’d argue that, for an outsider, filtering appears at the interstices or liminal spaces between program and framework (inputs, outputs, interfaces, hardware (in the traditional sense, and in the sense of information-laden substance), and so forth). And I’d want to look at the phenomenological horizons of programming, not only through this filtering, but also within programs and programming in general: Where is the programmer in the midst of her subroutine? And where is the freedom then/there?

I do want to note one final thing here – that I’m placing too much empha- sis on specificity, the discrete. One of the directions I’ve been explor- ing at the VEL is to consider the abject, which remains indeterminate and close th analogic substance – something “gooey,” not “GUI,” for example. It’s here that we humans can explore the world which refuses discrete curtailment, which abjures communication.

Addendum: Unlike programming, in the creative work I do, especially here at WVU, there are no errors, only creative commotion and repertoire extensions. Even if something doesn’t “run” at all, it still presents an aporia which can be modified one way or another into creative gesture. I think this might be an essential difference between a kind of “wild” creation and goal- oriented software programming, coding, etc.

expansion within Restriction: conviction and poesis in computer poems—cfunk, Wed, 05 Mar 2008 14:35:48

Coding processes used by poets in the 1960s will be introduced to show types of structures in which digital poetry has thrived and managed to perpetuate itself. I’ll present an analog template that can be used to recreate one of the earliest computer poems designed by an American (Emmett Williams “IBM” 1966) as a hand’s on example of how coding has been employed to create a particular but constantly varying outcome. Other descriptions of early formulas and processes will be complimented by illustrations and brief demonstrations of programmed and, time permitting, software-built works. A range of restrictions are invented by the authors, with varying degrees of purpose and effectiveness. I know not the endless possibilities for code in literature, which seems well situated within the limits confronted by any text. Code is a mysterious presence, a labor that forces derivation and limitation on artistry devised and prepared in the contemporary landscape. The reason this is important? Beyond the possible importance of the history itself, by now perfectly legitimate (if not beautiful) pieces of digital poetry and literature are made without the author needing to type any sort of code (which remains even further behind the scenes than usual). Yet, tellingly, most of the sophisticated artists who have succeeded in the field do work with code, or at least combine automated scripting with hands-on programming. Does manipulating the restrictions through the intricacies of coding lead to more intricate, staying creations?

Creation is a predictable, controllable process that can be engineered. —tmenzies, Sat, 08 Mar 2008 10:40:38

My own views on this matter are a little hard to engineer in the 4 line edit window of this wiki (which, in itself, is a mini-case study on how the environment of creation influences the created product).

So instead, I refer you to my longer comment. To tempt you there, I offer the intro para of that essay: Based on the success of the software engineering, I want argue that creativity can be engineered and, routinely, is done so in a commercial setting. To do so I must demythologize “creation”. Rather than focus obsessively on that “a ha!” moment when the world spins on a dime and the new paradigm falls like an apple in Newton’s garden, we should look at the conditions that preceded creation and increases the probability of finding shiny new apples.

Source Code is Only Source Code After the Fact—whkchun, Sun, 09 Mar 2008 16:32:39

In my position paper, I will examine the powerful logic of “sourcery” that arguably drives our understanding of code (and computing more generally). Source code is only a “source” after its related action has been executed, and early programmers decoded the object, rather than what later became known as the source code. What, historically, is the importance of higher-level languages and the drive to make the source code stand in for machine code, and execution (make process in space stand in for process in tiem)? To what extent does execution and user interaction trouble cultural fantasies of absolute programmability?

from the “prison space” of code to the “imagination space” of codobs—pbootz, Sun, 09 Mar 2008 18:13:37

Code is a matter, a malleable matter. Its rules seem to be like textual rules because one manipulates syntax and grammar. But, in fact, they are completely different. There is no grammar in creative writing except your own grammar. There is no vocabulary in creative writing except your own vocabulary. It is not possible to use your grammar or your vocabulary in a program : you are “out of” the language, more exactly you are in a “prison space” of language. In high level language, you do not code all lines used by the machine at execution. Other people have coded them for you, you cannot see them. Do a creative writer use lines of text he cannot see ? It is not at all the same think that to use unknown data (such as photo your program can find on Internet and rearrange). By using unkown data with known and mustered rules, you make in fact “automatic” cut up. But, when you code, you do not really manage rules of making the “performance” of the text : the observable result. Coding is more like sculpture or cabinetwork : you must follow the “grain of wood”. In a certain way, you are dominated by the code.

But, at higher level, not on the detail of coding but at the level of the whole program, code is not like creative writing, it is “a part “ of creative writing. What is the purpose of creative writing ? for the author to himself : to carry a mind representation of the world. For the author to the reader : to put the reader beyond his horizon of expectation. And for the author to the collective, creative text is a failure of communication, the condition of non-said that put imagination in action.

All these features meet in computer coding. The code carries a mind representation of the world that lies in the form of the program, in the nature of variables, in the way they are used, in the nature of messages parts of program exchanges, in the name of objects and variables… Some parts of this mind representation are personal, another are cultural. For example, in code, a “media” such as text does not really exist as a whole : it is a container and the real manipulated thinks are its properties. The mind representation of the world contains exchanges, localities, properties, abstract characteristic that, often, does not appear for themselves in text writing. This mind representation can put the reader beyond his horizon of expectation by creating a “frustration” in expectation, or a “failure” of his action. In creative programming, the program resists to the reader as makes the creative text. Coding is also a failure in communication. A program contains many non-said (for example, no program can define the speed of its instructions) but this non-said is not filled by the imagination of the reader but by technicians in order to run properly the program. Where stays imagination ? in a new area that do not exist in creative writing : in the comparison between the code and data and the result of its execution. Even when code seems to “describe” its observable result, in fact, it does not make this, it describes another reality the author manages in relationship with the result she hopes. Imagination lies in the difference between these two texts: code+observable (codobs) is a new creative writing.

re_critique—hburgess, Sun, 09 Mar 2008 22:25:11

Two general principles, and a question:

—coding is not only generative: it is remix, recombinant
—we are mashing up literature all the time, and mashing up scholarship as well
—what does this mean for a lasting record of the electronic literature/poetry/scholarship of our time?

Much of what an editor does is what Nick calls “refactoring” and “compression”. but there’s also a lot of synthesis work to be done. In any editorial process, the editor is tasked with selecting and make a remix of the works in a way that makes sense as an “issue”. As an editor of an electronic net art journal, sometimes I think of what I do as a bit like the machine in orbit in Count Zero, which grabs pieces of flotsam and arranges them in forms that are heartbreaking and inhumanly human. At least that’s how I’d like to think it works. To the tension between machine and creativity, I’d like to add the complication of scholarly analysis. There are already critics (I’m thinking of Marcel O’Gorman’s Dreadmill as an example), who are mashing up critique, creative expression, and mechanism. I think we underestimate the critical process and overestimate the creative process. if they’re both forms of remixing, then what is the point? I’d say it’s to reveal something, to see what happens when we rip off the scab. Criticism does this explicitly, through analysis, while creative writing does it implicitly, through stagings of formula and meaning. The machine could be thought of as a combination ripping/suturing tool, allowing us, sure, to explicitly stage meaning, but also to recombine material unexpectedly (what does the machine do while we’re sleeping?).

There’s a strong movement in e-lit right now for “acid-free bits”. In other words, there’s a recognition that electronic works, which are ephemeral in nature because of the constant turnover of software and hardware, need to be preserved in some way. the two recommended suggestions are 1) to preserve working, antique platforms with each work, and 2) to try and convert the works into a standards-compliant, future-proofed format insofar as we can. William Gibson played with this when he put togehter Agrippa, the book that destroyed itself. And yet, as Matt Kirschenbaum notes, Despite its being a uniquely volatile electronic object-its own internal mechanisms radically ephemeral by both intent and design-”Agrippa” has proven remarkably persistent and durable over the years. No model of digital textuality that rests upon the new medium’s supposedly radically unstable ontology can be taken seriously so long as countless copies of this particular text remain only a search query away. This method of preservation fits into neither model; instead, it’s the product of, as Matt calls it, a “complex network of individuals, communities, ideologies, markets, technologies, and motives”. I think of this as the “crowdsourcing” model of preservation.

I’d like to offer another possibility, which is to embrace the ephemerality and multimediality of the works, and go back to the far more oral tradition of recombining elements from multiple sources. in other words, chop them up until they float around in free fall, and then stick them back together in unexpected ways. I think of this as recombinant or “run-time” archiving. I’d love to get hold of the Eastgate catalog, for example, and build a machine that would randomly sample the works, extract screens or sections, and then recombine them to create a new work. My question is, would this be scholarship? Creativity? Or would it be tool-creation and coding?

“Creative Writing”/”Coding”/”Freedom” – from Maria Damon—sbaldwin, Mon, 10 Mar 2008 14:25:53

Responses/questions/provoked by other wiki-entries: First, a reaction against the separation of “creative writing” from the “standard or literal text” that Sandy repeatedly invokes: What exactly is this “standard or literal text” and can it really be separated so neatly from what you are calling “creative writing”? What kinds of connections are obscured by this attempt to clarify and categorize for the sake of analytical progress? The term “creative writing” is by now so codified (if I may), reified and institutionalized that its twin genealogy (simultaneous professionalization and romanticization) has become crystalized in an academic discipline (Creative Writing, whose MFA programs and undergraduate degree majors proliferate wildly across the country) most characterized by anti-intellectualism. One might productively argue, with Kristeva, that there is no “creative writing” (semiotic) that does not contain at least a trace of the “standard” (symbolic) and vice versa. One can also talk about degrees of creativity within the realm of what we call “creative writing.” In this sense I think the cautions against romanticizing the “creative process” and “creative writing” are well taken; and yet the flights of fancy enabled by that very romanticizing can themselves lead to (or comprise) exceptionally “creative” and imaginative utopias of cognitive, affective and aesthetic experimentation. That is, romanticization, while an intellectual heresy, can, like other heresies, constitute a creative intervention in the status quo. (I see this, for example, in Sondheim’s radical “negative capability” [“filtering”]? whereby the attenuated boundaries between his “subjectivity” and the materials and media he enters/engages/messes with enable an exceptional expansion of “creative” consciousness.)

About “code:” to take etymology as my rather banal but fail-proof starting point, the word derives from an organic one: codex, tree trunk; however, from there it has acquired the ominously and tantalizingly related meanings of both centralized canon of law and a secret (because radically defamiliarized) but still strict, highly symbolic system of representing meanings. Is it possible to declare a parallel semiotic (organic)/symbolic (defamiliarized representation/rules of governance) continuum between the two poles of “code” as between “creative writing” and “Creative Writing”? or between creativity (a vexed term to be sure) and whatever is presumed to be its Other? One might wonder also about the relationship between code(s) and community; that is, what kinds of consensual (unwritten) rules, “codes of conduct,” govern the formation of online writing communities and what are the moments of rupture?

About “freedom”: this concept has become increasingly important to me in my thinking and writing, though my philosophical chops are under-developed and I have only a visceral sense of what might be at issue. I was happy to see the word’s centrality to Alan’s contribution here, when he invokes “freedom” as a “meandering among rules” (a felicitous phrase that gets us beyond the either/or of the creative/regulated binary), inscription (which I can’t help but see as a form of [self]?-mutilation that comes close to the annihilation of self asked for in a Romantic/creative genius), and filtering; “freedom” as germane to both “creative writing” and “coding.” Along with “filtering,” we might think of “flittering,” that is, a meandering, uncircumscribed flight between different levels of rules or code, cross-pollinating as one goes. This is the effect of the “mash-up” between scholarly and creative writing, natural language and “codework,” self and others that wild inscription enables.

The time of codework—rraley, Fri, 14 Mar 2008 13:16:53

In my earlier writing about codeworks, I have addressed different modes and practices of interference: illegibility, withholding, a refusal of reader-user engagement, discontinuity, incompleteness in a general sense. When I thought about the relations between creative writing and software engineering, then, I tended to focus on issues of semiotics and linguistics; design; and performance. At this point, what I wish more strongly to consider are issues of time and temporality. To pursue this line of inquiry, I will comment upon a set of paradigmatic codeworks, among them Eugenio Tisselli’s Degenerative and Giselle Beiguelman’s CodeUp?.

Encoding Systems. A Brief History – Wolf Kittler—sbaldwin, Mon, 17 Mar 2008 13:26:43

I suggest we think writing, as it is today, within a long history of encoding -: from the Egyptian and Sumerian logographs, to the Phoenician syllabary, and from there to the modern alphabet, the great invention of the Greeks, which, for the first time in history, created a code with which to record accurately the sound of human speech. The same alphabet was soon to be used as well for two more purposes: the encoding of the Greek enumeration system and its correlate, the chords of music.

While the alphabet is still with us, albeit not as close to the sound of speech as it used to be, a new enumeration system of hindu-arabic origins introduced at the dawn of what we call modernity ripped words and numbers apart. A new writing technique, the telegraph, initiated a new epoch in which the codes for words and numbers have become and one and the same yet again. The history of telegraph codes leads straight to Turing’s universal machine and, from there, to the Turing-Church hypothesis.

(posted for Wolf Kittler)

Nick Montfort’s Notes—andyo, Sat, 22 Mar 2008 11:11:08

You’ve nicely summarized some reasons for altering the view humans have of code. We often talk about machines “interpreting” code, but what constitutes their “interpretation” must be different from human interpretation. For instance, if a programmer stores 127 in a one-byte integer and then increments it, a human will interpret the result one way (so long as he forgets to check the size of the storage variable) whereas the computer interprets it very differently—but does the computer see meaning in what it does?

It might be worth noting that compression can have practical value aside from its effect on human readers. JavaScript? is often compressed to reduce the time required to transmit it over a network.

Coding Is Not Creative, Aden’s position—andyo, Sat, 22 Mar 2008 11:19:27

I believe modern designers see the production of programs to be creative at all levels; like a fractal, the thought processes that system architects perform at the highest level are matched by similar thought processes performed by coders all the way down to the details.

However, good software engineering tries to mechanize as much code production as possible while forcing the programmer to think abstractly and consider consequences. The creativity goes more into the structure of classes, data, and functions, and not into writing each statement

Creation is a predictable, controllable process that can be engineered. —andyo, Sat, 22 Mar 2008 11:51:41

At some point, control has to be handed by the manager or team over to an individual who is responsible for a key part of the creative effort (for instance, a great character in a play, who may be produced by the author or by the actor). I don’t think scientific management can be pushed all the way down the stack to the seminal spark of inspiration.

You’ve said in your article that individual talent is an important element of productiviyt. But what of the reports that great coders can be one or two orders of magnitude more productive than average programmers? The results apply not just to producing functional programs, but to their efficiency and elegant design. This disparity takes creativity out of the realm of manageability.

Every movie producer knows that if he wants great results, he has to recruit a particular individual to achieve it.

Encoding Systems. A Brief History – Wolf Kittler—andyo, Sat, 22 Mar 2008 18:39:38

The alphabet—a big step in the rationalization of knowledge, comparable to digitization, according to McLuhan?. (But is McLuhan? relevant these days?)

Encoding Systems. A Brief History – Wolf Kittler—sondheim, Sat, 29 Mar 2008 09:53:34

Rationalization of knowledge predates the alphabet which might be considered a compression technology at best – think of those tokens in Sumeria etc. that apparently predated writing itself. There are symbolic structures on Acheulian pebbles, and cuneiform was in a sense the ascii of its time, embodying up to ten different languages in the reading and writing of particular documents. On one hand, cuneiform was the compression of history, space-time demographics applied to the specific; on the other, it was the center of mobile distribution systems across the mid-east that underwent as much flux as html does today. (You might even think of object-oriented programming in terms of cuneiform’s determinative signs – for god, city, number, etc.)

On another topic – I wonder if creativity might be considered precisely what can’t be engineered or controlled – that peripheral or diacritical mark which sends {x} veering. I recognize the romanticism in this statement, but having taught in a number of universities and art schools, approaching from the other side, it’s (im)precisely creativity that obstructs control, problematizes and jumps levels, etc.

Connecting Writing to Software at the Level of Design—center, Tue, 01 Apr 2008 17:55:45

This is Mary Shaw (my user id doesn’t seem to be working, so I’m posting from a generic account).

Much of the Codework discussion up to this point has been about the relation between program text (code) and English prose text. I would like to look at a different connection, between software system design and the organization of writings, specifically computer science research papers.

Graduate students in software engineering and other systems areas are usually excellent designers of software systems. They are often less good at designing research projects and interpreting the results of those projects. Many are downright inarticulate when it comes time to write papers that report and interpret their results.

For several years I have been trying to address the latter problems, first by analysis of research papers to identify the research paradigms – the research project designs – that guided the work being reported [cite]? and later by teaching a course that helps Computer Science PhD? students apply their software design knowledge to research papers [cite]?. That course is the most relevant aspect of this effort to Codework, so I will focus on that course here.

WordWright?: The Right Rite of Writing (see http://spoke.compose.cs.cmu.edu/write/)

Research papers are the customary means of reporting accomplishments to the research community. In a research paper, the author explains to an interested reader what he or she accomplished, and how, and why it matters. Research papers are designed artifacts as surely as other artifacts of computing. Like other designed objects, they are amenable to systematic development. Thus, a research paper should be as carefully designed as a program, and it is subject to similar design rules such as satisfaction of requirements (responding to the call for papers), orderly development of results (definition before use), type checking (agreement of number and tense, parallel structure in lists), and so on. The key elements of the course are * Treating a research paper as a designed artifact and helping students transfer their software design skills to the medium of the research paper * Conducting the course largely as a series of writer’s workshops in which students discuss each others’ work * Making explicit the common research paradigms of computer science, using them as plot outlines for the paper, and thereby helping students to understand that well-designed research projects yield results that are easier to write about.