Hi everyone,

As some of you may know, in 2010 I attained a masters degree in New Media from the University of Amsterdam. The title of my thesis is "Grammars of Process: Agency, Collective Becoming, and the Organization of Software".

* [PDF](http://drippingdigital.com/gop/grammars_of_process.pdf)
* [TeX](http://drippingdigital.com/gop/grammars_of_process.tex)
* [HTML](http://drippingdigital.com/gop)
* [thesis-groomer.rb](https://github.com/ab5tract/new_media/blob/master/thesis/infrastructure/thesis-groomer.rb), in case you are interested in the glue.

Linked above are the PDF and HTML versions of the thesis, which attempts to examine generative typesetting (ie, going from one input into multiple outputs with various properties) through the lens of new media theory and the 'transductive' cybernetics of Gilbert Simondon. The introduction is particularly heavy with new media theory, but as the chapters progress I think it becomes more readable for those unfamiliar with this discourse. The 'Operating Systems' chapter was quite fun to write and hopefully contains some interesting history and reflections.

One of the things this list might be excited about is the typography itself. I use many of Robert Bringhurst's suggestions, and I think the output is much the better for his advice.[^1] The HTML version was never totally finished (I'd prefer it to have JavaScript interaction and more Web-specific functionality). In fact, I had quite some plans for it, but as the deadline of the thesis approached, I necessarily poured my efforts more into content than presentation, and where presentation was concerned I was much more preoccupied with the Context version. All in all, I am happy with the thesis but I also know that it could use some work. If you have any feedback, please let me know.

[^1]: If anyone is interested, I'm thinking I might make a module that sets up the environment according to these conventions.

Because I was concerned with both PDF and HTML output, I chose to work in Markdown with Pandoc as my input format. Through the course of trying to manage a generative workflow, I had to make some unfortunate concessions: on the one hand, I had to process some of the input in order to get some basic things I needed, such as a blockquote environment for Context, handling the title page layout and abstract, among other things; and on the other hand I was forced to avoid bibliographic automation and instead had to be very careful to manually cite all my references. (This was because, at the time, Pandoc did not have the any capacity to do citation management that would work within HTML; with its new CiteProc support it seems that this is now feasible). Tagged PDF support is out of the question due to Pandoc generally only having MkII support, including lacking newer stuff like \startchapter..\stopchapter and \hyphenatedURL.

The main conclusion I had about generative typesetting is that we are missing a crucial "glue layer". I have written some on a system which I call Subtext, a mutable translation layer where one is in control of both the syntax and the translation effects from a configuration file. Pandoc is great, but Subtext approaches the edge cases of generative typesetting differently by encouraging output-specificities without requiring anyone to learn Haskell to gain a little more control. Looking over Hans' new `m-markdown` code, I am beginning to see a clearer vision of how to go about implementing this.

I've done some presentations on generative typesetting:

* [Generative Typesetting @ Libre Graphics Meeting 2011](http://river-valley.tv/generative-typesetting-with-context/)
* [Textual Liberation @ The Unbound Book Conference](http://e-boekenstad.nl/unbound/index.php/john-haltiwanger-generative-typesetting/)
    * [Sozi notes](http://drippingdigital.com/conf/unbound-book/textual-liberation.svg)

Anyway, I thought that perhaps someone here might find some bit of this interesting. Have a great weekend!

Sincerely,
John