Ausstellungskatalog von xx.Lyssenko (alias Holger Lang)

xx.Lyssenko (alias Holger Lang) stellt neue und alte Werke im Bethanien aus. Zur Ausstellung gibt es einen Katalog, den ich für den Künstler digitalisiert habe.

Ausstellung

X – Art Berlin „Unfug & Subversion“

mit

Tina del Mar

Malerei, Schablonen, Polit- Art
und

xx.Lyssenko (alias Holger Lang)

Trash-Art-, Stapelkunst,
34 Fotos urbaner Krähen und Möven

Gemeinsam

Die Laborratten, das Smoke- Inn, Stempelperformance
Ort:

„Theater- Spielraum“, Südflügel des Bethanien. Mariannenplatz 2b, Kreuzberg

Zeit:

So. 30. April 16°°- 22°° (Lesungen, Fr. Mitochondria mit ihrer Schreibmaschine)
Mo. 1. Mai 13°°- 20°°
Fr 5. Mai 16°°- 22°° Holger feiert Geburtstag (toxo zeigt chemisches)

Mehr Infos zu xx.Lyssenko (alias Holger Lang) findet ihr hier: http://www.mixfrequency.com/platformxxauststellung.htm

Squatbox

Mit Navid Tschopp habe ich 2015 eine sogenannte Squatbox entwickelt. Es handelt sich dabei um ein digitales Mahnmahl. Ein Raspberry Pi (zuvor eine PirateBox) stellt eine offene WLAN-Verbindung bereit. Nutzer verbinden sich mit ihren Smartphones und glauben, sie befänden sich im Internet. In Wahrheit wird jede Anfrage mit Inhalten aus der Squatbox bedient, so dass nur die Texte, Bilder, Töne und Videos vom Mahnmal angezeigt werden können und dem Nutzer so die Information „ungefragt“ untergejubelt wird.
Mehr Infos hier: http://www.cabaretvoltaire.ch/de/projekte/invent-the-future-with-elements-of-the-past/navid-tschopp.html

WordPress Theme SquatBox

Setup:

  • Raspberry Pi 1
  • WLAN-Stick mit AP-Mode
  • raspbian
  • hostapd
  • DNS-Server
  • nginx-Webserver
  • WordPress

 

 

Karriereleiter

Die Karriere einer Leiter. Zunächst leistete sie zuverlässig ihre Dienste während der 48 Stunden Neukölln. Dann nahm die PARTEI die Leiter unter ihre Fittiche. Letzte Nachrichten zeugen von einem traurigen Bild.

Atommüll-Spender

Endlich! Dauerspaß für die ganze Familie!

Mit dem Atommüll-Spender bieten wir auch Ihren Kindern äußerst nachhaltige, vegane Snacks: Daran werden Sie noch lange zu knabbern haben! Das Verfallsdatum beträgt einige Millonen Jahre, das leistet kein anderer Hersteller! Der zum Einsatz kommende Atommüll ist handgefertigt in einem Berliner Hinterhof! Alles Fair Trade und CO2-neutral, TÜV-geprüft und schwefelarm, echt jetzt. Sie können uns vertrauen.

 

Gemeinsam mit Julius Lankes baute ich diesen praktischen Atommüll-Spender. Gegen 50 cent erhält jedes Kind eine handvoll Atommüll – garantiert ungenießbar, dafür leuchtet es aber im Dunkeln!

Recognition Composition

Recognition Composition, Face-Defector oder Anonymizer – einen endgültigen Namen für das Werk habe ich noch nicht gefunden.

Unter einem dieser Namen stellte ich das Werk bereits mehrfach aus:

  • DAS Weekend Berlin
  • Art Buzzl Regensburg
  • Galerie Bauchhund
  • Berliner  Mitteclub

Das Programm nimmt Bilder von einer Webcam auf und analysiert sie mit OpenCV haarcascades, um Gesichter zu finden. Die Gesichter werden ausgeschnitten und mit einem Balken „anonymisiert“. Auf einer Leinwand werden zig dieser Bilder angezeigt und neu erkannte Gesichter sofort hinzugefügt. Auf einem zweiten Bildschirm wird einer Überlagerung aller Gesichter angezeigt. Starrt man lange genug in die Kamera wird die Überlagerung dem Betrachter immer ähnlicher. Bei zwei Betrachtenden entsteht eine Mischgestalt. Schafft man es die gesamte Leinwand mit dem (den) eigenen Gesichter voll zu machen, druckt ein Kassenbon-Nadeldrucker ein zweifarbiges Bild des gemorphten Gesichts mit Datum und Uhrzeit. Dabei handelt es sich um ein Unikat, da das Bild nach dem Druck wieder verändert wird.

Sourcecode:

Auch eine Methode das Gesicht zu verwaschen:

private boolean washFace(File file, int x, int y, int r) {

	int width = 480, height = 480;
	File washFace = new File(Constants.washFacePointer);
	BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
	BufferedImage bi2 = new BufferedImage(640, 480, BufferedImage.TYPE_INT_ARGB);

	try {
		bi = ImageIO.read( washFace );
	} catch (IOException e1) {
		bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
	}

	try {
		bi2 = ImageIO.read( file );
	} catch (IOException e1) {
		return false;
	}

	Graphics2D ig2 = bi.createGraphics();
	ig2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
	AffineTransform transform = new AffineTransform();
	double scale = 480.0 / (double)(r) ;
	transform.scale(scale,scale);
	transform.translate(-(double)x,-(double)y);
	float alpha = .05f;
	ig2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
	ig2.drawRenderedImage( bi2, transform );	
	try {
		ImageIO.write(bi, "JPEG", washFace);
	} catch (IOException e) {
		e.printStackTrace();
	}
	return true;
}

Der Druck des Kassenbons erfolgt hier wie bei GunPrinter mit Hilfe von IrfanView:

package gun;

import java.io.File;
import java.io.IOException;

public class PrintThread extends Thread implements Runnable {

	private File file = null;

	public PrintThread(File file) {
		this.file  = file;
	}

	@Override public void run() 
	{ 

		if (file.exists() && file.canRead() ) {

			try {
				ProcessBuilder builder = new ProcessBuilder( "cmd", "/c", "irfan.bat", file.getAbsoluteFile().toString() ); 
				builder.directory( new File(System.getProperty("user.dir")+System.getProperty("file.separator")+"sys"+System.getProperty("file.separator")+"irfan") ); 
				builder.start();

			} catch (IOException e1) {
				e1.printStackTrace();
			} 

		}

	}


}
@echo off
IrfanViewPortable.exe %1 /print="EPSON-TMU220B"
if ERRORLEVEL 1 (echo Fehler) else (echo OK)