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

66 lines
4.9 KiB
Markdown

2 years ago
## 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.
2 years ago
Personal decisions, trending technologies, curiosity and boredom, to name a few. A talk that touches 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.
2 years ago
These contingencies are situated in specific contexts.
2 years ago
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 (Ullman, 2017). 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).
2 years ago
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.
---
2 years ago
An object that, in turn, can be used to probe its surroundings. Who is developing? Who is paying? For what cause? Who is gonna use it? How is it structured? It is a big and centralized system or a loose collection of small and interchangable tools?
2 years ago
<!-- better transition here -->
2 years ago
There is a difference in scale of space and time between our biological and social selves, and the internal clock of a computer, or the reach of its network. This often leads us to picture wrong images of the technological complexity we are participating in. That's why in order to debug complexity we probably first need to debug software (Shirky, 2014). Understand how does it work, or why it doesn't work the way we expect, either in its technical, cultural, or environmental outcomes. Unpack what can be changed and adjusted, and being able to reason about it.
2 years ago
To participate in the making of software it's a way to attune with the troubled times we are living in. A chance to gain some understanding and agency on systems that often slip away from our awareness because too big and slow, or small and fast. Relying on the unthinkable speed of microprocessors and the phantasmal aura of wi-fi, we can make sense of the unknown of software (Chun, 2022), and the alien and convoluted knowledge it constitutes.
This process does not stop with programming, and it is both more and less than just an engineering problem. It is more because of its relational nature, the thick mesh of exchanges and compromises in communication between people and machine, and between people and people, and between people and resources, and resources and time, and so on. But is it also less than that because when it works it works, and code disappears.
2 years ago
### 1.2 Introduce issues around software
2 years ago
This economy of interactions and interfaces results in a bestiary of bugs, glitches, and issues that affect and effectivly shape what we do call software culture. Far from being caused just by the intersection of life and code, many of these problems root into ideologies and forms of violence that plague the world long before Google. The problem of toxic masculinity and gender gap in the IT it's the first elephant in a room that should be, at this point, called natural reserve. Uneven distribution of access, evergrowing hunger for resources, extractive and neo-colonial practices, etc.
2 years ago
2 years ago
These critical questions relate with software from different angles and distances, so it is useful to draft a map of the swamp we want to navigate into. Writing from the eye, there are three main aspects in sight: the violence of bias and hostile environments, the challenge of complexity, and the empty promises of techno-solutionism.
2 years ago
1. **Biased and hostile environments**
- Toxic masculinity
- encoded chauvinism
- western monoculture
2. **Evergrowing complexity**
2 years ago
2 years ago
- Intimidating learning curve
- disproportion of means
- mistification
2 years ago
2 years ago
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)_
2 years ago
## References
Ullman, E. (2017). _Life in code : a personal history of technology._ New York: Mcd, Farrar, Straus And Giroux.
Marino, M.C. (2020). _Critical code studies._ Editorial: Cambridge, Massachusetts: The Mit Press.
https://vimeo.com/105069079