Schlagwort-Archive: Software

Optimieren spart Zeit und Nerven – oder auch nicht

…denn einige der üblichen Linux-Optimierungen können schnell nach hinten los gehen: Den Anfang machte das Spiel Enemy Territory, welches ich mal wieder aus der Versenkung gefischt habe. Alles funktioniert prima, versucht man jedoch einem Spiel beizutreten landete man wieder auf dem Desktop – eine Datei würde fehlen. Hm – OK, auf den Spielordner unter /opt hat die Gruppe games, welcher der User auch angehört, die nötigen Rechte und auch die Datei findet sich dort. Sollte also funktionieren – eigentlich, denn ich habe nicht mit den Mods gerechnet. In meinem aktuellen Fall war „JayMod“ der Auslöser – diese Mod installiert eine neue Version der Datei ins Mod-Verzeichnis unterhalb von ~/.etwolf/ – nicht sehr passend, wenn man, wie in diversen Anleitungen empfohlen, sein /home auf einer eigenen Partition eingerichtet und mit der option noexec gemountet hat. Hier hilft dann nur ein remount mit exec oder das Umbiegen der ET-Verzeichnisse auf eine andere Partition.

Der zweite Fehler hat mich etwas länger auf Trab gehalten – mein Laptop dient nebenbei als Testgelände für kommende Gentoo-Pakete, daher ist hier ~x86 (aka testing) installiert. Soweit kein Problem, die meisten Probleme mit den Abhängigkeiten lösen sich recht schnell, aber seit einiger Zeit machen einige Pakete, welche revdep-rebuild eingebracht hat, größere Probleme. So brachen z.B. subversion, totem und avidemux wärend des Kompilierens ab – gcc verstand plötzlich seine eigenen include-files nicht mehr. Gcc neu kompiliert, mit gcc-profilen gespielt, aber das alles ist natürlich relativ zwecklos, wenn man am falschen Ort sucht. Die Meldung kam nicht von meinem Laptop, durch einen vorherigen Versuch war noch distcc aktiv und die 4.1er GCCs auf den anderen Rechner können mit den Dateien des 4.2er natürlich nicht viel anfangen.

OpenTTD 0.6.1_rc1

Juhu, juhu, die nächste Version von OpenTTD steht vor der Tür. Nachdem ich die 0.6.0er stable irgendwie verpennt habe ist nun der erste Releasekandidat für 0.6.1 verfügbar. Die neue Version bezieht sich hauptsächlich auf Bugfixes, 0.6.0 brachte folgende Funktionen:

  • newhouses
  • newindustries
  • signals and diagonal tracks under bridges
  • trams
  • autoslope
  • oneway roads
  • half tile slopes
  • drive through road stops
  • group management of vehicles
  • timetables

Passende ebuilds sind ebenfalls verfügbar – 0.6.0 ist im Bugzilla zu finden und dürfte bald auch über den offiziellen Portage-Tree verfügbar sein, etwas passendes für 0.6.1_rc1 findet sich in meiner kleinen Sammlung.

Update-Wahnsinn

Fast einen Monat nach erscheinen von WordPress 2.5 habe auch ich mir mal diese ominöse .zip-Datei gezogen. Wie vermutet keine gute Idee, bei einem solchen Versionssprung rächen sich die kleinen Modifikationen, welche sich über die Jahre angesammelt haben, sehr schnell. Vorallem die Gallery bereitete mir fast 2 Stunden Spaß – zware ist die aktuelle Version kompatibel, da ich allerdings Teile des Ausgabesystems angepasst hatte musste ich Diese entsprechend auf die neue übertragen. Auch andere Plugins streiken noch, auch, wenn das eher „hinter den Kullissen“ Probleme bereitet: Anklickbare Tags fand ich eigentlich recht praktisch und das Problem mit verschlüsselten Cookies (suhosin) beim Speichern haben die WordPress-Entwickler weiterhin auf ihrer ignore-list. (OK, laut einigen Quellen solls gefixt sein, aber ich seh hier die altbekannte Meldung bei Zwischenspeicherungen…)

Update

Manchmal hilft auch einfach RTFM… Plugin abgeschaltet und schon funktioniert auch das Zwischen speichern… An dieser stelle nochmal Danke an den Autor des Plugins, hat ’ne lange Zeit gute Dienste geleistet.

Bash-Gebastel – Subversion Repository Manager

OK, mit PHP kann man vom simplen Gästebuch bis hin zum Gerätetreiber einiges hin bekommen, aber für kleinere Tools möchte man nicht immer den PHP-Interpreter in den Arbeitsspeicher jagen. Praktisch, dass Bash & Co schon recht mächtige Werkzeuge mitbringen. Wenn dann ein Bekannter nach einer kleinen Verwaltungsoberfläche für Subversion-Repositorys schreibt kann man seinen Rechner ja mal als Testobjekt verwerten. OK, der Code ist vermutlich schrecklich, dürfte nur auf Gentoo laufen und auch sonst noch weit von einer Produktivversion entfernt sein, aber immerhin startet das ganze und löscht mir inziwschen auch nicht mehr die ganze Platte vor der Nase weg (gut, dass es Snapshots gibt). Wer was zum lachen brauch kann sich gerne den Code vornehmen: [HTML] [Download]

–Update–
Eine verbesserte Version, jedoch ohne Dialog, findet sich in der Gentoo-Wiki.

VR-Bank Kundennummernpoker

Ach ja, meine Bank kümmert sich schon um ihre Kunden… Da ja das PIN/TAN Verfahren so einfach unsicher ist muss das natürlich ersetzt werden. Zur Auswahl stehen TANs übers Handy oder ein Kartenleser aka „SmartTAN plus“. Da ich von Handy nicht viel halte liegt nun

8347

einer der 10EUR teuren Leser vor mir. Die Garantie wollte ich mit nicht direkt zerschießen, daher nur ein kleiner Einblick – 2 Knopfzellen versorgen das Gerät mit 6V, ein Plastekdeckel drückt die Chipkarte an Kontakte der Rückseite. Die Tasten lassen sich mit etwas Geduld sogar einzel drücken.

Im gleichen Zug wollte ich mir dann meine Banking-Software vornehmen. Bisher sorgte ein PHP-Script für den Transfer von Umsatzdaten in eine MySQL-DB und die anschließende Auswertung. Da das ganze aber nichtso ganz komfortabel und dank HTTP-Abgriff nicht sehr zuverlässig war musste jetzt auch mal etwas Neues her. Passenderweise gibt es eine neue Version von Hibiscus. Problem: Wie heißen die HBCI/FinTS-Daten?! Die URLs für HBCI-PinTan sind zwar bei allen Banken, welche am Rechenzentrum der GAD hängen, gleich, aber bei den Kundendaten hapert es dann irgendwie. Die einen Banken nutzen einen eigenen Username, andere X Stellen der Kontonummer, wieder andere hängen X Nullen davor etc. Immerhin konne nach 2 Warteschleifen die IT-Abteilung der Bank etwas Licht in die Sache bringen und mit die nötigen Datenstrukturen aufzeigen. Nun tuts auch die FinTS-Abfrage über SSL & Co. Immerhin ein Erfolg – Jetzt muss ich mich nurnoch irgendwie mit dem Rechenzwerg anfreunden.

Multimedia Zimmerkontrolle die Erste

Endlich etwas Zeit zum Basteln. Derzeit ist meine Zimmersteuerung wieder an der Reihe. Bereits seit längerem sind viele Geräte über meinen Homeserver steuerbar – und damit auch z.B. über Icons an meinen Workstations, Telefon (asterisk), ssh, Fernbedienung (lirc) etc. allerdings fehlte mir bisher die Multimediakomponente.

Da ich Fernbedienungen bei einer solchen Funktionsanzahl eher suboptimal finde musste ein 15“ TFT dran glauben. Ausgestattet mit Touchscreen und 1024er Auflösung sollte er als Bildschirm des Mediacenters brauchbare Ergebnisse liefern. Bleibt nur die Frage nach der Software.

Ursprünglich wollte ich mit LinuxMCE bzw. MythTV ansehen, aber beide entsprechen nicht dem, was ich suche. LinuxMCE setzt defaultmäßig eigene Netze voraus – eins LAN, eins Multimedia. Nicht ganz das, was ich vor hatte. MythTV legt großen wert auf TV, aber weitere Funktionen sind eher bescheiden. Scheint, als ob ich selber etwas basteln muss.

Bild: http://adlersa.yotaweb.de/blog/wp-content/uploads/2008/03/bildschirmfoto.thumbnail.pngDa sich meine Kenntnisse rund um OpenGL & Co in Grenzen halten habe ich sie simpelste Methode gewählt: Firefox im Fullscreen. Mit etwas HTML, einem PHP Backend und Tonnen von Javascript lässt sich bereits ein simples UI erahnen. Datum und Uhrzeit sind Pflicht, den Bereich mit den Temperaturen werde ich noch mit weiteren Wetterinfos bestücken, über die Einträge Licht und Sound lassen sich die wichtigsten Systeme per Klick bzw. Touch ein- und ausschalten. Diese aktualisieren sich auch dynamisch, sodass z.B. nach Betätigung eines Lichtschalters die Anzeige aktualisiert wird.

Problematischer wird es natürlich bei den Multimediainhalten – hier ist HTML eigentlich die total falsche Sprache. Für Audio habe ich es erst einmal bei Amarok belassen – diesen Player habe ich auch auf meinen Desktops. Sammlung und Playlists lassen sich durch Drag’n’Drop bzw. ziehen auf dem Touchscreen recht komfortabel bedienen, die zahlreichen Metainfos wie Cover, Liedtexte und Bandinfos sind auch ganz praktisch. Lediglich eine Bildschirmtastatur wäre hier zur Suche wünschenswert, etwas simples für diesen Job konnte ich aber noch nicht finden.

Bei Podcasts stehe ich noch ganz am Anfang – zwar würde Miro hier funktionieren, da aber deren Datenbankdesign alle externe Zugriffe nahezu unmöglich macht werde ich hier wohl auch selber etwas basteln müssen. (Zur Erklärung: Ich nutze Podcasts auf 3 Rechnern und 2 Mobilgeräten – macht wenig Sinn auf allen einzel runterzuladen und die „Gesehen“-Markierungen per Hand zu synchronisieren.)

Video stellte ich mir einfach vor, aber leider machte mir die Hardware hier Probleme. Um unnötigen Stromverbrauch zu sparen sollte mein Server den Monitor beliefern – der Server ist immer in Betrieb und hat mit 4x550MHz und 4GB RAM eigentlich genug Rechenleistung um die gängigen Codecs zu decodieren. Woran ich nicht dachte war die Grafikkarte – ein Chip aus den 90ern mit mit paar MB RAM ohne Overlay-Support – sowas findet sich onboard. Zwar wäre eine neue PCI-Karte noch drin, aber derzeit habe ich keine zur Hand. Wie sich die Hardware anhört, so ist auch das Bild: Auf der Maximalauflösung von 1024×768 brachte mplayer nicht viele Bilder auf den Bildschirm. Nach etwas gebastel laufen nun aber fast alle Videos mit 720x576er Auflösung ruckelfrei – Software-Skalierung machts möglich. Und mein 720p HDTV-Logo könnte ich mir damit wohl auch verdienen. Wie auch immer – für die DVDs reichts.

Fehlen noch Metadaten – also alle DVDs mit IDs versehen, Titel in eine MySQL-DB gesteckt und dann das IMDB-Script von MythTV missbraucht – schon gibt’s auch Cover, Regisseur und als Gimick entsprechende USK/whatever-Zeichen.

Wie ich das ganze ins GUI bastel weiß ich noch nicht – bisher beschränkt sich die Video-Sektion auf eine „Coverparade“.

Auf Streife(n): Spaß mit Barcodes und Artikelnummern

Kaum ein Artikel, auf dem er nicht prangt: Der Barcode. Meist handelt es sich hierbei um die sogenannte EAN – eine Weltweit nahezu eindeutige Artikelnummer. Eine Nummer allein ist natürlich nicht sehr wertvoll, aber hier hilft die Open EAN Database aus: Füttert man diese mit einer EAN, welche meist auch in Klartext unter den Barcodes abgedruckt ist, so zeigt sie den Hersteller und Artikel an. Derzeit befinden sich ca. 350 Artikel in der recht neuen Datenbank (OK, >50 von mir) und der Nutzen ist begrenzt – schließlich kennt man die gelieferten meist schon, aber in Kombination mit weiteren Datenbanken lässt sich so von der Preissuche bis zum heimischen Inventarsystem so einiges realisieren.

Bild: http://adlersa.yotaweb.de/gallery2/gallery2/d/8150-4/pict2288.jpg?g2_GALLERYSID=0bbb7627a5e1c4ce249ea29ad774b675Noch angenehmer wird es, wenn man einen passenden Barcodeleser zur Hand hat – oder sich einen bastelt. Aus alter Webcam, einer Lichtquelle und einer alten Glasplatte entsteht so innerhalb kürzester Zeit eine kleine Registrierkasse in jeder Bastlerbude. Die softwaretechnische Ebene erledigt unter Linux der Zebra barcode reader. Dank 15 FPS kommt die Software für eine so frühe Version ganz gut hinterher – limitierend ist hier eher das Schmieren meiner Billigkamera.

Ich werd dann mal weiter mein Inventarsystem (und gleichzeitig die Open EAN Database) füllen – dann hab ich wenigstens eine Ausrede für mein eigenwilliges Lagersystem 😉

Wer Routed so spät den ACK und PING? – Endian Firewall

Seit vielen Jahren werkelt in irgendeiner dunklen Ecke ein IPCop vor sich hin – leider nicht immer so, wie ich es wollte. Schon öfter zerlegten sich Logfiles, waren Updates nicht mehr als Download verfügbar und der Proxyserver hat Heute auch schon mehrere Abstürze hinter sich. Ein Ärgernis zeigt sich mir allerdings täglich: Fällt die DSL-Leitung aus schnellt die CPU-Last auf 100% und andere Dienste (DNS, DHCP) stellen den Dienst zum Teil, bis eine neue Verbindung hergestellt ist, ein.

Zeit für eine Neuinstallation – mein altes Sicherungsimage lässt sich ja nicht mehr Updaten. Vorher noch kurzer Blick auf die aktuellen Distris – stop. In eine der letzten Zeitungen aus dem Heise-Verlag findet sich doch tatsächlich ein IPCop-Fork! Endian Firewall nennt sich das ganze – eigentlich eine kommerzielle Appliance, aber auch eine Community-Version ist verfügbar. Im Gegensatz zu IPCop hat die Featurelist ordentlich zugelegt:Contentfilter, Antivirus, SPAM-Filter – Jede Menge für mich unnützes Zeug.

Erster Schock: Die Systemvoraussetzungen – 512MB RAM werden empfohlen. Da bin ich mit meinem 32MB-Steinchen wohl etwas dünn besetzt. Naja, meine Eratzteilkiste ist tief und da lässt sich bestimmt noch etwas optimieren…

Nach dem obligatorischem CD-Text-Bootscreen (syslinux?) landet man in einem dialog-Installer, der auf Wunsch sogar Deutsch spricht – zumindest Teilweise. Nach 2 JA/NEIN-Fragen läuft die Basisinstallation zu den Klängen von „H-Blockx – Ring of Fire“ von alleine. OK, ein Mix mit Pink Floyds „The Wall“ wäre wohl passender. Wie dem auch sei: Partitionierung, Kopiervorgänge, Bootloader – nichts muss (/kann) man konfigurieren. Einige Minuten später wird noch eine „Grüne“ IP (LAN) erfragt, und schon bootet das neue System – wenngleich deutlich langsamer als sein Vorgänger. Der 2.6er Kernel mit udev macht sich hier bemerkbar. 2 Minuten Später erscheint dann ein langsam steigender Prozentwert der gestarteten Dienste – 33 sind es nach der Installation. Es folgt ein Textmenü: Shell, Factory Defaults, Reboot. Scheint, als ob ich doch mal LAN anklemmen sollte….

DHCP scheint noch ein Fremdwort für das System zu sein. Der angeschleppte Rechner findet sich nicht automatisch zurecht. Mit etwas manueller Nachhilfe und einigen Zertifikatswarnungen präsentiert sich das deutscheWebinterface mit einem browserbasierten Installer. Sprach, Zeitzone, GPL abnicken, Passwörter ausdenken, dann gehts an die Schnittstellen. Mein PPPoE wird natürlich von Haus aus unterstützt. Auch die Netzzonen Orange (DMZ) und Blau (WLAN) wären möglich. Könnte für mich interessant werden, wenn ich z.B. nur für meine Eltern Virenfilter einschalten möchte. Erst mal reicht es aber, wenn ich Rot (WAN) und Grün den entsprechenden Karten zuordne und den 41-Stellige DSL-Username fehlerfrei abtippe. Congratulations!

Am folgenden Webinterface erkennt man deutlich die Abstammung. Viele Optionen sind mit IPCop identisch, das GUI sieht jedoch insgesamt moderner aus. Egal wie modern es auch ist: Ohne Abtippen aller alten Einstellungen geht es nicht weiter.

An einigen Stellen wurde leider funktionsmäßig abgespeckt: Bei statischen DHCP-Zuordnungen lässt sich kein Hostname festlegen, das Verhalten des DynDNS-Updates lässt sich nicht einstellen.

Inzwischen Routet die Kiste vor sich hin – morgen muss die Kiste dann den Härtetest bestehen.

Update

Durchgehalten hat die Kiste – wenn auch mit einigen Aussetzern. Der HTTP-Virenscanner scheint bei großen Dateien irgendwas falsch zu verstehen: Laut Einstellung soll er nur Dateien bis maximal 20MB scannen – in der Praxis starten größere Downloads, brachen bei 20MB jedoch ab. Hier werde ich wohl doch ein abgetrenntes, ungefiltertes Netz für mich basteln müssen.

Rückschritte beim Linux-Kernel?

Dass neue Versionen nicht immer so funktionieren, wie man es möchte ist ja nichts neues, aber der 2.6.23er Kernel hat dieses mal so richtig zugeschlagen: Die Umstellung der VESA-Framebuffer lässt bei mir nicht mehr als 640×480 Bildpunkte zu, die Zaptel ISDN-Treiber scheinen ebenfalls nicht mit der neuen Version zu harmonieren und für mich das Killerargument: Der ARK3116 USB-Converter-Treiber lässt bei jedem Zugriff alle meine Systeme abstürzen. Naja, der AKR-Treiber ist als experimental markiert und die Zaptel-Treiber sind nicht offiziell im Kernel aber zumindest zum VESA-Framebuffer hätte ich mir eine besere Doku gewünscht, denn in den Kernel-Sources scheinen immernoch die alten zu sein.