Select Page

NETWAYS Blog

Windows 7 – Alte Programme im XP-Mode

Firmen wie Privatmenschen schleppen oft über über Jahre Software mit sich herum, die – komme was wolle – weiterverwendet werden muss, aber auf aktuellen Systemen diverse Kniffe erfordert, um zu laufen. So erst kürzlich bei mir geschehen, nachdem mein Vater einen PC mit Windows 7 64bit erworben hatte.
Nicht-wirklich-Kompatibilitätsmodus
Da sich Windows 7 trotz Kompatibilitätsmodus standhaft dagegen stäubte, die alten Anwendungen auszuführen, fahndete ich nach alternativen Möglichkeiten. Letztlich landete ich ich beim mir bis dahin nicht bekannten XP-Modus unter Windows Virtual PC. Beides kann man bei Microsoft herunterladen und bekommt eine Lizenz inklusive.
Beachten sollte man den nicht allzu geringen Ressourcenverbrauch bzw. die Hardware-Anforderungen, etwa muss Hardware-gestützte Virtualisierung unterstützt werden. In meinem Fall genügt glücklicher Weise die eine Lizenz und die Leistung des 08/15-PCs ist für die Bedürfnisse meines Vaters mehr als reichlich bemessen.
Installation
Man installiere beides wie auf der Website angegeben, starte den Windows XP Modus, lege einen Benutzer mit Kennwort an und konfiguriere das System, etwa Computername, Arbeitsgruppe beziehungsweise Domäne. Zu guter letzt dort noch die problembehaftete Anwendung installieren, fertig.
Zugriff auf Windows 7-Ordner
Der Virtual PC nutzt seine eigene Verzeichnisstruktur, legt also Dateien lediglich in Unterordnern des VM-Images ab. Damit man nicht anschließend unter Windows 7 nach Dateien wühlen muss, bietet es sich an, benötigte Laufwerke/Ordner unter Windows 7 freizugeben und anschließend unter XP als Netzlaufwerk einzubinden, etwa per „Ausführen“ (Windows-Taste+R)->“cmd“->“net use z: \\windows7pc\c\“.
Nahtlos-Modus
Eine weitere Hürde war die an den PC gebundene Lizenz eines der Programme, dass sich trotz Änderung der Mac-Adresse und anderer Tricks nicht dazu überreden ließ, auf der VM als legale Version zu werkeln. Sich für ein Programm extra bei Windows XP anzumelden und immer wieder zwischen Windows 7 und XP hin- und herzuschalten, ist nicht praktikabel. Daher bietet sich der Seamless-Mode für die Problem-Anwendung an. Diese hatte ich bereits unter XP installiert. Nun fährt man XP einfach in den Bereitschaftsmodus und wählt im Windows 7-Startmenü die Anwendung, die mittlerweile dort aufgetaucht sein sollte. Diese lässt sich nun als „Virtuelle Anwendung“ ausführen, lediglich zu erkennen an dem Programmfenster in XP-Optik und einer geringfügig längeren Ladezeit.
Hintergrund – Der ewige K(r)ampf
Mitte der 90er, als ich meine Füße noch unter den Tisch meines Vaters ausdünstete, war der Preis für Kost und Logis unter anderem, den heimischen Admin zu mimen. Von jeher waren die parental gestellten Anforderungen an Soft- und Hardware weniger logischer Natur, sondern entsprangen dem täglichen Umfeld („Der Nachbar hat so einen Schneider CPC – wir brauchen auch einen …“) beziehungsweise waren durch Erfahrungen geprägt („Ich hab im Büro einen PC. Da läuft Dos/Windows/Office […] drauf. Außerdem hat der Nachbar jetzt auch einen. Also kaufen wir auch einen.“). Dazu gesellte sich recht spezielle Software, bedingt durch ein nicht allzu häufiges Hobby.
Andere Leute sammeln Briefmarken, mein Vater dagegen hat sich der Aerodynamik verschrieben. Was er früher mithilfe von Zeichenbrett, Taschenrechner und Holzschablonen, später vermittelst Amstrad CPC und Nadeldrucker und schließlich PCs mit CAD-Software und Tintenstrahlern realisierte, ist längst bei Mehrkernprozessoren, CNC-Fräsen und Kohlefaser-Kevlar-Konstrukten angelangt.
Doch egal, welche Plattform, solange ich denken kann erwiesen sich (und erweisen sich noch heute) die eingesetzten Programme als besondere Herausforderung – und begründeten damit wohl unter anderem meine bis heute andauernde Aversion gegen Fortran. Kein Wunder, denn die doch recht spezielle und in geringen Stückzahlen verbreitete Software erfährt lediglich alle Jubeljahre mal etwas an Pflege, und da die Lizenzen zudem eine nicht unerhebliche Investition darstellen, waren diverse Upgrades undenkbar.
Ehemalige Versuche
Prinzipiell konnte Windows NT alles nötige ausführen. Aber aufgrund von diversen Unzulänglichkeiten des Betriebssystems verursachte die Nutzung durch meinen alten Herrn auf Dauer einen nicht tragbaren Verwaltungsaufwand („Mein Computer läuft schon wieder nicht mehr“ – „Was hast du denn gemacht?“ – „ Nur die Auflösung geändert.“ – „Ohne Neustart? Ok, ich installier’ es komplett neu …“)
Letztlich kam ich auf den Trichter, ein Dual-Boot-System mit OS/2 und Windows 95 einzurichten. Auf ersterem liefen seine Programme lange Zeit wunderbar und falls sich doch mal eines verabschiedete, konnte man es einfach so beenden.
Erst mit erscheinen von Windows XP schien die Geschichte ein Ende zu nehmen. Das war ziemlich bedienungsfreundlich und was die Kompatibilität betrifft – nun, eigentlich lag es nur zum Teil an XP: inzwischen gab es aber schlichtweg bessere Versionen der Problem-Programme.

Eine Ode an Rockbox (wenn nicht freie Software an sich)

Eigentlich war meine erste Intention, den Artikel „Ode an meinen IPod“ zu betiteln. Das wäre aber irreführend. Denn weder zähle ich mich zu den „Apple-ist-toll“-Jüngern. Noch hätte ich mir j e m a l s einen IPod angetan, wäre da nicht Rockbox gewesen.
Rockbox – ein alternatives Betriebssystem für viele gängige MP3-Player, das deren Funktionsumfang erweitert, diverse Hürden abbaut und mannigfaltige Anpassungsmöglichkeiten bietet. Erst dadurch wurde aus meinem kleinen, weißen Apple-Kästchen ein „echter“ Musikplayer, ein (fast) ständiger Begleiter, den ich seit Jahren gerne nutze – kurz, der mir geradezu ans Herz gewachsen ist. Eine Gefühlsregung übrigens, die mir generell bei technischen Geräten übertrieben scheint und andernfalls vollkommen abgeht 😉
Die (Hersteller-)Geisel der Menschheit
Hätte ich das Modell im Originalzustand benutzt, die diversen durch die Hersteller-Firmware aufgebürdeten „Eigenheiten“ hätten es für mich zu einem echten Ärgernis und in vielen Bereichen stark eingeschränkt bis gar nicht brauchbar gemacht. Etwa als mobiler Datenspeicher, trotz der 80 GB Kapazität. Oder zum Musikhören am Arbeitsplatz. Schließlich war für gewöhnlich erst eine Treiber- sowie ITunes-Installation zum Betrieb nötig. Und selbst damit konnte man Musikdateien zwar aufspielen, diese wurden jedoch auf der Platte in kryptische Buchstabenkürzel umbenannt. Was insofern egal war, als dass einem ohnehin der direkte Zugriff auf die Festplatte verwehrt war.
Und selbst nach einigen Firmware-Updates wurden die Abstürze nicht weniger, die Software kaum besser …
Gestaltswandel: Mr. Hide zu Dr. Jekyll
Rockbox dagegen nutzt die vorhandenen Möglichkeiten der Hardware aus. Damit fallen nicht nur oben genannte Hürden weg. Das Modell unterstützt mehr Dateiformate, lässt sich per vollparametrischem Equalizer, Kompressor etc. klanglich beeinflussen, mit Themes optisch und bedientechnisch individualisieren und wartete mit Funktionen auf, die nur bei Konkurrenz-, Nachfolgemodellen oder gar nicht zu finden sind. Spiele etwa, darunter einfache Karten- Denk- und Geschicklichkeitsspiele – und sogar die alte Ballerorgie Doom. Diverse Anwendungen, die das Gerät zum Taschenrechner oder -lampe umfunktionieren, Bilder anzeigen, Text vorlesen. Dank letzterem klappt die Bedienung auch blind (etwa, ohne den Player aus der Tasche nehmen zu müssen).
Nicht, dass man wirklich a l l diese Sachen bräuchte. Aber vieles ist sinnvoll und praktisch. Und man könnte, wenn man denn wollte …
Noch lange kein Alteisen
Und so kommt es, dass heute mein IPod Video zwar technisch rückständig (dick, schwer, ohne hochauflösendes Touch-Display) ist, ich aber nach wie vor damit voll zufrieden bin. Sollte jemals der Akku (der hat natürlich nachgelassen) oder die Festplatte (toi, toi, toi) den Geist aufgeben, so erwäge ich ernsthaft deren Austausch (ob ich da vielleicht ne SSD reinbasteln könnte?). Sorry, Apple. Aber da wird wohl nicht so bald wieder Geld fließen.
Kurz: Rockbox ist für mich ein kongeniales Stück Open-Source-Software, in das viele Leute (Frei-)Zeit und Mühe investiert haben. Dafür hiermit vielen Dank!

Windows 8 – große Gesten

Wer in jüngster Zeit unter den üblichen IT-News die ein oder andere Windows 8-Meldung aufgeschnappt hat, dem dürfte eines nicht entgangen sein: Die (im Vorfeld beschworene) Erkenntnis jener Mutigen, die die Developer-Preview von Windows 8 auf ihrem Desktop-Rechner ausprobierten, dass es dort mit der Touch-Oberfläche Metro fehl am Platz ist. Jedenfalls, sofern man nicht zu den (grob geschätzt ;)) fünf Leuten gehört, mit einem Multi-Touch-Monitor auf dem Schreibtisch. Und selbst dann kann ich mir nur wenige Szenarien vorstellen, in denen Maus/Tastatur-Eingaben nicht schneller und bequemer vonstatten gingen.
Etwas mehr Verständnis, bitte!
Diese Tatsache, gestützt von erneuten Phantastereien um die Integration der Kinect-Technologie (d.h. Steuerung per Körperbewegungen, bislang auf der Xbox 360 vermittelst Spezial-Kamera), lässt mich auf die Erfüllung eines von mir lang gehegten Wunsches hoffen: endlich einen Rechner zu haben, der auf meine optischen und akustischen Signale reagiert!
Wenn ich es recht bedenke, gehören diverse Gebärden seit jeher zu meinem Computer-Befehls-Repertoir. Und zwar rein instinktiv. Bislang wurden diese jedoch entweder stur ignoriert (Geste: Faust-gegen-Monitor, Reaktion: insuffizient), fehlinterpretiert (Geste: Tritt-den-Tower, Reaktion: Headcrash) oder von den falschen Sensoren erfasst (Geste: Fuß-durch-die-Wand, Reaktion: Schimpfe von Mutti).
Wink mit dem Zaunpfahl!
Angekündigte Features wie die Anpassung des Farbschemas an den Desktop-Hintergrund sind gerade mal die Spitze des Eisbergs. Dank Benutzer-Erkennung ließe sich das Betriebssystem deutlich besser personalisieren. Per Auswertung der Audio- und Videosignale könnte das System selbst anhand subtiler Anzeichen etwa den Gemütszustand des Nutzers in verschiedenen Abstufungen ermitteln (Stirnklatscher-, Schimpftirade-, Tastatur-im-Anflug-Erkennung …) und darauf reagieren (beruhigende Musik, neue Eingabegeräte ordern).
Ich für meinen Teil würde alles darum geben, etwa per Stinkefinger endlich sämtliche nervige, unnütze und zeitraubende Abfragen, Hinweise und Warnungen auf einmal abstellen zu dürfen.
Ganz schnell aktuell
Stellen Sie sich obendrein vor, ihr Rechner sende automatisch Stimmungs- und Aktivitätsmeldungen an Facebook & Co (‘Bin auf dem Klo – vor 10 Minuten. Stimmung: Konzentriert‘). Video- und Tonmitschnitte inklusive. Sämtliche relevanten Dienste könnten selbständig bei Veränderungen informiert werden, egal ob öffentliche Fotos (‘Neuen Haarschnitt entdeckt – aktualisiere Gravatar …‘), Shopping-Profile (‘Brust-OP detected – Updating Amazon recommendations‘) oder – quasi genau in entgegengesetzte Informationsrichtung – Anpassung an aktuelle gesellschaftliche Ereignisse (‘F1-Weltmeister-Geste: per Zeigefinger gratis eine Dose rosa Österreicherbrause ordern‘).
Entdecke die Unmöglichkeiten
Das sind natürlich alles nur Spielereien zum Wohle Einzelner. Denken Sie nur an ernsthafte, globale Zwecke! Es wäre sogar möglich, bei der Gesichtserkennung aktuelle Fahndungsfotos einzusetzen, um Terroristen, Hacker und Konkurrenten zu identifizieren – oder damit die Pausen der rauchenden Untergeben zu erfassen.
ps: Bei all dem Unsinn wollte ich dann doch nicht noch weiter im Niveau sinken. Die interaktive Routenplanung (Sie wissen schon: Finger in Po – Mexiko. Oder Dresden. Daumen und Zeigefinger an die Brust führen und schreien – Zwickau), kindische Gebärden (Winke-winke – Herunterfahren) … et cetera verkneife ich mir besser.

Build am Donnerstag: Jenkins Continuous Build Server für PHP-Projekte

Jenkins ist ein erweiterbares, webbasiertes System zur kontinuierlichen Integration in agilen Softwareprojekten.“ (Danke für diese praktische Einleitung, Wikipedia!).
Ich habe das schnieke Jenkins-System gerade für ein PHP-basiertes Projekt eingerichtet, und zwar mit Apache Ant als Build-Tool, Git übernimmt das Source-Code-Management. Winstone wird als Servlet-Container schon mitgeliefert, andere Programme wie etwa Tomcat sind möglich, aber nicht nötig.
Eine genaue Anleitungen zum Einrichten samt Template gibt’s hier: Jenkins Job Template for PHP-Projects. Die dort zu findende Vorlage liefert für den ersten Jenkins-PHP-Job die gängigsten Einstellungen der Post-Built-Aktionen, Graphen etc.
Hier sei angemerkt, dass zwar ein Jenkins-Template-Plugin als solches existiert, das es allerdings nur erlaubt, einen Teil der Optionen zu übertragen – praktisch gänzlich unnötig, lassen sich bestehende Job-Ordner doch einfach kopieren, umbenennen oder zu anderen Jenkins-Installationen verschieben (anschließend die Konfiguration von Jenkins neu laden).
Für PHP-Projekte sind folgende Jenkins-Plugins interessant:Ein paar der Graphen
Checkstyle (verarbeitet PHP_CodeSniffer-Logdateien im Checkstyle-Format)
Clover PHP (verarbeitet PHPUnit Code-Coverage xml-Ausgabe)
DRY (verarbeitet phpcpd-Logdateien im PMD-CPD-Format)
HTML Publisher (z.B. zum veröffentlichen des PHPUnit code coverage report)
JDepend (verarbeitet PHP_Depend-Logdateien im JDepend Format)
Plot (verarbeitet phploc CSV-Ausgabe)
PMD (verarbeitet PHPMD-Logdateien im PMD-Format)
Violations (verarbeitet diverse Logdateien)
xUnit (verarbeitet PHPUnit-Logdateien im JUnit format)
Automation
Für die Steuerung legt man ein Ant-Build-Skript an, sowie die Konfigurationen/Rulesets für die einzelnen Tools (etwa für CodeSniffer – siehe unseren Artikel). So lassen sich Builds individuell schneidern, von Code Coverage, Dupliziertem Quelltext, bis hin zur Verfügbarkeit der Datenbank.
In unserem Fall fungiert Git zudem als Build-Trigger und startet bei neuen Versionen im Repository den Job – inklusive Benachrichtigung der Git-User bei einem Fehlschlag (per E-Mail, Jabber u.A.) oder Git Publisher bei Erfolg. Die Jobs lassen sich alternativ manuell oder per Script starten, zeitlich Planen und Ruheperioden einrichten.

Distributed Builds

Eine Jenkins-Installation kann als Master agieren und Builds auf Nodes (bzw. Slaves) laufen lassen, auf ein und demselben Rechner oder externen Systemen, egal ob nun Windows oder anderen Unixen, etwa Solaris.
Eine Jenkins-Installation auf dem Slave ist nicht nötig – der Master kopiert die nötigen Dateien nach der Einrichtung. Wohl aber sollte der Node über alle für den Build erforderlichen Tools, etwa CVS, Pear, PHP und PHP-Tools (PHPUnit etwa schreit nach PHP ab 5.2.7) sowie die Konfigurationsdateien (sofern diese nicht im Repository liegen) verfügen. Einige Programme wie Maven, Ant, JDKs und Git installiert Jenkins auf Wunsch automatisch, wobei sich verschiedene Arten einstellen lassen.
Jobs legt man auf dem Master an und weist diese entweder dediziert einem dieser „Dumb“-Slaves zu (wer es sucht: nennt sich „Beschränke wo dieses Projekt ausgeführt werden darf“) oder es werden automatisch die vorhandenen Build-Prozessoren bei anstehenden Jobs ausgelastet. D.h. ein Job wird immer komplett ausgelagert, einzelne Test zu verteilen geht leider nicht. Die Ergebnisse bestaunt man auf dem Master.
Bei meinem Versuchsaufbau greift Jenkins unter Debian auf einen CentOS-Slave per ssh zu. Statt per ssh ließe sich ein Node auch „headless“ per Command-Line oder Skript sowie Java Web Start (JNLP) steuern.
Pferdefuß in meinem Fall: die unterschiedlichen PHP-Versionen. Einige PHPUnit-Test, die auf dem Master (mit PHP 5.3) funktionieren, laufen nicht auf dem vorgesehenen Slave. Ergo Tests umschreiben, oder für die Zukunft vorher überlegen, wo diese laufen sollen 😉