manetta
5 years ago
commit
a8d1b4783e
8 changed files with 1573 additions and 0 deletions
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
@ -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() |
@ -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> |
||||
|
|
After Width: | Height: | Size: 227 KiB |
Binary file not shown.
@ -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') |
@ -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