cover

notes - fall 2020

introduction

who is going to be impacted by this? how does it create discussion/connection?

to read

metaphors and the main problems of hermeneutics

the metaphorical process as cognition, imagination and feeling

MD system used in the visual search process

systems elegance

ontologies of computer programs

programming paradigms - van roy

linguistics and computational semantics - cantwell-smith

computational artefacts - peter suber

insightuful code

heisenberg - the meaning of beauty in the exact sciences

the programmer’s brain (preview) -> However, your brain does a lot more while you are reading the BASIC program. You are mentally trying to execute the code, to understand what is happening. That process is called tracing—the mental compiling and executing of code

software design decoded

semiotics of programming

programmers at work

Elegance: Through a single lens, it communicates the problem it solves and the machinery of its solution.

Implementation as: THIS GOES WITH GOODMAN

https://vimeo.com/47364930 -> concise code is code as litterature, because he says one of the issues is that there are just too many lines of code that one can wrap its head around. so there’s a need for shrinking down content

when i talk about materiality, i should also contextualize it with other materialities (build processes, hardware, etc)

flow state needs an immediate feedback in order to be achieved: literary writing does not have that, but computer writing, with IDEs, linters, etc. does have immediate feedback (with execution speed, so i guess it changes over the years as well)

ARCH:

alexander vs. eisenman

alexander = softdev, habitable vs. eisenman = hack, subversion

design thinking book: The concept of good in architecture is one which says, among other things, that all architecture must engage its audience. It must foster understanding and be intelligible. This is clearly not the only concept necessarily at work, but it is one that would have broad adherence, across positions.

http://emis.matem.unam.mx/journals/NNJ/conferences/N2004-Diaz.html - beauty in math and arch

beauty in math: https://en.wikipedia.org/wiki/A_Mathematician%27s_Apology

simplicity: Syntactic simplicity, or elegance, measures the number and conciseness of the theory’s basic principles. Ontological simplicity, or parsimony, measures the number of kinds of entities postulated by the theory. code is syntactic simplicity because wrngles together complex concepts (e.g. perl, one liners), or code is ontological simplicity, because all is within computation (e.g. lisp)

los pequenos glazier, code as language: “There are other spatialities key to writerly programming. Decisions such as whether copies of objects are used in new contexts or existing objects are overwritten, recursion, the articulate realities of arrays, and the energized antics of loops within loops, are a decisive part of the logic of programs”

tension between literature and architecture: expression statement vs. block statement


GOTO as proof of spatialization


reading and writing

there could be different beauties in writing and in reading (case of Mike’s APL) - easier to read vs. easier to type

aesthetic analysis

luigi pareyson: aesthetics and interpretation [https://www.fabula.org/actualites/luigi-pareyson-esthetique-theorie-de-la-formativite_21236.php]

found

My personal style guide is to copy Erlang: double quotes for text, single quotes for programmatic strings (atoms/symbols). The single quote is slightly more convenient to type on a qwerty keyboard, but text regularly contains single quotes (apostrophes). It also provides a semantic visual shortcut.

I like the concept of semantic visual shortcut, also semantic compression (developed here)

https://dl.acm.org/doi/abs/10.1145/1869542.1869627 https://www.semanticscholar.org/paper/The-Elements-of-Pattern-Style-Sane/664c6bd6f494d5121999071703e595175ebf7aa1?p2df https://dl.acm.org/doi/abs/10.1145/78607.78611 - typography is proven to be helpful

this could be an interesting theory about the reading process: [https://www.fabula.org/actualites/luigi-pareyson-esthetique-theorie-de-la-formativite_21236.php]

this is not so much about code aligning with standards of literature, but maybe aligning to the standards of both epistemology and architecture, architectural knowledge

programming languages

when we talk about esolangs, we are designing a perspective for someone to think through. -daniel temkin src

There’s a lot of attention to COMPRESSION, using the underlying programming language in a way that’s easy to penetrate - richard gabriel src

conceptual art aims at communicating concepts, ideas. experimental art don’t know what they aim at but are motivated by an aesthetic criteria. (richard gabriel, keynote science is not enough)

the question of operational meaning vs. denotational meaning should be explored. what means what to the computer? (and what is the role of the stack in this whole thing)

procedural rhetoric is just a very high level of programming semantics. processes with meaning assigned to it. <- this further extends the gradient.

a class within a class link is a visual/spatio-mental pattern which means “complexity”, “unmaintainability”, “unsustainability”

bad patterns make possible the kind of actions which result in bad patterns?


Abstraction in programming is the process of identifying common patterns that have systematic variations; an abstraction represents the common pattern and provides a means for specifying which variation to use. An abstraction facilitates separation of concerns: The implementor of an abstraction can ignore the exact uses or instances of the abstraction, and the user of the abstraction can forget the details of the implementation of the abstraction, so long as the implementation fulfills its intention or specification. (Balzer et al. 1989)


Compression is the characteristic of a piece of text that the meaning of any part of it is “larger” than that particular piece has by itself. This characteristic is created by a rich context, with each part of the text drawing on that context—each word draws part of its meaning from its surroundings. Piecemeal growth is the process of design and implementation in which software is embellished, modified, reduced, enlarged, and improved through a process of repair rather than of replacement

meeting with advisors

questions:

the intent overall is to see to what extent there is an overlap between each of those communities of practice

next steps: