ich hatte mir ja im Vorfeld überlegt, was für ein Publikum vermutlich auf der FrOSCon herumläuft; dem entsprechend war der Vortrag auf »Allgemeinbildungs-Niveau« angelegt.... (was allerdings auch bereits für Benny eine erhebliche Herausforderung war, also vermutlich auch für andere Leute)
<node CREATED="1755783401946" ID="ID_1555871563" LINK="https://lumiera.org/research/videoDisplay/index.html" MODIFIED="1755783828602" TEXT="Direkt-Link auf die Landing-Page">
<node CREATED="1753133245990" ID="ID_1737109820" MODIFIED="1753133263062" TEXT="einen plausiblen Anlaß, um einen Vortrag mit Lumiera-Bezug zu halten"/>
<node CREATED="1753133263959" ID="ID_1208154525" MODIFIED="1753133281172" TEXT="Kompetenz in »hard-core«-Themen demonstrieren"/>
<node CREATED="1783367993803" ID="ID_1431968418" LINK="https://towardsdev.com/io-uring-vs-epoll-syscall-overhead-linux-performance-a3d7fcc6c9b9?gi=3c0154f883b2" MODIFIED="1783368130857" TEXT="Medium.com: The Linux I/O Interface That Finally Makes Sense">
<node CREATED="1783368328751" ID="ID_1994767905" LINK="https://unixism.net/2020/04/io-uring-by-example-article-series/" MODIFIED="1783368342820" TEXT="IO_URING by example (2020)">
<node CREATED="1783370514114" ID="ID_1349175602" LINK="https://arxiv.org/abs/2512.04859" MODIFIED="1783370550553" TEXT="Interessant: arXiv — High-Performance DBMSs with io_uring: When and How to use it"/>
<node CREATED="1779396332330" ID="ID_1277198826" MODIFIED="1779396361916" TEXT="zwei Ringbuffer ("queue rings" ⟶ daher der Name)"/>
<node CREATED="1779396785527" ID="ID_1581052613" MODIFIED="1779396800974" TEXT="eingeführt 2019 mit Linux 5.1"/>
<node CREATED="1779396508382" ID="ID_1790185181" MODIFIED="1779396544764" TEXT="soll den Rückstand von Linux für async-IO beheben">
<node CREATED="1779398726939" ID="ID_64708046" MODIFIED="1779398814014" TEXT="die de-facto-Lösung ist EPOLL">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
man setzt einen Socket auf "asynchron". Durch cleveres Polling bekommt man mit, wann die IO-Operation »ready« wird. <b>Aber</b> das ist readyness-semantics, not completion-semantics. Und es ist sehr limitiert, und setzt eine komplexe State-Machine im Userland vorraus
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1779396620988" ID="ID_769607449" MODIFIED="1779396634370" TEXT="es gab seit Linux 2.5 bereits async_io"/>
<node CREATED="1779396635421" ID="ID_1823781286" MODIFIED="1779396769771" TEXT="das ist aber auf Spezialfälle limitiert und schwierig zu nutzen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Arbeitet in einem speziellen Modus, IO_DIRECT
</p>
<p>
Kann nur bereits allozierte/ geöffnete Files bearbeiten
</p>
<p>
kann nicht mit generischen Sockets arbeiten ⟶ auch kein Networking
</p>
<p>
geht am Page Cache vorbei
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1779396658091" ID="ID_1042616589" MODIFIED="1779396675648" TEXT="Windows kann da seit den Nuller-Jahren wesentlich mehr">
<icon BUILTIN="smily_bad"/>
</node>
<node CREATED="1779398012338" ID="ID_157830257" MODIFIED="1779398079260" TEXT="Hardware-Entwicklung hat eine Rolle gespielt">
What it says about the state of hardware is easy.<br />
</p>
<p>
Meltdown mitigations made context switching more expensive, and SSDs made the actual I/O cheaper. At some point, you're spending almost as much time context switching as you are doing actual work, and there's nothing Linux can do about it because it's all tied up in the architecture of the MMU and the processor's cache. Thus, it now makes sense to design the interface around reducing the number of context switches at all cost, instead of just assuming that the cost of doing the actual I/O will dominate.
</p>
</body>
</html></richcontent>
</node>
</node>
<node CREATED="1779396548708" ID="ID_1822858626" MODIFIED="1779396599007" TEXT="kann mit dBPF zusammenarbeiten">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
extended Berkeley Package Filter: ein Framework, das Code als Reaktion auf Events direkt im Kernel-Kontext ausführt
</p>
</body>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1779396822977" ID="ID_211122289" MODIFIED="1779397158118" TEXT="bedingt durch die komplett neue Struktur ⟹ massive Sicherheitsprobleme">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Es wurde alsbald erheblich als Einfallstor für Exploits genutzt, da das bestehende Security-Tooling diese neuen Mechanismen überhaupt nicht »auf dem Schirm« hat. Im Jahr 2023 hat das Google-Security-Team 60% aller Linux-Exploits dem IO_URING subsystem zugeordnet. Daher ist es auf Android und ChromeOS und unter Docker in der Standard-Konfiguration deaktiviert (und hat einen schlechten Ruf unter den »Oldtimern«)
</p>
</body>
</html></richcontent>
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1779397402228" ID="ID_1111670287" LINK="https://github.com/axboe/liburing" MODIFIED="1779397445634" TEXT="die liburing erleichtert den Umgang mit dem anspruchsvollen API">
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#accdc3" COLOR="#3f4015" CREATED="1779398825661" ID="ID_1355173640" MODIFIED="1779398859668" STYLE="fork" TEXT="Chat-GPT meint: das wird die zukünftige default-Lösung">
<node CREATED="1783380657844" ID="ID_1057905414" MODIFIED="1783380667920" TEXT="erst da macht sich der Kontext-Switch bemerkbar"/>
<node CREATED="1783380668713" ID="ID_1392613640" MODIFIED="1783380678765" TEXT="für tausende Requests/sec reicht ein Threadpool"/>
</node>
<node CREATED="1783380582620" ID="ID_188672487" MODIFIED="1783380656505" TEXT="aber: Files sind immer "ready" und ePoll meldet nur das">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
deshalb war die Behandlung von Files stets etwas asymetrisch. Auch wenn der Socket <i>ready</i> ist, kann er dann doch noch blocken, wenn das System unter Druck steht.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783380681615" ID="ID_849345355" MODIFIED="1783380696024" TEXT="das ist für uns das zentrale Argument">
dann erkennt der Kernel sebständig, wenn was neues in der Queue ist
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783381563444" ID="ID_1738464780" MODIFIED="1783381590147" TEXT="kann auch warten bis eine gewisse Zahl an CQ Entries zurückgeschickt wurde"/>
</node>
<node CREATED="1783381611534" ID="ID_1396608178" MODIFIED="1783381625024" TEXT="ein CQE pro SQE, mit Ergebnis-Status">
<node CREATED="1783387631984" ID="ID_888714962" MODIFIED="1783387642585" TEXT="werden verbunden durch einen user_data-Pointer"/>
<node CREATED="1783387674355" ID="ID_1734790893" MODIFIED="1783387688094" TEXT="dieser wird vom Kernel einfach unverändert durchgereicht"/>
<node BACKGROUND_COLOR="#fefc4e" COLOR="#351d75" CREATED="1783389920263" ID="ID_631311167" MODIFIED="1783389939307" TEXT="Ha! das paßt perfekt auf mein Design der Continuations im Scheduler">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="idea"/>
</node>
</node>
<node CREATED="1783384996718" ID="ID_1183383765" MODIFIED="1783385010780" TEXT="CQ-Entries kommen in beliebiger Reihenfolge (wenn ready)">
<node CREATED="1783385011889" ID="ID_141657481" MODIFIED="1783385016940" TEXT="man kann aber Ordnung erzwingen"/>
<node CREATED="1783390090337" ID="ID_1527986562" MODIFIED="1783390107574" TEXT="hier überträgt sich die Systematik der alten IO-Syscalls"/>
<node CREATED="1783390108838" ID="ID_1250332278" MODIFIED="1783390117912" TEXT="man gibt einen Buffer im User-Process-Space an"/>
<node CREATED="1783390118846" ID="ID_752139916" MODIFIED="1783390138958" TEXT="der Kernel sorgt dafür, daß dort die Daten landen"/>
<node CREATED="1783390139733" ID="ID_1637000405" MODIFIED="1783390228531" TEXT="wie er das macht, kann uns egal sein">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
....vermutlich wird der Buffer-Speicher einfach geeignet auch in den Kernel-Space gemapped; jedoch das Setup mit den Command/Completion-Ringbuffern isoliert den User komplett von diesen Fragen. Sehr geschickt!
<node CREATED="1783384437400" ID="ID_261205380" MODIFIED="1783384460053" TEXT="transferiert den File-content lückenlos der Reihe nach in die Buffer"/>
</node>
<node CREATED="1783387732857" ID="ID_1688041268" MODIFIED="1783387775312" TEXT="CQE hat user_date, res/error-code, wie read()"/>
<node CREATED="1783387816253" ID="ID_480695787" MODIFIED="1783387823986" TEXT="SQE ist eine Command-struct">
<node CREATED="1783387824860" ID="ID_1367724603" MODIFIED="1783387827979" TEXT="hat eine Command-ID"/>
<node CREATED="1783387828460" ID="ID_854431460" MODIFIED="1783387836666" TEXT="und dann diverse multi-purpose-fields"/>
<node CREATED="1783387924878" ID="ID_1554669393" MODIFIED="1783387936427" TEXT="Aufrufe sind modelliert nach bekannten IO-Operationen">
<node CREATED="1783388108773" ID="ID_1963002363" MODIFIED="1783388118801" TEXT="bsp: verwendet einen File-Descriptor"/>
<node CREATED="1783388119281" ID="ID_595160605" MODIFIED="1783388126033" TEXT="hat einen Offset in das File"/>
<node CREATED="1783388126544" ID="ID_1557501628" MODIFIED="1783388139315" TEXT="bekommt einen Buffer-pointer oder einen iovec"/>
</node>
</node>
<node CREATED="1783388781316" ID="ID_1265251773" MODIFIED="1783388814792" TEXT="man gibt eine struct io_uring_params an den io_uring_setup()"/>
<node CREATED="1783388646919" ID="ID_1468403550" MODIFIED="1783388660393" TEXT="man definiert sich selbst passende Schnittstellen-Structs">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1783388674071" ID="ID_1871456691" MODIFIED="1783439712989" TEXT="Frage: warum ist das nicht vom Kernel vordefiniert?">
<icon BUILTIN="help"/>
<node CREATED="1783388990307" ID="ID_1963229698" MODIFIED="1783389000855" TEXT="weil das schon ein Abstraktionslayer ist"/>
<node CREATED="1783389001425" ID="ID_149275964" MODIFIED="1783389017213" TEXT="der Kernel definiert lediglich die Basis-structs SQE und CQE"/>
<node CREATED="1783389033526" ID="ID_531781879" MODIFIED="1783389070406" TEXT="die Positionen der Ringbuffer-Kontrollfelder sind quasi-dynamisch"/>
<node CREATED="1783389073434" ID="ID_378448165" MODIFIED="1783389087003" TEXT="sie werden per io_uring_params zurückgegeben"/>
<node CREATED="1783389088143" ID="ID_1057767628" MODIFIED="1783389106739" TEXT="deshalb ist es sinnvoll, sich da eine Interface-struct drüberzusetzen"/>
</node>
<node CREATED="1783388687235" ID="ID_572599133" MODIFIED="1783388699931" TEXT="diese kann man dann per mmap in den user-space mappen"/>
<node CREATED="1783388891850" ID="ID_54309322" MODIFIED="1783388907891" TEXT="für das zu mappende "file" gibt es einen File-Descriptor"/>
<node CREATED="1783388921357" ID="ID_788864531" MODIFIED="1783388932860" TEXT="dieser wird von io_uring_setup() zurückgeliefert"/>
</node>
<node CREATED="1783439723372" ID="ID_70450003" MODIFIED="1783439731172" TEXT="Ringbuffer sind auf Index-Basis implementiert">
<node CREATED="1783439735880" ID="ID_1310555659" MODIFIED="1783439754513" TEXT="es ist ein Array, wobei head und tail als Indices gegeben sind"/>
<node CREATED="1783439755001" ID="ID_339978399" MODIFIED="1783439785005" TEXT="vor dem Zugriff wird der Index modulo die Ringbuffer-Länge genommen"/>
<node CREATED="1783439788873" ID="ID_800063940" MODIFIED="1783439821495" TEXT="Kontrollfelder und die Entry-Arrays liegen im shraed (mmaped) memory"/>
<node CREATED="1783439823932" ID="ID_51197608" MODIFIED="1783439987223" TEXT="die SQ-Entries werden über eine weitere Indirektion mitgeteilt">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Im Submission-Ringbuffer liegt nur eine Index-Nummer, die in ein daneben stehendes weiteres Array zeigt. Im Tutorial heißt es, das sei so konstruiert worden, um Applikationen zusätzliche Flexibilität zu geben (was ich nicht wirklich verstehe, da ja auch das externe SQ-Array im mmapped-mem liegen muß)
<node CREATED="1783440030756" ID="ID_1601251687" MODIFIED="1783440088278" TEXT="braucht immer eine Read-barrier und am Ende eine write-barrier">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
damit man zu Beginn die neuesten Updates vom Kernel mitbekommt, und am Ende dem Kernel die neue Schreib/Lese-Position sichtbar gemacht wird
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783440089704" ID="ID_1425651981" MODIFIED="1783440102635" TEXT="das genügt hier, da es sich um single-Producer/Consumer handelt"/>
<node CREATED="1783446918040" ID="ID_742805192" MODIFIED="1783447636257" TEXT="anscheinend gibt es einen "retry", signalisiert mit EAGAIN">
<node CREATED="1783447637802" ID="ID_1480100399" MODIFIED="1783447653363" TEXT="readv() ist nur eine scatter/gather-variante von read/write()"/>
<node CREATED="1783447770285" ID="ID_1587286955" MODIFIED="1783447818026" TEXT="wenn man read() mit Flag O_NONBLOCK aufruft, könnte der physiche Read trotzdem blocken"/>
<node CREATED="1783447818970" ID="ID_1745751924" MODIFIED="1783447840404" TEXT="in diesem Fall liefert read() einen Fehler (ret=-1) mit Errno == EAGAIN"/>
</node>
<node CREATED="1783446948271" ID="ID_75609256" MODIFIED="1783446958635" TEXT="außerdem können reads/writes kürzer sein als instruiert">
<node CREATED="1783447857789" ID="ID_1707492290" MODIFIED="1783447870607" TEXT="das ist explizit so vorgesehen"/>
<node CREATED="1783447880121" ID="ID_1382932735" MODIFIED="1783447896011" TEXT="kann aber auch durch einen Interrupt bewirkt sein"/>
</node>
<node CREATED="1783446959217" ID="ID_1108500089" MODIFIED="1783446972605" TEXT="in beiden Fällen muß man einen Request anpassen / nochmal senden"/>
<node CREATED="1783467887910" ID="ID_663414334" MODIFIED="1783467904503" TEXT="der Kernel erkennt neue Submission-Queue-Entries von selbst"/>
<node CREATED="1783467913708" ID="ID_1956703105" MODIFIED="1783467937206" TEXT="das spart einen Syscall pro Batch"/>
<node CREATED="1783468073102" ID="ID_1192604598" MODIFIED="1783468079770" TEXT="aktiviert per Flag beim Setup">
<node CREATED="1783468234883" ID="ID_422059492" MODIFIED="1783468250144" TEXT="außerdem: muß das "fixed-files"-feature verwenden"/>
<node CREATED="1783468250631" ID="ID_229494074" MODIFIED="1783468266874" TEXT="das ist ein vorbereitetes Array mit File-Descriptoren"/>
</node>
<node CREATED="1783467937700" ID="ID_1422805249" MODIFIED="1783467948389" TEXT="ABER: Kernel verwendet einen poller-Thread">
<node CREATED="1783467954732" ID="ID_161296285" MODIFIED="1783467979900" TEXT="der verursacht eine nicht-triviale CPU-Last"/>
<node CREATED="1783467981270" ID="ID_1932680351" MODIFIED="1783467997361" TEXT="und er endet von selber, wenn idle; muß dann neu gestartet werden"/>
<node CREATED="1783471326168" ID="ID_1768891087" MODIFIED="1783471336770" TEXT="es gibt einen blocking poll"/>
<node CREATED="1783471337414" ID="ID_1463733161" MODIFIED="1783471345321" TEXT="man kann aber peek-Funktionen verwenden"/>
<node CREATED="1783471346034" ID="ID_821102680" MODIFIED="1783471359503" TEXT="das geht auch für einen Batch von Entries"/>
</node>
<node CREATED="1783469960153" ID="ID_1792704761" LINK="https://unixism.net/loti/tutorial/link_liburing.html#link-liburing" MODIFIED="1783471296410" TEXT="man kann Jobs sequentiell verketten">
<node CREATED="1783469982826" ID="ID_1031698216" MODIFIED="1783469991377" TEXT="dann können sie nur der Reihe nach laufen"/>
<node CREATED="1783469992517" ID="ID_1177264229" MODIFIED="1783470001469" TEXT="natürlich erzeugt das so einige Komplikationen"/>
<node CREATED="1783470003243" ID="ID_1005057440" MODIFIED="1783470013684" TEXT="und: eine solche Kette kann vorzeitig scheitern"/>
</node>
<node CREATED="1783470066077" ID="ID_858165857" LINK="https://unixism.net/loti/tutorial/fixed_buffers.html" MODIFIED="1783470085644" TEXT="»fixed buffers« direkt shared gemapped">
<node CREATED="1783470096329" ID="ID_1191315406" MODIFIED="1783470104274" TEXT="dann gibt man nur noch den Index des Buffers an"/>
<node CREATED="1783470104964" ID="ID_2685011" MODIFIED="1783470118664" TEXT="das geht natürlich nur für bestimmte Lese/Schreiboperationen"/>
<node CREATED="1783470119428" ID="ID_931891459" MODIFIED="1783470187977" TEXT="Vorteil: keine Kopie der Daten">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
weil der Buffer shared in den Client-Process-Space gemapped ist, muß der Kernel keine Daten mehr explizit in den Ziepuffer im Prozeß kopieren
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node CREATED="1783470603776" ID="ID_492007892" LINK="https://unixism.net/loti/tutorial/register_eventfd.html" MODIFIED="1783470629736" TEXT="kann per poll/epoll signalisieren daß eine io_uring-completion vorliegt"/>
<node CREATED="1783471575007" ID="ID_1734284682" MODIFIED="1783471584374" TEXT="ein Thread der Requests dispatched"/>
<node CREATED="1783471588564" ID="ID_452380465" MODIFIED="1783471606480" TEXT="nimmt Requests entgegen und gibt sie an einen passenden Handler weiter"/>
<node CREATED="1783471897570" ID="ID_1140725129" MODIFIED="1783471919980" TEXT="Charakteristik: ein Reactor reagiert auf Readiness">
<node CREATED="1783642956739" ID="ID_141690825" MODIFIED="1783642968326" TEXT="hier nur ein Consumer"/>
</node>
<node CREATED="1783642985618" ID="ID_169416260" MODIFIED="1783642994611" TEXT="oder einen pull-Worker">
<node CREATED="1783642995707" ID="ID_216666777" MODIFIED="1783642999794" TEXT="das wäre näher an Lumiera"/>
<node CREATED="1783643000727" ID="ID_737342556" MODIFIED="1783643655114" TEXT="der würde jeweils nur die Queue ausräumen"/>
<node CREATED="1783643039177" ID="ID_1046849410" MODIFIED="1783643729328" TEXT="und eine Flag am Buffer setzen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...also eine kleine State-machine implementieren: Completion-Entries entgegennehmen, schauen ob komplett und partiell, partielle nochmal auf den Weg schicken, Komplette am Buffer markieren. Danach würde die Render-Aktion laufen, und lediglich schauen, ob die Daten in »ihrem« Buffer schon da sind. Alles per Modulus gesteuert.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783643047694" ID="ID_887714759" MODIFIED="1783643329861" TEXT="verwende einen Buffer-Ring">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
der sollte dann die gleiche Größe haben wie der Kernel-Ringbuffer; man würde damit einen Task sofort in den passenden Buffer-Slot schicken
Damit das funktioniert, muß sich das System selbst beobachten: einen EMA für den IO-Vorlauf; entsprechend viele Zyklen vorher eine neue IO-Aktion auf den Weg schicken.
In der Chase-Phase werden blank-Frames ausgegeben, solange bis wir Frames mit genügend Vorlauf im Speicher haben. Danach, in der Lock-Phase ist eine Relation zwischen der rotierenden Buffer-Position und dem aktuellen Flip gesetzt. Ab dem Punkt kann man N Frames im Voraus die IO-Aktion losschicken.
Zu Beginn schicken wir M Frames auf den Weg; die brauchen u.U länger. Schön wäre es natürlich, wenn man diesen Selbs-regulierenden Mechanismus auch live zeigen könnte
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1781522598218" FOLDED="true" ID="ID_1010572140" MODIFIED="1781532809159" TEXT="per rsync auf den PC und dort zusammenführen">
<icon BUILTIN="yes"/>
<node CREATED="1781522626485" ID="ID_1443600419" MODIFIED="1781522633859" TEXT="eigentlich die Debian-Version nehmen"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1781522634468" ID="ID_285777397" MODIFIED="1781532807736" TEXT="aber die Control-Files abgleichen">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1781521250102" ID="ID_158010908" MODIFIED="1781651316654" TEXT="Will hat neue Version gemacht">
<node COLOR="#5b280f" CREATED="1781642707022" ID="ID_1745959271" MODIFIED="1781663809078" TEXT="Trac: alte Version als Paket bereitstellen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
das Trac startet nicht auf dem Laptop. Habe keine Zeit mehr zur Untersuchung. Daher meine Idee: versuchen, das aktuelle Debian-Paket in einem Ubuntu-Image gebaut zu bekommen
</p>
</body>
</html>
</richcontent>
<icon BUILTIN="button_cancel"/>
<node CREATED="1781663810498" ID="ID_405325289" MODIFIED="1781663815766" TEXT="sollte nicht der Grund sein!"/>
<node CREATED="1781663816274" ID="ID_622622971" MODIFIED="1781663837267" TEXT="Resloute hat v. 1.6-4 (das ist nur eine Debian-Rev weiter)"/>
<node BACKGROUND_COLOR="#accdc3" COLOR="#3f4015" CREATED="1781666343182" ID="ID_365895434" MODIFIED="1781666381517" STYLE="fork" TEXT="ChatGPT hat den Traceback erkannt">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1781519559257" ID="ID_1497966862" MODIFIED="1781519657916" TEXT="habe bisher mit meinen Instrumenten gearbeitet">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...das war schön für mich, ist aber nicht wirklich hilfreich....
</p>
<ul>
<li>
weil meine Instrumente eigentlich ein Sound-Matering erfordern
</li>
<li>
der Sound recht ungewohnt ist — ganz bestimmt nicht »cool«
</li>
</ul>
</body>
</html>
</richcontent>
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1781519661016" ID="ID_1699740765" MODIFIED="1781519726415" TEXT="für die Demo müssen es Presets aus der Yoshimi-Distribution sein">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
das ist zwingend, denn unsere geplante Demo des Arrangierens soll diesen Ansatz zeigen
</p>
</body>
</html>
</richcontent>
<icon BUILTIN="yes"/>
</node>
<node CREATED="1781519734632" ID="ID_1651753374" MODIFIED="1781519793847" TEXT="nur wenn das gelingt, ist mein MIDI eine Option">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
und entschieden wird ganz nüchtern, gemeinsam
<node CREATED="1783358657059" ID="ID_944825999" MODIFIED="1783358760348" TEXT="das Problem ist reproduzierbar">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
getriggert wird es, wenn der vorherige Note-off nicht direkt mit dem nächsen Note-on aligned, aber sehr kurzzeitig davor endet. Bei mir ist das entstanden aus dem Time-Stretching der zunächst per Grid eingegebenen MIDI-Noten. Und weil Ardour immer noch nicht seine off-by-one-Probleme im Griff hat. Das müssen wir in Lumiera besser machen!!!
und etwas von Lorenzo's Stück (auszugsweise) gespielt
</p>
</body>
</html>
</richcontent>
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
für mein Arrangement war da gar kein Platz, was mir aber auch recht war (das wäre anders gewesen, wenn wir einen richtigen Workshop mit ausreichend Zeit gehabt hätten)
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node CREATED="1781520004907" ID="ID_1568233541" MODIFIED="1781520035140" TEXT="Thema: schwierige Situation im letzten Jahr">
<node CREATED="1781520253790" ID="ID_1682535861" MODIFIED="1781520269965" TEXT="Information und Kommunikation mit anderen Projekten schwieriger geworden"/>
<node CREATED="1781520302357" ID="ID_1034795521" MODIFIED="1781520309965" TEXT="wir als Community"/>
<node CREATED="1781520386588" ID="ID_1099579549" MODIFIED="1781520396069" TEXT="sollten mit dem Kult der »technischen Lösungen« brechen"/>
<node CREATED="1781520310503" ID="ID_71783091" MODIFIED="1781520322380" TEXT="müssen uns um unsere Commons kümmern"/>
<node CREATED="1781520398936" ID="ID_1240655542" MODIFIED="1781520408059" TEXT="warum AI nicht hilfreich ist">
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1781520411146" ID="ID_344431376" MODIFIED="1781520418626" TEXT="Vorsicht: hier beschränken">
<node CREATED="1783358560424" ID="ID_935851419" MODIFIED="1783358578889" TEXT="habe dann beschlossen, darauf zu verzichten">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
paßt nicht zum Charakter der Veranstaltung
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1783358587740" ID="ID_620274200" MODIFIED="1783358625416" TEXT="was gut war: hab mich mit Will an einem Abend im Hotel zusammengesetzt">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...und wir sind nochmal alles durchgegangen und haben unser Demo-Material ausprobiert.
...hab ich versucht, aber in ganz München nicht mehr bekommen. Lindberg hätte es gehabt, ist aber im Konkurs. Music-Shop hatte nichts, hat auch bei der Konkurrenz in Pasing angerufen. War dann ein nettes Gespräch mit einem andern alten Musik-Hacker :-)
<node CREATED="1781520987145" ID="ID_633169539" MODIFIED="1781520994141" TEXT="vermutlich in München bei der Rückkehr"/>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1781520917531" ID="ID_1132702356" MODIFIED="1783357228571" TEXT="unklar: gibt es in München etwas besonderes zu beachten?">
<icon BUILTIN="help"/>
<node CREATED="1783357231402" ID="ID_1132822714" MODIFIED="1783357251627" TEXT="Antwort: ein Flughafen ist eine Chaos-Maschine"/>
<node CREATED="1783357253967" ID="ID_1932895270" MODIFIED="1783357838600" TEXT="aber letztlich muß man immer nur den Wegweisern folgen">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
In dem Fall bedeutet das konkret, daß man in München bereits durch eine Sonderkontroll-Zone gelotst wird, nachdem man duch den Security-Check durch ist. Auch der Security-Check ist schon auf einer anderen Ebene. D.h. man wird hier durch die Kanäle für echtes Ausland geschleust. Dann gibt es aber überall Abkürzungen, da Irland zwar kein Schengen-Staat ist, aber letztlich doch EU. Insgesamt wurde in München meine Identität 5 mal unabhängig gecheckt. Bei der Gepäckabgabe, am Security-Check, dann im Ausreisecheck mit automatischer Biometrie-Erfassung in einer Schleuse. Danach nochmal an einem Checkpoint durch die Polizei. Und am Gate ein weiteres Mal, durch das Lufthansa-Personal. Alles sehr freundlich, aber bestimmt.
</p>
<p>
</p>
<p>
Ganz anders in Dublin. Bei der Ankunft wird man vom Terminal direkt durch die Zollstation geleitet. Das ist derzeit eine Baustelle, funktioniert aber reibungslos (man merkt sofort den andern Stil der Leute dort, gegenüber Deutschland). Einmal die Kennkarte vorzeigen, die wird kurz auf einen Scanner gelegt, und das war's ("welcome in Ireland" und tatsächlich ein freundliches Lächeln). Beim Rückflug gab es gar keine spezielle Umleitung, sondern nur den üblichen ID-Check beim Boarding. Zurück in München wird man wieder durch eine Polizeistation geleitet, kann dort aber die fast-Lane für EU-Residents nehmen. Ein strenger säuerlicher Blick von einem Beamten, Kennkarte auf einen Scanner, und ein kurzes Nicken.
Andere Leute haben wesentlich mehr Gepäckvolumen als ich. Wenn man sich an die Regeln hält (Waffen, Werkzeuge, Elektronik), dann ist es auch heute noch so wie vor 20 Jahren. Eigentlich sogar einfacher, da die Scanner besser sind. Der security-Check in München hat sich mein USB-Inteface genau angeschaut, auch erkannt was es ist. Ansonsten alles andere gemäß Anzeige am Bildschirm durchgewunken. Man kann heutzutage auch alles in eine einzige Schale kippen. Was ich immer wieder vergesse: die Taschentücher raus aus den Hosentaschen, und auch die Medikamente aus der Brusttasche. Ist aber nur ein Schmunzeln wert. Ein Detail: ich hatte eine Tube Bepanthen in einer Klarsichttüte im Rucksack. Wurde angeschaut, war OK. Besser wäre es gewesen, sich eine Klarsichttüte mit Zip-Lock zu besorgen, dann könnte man auch ein Deo und eine Zahnbürste mit dabei haben (falls man von seinem Gepäck getrennt wird). Akkus müssen allesamt nicht nur im Handgepäck-Rucksack sein, sondern direkt am Körper/Handtasche. Da achtet man drauf (wußte ich vorher).
<node CREATED="1783352908429" ID="ID_1002742986" MODIFIED="1783353270945" TEXT=""wohl gefühlt" hab ich mich dabei nicht">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...man geht in so einen »convenience store« am Block gegenüber der Connolly Station. Das ist Bahnhofs-Gegend, aber immerhin nicht direkt im Bahnhof. Im Laden kommt so ein gestresster syrischer Ladenbesitzer (allerdings: in Irland ist Jedermann viel taktvoller als hier in Deutschland), macht ein Foto mit seinem Handy, und stellt das Gepäck dann auf ein Regal direkt hinter dem Tresen. Später, beim Abholen, erkennt er einen "you want to pick up your luggage?", wuchtet die zwei Sachen raus, und das wars dann. Wenn während der Zeit jemand in meinen Rucksack "geschaut" hätte, dann hätte ich eine Beschwerde machen müssen...
</p>
<p>
Weiß nicht, ob mir eine Halle mit Schließfächern dort wirklich sympatischer wäre. Naja, hab Connolly Station eigentlich als ungefährlich empfunden.
</p>
</body>
</html>
</richcontent>
</node>
</node>
<node CREATED="1783353283530" ID="ID_901827813" MODIFIED="1783353423530" TEXT="15:09 mit dem Flughafenbus">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Die Info im Internet war falsch. Die Station ist nicht an George's Quay, sondern direkt gegenüber am (sehr bekannten) Zollhaus. Alles sehr relaxed, kurzer Blick auf das Handy, daß man ein Ticket hat, niemand schaut genau hin. Der erste Bus war zu voll. Ich stand mit 20 weiteren Leuten da. Ein Mitarbeiter des Busbetreibers ist dort vor Ort. 5 Minuten später kam der nächste Bus, der war halb leer.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783353424871" ID="ID_552493329" MODIFIED="1783353466925" TEXT="war damit 15:30 berereits am Flughafen">
Ist in Terminal-1 im obersten Stockwerk. Kurze Wartezeit in der Schlange. Alles in eine Schale, danach sortiert das System in "sofort OK" vs. "manuelle Nachkontrolle". Ich war in ersterer Kategorie.
<node CREATED="1783353958688" ID="ID_14650357" MODIFIED="1783354030247" TEXT="Hin- wie Rückflug war komplett ausgebucht">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
daher das übliche Spiel, ob jemand noch sein Handgepeck aufgeben möchte. Da waren aber auch Leute mit Rollkoffern. Bei mir hat niemand gefragt, und letztlich hat der Platz im Flugzeug dann auch locker gereicht
hab dann bei Smith 2 Adapter gekauft, Stück 10€. Problem gelöst. Leap Visitor Card gabs da aber nur für 1 Tag (genauso wie's ChatGPT sagte). Bin dann weiter zu Terminal-2 gelaufen. War sehr gut, daß ich mir spät nachts noch Google-Maps angeschaut habe. Merke, das ist keine Paranoia, sondern eine sehr gute Gewohnhait von mir!!!
In Terminal-2 war "Spar" etwas versteckt, ist nämlich im oberen Stock, beim Eingang zum Abflug (während WL Smith in Terminal-1 unten bei der Ankunft ist, ganz links). Leap Visitor Card dort gekauft, dann einen neuen Bus gebucht
Definitiv so: man muß die Tickets online buchen. Das geht aber auch noch vor Ort (per WLan), wenige Minuten vor Abfahrt. Visa-Debitkarte von ING und Consors hat problemlos funktioniert. Das muß man aber im Griff haben (also kein Zeitdruck! ruhige Ecke suchen, eine App verwenden, von der man sicher ist, daß die Verifikation funktioniert, wie hier, die ING-App). Was ich nicht wußte: ich hätte mir gar nicht nochmal ein Ticket kaufen müssen, mein vorher gebuchtes Ticket für den Bus 30 minuten früher, den ich versäumt habe, wegen der Geschichte mit dem Netz-Adaptor, wäre informell akzeptiert worden, weil die Leute dort "common sense" haben.
Die Busfahrt dauert ca 40 Minuten. Davon gefühlt die Hälfte durch ein endloses Tunell unter der Stadt durch. Das letzte Stück im Stadtverkehr zieht sich endlos. George's Quay ist die erste Station in der Stadt, und die nächste zu Connolly Station. Tara Street Station wäre sogar direkt daneben, aber mein Zug fuhr von Connolly.
</p>
<p>
Der Bus fährt von dort weiter den Liffy-River entlang, insges. braucht er 40 Minuten, bis er auf der anderen (nördlichen) Seite, vor dem Zoll-Gebäude wieder ankommt. Die Pläne und Angaben auf der Website sind irreführend. Für den Rückflug sollte man nicht ab George's Quay buchen, sondern gegenüber. Spielt aber in der Praxis keine Rolle. Gegenüber, beim Zoll-Gebäude ist ein Mitarbeiter der Buslinie vor Ort. Fahrgäste werden einfach nach vorhandener Kapazität mitgenommen, da die Busse tatsächlich alle 10 Minuten fahren. Wäre ich, wie gebucht, an George's Quay eingestiegen, dann wäre ich 40 Minuten durch die Stadt gezockelt. Aber der Busfahrer drüben am George's Quay hat mir das gleich gesagt. Vorher hatte ich einen Passanten angesprochen, auch der war, wie typisch in Irland, nicht betont freundlich, aber offen und gesprächig. Er hat mir gleich gesagt, wie das hier läuft, und mir dann gleich erzählt, daß er einen Freund in Deuschland hat, der jetzt nach Finnland übersiedelt, usw... Ja so sind die drauf. Kann man sich in DE gar nicht vorstellen.
Den Umständen enstprechend ist das wohl die praktischste Lösung. Man installiert eine App, bucht und bezahlt sich das kurz vorher (bei mir: am Abend vorher). Dann geht man in den jeweilgen "convenience store".
</p>
<p>
Mir persönlich, als old-Timer wäre eine Halle mit Schließfächern am Bahnhof viel sympatischer. Aber Bahnhöfe sind auch nicht mehr das, was sie mal waren. Wobei Irland hier einen sehr guten Eindruck hinterläßt. Aber auch das mit dem lokalen Shop ist letztlich OK, da es in Irland der normale Stil ist. In Deutschland sind solche Shops praktisch immer "zwielichtig", in Irland nicht. Außerdem hat man ja den Storage-Betreiber mit der App, und ein Foto vom Gepäck wird vorher auch gemacht, das gibt eine gewisse Sicherheit. Wobei mir klar ist, daß man im Problemfall erst mal selber sich um eine Beschwerde kümmern müßte.
...aber, realistisch geshen, ist das für mich vorbei. Es ist besser, wenn ich nichts esse, und es ist sicherlich kein Genuß mehr, mit anderen Leuten zum Essen zu gehen, sondern ein ziemlicher Streßfaktor. Die ersten beiden Tage ging's noch relativ glatt. Und ich war froh, mich an Will dranhängen zu können, der die Gepflogenheiten besser versteht.
<node CREATED="1783355849528" ID="ID_429086567" MODIFIED="1783356014201" TEXT="Immerhin: das Hotel hatte ein klassisches Irish breakfast">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
...und das hab ich genossen. Jetzt weiß ich, was "black pudding" ist.
</p>
<p>
An den letzten Tagen war dieses Frühstück praktisch das einzige, was ich den ganzen Tag gegessen habe, und das war so die beste Lösung. Im Grunde ähnlich wie in Lyon, und auch dort hat sich das bewährt (auch wenn ich immer noch die andere Vorstellung im Kopf habe, daß man auf einer Reise irgendwo genußvoll und entspannt zum Essen geht, mit Leuten, bei denen man sich wohlfühlt)
Das ist eine Touristen-Attraktion. War mir vorher klar. Ist aber leider auch wirklich so. Ich war praktisch die ganze Zeit nur mit meinem eigenen Hass auf diesen leeren Betrieb beschäftigt.
</p>
<p>
Warum ich aber dann doch nach Howt gefahren bin, war der Klippen-Trail, den ich auf der Karte gesehen hatte. Ich bin die zweitlängste Strecke gelaufen, 12km, rote Markierung. Damit war ich nach den ersten 45 Minuten raus aus dem Touristen-Strom. Außerdem war ich schon wohlweislich erst am späten Nachmittag, um 17:00 angekommen. Es war Sonnwend, also Sonnenuntergang kurz vor 22:00 Irischer Sommerzeit. Tatsächlich bin ich sogar früher wieder heim, um 21:00. Den schmalen Pfad über dieses eigenartige Hochland werde ich in Erinnerung behalten. Und die Möven. Ansonsten ist es dort laut, denn es liegt in der Einflugschneise vom Flughafen. Und eine Techno-Party war auch noch, vermutlich wegen Sonnwend.
</p>
</body>
</html>
</richcontent>
<icon BUILTIN="smiley-neutral"/>
</node>
<node CREATED="1783356447630" ID="ID_775846710" MODIFIED="1783357210751" TEXT="im Übrigen war mir Dublin unheimlich...">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Hab die Wellenlänge dieser Stadt nicht wirklich gefunden.
</p>
<p>
Hatte dafür aber auch gar keine Zeit, und keinen Grund.
</p>
<p>
Was ich gesehen habe, war eine Mitte, die keine ist. Ein Hafen, der nicht mehr zugänglich ist, sondern ein Industriegebiet. Massiver Autoverkehr. Keine U-Bahn. Enge Straßen, durch die sich auch noch diese Stockbusse durchzwängen. Massen an Touristen, für die kein Raum ist. Und massives Elend überall. Verfallende Altbauten, und moderne Architektur, die wie ein Raumschiff eingepflanzt ist, und um sich herum keinen Stadtraum schafft.
<node CREATED="1783358952176" ID="ID_157125384" MODIFIED="1783359064870" TEXT="Workshop gut über die Bühne gebracht">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Es war der letzte Slot im Programm, und wir haben es geschafft, daß es bei uns »Musik« gab (keine "Avant-Garde" und keine Tech-Demo). Die allgemeine Stimmung war sehr erfreulich. So einige Zuhörer waren wieder sichtlich beeindruckt von den klanglichen Möglichkeiten. Einige kamen nachher noch, und haben auf dem Keyboard gespielt.
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783359066482" ID="ID_1590606696" MODIFIED="1783359804215" TEXT="Mein Kurz-Talk-im-Workshop lief so lala-OK-ish">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Ich hatte die ganzen Abende vorher, im Hotell geübt, und wußte schon jeden Punkt auswendig. Das hat sich bewährt. Thematisch bin ich in dieser Vorbereitung, während der Konferenz etwas »zurückgerudert«. Auch das war angemessen. Ich hatte das Gefühl, daß niemand im Publikum verärgert war, ich aber auch nichts wirklich Erhellendes gesagt habe. Was ich aber im Rückblick als gut empfinde, denn ich hatte nicht die Position für etwas Weitergehendes.
</p>
<p>
Um es nochmal zu rekapitulieren, <i>ich</i> wollte diesen Themenblock nicht, aber Will war es wichtig. Ich selber empfinde die Schwierigkeiten, die wir letztes Jahr hatten, als normal und keiner Rede wert. Was <i>mich dabei</i> nur ärgert ist, daß <i>ausgerechnet ich diese Drecksarbeit </i>andauernd machen muß. Aber letztlich gibt es nur mich und Will, Kristian ist berufstätig und hat Familie, und nur sporadisch mal Zeit, Jesper will sich raushalten (und nicht wieder Project-Lead werden). Und wenn man Will persönlich trifft, ist völlig klar, wer er ist, was sein Horizont ist, und was er nicht machen kann. Insofern bleibe ich einfach übrig, und wenn mir an Yoshimi weiterhin was liegt, werde ich diese Arbeit machen müssen, oder das Projekt geht vor die Säue. All das hab ich aber nicht gesagt, und ich habe es inhaltlich gut hinbekommen, stattdessen etwas Generisches zu sagen, das doch immerhin den Sachverhalt bezeichnet. Hab mich ziemlich genau an die hier skizzierte Gliederung gehalten. Weiterungen zu AI habe ich nicht ausgeführt, obwohl <i>das</i> das Einzige gewesen wäre, was mich daran interessiert hätte. Es ist aber auch gut so, das habe ich an der Diskussion in den vorangegangenen Tagen gemerkt.
</p>
<p>
Vom Sprechen her war es so la-la. Ich glaube, ich hab nicht mehr so viel gestottert. Daß meine Aussprache grauenhaft deutsch klingt, habe ich inzwischen einfach akzeptiert, und ignoriere es (was mir sehr hilft, mich auf die Wortwahl zu konzentrieren). Duch die Vorbereitung mußte ich nicht "nach Worten suchen". Ansonsten war mein Vortrag nach meinen eigenen Maßstäben ziemlich mittelmäßig. Es gab auch keinen Spannungsbogen (und ich hatte eigentlich nach meinem eigenen Empfinden nichts zu sagen).
</p>
<p>
Am Ende habe ich meinen Block nicht ganz zuende formuliert, da mir Will mit einem Einwurf eine Brücke zurück gebaut hat (die viel geschickter war, als das, was ich grade sagen wollte, daher habe ich sie sofort genommen)
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783359806614" ID="ID_672968897" MODIFIED="1783360282544" TEXT="der Zeit-Slot hat gereicht, war sogar zu lang">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Damit hat sich mein ursprüngliches Bauchgefühl bestätigt. Will kann nicht einmal 45 Minuten füllen, er würde nur Demo nach Demo machen. Durch die Gliederung, die wir uns vorher gmacht haben, waren wir aber eigentlich gut sortiert. Insofern bestätigt sich, warum Will mich gebeten hat, mitzumachen. Er hat nämlich jeden meiner Vorschläge gerne aufgenommen; die Zusammenarbeit war sehr konstruktv, vor allem, als wir uns persönlich abstimmen konnten, im Hotel in Maynooth.
</p>
<p>
</p>
<p>
Am Ende vom Zeit-Slot blieb etwas Luft, und so hat Will noch einen weiteren Track von sich gespielt, der aber nur noch wenig zum Thema beigetragen hat. Ich hab ihm dann signalisiert, daß es reicht, und er hat das verstanden. Da waren wir in Minute 40. Insofern konnten wir sogar noch etwas Diskussion machen. Da kam dann eine Frage zu meinem Themenblock und zur Dokumentation. Im Rückblick ärgert es mich, daß ich nicht im Stande war, das besser aufzugreifen (da hätte ich nämlich nochmal eine Brücke zur A.I. schlagen können). Aber was ich gesagt habe, war OK, und mehr wollte der Fragende ja eigentlich nicht. Ansonsten kamen noch zwei technische Detail- / Verständnisfragen, die wieder zeigen, daß viele Zuhörer nur mit CSound oder PureData experimentieren, aber nicht mit so einem typsichen "Synthie" vertraut sind (denn in dieser Hinsicht ist Zyn/Yoshimi überhaupt nicht überraschend)
</p>
</body>
</html>
</richcontent>
</node>
<node CREATED="1783360099299" ID="ID_1453107748" LINK="https://lac26.mucs.club/gallery/" MODIFIED="1783360117914" TEXT="Hier sind Photos von der Konferenz">
<node CREATED="1783360325165" ID="ID_1549768533" MODIFIED="1783362343464" TEXT="Maynooth behalte ich gerne in Erinnerung">
<richcontent TYPE="NOTE"><html>
<head>
</head>
<body>
<p>
Für mich war dazu essentiell, daß ich nicht bloß Zuhörer war, sondern ein Projekt vertreten habe. Bezüglich »Networking« hatte ich keine Ambitionen, hab aber auch nichts versäumt; ich habe zwei oder drei Leuten ausführlich von Lumiera erzählen können, und die schienen alle durchaus im Stande, die Tragweite zu erkennen. Allerdings war niemand da, der mich jetzt direkt etwas voranbringen würde. Hätte ich aber auch nicht erwartet, ich kenne diese Community. Möglich wäre es, aber die Community wird kleiner und kleiner, und wer noch da ist, sitzt in seiner Ecke. Ich hätte mich gefreut, etwas mehr mit Robin reden zu können. Das hat sich aber nicht ergeben, und ich habe keinerlei Interesse, da "zu drücken". Robin zeigt seinerseits kein Interesse, und fühlt sich mir gegenüber etwas unwohl, obwohl er oberflächlich immer den "alten Bekannten" begrüßt. Bemerkenswerterweise hatte Robin alles vergessen, was ich ihm in Lyon von Lumiera erzählt hatte. Er war erstaunt, zu hören, daß ich immer noch mit Lumiera weitermache. Ich komme mit ihm nicht auf die Ebene, die interessant wäre (würde mir davon aber auch nichts erwarten, da ich inzwischen ziemlich genau vestehe, wo er steht). Drei bis vier andere Leute, die ich in Lyon kennengelernt hatte, und mit denen ich gerne wieder anknüpfen wollte, waren nicht da. Insgesamt war sonst kaum jemand da, mit dem mich persönlich ein Gespräch interessiert hätte. Ich bin aber weiterhin vorsichtig, mich nicht zu aggressiv zu positionieren. Aktuell geht es mir nur darum, präsent zu sein (ich könnte auch in keine Art von Kollaboration einsteigen derzeit, weil ich meine Kräfte zusammenhalten muß, insofern bin ich froh, daß sich auch dazu keine Gelegenheit ergab).
</p>
<p>
</p>
<p>
Ohne diese Aufgabe, ein Projekt zu vertreten (und Networking zu machen), würde mich die LAC (schon seit langer Zeit) nicht hinter dem Ofen vorlocken. Die "Konzerte" sind immer gleich. Da genügt ein Termin, weil es schon schön ist, ein gut aufgebautes Ambisonics zu hören. Das zweite und drite Konzert habe ich "geschwenzt". Das war ein Glück, denn anstelle des zweiten Konzerts hatte ich Zeit, in dieser alten Universitäts-Anlage zu sein und nichts zu tun, und die Stille und Ruhe des Ortes aufzunehmen. Das war auch der Abend mit dem Gewitter und dem Regenbogen.
</p>
<p>
Insgesamt war Maynooth viel kleiner und bescheidener aufgebaut, als Lyon, was aber einfach an den dahinter stehenden Organisationen lag. Das dritte Konzert, in Dublin, wäre ein allgemeines Experimental-Konzert für elektronische Musik gewesen. Von mir aus hätte mich das nur gelangweilt, und da Will auch kein Interesse hatte, war die Konferenz sehr schnell beendet. So hatte ich Zeit für eine Wanderung zum Carton Demense, und hab so tatsächlich ein Stück von Irland gesehen.
</p>
<p>
Hinzu kommt, daß ich doch bei einer solchen Gelegenheit immer wieder merke, wie sehr ich gesundheitlich angeschlagen bin. Am vierten Tag, an dem ich nach Dublin wollte, ging es mir ziemlich dreckig. Später, gegen Abend zu, hat es sich etwas mehr eingependelt, was aber auch damit zusammenhängt, daß ich da in Howt im Freien war, und mehrere Stunden einfach allein laufen konnte.
</p>
<p>
Insgesamt war es ein »Nicht-Urlaub« von einer Art, die ich noch gut ertragen kann. Dieses kleine Universitäts-Städtchen mutet an wie aus einer andern Zeit, da war die »Quality without a Name«, von der Christopher Alexander spricht. Und zum Glück muß ich dort nicht leben. Das Hotel war mindestens eine Kategorie zu edel für mich, aber ich konnte gut unerkannt bleiben, die Leute in Irland sind wirklich auf eine unaufdringliche Art zugewandt, und ich hab mich sehr wohl gefühlt. Vom Hotel aus war alles fußläufig zu erreichen, die wüste Welt der Automobile war zwar zu hören, aber nur auf der anderen Seite. Und zum Glück gibt es praktisch nichts "Sehenswertes" im Maynooth.
</p>
<p>
</p>
<p>
Wenn ich nur bedenke, was Daniela garde im Moment mit ihrer LItauen-Bildungsreise alles um die Ohren geworfen bekommt, dann graut mir, und ich fühle mich verloren. Was für ein lehrer und eitler Betrieb das alles.
<node BACKGROUND_COLOR="#accdc3" COLOR="#3f4015" CREATED="1779554095269" ID="ID_1290433500" MODIFIED="1779554118621" STYLE="fork" TEXT="habe mir noch einige Vorschläge von ChatGPT geben lassen">
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1779504789243" ID="ID_649621958" MODIFIED="1783643338271" TEXT="Klären: kann man mit IO_URING gezielt bestimmte Bereiche eines Files lesen?">