Lange nutze Ich schon mein kleines Helferskript produktiv, welches eigens definierte Suchanfragen an bestimmte Dienste auswertet und einen universell einsetzbaren RSS-Feed generiert. Das Python-Skript ermöglicht es, zu Internet-Diensten wie Twitter, Soundcloud, Ebay, Quoka, usw., Feeds aus eigenen Suchanfragen zu generieren. Diese wiederum können in einem sogenannten RSS-Reader lokal auf dem Rechner, im Web oder auf dem Smartphone gesammelt und gelesen werden. Das bedeutet konkret: Neue Tweets eines gewünschten Benutzers oder z.B. neue Beiträge einer bestimmten Sendung der ARDmediathek können an einer zentralen stelle gesammelt und gelesen werden.
So muss Ich mir nicht die mühe machen bei jedem einzelnen Dienst seperat und manuell nach Neuigkeiten zu suchen sondern werde quasi automatisch über Aktualisierungen informiert.

Das Python-Skript setzt neben zahlreicher Module vorallem das Web-Framework Bottle ein und lässt sich somit einfach auf dem Server oder auch lokal für eigene Zwecke betreiben (siehe Installations-Anweisung). Testweise kann aber auch die Installation auf unserem Server verwendet werden (siehe Beispiele). Die Anleitung gillt für ArchLinux-Systeme und deckt nicht alle Konfigurationsschritte im Detail ab. Vorkenntnisse darin und in der Verwendung von RSS-Feeds werden vorausgetzt.

Plugins

Einige der “Plugins” des RSS-Feed-Generators sind unvollsändig oder haben noch einige Fehler. Zudem sollte angemerkt werden, dass bei der Entwicklung keine Sicherheitsaspekte berücksichtigt wurden. Ich rate also eher davon ab, externen Zugriff auf das Skript zuzulassen.

twitter Generiert mit Angabe des Twitter-Benutzernamens einen RSS-Feed zur Twitter-Timeline
quoka Optionen: <suchort>/<suchbegriff>. Erstellt einen Feed zum übergebenen Suchbegriff und Suchort für das Kleinanzeigenportal Quoka
ebaykleinanzeigen Genau wie Quoka, ein Feed für Ebay Kleinanzeigen Suchanfragen
ardmediathek Feed mit Sendungen und direkten HQ Media-Enclosures zu den Video-Dateien. Möglichkeit, den Feed nach bestimmten Kriterien zu filtern.
artemediathek Sendungen mit Video-Dateien als RSS-Feed
soundcloud Timeline eines Soundcloud-Benutzers als RSS-Feed mit integrierten Media-Enclosure direkt zum MP3-Stream

Beispiele

Suchen nach einem Regal bei Ebay Kleinanzeigen in der Stadt Karlsruhe mit einem Mindestpreis von 10€ und maximal 3 Einträgen:
http://onny.project-insanity.org/feeds/ebaykleinanzeigen/karlsruhe/regal?minprice=10&maxentries=3
Suchen nach einem Klavier in Stuttgart mit einem Suchradius von 10km und einem Maximalpreis von 100€:
http://onny.project-insanity.org/feeds/ebaykleinanzeigen/karlsruhe/klavier?radius=10&maxprice=100
In der ARD-Mediathek die Sendung ZAPP mit der Sendungsnummer 3714742 raussuchen und nur Folgen aggregieren, die im Titel “ZAPP – Das” oder “ZAPP – Die” tragen (nur für Folgen in ganzer Länge):
http://onny.project-insanity.org/feeds/ardmediathek/3714742?filter=ZAPP%20-%20Das,ZAPP%20-%20Die
Tweets des Benutzers ioerror auf Twitter.com folgen:
http://onny.project-insanity.org/feeds/twitter/ioerror
Audio-Beiträge des Benutzers lorenzkalman auf Soundcloud.com folgen:
http://onny.project-insanity.org/feeds/soundcloud/lorenzkalman

Einrichten unter ArchLinux

Hier eine kleine Anleitung, wie man das Skript, welches die RSS-Feeds erstellen soll, auf seinem eigenen Server oder lokal einrichten kann. Folgende Programme, mehrere Python Module, ein Web-Server und ein Python-Interpreter (uwsgi-python) werden benötigt:
yaourt -S python-requests python-beautifulsoup4 python-pyrss2gen python-bottle python-feedparser python-requests-cache nginx uwsgi-plugin-python
git clone http://git.project-insanity.org/gitlab/onny/py-feeds-pub.git /var/www/feeds
chown -R http:http /var/www/feeds

Das Python-Skript befindet sich nun im Ordner /var/www/feeds/ und genau dieser Ordner wird nun in der UWSGI-Konfiguration angegeben, die zudem noch den Port festlegt, an den der Web-Server später seine anfragen weiterleiten kann.

Beispiel einer Nginx-Konfiguration (von dieser Anleitung abgeleitet). Der Web-Server reagiert hier auf Anfragen an die Domain localhost und speziell auf die Seite /feeds, welche wiederum an den UWSGI Python-Interpreter auf 127.0.0.1:9001 lokal weitergegeben werden.

Der Web-Server und UWSGI sollen automatisch gestartet werden und als System-Dienst im Hintergrund laufen:
systemctl enable uwsgi@feeds nginx
systemctl restart uwsgi@feeds nginx

Starten Dienste und das Skript fehlerfrei, sollte unter der URL http://localhost/feeds sich schon das Python-Skript zu Wort melden.

To be continued …

In der aktuellen Version von bottle 0.12 existiert noch ein Bug der Probleme mit Umlauten in der URL verursacht, deswegen liegt in der aktuellen Version noch eine gepatchte Version von bottle bei die bevorzugt vom Python-Skript verwendet wird.
In Zukunft würde Ich gerne noch Inhalte aus anderen Mediatheken aggregieren, wie z.B. die Arte- oder ZDF-Mediathek. Desweiteren ist das Plugin-System noch nicht so Modular wie es sein sollte.
Sobald es möglich ist bei OwnCloud Kalender zu abonnieren würde Ich auch an einem anderen Skript weiterarbeiten, dass iCal-Kalender-Feeds aus Seiten generiert, die Termine und Veranstaltungen anbieten, aber keine möglichkeit diese Informationen zu abonnieren.

Posted in Software/ Coding
p5rn7vb

Auf den jährlichen Musikfest meines Musikvereins haben wir einiges an Lichttechnik wie über 50 Spots, 2 DMX-Nebelmaschinen, ein DMX-Strobo und 2 Movingheads. Für letztere 3 Geräte hatten wir immer das kleinere 2x16Ch Mischpult genommen, auch deshalb haben wir die Movingheads nicht getrennt gesteuert, sondern zusammen über eine Adresse, ein MH war gespiegelt. Das hat mich von Anfang an gestört, dass ich sie nicht separat bewegen kann, auch wenn der Aufwand viel höher sein wird Szenen für beide MHs getrennt zu programmieren, deshalb suchte ich dann auch ein geeignete open source Programm.
Musikfest 2008
Ich entdeckte unter den zahlreichen kostenlosen DMX-Programmen die freie Software Q Light Controller+ welche auch auf Linux läuft. Ich baute mir als nächstes den USB-DMX-Adapter: µDMX nach, mit der kleinen Änderung, dass ich den DC-DC Wandler (DC1) in einen anderen Gehäuse (SIL4) bestellte, einen kleineren 5V-Spannungsregler (LP2950/TO92 statt LM7805/TO220) (IC2) und eine neuere Hardware-Revision vom Atmega8, den Atmega8A (IC3) nahm, um ein paar Cent zu sparen. Dank der eagle-Files von µDMX Mod2 ist das ja geringster Aufwand, wenn man die Platine sowieso selber herstellt.
Hier meine Version µDMX_Mod3: uDMX-Mod3_pcbudmx_mod3.brd
uDMX-Mod3_schudmx_mod3.sch

Das Gehäuse "SP 2002 SW" von Reichelt scheint mir etwas überdimensioniert zu sein.

Das Gehäuse “SP 2002 SW” von Reichelt scheint mir etwas überdimensioniert zu sein.

Die Firmware ist die gleiche wie vom Ursprungsprojekt: http://www.anyma.ch/research/udmx/, mit den folgenden Parametern für avrdude setzt man die Fuses des Atemga8(A):
avrdude ... -p m8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m

Für das erste Mal nahm ich mir also die 2 Moving Heads MiniMAC Profile vor. QLCplus hat dank einer großen Geräteliste schon ein Profil der MHs sowie ein Modul für den µDMX-Adapter. Das Programm ist einfach zu verstehen und zu bedienen. Wenn man dann in der virtuellen Konsole sich einige Buttons und Fader zusammengeklickt hat merkt man, dass mechanische Schieberegler doch auch ganz praktisch sind (wenn man kein Touchscreen hat). Leider habe ich auf die Schnelle noch nicht hinbekommen Kanäle vom Mischpult über ein MIDI-USB-Adapter einzubinden, müsste theoretisch aber gehen. Glücklicherweise konnte ich stattdessen ein super praktisches Fader-Panel (nanoKONTROL2 von KORG) ausleihen und konnte es ganz easy über USB (intern MIDI) anbinden, unter Linux ohne Treiber-Installation.

KORG - nanoKONTROL2

KORG – nanoKONTROL2

Die Tasten und Schieberegler kann man auch super einfach in der virtuellen Konsole zuordnen, in dem man sie für die automatische Erkennung kurz bewegt. Für Buttons sind auch Tastenkürzel möglich. Auch ein Joystick lässt sich mit den HID-Modul einfach einbinden, die MHs gehen aber wie der Joystick immer auf die Mittelposition zurück bei Loslassen. Um die Bewegung Relativ zu steuern muss noch ein Feature entwickelt werden.
qlcplus_first try MVS 2014
QLCplus wird derzeit stark weiterentwickelt, u. a. soll es mal eine 3D Visualisierung geben. :-)

Posted in Artwork, Hardware, Software/ Coding
2014-06-23-114304_1680x1050_scrot

Erst vor wenigen Tagen habe Ich Zugriff auf einen älteren aber doch recht mächtigen Gigabit-Router bekommen, der einen USB-Port besitzt und zudem vortrefflich mit DD-WRT läuft. Es handelt sich um einen TP-Link TL-WR1043ND, geflashed mit einer Snapshot-Firmware von Mai 2014. Die Software ist von Haus aus sehr umfangreich und bringt zahlreiche Module schon mit, unter anderem auch einen OpenVPN-Client!

OpenVPN einrichten

Damit wollte Ich natürlich gleich einen Anonymisierungs-Dienst einrichten, wie z.B. Ipredator, einen in Schweden von PirateBay-Leuten gegründeter VPN-Anbieter. Leider konnte Ich keine maßgeschneiderte Einrichtungsanleitung im Netz finden (die Ich aus Faulheitsgründen gerne bevorzuge :)) und habe mich drangemacht, zum größten Teil nur unter Verwendung der WebUI, den Client einzurichten.

Hier die Parameter, die im Web-Interface unter Services > VPN > OpenVPN Client einzutragen sind:

  • Start OpenVPN Client: Enable
    Advanced Options: Yes
    Tunnel UDP MSS-Fix: Enable
    Tunnel MTU setting: 1500
    NAT: Enable
    LZO Compression: Yes
    Hash Algorithm: SHA1
    Encryption: AES-256 CBC
    Tunnel Protocol: UDP
    Tunnel Device: TUN
    Port: 1194
    Server IP/Name: pw.openvpn.ipredator.se

Mit Save settings werden die Einstellungen gespeichert.
Die Zertifikate sollte man natürlich direkt von Ipredator beziehen/herunterladen. Die Authentifizierung bei Ipredator läuft über Benutzername und Passwort ab und diese Login-Informationen müssen am besten beim Start des Routers in eine Text-Datei geschrieben werden, damit OpenVPN diese dann lesen kann.

Ich lasse der Einfachheit halber das ganze in Plain-Text beim starten des Routers speichern. Dazu muss folgender Befehl im Web-Interface unter Administration > Commands > Startup eingetragen und BENUTZERNAME und PASSWORT mit den Ipredator-Zugangsdaten ersetzt werden:

Nach einem Neustart sollte der ganze Internetverkehr über Ipredator getunnelt sein :)

Gast-Zugang einrichten

Jetzt, wo Datenverkehr nicht mehr direkt über den eigenen Anschluss geht, kann man z.B. auch bedenkenlos ein unverschlüsselten Gast-Zugang einrichten. Dieser Teil ist schon gut dokumentiert, weshalb Ich auf diese Anleitung verweise.

Posted in OpenWRT, Software/ Coding

Wer gerne bei seinem Android-Handy von Google unabhängig sein möchte und dezentrale opensource Cloud-Dienste wie OwnCloud verwenden möchte, um Kontakte, Termine und ToDo-Listen zu synchronisieren, braucht nur zwei zusätzliche Apps: DavDroid und Mirakel. Beide sind auch opensource, ziemlich mächtig und werden aktiv weiterentwickelt.

Voraussetzung

Voraussetzung ist ein Account auf einer OwnCloud-Insantz, mit dem man seine Daten übers Internet synchronisieren möchte.

Vorbereitung

Falls die OwnCloud-Instanz selbst-signierte SSL-Zertifikate verwendet, muss man diese erstmal im System eintragen. Beschrieben ist das ganz gut hier. Unter Einstellungen -> Sicherheit -> Zertifikat von SD-Karte installieren anklicken und das heruntergeladenes Zertifikat auswählen. Es kann ein beliebiger Name für den Import ausgewählt werden (z.B. pi owncloud).

Einrichtung

DavDroid ist jenes App, dass unter anderem CalDav- und CardDav-Datensätze von einem Server synchronisieren kann. In der letzten “stabilen” Version v0.5.12-alpha, werden Kontakte und Termine bei mir schon länger problemlos synchronisiert. DavDroid ignoriert in dieser Version aber die von OwnCloud angelegten ToDo-Listen, die quasi auch im Kalender als sogenannte VTODO-Element angelegt werden. Eine gepatchte DavDroid-Version des Mirakel-Projektes synchronisiert diese aber mit! Funktioniert hat bei mir die Version 0.5.10.2-alpha-mirakel (2014-03-26, sha1sum: eb82550d79a2c8a4120227c63d548f2c22633480).
Nachdem man DavDroid installiert und gestartet hat, muss man jeweils für Kontakte und Termine ein DavDroid-Konto anlegen, dass aus einer URL zur OwnCloud-Api, Benutzername und Passwort besteht. Für Kalender / ToDo (caldav) lautet die URL:

Für Kontakte:

Auf der nächsten Seite des Einrichtungsassistenten wählt man die Adressbücher oder Kalender aus, die man synchronisieren möchte. Nach dem Anlegen des Accounts, kann man in dessen Konfiguration überprüfen, wann eine zuletzt erfolgreiche Synchronisierung durchgeführt wurde.


Ein echt schickes ToDo-App ist Mirakel, bei dem es auch eine Beta gibt, die VTODO-Kalendereinträge darstellen kann: 2.4.0-beta4.1 (2014-04-13, sha1sum: 54a8e182580011a8da5aff008342b24b058b642e).
Noch ein kleiner Hinweis am Ende. OwnCloud hat von Haus aus ein ToDo-App, dass prinzipiell funktioniert, aber kein schönes Interface hat. Jedoch gibt es eine Erweiterung namens Task 2 oder Task Enhanced, die noch in der frühen Entwicklungsphase steckt, aber eine viel übersichtlichere Oberfläche bietet.

Update (Juni 2014)

Inzwischen ist die stabile Version von Mirakel mit VCard-Unterstützung ausgestattet. Bei davdroid-mirakel bietet es sich aktuell noch an, die Git-Version mit gradle “zu builden”. Task 2 wird in kommenden OwnCloud-Versionen (voraussichtlich Version 7) das original Task-App ersetzten, leider ist dort die Entwicklung ein wenig eingeschlagen und zumindest bei meiner Installation gibt es noch einige Fehler.

Posted in Android, Software/ Coding

Bartisch mal anders

By 1

Hallo,

Kennt ihr noch diese Bassrollen für das Auto? Ich brauche den Platz im Auto für sinnvollere Sachen aber wohin mit der Car Tube? Richtig, in den Bandraum/Freizeitraum. Aber nicht nur hinters Sofa und gut is.

Aus Rahmenschenkel habe ich in 15cm Höhe eine Ausschartung von 30mm gesägt und an der unteren wie an der oberen Seite jeweils 4 bzw. 3 dieser Rahmenschenkel festgeschraubt. Unten dienen diese als Füße, deswegen auch unten Vier. Ist standhafter. Dann noch eine Multiplexplatte mit der Bandsäge, Oberfräse und Schleifpapier bearbeitet und oben exakt fest geschraubt.

See the pictures:

Unbenannt1

Unbenannt345

Unbenannt3

Unbenannt4

So jetzt nurnoch das Chinch out vom hifi-Verstärker an eine Autoendstufe und diese mit einem 12v PC-Netzteil betreiben. Fett Bass im Bandraum und dabei sein Cocktail schlürfen!

Greetz

Posted in Uncategorized