first sketches for the Data Workers poster
This commit is contained in:
commit
a8d1b4783e
BIN
poster/__pycache__/functions.cpython-37.pyc
Normal file
BIN
poster/__pycache__/functions.cpython-37.pyc
Normal file
Binary file not shown.
1136
poster/data-workers-poster.svg
Normal file
1136
poster/data-workers-poster.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 73 KiB |
273
poster/data-workers-posters.py
Normal file
273
poster/data-workers-posters.py
Normal 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
103
poster/data-workers.html
Normal 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
BIN
poster/data-workers.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 227 KiB |
BIN
poster/fonts/FantasqueSansMono-Regular.ttf
Normal file
BIN
poster/fonts/FantasqueSansMono-Regular.ttf
Normal file
Binary file not shown.
26
poster/functions.py
Executable file
26
poster/functions.py
Executable 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
35
poster/stylesheet.css
Normal 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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user