User:Kim/Assessment 2 (T4): Difference between revisions

From XPUB & Lens-Based wiki
 
(52 intermediate revisions by the same user not shown)
Line 1: Line 1:
==year 1==
<p class="websiteref">'''you are looking at the backend of kims t4 assessment - find the webpage [https://hub.xpub.nl/cerealbox/~kim/t4-assessment-frontend/ here]'''</p>
 
''This is an attempt to use the git protocol as presentation protocol, thinking through the actions that the software prescribes. The presentation is structured by main tasks (commands) used when working with the software. for coherence, the order and hierarchy of commands is hereby slightly adjusted, commands might also be interpreted as words rather than code.''
 
==git init==
somewhere on my computer I initialize a git repository. this poses the local context for my project: ''in it, i can find some relevant work from the past year.''
 
===Tracing Networks Backwards===
===Tracing Networks Backwards===
Tracing Networks Backwards is a (browser) game based on mediawiki. Its interface displays all wiki page titles (circle) that link towards the currently open one (center). Playing the game, the user can recursively visit wiki pages and output their traced path into a graph.
Tracing Networks Backwards is a (browser) game based on mediawiki. Its interface displays all wiki page titles (circle) that link towards the currently open one (center). Playing the game, the user can recursively visit wiki pages and output their traced path into a graph.


'''Key:''' what happens when we render more / different information visible, than usually prescribed in user interfaces?
'''Key:''' what happens when we render more / different information visible, than usually prescribed in user interfaces? ''how do we interact with it? what does recomposition of information imply for how we ... read, learn, move, understand relations''
<gallery>
<gallery>
Tnb-web-interface.png|browser version
Tnb-web-interface.png|browser version
Line 12: Line 18:


===Browser Extensions===
===Browser Extensions===
''Layer'' is a browser extension surfacing source code elements which by default are not part of a websites (or browsers) visible interface.<br>
Layer is a browser extension surfacing source code elements which by default are not part of a websites (or browsers) visible interface.<br>
''Annual rings'' is a browser extension which gets a websites age and grows a ring for each year the site is old.
Annual rings is a browser extension which gets a websites age and grows a ring for each year the site is old.


'''Key:''' continuing with the question of making visible, but here leaving the 'original' interface as a starting point, deconstructing it is part of the users operation
'''Key:''' continuing with the question of making visible, but here leaving the 'original' interface as a starting point, deconstructing it is part of the users operation
Line 24: Line 30:


===Terms of Servers===
===Terms of Servers===
Terms of servers is a terminal based publication that runs on a temporary, communal server called Cerealbox. Working with the server for almost a year now evoked questions around its materiality and reliability. Together with Claudio, we discuss these questions among us, the users, but also direct them towards Cerealbox itself. Terms of servers' form is malleable, it can be read in a computer shell or as printed text.
Terms of servers is a terminal based publication that runs on a temporary, communal server called Cerealbox. ''Working with the server over a year now evoked questions around its materiality and reliability. Together with Claudio, we discuss these questions among us, the users, but also direct them towards Cerealbox itself. Terms of servers' form is malleable, it can be read in a computer shell or as printed text.''


'''Key:''' the collaborative writing process with Claudio on an etherpad that records the 'actual text' and conversation and feedback on the emerging text and navigating process at at the same time. This happened through
'''Key:''' the collaborative writing process with Claudio on an etherpad that records the 'actual text' and conversation and feedback on the emerging text and navigating process at at the same time. This happened through
use of specific marks pointing out sections to revise (claudio, mostly for himself but also communicating to me the stage of the text to me)<blockquote>?review</blockquote>adding '+' when agreeing<blockquote>(here I think it would be nice to insert the ping and uptime scripts you made as they indicate time) ++</blockquote>excitement (conveyed by enthusiastic use of exclamation marks and other symbols)<blockquote>this looks promising!! <br>
use of specific marks pointing out sections to revise ''(claudio, mostly for himself but also communicating to me the stage of the text to me)''<blockquote>?review</blockquote>adding '+' when agreeing<blockquote>(here I think it would be nice to insert the ping and uptime scripts you made as they indicate time) ++</blockquote>excitement (conveyed by enthusiastic use of exclamation marks and other symbols)<blockquote>this looks promising!! <br>
!! claudio did you see: the exec.tpp example shows that you can actually run commands in the tpp and display their output !! (SO we could really run the scripts we had been prototyping)</blockquote>all text remains on the pad (will not be deleted) to ensure ability to follow process and context for both collaborators<blockquote><s>We do know that our server is a Raspberry Pi 4B, we covered its What? We also know its Where?</s> ($ping is actually covering where bc it investigates the hub/ xvm connection...) <s>which is at our school: WDKA, Rotterdam, how about its When?</s></blockquote>clarification in dialogue<blockquote>(the last two sentences I did not quite get) (yeah I put them here but I am not sure as well, will expand on this but maybe it is something not related)</blockquote>posing questions, calls for reflection, to another in the process<blockquote>lets discuss: what is it that we aim for with this investigation/ publication? what differentiates our writing from existing man/ documentation?</blockquote>'''Technical:''' exercising python, bash scripting, working with markdown (single source publishing)
!! claudio did you see: the exec.tpp example shows that you can actually run commands in the tpp and display their output !! (SO we could really run the scripts we had been prototyping)</blockquote>all text remains on the pad (will not be deleted) to ensure ability to follow process and context for both collaborators<blockquote><s>We do know that our server is a Raspberry Pi 4B, we covered its What? We also know its Where?</s> ($ping is actually covering where bc it investigates the hub/ xvm connection...) <s>which is at our school: WDKA, Rotterdam, how about its When?</s></blockquote>clarification in dialogue<blockquote>(the last two sentences I did not quite get) (yeah I put them here but I am not sure as well, will expand on this but maybe it is something not related)</blockquote>posing questions, calls for reflection, to another in the process<blockquote>lets discuss: what is it that we aim for with this investigation/ publication? what differentiates our writing from existing man/ documentation?</blockquote>'''Technical:''' exercising python, bash scripting, working with markdown (single source publishing)
<gallery>
<gallery>
Line 34: Line 40:
</gallery>
</gallery>
'''links:''' [[Terms of servers| project documentation]], [[User:Kim/Special Issue 27/uptime| project process]], [https://hub.xpub.nl/cerealbox/SI27/kim-claudio/final-project/ directory on cerealbox]
'''links:''' [[Terms of servers| project documentation]], [[User:Kim/Special Issue 27/uptime| project process]], [https://hub.xpub.nl/cerealbox/SI27/kim-claudio/final-project/ directory on cerealbox]
===Fediverse Instance===
We (Kiara, Eleni, Claudio, and I) with support of Manetta, started installing a Mastodon Fork 'Glitch Sok' on Debby, an XPUB server, in order to create our own instance.
'''Key:''' ''it wasn't easy.'' we navigated the process in a group (which is usually done by an individual) involved different protocols, documentation, discussion (written and spoken), side research. ''frustration with existing documentation that assumes a lot of previous knowledge and installations''
'''technical:''' debugging(?) dare to change code or settings you dont fully understand
'''links:''' [[Fediverse/Installation documentation]]


===Personal Reader===
===Personal Reader===
In the first year of XPUB, every student is asked to start a personal reader. Mine is a git repository that has grown into a container for mapping reading progress, notes and outlines, planning reading and sorting read texts.
In the first year of XPUB, every student is asked to start a personal reader. Mine is a git repository that has grown into a container for mapping reading progress, notes and outlines, planning reading and sorting read texts.


'''Key:''' (after trying out multiple forms: wiki, websites, a mix of both or more local approaches like zotero) found an interest in about mis-/ reusing the metadata for a non-technical, non-optimization purposes but rather as textual layer
'''Key:''' ''not having used git much before,'' I found an interest in mis-/ reusing the metadata for a non-technical, non-optimization purposes but rather as textual layer


'''Technical:''' git
'''Technical:''' git
Line 44: Line 59:
'''links:''' [https://gitlab.com/km_kt/xp-reader repository on gitlab], [[User:Kim/reading| previous reader on wiki]]
'''links:''' [https://gitlab.com/km_kt/xp-reader repository on gitlab], [[User:Kim/reading| previous reader on wiki]]


===Fediverse Instance===
==git status==
We (Kiara, Eleni, Claudio, and I) with support of Manetta, started installing a Mastodon Fork 'Glitch Sok' on Debby, an XPUB server, in order to create our own instance.
''git status provides me with information about my current situation, use this as title for this project proposal section''


'''Key:''' it wasn't easy. we navigated the process in a group (which is usually done by an individual) involved different protocols, documentation, discussion (written and spoken), side research. frustration with existing documentation that assumes a lot of previous knowledge and installations
[[User:Kim/Project Proposal (Gitpub)|project proposal page]]


'''technical:''' ... (debugging? dare to change code or settings you dont fully understand)
===git add===
''lets add some changes to the initialized repository.'' ''what do I propose?''


'''links:''' [[Fediverse/Installation documentation]]
Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata. ''This tool is not bound to any specific environment yet, but could have different interfaces such as a website or a terminal program.''


==project proposal==
''<br />
===what===
although we might all familiar with git I'll briefly contextualize it:''
Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata. This tool is not bound to any specific environment yet, but could have different interfaces such as a website or a terminal program.


* git software: keep track of changes made in a file and collaborate with others on the same files
* ''softwares means of collaboration and version control produce vast amount of metadata to the code (or text) files contained in a git repository''
* ''metadata either neglected or exploited, reinforce hypercapitalist modes of production''


although we might all familiar with git I'll briefly contextualize it:


git is a software that helps you keep track of changes made in a file and lets you collaborate with others on the same files. The softwares means of collaboration and version control produce a vast amount of metadata to the code (or text) files that are contained inside a git repository. Yet this metadata is either neglected or exploited to reinforce hypercapitalist modes of production.


At this point i was asked to say a bit more about metadata:


At this point i was asked to say a bit more about metadata:
* Historically metadata used to index books in library catalogs
* increasing digitisation turned into databases
* Not only books contain metadata, everything we want to index or process by a computer.


Historically metadata was used to index books in library catalogs. With increasing digitisation, these were turned into databases. Not only books contain metadata, but basically everything we want to index or process by a computer.
* ''Today metadata deeply embedded in search-engine optimisation through expansion driven big tech companies that control digital platforms, data, and online markets.''
* ''metadata not only feeds into e-commerce but reinforces proprietary modes of knowledge production and circulation.''


Today metadata is deeply embedded in search-engine optimisation through expansion driven big tech companies that control digital platforms, data, and online markets. In that, (digital cataloging) metadata not only feeds into e-commerce but reinforces proprietary modes of knowledge production and circulation.




gitpub is only one part of the project proposal:
=== git checkout ===
gitpub is only one part of the project proposal: ''(on a new branch I'll briefly outline the second part)''


writing script(s) - script(s) writing is a series of scores.
writing script(s) - script(s) writing is a series of scores.
Line 76: Line 96:
above I outlined the act of writing a script (programming gitpub) - scores look at the (social, technological) scripts we follow when writing.
above I outlined the act of writing a script (programming gitpub) - scores look at the (social, technological) scripts we follow when writing.


* Collaborative production of text as crucial part of this project
* ''Collaborative production of text as crucial part of this project''
* reality of collaborative writing is messy, full of variation and discussion  
* ''reality of collaborative writing is messy, full of variation and discussion''
* contrast: developing a tool is a process of ‘making things work’, > variation and ambiguity become a programming problem to solve  
* ''contrast: developing a tool is a process of ‘making things work’ > variation and ambiguity become a programming problem to solve''
* important for me to approach development of gitpub not from purely technical side
* ''important for me to approach development of gitpub not from purely technical side''
* but with exercises that examine collaborative writing of, with and through metadata.  
* ''(but with exercises that examine collaborative writing of, with and through metadata.)''


How can a script (which which forms the technical basis of the tool) and collaborative writing work (examined in scores) inform each other?  
How can a script (which which forms the technical basis of the tool) and collaborative writing work (examined in scores) inform each other?  


<div style="color: lightgray;">while in the first part I am writing scripts (programming) its relevant to look at the (social, technological) scripts we follow when writing. here is why...
===git merge===
 
''This might all be quite abstract. In the following section we'll look at some of the prototypes I have so far, to merge the two mentioned approaches, make  tangible and point out how they relate. (this is all work in progress, so mainly some first observations)''
We use software such as git or etherpad to collaborate on a text. In the development of such software, acts of collaboration are anticipated and inscribed into these tools - think of version control, merging, branching or comments. Those features influence how we use tools and thereby prescribe processes of writing together. In that a software becomes a model that tries to solve human communication and interaction through computer engineering.


tools are built for efficiency, writing a tool or script is a process of making things work. This leaves little to no space for the actual work that people do when they write collaboratively. The actual work that is messy, full of variation and discussion (see articulation work).
scores:
* writing exercises (scores) orient themselves along features of common collaborative writing software (score for merging, score for versioning, score for message) ''the workshop page can be found here [[User:Kim/Prototyping 2nd year/Writing Scripts (Workshop)]]''


I would not like to separate above processes but ask how a script (which which forms the technical basis of the tool) and collaborative writing work (that we today look at through specific scores) can inform each other?</div>
* in [[User:Kim/Prototyping 2nd year/Writing Scripts (Workshop)#score_for_message:|score for message]] participants added a character alternatingly  
 
* not allowed to converse during the exercise
===prototypes===
* What alternative methods for communication can you come up with to plan or navigate the writing process?   
This might all be quite abstract. In the following section we'll look at some of the prototypes I have so far, to make it more tangible and point to moments in which they could connect.
 
the writing exercises are structured in scores that orient themselves along features of common collaborative writing software (score for merging, score for versioning, score for message) the workshop page can be found here [[User:Kim/Prototyping 2nd year/Writing Scripts (Workshop)]]
 
In the [[User:Kim/Prototyping 2nd year/Writing Scripts (Workshop)#score_for_message:|score for message]] participants added a character alternatingly, without being allowed to converse during the exercise. What alternative methods for communication can you come up with to plan or navigate the writing process?   
<gallery>
<gallery>
Score3 message big.jpeg|score for message
Score3 message big.jpeg|score for message
</gallery>
</gallery>
looking at their writing more closely, it becomes apparent that they use symbols (question mark, exclamation mark, X) and positioning of those to create rupture, indicate points of attention or mark the end of a line.
''looking at their writing more closely, it becomes apparent that they use symbols (question mark, exclamation mark, X) and positioning of those to create rupture, indicate points of attention or mark the end of a line.''


a method that, without planning, claudio and I used too, when writing together with on the etherpad for [[User:Kim/Assessment 2 (T4)#Terms_of_Servers|Terms of Servers]]
''a method that, without planning, claudio and I used too, when writing together with on the etherpad for [[User:Kim/Assessment 2 (T4)#Terms_of_Servers|Terms of Servers]]''


gitpub prototypes
gitpub prototypes:
 
* comes in 3 versions in which I printed my [https://gitlab.com/km_kt/xp-reader-fork personal reader (fork)] (2x) and [https://git.xpub.nl/XPUB/writing-from-the-middle writing from the middle (copy)] a repository writing exercise XPUB1
the included metadata spans: commit messages (communication) diff / insertions / deletions (change scope) user name (authorship) date (temporality) branch (path / parallelity)
* the in the publication included repository metadata spans: commit messages ''(communication)'', diff / insertions / deletions ''(change scope)'', user name ''(authorship)'', date ''(temporality)'', branch ''(path / parallelity)''
<gallery>
<gallery>
Prototypes-gitpub-v0.3-scans.jpg|scan v 0.3 personal reader
Prototypes-gitpub-v0.3-scans.jpg|scan v 0.3 personal reader
Line 114: Line 129:
</gallery>
</gallery>


for the moment, lets focus on commit messages and inspect them more closely
''for the moment, lets focus on commit messages and inspect them more closely''
* 'writing from the middle' commit messages are messy: indicate precise made changes, just 'commit message', jibberish like 'ooooooooo'
* are also conversational and expressive ''(use of emojis and punctuation marks)''
<blockquote>Tommi: Container 08 ❤️ <br> Inge van Velzen: oops... forgot html</blockquote>Script documentation:


writing from the middle is a shared repository, from an annotation / tool making exercise of XPUB 1. Their commit messages are messy: indicate precise made changes or just 'commit message' or jibberish like 'ooooooooo'. But they are also conversational and expressive (through the use of emojis and punctuation marks)
''writing'' ''scripts is rather new to me, gain better understanding of what they do through non-code documentation''
<blockquote>Tommi: Container 08 ❤️ <br> Inge van Velzen: oops... forgot html</blockquote>
 
users often indicate their real name in the commit message (which wouldnt be necessary bc there are user names but here ensures for others to know the person behind the made change) we can see that in etherpad too, but using author colors
<blockquote>Munkt: from youjung  <br> Balint: Valentine added a new line  </blockquote>
Script documentation
<gallery>
<gallery>
Gitpub.svg|Gitpub v 0.1 (bash)
Gitpub.svg|Gitpub v 0.1 (bash)
Line 128: Line 141:
</gallery>
</gallery>


===why===
===why ===
gitpub metadata is part of not only the process, a means to an end of production, but integral part of the text / publication.
''git commands dont leave much space for reasoning, suspend protocol for a moment to speak about why''


(why gitpub and why make metadata visible) The following points outline my motivation for making gitpub and the possibilities I see in making metadata visible.
''following points outline motivation for making gitpub and possibilities I see in making metadata visible.''
 
in gitpub, metadata is part of not only the process, a means to an end of production, but integral part of the text / publication.


the software as part of the writing
the software as part of the writing


:gitpub explores how we write and are written by software through the example of collaborative version control software as publishing tool. When using software for text editing or collaboration (e.g. .git, etherpad, word, google docs, code editors) we assume to be in control of the text emerging in front of us. But additional to the text we consciously form, there is a lot more text produced, yet not directly by us. This additional text is often metadata, used to index and render machine readable what we typed. Text is therefore always created reciprocally, rather than one-way. With gitpub I want to expose how software writes us back, in other words, how the different modes and actors in the writing process influence each other.
* ''using software for text editing or collaboration (e.g. .git, etherpad, word, google docs, code editors) we assume to be in control of text emerging before us''
* ''But additional to text we consciously form, is a lot more text produced,'' ''not directly by us''
* ''additional text is often metadata (to index and render machine readable what is typed)''
* Text is always created reciprocally ''(rather than one-way)''
* With gitpub exposing: how software writes us back'', in other words, how the different modes and actors in the writing process influence each other.''


the software as part of culture / community
the software as part of culture / community
:Gitpub is a tool in the sense of a “boundary object (Star, 1994) that connects different communities of practice (Star, 1994)(pzwiki.wdka.nl, 2024). The use of tools like git is highly cultural: different communities follow different protocols of use. Yet working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and its cultural situatedness (what follows is a remark on the concept of 'naturalisation'). By deliberately extending and mis-using this existing piece of software I want to challenge its embeddedness into (white, male, optimisation driven) developing cultures and an industry that profits from maintaining compartmentalised, hidden labor and the divide between user and programmer (Hoff, 2020).
* Gitpub is a tool in the sense of a  
<blockquote>boundary object (Star, 1994) that connects different communities of practice (Star, 1994) (pzwiki.wdka.nl, 2024)</blockquote>
* ''use of tools like git is highly cultural (different communities follow different protocols of use)''
* ''working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and its cultural situatedness<ref>This goes along with Susan Leigh Star’s concept of naturalization: in which “de-situated” or “naturalized” objects become invisible to members of community of practice through omnipresence and use. A consequence of this process is a communities decreasing criticality towards the object (Star, 1994).</ref>.''
* ''extending and mis-using existing piece of software I want to challenge its embeddedness into''
** ''(white, male, optimisation driven) development cultures''
** ''an industry that profits from maintaining compartmentalised, hidden labor and the divide between user and programmer (Hoff, 2020).''


:the writing exercises make apparent that there is a need for communication (additional text) alongside the shared process. In this point i see a connection to metadata.
metadata in the context of articulation work
* articulation work describes the work that enables work to happen
* ''involving mostly communication and organization around work''
* ''type of work is done in real time, managing unforeseen contingencies''
* ''is often invisible or unrecognized''


metadata as possible space for showing / navigating articulation work
*during writing exercises, became apparent a need for communication ''(additional text)'' alongside / navigating the shared process
:articulation work describes the work that enables work to happen - involving mostly communication and organization around work This type of work is done in real time, to manage unforeseen contingencies. Articulation work is often invisible or unrecognized. A few jobs that involve a lot of articulation work are nurses, secretaries, parents, air traffic controllers (Star, 1994).
*''understand this as articulation work''
Just now I mentioned the need for communication alongside a shared process, and earlier emphasized the 'actual work that people do when they write collaboratively'. And I think a big part of this is articulation work!
* ''metadata as a space for articulation work or method  to help navigate it?''


===how===
===git commit -m "gitpub"===
''creates a snapshot of the staged changes - I am not going to repeat all of the above, commit also adds metadata to index it and render comprehensible across contexts (my metadata in the form of time (table) and next steps)''
# iterate on writing exercises in different contexts ''(possible further inquiries: look at distribution of roles, methods for personal reflection in the exercise process)''
# further prototypes of the gitpub script (use for thesis writing / making)
# early gitpub testing with peers (xpub, varia) (february) to iterate on feedback
# implement minimal viable features to the script in a back and forth with writing exercises
# make gitpub self contained (e.g. python project)
# presentation of tool and scores (graduate show) and documentation
read full: [[User:Kim/Project Proposal (Gitpub)##How do you plan to make it?|detailed steps]], [[User:Kim/Project Proposal (Gitpub)#What is your timetable?|timetable]]


* iterate on writing exercises in different contexts (possible further inquiries: look at distribution of roles, methods for personal reflection in the exercise process)
==git push==
* further prototypes of the gitpub script (use for thesis writing / making)
''pushing the made changes to a public / a remote repository, I am placing my changes in an outside context.''
* early gitpub testing with peers (xpub, varia) (february) to iterate on feedback
* implement minimal viable features to the script in a back and forth with writing exercises
* make gitpub self contained (e.g. python project)
* presentation (graduate show) and documentation


==context==
===thesis===
===thesis===
My thesis text poses a more analytical backbone to the current project. In there will look at how metadata and markup have shaped collaboration in the production of publications from manuscript culture until today.
[[User:Kim/writing/Thesis outline|thesis outline]]
 
My thesis text poses a more analytical backbone to the current project. In there will look at how metadata and markup have shaped collaboration in the production of publications from manuscript culture until today. ''Making use of gitpub, the thesis will unfold across different bodies of text, which, commonly discarded as technical byproducts, here are made part of the argument itself. The text is divided in roughly 3 parts:''
* historical examples examine text production and collaboration from individual (secular) transcription to methods like pecia system (predecessor of markup allow for distributed production, division of labor)
* metadata in the present observes shift from simple two dimensional transcription to distributed rendering (historically but also today when viewing browser markup rendering to server side, metadata based rendering)
* implications for collaborative work, drawing from project research


=== project environment ===
=== project environment ===
This is a non-exhaustive map of gitpubs larger context and situatedness in it.
''This is a non-exhaustive map of gitpubs larger context and situatedness in it.''


I here want name a few of the many existing publishing tools that, like gitpub, leverage free software.
I here want name a few of the many existing publishing tools that, like gitpub, leverage free software.
:Octomode<ref>[https://cc.vvvvvvaria.org/wiki/Octomode Octomode] was developed by Mantetta Berends and Christina Cochior together with Varia.</ref> and Chattypub<ref>[https://www.hackersanddesigners.nl/chattypub.html Chattypub] was developed by Hackers and Designers</ref>, for example, are built for acts of low threshold collaborative publishing, while ikiwiki<ref>[https://ikiwiki.info/ ikiwiki] was developed by Joey Hess</ref> is more focused on converting wiki to html files using version control. Aesthetic programming<ref>here is a link to the [https://aesthetic-programming.net/ web version], and the [https://gitlab.com/aesthetic-programming/book git repository], developed by Open Source Publishing</ref> is a hybrid publication based on a git repository. while also using git, Gitpub differs from the last two examples because it involves the version control metadata, not only within the writing process, but also as part of the outcome.
:Chattypub<ref>[https://www.hackersanddesigners.nl/chattypub.html Chattypub] was developed by Hackers and Designers</ref> and Octomode<ref>[https://cc.vvvvvvaria.org/wiki/Octomode Octomode] was developed by Mantetta Berends and Christina Cochior together with Varia.</ref>, for example, are built for acts of low threshold collaborative publishing, while ikiwiki<ref>[https://ikiwiki.info/ ikiwiki] was developed by Joey Hess</ref> is more focused on converting wiki to html files using version control. Aesthetic programming<ref>here is a link to the [https://aesthetic-programming.net/ web version], and the [https://gitlab.com/aesthetic-programming/book git repository], developed by Open Source Publishing</ref> is a hybrid publication based on a git repository. ''while also using git, Gitpub differs from the last two examples because it involves the version control metadata, not only within the writing process, but also as part of the outcome.''
Lastly I want to mention a few theoretical approaches, that I relate gitpub to on a more conceptual basis.
Lastly I want to mention a few theoretical approaches, that I relate gitpub to on a more conceptual basis.
:gitterature (by Servanne Monjour and Nicolas Sauret, as part of the Aprübt publishing collective) as an alternative model for literature and editorial processes. While I share their understanding of the git writing environment as inherently processual, performative and conversational, my approach is to create a tool that is not platform based and meant to be shared across different communities.
:gitterature (by Servanne Monjour and Nicolas Sauret, as part of the Aprübt publishing collective) as an alternative model for literature and editorial processes. ''While I share their understanding of the git writing environment as inherently processual, performative and conversational, my approach is to create a tool that is not platform based and meant to be shared across different communities.''
:Gitpub, as many of the above mentioned tools, is loosely connected to the UNIX design philosophy<ref>see also: [https://en.wikipedia.org/wiki/Unix_philosophy wikipedia], and discussed in context: [https://freeze.sh/_/2008/awkward/# Awkward Gestures] by Femke Snelting</ref> which favours small, specific tools, that are built to perform simple tasks while leaving enough space for users to build their own configurations or connect multiple tools to another.
:Gitpub, as many of the above mentioned tools, is loosely connected to the UNIX design philosophy<ref>see also: [https://en.wikipedia.org/wiki/Unix_philosophy wikipedia], and discussed in context: [https://freeze.sh/_/2008/awkward/# Awkward Gestures] by Femke Snelting</ref> which favours small, specific tools, that are built to perform simple tasks while leaving enough space for users to build their own configurations or connect multiple tools to another.



Latest revision as of 11:28, 8 December 2025

you are looking at the backend of kims t4 assessment - find the webpage here

This is an attempt to use the git protocol as presentation protocol, thinking through the actions that the software prescribes. The presentation is structured by main tasks (commands) used when working with the software. for coherence, the order and hierarchy of commands is hereby slightly adjusted, commands might also be interpreted as words rather than code.

git init

somewhere on my computer I initialize a git repository. this poses the local context for my project: in it, i can find some relevant work from the past year.

Tracing Networks Backwards

Tracing Networks Backwards is a (browser) game based on mediawiki. Its interface displays all wiki page titles (circle) that link towards the currently open one (center). Playing the game, the user can recursively visit wiki pages and output their traced path into a graph.

Key: what happens when we render more / different information visible, than usually prescribed in user interfaces? how do we interact with it? what does recomposition of information imply for how we ... read, learn, move, understand relations

links: browser version, project documentation, project process

Browser Extensions

Layer is a browser extension surfacing source code elements which by default are not part of a websites (or browsers) visible interface.
Annual rings is a browser extension which gets a websites age and grows a ring for each year the site is old.

Key: continuing with the question of making visible, but here leaving the 'original' interface as a starting point, deconstructing it is part of the users operation

links: Layer (repository), annual rings (repository), project process

Terms of Servers

Terms of servers is a terminal based publication that runs on a temporary, communal server called Cerealbox. Working with the server over a year now evoked questions around its materiality and reliability. Together with Claudio, we discuss these questions among us, the users, but also direct them towards Cerealbox itself. Terms of servers' form is malleable, it can be read in a computer shell or as printed text.

Key: the collaborative writing process with Claudio on an etherpad that records the 'actual text' and conversation and feedback on the emerging text and navigating process at at the same time. This happened through

use of specific marks pointing out sections to revise (claudio, mostly for himself but also communicating to me the stage of the text to me)

?review

adding '+' when agreeing

(here I think it would be nice to insert the ping and uptime scripts you made as they indicate time) ++

excitement (conveyed by enthusiastic use of exclamation marks and other symbols)

this looks promising!!
!! claudio did you see: the exec.tpp example shows that you can actually run commands in the tpp and display their output !! (SO we could really run the scripts we had been prototyping)

all text remains on the pad (will not be deleted) to ensure ability to follow process and context for both collaborators

We do know that our server is a Raspberry Pi 4B, we covered its What? We also know its Where? ($ping is actually covering where bc it investigates the hub/ xvm connection...) which is at our school: WDKA, Rotterdam, how about its When?

clarification in dialogue

(the last two sentences I did not quite get) (yeah I put them here but I am not sure as well, will expand on this but maybe it is something not related)

posing questions, calls for reflection, to another in the process

lets discuss: what is it that we aim for with this investigation/ publication? what differentiates our writing from existing man/ documentation?

Technical: exercising python, bash scripting, working with markdown (single source publishing)

links: project documentation, project process, directory on cerealbox

Fediverse Instance

We (Kiara, Eleni, Claudio, and I) with support of Manetta, started installing a Mastodon Fork 'Glitch Sok' on Debby, an XPUB server, in order to create our own instance.

Key: it wasn't easy. we navigated the process in a group (which is usually done by an individual) involved different protocols, documentation, discussion (written and spoken), side research. frustration with existing documentation that assumes a lot of previous knowledge and installations

technical: debugging(?) dare to change code or settings you dont fully understand

links: Fediverse/Installation documentation

Personal Reader

In the first year of XPUB, every student is asked to start a personal reader. Mine is a git repository that has grown into a container for mapping reading progress, notes and outlines, planning reading and sorting read texts.

Key: not having used git much before, I found an interest in mis-/ reusing the metadata for a non-technical, non-optimization purposes but rather as textual layer

Technical: git

links: repository on gitlab, previous reader on wiki

git status

git status provides me with information about my current situation, use this as title for this project proposal section

project proposal page

git add

lets add some changes to the initialized repository. what do I propose?

Gitpub is a tool to create a printed or web-based publication from a git repository including repository metadata. This tool is not bound to any specific environment yet, but could have different interfaces such as a website or a terminal program.


although we might all familiar with git I'll briefly contextualize it:

  • git software: keep track of changes made in a file and collaborate with others on the same files
  • softwares means of collaboration and version control produce vast amount of metadata to the code (or text) files contained in a git repository
  • metadata either neglected or exploited, reinforce hypercapitalist modes of production


At this point i was asked to say a bit more about metadata:

  • Historically metadata used to index books in library catalogs
  • increasing digitisation turned into databases
  • Not only books contain metadata, everything we want to index or process by a computer.
  • Today metadata deeply embedded in search-engine optimisation through expansion driven big tech companies that control digital platforms, data, and online markets.
  • metadata not only feeds into e-commerce but reinforces proprietary modes of knowledge production and circulation.


git checkout

gitpub is only one part of the project proposal: (on a new branch I'll briefly outline the second part)

writing script(s) - script(s) writing is a series of scores.

above I outlined the act of writing a script (programming gitpub) - scores look at the (social, technological) scripts we follow when writing.

  • Collaborative production of text as crucial part of this project
  • reality of collaborative writing is messy, full of variation and discussion
  • contrast: developing a tool is a process of ‘making things work’ > variation and ambiguity become a programming problem to solve
  • important for me to approach development of gitpub not from purely technical side
  • (but with exercises that examine collaborative writing of, with and through metadata.)

How can a script (which which forms the technical basis of the tool) and collaborative writing work (examined in scores) inform each other?

git merge

This might all be quite abstract. In the following section we'll look at some of the prototypes I have so far, to merge the two mentioned approaches, make tangible and point out how they relate. (this is all work in progress, so mainly some first observations)

scores:

  • in score for message participants added a character alternatingly
  • not allowed to converse during the exercise
  • What alternative methods for communication can you come up with to plan or navigate the writing process?

looking at their writing more closely, it becomes apparent that they use symbols (question mark, exclamation mark, X) and positioning of those to create rupture, indicate points of attention or mark the end of a line.

a method that, without planning, claudio and I used too, when writing together with on the etherpad for Terms of Servers

gitpub prototypes:

  • comes in 3 versions in which I printed my personal reader (fork) (2x) and writing from the middle (copy) a repository writing exercise XPUB1
  • the in the publication included repository metadata spans: commit messages (communication), diff / insertions / deletions (change scope), user name (authorship), date (temporality), branch (path / parallelity)

for the moment, lets focus on commit messages and inspect them more closely

  • 'writing from the middle' commit messages are messy: indicate precise made changes, just 'commit message', jibberish like 'ooooooooo'
  • are also conversational and expressive (use of emojis and punctuation marks)

Tommi: Container 08 ❤️
Inge van Velzen: oops... forgot html

Script documentation:

writing scripts is rather new to me, gain better understanding of what they do through non-code documentation

why

git commands dont leave much space for reasoning, suspend protocol for a moment to speak about why

following points outline motivation for making gitpub and possibilities I see in making metadata visible.

in gitpub, metadata is part of not only the process, a means to an end of production, but integral part of the text / publication.

the software as part of the writing

  • using software for text editing or collaboration (e.g. .git, etherpad, word, google docs, code editors) we assume to be in control of text emerging before us
  • But additional to text we consciously form, is a lot more text produced, not directly by us
  • additional text is often metadata (to index and render machine readable what is typed)
  • Text is always created reciprocally (rather than one-way)
  • With gitpub exposing: how software writes us back, in other words, how the different modes and actors in the writing process influence each other.

the software as part of culture / community

  • Gitpub is a tool in the sense of a

boundary object (Star, 1994) that connects different communities of practice (Star, 1994) (pzwiki.wdka.nl, 2024)

  • use of tools like git is highly cultural (different communities follow different protocols of use)
  • working with git in day to day operations, the familiarity of its gestures and rhythms conceals the softwares own ways of writing and its cultural situatedness[1].
  • extending and mis-using existing piece of software I want to challenge its embeddedness into
    • (white, male, optimisation driven) development cultures
    • an industry that profits from maintaining compartmentalised, hidden labor and the divide between user and programmer (Hoff, 2020).

metadata in the context of articulation work

  • articulation work describes the work that enables work to happen
  • involving mostly communication and organization around work
  • type of work is done in real time, managing unforeseen contingencies
  • is often invisible or unrecognized
  • during writing exercises, became apparent a need for communication (additional text) alongside / navigating the shared process
  • understand this as articulation work
  • metadata as a space for articulation work or method to help navigate it?

git commit -m "gitpub"

creates a snapshot of the staged changes - I am not going to repeat all of the above, commit also adds metadata to index it and render comprehensible across contexts (my metadata in the form of time (table) and next steps)

  1. iterate on writing exercises in different contexts (possible further inquiries: look at distribution of roles, methods for personal reflection in the exercise process)
  2. further prototypes of the gitpub script (use for thesis writing / making)
  3. early gitpub testing with peers (xpub, varia) (february) to iterate on feedback
  4. implement minimal viable features to the script in a back and forth with writing exercises
  5. make gitpub self contained (e.g. python project)
  6. presentation of tool and scores (graduate show) and documentation

read full: detailed steps, timetable

git push

pushing the made changes to a public / a remote repository, I am placing my changes in an outside context.

thesis

thesis outline

My thesis text poses a more analytical backbone to the current project. In there will look at how metadata and markup have shaped collaboration in the production of publications from manuscript culture until today. Making use of gitpub, the thesis will unfold across different bodies of text, which, commonly discarded as technical byproducts, here are made part of the argument itself. The text is divided in roughly 3 parts:

  • historical examples examine text production and collaboration from individual (secular) transcription to methods like pecia system (predecessor of markup allow for distributed production, division of labor)
  • metadata in the present observes shift from simple two dimensional transcription to distributed rendering (historically but also today when viewing browser markup rendering to server side, metadata based rendering)
  • implications for collaborative work, drawing from project research

project environment

This is a non-exhaustive map of gitpubs larger context and situatedness in it.

I here want name a few of the many existing publishing tools that, like gitpub, leverage free software.

Chattypub[2] and Octomode[3], for example, are built for acts of low threshold collaborative publishing, while ikiwiki[4] is more focused on converting wiki to html files using version control. Aesthetic programming[5] is a hybrid publication based on a git repository. while also using git, Gitpub differs from the last two examples because it involves the version control metadata, not only within the writing process, but also as part of the outcome.

Lastly I want to mention a few theoretical approaches, that I relate gitpub to on a more conceptual basis.

gitterature (by Servanne Monjour and Nicolas Sauret, as part of the Aprübt publishing collective) as an alternative model for literature and editorial processes. While I share their understanding of the git writing environment as inherently processual, performative and conversational, my approach is to create a tool that is not platform based and meant to be shared across different communities.
Gitpub, as many of the above mentioned tools, is loosely connected to the UNIX design philosophy[6] which favours small, specific tools, that are built to perform simple tasks while leaving enough space for users to build their own configurations or connect multiple tools to another.

references

Hoff, M. (2020). Always Already Programming. Github Gist. Available at: https://gist.github.com/melaniehoff/95ca90df7ca47761dc3d3d58fead22d4 [Accessed 13 Nov. 2025].

pzwiki.wdka.nl. (2024). Prototyping 2024/2025 intro - XPUB & Lens-Based wiki. [online] Available at: https://pzwiki.wdka.nl/mediadesign/Prototyping_2024/2025_intro [Accessed 13 Nov. 2025].

Star, S. L. (1994). Misplaced Concretism and Concrete Situations: Feminism, Method, and Information Technology. In: Bowker, G. et al. (eds) Boundary objects and beyond: working with Leigh Star. Cambridge, Massachusetts: The MIT Press, pp. 143 – 170

  1. This goes along with Susan Leigh Star’s concept of naturalization: in which “de-situated” or “naturalized” objects become invisible to members of community of practice through omnipresence and use. A consequence of this process is a communities decreasing criticality towards the object (Star, 1994).
  2. Chattypub was developed by Hackers and Designers
  3. Octomode was developed by Mantetta Berends and Christina Cochior together with Varia.
  4. ikiwiki was developed by Joey Hess
  5. here is a link to the web version, and the git repository, developed by Open Source Publishing
  6. see also: wikipedia, and discussed in context: Awkward Gestures by Femke Snelting