Friday, 29. February 2008
Auch bei APL2 gibt es noch einige Dinge, die nach der Installation noch zu erledigen sind. Da ist als Erstes der mit Service Level 10 eingeführte "Configure APL2"-Dialog, der die APL2.ini produziert. Alternativ dazu gibt es immer noch die guten alten Umgebungsvariablen und APL2-Aufrufparameter, die per Windows-Batchdatei angelegt werden können.
Wurde unter XP die mit "Configure APL2" erstellte Ini-Datei noch direkt im APL2 bin-Verzeichnis abgelegt, ist dies unter Vista ein wenig anders. Das neue Sicherheitskonzept läßt grüßen! Statt dessen findet man die APL2.ini im "Virtual Store", genauer unter "\Benutzer\[Benutzername]\AppData\Local\VirtualStore\Program Files\ibmapl2w\bin", soweit bei der Installation die Standardvorgaben nicht überschrieben wurden.
"APL2 Post Installation Tasks" vollständig lesen
Sunday, 24. February 2008
"APL2 has been tested on Windows Vista" vermeldet die readmec.txt seit CSD 9. Getestet und für lauffähig befunden. Und es stimmt. Die Installation ist so einfach und problemlos wie eh und je.
Bevor Vista während des Installationsprozesses danach fragt, kann man ihn gleich "Als Administrator ausführen". Vista ist da wesentlich vorsichtiger als seine Vorgänger. Bei einer kompletten Neuinstallation eines Rechner wird die permanente Fragerei und die damit verbundenen visuellen Effekte eher nervig.
Wer dies als Administrator seines eigenen Systems vermeiden will, erreicht das unter Systemsteuerung/Benutzerkonten/Benutzerkonten und "Benutzerkonten ein- oder ausschalten" durch entfernen eines Häkchens.
"APL2 und Vista" vollständig lesen
Wednesday, 13. February 2008
Ich habe ihn wieder mal gebraucht und er war nicht da: der Windows Telnet-Client. Unter XP gab es ihn noch, unter Vista nun nicht mehr. Immerhin hat MS die Finger vom ftp-Client gelassen.
Zum Glück war ich nicht der Erste, der ihn dort vermisst. Also habe ich ihn mit "Window-Funktionen ein- und ausschalten" wieder zum Leben erweckt: Häckchen dran und OK, danach einige Minuten warten, warum nur so lange für 202 KB? "... kann einen Moment dauern" ist schon eine starke Untertreibung, denn mein Rechner gehört bestimmt nicht zu den langsamen seiner Art.
Neben dem Telnet-Client ist auch die Befehlszeilen-Referenz ntcmds.chm unter Vista verschwunden, allerdings ohne eine einfache Möglichkeit, sie zu rektivieren.
Da ich nun schon eine Windows-Funktion eingeschaltet habe, habe ich dann auch noch einigen für mich unnützen Kram ausgeschaltet:
- Optionale Tablet PC-Komponenten (dies ist nie und nimmer ein Tablet PC)
- Remoteunterschiedskomprimierung (was für ein Wort)
- Windows-DFS-Replizierungsdienst
- Windows-Teamarbeit
Tuesday, 12. February 2008
Nicht immer hat man Glück, eine gewünschte Integration eines Unternehmens in eine anderes, größeres zu erleben.
IBM ist inzwischen recht routiniert bei der Eingliederung übernommener Mitarbeiter in die eigenen Strukturen und Prozesse. Es sind noch keine 3 Monate vergangen, dass IBM den Kauf von Cognos bekannt gab, und die Integrationsmaschinerie läuft schon auf Hochtouren.
Neue Mail-Signaturen ("Cognos - an IBM Company"), neue Schilder, Meetings, Videokonferenzen und stapelweise neue Rechner - Thinkpad T61p, IBM meint es gut mit den Neuen. Bin gespannt, wie das weitergeht.
Eile tut not. Der Wettbewerb (im IBM-Jargon: die Marktbegleiter) schläft nicht. Mindestens gnauso spannend, wie die Integration der Menschen, ist daher das Zusammenbauen der Produkte. Auch da tut sich bereits überraschend viel.
Ist Ambuj Goyal überhaupt klar, dass er nun einige (erfolgreiche) Softwareprodukte im Portfolio hat, die auf APL basieren?
Monday, 11. February 2008
Ich vergaß ...
Wie bringe ich nun Workstation APL2 dazu, mit dem Ausdruck 3↑¨⍳N das zu tun, was die APL-Welt auch für N=0 erwartet?
Ganz ohne Änderung geht das natürlich nicht. Aber glücklicherweise ist ken "if N=0 then ... else ..." nötig, ich brauche nicht einmal eine neue Zeile. Mit APL ist vieles einfacher, als mit (fast) allen Programmiersprachen der uns bekannten Welt.
Es auch hier so, wie mit vielen Dingen in der Mathematik: Man nehme etwas hinzu, so dass man sich auf bekannten Grund bewegt, tue das, was man nicht lassen kann, und werfe abschließend Überflüssiges wieder weg.
Konkret in unserem Fall: 1↓3↑¨0,⍳N, wobei nun das Ergebnis für N=0 ein Leervektor vom richtigen Typ ist.
Hat man keinen Mainframe mit APL2 zur Hand, kann man sich eine konforme Implementierung bei APL+Win ansehen.
Friday, 8. February 2008
Die Liste der dokumentierten Abweichungen zwischen den APL2-Implementierungen auf dem Mainframe und für Workstations ist glücklicherweise recht kurz. Viele der hier dokumentierten Inkompatibiltäten haben mich bisher noch nicht tangiert. Andere haben es aber in sich und sollten so bald wie möglich aus der Dokumentation verschwinden, so wie auch folgende "Deviation".
Gestern hat mich wieder mal "No fill function is implemented for the Each operator" erwischt, besser gesagt eine Zeile eines vom Mainframe auf einen PC migrierte Funktion. Das Symptom war ein LENGTH ERROR, der Grund war die falsche Behandlung der Anwendung einer Funktion samt Each-Operator auf einen numerischen Leervektor.
Gemäß der reinen Lehre sollte 3↑¨⍳0 einen Leervektor aus dreielementigen numerischen Vektoren ergeben, oder anders ausgedrückt 0⍴⊂3⍴0. Das ist klar, wenn man N in 3↑¨⍳N sukzessive verringert. Stets erhält man einen Vektor der Länge N mit dreielementigen numerischen Vektoren als Elemente. Im Falle N=0 wählt APL2 für Letzteres den Prototyp ↑0⍴3↑¨⍳N, also 3⍴0.
"Tückisch" vollständig lesen
Thursday, 7. February 2008
Ich habe mich ja schon an den SYTNAX ERROR bei selektiven Zuweisungen der Form (R/M[;I])←V und aller möglichen Varianten gewöhnt. Für das Mainfame APL2 ist dies ein absolut gültiger Versuch, Werte in "M" zu verändern.
Das Workstation APL2 spielt da leider nicht mit. Glücklicherweise akzeptiert es aber die Indexfunktion anstelle der Indexierung mit den eckigen Klammern. So können vom Mainframe kommende selektive Zuweisungen dieser Art schnell ersetzt werden.
Das wird allerdings ein wenig nervig, wenn diese Syntax-Fehler kein Ende nehmen. Bei der hier vorliegen Inkompatibilität handelt es sich wohl um die am häufigsten vorkommende.
Deshalb, und weil es sich bei obiger Zuweisung mit den eckigen Klammern um eine elegante, gut zu lesende Schreibweise handelt, ist es mehr als wünschenswert, dass diese Abweichung des Workstation APL2 von Mainframe Standard endlich beseitigt wird.
Bekannterweise gibt es zwischen APL2 für den Mainframe und Workstation APL2 einige Unterschiede. Es sind nicht viele, aber bei größeren Anwendungen können sie die direkte Ausführbarkeit nach einer Portierung auf den PC ernsthaft behindern.
Diese dokumentierten Abweichungen betreffen im Wesentlichen die Sprache, wie sie in der APL2 Language Reference beschrieben ist. Schnittstellen wohin auch immer und sonstige APL2-Vorrichtungen unterliegen von vornherein keinem Kompatibilitätszwang.
Dazu gehören offensichtlich auch die "Supplied Routines", mitgelieferte assoziierbare Funktionen. Selbst Namensgleichheit bedeutet nicht automatisch Gleichheit in der Funktionsweise. Recht drastisch macht das CTN deutlich:
"CTN ist nicht gleich CTN" vollständig lesen
Friday, 1. February 2008
Da wurde doch auf dem Wiener Opernball ein Fußballspiel als Ballett aufgeführt. Gestern geschehen, aber wo bleibt die messerscharfe Analyse unseres großen Fußballweisen, des weltweit führenden Theoretikers des Ballspiels.
Der Münchener Professor von eigenen Gnaden hatte immerhin nach Jahren mühsamen Forschens herausgefunden, dass Fußball keine Mathematik ist.
Ich warte also auf Rummenigges 2.Hauptsatz:
Fußball ist kein Ballett!
|