02 structure

main
km0 2 years ago
parent 6fab7b6786
commit 6fe191fa3e

@ -15,3 +15,28 @@ Being programming slightly different from cycling, people tend to forget what th
Software documentation is a defensive mechanism operated from our past selves to protect the present and future ones. Software documentation is a defensive mechanism operated from our past selves to protect the present and future ones.
Cuneiform writing and comments. (even though this is cuneiform writing and syntax highlighting) Cuneiform writing and comments. (even though this is cuneiform writing and syntax highlighting)
### Education and initiation
```note
not sure where to put this yet
it is to elaborate why this idea of backdoors vs for example just rebranding
```
We tend to put ourselves in difficult situations. By aknowledging complex problems, we aknowledge also the impossibility for simple solutions.
It would be easier to believe in technosolutionism: to think that issues such as biased algorithms or discrimination in IT could simply be solved by installing a new product, or updating our software to the last version, or writing code documentation following a new innovative framework.
But then what are we doing? If all these efforts to write documentation are not revolutionary, if they don't bear solutions, it they tackle minimal portions of major and systemic issues. Where is the twist in this idea of code documentation as publishing practice?
Three sources that could be explored here relate to an alternative to the model of technosolutionism
- the plot of her undoing - saidiya hartman - the undoing of the plot
- federico campagna - technics and magic - _taqiyya_, _kitman_ and secret - education vs initiation
- a way of saying from bergamo dialect about cinders and embers
There are several approaches for making worlds around software. Here are some keywords to refer to the kind of flow these worlding practices activate. To _reclaim_ is to get something back: something that was stolen, or taken away, or lost, or forgotten. To _reenchant_ means to intercept and reorientate towards different directions. To readjust a process, or to move for a different purpose. To _reassure_ serves as prompt to keep going. It helps making meaning together, and refresh ideas. It offers way to register choices, keep track and share what has been done so far.
These labels are open and loose, overlapping and not mutually exclusive, temporary and on the move. They are meant to change, to expire fast, and going bad even faster: they require continuous treatments and repeated efforts. That's why I'm naming them all after the _re_ prefix: to aknowledge their being in progress, second hand again, already contaminated. Borrowed by friends and foes, that had borrowed themselves from someone else. One should diffidate of these categories because they're instable. Nonetheless, they offer ways to visualize different strategies to create worlds around software.
<!-- This section is focused the relation between code and documentation practices, in the form of coding contingencies, political aesthetic and worlding. These terms come from different directions and with different focuses, but all of them offer ways to create context around code. -->

@ -1,236 +1,220 @@
## 2. Documentation as a backdoor ## 2. Documentation as a backdoor
```placeholder
- when the entry points are blocked one has to search for backdoors - when the entry points are blocked one has to search for backdoors
- little context for backdoors - little context for backdoors
```
```placeholder
- not only to participate in the making of software - not only to participate in the making of software
- but also to inject values, - but also to inject values,
```
Here documentation is seen as a surface that could host principles in close contact with algorithms, letting them entangle and shape each other. A way to orientate our instruments towards "non-extractive relationships, but in the meantime, being accountable for the ones they are complicit with." (A Wishlist for Trans\*feminist Servers, 2022)
```placeholder
- a way to transform coding contingencies? see introduction / move it here?
- programming as a way of sharing context
- what is contingent in this context? (meaning slightly out of reach)
- materiality? text editors? popular languages? economics?
- what can be changed?
```
```placeholder
- to expose people usually out of reach to different contexts - to expose people usually out of reach to different contexts
- literacy and exposition to certain concepts
- care vs attention economy
```
- by transforming coding contingencies? to create context that inform technical choices If we follow mainstream narratives, programming strives to be purely technical. Immaculate from the sin of politics. It's not rare to read comments online from users that demand to keep politics out from code repositories. Faithful to the western tradition of separate fields of study, coding wants just to be coding. All about performance and speed, new updates and features. A space where all problems are mechanical and can be solved.
But it wouldn't be fair to think that programmers simply don't care. Sometimes it's just a matter of being exposed to certain ways of thinking. Before the bachelor at the Accademy of Fine Arts for example, I've never been exposed to the writings of Donna Haraway, and I had no idea that concepts from feminism could have been so relevant also for me.
```note
if you cite Haraway better explain why it's important for you etc
```
Ellen Ullman is a programmer and writer, one of the few women working as developer in the Silicon Valley during the 80s and 90s. The combination of coming from the humanities, being a self-taught programmer, and especially being a woman made her the archetypical outsider in the IT industry. At the same time, this very position granted her a unique ethnographic perspective, capable of looking critically at this environment, both from the inside and from the outside. In more than one passage for example, she laments the general lack of literacy between many of her coworkers.
Here code documentation could work as a backdoor: hacking its way to people that have never been exposed to certain topics. A way to offer an entry points to other worlds, and ground political choices into technical details.
from reaching a public to creating a public from reaching a public to creating a public
- examples
1. politics of participation and representation ### politics of participation and representation
- from the trans\*feminists servers manifesto to the queer motto api to the 360 degrees of proximity #### from the trans\*feminists servers manifesto to the queer motto api to the 360 degrees of proximity
- from the discussion about accessibility in p5js to alt-text as poetry rethink participation in coding practice through a femminist perspective is not just swapping who can participate and who can not. doing so would just replicate current forms of exclusion.
- create new spaces for participation, validate participation the trans\*femminist servers manifesto engage with a more messy entangled complex way of understanding participation and technology
a way that open up for plurality, for instability, for safety, for situatedness
1
2. aesthetic practices - hello worlding these principles are reflected in the documentation of the queer motto api, that question the idea of software as a smooth service always available, with a motto generator that sometimes refuses to work, needs to REST or take a nap, or strikes to celebrate particular days such as the 8th march
- uxn ecosystem: re reading esolangs, plan-9, and virtual machines through the ecological lens by publishing in the form of an API, `ok what is an api in 2 words no meme of restaurant` the project engage by nature with other projects, such as the transmediale website, that uses it to display one random motto every day.
- the screenless office read through tiger dingsun's chimeric worlding who wants to integrate the queer motto api services needs to come at terms with the condition offered from the readme
- aesthetic programming as a bridge between software studies and creative coding the readme of the API offer an understanding of the various technical process involved in the classic idea of software-as-service, but re - narrating them from a feminist perspective
errors, service availability, consent and refusal, tokenism, all the terms neutralized by the normativity of everyday tech are here reactivated as powerful narrative devices
[ fade out towards outro ] 2
#### from the discussion about accessibility in p5js to alt-text as poetry
```note #### create / claim new spaces for participation, validate participation
it could be nice to have a small glossary / way to situate / elaborate on these terms:
(or even better to use them to organize the chapter and the examples)
coding contingencies context around code, either intentional or contingent ### aesthetic practices - hello worlding
political aesthetic political choices that inform technical choices
worlding aesthetic practices that create narrations around code
would it make sense then to move here the coding contingencies section from the intro?
end elaborate on that a little ```note
adjust re-enchanting ?
``` ```
Possible structure for this chapter: Reenchanting code cannot be just a process of rebranding. Cannot be just a matter of changing the visual identity of the documentation, or washing it green or pink or black, or to capitalize on the inclusion of minorities.
1. __coding contingencies__ Re-enchanting code means to create new narrations around software. As the artist James Bridle writes trying to untangle the complex social and environmental implications of digital computation: _"Technology is not mere tool making and tool use: it is the making of metaphors"._ (James Bridle, 2018) These metaphors, like code documentation, influence the way we think and use our tools.
- programming as a way of sharing context
- what is contingent in this context? (meaning slightly out of reach)
- materiality? text editors? popular languages? economics?
- Decoupled documentations? programming tutorials detached from a specific language. - `Example:` Master-slave examples on version control software documentation. See [BitKeeper](https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/HOWTO. ask#L223)
- See [Advanced beginners series](https://robertheaton.com/what-is-an-advanced-beginner/) - `Example:` The military term _deploy_ adopted by CI/CD systems such as the one on GitLab.
- Apparently was difficult to imagine also the end of Lisp, see Patterns of Softwaree - `Example:` The naming of group of servers as _fleet_ on AWS documentation, a term referring to naval formation, again with military connotation.
- Javascript Realism. It's easier to imagine the end of the world than the end of node.js (or not?)
2. __Technical is political__ These metaphors orient code in the world. They reinforce, highlight and validate certain practices. A fleet implies centralized control, a swarm implies direct influences between participants, a federation implies certain degrees of independence, etc.
- political choices informing technical choices
- create new spaces / claim space
- aesthetic programming Nanni Moretti was slapping people in the face to remark the importance of words and their usage. In the movie _Palombella Rossa_, the main character suffered from memory loss after a car accident, and every dialogue was a precious handhold to find back his lost identity. His struggle was less concerning the correct usage of italian language, and more connected to the conceiled history in every word. A missing link between literal meaning of a term, and its broader traditions of uses, misuses, and transformations. The difference between talking and talking within a context.
- p5.js on accessibility features
- trans*femminist servers To re-enchant code then means not only to _find & replace_ terms throughout the documentation, but to re-trace genealogies, to intercept and re-orient narrations, and offer a redemption arc to those projects that were abandoned. To re-enchant code means to coat new systems of meanings around it.
- 360 degres of proximity
- queer motto api
3. __Hello Worlding__
- p2panda
- uxn ecosystem
- the screenless office
- queer technologies
This section is focused the relation between code and documentation practices, in the form of coding contingencies, political aesthetic and worlding. These terms come from different directions and with different focuses, but all of them offer ways to create context around code. #### uxn ecosystem: re reading esolangs, plan-9, and virtual machines through the ecological lens
Here documentation is seen as a surface that could host principles in close contact with algorithms, letting them entangle and shape each other. A way to orientate our instruments towards "non-extractive relationships, but in the meantime, being accountable for the ones they are complicit with." (A Wishlist for Trans\*feminist Servers, 2022) A good example is the work of documentation around the Uxn ecosystem, a personal computing stack initiated by the 100 Rabbits collective.
To meet their needs for a portable and lightweight infrastructure, and reduce the energy consumption of their digital tools (in order to live and work on a wind & solar powered sailboat)
```note The two of them live on a sailboat since, mostly offline and mostly offgrid.
from here on is still a bit scattered, but i plan to feed the contents in the structure as soon as it becomes more clear! sry im too tired to do it now
```
To meet their needs for a portable and lightweight infrastructure they progressively moved away from the industry-standard toolchain
towards a self hosted, self developed, personal computing stack
```placeholder ```placeholder
2.1 Coding contingencies - see introduction? ... Weathering software winter --> plan-9 and esolangs seen through the lens of permacomputing
``` ```
as reported in weathering software winter this years long reserach (and life project) worked as backward exploration of what was left behind by so called progress
### 2.2 Technical is political the search to rethink personal computing from an ecological perspective touches on several projects left at the margin of tech culture
```note to finally settle on the idea of virtual machine and emulation with uxn and the varvara computer
(need more glue here and there between these paragraphs)
- pure programming: running away from the political
- literacy and exposition to certain concepts
- weaving technical and political together
```
If we follow mainstream narratives, programming strives to be purely technical. Immaculate from the sin of politics. It's not rare to read comments online from users that demand to keep politics out from code repositories. Faithful to the western tradition of separate fields of study, coding wants just to be coding. All about performance and speed, new updates and features. A space where all problems are mechanical and can be solved. in the unx documentation
plan-9 and several esoteric programming languages work as lore
and in this way are reactivated as ground for experimenting alternatives to face the ecological disaster
But it wouldn't be fair to think that programmers simply don't care. Sometimes it's just a matter of being exposed to certain ways of thinking. Before the bachelor at the Accademy of Fine Arts for example, I've never been exposed to the writings of Donna Haraway, and I had no idea that concepts from feminism could have been so relevant also for me.
```note #### the screenless office read through tiger dingsun's chimeric worlding
if you cite Haraway better explain why it's important for you etc
```placeholder
the screenless office by brendan howell is a project to re imagine computing away from the visual interface of the screen
screen seen as catalyst of capitalism
``` ```
Ellen Ullman is a programmer and writer, one of the few women working as developer in the Silicon Valley during the 80s and 90s. The combination of coming from the humanities, being a self-taught programmer, and especially being a woman made her the archetypical outsider in the IT industry. At the same time, this very position granted her a unique ethnographic perspective, capable of looking critically at this environment, both from the inside and from the outside. In more than one passage for example, she laments the general lack of literacy between many of her coworkers. ```placeholder
tiger dingsun chimeric worlding is a text on graphic design used for worldbuilding
since special issue 16 i started versioning that text replacing graphic design with other practice / surfaces (ex: API as worldbuilding)
version it again for code documentation as worldbuilding
```
weave the two together with the main concept of worldbuilding as a way to create alternative to capitalism
#### aesthetic programming as a bridge between software studies and creative coding
Here code documentation could work as a backdoor: hacking its way to people that have never been exposed to certain topics. A way to offer an entry points to other worlds, and ground political choices into technical details.
_Aesthetic Programming - A Handbook of Software Studies_, by Winnie Soon and Geoff Cox is an example on how to weave together these different discourses. The book explains the basic concepts of programming: it starts from variables and loops, to arrive at more complex topics such as machine learning or speech recognition. The technical curriculum offered is in line with other similar resources that target non-engineers. What's different here is a commitment to critically enquiry themes such as colonialism, racism, gender and sexuality, capitalism and class, and how are they embedded in code. _Aesthetic Programming - A Handbook of Software Studies_, by Winnie Soon and Geoff Cox is an example on how to weave together these different discourses. The book explains the basic concepts of programming: it starts from variables and loops, to arrive at more complex topics such as machine learning or speech recognition. The technical curriculum offered is in line with other similar resources that target non-engineers. What's different here is a commitment to critically enquiry themes such as colonialism, racism, gender and sexuality, capitalism and class, and how are they embedded in code.
Soon and Cox prepared these lessons for students enrolled in a design institution, and curated the pubblication addressing a public somehow familiar with the discourses around software studies. Thanks to the vantage point of writing documentation for beginners, they could be super explicit and go all out with generous amount of references. Soon and Cox prepared these lessons for students enrolled in a design institution, and curated the pubblication addressing a public somehow familiar with the discourses around software studies. Thanks to the vantage point of writing documentation for beginners, they could be super explicit and go all out with generous amount of references.
### 2.3 Hello Worlding
There are several approaches for making worlds around software. Here are some keywords to refer to the kind of flow these worlding practices activate. To _reclaim_ is to get something back: something that was stolen, or taken away, or lost, or forgotten. To _reenchant_ means to intercept and reorientate towards different directions. To readjust a process, or to move for a different purpose. To _reassure_ serves as prompt to keep going. It helps making meaning together, and refresh ideas. It offers way to register choices, keep track and share what has been done so far. [ fade out towards outro ]
These labels are open and loose, overlapping and not mutually exclusive, temporary and on the move. They are meant to change, to expire fast, and going bad even faster: they require continuous treatments and repeated efforts. That's why I'm naming them all after the _re_ prefix: to aknowledge their being in progress, second hand again, already contaminated. Borrowed by friends and foes, that had borrowed themselves from someone else. One should diffidate of these categories because they're instable. Nonetheless, they offer ways to visualize different strategies to create worlds around software.
```
reclaim take back
reenchant intercept
reassure keep going
reclaim renegotiate, recuperate, remember, refuse, reactivate
reenchant redirect, rebirth, reboot, rebrand, redeem
reassure refrain, refresh, regret, reaffirm, register, readme
```
### reclaim
There seems to be a risk in reducing sociality around software to a conflict between "friends and foes": a risk to reproduce forms of exclusion and violence typical of the IT world. To just swap good and bad, and offer clean solutions. ```note
it could be nice to have a small glossary / way to situate / elaborate on these terms:
(or even better to use them to organize the chapter and the examples)
```placeholder coding contingencies context around code, either intentional or contingent
Try instead to apply Chantal Mouffle's concept of agonistic politics to software development, intended as struggle between different hegemonic projects. But maybe is to much of a stretch political aesthetic political choices that inform technical choices
``` worlding aesthetic practices that create narrations around code
```placeholder
How can documentation create new spaces around code? Where new spaces means spaces for who are excluded.
```
```placeholder would it make sense then to move here the coding contingencies section from the intro?
Think about the works around queerying technologies, from Zach Blass to Trans\*feminist servers, to Queerying UNIX, to 360 degrees of proximity, the Queer motto API. end elaborate on that a little
``` ```
```placeholder - queer technologies?
Think about projects related to accessibility, and space built by and for people with diverse ability. Alt-text poetry could be a good starting point.
```
```placeholder
Think about the efforts to create safe spaces to learn.
```
### reenchant
Reenchanting code cannot be just a process of rebranding. Cannot be just a matter of changing the visual identity of the documentation, or washing it green or pink or black, or to capitalize on the inclusion of minorities.
Re-enchanting code means to create new narrations around software. As the artist James Bridle writes trying to untangle the complex social and environmental implications of digital computation: _"Technology is not mere tool making and tool use: it is the making of metaphors"._ (James Bridle, 2018) These metaphors, like code documentation, influence the way we think and use our tools.
- `Example:` Master-slave examples on version control software documentation. See [BitKeeper](https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/HOWTO. ask#L223)
- `Example:` The military term _deploy_ adopted by CI/CD systems such as the one on GitLab.
- `Example:` The naming of group of servers as _fleet_ on AWS documentation, a term referring to naval formation, again with military connotation.
These metaphors orient code in the world. They reinforce, highlight and validate certain practices. A fleet implies centralized control, a swarm implies direct influences between participants, a federation implies certain degrees of independence, etc. ### 2.2 Technical is political
Nanni Moretti was slapping people in the face to remark the importance of words and their usage. In the movie _Palombella Rossa_, the main character suffered from memory loss after a car accident, and every dialogue was a precious handhold to find back his lost identity. His struggle was less concerning the correct usage of italian language, and more connected to the conceiled history in every word. A missing link between literal meaning of a term, and its broader traditions of uses, misuses, and transformations. The difference between talking and talking within a context.
To re-enchant code then means not only to _find & replace_ terms throughout the documentation, but to re-trace genealogies, to intercept and re-orient narrations, and offer a redemption arc to those projects that were abandoned. To re-enchant code means to coat new systems of meanings around it.
A good example is the work of documentation around the Uxn ecosystem, a personal computing stack initiated by the 100 Rabbits collective.
To meet their needs for a portable and lightweight infrastructure, and reduce the energy consumption of their digital tools (in order to live and work on a wind & solar powered sailboat)
The two of them live on a sailboat since, mostly offline and mostly offgrid.
To meet their needs for a portable and lightweight infrastructure they progressively moved away from the industry-standard toolchain
### 2.3 Hello Worlding
```placeholder
... Weathering software winter --> plan-9 and esolangs seen through the lens of permacomputing
```
```placeholder
from personal project to broader community
see sejo vga introduction to uxn programming
see different implementation of uxn
``` ```
reclaim take back
reenchant intercept
reassure keep going
```placeholder reclaim renegotiate, recuperate, remember, refuse, reactivate
The same with DuskOS, a small operative system that reactivate the ancient programming language Forth within ecological perspectives reenchant redirect, rebirth, reboot, rebrand, redeem
reassure refrain, refresh, regret, reaffirm, register, readme
``` ```
### reclaim
### Reassure There seems to be a risk in reducing sociality around software to a conflict between "friends and foes": a risk to reproduce forms of exclusion and violence typical of the IT world. To just swap good and bad, and offer clean solutions.
```placeholder ```placeholder
documentation to keep going, to reassure, to bond Try instead to apply Chantal Mouffle's concept of agonistic politics to software development, intended as struggle between different hegemonic projects. But maybe is to much of a stretch
``` ```
```placeholder
How can documentation create new spaces around code? Where new spaces means spaces for who are excluded.
### Education and initiation
```note
not sure where to put this yet
it is to elaborate why this idea of backdoors vs for example just rebranding
``` ```
We tend to put ourselves in difficult situations. By aknowledging complex problems, we aknowledge also the impossibility for simple solutions. ```placeholder
Think about the works around queerying technologies, from Zach Blass to Trans\*feminist servers, to Queerying UNIX, to 360 degrees of proximity, the Queer motto API.
It would be easier to believe in technosolutionism: to think that issues such as biased algorithms or discrimination in IT could simply be solved by installing a new product, or updating our software to the last version, or writing code documentation following a new innovative framework. ```
But then what are we doing? If all these efforts to write documentation are not revolutionary, if they don't bear solutions, it they tackle minimal portions of major and systemic issues. Where is the twist in this idea of code documentation as publishing practice?
Three sources that could be explored here relate to an alternative to the model of technosolutionism ```placeholder
Think about projects related to accessibility, and space built by and for people with diverse ability. Alt-text poetry could be a good starting point.
```
- the plot of her undoing - saidiya hartman - the undoing of the plot ```placeholder
- federico campagna - technics and magic - _taqiyya_, _kitman_ and secret - education vs initiation Think about the efforts to create safe spaces to learn.
- a way of saying from bergamo dialect about cinders and embers ```

Loading…
Cancel
Save