Beiträge getagged mit Python

CCC: 26c3 / Bluvert

Den zweiten Tag des CCCs in Berlin habe ich gemeinsam mit Flo besucht. Leider war das komplette BCC restlos überfüllt und man konnte nur schwerlich in den einzelnen Vortragsräumen einen Sitzplatz ergattern. Ich hatte den Eindruck, dass die gesamte Organisation hinter der Veranstaltung mehr als chaotisch ablief. Besonders nervig: das WLAN war – wenn es denn mal erreichbar war – mehr als inperformant.

Ich nutzte deshalb den Montag Abend und brachte Bluvert auf einen aktuellen Stand. Die Änderungen für Version 1.2 werde ich im Laufe der nächsten Tage auf sourceforge.net hochladen:

  • In der config.ini lässt sich nun $cwd als Variable für das aktuelle Arbeitsverzeichnisses verwenden. Damit entfallen einige kleinere Probleme.
  • Es muss nur noch einmalig execute-server.py gestartet werden. Das Script arbeitet nun als funktionierender Daemon.
  • Das Scanning der Geräte innerhalb der Bluetooth-Nachbarschaft geschieht nun ebenfalls über execute-server.py. Es besteht nicht mehr die Notwendigkeit, das Script set-active-bluetooth-devices.sh als Cron-Job auszuführen.
  • Versenden der noch nicht versendeten Nachrichten geschieht nun ebenfalls über einzelne Threads, was sich erheblich auf die Performance auswirkt.
  • Zeitintervall des Scannens nach neuen Geräten und Versenden der Nachrichten lässt sich in der config.ini frei definieren.
  • Script zum Scannen der aktiven Bluetooth-Geräte lässt sich in der config.ini frei definieren.

, , , ,

Keine Kommentare

Rautiges 2009-06-20

  • Die letzte Woche war davon geprägt, dass ich mich auf die Präsenzklausur von MLG vorbereitet habe. Nach einer Zusammenfassung von 100 Seiten bin ich gestern mit Marc um halb 11 nach Witten losgefahren, Klausurbeginn war um 15.30 Uhr. Wir waren aber bereits um 13.30 Uhr in Witten angekommen und bereiteten uns mental auf die bevorstehende Klausur vor.
    Die Themen der Prüfung waren

    • Bestimmen von Elementen dreier Mengen, die miteinander über Konjunktion, Disjunktion und Komplementär verknüpft worden sind. Die Aufgabe war relativ leicht. Allerdings bin ich mir nicht sicher, ob ich die Beschreibung, welche Elemente in der Wertemenge vorhanden sind, korrekt dargestellt habe.
      In der zweiten Teilaufgabe sollte die Verknüpfung eines Venn-Diagramms niedergeschrieben werden. War eine Sache von 30 Sekunden.
    • Der zweite Aufgabenblock behandelte Boolesche Operatoren: einmal sollte eine Verknüpfung nur mit Disjunktion, Konjunktion und Negation dargestellt werden; bei der zweiten ging es um einen Beweis. Die Aufgabe sollte ich korrekt gelöst haben.
    • In Aufgabenblock Nr. drei ging um vollständige Induktion. Hab mich da leider irgendwo verrechnet und somit fehlten mir am Ende 3n²:)
    • Im vierten Themenbereich konnte zwischen Äquivalenzrelationen und mehrstelligen Operatoren gewählt werden. Ich hab mich für ÄRs entschieden und sollte den Part auch größtenteils korrekt haben.
    • Im letzten Block konnte man sich für eine Aufgabe zu Graphen oder Boolesche Netze entscheiden. Ich habe ganz klar die BNs gewählt, da die Schreibarbeit in 5 Minuten erledigt war.

    Alles in allem waren die Aufgaben sehr fair gestellt und konnten in der vorgegebenen Zeit gelöst werden. Ich war 10 Minuten vor Schluss fertig (hatte keinen Nerv mehr, den Fehler in meiner Induktion zu suchen). Nach dem Kurs muss ich an dieser Stelle auch mal sagen, dass sich zuständige Prof meine Fragen sehr schnell beantwortet und auch die Aufgaben fix korrigiert hat. Lob!

  • Nachdem wir dann aus Witten wieder in Wolfsburg angekommen waren (so gegen 21 Uhr), legte ich mich für eine Stunde schlafen und machte mich dann für den THG Abiball fertig. War eine lustige Partie bis um halb drei Uhr morgens.
  • Während der letzten Woche habe als Ausgleich zur Vorbereitung von MLG zwei Scripts in Python programmiert:
    • Einmal ein Kommandozeilentool, dass über die Parameter einen RSS-Feed erzeugt. Klingt unspektakulär – ist es aber nicht. Hintergrund ist der, dass man mit diesem Tool z.B. automatisiert RSS-Einträge erstellen kann. Beispielsweise kann ein CRON-Job jede Stunde das syslog in den RSS-Feed schieben.
    • Das zweite Tool ist ein Frontend für pyinotify, was wiederum eine Python-Implementierung für inotify ist. Über eine Konfigurationsdatei lassen sich beliebig viele Hooks auf Verzeichnisse oder Dateien definieren, bei deren Aktivierung über die inotify-spezifischen Events beliebige Aktionen ausgeführt werden können.
      Das Frontend bietet die Option, dass die doppelte Ausführung eines Scripts verhindert wird. Beispielsweise wird auf den Ordner /media/mp3 ein Hook gelegt, der beim Erstellen einer neuen Datei automatisch ein Backup des Ordners erstellt. Wird eine Datei kopiert, ist alles schön: Nach Ende des Vorgangs wird das Backup erstellt. Werden nun zwei Dateien kopiert, sieht die Sache schon anders um: Das Backup-Script wird zweimal ausgeführt, da das Script bei JEDEM kopierten Element ausgeführt wird. Bei mehr als zwei Kopieraktionen werden die übrigen Aktionen verworfen, so dass das Backupscript so selten wie möglich aufgerufen wird.

, , , ,

1 Kommentar

Rautiges 2009-06-07

  • In der letzten Woche habe ich den Adobe AIR Twitter-Client “Spaz” so aufgemöbelt, dass ich damit meine Twicker-Ergebnisse direkt übermitteln kann. Die Sourcen dazu habe ich Funkatron, dem Maintainer von Spaz, zukommen lassen. Damit lässt sich recht einfach demonstrieren, wie sich der Twitter-Client erweitern lässt. Hat bis dato wohl noch keiner gemacht. Vielleicht werde ich in der nächsten Woche noch ein kleines Tutorial dazu schreiben.
  • Mittwoch habe ich im BibaBlog die ganzen alten Artikel überflogen und den vorhandenen Quellcode vernünftig formatiert. Durch verschiedene Syntax-Highlighting-Plugins gab es gewisse Divergenzen in der Darstellung ;) Außerdem werden die youtube-Videos wieder korrekt dargestellt.
  • Florian hat im Rahmen eines kleines Projekts ein Installationsscript für EFA (Elektronisches Fahrtenbuch für Ruderer) gebaut. Damit wird – ausgehend von einem Ubuntu-Alternate-Install – ein System aufgesetzt, das nur die nötigsten Tools enthält. Besonders cool dabei: Flo hat ein Script geschrieben, dass per udev automatisch erkennt, ob ein USB-Stick angesteckt wurde und wenn dem so ist, wird die Datenbank von EFA über eine Python-GUI gesichert. Lob und Anerkennung, cooles Projekt!
  • Freitag waren die Jungs und ich in Termintor 4. Der Film war an sich ganz cool, auch wenn es einige logische Unstimmigkeiten gab ;) Die visuellen Effekte waren aber top. Danach machten wir einen kurzen Abstecher im Sausalitos und nisteten uns dann auf der Geburtstagsfeier von Maike ein.
  • Samstag habe ich die Onlineklausur für Mathematisch-logische Grundlagen abgelegt. Die ersten 5 Minuten war ich etwas neben der Spur, konnte mich dann aber fangen und die Aufgaben relativ gut abarbeiten. Als Themen kamen vor: Bestimmung einer Gruppe/Abelsche Gruppe; Beweis des Absorptionsgesetz von Junktoren anhand Wahrheitstabelle (das war easy, ich hoffe, ich hab die Frage auch richtig verstanden :-) ); Bestimmen der Endmenge von Mengenoperationen; Entscheiden, ob eine Funktion surjektiv, injektiv oder total ist; Induktiver Beweis einer Formel. An dieser Stelle möchte ich mich noch einmal bei Timo bedanken, der mich in den letzten Wochen tatkräftig bei LaTeX- und Mathe-Fragen unterstützte.
  • Die letzten Tage über habe ich an zwei Songtexten für die Band gearbeitet. Einer der beiden Texte ist bereits fertig, der andere geht dem Ende entgegen. Bei einer der nächsten Bandproben wird es der Öffentlichkeit präsentiert.

, , , , , , , ,

1 Kommentar