SimulationsRaum Rotating Header Image

Porgrammiersprachen

Kittler Studies

Nachdem ein kürzlich erschienener Sammelband die “Kittler Studies” ausgerufen hat, kommt der Kolloquiums-Vortrag von Moritz Hiller am kommenden Mittwoch genau zur richtigen Zeit:

Am nächsten Mittwoch, den 4.2.15, wird Moritz Hiller im Kolloquium zu seiner Dissertation vortragen. Das Thema des Vortrags: “Software-Philologie, oder: Die Zeichen der Zeit lesen.” Die anschließende Diskussion wird von Prof. Dr. Wolfgang Ernst moderiert.

Das Kolloquium findet wie gewohnt im Medientheater (EG, Raum 0.01) der Georgenstraße 47 statt. Beginn: 18 Uhr.

(mehr …)

Birth of BASIC

BASIC-Samstag

Am 24. Januar findet im Oldenburger Computermuseum ein fünfstündiger BASIC-Workshop statt, bei dem Neulinge eine einfache Programmiersprache erlernen können. Geleitet wird der Workshop vom Kurator Thiemo Eddiks. Ich bin (als OCM-Mitglied) auch vor Ort und werde einen einführenden Vortrag über die Geschichte und Gegenwart von BASIC halten.

Anmelden kann man sich per E-Mail oder über die Facebook-Seite.

VCFe 2014 & 2015

Im vergangenen Jahr haben mein Kollege Thomas Nückel und ich auf dem 15. Müncher VCFe zum Thema “Exoten” einen Vortrag über unseren Signetics-2650-Workshop gehalten. Dieser ist jetzt als Podcast nachzuhören. Auf dem diesjährigen VCFe ist das Thema “Computer im Osten”. Ich werde wieder dort sein und die Hard- und Soft- und Paperware von Horst Völz vorstellen.

MUL

6809-Assembler

Die Relaismotte

Vor einigen Wochen hat mich Christian Grasse vom Deutschlandradio besucht, um mit mir über Programmierfehler zu sprechen. Das Interview ist nun im Rahmen der Reihe “Systemfehler” veröffentlicht worden und kann hier angehört werden:

 

How to do Things with Keys

Gestern habe ich via Skype meinen Vortrag zur Tagung in Brno gehalten. Ich habe den Talk mitgeschnitten und als Film auf YouTube hoch geladen. Die dazugehörigen Slides können hier herunter geladen werden.

Assembler im Browser

Dank schneller Rechner und Betriebssysteme sowie den Interaktionsmöglichkeiten von Java und HTML5 kann man im Browser inzwischen so gut wie alles machen, wofür man noch vor ein paar Jahren spezielle Programme benötigte. Insbesondere die Möglichkeit, Emulatoren und daran angeschlossene Programmbibliotheken nutzen zu können, erleichtert die Arbeit mit alten Systemen (vor allem in der Lehre) sehr.

heise.de berichtet heute von einem Assembler für Browser, der mehrere alte Systeme emuliert: ASM80. Das sind natürlich Z80-Systeme. Der Assembler stellt allerdings eine gute Auswahl davon zusammen.

How To Do Things With Keys

On november, 20th I will speak in Brno (Czech Republic) on the “MEDIA PERFORMANCE 4 / GESTURE” workshop about the “Gesture of Assembly Programming” and Flusser’s concept of programming, computers and gestures.

Abstract:

How To Do Things With Keys
Programming (Assembly) as a (Kind of) Gesture

Is programming a practice of writing? Or is it rather a craft? Vilém Flusser did not mention coding as a special gesture in his book but there are several sentences about the role and the effect of computer usage for the arts, writing (text) and thinking. I want to set programming computer with formal languages between Flusser’s gestures of „making“ (Machen) and „writing“ (Schreiben) – especially programming in assembly, since these machine orientated languages „do things“ directly in the sense of John L. Austin: They switch together elements of the hardware; they make the electrical signals flow a distinct way through the circuits; and beyond all that their syntax and semantic stand for a theoretical model for the computer itself (Turing completeness). So the coder at the keyboard becomes much more than only a writer/autor of code. He applies a theoretical to a real machine. In my lecture I will show the effects of the „gesture of programming“ from the computer’s subface in detail: how it effects its circuits and how the programming forces the „universal Turing machine“ to become a „special purpose machine“ – only by using words from a special alphabet – the programming opcodes. On the other hand there will be the question how the hands of the programmer can become programming devices (perhaps by losing their „dialectical position“ for eacht oterh). I will ask if there is a gap in Flusser’s theory between making and writing and if that could be filled with theories of computer studies and pragmatics.

1. Introduction: Flusser, Computers, and programming
2. Programming between Flusser’s gestures “making” and “writing”
3. Is a computer program just another kind of text type?
3.1 Formal languages in theoretical computer science
3.2 Paradigms of programming languages and programming
4. Is programming assembly just “making”?
4.1 The instruction set of a (micro) processor as a pre-post-structural dictionary
4.2 Programming as a perlucotionary (speech) act
5. Derrida’s critique on Searle and formal languages
6. People programming computers programming people

Zeit-Invasionen

Am 14. und 15.10. veranstaltet der Lehrstuhl für Medientheorien einen Workshop mit dem Titel “Zeitigungen von Medien“, in welchem ich einen Vortrag halten werde:

Time Invaders
Spielende Digitalcomputer als pluritemporale Medien

Der Digitalcomputer ist eine Technologie der Zeit: Er ist in der Zeit und zugleich „hat“ er Zeit. Welche und wie viele Zeitformationen sich um und im Computer zeigen, scheint dabei ein wesentliches Kriterium seiner Medialität zu sein. Zunächst wäre zu diskutieren, unter welchen Umständen ein Computer überhaupt ein „Objekt der Zeit / der Geschichte“ sein kann – insbesondere, wenn er zwar als technikhistorisches Artefakt aufgerufen, dann jedoch eingeschaltet wird. Im Sinne des Retro-Computing zeigen sich hier bereits Temporaleffekte, die kaum seinen bloß ökonomischen oder technikhistorischen Zuschreibung entspringen, sondern bereits seine inneren Zeitverhältnisse äußern. Um diese offenzulegen, soll ein Ausflug in die temporalen Segmente des Computers anhand eines zunächst ästhetischen Phänomens – des Computerspiels „Space Invaders“ (1978) – unternommen werden. „Space Invaders“, hier weniger als Raum-, denn als Zeitproblem zu analysieren, entbirgt bereits auf der Oberfläche unterschiedlichste Zeitaspekte seiner konkreten Hard- und Software. Schicht um Schicht sich mit medienarchäologischen Methoden freigelegt werden: von den linearen Abläufen, rekursiven Funktionen und Schleifenkonstruktionen der Software bis zu den diskreten Taktungen, kontinuierlichen Signalverläufen und sprunghaften Basal-Prozessen der Hardware.

Dauer: 45 Minuten zzgl. Diskussion. – Zum Zeitvertreib wird es verschiedene Space-Invaders-Handheld-Spiele zum Ausprobieren geben.

Informationen zum Workshop finden sich auf der Institutsseite: https://www.medientheorien.hu-berlin.de/zeitigungen-von-medien

ZvM_Plakat_A1

Lehre im Wintersemester 2014/15

Meine Lehrveranstaltungen fürs Wintersemester:

(mehr …)

Unser Kosmos

Vergangene Woche habe ich von einem Freund für kleines Geld einen “KOSMOS CP1“-Lerncomputer erworben. Mein System besteht aus der Grundeinheit, einer Speichererweiterung und einer Ergänzung mit Relais zur Ansteuerung von Motoren etc. Das Kassetten-Interface habe ich leider noch nicht.

IMG_3516

Der Computer ist aus mehrfacher Hinsicht interessant. Zum einen ist darin Intels vergleichsweise schneller 8049 verbaut, ein Mikrocontroller, der alle wesentlichen Elemente eines Mikrocomputers enthält, weshalb auf der Platine des CP1 nur noch ein zusätzliches IC mit dem ROM für das Betriebssystem zu finden ist. Dieses enthält ein Monitorprogramm und eine Programmiersprache, die man als “Lern-Assembler” bezeichnen könnte. Dieser Assembler stellt 21 6-Bit-Opcodes zur Verfügung und bietet eine Adressierungsart: relative Adressierung. Letzteres mag auf das minimale RAM von 128 Byte, das im 8049 integriert ist, zurückzuführen sein, bei dem man die RAM-Bank nicht verlässt und also jedes Ziel (das wie alle Daten in Dezimalzahlen angegeben wird!) relativ anspringen kann.

Es hat allerdings auch didaktische Gründe: Die Komplexitätsreduktion sollte Jugendlichen und Kindern helfen, sich in die Programmierung in Assembler schneller einfinden zu können. Aus eigener Erfahrung weiß ich, dass gerade die Vielfalt an Adressierungsarten zu Beginn immer eine große intellektuelle Hürde darstellt. Auf relative Adressierung reduziert kann man sich schneller auf die Opcodes und ihre Funktion konzentrieren. Diese Opcodes sind im CP1 lediglich Pseudo-Opcodes, weil sie nicht nur einen vergleichsweise kleinen Ausschnitt aus dem ca. 90 Befehle umfassenden Befehlsinventar des 8049 zur Verwendung anbieten, sondern zudem auch noch “auf Deutsch” übersetzt wurden. So heißt “Springe bedingt zu Adresse XXX” hier SPB, aus AND wird UND und ANZ bringt den Inhalt des Akkumulators auf das 7-Segment-Display – gerade hinter diesem Opcode verbirgt sich eine ganze ROM-Routine, wie 8-Bit-Assemblerprogrammierer ahnen.

vorn

hinten

Funktionsübersicht mit Pseudo-Opcodes

Leider lässt der CP1 es nicht zu, direkt auf die Funktionen des 8049 zurückzugreifen. Dazu müsste man das ROM gegen ein eigenes Monitorprogramm austauschen; sieht man diese äußerst eigenwillige Programmierung jedoch aus archäologischer Perspektive, so zeigen sich hier vor allem bereits Makros, die eher zur Benutzung und weniger zur Analyse und zum Experiment mit der Maschine einladen. Man könnte sagen: Vom “CP1-Assembler” ist es also nur noch ein kleiner Schritt hin zu BASIC. (Eine Perspektive, deren Vektor sonst in genau die entgegen gesetzte Richtung verläuft.)

Rechnen & Leben

Am kommenden Mittwoch werden in Wolfgang Ernsts Forschungskolloquium “Medien, die wir meinen” die Projekte meines letztsemestrigen Assembler-Workshops vorgestellt:

Rechnen & Leben – Coding-Performance

Referenten: Dr. Stefan Höltgen, Juliane Schütte, Johannes Maibaum, Thomas Nückel

Aussterbende Computerplattformen werden heutzutage durch Emulationen scheinbar adäquat emuliert und so “am Leben“ erhalten. Doch Emulatoren können gleichzeitig mehr und weniger als die reale Hardware. Die Projekte im Seminar „Signetics 2650 Programmierworkshop“ zeigen dies auf ganz unterschiedliche Weise. Juliane Schütte hat für den „Signetics Instructor 50“, der der Seminargruppe als Referenzplattform für die Programmierung diente, eine Mathematikanwendung programmiert, mit der es möglich ist, dem eigentlich auf Binär- und Hexadezimalarithmetik beschränkten Computer das Rechnen im Dezimalsystem „beizubringen“. Sie stellt ihr Programm vor und erörtert ihre Hex-Dez-Konversionsroutine im Spannungsfeld medienwissenschaftlicher und mathematischer Fragestellungen. Johannes Maibaum hat sich auf eine Metaebene begeben und nicht in Assembler selbst programmiert, sondern einen eigenen Signetics-2650-Emulator in C für Linux programmiert. Welche Besonderheiten zwischen Quell- und Zielplattform es dabei – insbesondere unter Berücksichtigung beider Zeitverhalten und Hardwareabstraktion – zu berücksichtigen gab, diskutiert er in seinem Vortragsteil. Das Projekt von Thomas Nückel ist eine Implementierung eines „Game of Live“: Die beschränkten Ausgabeports des „Instructor 50“ haben hierbei die Nachbarschafts- und Spielregeln definiert: Sein „Game of Death“ ist ein eindimensionaler, deterministischer, binärer zellulärer Automat, auf der Basis von 8 Leuchtdioden. Zusammen mit dem Kursleiter hat er danach eine zweite Variante des „Game of Life“ programmiert: Unter dem Titel „Game of Memories“ wird ein Zellulärer Automat vorgestellt, der so nur auf dem Emulator Sinn ergibt, weil dieser die Grenzen der Darstellungsmöglichkeit des „Instructor 50“ überwindet und Speicher sichtbar machen kann. Wie alle Projekte zeigt auch dieses besonders, worin Emulation stark ist: Die „Versoftung“ von Hardware bietet den Programmentwicklern größere Freiheiten und Möglichkeiten, schränkt sie aber auch ein. An „Game of Memories“ zeigt sich die Einschränkung etwa bei der Generierung von Zufallszahlen, die auf der Originalplattform durch physikalische Ereignisse an den Ports entstehen, im Emulator aber „simuliert“ werden müssen. Nückel und Höltgen binden darüber hinaus die grafische Ausgabe Ihres Systems an die Frage der Sichtbarmachung und Epistemologie von Speicher(n) in Digitalcomputern zurück.

Länge: circa 70 Minuten
Ort: Georgenstraße 47, Raum 0.01 (Medientheater)
Zeit: 18-20 Uhr

 

1+1=?

Meine Studentin Juliane Schütte hat für den “Instructor 50″ im Rahmen meines Programmierworkshops zum Signetcis 2650 einen einfachen dezimalen Tischrechner programmiert. Er beherrscht die vier Grundrechenarten, kann negative Zahlen und Divisionen mit ganzzahligem Rest darstellen. Dieses auf den ersten Blick “einfache” Projekt offenbart seine Schwierigkeiten, wenn man sich in der Programmierung des Prozessors und der Plattform auskennt – zumal, wenn man – wie die Studentin – noch nie zuvor programmiert hat.

instr50-calc

Juliane Schütte wird ihr Projekt im Rahmen einer Präsentation am 11.6. im Kolloquium “Medien, die wir meinen” vorstellen. Der Sourcecode und die ausführbare Datei (für den Emulator WinArcadia) kann hier heruntergeladen werden.

Happy Birthday, BASIC!

Heute vor 50 Jahren – genauer: In der Nacht vom 30.04.1964 zum 01.05.1964 – erblickte die Programmiersprache BASIC das Licht der Welt. Ob es wirklich das folgende Programm war, das in jener Nacht gegen 4 Uhr als erstes erfolgreich durch den Compiler übersetzt und nach der Eingabe von RUN ausgeführt wurde, weiß ich nicht. Es ist allerdings das erste Programm, das sich im Manual der Version 1 von Dartmouth-BASIC findet:

Bildschirmfoto 2013-11-23 um 22.02.15Ich bin gespannt, wer und wo alles auf diesen runden Geburtstag reagiert (wird) und freue mich schon auf die Zukunft der Programmiersprache, die in den Retroszenen auf jeden Fall weiterleben wird! Mein Geburtstagsartikel auf Telepolis.

Retro BASIC

coming soon …

Retro-BASIC_Cover_klein

  • Crashkurs – BASIC auf den Punkt gebracht und mit Abstand betrachtet
  • Bumming – Ein historischer BASIC- Programmierwettbewerb
  • Rezensionen – BASIC-Handbücher von Homecomputern
  • Einzeiler – BASIC-Spiele und -Demos für verschiedene Systeme
  • Kreativer Missbrauch – One-Liner- Programmiertechniken in Sinclair-BASIC
  • BASIC Computer Games –Eine Sammlung früher Computerspiele
  • BASIC-Spiele und ihre Geschichte: »GULP!« – Kurzinterview mit Yoda Zhang / »4K BASIC Dash« – Kurzinterview mit Simon Stelling-de San Antonio
  • Integer BASIC – Apples erste Programmiersprache
  • Spaghetticoding für Fortgeschrittene – BASIC-Programme beschleunigen
  • 10 PRINT “Hello, BASIC world!” – BASIC heute
  • BASIC zum Mitnehmen – Meilensteine der Taschenrechnergeschichte
  • BASIC für die Kleinen – Ein BASIC-Compiler für Mikrocontroller
  • Das Hintervorletzte – »Ich hasse BASIC!« Ein Leserbrief, der Geschichte machte
  • CLOAD – Daten auf Platten. Die Retro-Schallfolie

Die Sonderausgabe wird Abonnenten geliefert, findet sich in ausgewählten Zeitschriftenläden oder kann portofrei online beim CSW-Verlag bestellt werden.

So spielt das Leben …

Das von mir und Thomas Nückel entwickelte »Game of Memories« (eine “Game of Life”-Variante für Signetics-Einplatinencomputer und deren Emulatoren) hat im ersten Halbjahr 2014 eine kleine »Deutschland-Tournee«:

Am 12. April halte ich einen Vortrag (nebst Vorführung) auf dem »Gamefest« darüber. Eine Vortragsankündigung steht schon – Zeit und Ort werden in Kürze ergänzt:

So spielt das Leben
Convays »Game of Life« als Spiel & Ernst

Das berühmte »Game of Life« stellt eine Implementierung der Theorie »zellulärer Automaten« dar, die schon in der Frühgeschichte des Computers aufgestellt wurde. In ihm überschneiden sich mathematische Spieltheorie, Informationstheorie, Speichertheorie und fragen der Künstlichen Intelligenz … aber eben auch des Computerspiels, das in sich all diese Theorien enthält. Deshalb lohnt es sich auch, einen Blick auf die faszinierende Geschichte des »Game of Life« zu werfen, wie es 196X vom britischen »Spaß-Mathematiker« mit seinen einfachen Spielregeln für Computer entworfen wurde. Dieses Spiel ist nun noch einmal im Rahmen eines Programmierkurses an der Humboldt-Universität programmiert worden – wiederum mit einem »Mehrwert« an (Be)Deutungen. Damit sollte unter anderem gezeigt werden, was man mit einfachsten Computern der 1980er-Jahre alles machen kann, obwohl in deren Handbüchern das Gegenteil steht. Hilfreich ist dazu die moderne Technik. Das Spiel wird in seiner Geschichte vorgestellt und in seiner Funktion auf einem emulierten Computer vorgeführt. 45 Minuten mit anschließender Diskussion.

Am ersten Mai-Wochenende (3.-4.5.) findet in München (wie unten geschrieben) das »VCFe« statt. Dort werde ich im Rahmen des »Exoten«-Themas den Signentics 2650 sowie unseren Programmierkurs und das Programm vorstellen. Ausgestellt wird es dort meinen Holz-EPC und meine Interton VC-4000 (mit allen Spielen) zu sehen geben.

Am 10.5. spreche ich vielleicht in Leipzig auf der »Langen Nacht der Computerspiele« noch einmal darüber.

 

Lehre im Sommersemester 2014

  • BA Medienwissenschaft: Modul 1 (Einführung in die Medienwissenschaft)
    SE: Der gelbe Gefährte: Pac-Man als epistemisches Spiel(Zeug)
    Freitags, 10-12 Uhr, Signallabor (Raum 2.33)
  • MA: Projekt- und Praxismodul & BA: Modul VI (Projektmodul)
    SE: Signetics 2650 Programmierworkshop (2/4): Programmierung der Spielkonsole Interton VC-4000
    Donnerstags, 18-20 Uhr, Signallabor (Raum 2.33)
  • MA Medienwissenschaft: Modul 5 (Medienökonomie) und MA Kulturwissenschaft
    SE: Die Wissensökonomie des Museums – Exkursionen in die Berliner Museumslandschaft
    Dienstags, 14-16 Uhr, Signallabor (Raum 0.09)

Die Kursbeschreibungen:

(mehr …)

Signetics 2650 Assembler – Crashkurs

Das erste Projektmodul zum 2650-Assembler ist nun vorüber und es sind immerhin drei studentische Projekte im Entstehen (die übrigen Studenten haben sich während des Semesters nach und nach verabschiedet; die anwesenden außeruniversitären Hacker haben nach meiner Kenntnis keine eigenen Programmierprojekte angefangen/umgesetzt). Da im Sommersemester die nächste Seminarrunde ansteht, auf der dann die Plattform vom “Signetics Instructor 50″-Lerncomputer auf die “Interton VC-4000″-Spielkonsole gewechselt wird, gebe ich Neueinsteigern und Rekapitulationswilligen die Möglichkeit, quereinzusteigen, indem ich in den Semesterferien einen 2650-Assembler-Crashkurs veranstalte:

Vom 31.03. bis 11.04. findet jeweils von Montag bis Freitag, 10-12 Uhr im Signallabor der Brückenkurs “Assembler für Anfänger” statt. Die Teilnahme ist natürlich kostenlos; Computer und Lehrmaterialien werden vom Fachgebiet Medienwissenschaft zur Verfügung gestellt.

Wer Interesse an der Teilnahme hat, kann sich entweder in der Facebook-Veranstaltung eintragen oder mir eine E-Mail schreiben. Postwendend kommt dann der Zugang zum entsprechenden Moodle-Kurs, in dem weitere Informationen und Materialien zu finden sind.

Plakat_signetics-Assembler

Racing the Beam …

Am Samstag, den 8. Februar findet bei uns im Insitut ein Workshop zur Programmierung für die Atari VCS statt. Geleitet wird der ganztägige Workshop von SvOl.li. Man kann seinen eigenen x86-Rechner mitbringen. Es sind aber auch genug Computer für die max. 18 Teilnehmer vorhanden. Außerdem gibt es natürlich einige VCS-Konsolen mit Harmony-Cartridges, damit die Programme auch auf der Originalplattform getestet werden können.

vcs-ws

Der Workshop ist kostenlos. Aufgrund der begrenzten Platzzahl ist eine vorherige Anmeldung allerdings unbedingt erforderlich. Bitte per E-Mail an mich. Weitere Informationen gibt es auf der Facebook-Seite.