Demo gegen Bestandsdatenauskunft

Wir laden zur Demonstration mit kreativen Aktionen gegen die Bestandsdatenauskunft auf!

Am Sonntag, den 14. April 2013, u, 14 Uhr, treffen wir uns auf dem Vorplatz vom HBF Düsseldorf / Konrad-Adenauer-Platz .

Wir wollen das Gesetz zur Bestandsdatenauskunft stoppen, das am 21. März 2013 im Bundestag beschlossen wurde. Am 18. April 2013 wird sich der Innenausschuss des Bundesrats mit dem Gesetzesvorschlag beschäftigen. Voraussichtlich am 3. Mai 2013 wird der Bundesrat darüber abstimmen; erst dann kann das Gesetz in Kraft treten.

Unter dem Motto “Unsere Passwörter gehören uns!” und “Privatsphäre ist ein Menschenrecht – auch im Internet!” werden wir auf die weitreichenden Eingriffe in das Grundrecht auf informationelle Selbstbestimmung und in die privaten Daten der Nutzer durch die Bestandsdatenauskunft hinweisen. Es geht um den Zugriff auf private Zugangs- und Identifikationsdaten bei Telekommunikation im Internet und per Telefon, um Passwörter (wie z.B. von E-Mail-Accounts), PIN/PUK-Nummern bei Handys und die namentliche Identifizierung von IP-Adressen im Netz. Besonders kritikwürdig am Gesetz ist, dass der Zugriff bereits bei Ordnungswidrigkeiten erlaubt ist. Die vorgesehenen Einschränkungen reichen – bei weitem – nicht aus. Außerdem soll eine Vielzahl von Behörden von Polizei, BKA bis Geheimdiensten wie dem Verfassungsschutz Zugang erhalten. Obendrein soll der Zugriff auf die Bestandsdaten laut dem Gesetz über eine Schnittstelle bei den Providern/Telekommunikationsanbietern ermöglicht werden, die fast hürdenlosen Zugriff in hohem Ausmaß ermöglichen kann.

Wir rufen Aktivist*Innen für Bürgerrechte, Menschenrechte, Netzaktivist*Innen, Bürger*Innen, Organisationen der Zivilgesellschaft, Nichtregierungsorganisationen (NGOs) und demokratische Parteien auf, sich unserem Bündnis anzuschließen.

Weitere finden sich im Wiki sowie im Blog von protestwiki.de! Es gibt auch ein Mobilisierungsvideo.

Kommt zahlreich! Macht mit! Sagt “Nein” zur Bestandsdatenauskunft!

 

Pythonfoo Crashkurs die Zweite

Gestern gab es, wie letzten Donnerstag angekündigt, den Pyhton-Crashkurs. Unser Refferent Bison hat offensichtlich die Erwartungen der Teilnehmer erfüllt. Es waren allerhand neue Besucher da, die im Anschluß reges Interesse an unseren Aktivitäten und weiteren Vorträge gezeigt haben. Der ein oder andere wurde so angeregt, dass er noch bis in die Nacht mit dem probieren und studieren von Python beschäftigt war. In unseren Räumlichkeiten ist das aber kein Problem, da sie 24/7 Internet, Mate regen Kontakt unter IT affinen Personen usw. für unsere Clubmitglieder  bieten.

In Summa war es eine gelungene Veranstaltung, die wir sicherlich fortsetzen werden. Kleine Vorträge während des Pythonfoo sind sicherlich unangekündigt und unregelmäßig auch an den nächsten Veranstaltungen zu erwarten. Eine Fortsetzung der Crashkursvorträge werden wir  zusätzlich hier ankündigen.

Wer das Gesehene noch einmal nachvollziehen will, kann sich den Vortragscode in unserem GitHub anschauen oder in den anderen dort liegenden Codebeispielen  stöbern. Natürlich ist jeder auch gern zum Freitagsfoo eingeladen, bei dem es ebenfalls interessante Vorträge rund um unsere Chaosthemenwelt gibt.

Der Vortragscode steht in Github  zum Download zur Verfügung.

Verständlich Schreiben

OpenChaos April

Alle Interessierten laden wir ein zu unserem Workshop Verständlich Schreiben mit Corinna (pallas) am Samstag, den 13. April 2013 ab 15 Uhr.

Wir alle freuen uns über gute Doku, wenn wir etwas Neues lernen. Doch wie sieht es mit der Doku für unsere eigenen Projekte aus? Ist sie a) vorhanden und b) verständlich geschrieben?

Gut zu schreiben kann man lernen. Im Workshop verbessern wir “fertige” Texte in mehreren Schritten. Bring also gerne Deine vorhandenen Texte mit! Es muss auch nicht unbedingt eine Dokumentation sein, da die meisten Regeln für alle Arten von Text gelten. Für alle die noch keine Texte haben bringt Corinna Übungstexte mit.

Das Überarbeiten geht am besten mit einem Laptop. Alternativ kannst Du auf totem Baum mitmachen.

Die Teilnahme ist kostenlos, aber wir freuen uns über eine Spende. Wenn Du jetzt schon entschlossen bist, mitzumachen, kannst du dich gerne im Wiki anmelden.

Pythonfoo Crashkurs

Heute gab es in der wöchentlichen Veranstaltung Pythonfoo von Bison einen spontanen Crashkurs in der Programmiersprache Python. Den anwesenden Pythoninteressierten, wurden Grundlagen wie der Befehl Print, Variablen, Funktionen, IF-Bedingungen und Diverses mehr bis zur Schleifenprogrammierung näher gebracht. Da die Veranstaltung nicht angekündigt war, aber sehr gut angekommen ist, wird der Vortrag zum Pythonfoo am nächsten Donnerstag den 04.04.2013 wiederholt. Weitere Vorträge für den Einstieg in Python sind bereits in Vorbereitung. Alle die speziell in Python einsteigen möchten oder das erste mal eine Programmiersprache erlernen wollen sind herzlich eingeladen an dem Crashkurs Teil zu nehmen. Die offenen Gespräche vor und nach den Vorträgen und das gegenseitige Coachen führen zu schnelleren Erfolgserlebnissen als das einsame Studium @ HOME. Wie immer kann man währenddessen seine Nerven mit einer Clubmate stimmulieren, eigene Pythonprojekte mitbringen oder Vorstellen und die Netzwerkinfrastruktur unserer Clubräume kennenlernen.

 

Der Vortragscode steht in Github  zum Download zur Verfügung.

Lichtsteuerung

Im Chaosdorf ist seit zwei Wochen eine Lichtsteuerung fest installiert. Dieser Artikel soll zeigen, dass so etwas selbst zu bauen deutlich einfacher ist, als man sich anfangs vorstellt, und noch nichtmal nennenswerte Geldmengen benötigt.

Grundsätzlich gibt es nur drei Voraussetzungen:

  • Eine Möglichkeit, Ausgänge digital zu schalten
  • 230V-Relais vor den zu schaltenden Verbrauchern
  • Keine Angst vor Netzspannung

In unserem Fall sind diverse Raspberry Pies schon für andere Zwecke im Raum vorhanden, so dass wir einfach ein paar GPIO-Pins für Lichtsteuerungszwecke benutzen können. Wer keinen Raspberry Pi zur Hand hat, kann genau so gut eine r0ket, einen Arduino oder beliebiges anderes AVR- / ARM-Gefrickel benutzen. Solange man irgendwie Daten reinkippen und digitale Ausgänge rauskriegen kann, ist alles möglich.

Da ein Raspberry Pi nur 3.3V und sehr geringe Ströme schalten kann und keinen Schutz gegen Kurzschluss oder Überspannung besitzt, sind die GPIO-Pins nur mit Optokopplern verbunden. Diese sorgen für eine galvanische Trennung von der 12V-Schaltspannung, so dass Verdrahtungsfehler schlimmstenfalls ein paar Transistoren oder AVRs töten, und nicht die deutlich teureren Raspberry Pies.

In der ersten Version hat jeder GPIO-Pin genau einen Verbraucher gesteuert, d.h. jeder Pin führt zu einem Optokoppler, der seinerseits 12V und einen Transistor (bis 700mA Schaltstrom) kontrolliert. An diese 12V kann man dann entweder ein Relais oder direkt einen Kleinverbraucher (LEDs etc.) hängen. Die Schaltung ist extrem simpel und funktioniert entsprechend gut, hat aber den Nachteil, dass man die verfügbaren GPIO-Pins (Pro Gerät 12 Stück ohne Sonderfunktionen und 9 mit) irgendwann alle belegt hat, und nicht 30€ für einen weiteren Raspberry Pi ausgeben möchte, nur um 12 weitere Verbraucher zu schalten.

Der einfachste Ansatz, um mehr Verbraucher steuern zu können, ist ein Schieberegister — Es braucht 4 Dateneingänge und kann damit (da Schieberegister auch einen seriellen Ausgang haben und dadurch verkettbar sind) beliebig viele Ausgänge schalten. Alternativ nimmt man sich einen kleinen AVR (z.B. ATTiny2313) zur Hand und implementiert ein Schieberegister in Software, das nur noch zwei Eingänge (einmal Daten, einmal Takt, und eine spezielle Daten+Takt-Kombination um die eingegebenen Daten auf die Ausgänge zu übernehmen) braucht. Das Protokoll ist sehr an I2C angelehnt und sowohl im AVR als auch auf dem Raspberry Pi sehr leicht zu implementieren. Vorteil beider Varianten ist, dass man die Optokoppler schon vor dem Schieberegister anbringen kann, so dass man nur noch zwei bzw. vier Stück braucht. AVRs und Schieberegister sind dank DIP-Sockeln schnell austauschbar, falls mal etwas schiefgeht.

Mit einem dieser Ansätze hat man nun 12V, die meisten Lampen, Drucker und sonstige Geräte bevorzugen aber 230V. Was noch fehlt, ist also ein Kabel von der Schalthardware zum Verbraucher, und dort ein 230V-Relais mit ausreichender Schaltleistung. Falls das Relais auf eine geätzte Platine gelötet ist, ist dabei der Sicherheitsabstand zwischen einzelnen 230V-Leiterbahnen und v.a. auch zwischen 230V- und 12V-Bahnen zu beachten (5mm sind empfehlenswert), im Falle einer Loch- oder Streifenrasterplatine sollten unbedingt die Kupferflächen zwischen Leiterbahnen mit einem Messer abgeschabt werden. An die 12V-Seite kommt ein langes Kabel und parallel dazu eine Diode in Sperr-Richtung (um die Spannungsstöße, die die Relaisspule beim ausschalten produzieren kann, abzufangen), auf die 230V-Seite eine einfache Schraubklemme. Bei fest installierten Verbrauchern reicht es, die Phase zu schalten, Erde und Nullleiter können permanent verbunden sein. Die ganze Konstruktion kommt dann in eine Aufputz-Verteilerdose, wird irgendwo festgeschraubt und fertig.

Die Materialkosten halten sich erstaunlich gering:

  • 30€ für einen Raspberry Pi
  • Erste Version: <1€ pro Verbraucher für die Steuerschaltung (Platine, Optokoppler, Transistor, Anschlussklemme)
  • Mit Schieberegister: <6€ pro 12 Verbraucher (Platine, 2 Optokoppler, ATTiny2313, Transistoren, Widerstände, Anschlussklemmen)
  • Ca. 5€ pro Verbraucher für Kabel, Relais und Verteilerdose

Ein paar Fotos und Schaltpläne finden sich in der Gallerie, die Steuersoftware bekommt später einen eigenen Blogpost.

C++-User-Group Treffen im Chaosdorf am Mi, 20.03.2013

Am Mi. den 20. März trifft sich die C++ User-Group NRW und Interessierte zu einem Themenabend zu C++.

Der Talk wird ein einfaches Beispiel für einen simplen Allokator liefern, aber auch zeigen wie man einen Allokator für Shared Memory implementieren kann. Diesen Talk wird es in leicht anderer Form auch auf der ACCU geben!

Ab 19 Uhr beginnt das Treffen im Chaosdorf, der Talk beginnt dann um 20 Uhr.

Privacy is not a Crime. Freiheit stirbt mit Sicherheit. International Day for Privacy #IDP13

Für die Privatsphäre demonstriert

Heute fanden an vielen Orten auf der Welt Aktivitäten zum Internationalen Tag für die Privatsphäre statt. In Europa, Südamerika, USA und Australien gingen die Menschen auf die Straße, um auf ihr Recht auf Privatsphäre aufmerksam zu machen. Dem haben wir uns angeschlossen und eine Demonstration in Düsseldorf angemeldet.

Unserem Aufruf folgten etwa 60 Menschen aus unterschiedlichen Gruppierungen, die der Auftaktkundgebung lauschten und sich zu einem Demonstrationszug durch die Stadt aufmachten. In der Vorbereitung war uns nicht klar, wie viele Menschen auftauchen werden und wir hatten auf eine größere Gruppe gehofft. Angesichts der Dezentralität und der niedrigen Temperaturen verstehen wir jedoch die für Düsseldorfer Verhältnisse relativ kleine Gruppe, auch verglichen mit der Demonstration gegen Acta im vergangenen Sommer, die Tausende auf die Straße brachte.

Den Anfang machte ein Mitglied unseres Clubs, mit einer Erklärung zu unserer Motivation. Bei einem Zwischenstopp gab ein Vertreter der PARTEI eine Rede, am Ende sprachen drei Menschen ihre eigenen Ansichten zur Thematik vor der Gruppe aus. Außer den üblichen Guy-Fawkes-Masken waren Fahnen der Piratenpartei und FAU sichtbar. Der Nachmittag verlief ohne Zwischenfälle.

idp13_02

IDP13 – International Day for Privacy in Düsseldorf

DEMOFLYER IDP13

Anlässlich des IDP13 / “International Day for Privacy” findet am 23. Februar die “Privacy is not a crime” Demonstration statt.

Gemeinsam mit euch möchten wir ein Zeichen gegen die zunehmende Datensammelwut von Behörden und Unternehmen setzen. Entschieden lehnen wir das Überwachungsprojekt INDECT der europäischen Union, ebenso wie das Zensurvorhaben CleanIT ab. Mit einem lautstarken Protest zum Landtag wollen wir an die Unschuldsvermutung als “die bedeutendste Regelung des Rechtsstaatsprinzip” erinnern.

Treffpunkt ist am 23. Februar um 13:00 Uhr der HBF Düsseldorf / Friedrich- Ebert- Str. (DGB Haus)

Wir laden euch an diesem Tag alle herzlich ein, euch mit uns für Privatsphäre und Bürgerrechte und gegen Überwachung stark zu machen.

Dashboard Screenshot

Dashboard, Dashboard an der Wand

Ein datenreiches Monitoringsystem auf Basis von Pixelbildschirmen: Eine der schönen, greifbaren Ideen die uns seit Star Trek durch den Kopf geht. Mit einem Blick auf die Wand bekommt der Betrachter Auskunft über die aktuelle Situation. Also die Datenleitungen, Ressourcenverbrauch und alles, was wir zu Betreiben eines Hackspaces wissen wollen.

Dort sollten Informationen in Zahlenwerten und im zeitlichen Verlauf als Graphen angezeigt werden. Üblichwerweise handelt es sich hier um Informationen wie Auslastung der Rechner und Zugriffsstatistiken für Dienste. So lassen sich hiermit alle möglichen Informationen speichern; eben alles, was sich messen lässt. Wir schlagen hiermit die Brücke zwischen den beiden Trends “Big Data” und Automation.

Dashboard

Das können wir auch im Kleinen probieren. So haben wir erst einmal einen Dienst zum Sammeln der Daten aufgesetzt. Das Projekt Graphite ist eine Freie Software, die auf einem virtuellen Server im Chaosdorf läuft. Über ein simples Protokoll nimmt der – in Python realisierte – Dienst Messwerte an und speichert sie in einer speziellen Datenbank.

Dort werden die Messwerte chronologisch gespeichert und langfristig in immer gröberen Zeitschritten archiviert. Damit ist es möglich, sekundengenaue Auskunft über die vergangenen Tage zu erhalten und länger zurückliegende Daten in Minuten zusammenzufassen, um die Größe der Datenmenge zu begrenzen.

Graphite gibt die Daten in frei konfigurierbaren Graphen als Pixelgrafik (PNG) gerendert oder in maschinenlesbarer Form als JSON-Datei aus. Letzteres verwendet unsere Rauminstallation, die mittels der freien Web-Anwendung Team Dashboard realisiert wurde. Auch diese haben wir nicht selbst entwickelt, da wir uns gerade erst mit deren hochaktueller Technologie auseinandersetzen.

Team Dashboard bezieht die Daten und zeichnet Graphen direkt im Browser als Vektorgrafik (SVG). Dazu nutzt es einen HTML5-Canvas und die Bibliothek D3. Somit erscheinen die Graphen hochauflösend und sind auf dem Endgerät skalierbar. Da das Dashboard auf jedem Rechner im Chaosdorf angezeigt werden kann, sicherlich von Vorteil.

Zudem können ohne weitere Konfiguration am Server beliebig viele verschiedene Messreihen gespeichert werden. Von überall im lokalen Netzwerk werden Daten angenommen und gespeichert. Auf dem Dashboard können sie dann aufgearbeitet angezeigt werden. So entsteht kollaborativ eine Übersicht über die in den verschiedenen Projekten angefallenen Daten.

Derzeit werden folgende Informationen dargestellt – weitere Anzeigen sind geplant.

  • Internet-Traffic stromauf- und abwärts (Graph)
  • Anzahl der Endgeräte im Netzwerk (Zahl)
  • Uplink-Traffic unserer Freifunk-Node stromauf- und abwärts (Graph)
  • Anzahl der Freifunk-Nodes in der Düsseldorfer Community (Zahl)
  • Temperatur der Luft im Hackcenter (Graph/Zahl)
  • Öffnungs-Status der Chaosdoor, unserer Eingangstür (Graph/Zahl)
  • Verbleibende Überbrückungszeit der unterbrechungsfreien Stromversorgung (Graph)
  • Systemauslastung unseres Servers Hyperion (Graph)

DashPi

Die Rauminstallation besteht aus einem kleinen Rechner (Raspberry Pi), an den ein Bildschirm angeschlossen ist und der die Web-Anwendung darstellt. Dazu bootet er ein minimales Betriebssystem (Arch Linux) und startet ein Fenstersystem (awesome), auf dem im Vollbild der Web-Browser (luakit) angezeigt wird.

Der Rechner verfügt über eine GPIO-Stiftleiste, die programmierbar ist. An diese haben wir einen Temperatursensor per I2C-Protokoll angeschlossen. Dieser misst die Raumtemperatur mit einer Auflösung von 0,06 °C.

Die Daten werden sekündlich mit einem eigens entwickelten Werkzeug ausgelesen und übers Netzwerk übertragen. Auf dem Server empfängt StatsD die Daten per UDP und versieht sie mit einem Zeitstempel, bevor er sie alle zehn Sekunden gesammelt an Graphite weitergibt.

Daten per UDP ohne Zeitstempel übermitteln zu können, bedeutet für uns eine weitere Möglichkeit. Mikrokontroller mit minimaler Ausstattung können so Daten sammeln und verfügbar machen. Wir planen derzeit, den Temperatursensor neben anderen Sensoren auf einem eigenen Endgerät unterzubringen, das auf einer 8-Bit-Mikroarchitektur basiert.

Bis dahin sind wir noch damit beschäftigt, weitere sinnreiche Graphen zu spezifizieren. Dazu stellt Graphite Funktionen bereit, mit denen zeitliche Ableitungen, Skalierungen und andere Manipulationen möglich werden. Am Ende trauen wir eben keiner Satistik, die wir nicht selber gefälscht haben.