Archiv der Kategorie: Programmieren

Aktuelles MindTerm – Terminal für das Mac OS X Dashboard

Auf meiner Suche nach einem vollwertigen Terminal für das Dashboard des neuesten Apple-Betriebssystems stieß ich auf das MindTerm Widget von Kazuharu Arakawa. Dies lädt ein über 1800 Tage altes Java-Applet aus Zeiten, in denen MindTerm noch unter der GNU Public License stand.

mindterm_login

Da ich wenige Probleme habe, nicht ganz so freie Software zu benutzen, habe ich das Widget umgebaut, so dass es jetzt mit der aktuellsten Version von MindTerm funktioniert. Dazu hat man den Vorteil, dass man auch folgende Versionen des MindTerm-Applets einsetzen kann.

Weil MindTerm jetzt nicht mehr einfach so weitergegeben werden darf, es aber für den privaten Gebrauch kostenlos ist, müsst ihr es euch selbst herunterladen. Die Installation des Widgets ist daher auch etwas aufwändiger als die eines Standard-Widgets:

mindterm_loggedin

  1. Herunterladen meines Widgets (48 KB)
  2. Anschließend entpacken und installieren wie bei jedem anderen Widget auch. Trotz des Nicht-Funkionierens auf “Behalten” klicken, weil sonst das Widget gelöscht werden würde. Danach kann man das Widget erst noch einmal vom Dashboard entfernen
  3. Herunterladen der aktuellsten MindTerm Binaries (992 KB) Version 3.0.1 von AppGate. Dazu kann man sich auch den Source und die JavaDoc herunterladen: Download-Seite
  4. Entpacken des Archivs
  5. Im Finder zu folgendem Pfad wechseln ~/Library/Widgets/ (wobei ~ das Home-Verzeichnis des aktuellen Benutzers ist, also z.B. /Users/fallenbeck/)
  6. Klick mit der rechten Maustaste (STRG-Maustaste) auf MindTerm.wdgt –> “Paketinhalt zeigen”. Es öffnet sich ein neues Finder-Fenster mit dem Paketinhalt des Widgets
  7. Kopieren der Datei mindterm.jar aus dem vorhin entpackten Ordner mindterm-3.0.1 in den Paketordner des Widgets
  8. Widget ganz normal zum Dashboard hinzufügen

Im Anschluss steht auf dem Dashboard ein Terminal zur Verfügung, mit dem man bequem auf der Shell arbeiten kann.

Hinweise:

  1. Man kann im Terminal Scrollen mit “Shift-Fn-Pfeil hoch” bzw. “Shift-Fn-Pfeil runter” (auf einem mobilen Apple-Rechner). Für Desktop-Apples heißt das wohl “Shift-PgUp” und “Shift-PgDown”.
  2. Wenn man sich ausloggt, wird der Login-Bildschirm erneut angezeigt. Es funktioniert aber kein anderer Server als localhost. Die Fehlermeldung taucht in einem extra Fenster auf, während das Dashboard im Vordergrund bleibt und ist daher nicht gleich sichtbar. Nach dem Ausblenden des Dashboards und dem Bestätigen der Fehlermeldung kann man sich erneut einloggen. Gleiches gilt auch, wenn man einen Tippfehler im Usernamen und alle sieben Versuche zur Passworteingabe aufgebraucht hat.
  3. Auch wenn ein direktes Einloggen mit MindTerm nur auf dem lokalen Rechner möglich ist, kann man sich von der Shell natürlich auf entfernte Rechner verbinden.

JSP vs. PHP (1)

Jahrelang lief diese Webseite mit PHP4 und mit ihr all meine programmierten Scripte. Nach einem Update auf PHP5 funktionierte fast gar nichts mehr, was mit einigen wenigen Eingriffen in gemeinsam genutzten Klassen korrigiert werden konnte und mitunter meinem laxen Programmierstil (register_globals = on) zu verdanken war. Trotz allem ist mir PHP sehr unlieb geworden, denn schon lange stört mich die nicht einheitlich gehaltene Syntax verschiedener Funktionen (vgl. Array- und Session-Funktionen). Die abenteuerliche Variablenbehandlung (Stichwort Initialisierung) mag für manche reizend sein, bei mir hinterlässt sie ein flaues Gefühl im Magen.
In einer lokalen Testumgebung habe ich damit begonnen, meine Webseite auf JSP zu portieren mit dem langfristigen Ziel, die PHP-Version im Netz zu ersetzen und dem Vorurteil entgegenzutreten, Java sei eine langsame Sprache (wohlweißlich, dass JSP für meine Webseite überdimensioniert ist). Da sich meine Freizeit momentan in Grenzen hält, wird eine öffentliche Demonstration noch eine Weile auf sich warten lassen. Unter PHP konnte ich auf eigene Klassen zurückgreifen, in denen ich MySQL-Standard-Prozeduren oder eMail-Funktionalität ausgelagert hatte und die mit jedem Projekt an Funktionalität gewannen. Für den RSS-Import diente mir bislang MagpieRSS, welches ich durch ein eigenes Tool ersetzen und diese Gelegenheit nutzen möchte, mit Xerces vertraut zu werden.

Ganz ohne Hintergedanken ist die Umstellung nicht: In den letzten drei Jahren habe ich mich überwiegend mit PHP beschäftigt, so dass meine Java-Kenntnisse am langen Arm verhungert sind. Da mir bei fehlender Auffrischung das gleiche Schicksal blüht, ein Versuch der langsamen Annäherung an die Programmiersprache von Sun, die mir in den letzten Wochen durch kleine Klassen für den universitären Übungsbetrieb wieder liebgeworden ist.

modifying phpsysinfo

phpsysinfoWer die aktuelle Version 2.3 von PhpSysInfo verwendet, kennt die unübersichtliche Auflistung der PCI-Geräte. Besonders ärgerlich ist, dass diese Darstellung in älteren Versionen des Scripts wesentlich aufgeräumter war, wer jedoch umgestiegen ist, muss mit der neuen Darstellung leben.
Um unter Linux eine übersichtliche Darstellung zu erhalten (in der für den Laien unwichtige und redundante Informationen weggelassen sind), editiert man die Datei includes/os/class.Linux.inc.php etwa ab Zeile 200 und ersetzt

$name = preg_replace('/\(.*\)/', '', $name);
$results[] = $addr . ' ' . $name;

durch die Zeilen

$name = preg_replace('/\(.*\)/', '', $name);
$name = preg_replace('/.*:/', '', $name);
$results[] = $name;

Wer keine Lust auf das Editieren hat oder sich dieses nicht zutraut, lädt die veränderte Datei herunter und entpackt sie an die oben genannte Stelle: class.Linux.inc.php.gz [3,8 KB]. Für andere Betriebssysteme muss die entsprechende Datei im includes/os/ editiert werden, sie wird so ähnlich aufgebaut sein.
Das Ergebnis kann auf meinem Server begutachtet werden, sofern dieser angeschaltet ist.