Skip to content

Instantly share code, notes, and snippets.

List of easy to read texts that cover Media Studies topics and are potentially good examples for students:
* Freud: Notiz über den „Wunderblock” (im Kursbuch Medienkultur und https://archive.org/details/InternationaleZeitschriftFuumlrPsychoanalyseXi.band1925Heft1/page/n9/mode/2up)
* LeGuin: Carrier Bag Theory of Fiction/Tragetaschentheorie des Erzählens
* Marx: Maschinerie und große Industrie
* Mauss: Körpertechniken
@jdittrich
jdittrich / Researching User Researchers.md
Last active June 23, 2024 21:02
Publications analyzing user research in HCI and UX
  • Agre, Philip E. „Conceptions of the user in computer systems design“. In CAMBRIDGE SERIES ON HUMAN COMPUTER INTERACTION, 67–106. CAMBRIDGE SERIES ON HUMAN COMPUTER INTERACTION, 1995.
    • Similar to Woolgar’s studies on the topic
  • Agre, Philip E “Surveillance and capture: Two models of privacy”, The information society, 1994, 101-127.
    • More interesting from a theoretical aspect, as Agre traces how studies of work and the subsequent implementation of these workflows in products is not a neutral act but changes the very work it analyzed. 
  • Anderson, R. J. „Representations and Requirements: The Value of Ethnography in System Design“. Human-computer Interaction 9, Nr. 2 (1994): 151–182. https://doi.org/10.1207/s15327051hci0902_1.
    • What do Designers mean when they say ‘Ethnography’: “Instead of fixing upon [Ethnographies] analytic aspects, designers have defined it as a form of data collection.”
  • Akrich, Madeleine. „The De-scription of Technic
@jdittrich
jdittrich / expand multiple choice to bool columns.R
Last active January 20, 2024 16:42
Data processing for surveys with multiple choice answers put in a column with seperated string-values like "R;Python;C"
# Suvery tools often put multiple choice questions’s answers as a single value with concatenated strings:
# If asking which programming languages from a list people use, tools will output "C;Python;R" if users selected these options.
# These will be put in a column representing the question’s answers. However, this format is hard to work with.
#
# The code below creates a %>%-able function "stringColToBoolMatches"
#
# parameters: df <tibble>, stringColName<character>, name of the column with the answers, separator<character> e.g. ";"
# returning: a new dataframe that keeps the original column but expands its values to boolean columns, one for each multiple choice option
#
# the columns are named after the unique answer option and can be NA (original value was NA), True (value present) or False (value not present)
-- get a collaborator ID and a document id
-- it should return nothing when the access is not allowed
-- it should return one entry when access is allowed
-- e.g.
-- get get bob and the object Kotti. Is bob allowed to see it (yes, bob is owner of the project)
-- get eve and the object kotti. Is eve allowed to see it (no, eve is neither collaborator nor ownwer)
-- SCHEMA is:
-- Documents: This is what people request. They might not have access to the document, we wanna check this. Documents belong to projects
-- Projects: Collect documents. Each project has an owner
from sqlalchemy import create_engine, Column, Table, ForeignKey, Integer, String
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import mapped_column
from sqlalchemy.orm import Mapped
engine = create_engine('sqlite:///:memory:')
Session = sessionmaker(bind=engine)
session = Session()
@jdittrich
jdittrich / convertToOtranscribe.py
Last active August 26, 2022 10:22
hacky little script to convert plain text transcripts that have timestamps in the beginning of lines into documents that can be imported to otranscribe (https://otranscribe.com/)
"""
hacky little script to convert plain text transcripts
that have timestamps in the beginning of lines
into documents that can be imported to otranscribe
The file format it takes looks like:
1:30 I mean yeah uhm
1:32 I dunno
@jdittrich
jdittrich / PollutionAndDanger.my
Created March 14, 2022 11:22
Notes from Mary Douglas’ Pollution and Danger
2 Dirt is disorder, disorder is subjective
3 removing dirt is ordering the environment creatively
4 people violating the moral code can cause harm; they are treated as infectious
4 relations and pollution between people mirror that of society
5 "For I believe that ideas about separating, purifying, demarcating and punishing transgressions have as their main function to impose system on an inherently untidy experience." "It is only by exaggerating the difference between within and without, about and below, male and female, with and against, that a semblance of order is created. In this sense I am not afraid of the charge of having made the social structure seem over-rigid."
@jdittrich
jdittrich / pythonWebAppsArchitecture.md
Last active March 13, 2022 22:12
Architecture Resources for Web Applications in Python
@jdittrich
jdittrich / test_transcript.py
Last active April 7, 2022 12:53
Vosk Speech API modified test_simple.py: instead of returning a JSON it returns lines of text: MM:SS,texttexttext # so you can use them in a transcript or for close captions
#!/usr/bin/env python3
# based on https://github.com/alphacep/vosk-api/blob/master/python/example/test_simple.py
# by alphacep under Apache 2.0
# modifications by Jan D.
# instead of returning a JSON it returns lines of text: MM:SS,texttexttext
# so you can use them in a transcript or for close captions
# (for the code below to work you need python 3 and pipenv installed. If you do not have pipenv, do
# $ pip install --user pipenv
#
# The lines that start with $ mean that the text of the line after the $ is put in the terminal and executed (press Enter).
@jdittrich
jdittrich / Understanding Taguette with Sourcetrail.md
Created November 20, 2021 17:28
Understanding Taguette with Sourcetrail
  • Download sourcetrail and run it
  • Set the taguette’s poetry (taguette’s designated package manager) Script folder as your environment (under Windows, it is at User/foo/AppData/Local/pypoetry/Cache/virtualenvs/taguette-bar/Scripts – where foois your username andbar` some gibberish. The environment is thus not in your taguette folder!)
  • Set the root taguette repo folder as folder to index (not the /taguette subfolder, where most of the .py files are!)
  • Exclude the /taguette/migrations folder
  • Let Sourcetrail index the repo. Depending on your computer’s power, it might take a few minutes.
  • Start exploring the code