*Ächts* geschafft. Alle Inhalte, welche ich behalten möchte sind inzwischen auf meinem neuen Server angekommen und laufen irgendwie. OK, an vielen Ecken muss noch gefeilt werden: Das Monitoring verschickt gerne falsche Warn-SMS, die Backupfehler heute Morgen sind auch nicht gut für die Laune und wenn noch ein Kunde mit „Webseiten“ ankommt, welche nach 40 Sekunden Ladezeit abgewürgt werden und das als Fehler des Servers und nicht als Designfehler der Software darstellen werde ich keine Antworten mehr senden. Trotz der Ärgernisse läuft der neue Server zuverlässig genug, dass ich nun den nächsten Meilenstein abhaken kann: Die Kündigung meines alten Servers ist raus.
Archiv der Kategorie: Software
Alles was mit Software zu tun hat
MySQL-Defaults und die Praxis
Bild: http://adlersa.yotaweb.de/blog/wp-content/uploads/2009/02/mysql_queries-week.pngMySQL ist für kleine Anwendungen bereits seit langem der Datenbankstandard, dummerweise wird aus Zeitgründen häufig einfach nur das Setup aufs System gebügelt und auf jede unnötige Konfiguration verzichtet. Dabei kann gerade über den key_buffer und query-cache ohne großen Aufwand die Geschwindigkeit drastisch gesteigert werden. MySQL selbst bringt eine Konfiguration mit, welche darauf ausgelegt ist auf nahezu allen Systemen lauffähig zu sein. Gerade in Rechnern, welche über Arbeitsspeicher im Gigabytebereich verfügen, bleibt ein Großteil der Leistung ungenutzt. Als Beispiel hier die Werte einer größeren PHP-Applikation mit MySQL-Anbindung:
Default configuration:
Requests per second: 3.74
Time per request: 2672.198Basic optimization:
Requests per second: 6.85
Time per request: 1459.804
Wie man sieht können fast doppelt so viele Anfragen pro Sekunde abgearbeitet werden, die Ladezeit verkürzt sich entsprechend. Das ganze lediglich durch einige allgemeine Einstellungen, mit anwendungsspezifischer Optimierung an Datenbank und Webserver wäre bestimmt noch etwas mehr drin.
Music Industry Fail
Bild: http://adlersa.yotaweb.de/blog/wp-content/uploads/2009/02/bildschirmfoto-150×150.pngTja, dass die Musikindustrie bei Vertriebsmethoden häufiger ihre Unfähigkeit unter Beweis stellen ist nix neues, die Ideenlosigkeit bei der Kreation neuer Songs führte mir das momentan medial gehypte und imo misslungene Cover von Subway to Sallys „Eisblumen“ heute auch nochmal zu Augen und Ohren. Nun gesellt sich noch die technische Inkompetenz außerhalb der Silberscheiben hinzu – zu dem Bild kann ich nur eins sagen: RTFM…
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