Archiv der Kategorie: Software

Alles was mit Software zu tun hat

Schei? encoding – MySQL vs. Charsets

Encoding ist ja schon was feines – und vorallem etwas, dass offenbar überall Probleme macht. Alleine um einen Überblick über den heutigen Tag zu geben:

Eventim begrüßt mich mit

Lieber eventim.de-Kunde,

Sie haben sich für den[….]

ein Telekom-Mitarbeiter verabschiedet sich als

J?rgen L[…]

(Ja, die Formatierung ist original aus der Outlook-Mail)

und im gerade eingetroffenen Chatlog sehe ich auch nur ü’s

Aber auch mich hats Heute erwischt: MySQL und Umlaute waren schon immer eine schlechte Idee. Beim Umzug auf den neuen Server wieder der alte K(r)ampf: Sonderzeichen die sich bemühen wirklich sonderbar zu sein. Egal welcher Exportcharset, egal welcher Importcharset – egal ob Konsole oder phpMyAdmin, sinnvolle Sonderzeichen waren der Datenbank nicht zu entlocken. Abhilfe schaffte die Software MySQLDumper, welche mir im SysCP-Chat empfohlen wurde. Dort die UTF8-Datenbank als latin1 exportieren und auf dem neuen Server das selbe File in phpMyAdmin als UTF8 importiert – logisch, oder? Da passt daer MySQL-Ikea-Vergleich der aktuellen Datenschleuder irgendwie…

1x Installieren, 2x Patchen

Sowas kenn ich sonst nur von Windows-Spielen, aber offenbar dienen die bein einigen Ebuilds als Vorbild. Erwischt hat mich avidemux in zugegeben etwas ungewöhnlicher Konstellation: Avidemux, ein Videoschnitttool, kommt normal mit GTK- oder QT4-Oberfläche, lässt sich aber auch ohne in einer CLI-Version bauen. Obwohl ein reiner CLI-Build also möglich ist besteht das Script des Avidemux-Projektes zwingend auf libX11. Das ebuild was eigentlich korrekt – mit „-qt4 -gtk“ wird libX11 nicht als Dependency gezogen, das erwähnte Script killt aber den build-Prozess. Inzwischen hab ich das ganze halbwegs zusammengeflickt – zugegeben: Es gibt schönere Methoden, aber fürs erste ist damit eine CLI-Version ohne X11-Installation möglich.

Nächster Volltreffer war mein Hardened-GCC. Dessen Linker beißt sich irgendwie mit avidemux. Hier kann man als Workarround für den Build per gcc-config auf den -vanilla GCC wechseln.

OK, genug gepacht für Gestern. Morgen wirds dann irgendwann nach der Herstellung eines Labyrinths aus Heizungsrohren im neuen Bad meiner Eltern an den neuen Servern weiter gehen. Ich möchte zumindest die derzeit abgeschalteten Dienste zeitnah auf dem neuen Server online bekommen. Hosting folgt dann in den nächsten Monaten wenn ich alles durchgetestet und sichergestellt habe, dass mein SMS-Monitoring sich nicht unbemerkt über eine Woche verabschiedet :/.

Self-DDOS

Dass ein infiziertes Windows-System schnell mal bei einen DDOS mithilft ist nichts neues, neu war mir, dass Wirdows bereits einen integrierten DDOS besitzt: WUA. Tja, Hunderte Rechner die nahezu gleichzeitig ein zu groß geratenes Windows-Update anfordern bringen in Kombination mit beschränkter Bandbreite einen WSUS schnell ins schwitzen…

PHPerversitäten

OK, es gibt anscheinend mehr PHP-Verrückte als ich angenommen hatte. Dass man IRC-Bots und Steuerungen in PHP bauen kann ist mir ja bekannt, auch PHP-GTK ist mir noch in Erinnerung.

Da mein Server gerade mit Kopieren beschäftigt war habe ich die Zeit genutzt und nochmal einen Blick auf alternative Mediacenter geworfen. Viel war nicht dabei – alles Funktioniert, aber nicht so wie ich will. Ein hat mir aber besonders gefallen: Das Menü von Elisa. Hmmm – sieht nach OpenGL aus, für PHP also eher nicht geeignet, oder?

Weit gefehlt: Obwohl ich es nicht erwartet hätte gibt es sowohl für OpenGL als auch für SDL(/ng) über Addons für PHP. Ich glaub, ich hab was zum spielen…

Audio over Ethernet in Aktion

So ein kaputter Kopfhöreranschluss kann auch was Positives haben: Da ich momentan nicht auf mein Soundsystem verzichten wollte kam mir Pulseaudio wieder in den Sinn. OK, mein Server kann mangels 3.3V-fähiger Soundkarte noch immer nur Stereo über USB ausgeben, aber trotzdem ein gutes Stück besser als ein Headset. Inzwischen kann ich auch wieder die Nachbarn nerven: Mein Laptop streamed per RTP die Daten direkt zum Server, der sich um die Ausgabe kümmert. Das ganze funktioniert besser als gedacht – keine Lags o.ä. und auch von den Qualitätsproblemen, die mich beim letzten PA-Versuch am Mediacenter quälten, ist nichts mehr zu sehn. Schön, schön.

Mediacenter Zwischenstand II

Ein Schritt weiter und zwei zurück – so ähnlich komme ich mir momentan bei meinem Mediacenter vor. Zum einen hat sich am Interface wieder was getan: Die Zimmersteuerung (Licht u.Ä.) lässt nun über eine virtuelle 3D-Ansicht des Zimmers kontrollieren, Videos haben dank Amazon noch bessere Cover und ein Feedreader im Iframe rückt immerhin ein paar Nachrichten raus. Systemmäßig läuft das Frontend auf einem alten Laptop – theoretisch. Zwar zeigen sich selbst hochauflösende Inhalte und DVDs nun ohne Ruckler, aber die Anbindung von Touchscreen und die Energieverwaltung mit TuxOnIce und Wake on LAN sind alles andere als zuverlässig – zudem erschweren Probleme mit Pulseaudio die Anbindung an mein Soundsystem. Sofern ich mir den neuen Server hole wird wohl dieser wieder dran glauben müssen.

Bei den Sensoren sieht es ähnlich aus: Zwar ist die Hardware für mein Rauch- und Temperaturmeldesystem am Bildschirm soweit fertig, aber irgendwie bekomme ich das Aufbügeln für die Prototyp-PCBs nicht mehr hin (hat Reichelt neues Papier?). Tja, leider sind Softwaresimulationen oder Steckboardgebastel nicht wirklich zuverlässig, daher siehts Softwaremäßig hier noch recht dünn aus.

Etwas besser sieht es bei den Planungen aus das Steuersystem auf meine zukünftige Wohnung auszudehnen – Hier ist die derzeit eingesetzte parallele Signalisierung zum Server natürlich fehl am Platz. Bei meinen Recherchen zum Thema Hausbus bin ich bereits vor längerem beim iSysBus gelandet, einem offenen Projekt, welches auf CAN basiert. Zwar ist die Seite nicht gerade aktuell, aber im IRC und auf dem SVN-Server wird fleißig gewerkelt: Die ersten Node-Prototypen wurden in den letzten Wochen gefertigt und werden momentan von den Aktiven auf µC und Interrupts geprüft. Wenn das ganze für mich aktuell wird hat der Bus recht gute Chancen: CAN ist weit verbreitet und sehr robust, also gut geeignet für eine solche Steuerung. Zudem verwendet iSysBus ebenfalls meine Lieblinge aus der AVR-Serie, was mir bei der Wartung sehr entgegen kommt.

btw: Woran merkt man, dass man sich schon an eine Haussteuerung gewöhnt hat? Wenn man im Büro bei Dämmerungsbeginn instinktiv mit der Maus auf die Stelle im Panel klickt, an der zu Hause der „Licht einschalten“-Button sitzt. Schade, es war dummerweise nur Firefox.

panic.c vs. GIMP

OK, dass die Datei panic.c aus /usr/src/linux meist nichts Gutes verheißt ist nichts neues, allerdings scheint diese doch noch eine übernatürliche Seite zu haben: Für ein Hintergrundbild habe ich den Inhalt in GIMP gehauen – so als dezentes „Text-overlay“. Was passiert? Immer wenn ich den Text einfüge hängt sich GIMP auf :o.

Edit: Es hing offenbar mit der verwendeten Schriftart zusammen. Wie immer zeigt sich: alles ist erklärbar, wenn auch erst später :p

Ebay macht sich unbeliebt – Teil 2

Man, man, man – was sitzen da für DAUs in der Ebay-Entwicklungsabteilung? Früher konnte man ja noch schon einkaufen: Man sucht sich die Artikel von verschiedenen Verkäufern zurecht und kauft ein – mit mehreren Tabs bleibt das auch übersichtlich. Und was muss ich jetzt Feststellen? Dank irgendwelchen Cookie/Javascript-Spielereien ist so ein Paralleleinkauf nicht mehr drin. Klickt man bei bei 2 Artikeln auf Kaufabwicklung kommt das ganze System durcheinander und verabschiedet sich mit diversen Fehlermeldungen. Na danke, nacheinander Abwickeln und ständig auf den Server warten ist ja auch so toll. Erinnert mich irgendwie an eine mir bekannte Softwareschmiede, welche den Anwendern ihrer browserbasierten Software empfielt mehrere Browser zu nutzen wenn man mehrere Instanzen nutzen möchte

Unbekannte USB-Geräte unter VMWare automatisch nutzen

Vor einiger Zeit hatte ich mal in meiner schlauen Kategorie einen kleinen Hinweis versteckt: Möchte man auf neueren Linux-Systeme ein Gerät ohne Linux-Treiber an eine VMWare anhängen quittiert diese mit einer Fehlermeldung – das USB-Gerät könnte nicht genutzt werden. Abhilfe schafft der erwähnte Befehl “ echo 1 > /sys/bus/usb/devices/*USB-ID*/bConfigurationValue“ – allerdings hilft dies immer nur kurzzeitig – wird das USB-Gerät entfernt oder der PC neu gestartet muss die Konfiguration beim nächsten mal neu gesetzt werden. Abhilfe schafft eine udev-Rule, welche unter Gentoo z.B. „/etc/udev/rules.d/06-VmwareUsbFix.rules“ heißen kann:

BUS="usb",
SYSFS{idProduct}=="bbbb",
SYSFS{idVendor}=="aaaa",
RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/device/bConfigurationValue'"

Die Werte für Vendor und Product lassen sich per lsusb ermitteln. Das ganze kann auch um Seriennummern o.Ä. erweitert werden, wenn die Zuordnung über die o.g. IDs nicht genau genug ist. btw: Mit entsprechenden Named Pipes & co kann man hiermit auch ein automatisches attachen an eine QEMU/KVM einrichten.

Cryptsetup im Benchmark

Mit Cryptsetup lässt sich unter Linux so einiges Verschlüsseln – Festplatten, Container, etc – transparent und angeblich sicher. Leider ist Sicherheit nicht billig – im Falle einer solchen Festplattenverschlüsselung zahlt man mit der sinkenden Geschwindigkeit des Speichersystems. Da ich mir eben ohnehin eine Partition zerschossen habe durfte die nun für einen kleinen Test herhalten. Die verwendete Hardware ist zwar nicht gerade auf dem aktuellstem Stand, aber ältere Rechner werden ja gerne mal als NAS o.Ä. zweckentfremdet.

Verwendete Systeme & Software:

  • Pentium III 4x550MHz (MMX,SSE), 4GB RAM
  • Kernel 2.6.22
  • Cryptsetup (LUKS) 1.0.5
  • 4xSATA 150 (250GB, 7200rpm)

Hier meine Werte:

/dev/md0: (RAID5, direkt)
 Timing buffered disk reads:  108 MB in  3.07 seconds =  35.16 MB/sec

/dev/mapper/storage-test: (LVM auf o.g. RAID)
 Timing buffered disk reads:  100 MB in  3.02 seconds =  33.16 MB/sec

AES-256
/dev/mapper/test:
 Timing buffered disk reads:   54 MB in  3.12 seconds =  17.31 MB/sec

AES-128
/dev/mapper/test:
 Timing buffered disk reads:   48 MB in  3.06 seconds =  15.69 MB/sec

TWOFISH-128
/dev/mapper/test:
 Timing buffered disk reads:   50 MB in  3.25 seconds =  15.39 MB/sec

TWOFISH-256
/dev/mapper/test:
 Timing buffered disk reads:   52 MB in  3.07 seconds =  16.93 MB/sec

AES-256 & MD5
/dev/mapper/test:
 Timing buffered disk reads:   56 MB in  3.10 seconds =  18.09 MB/sec