bla

Womit ich gerade zu kämpfen habe…

Verständnis

Es wäre fast soweit gekommen, dass ich diesen Artikel nicht hätte schreiben dürfen. Auch ich habe am Anfang meiner Doktorarbeit angefangen eine Software zu schreiben. Meine Kenntnisse im programmieren sind aber beschränkt, ich habe das mal in der Schule gelernt, während des Studiums habe ich nie programmiert. Erst in der Diplomarbeit wurde das wieder akut, und ich habe angefangen das programmieren neu zu lernen. Allerdings bewegen sich meine Sprachkenntnisse bei Programmen ungefähr auf dem Niveau eines Dreijährigen: Kurze Sätze gehen, “Pipi” und “Kaka” einbauen sind das coole Ding und bei mehr als zehn Sätze wird alles zusammenhangloses Gefasel das zu nichts führt. Daher habe ich auch angefangen in so einer kommerziellen Umgebung “zu programmieren”, wie eine von den zweien die ich oben schon angesprochen habe. Ich habe damals MatLab benutzt, eine Umgebung in der man sich seine Programme (teilweise) zusammen klicken kann und sich keine Sorgen um Speicher oder Datenstrukturen machen muss. Zum Glück lief das alles sehr langsam, funktionierte auch nicht gut und daher habe ich mir Hilfe geholt. Ohne Georgi Tadeus, damals Diplomand in unserer Gruppe, würde unsere Mikroskopietechnik nicht funktionieren, an der ich jetzt über vier Jahre gearbeitet habe. Er nahm den Kram den ich zusammen geklöppelt habe, und hat daraus ein schnelles Programm mit einer schönen Benutzeroberfläche gemacht, dass man einfach runter laden kann, installiert und dann läufts. Ich hätte das aber wirklich nicht ohne Unterstützung tun können, oder besser gesagt: Das wäre ohne Georgi nie passiert, der arme Kerl hatte die ganze Arbeit.

Sobald wir mit den letzten kleinen Änderungen an der Benutzeroberfläche und der Anleitung fertig sind, werden wir die Software als open source auf GitHub stellen. Ich bin sehr glücklich darüber. Und nach dem ganzen Ärger mit Software von anderen Leuten, die ich so gerne benutzt hätte, es aber wegen einer befristeten oder kostspieligen Laufzeitumgebung nicht ging, hoffe ich auch, dass irgendjemand mal unsere Software ausprobiert und benutzt. Ja vielleicht sogar in den Code rein schaut und sie weiter entwickelt. Das würde mich wirklich freuen. Ich hatte Glück, dass mir gerade der richtige Typ über den Weg lief. Damit diese ganze Geschichte nicht nur auf Glück beruht sollten Gruppenleiter, Institutschefs und vielleicht auch Leute noch einige Stufen höher anfangen die Interdisziplinarität nicht nur in Kooperationen zu verwirklichen. Vielleicht sollten sie auch mal schauen, ob man nicht einen Informatiker anstellen könnte oder das IT-Wissen bei den Leuten aus dem eigenen Feld fördert. Aber ich fürchte, dass es noch eine ganze Weile so weiter geht, wie ich es oben beschrieben habe. So lange die Nutzbarkeit von Computerprogrammen aus sehr angewandter Wissenschaft (z.B. Experimentalphysik oder Biologie) nicht einen hohen Stellenwert hat, wird sich da so schnell nichts ändern. Auch habe ich immer mal wieder festgestellt, dass gerade in den Lebenswissenschaften, die Fähigkeit eine Software zu schreiben eher als mogeln angesehen wird und nicht als etwas das gefördert werden sollte. Also, Zukunft, bitte überrasch’ mich!

Fußnoten:
* Software, die Wissenschaftliche Literatur verwaltet und in Word einbinden kann. Kostenpunkt: 250 Dollar pro Lizenz. Hersteller: Thomsen Reuters, die Agentur die auch den Impact Factor an Journale vergibt. Verbreiteter Standard in der Biologie, was mir unbegreiflich ist.
** und sie werden auch nicht bezahlt für ihre Arbeit.
*** MatLab mit knapp 12 Toolboxes kostet, nach Rabatt, tatsächlich so viel.

1 / 2

Kommentare (9)

  1. #1 CM
    24. April 2015

    Dem habe ich wenig hinzuzufügen. Außer vielleicht, dass Software in den Lebenswissenschaften einer immer größere Rolle spielt – und das wird auch erkannt. Es gibt mehr Studiengänge, die sich damit befassen und die Absolventen sind in den Arbeitsgruppen gerne gesehene Kandidaten.

    Das matlab & Co. den freien Alternativen (die nicht schlechter sind! – ich kenne beispielsweise auch Mikroskopiesoftware in Python mit live-Fouriertransformation und Auswertung) vorgezogen werden ist ein großes Ärgernis und erreicht finanziell Dimensionen, die eine Debatte ähnlich der um open Access rechtfertigen.

    Nun, ich bemühe mich redlich Naturwissenschaftlern programmieren beizubringen, aber das ist ein anderes Thema …

  2. #2 weyoun
    24. April 2015

    Mit LabView habe ich immer gerne gearbeitet.
    Es hat mich jedoch immer gefuchst, das tausende Euro für Einzelplatz Lizenzen ausgegeben wurde. Ich möchte nicht wissen wieviele Lizenzen an meiner FH rumschwirrten.

    Jedoch gab es niemanden der einen Application Builder besass.

  3. #3 Ulf Lorenz
    24. April 2015

    Eine kleine Anmerkung: Fuer so einen speziellen Fall gibt es zumindest unter Matlab die Moeglichkeit, Programme zu “compilieren” (wobei diese Option evtl. ein Zusatzpaket war). Das produziert zwar riesige Pakete und war damals als ich es ausprobiert hatte nicht so toll dokumentiert, aber das Ergebnis kann ohne Lizenz genutzt werden.

    • #4 André Lampe
      24. April 2015

      Ja, du hast vollkommen recht. Auch mit dem Zusatzpaket. Ist eines der teuersten Zusatzpakete für MatLab, der dieses “compilieren” ermöglicht.

  4. #5 sqred
    24. April 2015

    Das Problem mit Matlab und Konsorten ist ja, dass es das nötige Know-How in Programmierung und Automatisierung bündelt und einfach erlernbar präsentiert. Daher ist das in vielen Studienrichtungen die nicht Informatik sind sehr beliebt. Ich verstehe ja, dass man als Messtechnik Institut eine eigene Umgebung schreiben will, wenn es sowas wie Matlab gibt die einen seine eigentilche Arbeit machen lassen, aber so ganz im moralischen Sinne der Wissenschaft, also das Wissen der Welt zugänglich für alle Interessierten zu mehren ist das ja nicht. BTW ist auch hier die Paywall die aktuelle Ergebnisse abschottet zu bemängeln. Ohne bspw im IEEE zu sein bekommt man als Ingenieur keine aktuellen Paper etc.

  5. #6 CM
    25. April 2015

    Ja, die Möglichkeit matlab zu kompilieren gibt es. Abgesehen vom Preis gibt es aber auch noch diverse Probleme auf HPC-Systemen. (Die mit der aktuellen Version behoben werden sein sollen.) Jedenfalls geht matlab davon aus, dass man alleine auf einem System arbeitet, hat seltsame Ansichten wieviele Prozessoren es braucht (jedenfalls, wenn sich mehrere CPUs einen Socket teilen, was ja kaum abzusehen war …)

    Und was die Usability anbelangt: Ja, Matlab ist einfach. Aber wenn ich (Biologe und weitgehender Autodidakt) es mit freien Alternativen schon vor 7 Jahren hinbekommen habe meine Steuerungen zu basteln und performant zu bekommen, wenn es freie Alternativen zum wissenschaftlichen Rechnen auf HPC-Systemen gibt, die besser sind als Matlab – warum Matlab?

    Ich glaube, dass hat sehr viel mit verdammt geschicktem Marketing zu tun …

  6. #7 fherb
    26. April 2015

    Das beschriebene Problem kann ich nachvollziehen. Nicht jedoch die Kritik. Die beiden Software sind entwickelt worden, um dem Anwender eine Arbeit zu ersparen, die ein Nichtsoftwerker kaum nachvollziehen kann. Diese Software gehört dahin, wo ich den Aufwand von einem ganzen Softwareentwicklerteam einsparen möchte. Das, was z. B. mit Labview einem Einzelnen in kurzer Zeit möglich ist, ist im Vergleich von vollständig selbst und mit freien Tools programmierten Anwendungen unmöglich. Allerdings sollte man als Nutzer das berücksichtigen. Inklusive der Restriktionen. Ich vermute, das es hier um eine Softwareentwicklung mit Labview Vision gehandelt hat, denn die normale Runtimelizenz von Labview war und ist kostenfrei. Unverständlich ist, wie der Gutachter die Nutzung vorgeben kann. Vermutlich hat er selbst von der Software wenig Ahnung. Stellen wir mal gegenüber: Hätte diese spezielle Anwendungssoftware der urhebende Wissenschaftler mit einem Team von vielleich 10 Softwerkern und entsprechen aufwändig eingeworbenen Fördermitteln vollständig und ohne solche Hilfen professionell vertriebener Werkzeuge selbst entwickelt, wäre er a) nicht mehr zu seiner Forschung gekommen und würde b) diesen Softwarebatzen nicht für Lau anbieten. Eine nachnutzende Einrichtung einer Softwareentwicklung solcher Art hätte sich persönlich bemühen oder bedanken müssen. Zum Beispiel mit einem Titel Ehrenhalber. Oder mit etwas, was einen finanziellen Gegenwert darstellt. Mir ist auf meinem Gebiet kein Fall bekannt, wo Entwicklungen der öffentlichen Forschung solcher Größenordnungen auf Github wiederfinden lassen. Für Anwendungen dieser Größe hat diese Software ihre Daseinsberechtigung.

    Aber das Problem liegt an zwei Dingen. Der Wissenschaftler kann natürlich nicht einschätzen, welcher Entwicklungsaufwand hinter den einzelnen im Softwarepaket angebotenen Funktionen steckt. Und einmal eingearbeitet und lieb gewonnen nutzt er es natürlich auch für Aufgaben, die tatsächlich mit freier Software ohne viel Mehraufwand zu programmieren wären. Da wären wir wieder beim Punkt Marketing. Würden die Wissenschaftler auch in allen Methoden ihrer Arbeit gut ausgebildet sein, wozu Softwareentwicklung gehört, würde er auch einschätzen können, wann er was nutzt, um die eigentliche Nutzung seiner wissenschaftlichen Ergebnisse nicht zu behindern. Man sollte der Verführung toller Software auch mal wiederstehen können, wenn es Sinn macht.

    • #8 André Lampe
      26. April 2015

      Ich versuche etwas die Kritik zu erklären: Im vorliegenden Fall war es ein sehr kleines Stück Software, du steckst ein paar MB Textdatei rein und erhälst einen Zahlenwert. Die Mathe dahinter ist etwas aufwendig, aber kein Hexenwerk, im Prinzip ein paar Fourier-Trafos. Der Gutachter hat uns das nicht vorgeschrieben sondern hat den Vorschlag gemacht, dass wir das mal probieren könnten. Ich nehme aber nicht an, dass der Gutachter jemals die Software ausprobiert hat, sondern lediglich – wie auch ich – vom Paper begeistert war.
      Übrigens hast du vollkommen recht, es war die runtime von Labview Vision. Ich kritisiere auch überhaupt nicht die Existenz oder die Verwendung von LabVeiw, MatLab etc an sich, ich ärgere mich darüber, dass niemand an die Anwendbarkeit denkt, wenn man diese Dinge nicht hat. Bei LabView kenn ich mich zu wenig aus, im vorliegenden Beispiel ist es nur so, dass ich denke, dass das auch Stand-Alone gegangen wäre. Bei einigen MatLab Sachen sehe ich das auch schon anders, da wäre Stand-Alone ein erheblicher Mehraufwand, den ich auch nicht einfordern möchte. Bei so etwas könnte man dann aber trotzdem überlegen, ob man das Programm entweder so schlank macht, dass es kaum Tool-Boxes von MatLab braucht (oder die, die bei der Students-Version dabei sind) oder aber das dann auch aus MatLab “heraus-compiliert”. Oder evtl. sogar zu Octave wechselt.
      Dein Argument mit den “zusammen mit 10 Softwareentwicklern” hinkt hier etwas. Zum einen, weil es nicht um so ein großes Projekt ging, aber vor allem auch, weil die Forschung, die in diese Software geflossen ist, von der öffentlichen Hand bezahlt wurde, aus deutschen Steuergeldern. Die Ergebnisse daraus sollen veröffentlicht werden. In der Regel sind Programme die mit einem Paper zu tun haben eher kleine Tools, jedenfalls in meinem Feld. Ein paar Ausnahmen gibt es allerdings, aber das sind dann tatsächlich auch Stand-Alone Programme, wie zum Beispiel rapidSTORM, den code kann man übrigens auf Google Code einsehen – auch von deutschen Steuergeldern bezahlt. QucikPALM aus Frankreich wäre ein weiteres Beispiel, bei dem eine recht aufwendige Software komplett offen liegt. Ich sehe das auch als Teil der Forschung an, dass man so etwas tut.

      Abschließend hast du recht. Jeder Wissenschaftler sollte heute sich mit Software auskennen und auch vernünftig abwägen wie man etwas schreibt und heraus bringt. Da sehe ich auch noch deutlichen Nachholbedarf.

  7. #9 fherb
    1. Mai 2015

    Hallo noch mal.

    Ja. Ich geb Dir recht. Grundsätzlich denke ich: So lange man in seinem eigenen Labor bleibt, ist es auch immer effizient, die Methoden zu verwenden, mit denen man selbst und am Schnellsten und am Billigsten zum Ziel kommt. Denn dann hat man für sein eigenes Projekt die Steuermittel optimal eingesetzt.

    Ich selbst entwickle Forschungstechnik und bin ständig hin und her gerissen zwischen Tools, wie LabView, (Matlab weniger, da für Regelungstechnik u.ä. für uns zu teuer, wenn man im Forschungszentrum LabView zum Billigstpreis bekommt), Siemens Automatisierungstechnik inkl. Software (im ersten Moment sehr teuer, aber mit Rabatt und Langlebigkeit dann doch effektiv und…. Und einfach mal n Linux Bash Script: Völlig kostenfrei und auf Raspberry Pi auch noch gut einsatzfähig und supportet.

    Es ist auch für Leute mit Softwareerfahrung in der Forschung echt schwierig, immer mit dem passenden System zu arbeiten. Unter Berücksichtigung des Einarbeitungsaufwandes bei einem Systemwechsel.

    Unsere Direktive ist: Bei unseren Forschungsanlagen möglichst gleiche Tools verwenden und gern mal etwas Geld in Software stecken, als mit zusätzlichem Personal Open Source konform zu bleiben. Für Unikate der Forschungstechnik orientieren wir uns an Effizienz, mit möglichst wenig Personal unterschiedlichste Aufgaben zu erfüllen.

    Sobald wir uns aber an nachnutzbaren Themen zu schaffen machen, zählt das nicht mehr. Hier liegt der Fokus auf der Nachnutzung. Das sind völlig andere Voraussetzungen.

    Kongret zu Matlab/Simulink: Ist nur für Hochschulen einigermaßen erschwinglich. Der C-Compiler als Option wurde von Erfahrungsträgern nie als Brauchbar beschrieben. Den gibt es möglicherweise so nicht mehr. Da bin ich nicht up to date. Der extrem teure Compiler für Controller und Signalprozessoren schon. Auch gibt es keine kostenfreie Runtime. Ergo: Man kann niemanden zumuten, M-Files selbst auszuführen..

    LabView hat seine Stärken, wenn man Gerätetechnik mit Auswertung zusammenbringen möchte. Der Vorteil, den man fürs Geld bekommt, ist eine Entwicklungssoftware, die extrem viele Hardware mit sehr wenig Aufwand zu einem Aufbau verbinden kann, der gleich noch die Datenauswertung übernimmt. Labview ist inzwischen aber auch recht komplex geworden. Da National Instruments vor allem mit eigener Hardware Geld verdient, sind die Softwarekondionen für die freie Forschung so schlecht nicht.

    Etwas Wissen über die Software macht LabView im Gegensatz zu Matlab tatsächlich zu Open Source ähnlicher Nachnutzung: Verzichtet man auf Vision, was in allen Disziplinen, die nicht explizit Bildverarbeitung machen, möglich ist, ist die Nachnutzung mit der Runtime kostenfrei. Verzichtet man auf einige Toolboxen, ist sogar die Entwicklungsumgebung fast kostenfrei: Einfach ein Buch kaufen, dass die Studentenversion enthält. Sollte unter 100 Euro kosten. Dass hier im VI diese Studentenlizenz eingeblendet ist… Wen stört es in der Forschung?

    Auch kann man die Runtime so mit einbinden, dass der Nachnutzer nichts extra installieren muss, wenn er das gleiche Betriebssystem hat.

    Und selbst Vision läuft auf jedem System ohne irgendwie das System, wie beschrieben, zu kompromittieren. Ich nutze es mit GigE-Kameras. Weil es in unserer Lizenz mit eingeschlossen ist, quasi zum Nulltarif mit. Nur: Auch LabView muss vom Nutzer ordentlich und nicht klicki-klacki programmiert werden. Sonst kann es extrem inperformant werden (Nutzer klagen sehr häufig darüber) oder das Zielsystem sogar tot legen.

    Wie gesagt: Auch ein Mechaniker muss immer ganz genau wissen, welche Komponenten wie in einem System wirken. Sonst klemmt es wortwörtlich. Das ist in der Software nicht anders. Nur: Softwareaufwand wird von uns (auch von uns Softwerkern selbst) immer und immer wieder unterschätzt.

    Und ich könnte ruhigen Gewissens auch keinem Wissenschaftler empfehlen, welche Softwareentwicklungssprache er beherrschen sollte. Zu breit ist das Feld der Möglichkeiten!