Studieren Sie den Lorenz-Attraktor und bearbeiten Sie dann den Code in IodideIn den letzten zehn Jahren gab es eine echte Explosion des Interesses an „wissenschaftlichem Rechnen“ und „Datenwissenschaft“, dh dem Einsatz von Berechnungsmethoden, um Antworten auf Fragen zu finden und Daten in den Natur- und Sozialwissenschaften zu analysieren. Wir sehen die Blüte spezialisierter PLs, Werkzeuge und Methoden, die Wissenschaftlern helfen, Daten und Konzepte zu erforschen und zu verstehen sowie ihre Ergebnisse zu kommunizieren.
Heutzutage nutzen nur sehr wenige wissenschaftliche Tools das volle Kommunikationspotential moderner Browser. Die Ergebnisse des Data Mining sind in einem Browser nicht sehr bequem anzuzeigen. Aus diesem Grund präsentiert Mozilla heute
Iodide - ein experimentelles Tool, mit dem Wissenschaftler mithilfe von Webtechnologien schöne interaktive Dokumente erstellen können, und zwar innerhalb eines iterativen Workflows, der vielen bekannt ist.
Es ist nicht nur eine Programmierumgebung zum Erstellen interaktiver Dokumente in einem Browser. Iodide versucht, beim Workflow zu helfen, indem es den Editor und die Vorschau verknüpft. Dies unterscheidet sich vom IDE-Stil, bei dem Präsentationsdokumente vom Typ PDF erstellt werden (diese werden dann vom Quellcode getrennt). Und unterscheidet sich vom Stil von Notizbüchern mit Zellen, die Code und Präsentationselemente mischen. In Iodide sehen Sie sowohl ein Dokument, das so aussieht, wie Sie es möchten, als auch einen einfachen Zugriff auf den Basiscode und die Bearbeitungsumgebung.
Iodid ist noch in der Alpha-Version, aber in der Internetbranche ist es üblich zu sagen:
"Wenn Sie nicht durch die erste Version Ihres Produkts verwirrt sind, kommen Sie mit dem Start zu spät .
" Aus diesem Grund haben wir uns für einen sehr frühen Start entschieden, in der Hoffnung, Feedback von der Community zu erhalten. Wir haben eine Demo, die
Sie jetzt ausprobieren können , aber es gibt immer noch viele Mängel (bitte verwenden Sie dieses Alpha nicht für wichtige Arbeiten!). Wir hoffen, dass Sie Ihre Augen vor den Türpfosten schließen und den Wert des Konzepts selbst verstehen. Ihr Feedback hilft Ihnen zu verstehen, in welche Richtung wir uns bewegen sollten.
Wie wir zu Jodid kamen
Data Science bei Mozilla
Mozillas Datenwissenschaft basiert fast ausschließlich auf Kommunikation. Obwohl wir manchmal Data Mining-Modelle direkt vor Benutzern bereitstellen, z. B. den Mechanismus zum Empfehlen von Erweiterungen für den Browser, analysieren unsere Experten die Daten meistens, um Muster zu identifizieren und Informationen mit Ingenieuren, Produktmanagern und dem Management auszutauschen.
In der Datenwissenschaft muss viel Code geschrieben werden. Im Gegensatz zur herkömmlichen Softwareentwicklung ist es jedoch unser Ziel, Fragen zu beantworten und keine Software zu erstellen. Dies führt normalerweise dazu, dass eine Art Bericht erstellt wird - ein Dokument, Diagramme oder eine interaktive Datenvisualisierung. Wie alle anderen studieren wir bei Mozilla unsere Daten mit fantastischen modernen Tools wie
Jupyter und
R-Studio . Wenn es jedoch an der Zeit ist, die Ergebnisse zu teilen, können wir dem "Kunden" normalerweise nicht nur ein Jupyter-Notizbuch oder ein R-Skript geben. Daher müssen wir häufig die Schlüsselnummern und Zusammenfassungsstatistiken in ein Google-Dokument kopieren.
Wie sich herausstellte, ist es ziemlich schwierig, vom Studieren von Daten im Code zu einer verdaulichen Erklärung zu wechseln und umgekehrt. Studien zeigen, dass
dies ein häufiges Problem ist . Wenn ein Wissenschaftler den Bericht eines anderen liest und den entsprechenden Code sehen möchte, treten viele Probleme auf: Manchmal ist es einfach, den Code zu verfolgen, manchmal nicht. Wenn ein Spezialist experimentieren möchte, indem er den Code ändert, wird es natürlich immer noch kompliziert. Ein anderer Wissenschaftler hat möglicherweise Ihren Code, aber die Konfiguration auf dem Computer ist anders und die Einrichtung nimmt Zeit in Anspruch.
Nützlicher Arbeitszyklus in der DatenwissenschaftWarum gibt es in der Wissenschaft so wenig Netz?
Vor diesem Hintergrund habe ich Ende 2017 ein Projekt zur interaktiven Datenvisualisierung in Mozilla gestartet. Heutzutage können Sie solche Visualisierungen mit den hervorragenden Bibliotheken in Python, R und Julia erstellen, aber für mein Projekt war es notwendig, auf Javascript umzusteigen. Dies bedeutete einen Ausweg aus der vertrauten Umgebung der Datenwissenschaft. Moderne Webentwicklungstools sind unglaublich leistungsfähig,
aber äußerst ausgefeilt . Gegen meinen Wunsch musste ich eine vollständige Kette von Javascript-Tools zum Erstellen mit einem Hot-Reload von Modulen erstellen, aber es war immer noch unmöglich, einen normalen Editor zu finden, der saubere, lesbare Webdokumente in einem lebendigen, iterativen Workflow generiert.
Ich begann mich zu fragen, warum es kein solches Tool gibt - warum es kein Jupyter-Analogon für interaktive Webdokumente gibt - und ich fragte mich, warum fast niemand Javascript für wissenschaftliche Berechnungen verwendet. Dafür scheint es drei wichtige Gründe zu geben:
- Javascript selbst in der wissenschaftlichen Gemeinschaft hat einen umstrittenen Ruf als langsame und unangenehme Sprache.
- Nicht viele wissenschaftliche Computerbibliotheken arbeiten in einem Browser oder unterstützen Javascript.
- Ich fand einen Mangel an wissenschaftlichen Programmierwerkzeugen mit Unterstützung für schnelle Iterationen und direkten Zugriff auf die Präsentationsfunktionen des Browsers.
Das sind sehr große Probleme. Die Arbeit in einem Browser hat jedoch einige echte Vorteile für eine solche „kommunikative“ Datenwissenschaft, die wir bei Mozilla studieren. Der größte Vorteil ist natürlich, dass der Browser über die fortschrittlichsten und am besten unterstützten Datenvisualisierungstechnologien verfügt: von
DOM über
WebGL ,
Canvas und
WebVR .
Als ich über die oben genannten Kommunikationsschwierigkeiten nachdachte, kam ich auf einen weiteren potenziellen Vorteil: Im Browser muss das endgültige Dokument nicht von dem Tool getrennt werden, mit dem es erstellt wurde. Ich wollte ein Tool für die iterative wissenschaftliche Arbeit mit Webdokumenten erstellen (eine Webanwendung mit spezifischen Funktionen) ... und viele unserer Tools waren im Wesentlichen Webanwendungen. Verknüpfen Sie das Dokument für diese kleinen Webdokumentanwendungen mit dem Editor.
So können Leser ohne technische Ausbildung ein schönes Dokument anzeigen, und der Wissenschaftler wechselt sofort in den Quellcodemodus. Da die Berechnungen in der Browser-JS-Engine stattfinden, kann der Wissenschaftler außerdem sofort mit dem Experimentieren mit dem Code beginnen. Und das alles, ohne eine Verbindung zu Remote-Computing-Ressourcen herzustellen oder Software zu installieren.
Das Aufkommen von Jodid
Ich begann mit Kollegen über die möglichen Vor- und Nachteile des wissenschaftlichen Rechnens im Browser zu diskutieren, und während der Gespräche stellten wir andere interessante Trends fest.
In Mozilla wurden viele interessante Demos auf
WebAssembly veröffentlicht , einer neuen Plattform zum Starten von Code in einem Browser, der in anderen Sprachen als Javascript geschrieben ist. Mit WebAssembly können Sie Programme mit einer unglaublichen Geschwindigkeit ausführen, in einigen Fällen in der Nähe von nativen Binärdateien. WASM führt problemlos ressourcenintensive Prozesse aus, selbst
ganze 3D-Game-Engines . Im Prinzip können Sie die besten numerischen C- und C ++ - Computerbibliotheken für WebAssembly der Welt kompilieren und wie das SciPy-Projekt für Python in ergonomische JS-APIs einbinden. Am Ende existieren
solche Projekte bereits .
Mit WebAssembly können Sie Code in einem Browser fast ohne Overhead ausführenWir haben auch festgestellt, dass die Javascript-Community bereit ist,
neue Syntax einzuführen, wenn dies den Menschen hilft
, ihre Probleme effektiver zu
lösen . Vielleicht sollten Sie versuchen, einige der wichtigsten Syntaxelemente zu emulieren, die die numerische Programmierung in MATLAB, Julia und Python verständlicher und flexibler machen - dies ist Matrixmultiplikation, mehrdimensionales Slicing, Broadcast-Array-Operationen usw. Und wieder stellten wir fest, dass
viele uns zustimmen .
All diese Prämissen führen zu der Frage: Wie geeignet ist die Webplattform für wissenschaftliches Rechnen? Zumindest kann es bei der Kommunikation in den Prozessen helfen, denen wir bei Mozilla begegnen (und denen viele in Industrie und Wissenschaft begegnen). Mit dem sich
ständig verbessernden Javascript-Kern und der Möglichkeit, Syntaxerweiterungen für die numerische Programmierung hinzuzufügen, wird JS selbst für Wissenschaftler möglicherweise attraktiver. WebAssembly schien die Verwendung seriöser wissenschaftlicher Bibliotheken zu ermöglichen. Das dritte Bein des Lehrstuhls ist die Webumgebung zum Erstellen wissenschaftlicher Dokumente. Auf dieses letzte Element konzentrierten wir unsere Experimente, die uns zu Iodid führten.
Anatomie Jodid
Iodide ist ein Tool, das Wissenschaftlern einen vertrauten Workflow zum Erstellen großartiger interaktiver Dokumente mit der vollen Leistung einer Webplattform bietet. Die Arbeit besteht aus „Berichten“ - tatsächlich handelt es sich um eine Webseite, die Sie mit Ihren Inhalten ausfüllen. Außerdem einige Tools, mit denen Sie die Daten iterativ untersuchen und den Bericht ändern können, um das endgültige Dokument zu erstellen. Sobald es fertig ist, können Sie einen Link direkt dorthin senden. Wenn Kollegen und Mitarbeiter den Code anzeigen möchten, wechseln Sie mit einem Klick in den Lernmodus. Wenn Sie mit dem Code experimentieren und ihn als Grundlage für Ihre Arbeit verwenden möchten, wird ein weiterer Klick zu einer Gabel.
Als nächstes werden wir über einige experimentelle Ideen sprechen, wie dieser Workflow flexibler gestaltet werden kann.
Berichtsmodus und Studienmodus
Iodide versucht, Forschung, Erklärung und Zusammenarbeit an einem Ort zu verbinden. Der zentrale Punkt hierbei ist die Fähigkeit, zwischen einem schönen Bericht und einer nützlichen Umgebung für iterative Forschung mit wissenschaftlichen Berechnungen zu wechseln.
Wenn Sie
ein neues Jodid-Notizbuch erstellen, rufen Sie die Erkundungsansicht auf. Dies ist eine Reihe von Bedienfeldern, darunter ein Editor zum Schreiben von Code, eine Konsole zum Anzeigen von Ausgabedaten, ein Tool zum Anzeigen des Arbeitsbereichs zum Untersuchen von Variablen, die während einer Sitzung erstellt wurden, und ein Bedienfeld „Vorschau des Berichts“.
Bearbeiten des Markdown-Codes im Iodid-ForschungsmodusDurch Klicken auf die Schaltfläche
Bericht in der oberen rechten Ecke können Sie den Inhalt des Vorschaufensters auf das gesamte Fenster erweitern. Leser, die nicht an technischen Details interessiert sind, können sich auf diese Präsentation des Dokuments konzentrieren, ohne sich mit dem Code zu befassen. Wenn der Leser auf den Berichtslink klickt, wird der Code automatisch gestartet. Klicken
Sie oben rechts auf die Schaltfläche
Durchsuchen, um den Code anzuzeigen. Von dort aus können Sie eine Kopie des Notizbuchs für Ihre eigenen Recherchen erstellen.
Übergang vom Forschungsmodus zum BerichtsmodusWenn Sie einen Link zu einem Iodide-Notizbuch freigeben, erhält Ihr Mitarbeiter immer Zugriff auf beide Ansichten. Ein sauberes, lesbares Dokument wird niemals vom zugrunde liegenden Code und der Bearbeitungsumgebung getrennt.
Live, interaktive Dokumente mit der Leistung einer Webplattform
Jodid-Dokumente leben in einem Browser. Dies bedeutet, dass die Computer-Engine immer verfügbar ist. Jedes Dokument ist ein interaktiver Live-Bericht mit laufendem Code. Da die Berechnung im Browser gleichzeitig mit der Präsentation erfolgt, muss das Sprach-Backend nicht in einem anderen Prozess aufgerufen werden. Auf diese Weise werden interaktive Dokumente in Echtzeit aktualisiert, was die Möglichkeit
reibungsloser 3D-Visualisierungen eröffnet . Geringe Latenz und hohe Bildrate
erfüllen sogar die VR-Anforderungen .
Die Mitarbeiterin Devin Bailey untersucht ihre MRT-Daten im GehirnTeilen und Reproduzierbarkeit
Die Abhängigkeit vom Web vereinfacht eine Reihe von Workflow-Elementen im Vergleich zu anderen Tools. Die Freigabe wird nativ implementiert: Auf das Dokument und den Code kann unter derselben URL zugegriffen werden, und Sie müssen beispielsweise keinen Link zum Skript in die Fußnoten von Google Text & Tabellen einfügen. Der Rechenkern ist ein Browser, und Bibliotheken werden wie jedes Skript mit einer HTTP-Anforderung geladen - es sind keine zusätzlichen Sprachen, Bibliotheken oder Tools erforderlich. Und da Browser Kompatibilität bieten, sieht Notepad auf allen Computern und Betriebssystemen gleich aus.
Um die Zusammenarbeit zu gewährleisten, haben wir einen relativ einfachen Server erstellt, auf dem Notizblöcke gespeichert werden. Es gibt eine öffentliche Instanz von
iodide.io , um mit Iodide zu experimentieren und Ihre Arbeit zu veröffentlichen. Sie können jedoch eine private Instanz hinter der Firewall erstellen (wir bei Mozilla tun dies für einige interne Dokumente). Es ist jedoch wichtig zu beachten, dass die Notebooks selbst nicht an einen einzelnen Iodid-Server gebunden sind. Bei Bedarf ist es einfach, die Arbeit auf einen anderen Server zu übertragen oder das Notebook als Paket für die Freigabe auf anderen Diensten wie Netlify oder GitHub Pages zu exportieren (weitere Informationen zum Exportieren von Paketen finden Sie im Abschnitt „Wie geht es weiter?“ Unten). Durch die Weitergabe von Computern an den Kunden können wir uns darauf konzentrieren, eine wirklich hervorragende Umgebung für den Austausch und die Zusammenarbeit zu schaffen, ohne Computerressourcen in der Cloud zuweisen zu müssen.
Pyodide: Python-Wissenschaftsstapel im Browser
Als wir darüber nachdachten, das Web für Wissenschaftler zu verbessern, konzentrierten wir uns auf Möglichkeiten, die die Arbeit mit Javascript erleichtern könnten, z. B. das Kompilieren vorhandener wissenschaftlicher Bibliotheken in WebAssembly und das Packen dieser in einfache JS-APIs. Als wir den
Entwicklern von WebAssembly in Mozilla die Idee
vorstellten , schlugen sie eine ehrgeizigere Idee vor: Wenn viele Wissenschaftler Python bevorzugen, gehen Sie zu ihrem Fachgebiet - kompilieren Sie den wissenschaftlichen Python-Stack, der in WebAssembly ausgeführt werden soll.
Wir dachten, es klang einschüchternd, dass es ein riesiges Projekt sein würde und niemals eine zufriedenstellende Leistung bringen würde ... aber
zwei Wochen später hatte
Mike Droettbum eine funktionierende Python-Implementierung, die in einem Iodide-Notizbuch arbeitete. In den nächsten Monaten haben wir Numpy, Pandas und Matplotlib hinzugefügt, die
am häufigsten verwendeten Module im Python-Wissenschafts-Ökosystem. Dank der Hilfe von Kirill Smelkov und Roman Yurchak aus
Nexedi erschien die Unterstützung für Scipy und Scikit-Learn. Seitdem fügen wir langsam
weitere Bibliotheken hinzu .
Das Ausführen des Python-Interpreters in der virtuellen Javascript-Maschine erhöht den Leistungsaufwand, ist jedoch überraschend gering. Im Vergleich zu nativem Code wird der Code in unseren Tests in Firefox 1-12-mal langsamer und in Chrome 1-16-mal langsamer ausgeführt. Die Erfahrung hat gezeigt, dass Produktivität für eine komfortable interaktive Forschung ausreicht.
Matplotlib im Browser unterstützt interaktive Funktionen, die in statischen Umgebungen nicht verfügbar sindDurch das Portieren von Python in den Browser werden magische Workflows erstellt. Sie können beispielsweise Daten in Python importieren und verarbeiten und dann über Javascript auf die resultierenden Objekte zugreifen (in den meisten Fällen erfolgt die Konvertierung automatisch), um sie mithilfe von JS-Bibliotheken wie
d3 anzuzeigen. Noch magischer ist, dass Sie über Python-Code auf die Browser-API zugreifen, um beispielsweise
das DOM ohne Verwendung von Javascript zu bearbeiten .
Natürlich kann noch viel mehr über
Pyodide gesagt werden, und es verdient einen separaten Artikel - wir werden ihn nächsten Monat genauer betrachten.
JSMD (JavaScript MarkDown)
Wie Jupyter und R-Markdown in R können Sie mit dem Iodid-Editor Code und Notizen frei abwechseln und den Code in Teile zerlegen, die sich ändern und als separate Einheiten ausgeführt werden. Unsere Implementierung dieser Idee entspricht der Implementierung von R Markdown und dem „Zellenmodus“ in MATLAB: Anstelle der explizit zellbasierten Schnittstelle ist der Inhalt des Iodide-Notizblocks nur ein Textdokument, das eine spezielle Syntax verwendet, um bestimmte Zelltypen abzugrenzen. Wir nennen dieses Textformat JSMD.
Nach MATLAB beginnen
%%
mit
%%
-Zeichen, gefolgt von einer Zeile, die die Sprache angibt. Wir unterstützen derzeit Snippets mit Javascript, CSS, Markdown (und HTML), Python, einem speziellen 'Fetch'-Snippet, das das Laden von Ressourcen vereinfacht, und Plugins, die die Funktionalität von Iodide durch Hinzufügen neuer Zelltypen erweitern.
Wir fanden dieses Format sehr praktisch. Es vereinfacht die Verwendung von Textwerkzeugen wie Diff Viewer und Ihrem eigenen bevorzugten Texteditor. Sie können Standardtextoperationen (Ausschneiden / Kopieren / Einfügen) ausführen, ohne die Befehle zur Zellverwaltung erlernen zu müssen. Weitere
Informationen finden Sie in der
JSMD-Dokumentation .
Was weiter?
Es lohnt sich zu wiederholen, dass dies nur eine Alpha-Version ist: Wir polieren weiterhin die Benutzeroberfläche und beheben Fehler. Darüber hinaus gibt es eine Reihe von Ideen für die folgenden Experimente. Wenn Ihnen eine dieser Ideen besonders nützlich erscheint, lassen Sie es uns wissen! Besser noch, helfen Sie bei der Entwicklung!
Erweiterte Funktionen für die Zusammenarbeit
Wie bereits erwähnt, haben wir ein sehr einfaches Backend erstellt, mit dem Sie einfach Arbeit speichern, von anderen geleistete Arbeit anzeigen, die Notizbücher anderer Personen schnell aufteilen und erweitern können. Dies sind jedoch nur die ersten Schritte in einem kollaborativen Workflow.
Jetzt sehen wir uns drei weitere großartige Funktionen an:
- Kommentarthreads im Google Text & Tabellen-Stil.
- Die Möglichkeit, Änderungen im Notizbuch eines anderen über den Fork / Merge-Mechanismus wie in GitHub vorzuschlagen.
- Bearbeiten von Notizbüchern zur gleichen Zeit wie in Google Text & Tabellen.
Im Moment priorisieren wir ungefähr in dieser Reihenfolge, aber wenn Sie sich entscheiden, sie anders anzuordnen oder andere Vorschläge haben, zögern Sie nicht, dies zu melden!
Mehr Sprachen!
Wir haben mit den R- und Julia-Communities die Möglichkeit besprochen, diese Sprachen in WebAssembly zu kompilieren, um sie in Iodide- und anderen Browserprojekten zu verwenden. Auf den ersten Blick ist dies machbar, aber die Implementierung wird etwas komplizierter sein als für Python. Wie in Python öffnen sich einige interessante Workflows: Sie können beispielsweise statistische Modelle in R anwenden oder Differentialgleichungen in Julia lösen und die Ergebnisse dann über die Browser-API anzeigen. Wenn Sie diese Sprachen lernen, lassen Sie es mich bitte wissen - insbesondere möchten wir Hilfe von Experten für FORTRAN und LLVM erhalten.
Notebooks exportieren
Frühere Versionen von Iodide waren eigenständige, ausführbare HTML-Dateien, die sowohl den in der Analyse verwendeten JSMD-Code als auch den JS-Code zum Ausführen von Iodide selbst enthielten. Wir haben uns jedoch von dieser Architektur entfernt. Neuere Experimente haben uns überzeugt, dass die Vorteile der Arbeit mit dem Iodide-Server die Vorteile der Verwaltung von Dateien auf dem lokalen System überwiegen. Diese Experimente haben jedoch gezeigt, dass Sie einen eigenständigen ausführbaren Iodide-Notizblock erstellen können, indem Sie den Iodide-Code zusammen mit allen Daten und Bibliotheken hinzufügen, die in einer großen HTML-Datei verwendet werden. Es kann großartig sein, aber es wird als perfekt reproduzierbares und archiviertes Bild nützlich sein.
Jodid-Browser-Erweiterung für Texteditoren
Obwohl viele Wissenschaftler daran gewöhnt sind, in browserbasierten Programmierumgebungen zu arbeiten, werden manche Menschen ihren bevorzugten Texteditor niemals aufgeben. Wir möchten, dass Iodide dort eingesetzt wird, wo es für die Menschen bequem ist, zu arbeiten, einschließlich derer, die Code lieber in einem anderen Editor eingeben, aber auf die interaktiven und iterativen Funktionen von Iodide zugreifen möchten. Um diesem Bedarf gerecht zu werden, haben wir uns Gedanken darüber gemacht, eine einfache Browsererweiterung und einige einfache APIs zu erstellen, damit Iodide mit clientseitigen Editoren kommunizieren kann.
Feedback und Hilfe sind willkommen!
Wir versuchen nicht, alle Probleme der wissenschaftlichen Daten und des wissenschaftlichen Rechnens zu lösen, und Jodid ist keine universelle Lösung. Wenn Sie Terabyte an Daten in GPU-Clustern verarbeiten müssen, hilft Ihnen Iodide wahrscheinlich nicht weiter. Wenn Sie Zeitschriftenartikel veröffentlichen und nur ein Dokument in LaTeX schreiben müssen, gibt es bessere Tools. Wenn Ihnen die Idee, alles in den Browser zu übertragen, nicht gefällt, gibt es kein Problem - es gibt viele wirklich erstaunliche Tools, die Sie für die Wissenschaft verwenden können, und wir sind dafür dankbar! Wir möchten die Gewohnheiten anderer nicht ändern, und viele Wissenschaftler benötigen keine webbasierte Kommunikation. Großartig! Tun Sie, was Sie sich wohl fühlen!
Aber von Wissenschaftlern, die Inhalte für das Internet erstellen oder erstellen möchten, würde ich gerne hören, welche Tools Sie für Ihre Arbeit benötigen!
Bitte gehen Sie zu
iodide.io , probieren Sie dieses Tool aus und hinterlassen Sie eine Bewertung (aber noch einmal: Denken Sie daran, dass das Projekt in der Alpha-Version
vorliegt - verwenden Sie es bitte nicht für kritische Arbeiten und denken Sie daran, dass alles in Alpha sein kann ändern). Sie können
ein kurzes Formular ausfüllen ,
Tickets und Fehlerberichte auf Github sind ebenfalls willkommen. Anfragen nach Funktionen und allgemeinen Gedanken gehen in unsere
Google-Gruppe oder in
Gitter .
Wenn Sie an der Erstellung von Iodide teilnehmen möchten, wird der Quellcode
auf Github veröffentlicht . Iodid deckt eine breite Palette von Softwaredisziplinen ab: von der Entwicklung moderner Schnittstellen und wissenschaftlicher Datenverarbeitung bis hin zur Kompilierung und Transpilation gibt es also viele interessante Dinge!