Az elmúlt 10 évben robbanásszerűen megnőtt az érdeklődés a “tudományos számítástechnika” és az “adattudomány” iránt: vagyis a számítások alkalmazása a természet- és társadalomtudományok kérdéseinek megválaszolására és az adatok elemzésére. Ezen igények kielégítésére reneszánszát élték azok a programozási nyelvek, eszközök és technikák, amelyek segítik a tudósokat és kutatókat az adatok és tudományos fogalmak feltárásában és megértésében, valamint eredményeik közlésében. Eddig azonban nagyon kevés eszköz összpontosított arra, hogy segítse a tudósokat abban, hogy szűretlenül hozzáférjenek a modern webböngészők teljes kommunikációs potenciáljához. Ezért ma örömmel mutatjuk be a Iodide-ot, egy kísérleti eszközt, amelynek célja, hogy segítsen a tudósoknak gyönyörű interaktív dokumentumokat írni a webes technológiák segítségével, mindezt egy olyan iteratív munkafolyamaton belül, amely más tudományos számítástechnikai környezetekhez hasonlónak tűnik.
A Iodide működés közben.
A Iodide azon túl, hogy csupán egy programozási környezet élő dokumentumok létrehozására a böngészőben, megpróbálja megszüntetni a súrlódásokat a kommunikációs munkafolyamatokból azzal, hogy a szerkesztő eszközt mindig a tiszta olvasható dokumentummal együtt csomagolja. Ez eltér az IDE-stílusú környezetektől, amelyek prezentációs dokumentumokat adnak ki, mint például .pdf fájlokat (amelyek aztán elválnak az eredeti kódtól), és a cella-alapú jegyzetfüzetektől, amelyek keverik a kódot és a prezentációs elemeket. Az Iodide-ban egyrészt egy olyan dokumentumot kapunk, amely úgy néz ki, ahogy szeretnénk, másrészt könnyű hozzáférést az alapjául szolgáló kódhoz és szerkesztőkörnyezethez.
Az Iodide még nagyon is alfa állapotban van, de az internetes aforizmát követve “Ha nem szégyelled a terméked első verzióját, akkor túl későn indítottad el”, úgy döntöttünk, hogy egy nagyon korai soft launch-ot készítünk, abban a reményben, hogy visszajelzést kapunk egy nagyobb közösségtől. Van egy demónk, amit már most is kipróbálhatsz, de számíts rá, hogy még sok durva éllel fog rendelkezni (és kérlek, ne használd ezt az alfa verziót kritikus munkára!). Reméljük, hogy a durva élek ellenére, ha ráhunyorítasz, meglátod majd a koncepció értékét, és a visszajelzések segítenek majd kitalálni, merre tovább.
- Hogyan jutottunk el a Jodide-hoz
- Adattudomány a Mozillánál
- Miért van olyan kevés web a tudományban?
- A jodid felé
- A Iodide anatómiája
- A felfedező és jelentés nézetek
- Élő, interaktív dokumentumok a webes platform erejével
- Megosztás, együttműködés és reprodukálhatóság
- Pyodide:
- JSMD (JavaScript MarkDown)
- Mi következik?
- Elnagyított kollaboratív funkciók
- Még több nyelv!
- Notebook archívum exportálása
- Iodide to text editor browser extension
- Feedback és együttműködés szívesen látjuk!
- Brendan Colloranról
Hogyan jutottunk el a Jodide-hoz
Adattudomány a Mozillánál
A Mozillánál az adattudományi munkánk túlnyomó többsége a kommunikációra összpontosít. Bár néha olyan modelleket alkalmazunk, amelyek célja közvetlenül a felhasználói élmény javítása, mint például a böngészőbővítmények felfedezését segítő ajánlómotor, a legtöbbször az adattudósaink azért elemzik az adatainkat, hogy olyan meglátásokat találjanak és osszanak meg, amelyek a termékmenedzserek, mérnökök és vezetők döntéseit segítik.
Az adattudományos munka sok kód írásával jár, de a hagyományos szoftverfejlesztéstől eltérően a célunk a kérdések megválaszolása, nem pedig a szoftver előállítása. Ennek eredménye jellemzően valamilyen jelentés – egy dokumentum, néhány grafikon, vagy esetleg egy interaktív adatvizualizáció. Sok adattudományi szervezethez hasonlóan a Mozillánál is fantasztikus eszközökkel, például a Jupyterrel és az R-Studióval vizsgáljuk az adatainkat. Amikor azonban eljön az idő, hogy megosszuk az eredményeinket, általában nem tudunk átadni egy Jupyter jegyzetfüzetet vagy egy R-szkriptet egy döntéshozónak, így végül gyakran olyan dolgokat teszünk, mint a kulcsszámok és az összefoglaló statisztikák átmásolása egy Google-dokumentumba.
Azt tapasztaltuk, hogy nem mindig könnyű megtenni a körutat az adatok kódban történő feltárásától az emészthető magyarázat elkészítéséig és vissza. A kutatások azt mutatják, hogy sokan osztoznak ebben a tapasztalatban. Amikor az egyik adattudós átolvassa egy másik zárójelentését, és meg akarja nézni a mögötte lévő kódot, sok súrlódás adódhat; néha könnyű a kód felkutatása, néha nem. Ha kísérletezni és bővíteni akarják a kódot, a dolgok nyilvánvalóan még nehezebbé válnak. Lehet, hogy egy másik adattudósnak megvan a kódja, de nem biztos, hogy a saját gépén azonos konfigurációval rendelkezik, és ennek beállítása időt vesz igénybe.
Az adattudományi munka erényes köre.
Miért van olyan kevés web a tudományban?
A Mozillánál az ilyen adattudományi munkafolyamatok hátterében 2017 végén egy olyan projektet vállaltam, amely interaktív adatvizualizálást kívánt. Ma már nagyszerű Python, R és Julia könyvtárakkal lehet interaktív vizualizációkat készíteni, de ahhoz, amit el akartam érni, le kellett esnem a Javascriptre. Ez azt jelentette, hogy eltávolodtam a kedvenc adattudományi környezetemtől. A modern webes fejlesztési eszközök hihetetlenül erősek, de rendkívül bonyolultak. Nem igazán akartam rájönni, hogyan lehet egy teljes értékű Javascript build toolchaint felállítani és működtetni hot module reloadinggel, de ezen kívül nem sok mindent találtam, ami tiszta, olvasható webes dokumentumok létrehozására irányult volna az általam ismert élő, iteratív munkafolyamaton belül.
Elkezdtem azon gondolkodni, hogy miért nem létezik ez az eszköz – miért nincs Jupyter interaktív webes dokumentumok építésére – és hamarosan ráközelítettem arra, hogy miért nem használja szinte senki a Javascriptet tudományos számításokhoz. Három nagy ok ugrott elő:
- magának a JavaScriptnek a tudósok körében vegyes a híre, hogy lassú és nehézkes;
- nem sok olyan tudományos számítási könyvtár van, amely a böngészőben fut, vagy amely Javascripttel működik; és,
- mint felfedeztem, nagyon kevés olyan tudományos kódoló eszköz van, amely gyors iterációs hurkot tesz lehetővé, és szűretlen hozzáférést biztosít a böngésző prezentációs lehetőségeihez is.
Ezek nagyon nagy kihívások. De ahogy jobban átgondoltam a dolgot, kezdtem úgy gondolni, hogy a böngészőben való munka valódi előnyökkel járhat a kommunikatív adattudomány számára, amit mi a Mozillánál csinálunk. A legnagyobb előny természetesen az, hogy a böngésző vitathatatlanul a legfejlettebb és legjobban támogatott prezentációs technológiákkal rendelkezik a világon, a DOM-tól a WebGL-en és a Canvas-on át a WebVR-ig.
A fent említett munkafolyamat-súrlódáson gondolkodva egy másik lehetséges előny is eszembe jutott: a böngészőben a végső dokumentumnak nem kell különállnia az azt létrehozó eszköztől. Olyan eszközt akartam, amelyet arra terveztek, hogy segítsen a tudósoknak a webes dokumentumok iterálásában (alapvetően egycélú webes alkalmazások egy ötlet kifejtésére)… és sok általunk használt eszköz maga is alapvetően webes alkalmazás volt. Az ilyen kis webes alkalmazás-dokumentumok megírásának felhasználási esetére miért ne lehetne a dokumentumot a megírásához használt eszközzel összekapcsolni?
Ezzel a nem műszaki olvasók láthatták a szépen kinéző dokumentumomat, de más adattudósok azonnal visszatérhettek az eredeti kódhoz. Ráadásul, mivel a compute kernel a böngésző JS-motorja lenne, azonnal elkezdhetnék bővíteni és kísérletezni az elemzési kóddal. És mindezt távoli számítási erőforrásokhoz való csatlakozás vagy bármilyen szoftver telepítése nélkül tehetnék meg.
A jodid felé
A böngészőben történő tudományos számítás lehetséges előnyeiről és hátrányairól kezdtem beszélgetni a kollégáimmal, és a beszélgetések során észrevettünk néhány más érdekes tendenciát is.
A Mozillán belül sok érdekes demót láttunk, amelyek a WebAssemblyt mutatták be, a böngészők új módját a Javascripttől eltérő nyelveken írt kód futtatására. A WebAssembly lehetővé teszi, hogy a programok hihetetlen sebességgel fussanak, egyes esetekben közel a natív bináris programokhoz. Láttunk példákat számításigényes folyamatokra, például teljes 3D-s játékmotorokra, amelyek gond nélkül futottak a böngészőben. A jövőben lehetséges lenne a legjobb C és C++ numerikus számítási könyvtárakat WebAssembly-be fordítani, és ergonomikus JS API-kba csomagolni őket, ahogyan a SciPy projekt teszi a Python esetében. Valóban, a projektek már elkezdték ezt tenni.
A WebAssembly lehetővé teszi, hogy a kódot közel natív sebességgel futtassuk a böngészőben.
Azt is észrevettük, hogy a Javascript közösség hajlandó új szintaxis bevezetésére, ha ez segíti az embereket a problémájuk hatékonyabb megoldásában. Talán lehetséges lenne emulálni néhány kulcsfontosságú szintaktikai elemet, amelyek a MATLAB-ban, a Juliában és a Pythonban érthetőbbé és gördülékenyebbé teszik a numerikus programozást – mátrixszorzás, többdimenziós szeletelés, sugárzott tömbműveletek stb. Ismét találtunk másokat, akik hasonló irányban gondolkodtak.
Mivel ezek a szálak összefutottak, elkezdtünk azon gondolkodni, hogy a webes platform talán a tudományos számítástechnika produktív otthonává válhat. Legalábbis úgy tűnt, hogy a Mozillánál (és az iparban és a tudományos életben oly sokan másoknál is) előforduló kommunikációs munkafolyamatok némelyikének kiszolgálására fejlődhet. A Javascript magjának folyamatos fejlesztésével és a numerikus programozáshoz szükséges szintaxisbővítések hozzáadásának lehetőségével talán maga a JS is vonzóbbá tehető a tudósok számára. A WebAssembly úgy tűnt, hogy utat kínál a nagyszerű tudományos könyvtárakhoz. A zsámoly harmadik lába az adattudományi dokumentumok webes létrehozására szolgáló környezet lenne. Úgy döntöttünk, hogy erre az utolsó elemre összpontosítjuk kezdeti kísérletezéseinket, ami elvezetett minket a Iodide-hoz.
A Iodide anatómiája
A Iodide egy olyan eszköz, amelyet arra terveztek, hogy a tudósok számára egy megszokott munkafolyamatot biztosítson nagyszerű megjelenésű interaktív dokumentumok létrehozásához a webes platform teljes erejét kihasználva. Ennek eléréséhez adunk egy “jelentést” – lényegében egy weboldalt, amelyet kitölthet a tartalommal – és néhány eszközt az adatok iteratív feltárásához és a jelentés módosításához, hogy létrehozzon valamit, amit készen áll megosztani. Ha készen áll, közvetlenül elküldhet egy linket a véglegesített jelentéséhez. Ha kollégái és munkatársai át akarják nézni a kódját, és tanulni szeretnének belőle, egyetlen kattintással visszaléphetnek a feltáró üzemmódba. Ha kísérletezni akarnak a kóddal, és saját munkájuk alapjául akarják használni, egy újabb kattintással elágazhatják azt, és elkezdhetnek dolgozni a saját verziójukon.
Olvasson tovább, hogy többet megtudjon néhány ötletről, amelyekkel kísérletezünk, hogy ezt a munkafolyamatot gördülékennyé tegyük.
A felfedező és jelentés nézetek
A jód célja, hogy szorosabbá tegye a feltárás, a magyarázat és az együttműködés közötti hurkot. Ennek központi eleme az a képesség, hogy oda-vissza tudunk mozogni egy szépen kinéző leírás és egy hasznos környezet között az iteratív számítógépes felfedezéshez.
Amikor először hoz létre egy új Jodid jegyzetfüzetet, a “felfedező nézetben” kezdjük. Ez egy sor ablaktáblát biztosít, köztük egy szerkesztőt a kód írásához, egy konzolt a kiértékelt kód kimenetének megtekintéséhez, egy munkaterület-megjelenítőt a munkamenet során létrehozott változók vizsgálatához, valamint egy “jelentés előnézet” ablaktáblát, amelyben megtekintheti a jelentés előnézetét.
Egy Markdown kódrészlet szerkesztése a Jodid felfedező nézetében.
A jobb felső sarokban található “REPORT” gombra kattintva a jelentés előnézetének tartalma kibővül, és kitölti az egész ablakot, így a kívánt történetet helyezheti előtérbe. Azok az olvasók, akik nem értenek a kódoláshoz, vagy akiket nem érdekelnek a technikai részletek, a kódok átbogarászása nélkül tudnak arra koncentrálni, amit közvetíteni akarsz. Amikor az olvasó meglátogatja a jelentésnézetre mutató linket, a kódja automatikusan lefut. ha át akarja nézni a kódját, egyszerűen a jobb felső sarokban lévő “EXPLORE” gombra kattintva visszakerül a felfedező nézetbe. Onnan készíthetnek egy másolatot a jegyzetfüzetről a saját vizsgálódásaikhoz.
Mozgás az explore nézetből a report nézetbe.
Amikor megosztja a jódos jegyzetfüzetre mutató linket, a munkatársa mindig hozzáférhet mindkét nézethez. A tiszta, olvasható dokumentum soha nem válik el a mögöttes futtatható kódtól és az élő szerkesztési környezettől.
Élő, interaktív dokumentumok a webes platform erejével
A Iodid dokumentumok a böngészőben élnek, ami azt jelenti, hogy a számítási motor mindig elérhető. Amikor megosztja munkáját, egy élő interaktív jelentést oszt meg futó kóddal. Ráadásul, mivel a számítás a böngészőben történik a prezentáció mellett, nincs szükség a nyelvi backend meghívására egy másik folyamatban. Ez azt jelenti, hogy az interaktív dokumentumok valós időben frissülnek, megnyitva a zökkenőmentes 3D-s vizualizációk lehetőségét, még a VR-hez szükséges alacsony késleltetés és magas képkockasebesség mellett is.
Contributor Devin Bayly az agyának MRI-adatait vizsgálja
Megosztás, együttműködés és reprodukálhatóság
A jodid webes felépítése egyszerűsíti a munkafolyamat súrlódásának számos olyan elemét, amellyel más eszközöknél találkoztunk. A megosztás egyszerűsödik, mivel a leírás és a kód ugyanazon az URL-címen érhető el, ahelyett, hogy mondjuk egy Google-dokumentum lábjegyzeteibe illesztenénk be egy szkriptre mutató linket. Az együttműködés egyszerűsödik, mivel a számítási mag a böngésző, a könyvtárak pedig HTTP-kéréssel tölthetők be, mint bármely weboldal a szkripteket – nem kell további nyelveket, könyvtárakat vagy eszközöket telepíteni. És mivel a böngészők kompatibilitási réteget biztosítanak, nem kell aggódni amiatt, hogy a jegyzetfüzetek viselkedése reprodukálható legyen számítógépek és operációs rendszerek között.
A közös munkafolyamatok támogatására egy meglehetősen egyszerű szervert építettünk a jegyzetfüzetek mentésére és megosztására. Van egy nyilvános példány az iodide.io címen, ahol kísérletezhetsz a Iodide-dal, és nyilvánosan megoszthatod a munkádat. Az is lehetséges, hogy saját példányt hozzunk létre egy tűzfal mögött (és valóban ezt tesszük a Mozillánál bizonyos belső munkákhoz). Fontos azonban, hogy maguk a jegyzetfüzetek nem kötődnek a Iodide szerver egyetlen példányához. Ha szükségessé válik, könnyen áttelepíthetjük a munkánkat egy másik szerverre, vagy exportálhatjuk a jegyzetfüzetünket csomagként, hogy azt más szolgáltatásokon, például a Netlify-n vagy a Github Pages-en megoszthassuk (a csomagok exportálásáról bővebben lentebb, a “Mi következik?” alatt). A számítás kliensben tartása lehetővé teszi számunkra, hogy egy igazán nagyszerű megosztási és együttműködési környezet kialakítására összpontosítsunk, anélkül, hogy a felhőben kellene számítási erőforrásokat kiépítenünk.
Pyodide:
Amikor elkezdtünk azon gondolkodni, hogy a webet jobbá tegyük a tudósok számára, arra összpontosítottunk, hogy hogyan tehetnénk jobbá a Javascript-kel való munkát, például a meglévő tudományos könyvtárak WebAssembly-be fordításával és könnyen használható JS API-kba csomagolásával. Amikor ezt javasoltuk a Mozilla WebAssembly-varázslóinak, egy még ambiciózusabb ötletet ajánlottak: ha sok tudós a Pythont részesíti előnyben, találkozzunk velük ott, ahol vannak, és fordítsuk le a Python tudományos stacket WebAssemblyben futtathatóvá.
Azt gondoltuk, hogy ez ijesztően hangzik – hogy ez egy hatalmas projekt lesz, és hogy soha nem fog kielégítő teljesítményt nyújtani… de két héttel később Mike Droettboomnak volt egy működő Python implementációja, amely egy Iodide notebookon belül futott. A következő hónapokban hozzáadtuk a Numpy, Pandas és Matplotlib modulokat, amelyek messze a leggyakrabban használt modulok a Python tudományos ökoszisztémában. Kirill Smelkov és Roman Yurchak, a Nexedi munkatársainak segítségével megszereztük a Scipy és a scikit-learn támogatását. Azóta apránként további könyvtárakat adtunk hozzá.
A Python-értelmező futtatása egy Javascript virtuális gépen belül teljesítménybeli hátrányt jelent, de ez a hátrány meglepően kicsinek bizonyul – a benchmarkjaink szerint körülbelül 1x-12x lassabb, mint a natív Firefoxon és 1x-16x lassabb a Chrome-on. A tapasztalatok azt mutatják, hogy ez nagyon jól használható az interaktív felfedezéshez.
A Matplotlib böngészőben való futtatása lehetővé teszi annak interaktív funkcióit, amelyek statikus környezetben nem állnak rendelkezésre
A Python böngészőbe való behozása néhány varázslatos munkafolyamatot hoz létre. Például importálhatja és megtisztíthatja az adatait Pythonban, majd Javascriptből elérheti az így kapott Python-objektumokat (a legtöbb esetben a konverzió automatikusan megtörténik), hogy megjeleníthesse őket olyan JS-könyvtárakkal, mint a d3. Még varázslatosabb, hogy Python kódból elérheted a böngésző API-it, ami lehetővé teszi, hogy olyan dolgokat csinálj, mint például a DOM manipulálása a Javascript érintése nélkül.
A Pyodide-ról persze még sok mindent el lehetne mondani, és megérdemelne egy saját cikket – a következő hónapban egy következő bejegyzésben részletesebben is foglalkozunk vele.
JSMD (JavaScript MarkDown)
A Jupyterhez és az R R-Markdown módjához hasonlóan a Jodide-ban is tetszés szerint átlapolhatja a kódot és az írást, a kódot “kóddarabokra” bontva, amelyeket külön egységként módosíthat és futtathat. Ennek az ötletnek a megvalósítása párhuzamba állítható az R Markdown és a MATLAB “cellamódjával”: ahelyett, hogy kifejezetten cellaalapú felületet használnánk, az Iodide jegyzetfüzet tartalma csupán egy szöveges dokumentum, amely egy speciális szintaxist használ a cellák meghatározott típusainak elhatárolására. Ezt a szövegformátumot “JSMD”-nek nevezzük.
A MATLAB-ot követve a kóddarabokat a %%
kezdetű sorok határozzák meg, amelyeket az alatta lévő kóddarab nyelvét jelző karakterlánc követ. Jelenleg támogatjuk a Javascriptet, CSS-t, Markdownt (és HTML-t), Pythont, egy speciális “fetch” chunkot, amely egyszerűsíti az erőforrások betöltését, valamint egy plugin chunkot, amely lehetővé teszi a Jodid funkcionalitásának bővítését új cellatípusok hozzáadásával.
Ezt a formátumot elég kényelmesnek találtuk. Könnyen használhatóvá teszi a szövegorientált eszközöket, például a diff viewereket és a saját kedvenc szövegszerkesztőjét, és olyan szabványos szöveges műveleteket végezhet, mint a kivágás/másolás/beillesztés, anélkül, hogy meg kellene tanulnia a cellakezeléshez szükséges gyorsbillentyűket. További részletekért a JSMD-ről a dokumentációnkban olvashat.
Mi következik?
Érdemes megismételni, hogy még mindig alfa állapotban vagyunk, így folytatjuk az általános csiszolást és a hibák kiküszöbölését. De emellett számos funkciót tervezünk a következő kísérletezési körre. Ha valamelyik ötlet különösen hasznosnak tűnik, ossza meg velünk! Még jobb, ha szólsz, ha szeretnél segíteni a megvalósításukban!
Elnagyított kollaboratív funkciók
Amint fentebb említettük, eddig egy nagyon egyszerű háttértárat építettünk, amely lehetővé teszi, hogy online mentse a munkáját, megnézze mások által végzett munkákat, és gyorsan forkolja és bővítse a más felhasználók által készített jegyzetfüzeteket, de ezek csak a kezdeti lépések egy hasznos kollaboratív munkafolyamatban.
A következő három nagy együttműködési funkció, amelynek hozzáadását tervezzük:
- Google Docs-stílusú kommentszálak
- A Github pull request-hez hasonló fork/merge munkafolyamaton keresztül változtatások javasolása egy másik felhasználó jegyzetfüzetéhez
- Simultán jegyzetfüzet-szerkesztés, mint a Google Docs.
Ebben a pillanatban nagyjából ebben a sorrendben állítjuk fel a prioritásokat, de ha más sorrendben kezelnéd őket, vagy ha más javaslataid vannak, tudasd velünk!
Még több nyelv!
Beszéltünk az R és Julia közösségek tagjaival arról, hogy ezeket a nyelveket WebAssembly-be fordítanánk, ami lehetővé tenné a használatukat a Iodide-ban és más böngésző alapú projektekben. A kezdeti vizsgálataink azt mutatják, hogy ez megvalósítható lenne, de ezeknek a nyelveknek a megvalósítása egy kicsit nagyobb kihívás lehet, mint a Pythoné. Akárcsak a Python esetében, néhány remek munkafolyamat nyílik meg, ha például statisztikai modelleket illeszthetünk az R-ben vagy differenciálegyenleteket oldhatunk meg a Juliában, majd az eredményeket a böngésző API-k segítségével jeleníthetjük meg. Ha érdekli, hogy ezeket a nyelveket a webre hozza, kérjük, vegye fel velünk a kapcsolatot – különösen a FORTRAN és LLVM szakértők segítségét várjuk.
Notebook archívum exportálása
A jodid korai változatai önálló, futtatható HTML fájlok voltak, amelyek mind az elemzéshez használt JSMD kódot, mind magát a jodid futtatásához használt JS kódot tartalmazták, de mostanra eltávolodtunk ettől az architektúrától. A későbbi kísérletek meggyőztek minket arról, hogy a Iodide szerverrel való együttműködés előnyei felülmúlják a fájlok helyi rendszeren történő kezelésének előnyeit. Mindazonáltal ezek a kísérletek megmutatták, hogy lehetséges futtatható pillanatfelvételt készíteni egy Iodide notebookról azáltal, hogy a notebook által használt adatokkal és könyvtárakkal együtt az Iodide kódot egy nagy HTML fájlba illesztjük. Lehet, hogy ez végül nagyobb fájl lesz, mint amekkorát a rendszeres felhasználóknak szeretnénk kiszolgáltatni, de hasznosnak bizonyulhat egy elemzés tökéletesen reprodukálható és archiválható pillanatfelvételeként.
Iodide to text editor browser extension
Míg sok tudós meglehetősen hozzászokott ahhoz, hogy böngészőalapú programozási környezetben dolgozzon, tudjuk, hogy vannak, akik soha nem fognak másban kódot szerkeszteni, mint a kedvenc szövegszerkesztőjükben. Nagyon szeretnénk, ha a Iodide ott találkozna az emberekkel, ahol már vannak, beleértve azokat is, akik inkább egy másik szerkesztőprogramban írják be a kódjukat, de szeretnének hozzáférni a Iodide által biztosított interaktív és iteratív funkciókhoz. Ennek az igénynek a kiszolgálására elkezdtünk gondolkodni egy könnyű böngészőbővítmény és néhány egyszerű API létrehozásán, hogy a Iodide beszélhessen a kliensoldali szerkesztőkkel.
Feedback és együttműködés szívesen látjuk!
Nem próbáljuk megoldani az adattudomány és a tudományos számítástechnika minden problémáját, és tudjuk, hogy a Iodide nem lesz mindenkinek a csésze teája. Ha terabájtnyi adatot kell feldolgoznia GPU-klasztereken, a Jodid valószínűleg nem sokat tud nyújtani Önnek. Ha folyóiratcikkeket publikál, és csak egy LaTeX-dokumentumot kell megírnia, akkor vannak jobb eszközök is az igényeihez. Ha az egész trend, hogy a dolgokat a böngészőbe hozzuk, egy kicsit megrémít, semmi gond – van egy csomó igazán csodálatos eszköz, amivel tudományos munkát végezhetsz, és ezért hálásak vagyunk! Nem akarjuk megváltoztatni senki munkamódszerét, és sok tudós számára a webes kommunikáció nem is lényeges. Radikális! Éld a legjobb életed!
De azoknak a tudósoknak, akik valóban webes tartalmakat készítenek, és azoknak, akik esetleg szívesen tennék ezt, ha lennének olyan eszközök, amelyeket a munkamódszerük támogatására terveztek: nagyon szeretnénk hallani rólatok!
Kérem, látogassatok el az iodide.io-ra, próbáljátok ki, és adjatok nekünk visszajelzést (de még egyszer: tartsátok észben, hogy ez a projekt alfa fázisban van – kérjük, ne használjátok kritikus munkára, és legyetek tisztában azzal, hogy amíg alfa fázisban vagyunk, minden változhat). Kitöltheted a gyors felmérésünket, és a Githubon a problémákat és hibajelentéseket nagyon szívesen fogadjuk. A Google-csoportunkon vagy a Gitteren keresztül megoszthatók a funkciókérések és az általános irányvonallal kapcsolatos gondolatok.
Ha szeretnél részt venni a Jodid építésében, nyílt forráskódúak vagyunk a Githubon. A Iodide a szoftveres szakterületek széles skáláját érinti, a modern frontend-fejlesztéstől a tudományos számítástechnikán át a fordításig és az átfordításig, így sok érdekes dologgal lehet foglalkozni! Kérjük, fordulj hozzánk, ha bármelyik érdekel!
Hatalmas köszönet Hamilton Ulmer-nek, William Lachance-nek és Mike Droettboom-nak a Iodide-on végzett nagyszerű munkájukért és a cikk átnézéséért.
Brendan Colloranról
Még több cikk Brendan Colloran tollából…