Browse Source

adding text in section 6 + minor css edits

master
manetta 4 years ago
parent
commit
2e537f540b
  1. 16
      content/Section 6 - Critical Interventions Through Bots (exercise)/1-introduction.md
  2. 55
      content/Section 6 - Critical Interventions Through Bots (exercise)/2-materiality-of-bots.md
  3. 6
      content/Section 6 - Critical Interventions Through Bots (exercise)/3-example-bot.md
  4. 4
      content/Section 6 - Critical Interventions Through Bots (exercise)/3-programming-logic.md
  5. 6
      content/Section 6 - Critical Interventions Through Bots (exercise)/4-example-bot.md
  6. 6
      content/Section 6 - Critical Interventions Through Bots (exercise)/5-situated-bot-code.md
  7. 6
      themes/default/static/css/main.css
  8. 3
      themes/default/templates/article.html
  9. 2
      themes/default/templates/base.html

16
content/Section 6 - Critical Interventions Through Bots (exercise)/1-introduction.md

@ -1,16 +1,16 @@
Title: Critical Interventions through Bots (exercise)
Slug: 01-s6-introduction
Slug: 01-s6-step-1
Date: 2020-11-01 12:00
Summary: Start of the excercise.
Summary: Start of the bot-making excercise.
In this section we will make and run a bot!
In this section we will make a bot. 🤖
First we will look into the materiality of a bot: How is it operating? What code is needed to make one? And how does it connect to an infrastructure, both in a technical and dialogical way?
We will use the dialog writing exercise and transform it into a bot ([in case you haven't done it yet, you could first go through this section](/category/http://localhost:8000/category/section-5-infrapunctural-imaginaries-exercise.html)).
To dive into the computational side of making bots, we will discuss a couple of basic features of programming logic, such as loops, if/else statements and variabled. It will help us to get to know the language and mechanisms in which these automated agents are written.
Before we dive into that, we will first look into the **materiality of bots**: How are they operating? What code is needed to make a bot? And how does a bot connect to an infrastructure, both in a technical and dialogical way?
We will look at the code of a bot by XXX, to study how other people operate them.
Then we will explore bots from a computational and technical point of view. We will go through a couple of basic features of **programming logic**, such as loops, if/else statements and variables. It will help us to get closer to mechanisms in which these automated agents are written.
Lastly, we will finish this module by running a bot ourselves.
After that, we will look at the code of an **example bot**, to study how other bot-makers write and operate them.
Ready? :-)
And lastly, we will finish this module by **making a bot** ourselves.

55
content/Section 6 - Critical Interventions Through Bots (exercise)/2-materiality-of-bots.md

@ -0,0 +1,55 @@
Title: Materiality of Bots
Slug: 02-s6-step-2
Date: 2020-11-01 12:01
Summary: Code, API's and background processes.
Talking about the materiality of bots might sound a bit funny at first. It is crucial though to closely look at *how* and *where* a bot operates, in order to imagine in what kind of way they can intervene in an infrastructure. As we learned from the section *Bot Logic*, making a bot both includes studying its technical mechanisms and the platform, network of infrastructure it will operate within.
To unpack the materiality of bots, we can have a closer look at three features of a bot-making process:
1. code
2. API's
3. background processes
The first feature will not come as a surprise: **code**. If we look at the digital materiality of a bot, we can say that it is a script: an executable file that sits on your computer or on a server. Code is used to describe how the bot makes a connection, what behaviour it has and when it comes into action.
There are a whole range of programming languages that a bot-maker can use to make a bot. The most popular ones are Python and Javascript. The choice for a specific language is often based on the preference of the programmer, it is a bit like picking your favorite flavour. However, the choice for a programming language can also be based on the availability of a library around an API.
If we talk about the relationship between platform and bots, we cannot escape talking about the **API**.
The term *API* is an acronym for Application Programming Interface. It is an code-based interface between the programmer and a platform, such as Wikipedia, Reddit, Whatsapp, Twitter or Mastodon. Not all platforms have an API, it's a decision of the owner of the platform to make one. Every API is therfor different and comes with different constraints or rules.
Taina Bucher[^bucher] defines an API as:
> “Among other things, web APIs encompass: a physicality in terms of the corporeal landscape of infrastructure and technology, through to the economic logics at work (i.e. business models, ownership, licencing of the APIs), functions and services (i.e. access to data), practices of users (i.e. forms of labor, play and collaboration), discursive formations (i.e. statements, knowledge, ideas), rules and norms (i.e. design principles, terms of service, technical standards), as well as social imaginaries and desires.”
An API is a set of rules that applications use to communicate with each other. This (apparently) neutral conception is in reality a very complex conglomerate of imaginaries, whether technological, economical or societal.
Essentially does the API determine how the platform developers imagine it will be used by other developers, revealing a relationship of imbalanced power. It welcomes interventions as an opportunity to expand the functionalities beyond what the original developers might have imagined. On centralized infrastructures this often results into generating more economical value in the end.
So to sum up: a bot is written in code and uses an API to connect to an infrastructure.
In order to run the bot, we need one more last feature: a so called **process**.
A *process* is nothing more then a term to refer to the act of putting the bot into action. In the most simple version, this can be done by running a script from your own computer. In a more complex version, you could upload your script to a server and run it from there *continuously*.
Why would you run a bot continuously?
As bots usually operate over a long period of time, you might not want to run them from your own computer, as this means that you need to keep your computer on for a long period of time (like a year or as long you want to have your but running).
Instead, bot-makers often run their bots from a server instead. There they can run the bot as a *process*, which allows them to turn it into a background activity. As processes bots can be stopped, started or restarted. Their status can be checked (to see if a bot is still running for example) and logfiles can be accessed.
These three features (*code*, *API's* and *background processes*) give us an understanding of what the digital materiality of a bot is.
<br>
<br>
<br>
## Footnotes
[^bucher]: Taina Bucher, Objects of Intense Feeling: The Case of the Twitter API

6
content/Section 6 - Critical Interventions Through Bots (exercise)/3-example-bot.md

@ -1,6 +0,0 @@
Title: A bot example
Slug: 03-s6-step-3
Date: 2020-11-01 12:01
Summary: Exploring the code of XXX

4
content/Section 6 - Critical Interventions Through Bots (exercise)/2-programming-logic.md → content/Section 6 - Critical Interventions Through Bots (exercise)/3-programming-logic.md

@ -1,4 +1,4 @@
Title: Programming Logic
Slug: 02-s6-step-2
Date: 2020-11-01 12:01
Slug: 03-s6-step-3
Date: 2020-11-01 12:02
Summary: Loops, if/else statements, variables and more.

6
content/Section 6 - Critical Interventions Through Bots (exercise)/4-example-bot.md

@ -0,0 +1,6 @@
Title: A bot example
Slug: 04-s6-step-4
Date: 2020-11-01 12:03
Summary: Exploring the XXX bot.

6
content/Section 6 - Critical Interventions Through Bots (exercise)/4-situated-bot-code.md → content/Section 6 - Critical Interventions Through Bots (exercise)/5-situated-bot-code.md

@ -1,5 +1,5 @@
Title: Make a bot
Slug: 04-s6-step-4
Slug: 05-s6-step-5
Date: 2020-11-01 12:04
Summary: How to make a bot?
@ -19,6 +19,10 @@ Please follow the link to proceed:
<https://mybinder.org/v2/git/https%3A%2F%2Fgit.vvvvvvaria.org%2Fmb%2Fbots-as-digital-infrapunctures/master?filepath=content%2Fbot-example%2Fmastodon-bot.ipynb>
<br>
<br>
<br>
# Footnotes
[^botexample]: The bot-example is kindly hosted by *MyBinder* (<https://mybinder.org>). [EXPAND]

6
themes/default/static/css/main.css

@ -188,6 +188,12 @@ video{
margin: 2em 0 2em -3em;
}
blockquote{
font-style: italic;
font-size: 125%;
line-height: 1.7;
}
.lastupdate{
font-size: smaller;
margin:4em 0;

3
themes/default/templates/article.html

@ -24,8 +24,7 @@
{% block content %}
<section id="content" class="body">
<header>
<h2 class="entry-title">
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
<h2 class="entry-title">{{ article.title }}</h2>
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(article) }}
</header>

2
themes/default/templates/base.html

@ -38,7 +38,7 @@
<footer id="contentinfo" class="body">
<hr>
The online module <em>Bots as Digital Infrapunctures</em> is developed in the context of the course <a href="#">Tool Criticism</a> at the <a href="#">University of Utrecht</a>.
The online module <em>Bots as Digital Infrapunctures</em> is developed in the context of the course <a href="#">Tool Criticism</a> at the <a href="#">Utrecht University</a>.
</footer>
</body>

Loading…
Cancel
Save