One commit doesn't make a story (Alex Leray)
Open Source Publishing is a collective of designers and programmers working with Free, Libre and Open Source tools. A few years ago, as part of their daily workflow, they started to use the versioning software tool 'git', and many other collaborative tools (etherpad, owncloud, ...). Each of these tools has its own way of keeping archives, logs and timestamps. The result is a treasure trove of very rich and at the same time fragmented traces that could potentially tell the story of their collective design practise, but always almost, or not yet. So far OSP made several attempts to knit together these fragments into stories, bridging gaps in temporality and materiality. There is a tension between capture and narration, between automatic logs and storytelling. What should be integrated in the story? How to account for the heterogeneity of processes and data? How can the context be made (in)visible? Maybe some visualisation might help? Or other generative tools? Alex presents us some of OSP experiments on rendering their practice legible and invites us to think together about how to tell stories between a collective of people, projects and tools.
http://osp.kitchen/work/stories/

 project with three titles
 by alex, magnus, adva
 presented on saturday:

https://asciinema.org/a/cel358ytg5o3uhi2n8z95yzwe.png (image)
https://asciinema.org/a/cel358ytg5o3uhi2n8z95yzwe (link to a recording of the full script)


(NOTES FROM THE PRESENTATION BELOW)

Work session wednesday: exploring Git notes

We will work on Adva's book:
http://gitlab.constantvzw.org/osp/work.adva-zakai.overbooked
git clone http://gitlab.constantvzw.org/osp/work.adva-zakai.overbooked.git

See Git manual:
https://git-scm.com/2010/08/25/notes.html "git notes" command to annotate existing commits.
That means to add notes to a commit, without altering any of the information connected with that original commit.
git saves notes as binary large objects (encoded BLOBs, not straightforward text). Can notes be graphics, or have images attached to them?
Alex: you can view these BLOBs as text (what could we do with that?)
ADD A NOTE TO THE MOST RECENT COMMIT RECORD IN GIT:
add a note directly from the command line, in a single step
git notestg add -m "Hello"
git notes show 
list all commits with their hash key identifiers
git log 
ADD A NOTE TO A SELECTED COMMIT RECORD IN GIT:
(add a note on a specific commit, referred to using its hash key):
git notes add 52f13f8a6b5a89c4bb50614d1151284b2ce5f0ac
opens an editor for you to add your note, additional to the original commit
git notes also allows you to write more than one note and attach this to a commit record
Since you can only have one note per commit, Git allows you to have multiplenamespaces for your notes.  
git notes also allows you to push (share) notes to the associated repository

# Adding a note to the last commiton the namespace "ns1"
git notes --ref=ns1 add --message "hello"

# Adding a note to the last commiton the namespace "ns2"
git notes --ref=ns2 add --message "cool"

# Adds a note to a specific commit
git notes add --message "I love conflicts" 842210f

# show the note on the last commit for namespace ns2
git notes --ref=ns2 show

# shows the log with attached notes (only in the default namespace)
git log --notes

# Append some text at the end of a note
git notes append -m "yes"

# Sow note for te last commit
git notes show

# Show all notes for branch master
for commit in $(git rev-list master); do git notes show $commit; done 

# Show log + notes 
for commit in $(git rev-list master); do git --no-pager show -s --oneline --notes --notes=ns2 --notes=ns1 $commit; echo "***" ; done

# show logs + notes (simpler)
git --no-pager log --oneline --notes --notes=ns2 --notes=ns1
git log --show-notes

# Fetch the notes from a remote repository
git fetch origin "refs/notes/*:refs/notes/*"

# Push notes to a remote repository (aka share your notes)
git push origin "refs/notes/*"

Using images in notes
https://en.wikipedia.org/wiki/X_PixMap

http://stackoverflow.com/questions/11829078/how-to-delete-git-notes-commit

# get the hash of the note for object 
git notes list a262f9ca51

Brainstorm

what do you capture, what do you record? (metadata, intents, etc.)

different logs co-exists: you don't necesserally commit after you edited.

when do you commit?
when you need to share.
when you reach a critical decision (testing out something)

what kind of writing - practical, technical writing - no narrative use

writing through/with zotero

Catherine: I was considering using the 'notes' part of Zotero (https://www.zotero.org/ ) to write narrative fiction for Anna K.

Documenting while the process is taking place. This can be problematic.
Document-as-you-go

Do things get too easily/to quickly decided

"commit" as a term is super heavy. A commit is forever, no rewrite possible (well, you can revert but that is in a way not a rewriting).

process of committing as a care-taking

Question of time is crucial. Promise to be closer to practice. But the problem is that it is often too soon.
Femke: my feature request for git would be adding descriptions, labels, postscriptum to the commits - i.e. to improve documentation, by adding context or reflection.
i
http://stackoverflow.com/questions/4404172/how-to-tag-an-older-commit-in-git (tagging is of course not the same thing...)
`git notes`: Adds, removes, or reads notes attached to objects, without touching the objects themselves.
A typical use of notes is to supplement a commit message
https://git-scm.com/docs/git-notes

thinking about the shiplog -- (log-book)

what do you have in mind: different for archival purposes from a printed book.
Printing your tumblr : http://writable.tumblr.com/

gitlog as a colophon

The commenting is shipped along with the sources. It is part of the history, not external

How does the narration/description influence the actual practice.

Showing the comment of 

Recipes being both instructions and descriptions

How to not separate the writing from the practice -- edit, read, execute, comment ... all at the same space. The Third Space? Dimension?

A template for committing -- what is default (the title of the paragraph)
Thinking about templates to write against. Produce a story not through phrases, but through categories you decided beforehand
How can it condition people to work in a specific mode.

Oulipo write with constraints. Commit every hours for instance
By default Git asks for concise-ness

- What actually did you do (mechanics, pragmatic description/verb)
- Because ...


Thinking about fortune-cookie mottos

Speaking in the first person ... where a text gets mirrored by the commit

2 languages - machine and human in dialogue
commit generated automatically. http://www.whatthecommit.com/

* committing under constraints 
-- a limited vocabulary (http://splasho.com/upgoer5/ )
-- a set of questons
-- a specific time every day? (or every hour, on the hour)
--  a verb, a noun, an adverb, etc
* machine generated commit messages/notes

* git notes (using several namespaces)

* fork-comparision (especially for multiple forks)
-- How to look at differences, without needing merge
-- How to keep differences, without needing to resolve them
-- Having several visual representations of the same objects (looking at different angles to change the relation between co-versions)
-- (rough) consensus on some initial, main perspective (wikipedia-style) with a disclaimer that this is just a beginning and not nuanced/varied... [CLICK HERE] to read the post-colonialist critique of this topic.
-- Using graphviz and its different layout to represent the history of a project in different ways

Processual (?) template 1
these questions relate to the actual commit
-- what did you change
-- how did you change it
-- for whom
-- why did you make this change?
-- how do you feel about this change
-- what do you need from somebody else ... personal message to the follower
-- what is missing, what is next, when should it be finished
-- how is the object doing

automatically: geo location, weather, room temp, light conditions, up-time, machine temp, average load, when the file was created and touched for the last time. 
some auto-congratulation (well done! finally! it was about time! great!)

Quantified template 2
(rate on a scale from 1-10)
-- how much did you change
-- how difficult was it to change
-- for how many people did you make this change
-- how important was this change
-- how do you feel about this change
-- how much is missing
-- how many days before completion
-- how much 

Sociological template 3

Periphery/subject template 4
(a random question from this list?)
-- what are your plans for tonight
-- what have you been reading
-- what comes to your mind
-- sing 

Object template 5

handover



-- How is your thesis coming along 





NOTES FROM THE PRESENTATION

OSP started on 20th January 2006, first blogpost by harisson
chose for free software, look at 'what the standard is and how to deviate'
share result and also the process on how it was made:
    -blog
    -print party's to perform the graphical recipee
explain the recipe, and cooking too.

where are the sources?
group grew larger

versioning -- not all around the (same) table all the time
ex wikipedia history page is example of versioning tool
"we are surrounded by versioning tools"

2 tools existed:

But also

Lots of discussion ... which one to choose? Different spirits of the projects. Interview with OSP on their work with git: http://freeze.sh/_/2015/conversations/dvc


https://www.wiki.ed.ac.uk/download/attachments/253450700/centralised.png?version=1&modificationDate=1425914912000&api=v2
https://www.wiki.ed.ac.uk/download/attachments/253450700/benevolent-dictator.png?version=1&modificationDate=1425914920000&api=v2

git "a liberal model"
it has changed the meaning of forking: from last resort to default behaviour
made by Linus Torvalds, inventor of Linux (named after him), and git (English for 'asshole', also named after him)
https://en.wikipedia.org/wiki/Linus_Torvalds
he takes a dictatorial approach on a collaborative tool he wrote himself.... (we all have our contradictions)

git blame: shows last commits by people on the project
(why not "git praise"?)

Projects & experiments with versioning by OSP
- Balsamine
using ConteXt, lay-out software mainly used by scientists
text based format, works very well with versioning tool
-> git commits as a place to write, record the mood
-> blog was dying (main writer / Femke left ;-))
how to continue the documentation/read-this-early-read-this-often?

commit messages: we often forget about it, often you just want to share
difficult to construct a story out of snippets
how to construct a story from 30m snippet experiences

"so, that's the terminal"

red minus: a deletion
green plus: an addition

another visualisation, a sense of linearity

"fromage qui pue" (cheese that smells)

tool developed for sharing code (text & statements)
what if you want to share other kind of material, f;ex. image or font

a font has many files, but what elements do you want to track?

DIFF git Imagemagick 
http://ospublish.constantvzw.org/blog/tools/diff-git-imagemagick

software that allows to compare two different versions of image
changed pixels are in red

all solutions unsatisfactory
tried to bend git to fit typographic work
what does it means to version a font? It is not just about changing pixels, but also a geneology of many elements that matter. Preferring a radial approach rather than a linear one.
asynchronous: you have to decide on the file you want to share, comment it, upload it for the others to see

using Etherpad (this tool) to write together
everyone could work together at same time, great for learning from others!

pads filling the gap between collaboration through git (slow, asynchronous) and pads (fast, synchronous)

Relearn: http://relearn.be

used pads to generate a pdf file at the end of the Summerschool
colour of the author refers to names in the publication
publication here: http://relearn.be/2013/

you can replay this page! press 'timeline' button at top right of this page & press play

we gather a lot of data but how to connect them, how to tell a story. 
can we think about more sensible ways to visualise depth of a project, cfr annotation of logs of the museum

Femke: if you look at cards and how we read them vs metadata of an object in digital database, is frustrating
can we tell other types of stories with 'deep reading of practise in digital'? not trying to replicate 
Alex: we work quite late at night, says something about workprocess
Femke: these are beginnings of stories, relationship with tools is important

thinking about the helper that could intervene at the moment of writing
interfaces could help
on moment of writing the log, and applying the log

temporality

versioning that captures other 'activities' that occur in parallel (e.g. the weather...but could include more?)
http://craphound.com/news/2009/02/13/flashbake-free-version-control-for-writers-using-git/
http://ww1.bitbucketlabs.net/flashbake/

dominant branches
in git you can have two trunks
1 master branch (default) vs. side branches that you can plug in again (merge)

it matters how you visualise

an experimented with re-writing through git
the moment of commit(ment) is important too?
distribution of tasks, micro tasks that form a macro project
maybe invent a score and apply it together?

not merging versions, points of diversions/divergence
what if we would focus on that?

to demo how you could think of archives as multi-linear stories
representing 6 or 7 different positions/perspectives

http://beta.brainch.stdin.fr
"Several versions of a text can exist in parallel, and be recombined or    not at any time whether their owners' opinion converge or diverge.    Thus, unlike a conventional wiki requiring its users to reach a consensus since they all work on a single shared copy, Brainch allows    the authors to freely express their opinions."

Q: what is the difference between forking and diverting a version?
A: forking in the culture of git, is to copy a project from the "main" and start from that to implement changes. The "main" does not have any incentive to integrate, consider the fork. Not sure what "diverting" would mean in that sense but Brainch for example places the different versions at the same level. 

wiki that uses git as a backend

http://diversions.lan/pad/p/programme

From Jameson's article Politics of Utopia:
"Utopias in fact come to us as barely audible messages from a future
that may never come into being. I leave the articulation of that message
to Marge Piercy’s Mattapoisett utopians—time-travellers from a future
which, they warn us, without ourselves and our own present, may never
come into existence:
'You may fail us . . . You individually may fail to understand us or to
struggle in your own life and time. You of your time may fail to struggle
altogether . . . [But] we must fight to come to exist, to remain in existence,
to be the future that happens. That’s why we reached you.' [1]

[1]Marge Piercy, Woman on the Edge of Time, New York 1976, pp. 197–8."

Ideas 09/12:

Thinking about periphery and centre, about time lines in git and radial representation/action in git
Use of Graphviz
Front end back end, object subject

**tmp paste**
possible technically not sure yet
we want repo to both contain our content (including quotes reflections,
technical experiments -i.e. what's been going on the pad so far)
in this way a layering effect can happen:
one object is written
we try out adding one or more messages to this originating idea
we find out if ideas fork
we know messages can go in different namespaces - we could have a namespace just
for quotes (as oppose to forking and eventually merging, we make a distinct
space for new trains of thought) ...in this way we move towards a radial
movement in doing version control. This would be instead of (or perhaps
additional to) the established mode in git of moving towards an endpoint,
crossing in and out of the trunk (branches move only sideways and forward).
graphical representation using X pixmap? you can pull in images
we could use an image from the archive, becoming completely decontextualized,
into a position where we can begin to add notes and adjust the object, to expose
it's layers and processes, perhaps making the object then available to us in a
way that can connect with some conceptual elements we have been discussing

git log --notes
https://www.git-scm.com/docs/git-log

namespaces, can be thought of as containers. We can call these containers any 
name that we like, so long as it is unique. There can be any number of
namespaces. a namespace has one and only one note? default namespace, or specify
namespace to see note(s) in that namespace.
wonder about formatting text output, left to right (commit | message | note)

we [ alex :) ] need some time

namespaces: archiving the archive
            quotes taken from the different pads
            qoutes from other sources
            qoutes from the git manual
            personal names - to allow subjectivities of interpretation:
                adva
                alex
                magnus
            images (from the archive)
                commenting with images

can we tell a story from the perspective of the object (self-states, suggest an
object could have many voices - reflecting spaces, human encounters -

what''s the relationship between notes
either put them in different namespaces
if in the same namespace they must co-exist

a object has one and only one commit message
an object may have one or more namespaces
a namespace (logbook) has one and only one record
a record may contain one or more notes

where's the limit? we may run out of the possibility to create branch
equivalents - the existing note space gets fatter - this is the equivalent to
branching, we could get to a point where

 // *tmp*

Adva wonders about bringing process in and out of focus, making visible the process that happens around the creation of an object in git
We talk about git porecelain and plumbing
GUIs https://git-scm.com/downloads/guis
Consider equivalences between physical and idea spaces, categorization by topic...

Apparently, any file added into a repository can be attached to an existing note (whenever the note was first created). In this way, it is possible to update present and past committed (fixed) information within a repository. From https://git-scm.com/docs/git-notes:

"In principle, a note is a regular Git blob, and any kind of(non-)format is accepted.  You can binary-safely create notes fromarbitrary files using git hash-object:
$ cc *.c
$ blob=$(git hash-object -w a.out)
$ git notes --ref=built add --allow-empty -C "$blob" HEAD

(You cannot simply use git notes --ref=built add -F a.out HEADbecause that is not binary-safe.)Of course, it doesn’t make much sense to display non-text-format noteswith git log, so if you use such notes, you’ll probably need to writesome special-purpose tools to do something useful with them."

"But the pleasures of construction may not be so evident: you have to think of them in terms of the garage workshop, of the home-mechanics erector sets, of Lego, of  ricolating and cobbling together things of all kinds. To which we must also add the special pleasures of miniaturization: replicating the great things in handicraft  imensions that you can put together by yourself and test, as with home chemical sets, or change and rebuild in a never-ending variation fed by new ideas and information. Model railroads of the mind, these utopian constructions convey the spirit of non-alienated labour and of production far better than any concepts of écriture or Spiel." jameson: Utopias

Collection of quotes:

    Laurence

The moral is simple: only partial perspective promises objective vision. All 
Western cultural narratives are allegories of the ideologies governing the 
relations of what we call mind and body, distance and responsibility. 
Feminist objectivity is about limited location and situated knowledge, not 
about transcendence and splitting of subject and object. It allows us to 
become answerable for what we learn how to see.
Donna Haraway, “Situated knowledges:The Science Question in Feminism 
and the Privilege of Partial Perspective.”, 1988 

“ A chaque instant, on doit se poser cette question 
phénoménologique: qu'est­ce qu'on fait là? La façon de prendre 
conscience politique de l'ensemble, c'est de partir d'une sorte d'a 
priori: du fait qu'on est là, on est responsable d'un style de relations 
que, par approximation, on pourrait appeler “relations 
complémentaires”. Il vaut mieux avoir une certaine conscience du 
fait qu'à partir de son mode d'existence, de la façon qu'on a de 
décider quelque chose, par exemple, on développe un style Dans un 
collectif c'est l'ensemble de ces styles qui donne un bruit de fond.” 
“C'est au niveau du bruit de fond que se tissent tous les facteurs de 
l'ambiance.”
Jean Oury, Onze heures de soir à la Borde, 1980

Magnus

From Jameson's article Politics of Utopia:
"Utopias in fact come to us as barely audible messages from a future
that may never come into being. I leave the articulation of that message
to Marge Piercy’s Mattapoisett utopians—time-travellers from a future
which, they warn us, without ourselves and our own present, may never
come into existence:
'You may fail us . . . You individually may fail to understand us or to
struggle in your own life and time. You of your time may fail to struggle
altogether . . . [But] we must fight to come to exist, to remain in existence,
to be the future that happens. That’s why we reached you.' [1]
[1]Marge Piercy, Woman on the Edge of Time, New York 1976, pp. 197–8."


"But the pleasures of construction may not be so evident: you have to think of them in terms of the garage workshop, of the home-mechanics erector sets, of Lego, of  ricolating and cobbling together things of all kinds. To which we must also add the special pleasures of miniaturization: replicating the great things in handicraft  imensions that you can put together by yourself and test, as with home chemical sets, or change and rebuild in a never-ending variation fed by new ideas and information. Model railroads of the mind, these utopian constructions convey the spirit of non-alienated labour and of production far better than any concepts of écriture or Spiel." jameson: Utopias

adva

qoute from Roland Barthes about archive

just for the record


“a group decision-making process in which group members develop,and agree to support a decision in the best interest of thewhole.” 
“Consensus on Wikipedia does not meanunanimity (which, although an ideal result, is not alwaysachievable); nor is it the result of a vote.” 
wikipedia


We would sit in a circle, and each woman was given aprotected time in  which to talk about her own experiences. Ifshe had nothing to say, we  all sat silent for her ten minutes.Because women were so often  silenced, interrupted and shutdown, we did not interrupt, respond or  ask questions. Whenevery woman present had been given a chance to speak, we would havean open discussion about what was similar or different in ourexperiences, and what it meant.

“consciousness raising”. Starhawk