Compile a list of resources to explore the _documentation of coding related practices_ from a community-based perspective, as a process of sharing knowledge and making worlds together around _situated software_.
To work within the constraints of a structure such as the list will help to think through the complexity of dealing with a double _unknown_ (computationalculture.net, 2022): the one of software and the one of situatedness. This complexity will hopefully be preserved and encoded in the relations between different items.
These resources will be of various nature: tools, thoughts, anecdotes, excercises, prompts, strategies, ... They will offer entry points to articulate _software documentation_ as a form of care.
Imagine a [tools list](https://github.com/everestpipkin/tools-list) gradually branching as a coral reef, with the items _interfering with each other_ (Haraway, 1988), resembling the heterogeneous _Celestial Emporium_ reported by Borges (Borges, 1968). Some elements of the list will relate to the materiality and surfaces where documentation is hosted, while others will engage more with the actors and frameworks entangled in the process.
_Software documentation_ is not just a technical list of procedures, but also a matter of providing context and orientate code in the world. In the same way, the list is meant to be a texture where to weave together multiple voices and diverse registry, in order to re-enchant the making of software.
This project grows out of the contradiction of being frustrated in having to deal with undocumented pieces of software, and at the same time never documenting anything. While for sure there is some thrill in understanding how to stitch codes together, the lack of documentation poses a great hindrance for the participation of diverse knowledges in the making of software.
At the same time, this very lack of documentation could be used as a starting point.
Documentation is a space that interfaces between the code, the user, the developer, and the world. A space with potential to renegotiate and reclaim given margins and entry points. A chance to overwrite what is normalized, and let more voices participate in the discourse that is software.
Documentation is a way to produce narrations around software. To create a world for the code to inhabit, to give it affordances and stretch what is possible to do or to think with it. Documentation is a space for the political in the software. A surface that could host ideas in close contact with code, letting them entangle and shape each other.
I'm interested in the development of site-specific software. My artistic and design practice has always relied on the development of custom software to facilitate agency-on and comprehension-of complex systems. The tools themselves were never the main focus though, but rather just instruments to activate and be activated within particular contexts. Tools tailored to specific moments and then forgotten. Situated Software (www.gwern.net, 2004).
During the first year at XPUB the approach started to change. Working together with my classmates let me realize the importance of sharing tools. To develop not just for yourself, but also for others. Code as a common. How important it is to create a space for these tools to circulate, and how important are the narrations we build around these instruments. In this sense software development could be seen as a form of care, as well as a form of publishing.
Since last year I'm prototyping writing machines in order to keep track of what happens around XPUB. Some examples are [this very section of the Soupboat](/soupboat/~kamo/) that is a way to document projects, the [Padliography](/soupboat/padliography/) that is a way to archive documents and links, the [xquisite branch](/soupboat/xquisite/draw/BUCockhPVwHxGARDhSMKgn) made during SI17 that is a branching take on the exquisite corpse game, etc. Probably to develop software is my strategy to get grip on the world. Every writing machine implies a different way to think about your contents. The plan is to develop something as well for this research process.
After the work in the past Special Issues, I'm trying to shift from compulsive development to susteinable development. Sustainable in relation to the context and the other actors involved in the process. This requires to learn how to balance between different priorities, to understand when to develop something from scratch and when to participate into already existing discourses. It means to learn how to balance between accessibility, susteinability and flexibility.
To make software means not only to write code, but also to take a stance regarding this trends.
Coding is not just production of software, but also production of knowledge. A dialogue between human and more-than-human actors. The guestlist of this conference of the bits is often compiled by chance: the choice of a particular programming language, the coding style, the development environment and ecosystem, the infrastructure that runs the code, and so on, are the result of specific contingencies.
These contingencies are situated in precise contexts, and these contexts are different one from another. Programming is not just sharing code, but sharing context. Programming means to provide a point of view and a perspective to look at the world, before attempting to get some grip onto it with a script. That's the reason why even if source code, even when obfuscated, speaks for itself, it cannot always cast light around its surroundings.
To make place for code turns to be a necessary act of care in the process of sharing knowledge. This does not mean to constrain the usage of some piece of software, or provide opinionated solutions or tutorials, but rather letting others know where does this code come from, and where it would like to go.
- Chun W., Soon W., Wardrip-Fruin N., Zhu J. (2022). _Software Studies, Revisited | Computational Culture._`[online]` Available at: [http://computationalculture.net/software-studies-revisited/](http://computationalculture.net/software-studies-revisited/) [Accessed 9 Oct. 2022].
- Fuller, M. ed. (2008). _Software Studies: A Lexicon._ Massachusetts: The MIT Press.
-Gabriel, R.P. (1996). _Patterns of software : tales from the software community._ New York: Oxford University Press.
- Haraway, D. (1988). _Situated Knowledges: the Science Question in Feminism and the Privilege of Partial Perspective._ Feminist Studies, 14(3), pp.575–599. doi:10.2307/3178066.
- Jorge Luis Borges (1968). _Other inquisitions_. New York: Simon And Schuster Imp.
- Karayanni M. (2021). _Read The Feminist Manifesto_. `[online]` Available at: [https://psaroskalazines.gr/pdf/rtfm_zine_screen.pdf](https://psaroskalazines.gr/pdf/rtfm_zine_screen.pdf).
- Li, J. (2020). _Where Did Software Go Wrong?_. `[online]` Available at: [https://blog.jse.li/posts/software/](https://blog.jse.li/posts/software/) [Accessed 10 Nov. 2022].
- Pipkin, E. (2022). _Open source, experimental, and tiny tools roundup_. `[online]` GitHub. Available at: [https://github.com/everestpipkin/tools-list](https://github.com/everestpipkin/tools-list) [Accessed 18 Nov. 2022].
- Procida, D. (2017). _Diátaxis Documentation Framework_. `[online]` diataxis.fr. Available at: [diataxis.fr](diataxis.fr) [Accessed 18 Nov. 2022].
- Shirky, C. (2004). _Shirky: Situated Software_. `[online]` Available at: [https://www.gwern.net/docs/technology/2004-03-30-shirky-situatedsoftware.html](https://www.gwern.net/docs/technology/2004-03-30-shirky-situatedsoftware.html) [Accessed 11 Oct. 2022].