commit a8d1b4783e2c39725fb3ff9b7461762f285cf0d0 Author: manetta Date: Tue Feb 19 17:22:55 2019 +0100 first sketches for the Data Workers poster diff --git a/poster/__pycache__/functions.cpython-37.pyc b/poster/__pycache__/functions.cpython-37.pyc new file mode 100644 index 0000000..aef7c63 Binary files /dev/null and b/poster/__pycache__/functions.cpython-37.pyc differ diff --git a/poster/data-workers-poster.svg b/poster/data-workers-poster.svg new file mode 100644 index 0000000..7538045 --- /dev/null +++ b/poster/data-workers-poster.svg @@ -0,0 +1,1136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + if humans (writers) write machine learning scriptsas machines (writers) write machinesas machine learning scripts (writers) read readersor languages (readers) read machine learning scriptsif writers (programmers) write humansor readers (computers) write machinesif learners (readers) write learnersas collaborators (writers) write writers understandingcollaborators(as editors)---extractingmachine learning scripts(as models)---usingmachines(as visionaries)---manipulatingcollaborators(as voices)---plottingmachine learning scripts(as humans)---writingmachines(as models) machine learninglearning with machines learning about machines machines learning about others Algolit + + Algolit machines others + + learning + + learning + with about + + + + + + + + + + + + + + + if humans (writers) write machine learning scripts ... as machines (writers) write machines ... as machine learning scripts (writers) read readers ... or languages (readers) read machine learning scripts ... if writers (programmers) write humans ... or readers (computers) write machines ... if learners (readers) write learners ... as collaborators (writers) write writers ... computersreaderswritersprocessorslearnersreaderswritersprogrammers computersreaderswritersprocessorslearnersreaderswritersprogrammers reading cleaning writing informing Data Workers D A T A W O R K E R S + diff --git a/poster/data-workers-posters.py b/poster/data-workers-posters.py new file mode 100644 index 0000000..1af3db6 --- /dev/null +++ b/poster/data-workers-posters.py @@ -0,0 +1,273 @@ +import random +import functions + +# Data Workers +# http://www.algolit.net/index.php/Data_Workers + +# --- +# My summary of the exhibition: +# +# exhibition, audio tour, introductions to machine learning processes +# machine learning, learning with machines, learning about machines, machines learning about others +# a learning situation (teaching/introducing others) after learning situations (studying/understanding together) +# --- +# Learning, understanding, co-operating, collaborating, reading ... +# ... with, through, via ... +# ... algorithms, models, stories. +# --- + + +subjects = ['humans', 'machines', 'machine learning scripts', 'languages', 'writers', 'readers', 'learners', 'collaborators'] +actions = ['learn', 'read', 'write'] +conditionals = ['while', 'if', 'or', 'as'] +relations = ['as', 'with', 'in'] +timing = [''] + +# --- +# "can we challenge this classification somehow? for example by looking at the ambiguous elements: predicters can be writers too" +# --- +# Complexifiers as words that complexify objects/subjects. +# Adding a dimension. +# Suggesting a relation to another object/subject. +# Maybe the one object is not so different to the other? +# --- +complexifiers = ['computers', 'readers', 'writers', 'processors', 'learners', 'readers', 'writers', 'programmers'] + +# --- +# Calculated randomness as the current selector algorithm ... +# --- +def get_random_from_list(list): + list_length = len(list) + random_num = random.randint(0, list_length) - 1 # Because len() always starts at 1 + random_item = list[random_num] + return random_item +# --- +# Another algologic is possible ... +# --- + +def draft1(): + for i, subject in enumerate(subjects): + if i + 1 < len(subjects): + print('---------') + print(conditionals[i % len(conditionals)], + subject, + '({})'.format(complexifiers[i % len(complexifiers)]), + actions[i % len(actions)], + '...') + print('---------') + +# draft1() + +# --------- +# while humans (computers) learn ... +# --------- +# if machines (readers) read ... +# --------- +# or machine learning scripts (writers) write ... +# --------- +# as languages (processors) learn ... +# --------- +# while writers (learners) read ... +# --------- +# if readers (readers) write ... +# --------- +# or learners (writers) learn ... +# --------- + + +def draft2(): + for subject in subjects: + print( + get_random_from_list(conditionals), + subject, + '({})'.format(get_random_from_list(complexifiers)), + get_random_from_list(actions), + get_random_from_list(subjects), + '...' + ) + +draft2() + +# if humans (writers) write machine learning scripts +# as machines (writers) write machines +# as machine learning scripts (writers) read readers +# or languages (readers) read machine learning scripts +# if writers (programmers) write humans +# or readers (computers) write machines +# if learners (readers) write learners +# as collaborators (writers) write writers + +# --- +# Selection of words from the Data Worker pads +# What words are used to describe the exhibition, the projects, the intentions, the story? +# --- +padadj = ['voice', 'model', 'human', 'visionary', 'algorithmic', 'programming', 'editing', 'assisting'] +padsubjects = ['voices', 'models', 'humans', 'visionaries', 'algorithmic writers', 'programmers', 'editors', 'authors', 'assistants'] +padverbs = ['understanding', 'extracting', 'using', 'manipulating', 'plotting', 'writing'] +specifics = ['with intent'] + +def draft3(): + for subject in padadj: + print(subject) + print(get_random_from_list(subjects)) + print('---') + +# draft3() + +# voice +# humans +# --- +# model +# collaborators +# --- +# human +# learners +# --- +# visionary +# machines +# --- +# algorithmic +# readers +# --- +# programming +# machine learning scripts +# --- +# editing +# collaborators +# --- +# assisting +# machine learning scripts +# --- + + +def draft4(): + for verb in padverbs: + print(verb) + print(get_random_from_list(subjects)) + print('(as {})'.format(get_random_from_list(padsubjects))) + print('---') + +# draft4() + +# understanding +# collaborators +# (as editors) +# --- +# extracting +# machine learning scripts +# (as models) +# --- +# using +# machines +# (as visionaries) +# --- +# manipulating +# collaborators +# (as voices) +# --- +# plotting +# machine learning scripts +# (as humans) +# --- +# writing +# machines +# (as models) + + + +# --- +# Using frames (sentences) to play with the subject words. +# Nice how the sentences are already dynamic in itself, +# it makes the game of exchanging words more interesting. +# +# But as a visual language it's perhaps a bit too much, +# too subtle for something like a poster. +# +# clarity <-------------------> interesting wordplays +# generated <-------------------> written +# +# --- + +# From: Course in General Linguistics - Ferdinand de Saussure +frame = 'First something called "grammar" was studied. This study, initiated by the Greeks and continued mainly by the French, was based on logic.' + +def draft5(): + for i in range(5): + frame = frame.replace('grammar', get_random_from_list(subjects)) + frame = frame.replace('Greeks', get_random_from_list(subjects)) + frame = frame.replace('French', get_random_from_list(subjects)) + print(frame) + print('---') + +# draft5() + +# First something called "languages" was studied. This study, initiated by the readers and continued mainly by the collaborators, was based on logic. +# --- +# First something called "writers" was studied. This study, initiated by the collaborators and continued mainly by the humans, was based on logic. +# --- +# First something called "machine learning scripts" was studied. This study, initiated by the collaborators and continued mainly by the humans, was based on logic. +# --- +# First something called "readers" was studied. This study, initiated by the machine learning scripts and continued mainly by the collaborators, was based on logic. +# --- +# First something called "collaborators" was studied. This study, initiated by the machine learning scripts and continued mainly by the learners, was based on logic. +# --- + +def draft2html(): + tmp = '' + for subject in subjects: + print( + get_random_from_list(conditionals), + subject, + '({})'.format(get_random_from_list(complexifiers)), + get_random_from_list(actions), + get_random_from_list(subjects), + '...' + ) + row = ''' + + {} + {}({}) + {} + {} + {} + + '''.format( + get_random_from_list(conditionals), + subject, + get_random_from_list(complexifiers), + get_random_from_list(actions), + get_random_from_list(subjects), + '...' + ) + tmp += row + html = ''' +

Data Workers

+
+
+ + {} + + + + + + + + + +
Algolit + oracles

+ writers

+ cleaners

+ informants

+ readers

+ learners

+
+ The exhibition is open from the 28th of March untill the 28th of April, between 10:00h and 18:00h. +
+ www.algolit.net + www.mundaneum.org + '''.format(tmp) + functions.write_html(html, 'data-workers.html') + +draft2html() \ No newline at end of file diff --git a/poster/data-workers.html b/poster/data-workers.html new file mode 100644 index 0000000..161a7f1 --- /dev/null +++ b/poster/data-workers.html @@ -0,0 +1,103 @@ + + + + + + Data Workers + + +
+

Data Workers

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
orhumans(readers)writewriters...
asmachines(processors)readmachine learning scripts...
asmachine learning scripts(processors)writehumans...
aslanguages(programmers)readreaders...
orwriters(programmers)readcollaborators...
asreaders(programmers)readmachine learning scripts...
aslearners(readers)writecollaborators...
ifcollaborators(readers)writehumans...
Algolit + oracles

+ writers

+ cleaners

+ informants

+ readers

+ learners

+
+ The exhibition is open from the 28th of March untill the 28th of April, between 10:00h and 18:00h. +
+ www.algolit.net + www.mundaneum.org +
+ + + \ No newline at end of file diff --git a/poster/data-workers.png b/poster/data-workers.png new file mode 100644 index 0000000..9c95da1 Binary files /dev/null and b/poster/data-workers.png differ diff --git a/poster/fonts/FantasqueSansMono-Regular.ttf b/poster/fonts/FantasqueSansMono-Regular.ttf new file mode 100644 index 0000000..239f20b Binary files /dev/null and b/poster/fonts/FantasqueSansMono-Regular.ttf differ diff --git a/poster/functions.py b/poster/functions.py new file mode 100755 index 0000000..ae2a0ab --- /dev/null +++ b/poster/functions.py @@ -0,0 +1,26 @@ +def get_template(html): + template = ''' + + + + + Data Workers + + +
{}
+ + + '''.format(html) + return template + + +def write_html(html, filename): + html_template = get_template(html) + out = open(filename, 'w+') + out.write(html_template) + out.close() + + print('*html file written*') + +# html = '' +# write_html(html, 'data-workers.html') diff --git a/poster/stylesheet.css b/poster/stylesheet.css new file mode 100644 index 0000000..c4ad099 --- /dev/null +++ b/poster/stylesheet.css @@ -0,0 +1,35 @@ +@font-face{ + font-family: 'fantasque'; + src:url('fonts/FantasqueSansMono-Regular.ttf'); +} + +body{ + margin:10mm; + font-family: 'fantasque'; + font-size: 12pt; + max-width: 210mm; +} +h1{ + font-size: 400%; + width: 100%; + text-align: center; +} +table{ + width: 100%; +} +table, td{ + border:1px solid; +} +tfoot td{ + border:0; + font-weight: bold; + vertical-align: top; +} + td{ + padding:10px 20px 50px; + line-height: 1.4; + } +small{ + display: block; + margin-top:1em; +} \ No newline at end of file