general considerations and further recherche to Unix design philosophies

using Claude to dig into the ''MIT vs Berkely'' divide,
then dive into various original sources.

Relevant since the Unix design is often linked to the ''Berkely'' attitude,
and this system of simple building blocks is rooted in blocking IO as an concurrency primitive
This commit is contained in:
Fischlurch 2026-08-04 03:34:48 +02:00
parent 5068e04bd7
commit 7650da5d67

View file

@ -97,6 +97,30 @@
<node CREATED="1784567752745" ID="ID_1176340721" MODIFIED="1784567769924" TEXT="und dann so anornen, da&#xdf; er weniger st&#xf6;rt"/> <node CREATED="1784567752745" ID="ID_1176340721" MODIFIED="1784567769924" TEXT="und dann so anornen, da&#xdf; er weniger st&#xf6;rt"/>
</node> </node>
</node> </node>
<node CREATED="1785790228608" ID="ID_1967437025" MODIFIED="1785790231541" TEXT="Darstellung">
<node CREATED="1785790274888" ID="ID_642718439" MODIFIED="1785790618638" TEXT="Target-Audience beachten">
<arrowlink COLOR="#9c3f50" DESTINATION="ID_1612420528" ENDARROW="Default" ENDINCLINATION="-1002;67;" ID="Arrow_ID_1857563368" STARTARROW="None" STARTINCLINATION="-316;34;"/>
<node CREATED="1785790624736" ID="ID_942453754" MODIFIED="1785790659474" TEXT="mu&#xdf; annehmen da&#xdf; Denkweisen der systemnahen Programmierung nicht bekannt sind"/>
<node CREATED="1785790662323" ID="ID_337982910" MODIFIED="1785790682620" TEXT="kann aber keine Einf&#xfc;hrung geben (systematisch gar nicht m&#xf6;glich)"/>
<node CREATED="1785790692615" ID="ID_1452357773" MODIFIED="1785790710776" TEXT="also: &#x201e;ich la&#xdf; euch mal zuschauen....&#x201c;"/>
</node>
<node CREATED="1785790716243" ID="ID_1869514045" MODIFIED="1785790725942" TEXT="mu&#xdf; &#xbb;Synchronisation&#xab; eigens behandeln">
<node CREATED="1785791037159" ID="ID_396828809" MODIFIED="1785791086458" TEXT="hier &#xbb;trennt sich die Spreu vom Weizen&#xab;">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
die allermeisten Entwickler heutzutage gehen niemals &#252;ber diese Schwelle, und verstecken sich deshalb hinter Frameworks
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1785791092863" ID="ID_709044928" MODIFIED="1785791103479" TEXT="es ist viel Halbwissen unterwegs"/>
</node>
</node>
<node CREATED="1715854555555" ID="ID_364372421" MODIFIED="1519335105159" TEXT="Fazit"/> <node CREATED="1715854555555" ID="ID_364372421" MODIFIED="1519335105159" TEXT="Fazit"/>
</node> </node>
<node CREATED="1715854555555" HGAP="138" ID="ID_757112290" MODIFIED="1527787200581" POSITION="right" TEXT="Darstellung" VSHIFT="-22"> <node CREATED="1715854555555" HGAP="138" ID="ID_757112290" MODIFIED="1527787200581" POSITION="right" TEXT="Darstellung" VSHIFT="-22">
@ -300,8 +324,39 @@
</node> </node>
</node> </node>
<node CREATED="1785706612483" ID="ID_1663361337" MODIFIED="1785706623541" TEXT="use abstractions to describe what is needed"> <node CREATED="1785706612483" ID="ID_1663361337" MODIFIED="1785706623541" TEXT="use abstractions to describe what is needed">
<node CREATED="1785706639886" ID="ID_1744235557" MODIFIED="1785706644658" TEXT="a barrier / fence"/> <node CREATED="1785706639886" ID="ID_1744235557" MODIFIED="1785706644658" TEXT="a barrier / fence">
<node CREATED="1785706645606" ID="ID_1006949995" MODIFIED="1785706652761" TEXT="an atomic with memory-order"/> <node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1785788524638" ID="ID_1954156183" MODIFIED="1785788529676" TEXT="ambiguity">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1785788536375" ID="ID_1664468875" MODIFIED="1785788543946" TEXT="barrier is used in two flavours">
<node CREATED="1785788545065" ID="ID_615184502" MODIFIED="1785788558771" TEXT="synchronisation barrier &#x27f9; a control-flow device"/>
<node CREATED="1785788560407" ID="ID_902009764" MODIFIED="1785788570172" TEXT="memory barrier: synonymous to &quot;fence&quot;"/>
</node>
<node CREATED="1785788228092" ID="ID_1833234694" MODIFIED="1785788240158" TEXT="fence is used in two meanings">
<node CREATED="1785788486161" ID="ID_1563041065" MODIFIED="1785788507616" TEXT="&quot;fence&quot; in OS literature: a hardware supported primitive"/>
<node CREATED="1785788262637" ID="ID_293253681" MODIFIED="1785788483923" TEXT="std::atomic_thread_fence &#x27f9; a standarlone version of atomic ordering"/>
</node>
</node>
<node CREATED="1785788597320" ID="ID_612417499" LINK="#ID_1041458587" MODIFIED="1785788689382" TEXT="typically related to hardware / ISA"/>
</node>
<node CREATED="1785706645606" ID="ID_1006949995" MODIFIED="1785706652761" TEXT="an atomic with memory-order">
<node CREATED="1785791118824" ID="ID_140629594" MODIFIED="1785791139325" TEXT="a conceptual tool of the language standard (C++)"/>
<node CREATED="1785791141122" ID="ID_1377087178" MODIFIED="1785791155253" TEXT="BUT: it integrates limitations for the Compiler/Optimiser"/>
</node>
</node>
<node CREATED="1785791188795" ID="ID_1512345327" MODIFIED="1785791203573" TEXT="visiblity vs. control-flow">
<node CREATED="1785791204505" ID="ID_1519603089" MODIFIED="1785791238988" TEXT="a memory barrier in itself does not impact the control flow"/>
<node CREATED="1785791217111" ID="ID_1010220877" MODIFIED="1785791232073" TEXT="but it is the foundation to synchronise two control-flows"/>
</node>
<node CREATED="1785791243995" ID="ID_564793830" MODIFIED="1785791259240" TEXT="Example: Producer-Consumer">
<node CREATED="1785791260357" ID="ID_1065157346" MODIFIED="1785791274112" TEXT="Claude hat ein sehr gutes Code-Beispiel aufgeschrieben"/>
<node CREATED="1785791274543" ID="ID_1417066396" MODIFIED="1785791277867" TEXT="daran kann man zeigen">
<node CREATED="1785791279262" ID="ID_367637685" MODIFIED="1785791288802" TEXT="welche fences hier auftreten"/>
<node CREATED="1785791289198" ID="ID_1104497858" MODIFIED="1785791294720" TEXT="was synchronises-with hei&#xdf;t"/>
<node CREATED="1785791295444" ID="ID_523589950" MODIFIED="1785791302711" TEXT="das &quot;walk-away&quot;-Pattern"/>
</node>
</node>
<node CREATED="1785791338743" ID="ID_124246727" MODIFIED="1785791346259" TEXT="Futex und wait-states bauen darauf auf">
<node CREATED="1785791353939" ID="ID_602058573" MODIFIED="1785791370380" TEXT="&quot;walk away&quot; &#x27f9; hei&#xdf;t hier &quot;Schlaf!&quot;"/>
</node> </node>
</node> </node>
</node> </node>
@ -564,7 +619,7 @@
<icon BUILTIN="clanbomber"/> <icon BUILTIN="clanbomber"/>
</node> </node>
<node CREATED="1723508279705" ID="ID_1768919179" MODIFIED="1723508290155" TEXT="da&#xdf; ich hier einen durchaus eigenwilligen Weg gehe"/> <node CREATED="1723508279705" ID="ID_1768919179" MODIFIED="1723508290155" TEXT="da&#xdf; ich hier einen durchaus eigenwilligen Weg gehe"/>
<node CREATED="1784566608876" ID="ID_1680364545" MODIFIED="1784566714722" TEXT="da&#xdf; die eigentlichen Probleme f&#xfc;r Lumiera ungel&#xf6;st sind"> <node CREATED="1784566608876" ID="ID_1680364545" MODIFIED="1785790359493" TEXT="da&#xdf; die eigentlichen Probleme f&#xfc;r Lumiera ungel&#xf6;st sind">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head>
@ -574,7 +629,26 @@
Damit meine ich, ob der Ansatz mit symbolisch repr&#228;sentierten externen F&#228;higkeiten &#252;berhaupt aufgeht, und ob es tats&#228;chlich gelingt, ein Werkzeug-Paradigma auf der Basis von Placements zu schaffen. Und, last but not least, ob ich Leute finden, die mich unterst&#252;tzen und sich diese Vision aneignen Damit meine ich, ob der Ansatz mit symbolisch repr&#228;sentierten externen F&#228;higkeiten &#252;berhaupt aufgeht, und ob es tats&#228;chlich gelingt, ein Werkzeug-Paradigma auf der Basis von Placements zu schaffen. Und, last but not least, ob ich Leute finden, die mich unterst&#252;tzen und sich diese Vision aneignen
</p> </p>
</body> </body>
</html></richcontent> </html>
</richcontent>
</node>
<node CREATED="1785790294093" ID="ID_1612420528" MODIFIED="1785790618638" TEXT="innerer Widerspruch bez&#xfc;glich &#xbb;Audience&#xab;">
<linktarget COLOR="#9c3f50" DESTINATION="ID_1612420528" ENDARROW="Default" ENDINCLINATION="-1002;67;" ID="Arrow_ID_1857563368" SOURCE="ID_642718439" STARTARROW="None" STARTINCLINATION="-316;34;"/>
<node CREATED="1785790491314" ID="ID_215785223" MODIFIED="1785790509619" TEXT="das Thema ist eigentlich zu komplex f&#xfc;r eine &#xbb;allgemeine&#xab; Zuh&#xf6;rerschaft"/>
<node CREATED="1785790510700" ID="ID_94720075" MODIFIED="1785790531089" TEXT="aber ich richte mich gezielt an diese &#x2014; weil es eigentlich um Lumiera geht"/>
<node CREATED="1785790544447" ID="ID_652954139" MODIFIED="1785790586779">
<richcontent TYPE="NODE"><html>
<head>
</head>
<body>
<p>
der Talk kommt <i>fachlich</i>&#160;daher &#8212; ist aber eigentlich ein <i>Narrativ</i>&#160; und <i>allgemeines Lehrst&#252;ck</i>
</p>
</body>
</html>
</richcontent>
</node>
</node> </node>
</node> </node>
</node> </node>
@ -1303,6 +1377,7 @@
</p> </p>
</body> </body>
</html></richcontent> </html></richcontent>
<node CREATED="1785788731289" ID="ID_967019067" MODIFIED="1785788740700" TEXT="this is expensive"/>
</node> </node>
</node> </node>
</node> </node>
@ -1865,6 +1940,157 @@
</node> </node>
</node> </node>
</node> </node>
<node CREATED="1785804402157" ID="ID_1203491113" MODIFIED="1785804415528" TEXT="Design-Philosophien">
<node CREATED="1785804416696" ID="ID_520132718" MODIFIED="1785804431381" TEXT="warum ist Linux &#xbb;im Kern synchron&#xab;?">
<node BACKGROUND_COLOR="#accdc3" COLOR="#3f4015" CREATED="1785804452783" ID="ID_1420036923" MODIFIED="1785804939680" STYLE="fork" TEXT="Ans&#xe4;tze">
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
<icon BUILTIN="wizard"/>
<node CREATED="1785804462733" ID="ID_1457799258" MODIFIED="1785804939678" TEXT="weil es von Unix abstammt">
<node CREATED="1785804482173" ID="ID_1948549857" MODIFIED="1785804939678" TEXT="blocking-IO macht Pipelines m&#xf6;glich"/>
<node CREATED="1785804501768" ID="ID_1281083182" MODIFIED="1785804939678" TEXT="daher ist es tats&#xe4;chlich eine concurrency-L&#xf6;sung"/>
<node CREATED="1785804513028" ID="ID_810564608" MODIFIED="1785804939678" TEXT="fr&#xfc;her war IO inh&#xe4;rent &quot;sequentiell&quot; (und laaaaangsam)"/>
<node CREATED="1785804579094" ID="ID_169491261" MODIFIED="1785804939678" TEXT="klar strukturierte Prozesse &#x2014; concurrency macht der Kernel"/>
</node>
<node CREATED="1785804617057" ID="ID_1017583320" MODIFIED="1785804939678" TEXT="die MIT vs. Berkely (oder &quot;New Yersey&quot;) - Spaltung">
<node CREATED="1785804660938" ID="ID_1005661547" MODIFIED="1785804939678" TEXT="&quot;Worse is Better&quot;"/>
<node CREATED="1785804666379" ID="ID_1582632" MODIFIED="1785804939678" TEXT="Unix ist klein und leicht zu portieren"/>
<node CREATED="1785804699380" ID="ID_1566178029" MODIFIED="1785804939678" TEXT="Komplexit&#xe4;t wird zum User verschoben"/>
</node>
<node CREATED="1785804734992" ID="ID_689668422" MODIFIED="1785804939678" TEXT="direct style vs. continuation-passing">
<node CREATED="1785804754814" ID="ID_1857083368" MODIFIED="1785804939678" TEXT="letzteres erfoldert ein Framework oder Sprachunterst&#xfc;tzung"/>
<node CREATED="1785804771030" ID="ID_942195693" MODIFIED="1785804939678" TEXT="diekt-Style kann man leicht in C schreiben"/>
</node>
<node CREATED="1785804791625" ID="ID_1260040279" MODIFIED="1785804939678" TEXT="historische Wurzeln">
<node CREATED="1785804799556" ID="ID_1705484855" MODIFIED="1785804939678" TEXT="Gro&#xdf;rechner">
<node CREATED="1785804803735" ID="ID_1712110487" MODIFIED="1785804939678" TEXT="hatten schon in den 60ern echtes Async-processing">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Stichwort: Channel Programs
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1785804820899" ID="ID_1792223474" MODIFIED="1785804939678" TEXT="damals war die Core extrem teuer, und die Peripherie billig"/>
</node>
<node CREATED="1785804856072" ID="ID_1948328630" MODIFIED="1785804939678" TEXT="Minicomputers">
<node CREATED="1785804891691" ID="ID_570139726" MODIFIED="1785804939678" TEXT="DEC und VMS"/>
<node CREATED="1785804904554" ID="ID_565305668" MODIFIED="1785804939678" TEXT="AST: Asynchronous System Traps">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
a completion routine the system delivers by interrupting your thread. Results land in an I/O Status Block; you synchronize with event flags. Submit, continue, get called back.
</body>
</html>
</richcontent>
</node>
</node>
<node CREATED="1785805001938" ID="ID_1225715009" MODIFIED="1785805004288" TEXT="Dave Cutler">
<node CREATED="1785805005222" ID="ID_1389176244" MODIFIED="1785805009419" TEXT="hat f&#xfc;r VMS gearbeitet"/>
<node CREATED="1785805009875" ID="ID_1379143061" MODIFIED="1785805024309" TEXT="dann zu Microsoft &#x27f6; dort NT entwickelt"/>
<node CREATED="1785805224198" ID="ID_1190503655" MODIFIED="1785805266125" TEXT="NT hatte ein POSIX-Subsystem, nur f&#xfc;r FIPX-151-compliance">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1190503655" ENDARROW="Default" ENDINCLINATION="89;4;" ID="Arrow_ID_1739832767" SOURCE="ID_1416441454" STARTARROW="None" STARTINCLINATION="72;-2;"/>
<node CREATED="1785805270424" ID="ID_1212846076" MODIFIED="1785805325165" TEXT="das war hier ein &quot;Randfall&quot; &#x2014; und in der Praxis irrelevant">
<arrowlink DESTINATION="ID_1748959283" ENDARROW="Default" ENDINCLINATION="212;10;" ID="Arrow_ID_1416167543" STARTARROW="None" STARTINCLINATION="40;148;"/>
</node>
</node>
</node>
<node CREATED="1785805084727" ID="ID_1061852207" MODIFIED="1785805087933" TEXT="POSIX">
<node CREATED="1785805088928" ID="ID_107490748" MODIFIED="1785805102753" TEXT="war lediglich eine Konsolidierung der damaligen Unix-Landschaft"/>
<node CREATED="1785805103406" ID="ID_237364056" MODIFIED="1785805119376" TEXT="hat den Ansatz der inter-process-Concurrency festgeschrieben"/>
<node CREATED="1785805187779" ID="ID_1416441454" MODIFIED="1785805266125" TEXT="US &quot;FIPS 151&quot; : verlangt POSIX-compliance f&#xfc;r Government-Procurment">
<arrowlink DESTINATION="ID_1190503655" ENDARROW="Default" ENDINCLINATION="89;4;" ID="Arrow_ID_1739832767" STARTARROW="None" STARTINCLINATION="72;-2;"/>
</node>
<node CREATED="1785805120184" ID="ID_1504987026" MODIFIED="1785805141196" TEXT="Linux war POSIX-compiliant und konnte damit gar nicht anders sein"/>
<node CREATED="1785805149384" ID="ID_1748959283" MODIFIED="1785805325166" TEXT="POSIX ASIO ist als Reandfall gedacht, f&#xfc;r &quot;real-time systems&quot;">
<linktarget COLOR="#a9b4c1" DESTINATION="ID_1748959283" ENDARROW="Default" ENDINCLINATION="212;10;" ID="Arrow_ID_1416167543" SOURCE="ID_1212846076" STARTARROW="None" STARTINCLINATION="40;148;"/>
</node>
</node>
</node>
</node>
<node CREATED="1785805358964" ID="ID_1303284509" MODIFIED="1785805366918" TEXT="MIT vs. Berkely">
<node CREATED="1785805368992" ID="ID_1532683119" MODIFIED="1785805387092" TEXT="Async-IO ist vor allem ein Interface &#x2014; MIT-Style">
<node CREATED="1785805389503" ID="ID_1066936890" MODIFIED="1785805399454" TEXT="also eine vereinfachende Abstraktion"/>
<node CREATED="1785805400390" ID="ID_1446974737" MODIFIED="1785805414664" TEXT="bietet einen einheitlichen Kontrakt mit Korrektheits-Garantie"/>
</node>
<node CREATED="1785805417964" ID="ID_1034172535" MODIFIED="1785805436167" TEXT="demgegen&#xfc;ber k&#xf6;nnte man blocking-IO als &#xbb;Berkely-style&#xab; bezeichnen">
<node CREATED="1785805436996" ID="ID_592860998" MODIFIED="1785805441828" TEXT="einfach zu iimplementieren"/>
<node CREATED="1785805442576" ID="ID_103267801" MODIFIED="1785805450215" TEXT="Komplexit&#xe4;ten wandern zum User"/>
</node>
<node CREATED="1785805476292" ID="ID_763961218" MODIFIED="1785805493653" TEXT="inzwischen gibt es einen Mittelweg: abstracted continuations">
<node CREATED="1785805498849" ID="ID_1654664703" MODIFIED="1785805536048" TEXT="Erlang, Aktoren, Goroutines, Coroutinen"/>
<node CREATED="1785805586557" ID="ID_945535370" MODIFIED="1785805615976" TEXT="&#xbb;function coloration&#xab; leicht gemacht">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
d.h. das Problem mit den <i>coloured functions</i>&#160;wird nicht gel&#246;st, aber der Schmerz wird reduziert
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
</node>
<node CREATED="1785805707014" ID="ID_1430769471" MODIFIED="1785805735016" TEXT="Channel Progams &#x27f6; IO-Logik">
<node CREATED="1785805739128" ID="ID_307384766" MODIFIED="1785805756035" TEXT="auf dem Mainframe laufen die Channel-Programs separat vom Kern"/>
<node CREATED="1785805760204" ID="ID_166287783" MODIFIED="1785805767042" TEXT="io_uring und BPF">
<node BACKGROUND_COLOR="#f2e1ba" COLOR="#2f2577" CREATED="1785805768996" ID="ID_1807082301" MODIFIED="1785805802984" TEXT="das sind Neuerungen in 2026">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1785805808990" ID="ID_1350573167" MODIFIED="1785805815881" TEXT="zwei verschiedene Entwicklungen">
<node CREATED="1785805817007" ID="ID_418215666" MODIFIED="1785805860708" TEXT="cBPF f&#xfc;r Sicherheits-Filtering"/>
<node CREATED="1785805827846" ID="ID_506178696" LINK="https://lkml.rescloud.iu.edu/2106.0/05620.html" MODIFIED="1785806029205" TEXT="eBPF for event-loop control">
<node CREATED="1785806034520" ID="ID_675648051" MODIFIED="1785806047826" TEXT="vermeidet den Kontext-Switch f&#xfc;r continuation-chaining"/>
<node CREATED="1785806048491" ID="ID_24264743" MODIFIED="1785806066487" TEXT="das eBPF-Programm kann unimittelbar weiteres IO beauftragen"/>
<node CREATED="1785806067739" ID="ID_867470885" MODIFIED="1785806079174" TEXT="allerdings: das l&#xe4;uft alles im Kernel (nicht auf einem externen Device)"/>
</node>
</node>
</node>
</node>
<node CREATED="1785806134178" ID="ID_196718915" MODIFIED="1785806167810" TEXT="&#xbb;Worse is Better&#xab;">
<node CREATED="1785806143377" ID="ID_769817813" LINK="https://en.wikipedia.org/wiki/Worse_is_better" MODIFIED="1785806156651" TEXT="Wikipedia"/>
<node CREATED="1785806196578" ID="ID_106898826" LINK="https://yosefk.com/blog/what-worse-is-better-vs-the-right-thing-is-really-about.html" MODIFIED="1785806220192" TEXT="Blog: What &quot;Worse is Better vs The Right Thing&quot; is really about">
<node CREATED="1785806227700" ID="ID_646833802" MODIFIED="1785806241320" TEXT="argumentiert da&#xdf; es um &#xbb;evolution&#xe4;ren Erfolg&#xab; geht"/>
<node CREATED="1785806242287" ID="ID_1662494576" MODIFIED="1785806257395" TEXT="nicht um besser/schlechter/richtig/falsch"/>
</node>
<node CREATED="1785806885989" ID="ID_1342407665" MODIFIED="1785806905620" TEXT="Richard Gabriel hat mit sich selber eine &#xbb;Debatte&#xab; gef&#xfc;hrt">
<node CREATED="1785806906727" ID="ID_290906212" MODIFIED="1785806928635" TEXT="sein erster Artikel was als satirische &#xdc;berzeichnung gedacht"/>
<node CREATED="1785806929283" ID="ID_1833959351" MODIFIED="1785807147619">
<richcontent TYPE="NODE"><html>
<head>
</head>
<body>
<p>
nachdem der Artikel so stark eingeschlagen hat,
</p>
<p>
hat er selber, unter einem Pseudonym, eine Replik geschrieben
</p>
</body>
</html>
</richcontent>
<node CREATED="1785807193346" ID="ID_977154454" LINK="http://dreamsongs.com/Files/worse-is-worse.pdf" MODIFIED="1785807201901" TEXT="&quot;Worse is Better is Worse&quot;"/>
</node>
<node CREATED="1785807148579" ID="ID_1979393125" LINK="https://dreamsongs.com/Essays.html" MODIFIED="1785807160610" TEXT="Essays von Richard Gabriel">
<icon BUILTIN="back"/>
<node CREATED="1785807208321" ID="ID_1501711769" MODIFIED="1785807219621" TEXT="beachte: Auseinandersetzung mit Christopher Alexander">
<icon BUILTIN="idea"/>
</node>
</node>
</node>
</node>
</node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519001955679" ID="ID_65625223" MODIFIED="1779386731937" TEXT="Demo-Inhalte"> <node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1519001955679" ID="ID_65625223" MODIFIED="1779386731937" TEXT="Demo-Inhalte">