MLTutor Anregungen und Probleme
Dies ist ein Versuch, Schwierigkeiten, Anregungen und Ähnliches zu strukturieren. Ich könnte mir vorstellen, dass wir unter den jeweiligen Überschriften das Topic diskutieren. Dies soll keine Kritik oder Unzufriedenheit ausdrücken, sondern einfach dokumentieren, was einem auffällt. In vielen Fällen kann momentan die Antwort vielleicht nur sein, dass man das derzeit nicht machen kann. Ich glaube aber, dass daurch eine Sammlung von Anregungen entsteht auf die wir, wenn sie sinnvoll sind, zurückkehren können.
Inhaltsverzeichnis
Eclipse
Startup und Auswahl des Workspaces
Beim Start von Eclipse, vor allem dann wenn die Studierenden damit arbeiten sollen, sollten nicht Workspaces irendwo im AFS (Camhy) zur Auswahl stehen, sondern als Defaultwert der Workspace den wir uns für die Studenten vorstellen, nämlich das Verzeichnis das von uns in ihr Homedirectoy kopiert wird. Momentan ist es eher verwirrend. Ich habe bewusst nicht markiert, dass Eclipse sich den Workspace für die Zukunft merken soll, da ich sehen möchte, wie es unbedarften Benutzern geht.
- Stimmt, man sollte eine bessere Möglichkeit finden, einen Workspace vorzugeben, der schon gewisse Inhalte bietet. Das einzige Problem, das man mit einem :komplett vorgebenen Workspace hat, ist, dass es leicht unübersichtlich werden kann, wenn jemand viele Beispiele erstellt (200 von Ingrid), vor allem da :jedes Beispiel ja aus 2 Eclipse Projekten besteht. Das heißt, man könnte vielleicht eine Möglichkeit finden, einen vorgegebenen Workspace an den vom :Benutzer ausgewählten zu kopieren. Das Problem tritt glaube ich hauptsächlich unter Linux auf, da der Dateiauswahldialog sich nicht an vorgegebene
- Standards hält. So hat eigentlich jeder der BenutzerInnen den gleichen "Fehler" gemacht, in dem ein Verzeichnis ausgewählt wurde, das eine Hierarchie :höher liegt. Unter Windows gibt es einen normalen Ordnerauswahldialog, bei dem dieser Fehler nicht passieren kann.
- Die BenutzerInnen, die nur Beispiele ausführen werden jedoch damit nicht konfrontiert, da sie direkt mit der MySQL Datenbank arbeiten.
Matlab Konsole
Sinn
Welchen hauptsächlichen Sinn sollte die Matlab Konsole erfüllen, bzw. was unterscheidet sie von einem ausserhalb von Eclipse gestarteten Matlab?
Offenbar startet es in dem gerade verwendeten Project-Folder. Plots funktionieren hier unter Linux, da ja natürlcih X11 zur Verfügung steht.
Damit es wirklich Sinn macht, muss es gleich gut oder besser als "matlab -nojvm" sein. (siehe Bemerkungen zu Pfeilen und Tabulator weiter unten).
Mir ist momentan nicht klar, was unsere Vision von der Konsole ist und was sich technisch verwirklichen lässt. Gehen wir mal von einem Studenten aus, der zu Hause auf seinem Windows Rechner arbeitet. Nun gibt es zwei Fälle, die wichtig sind:
- Er hat ein Matlab (legal oder nicht legal) installiert. Verwendet die Matlab-Konsole dann sein Matlab?
- Er hat kein Matlab aber eine permanente Internetverbindung. Baut dann die Matlab-Kosole eine ssh-Verbindung für ihn auf, startet Matlab auf einem unserer Rechner? Dann würde Matlab natürlich auch das Arbeitsverzeichnis bei uns haben und die lokalen Files nicht zugänglich haben. Dies müsste man dann automatisch über rsync oder Ähnliches regeln (automatisch wenn man speichert oder mit einem eigenen Knopf?)
- Im zweiten Fall stellt sich auch die Frage, ob dann auf dem Windows Rechner X11 installiert ist, bzw., was mit Figures passiert wenn es kein X11 gbt.
Ich glaube uns sollte klar werden, was möglich ist und was wir davon anbieten wollen?
- Stimmt, im Moment glaube ich, dass es am Besten ist, komplett auf die Konsole zu verzichten, da die Aufgabe, Matlab-Skripte auszuführen, von der
- Debug-Umgebung übernommen werden kann.
- Für die MLTutor Beispiele ist sowieso eine eigene GUI gedacht.
Starten
Die Möglichkeit die Konsole zu starten findet sich im Toolbar. Da es verschiedene Einträge für "run" und dann auch noch Untermenüpunkte gibt, kann das irgendwie verwirrend sein. Vielleicht sollten wir trachten möglichst alle Dinge, die zum MLTutor gehören in ein oder zwei Menüeinträge zu packen.
Wenn de Matlab-Konsole schon gestartet ist, steht der Knopf zum Starten immer noch zur Verfügung. Ich wollte es nicht ausprobieren was passiert, wenn man ihn wieder drückt. Es sollte aber geregelt sein.
- Wenn man ihn wieder drückt, startet eine zweite Matlab-Konsole, unabhängig von der ersten. Im Konsolenfenster kann man zwischen verschiedenen geöffneten
- Konsolen
Cursor
Der Cursor in der Konsole steht immer links von den beiden Zeichen für den Matlab-Prompt. Wenn man dann zu schreiben beginnt, springt er erst weiter nach rechts. Das macht natürlich nichts, es ist nur ein ungewöhnliches Verhalten. Der Cursor bleibt auch über einer eventuellen Ausgabe von Matlab stehen, was natürlich auch leicht verwirrend ist.
Technische Umsetzung
Ist die Matlab-Konsole eigentlich eine Secure Shell, die in einem Fenster von Eclipse läuft und in der Matlab gestartet ist? Oder ist die Lösung komplizierter?
Verhalten der Pfeile und des Tabulators
Wenn Matlab mit der Option -nojvm oder -nodesktop in einer Konsole läuft, kann man mit den Pfeilen zu vorigen Kommandos zurückblättern, bzw. wenn man schon etwas in der Zeile geschrieben hat, zu den Befehlen die damit anfangen. Könnte das hier auch gehen, da es ja eine Funkionalität von Matlab selbst ist? Die gleiche Frage gilt natürlich auch für die Verwendung des Tabulators zur Kommandoergänzung, was auch ein Feature von Matlab selbst ist.
Wahrscheinlich hängt das mit der Beantwortung der vorigen Frage zusammen, ob es sich bei der Konsole um eine vollwärtige Secure Shell handelt.
Wenn es sich um eine vollwerige Shell handelt, dann scheint Matlab derzeit einfach nicht mitzubekommen, dass die Pfeile oder der Tabulator gedrückt werden?
Beenden
Ist die sinnvollste Arte die Konsole zu beenden, in Matlab den Befehl exit zu schreiben oder sollte man das anders machen?
Beenden von Eclipse mit offener Matlab-Konsole
Was passiert, wenn man Ecipse beendet und die Matlab-Konsole ist noch offen? Auf keinen Fall sollten wir auf Grund der Lizenzproblematik offene Matlab-Sessions erzeugen.
Allgemeine Frage zum Adaptieren der Übungsbeispiele
Diese Fragen sind auf der Seite MLTutorBeispielerstellung zu finden.
Matlab
Lizenzprobleme
Momentan hat die TU Graz ziemliche Lizenzprobleme mit Matlab, da der Bedarf dauernd steigt und die Lizenzen teuer sind. Das wird auch für uns noch Probleme verursachen, vor allem dann wenn wir die Konsole so anbieten, dass die Leute von zu Hause arbeiten können. Worauf wir aber unbedingt achten müssen, ist dass wir nicht für einen Benutzer mehrere Lizenenzen verwenden.
Nehmen wir den Fall an, dass ein Student eine Konsole offen hat und dann einen Test durchführt, ob seine Lösung des Problems stimmt. Verbraucht das dann eine zweite Lizenz auf einem Server, und wenn ja, wie lange behalten wir die dann. Irgendwie müssen wir zu einer Abschätzung kommen, wie viele Lizenzen wir für Übungen brauchen werden und dann hoffen, dass das ZID einen Weg findet uns die zu geben.