first sketches for the Data Workers poster

This commit is contained in:
manetta 2019-02-19 17:22:55 +01:00
commit a8d1b4783e
8 changed files with 1573 additions and 0 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -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 = '''
<tr>
<td>{}</td>
<td>{}<sup>({})</sup></td>
<td>{}</td>
<td>{}</td>
<td>{}</td>
</tr>
'''.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 = '''
<h1>Data Workers</h1>
<br>
<br>
<table>
{}
<tfoot>
<tr>
<td></td>
<td>Algolit</td>
<td></td>
<td>
oracles<br><br>
writers<br><br>
cleaners<br><br>
informants<br><br>
readers<br><br>
learners<br><br>
</td>
<td></td>
</tr>
</tfoot>
</table>
<small>The exhibition is open from the 28th of March untill the 28th of April, between 10:00h and 18:00h.</small>
<br>
<small>www.algolit.net</small>
<small>www.mundaneum.org</small>
'''.format(tmp)
functions.write_html(html, 'data-workers.html')
draft2html()

103
poster/data-workers.html Normal file
View File

@ -0,0 +1,103 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="stylesheet.css">
<title>Data Workers</title>
</head>
<body>
<div id="wrapper">
<h1>Data Workers</h1>
<br>
<br>
<table>
<tr>
<td>or</td>
<td>humans<sup>(readers)</sup></td>
<td>write</td>
<td>writers</td>
<td>...</td>
</tr>
<tr>
<td>as</td>
<td>machines<sup>(processors)</sup></td>
<td>read</td>
<td>machine learning scripts</td>
<td>...</td>
</tr>
<tr>
<td>as</td>
<td>machine learning scripts<sup>(processors)</sup></td>
<td>write</td>
<td>humans</td>
<td>...</td>
</tr>
<tr>
<td>as</td>
<td>languages<sup>(programmers)</sup></td>
<td>read</td>
<td>readers</td>
<td>...</td>
</tr>
<tr>
<td>or</td>
<td>writers<sup>(programmers)</sup></td>
<td>read</td>
<td>collaborators</td>
<td>...</td>
</tr>
<tr>
<td>as</td>
<td>readers<sup>(programmers)</sup></td>
<td>read</td>
<td>machine learning scripts</td>
<td>...</td>
</tr>
<tr>
<td>as</td>
<td>learners<sup>(readers)</sup></td>
<td>write</td>
<td>collaborators</td>
<td>...</td>
</tr>
<tr>
<td>if</td>
<td>collaborators<sup>(readers)</sup></td>
<td>write</td>
<td>humans</td>
<td>...</td>
</tr>
<tfoot>
<tr>
<td></td>
<td>Algolit</td>
<td></td>
<td>
oracles<br><br>
writers<br><br>
cleaners<br><br>
informants<br><br>
readers<br><br>
learners<br><br>
</td>
<td></td>
</tr>
</tfoot>
</table>
<small>The exhibition is open from the 28th of March untill the 28th of April, between 10:00h and 18:00h.</small>
<br>
<small>www.algolit.net</small>
<small>www.mundaneum.org</small>
</div>
</body>
</html>

BIN
poster/data-workers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

26
poster/functions.py Executable file
View File

@ -0,0 +1,26 @@
def get_template(html):
template = '''<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="stylesheet.css">
<title>Data Workers</title>
</head>
<body>
<div id="wrapper">{}</div>
</body>
</html>
'''.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')

35
poster/stylesheet.css Normal file
View File

@ -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;
}