@ -6,13 +6,31 @@ Coding Contingencies (CC) is a procedural take on how different characters got t
How did they 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 class focused on object-oriented programming, a collegue with enthusiasm to share about live coding, a crypto-boyfriend, the tech stack of a company, the historical moment, etc. etc.
Personal decisions, trending technologies, curiosity and boredom, to name a few. A lecture on Code Golf, a collegue passionate about live coding, a crypto-boyfriend, the tech stack of an employer, a drasatic turn of events, etc. etc.
These contingencies are situated in precise contexts.
Programming then is not just sharing code, but sharing context.
It's providing a point of view and a perspective to look at the world, before attempting to get some grip onto it with a script.
Using the simulation as a writing machine we can articulate these CC through a series of steps. Zooming out from a particular case, we get a glimpse of a more subtle and diffuse process. The code is not confined inside the machine, but it floats around everywhere. It fills the room and clouds the windowpane.
Using the simulation as a writing machine we can articulate these CC with some benefits:
1. Suspension of judgment
Within the scope of the simulation it's not necessary to label good or bad choices.
One character could decide one morning to write their own operative system from scratch using Red Stone circuits in Minecraft, and it would be fine.
Due to the nature of the process, even the most absurd starting point it's a valid and powerful narrative device.
In this way it becomes easier to explore marginal cases, improbabilities, and non-conform situations.
2. A series of steps
A simulation does not happen all at once, instead is a process that evolves through time.
Elements entangle gradually, and do not come as a monolithic block.
Instead they can be imagined as lines merging
3. Avoid generalization
4. Incompletedness
(writing here now)
through a series of steps. Zooming out from the particular, we get a glimpse of a more subtle and diffuse process. The code is not confined inside the machine, but it floats around everywhere. It fills the room and clouds the windowpane.
This procedure helps us to think about software as 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.