You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
thesis/chapters/00_coding_contingencies.md

45 lines
2.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 1. Coding Contingencies _(2000)_
Situate software as cultural object and propose documentation as a surface to explore it.
### 1.1 Context around software, besides technicality
How do you choose a particular programming language, a coding paradigm, a development environment, an infrastructure where to run the code, and so on? These are not just technical choices, but rather coding contingencies.
Personal decisions, trending technologies, curiosity and boredom, to name a few. A talk that touch on esolangs as form of frugality, a collegue passionate about live coding that drags you to an algorave night, a crypto-boyfriend, the tech stack of a company, a drastic turn of events, etc. etc.
These contingencies are situated in specific contexts.
Programming then is not just sharing code, but sharing context. A significant statement about our relationship to the world, and how we organize our understanding of it (Ulman, 1998). A point of view and a perspective to look at reality, before attempting to get some grip onto it with a script. A way to deal with both the software and hardware circumstances of code (Marino, 2020), but also create space and relations with _non-code entities_ (Mackenzie, 2006).
It's an approach that helps us to think about software as a cultural object. Something "deeply woven into contemporary life economically, culturally, creatively, politically in manners both obvious and nearly invisible." (Software Studies, 2009), and not just as technical tool existing in a vacuum.
### 1.2 Introduce issues around software
![three spoonbills](img/spoonbils.jpg)
Outline a map of critical issues related to software culture, grouping them in three main flavours:
1. **Biased and hostile environments**
- Toxic masculinity
- encoded chauvinism
- western monoculture
2. **Evergrowing complexity**
- Intimidating learning curve
- disproportion of means
- mistification
3. **The universal solution™**
- Techno solutionism
- gray tech
- ideology
### 1.3 Propose documentation as a surface to address these issues
1. Welcoming diverse knowledges
2. Lowering barriers and create entry points
3. Orientate software in the world
- _(500)_