Kurze Zusammenfassung
Anwesend: bar, cervantes, Complication, frosk, jrandom, polecat, tethra, void
Sitzungsprotokoll
16:02 <jrandom> ok, dann können wir das ja ins Rollen bringen 16:03 <jrandom> hi, Vorabnotizen sind hier veröffentlicht: http://dev.i2p.net/pipermail/i2p/2006-August/001304.html 16:03 <jrandom> statt dass ich euch diese Nachricht hier im Grunde noch einmal vorlese, springen wir gleich zu unserem Standard-???-Abschnitt - 16:04 <jrandom> hat jemand etwas, das er ansprechen und diskutieren möchte? 16:04 <@cervantes> öhm 16:04 * cervantes eilt, den Beitrag zu lesen 16:05 <+Complication> Zum Netzwerkstatus: hier ist alles in Ordnung... 16:05 <+Complication> Aber eine Frage (eigentlich aus dem Forum weitergereicht) zum NTCP-Transport, 16:06 <+Complication> nämlich: Klingt es plausibel, dass das Aktivieren davon bei jemandem CPU-Lastprobleme verursacht hat (Windows XP)? 16:06 <@cervantes> Ich muss sagen, seit dem Umstieg sehe ich tatsächlich geringere CPU-Auslastung :) 16:07 <jrandom> nun, man kann es nicht *deaktivieren* (es sei denn, du hast den Quellcode gelesen und kennst die magische Beschwörungsformel ;) 16:07 <+Complication> Die Person, die dieses Problem erwähnte (lässt sich nicht leicht reproduzieren, und hier keine hohe CPU-Nutzung), meinte, die hohe CPU-Auslastung schien mit NTCP zu korrelieren 16:07 <jrandom> also nehme ich an, sie meinen, keine eingehenden ntcp-Verbindungen anzunehmen 16:07 <+polecat> NTCP bringt meinen router dazu, die CPU sofort auf Anschlag zu bringen; ich habe es zweimal reproduziert, bevor ich die Konfigurationsdatei manuell ändern musste, um wieder einen funktionierenden router zu bekommen. 16:07 <jrandom> (wobei weiterhin ausgehende ntcp-Verbindungen verwendet werden) 16:07 <+Complication> (hier ist es nur minimal höher als üblich, vermutlich weil deutlich mehr Daten gepumpt werden) 16:08 <+Complication> ( http://forum.i2p/viewtopic.php?t=1815 ) 16:08 <jrandom> wenn du eine ntcp-Verbindung aufbaust, fällt eine aufwendige Krypto-Berechnung an (oder drei) 16:08 <jrandom> wenn du eingehende ntcp-Verbindungen annimmst, kann es viele gleichzeitige eingehende Versuche geben, da es Hunderte von i2p-routern gibt 16:09 <jrandom> polecat: das war nicht die Schuld von ntcp, sondern die eines fehlerhaften NTP-Servers im NTP-Pool 16:09 <+polecat> Ja. Also kann ich das offenbar nicht selbst in den Griff bekommen. 16:09 <jrandom> (danke an cervantes fürs Aufspüren dieses NTP-Servers und dafür, dass er die Leute vom Pool dazu gebracht hat, sie zu !thwap 'em :) 16:10 <jrandom> ((und an Complication dafür, dass wir diese verrückten Typen künftig vermeiden :)) 16:10 <@cervantes> heh, ich glaube, deren Server-Watchdogs funktionieren nur werktags ;-) 16:10 <+Complication> Nun, die derzeitige Umgehung ist ziemlich begrenzt 16:10 <@cervantes> http://www.pool.ntp.org/scores/216.52.237.153 16:11 <+Complication> Ich hoffe, irgendwann etwas Paranoideres zu implementieren 16:11 <+polecat> Oh, also wird das Aktivieren von NTCP die CPU nicht mehr auf Anschlag bringen? 16:11 <jrandom> (hat es nie, polecat; war Zufall ;) 16:12 <+Complication> „clock“ in welchem speziellen Sinn? 16:12 <jrandom> (siehe cervantes' Link) 16:12 * polecat haut Complication eins über den Schädel. 16:12 <@cervantes> was rauchst du, polecat 16:12 <+Complication> :P 16:12 <+polecat> Äh, ich meine, sämtliche Taktzyklen aufgefressen. :) 16:13 <+Complication> Wenn die Uhr 30 Sekunden vor- oder zurückgesprungen ist, könnte es viele, viele Sitzungen verloren haben und zu allerlei schwergewichtiger Krypto gegriffen haben 16:13 <+Complication> Das könnte eine Menge CPU-Zyklen ziehen, denke ich 16:13 <+Complication> In der Tat, vielleicht hat die Person im Forum dasselbe gesehen und es falsch korreliert? Muss man nachfragen... 16:13 <jrandom> ah.. nun, Schübe gültiger eingehender ntcp-Verbindungen verursachen CPU-Spitzen, während reines ausgehendes ntcp jeweils nur mit einer begrenzten Zahl neuer ntcp-Peers sprechen wird 16:14 <jrandom> Es ist völlig in Ordnung, eingehendes ntcp nicht zu aktivieren. 16:15 <@cervantes> Complication: Der Server wurde am Montagmittag korrigiert, es wäre also sinnvoll zu sehen, ob seitdem noch Probleme auftraten 16:15 <jrandom> ok, hat sonst noch jemand etwas zu besprechen? 16:16 <+Complication> cervantes: in der Tat, könnte einen Versuch wert sein 16:16 <@cervantes> Ich habe Berichte, dass manche Leute weiterhin periodisch leases verlieren... ist das ein bekanntes Problem? 16:16 <+void> wie stark unterscheidet sich die ntcp-Implementierung von ssu? 16:17 <+polecat> Woran erkennen wir, dass wir leases verlieren? 16:18 <jrandom> void: es gibt einen etwas höheren Pro-Nachricht-Bandbreiten-Overhead in ntcp (vielleicht ausgeglichen durch die wahrscheinlich effizientere zuverlässige Übertragung des Betriebssystems) 16:18 <+Complication> polecat: tunnels.jsp zeigt keine tunnels für einen bestimmten tunnel pool (z. B. "shared clients") 16:18 <jrandom> cervantes: ja, unsere Erfolgsraten beim tunnel-Bau sind noch nicht da, wo sie sein sollten 16:18 <+void> polecat: die router-Konsole sagt das 16:18 <+Complication> Und wie void sagt, steht das auch in der linken Seitenleiste der Konsole 16:19 <+polecat> Ich bekomme diese „No leases“-Meldungen oft... das meinst du, oder? 16:19 <@cervantes> jup 16:20 <+polecat> Das legt normalerweise meine IRC-Verbindung lahm. Dachte, das sei normal! 16:21 * jrandom verzieht das Gesicht 16:24 <+tethra> lol ;) 16:25 <jrandom> ok, hat noch jemand etwas für das Meeting? 16:25 <@cervantes> jrandom: gab es zuletzt Fortschritte bei syndie, oder hattest du mit ntcp/Bugfixing/ISP-Suche/Radfahren alle Hände voll zu tun? 16:27 <+tethra> gibt es Neuigkeiten zu feedspace, oder sollte ich einfach auf ihre eepsite gehen? 16:28 <jrandom> als das Live-Netz den Bach runterging, habe ich syndie beiseite geschoben. aber da das Netz wieder in die Spur kommt, beansprucht syndie wieder meine Zeit, und ich hoffe, bald ein kleines CLI-System herauszubringen (mit fokussierten GUIs danach, basierend auf Nutzerfeedback) 16:28 <jrandom> (die implementierte SWT-GUI ist in ziemlich gutem Zustand, aber es ist wahrscheinlich besser, mit dem CLI zu beginnen, um die Erwartungen zu justieren) 16:29 * jrandom hat keine Neuigkeiten zu feedspace gehört 16:29 <@cervantes> cool 16:29 <jrandom> frosk: irgendwelche Neuigkeiten? :) 16:29 <+polecat> Schön, dass du wieder an syndie arbeitest. Die neue Version klingt ziemlich vielversprechend. Irgendwelche Gedanken zu ACLs für Dinge wie das Löschen von Blogs von einem Knoten oder das Ausführen administrativer, kontounabhängiger Aufgaben? 16:30 <@cervantes> <jrandom> DELETE FROM messages WHERE postedOn <NOW()-14*24*60*60; 16:31 <jrandom> lokale Archive werden voraussichtlich grundsätzlich als vertrauenswürdig behandelt (denn wenn du Zugriff auf die lokale Archiv-DB hast, kannst du die Datei ohnehin nach Belieben ändern) 16:32 <jrandom> für gemeinsame Blogs gibt es jedoch eine ganze Reihe kryptografischer Strukturen zur Authentifizierung und/oder Autorisierung von Beiträgen und Änderungen 16:33 <jrandom> (es wird aber auch eine Möglichkeit geben, „unauthorisierte“ Beiträge anzuzeigen, nur eben deutlich abseits) 16:33 <+polecat> Ich bin sicher, sobald jemand Syndikate mit Tausenden riesiger Blogposts flutet, wird die Technik zum physischen Löschen von Beiträgen perfektioniert. 16:34 <+tethra> heheh 16:35 <jrandom> physisches Löschen ist trivial, die Frage ist vielmehr, welche Beiträge man überhaupt akzeptiert ;) 16:36 <jrandom> (ich habe kein Interesse daran, syndie in eine Plattform zur Filmdistribution zu verwandeln, etc) 16:36 <+polecat> Man kann sich dessen, was man akzeptiert, nicht sicher sein, bevor man eine Probe akzeptiert hat. Ich stelle mir so etwas vor wie nur eine Whitelist von Blogs zuzulassen und neue IDs zunächst auf Probe zu erlauben, bevor man sie hinzufügt – mit sofortigem Löschen bei Spam-Verrat. 16:36 <jrandom> ja 16:37 <+polecat> Mich interessiert mehr die Anwendung, Gesprächsströme zusammenzuführen: Wir könnten ein BBS bauen, das keinen zentralen Server hat, sondern nur ein gemeinsames Tag! 16:37 <jrandom> (neue IDs manuell zulassen, floodende IDs manuell kickbannen, etc) 16:37 <jrandom> dafür gibt es sogar inhärente Unterstützung in der Krypto, polecat :) 16:37 <+polecat> Möglicherweise signiert ein Moderator genehmigte Nachrichten für das BBS, und Leute holen sich diese Genehmigungslisten aus dem Blog des Moderators. 16:38 <+polecat> Oh, ausgezeichnet. 16:38 <@frosk> jrandom: habe in letzter Zeit an GUI-Sachen gearbeitet, aber das ließ sich schwer mit dem Start in einen neuen Job vereinbaren :( 16:39 * cervantes kontaktiert die Personalabteilung, um frosk feuern zu lassen 16:40 <jrandom> ah cool, hoffentlich können wir dich wieder dafür begeistern, sobald syndie draußen ist und zusammengeflickte HTTP-Syndikation betreibt ;) 16:40 <@frosk> zumindest verfolgt mein Chef jetzt die i2p-Entwicklung :) 16:40 * jrandom winkt frosks Chef 16:40 <@frosk> oh ja, ich bin immer noch entschlossen (verdammt!) :) 16:40 <jrandom> (gibt frosk mehr Freizeit, wir brauchen ihn!) 16:41 <@cervantes> hoffentlich liest er nicht, wie du vertrauliche Unternehmensinformationen in deinen syndie-Blog stellst 16:41 <bar> GUI ist gut, wir mögen GUI. dir ist verziehen. 16:41 <+Complication> Hehe :) 16:41 <@frosk> Es ist seltsam, in sein Büro zu kommen und ihn beim Lesen von syndie zu erwischen :) 16:41 <jrandom> hah, großartig 16:42 <+polecat> Glückwunsch, frosk – selbst wenn du in Schande und Schmach gefeuert wirst, hast du wenigstens noch einer Person gezeigt, wie cool syndie sein kann. 16:43 <@frosk> hehe, ja 16:43 <+tethra> haha 16:44 <@frosk> die GUI (in SWT) ist/wird ein Testbed für alles rund um feedspace sein, um es anzuschieben 16:44 <jrandom> r0x0r 16:45 <+void> jrandom: vielleicht solltest du alles, was in die Mailinglisten geht, auch nach syndie crossposten? 16:45 <jrandom> wir sollten das unbedingt in die syndie-SWT-GUI integrieren (das Grundparadigma ist ein Browser, allerdings ohne HTML-Seiten in den Tabs anzuzeigen) 16:46 <+polecat> Das wäre schön. Ich scheine die Mailingliste nicht mehr zu bekommen. 16:46 <jrandom> void: es wäre ziemlich einfach, ein kleines Shell-Skript zu schreiben, das procmail in die syndie CLI piped 16:46 <@cervantes> sind diese schicken SWT-GUIs an die Anwendungen gebunden? oder sind sie Frontends für CLI-Executables oder nutzen TCP usw. usf. 16:46 <@frosk> ergibt Sinn 16:46 <jrandom> (wenn ich mich recht erinnere, gibt es vor einiger Zeit einen Beitrag in meinem Blog, der erklärt, wie man die syndie cli nutzt, um Beiträge einzufügen) 16:47 <+polecat> Derzeit kann man RSS-Feeds erstellen, um sie in syndie zu füttern, auch wenn das noch etwas krude ist. 16:47 <jrandom> cervantes: jdbc in Event-Handlern, inline mit jni- und msvc-Callouts, natürlich ;) 16:47 * jrandom duckt sich 16:48 <+polecat> Microsoft Visual Classes? 16:49 <@cervantes> jrandom: also kann alles, was SQL spricht, syndie administrieren? 16:49 <jrandom> (aus syndies Sicht ist die ganze Funktionalität im Grunde in viele kleine CLI-Apps aufgeteilt, die nur die JDBC-Datenbank aktualisieren, und es gibt eine SWT-UI zum Browsen in der DB) 16:51 <+polecat> Und da die Datenbank zwei Schnittstellen hat, JDBC und SQL, kann ein Client, der über eines der Protokolle spricht, mit syndie herumfummeln. 16:51 <jrandom> cervantes: nun, jein – ein guter Teil der Datenbank ist verschlüsselt, daher sind nicht alle Felder lesbar 16:51 <+void> wird das aktuelle Web-Interface weiterhin vorhanden sein? 16:51 <jrandom> (jdbc == sql) 16:51 <jrandom> void: nein 16:51 <+polecat> Ich dachte, du hättest gesagt, JDBC sei kein dummes menschenlesbares Protokoll? 16:51 <+Complication> jdbc == Java Database Interface, vielleicht ein bisschen ähnlich zu odbc 16:51 <jrandom> ((jdbc ~= sql)) 16:51 <+Complication> Etwas, worüber man SQL spricht 16:52 <+void> jrandom: was wird aus syndie.i2p/syndiemedia.i2p.net? 16:52 <+polecat> Oh. Nun, ich mochte SQL ohnehin nie, fürs Protokoll. 16:52 <@cervantes> jrandom: also ist es besser, ein Frontend für syndieTools (tm) zu erstellen, als zu versuchen, die Daten selbst abzusaugen 16:53 <jrandom> void: die Zeit wird es zeigen. wahrscheinlich werden sie 1) als syndies Website/eepsite dienen, 2) als öffentliches Archiv von Beiträgen, die man syndizieren kann, und schließlich, wenn ein Webinterface geschrieben ist, 3) ein Webinterface bereitstellen 16:53 <+polecat> Warum nicht Bytecode als Datenbankabfragen einreichen, statt archaischer COBOL-Anweisungen? 16:53 <jrandom> ja, cervantes 16:53 <jrandom> !lart polecat 16:54 <+void> hehehe 16:54 <+polecat> Ah, meine geheime Schwäche. 16:54 <@cervantes> * du hast noch 6 larts in deinem Inventar, es gibt eine Tür nach Norden und ein bewusstloser polecat liegt auf dem Boden 16:54 <jrandom> cervantes: das ist eigentlich die CLI-App #3 (einzelne Beiträge extrahieren, was nach App #2 kommt, dem Auflisten einzelner Beiträge (nach #1, dem Erstellen einzelner Beiträge, und nach #0, dem Verwalten von Nyms))) 16:54 <jrandom> lol 16:54 <+tethra> haha 16:55 <+Complication> Feature-Vorschlag: Statt Bytecode, warum nicht lebende $agency-Agenten als Datenbankabfragen einreichen? ;P 16:56 <+Complication> Wäre viel einfacher auf Sicherheit zu validieren :P 16:56 <@cervantes> jrandom: verstanden 16:56 <+tethra> funktionieren sie unter den richtigen Bedingungen wie Brieftauben, Complication? 16:56 <+Complication> tethra: nur wenn du es schaffst, sie unversehrt durch den TCP-Stack zu drücken :P 16:56 <+polecat> Ja, Datenbankabfragen über CPP! 16:57 <+Complication> Ich stelle mir vor, dass sie beim Verknittern in TCP korrumpiert werden könnten 16:58 <+Complication> (sorry, sollte Witze wirklich auf #i2p-chat beschränken, aber manchmal geht’s nicht anders) 16:58 * cervantes spürt, dass bald ein baff naht 16:58 <+Complication> Datenbankabfragen als Shellcode? 16:59 <jrandom> ok, hat noch jemand etwas für das Meeting? 16:59 <+polecat> http://www.blug.linux.no/rfc1149/ <- wir könnten i2p wirklich darüber tunneln. 16:59 * Complication würde lieber bei SQL bleiben 17:00 <+void> jrandom: haben andere Sprachen als Java Bibliotheken für hsqldb-Datenbanken? 17:01 <+Complication> Oo dürfte welche haben, da sie es offenbar verwenden 17:01 <+void> sieht für mich nach „nein“ aus 17:01 <+void> oh, hmm 17:01 <@cervantes> OpenOffice nutzt es, also würde ich vermuten: ja 17:01 <+Complication> Aber ich bin mir nicht sicher, in was OpenOffice geschrieben ist 17:01 <jrandom> nicht dass ich wüsste. aber man könnte syndie gegen eine andere JDBC-Datenbank betreiben (MySQL, Oracle, etc) 17:01 <jrandom> oo nutzt Java 17:02 <+void> wofür genau nutzt OpenOffice diese Datenbank? 17:02 <+Complication> Scheint es nur teilweise zu verwenden 17:02 <jrandom> void: zur PDF-Generierung und für ihre Access-ähnliche Datenbank-App 17:02 <jrandom> (unter anderem) 17:02 <+Complication> Zumal es eine externe JRE empfiehlt 17:02 <+void> okay 17:03 <+void> portables SQL zu schreiben ist allerdings nervig 17:03 <+Complication> wenn man ohne Trigger oder Stored Procedures auskommt, sollte es allerdings nicht so schlimm sein 17:04 <jrandom> ach, so schlimm ist es nicht, und es lässt sich leicht externalisieren 17:04 <+void> vor allem, wenn man auf Oracle zielt ;) 17:05 <jrandom> tatsächlich unterstützt hsqldb pl/sql ;) 17:06 <bar> gibt es andere Pläne für diese Datenbank, z. B. für Stats, Peer-Profile, netdb..? 17:06 <jrandom> nein, das ist nur für syndie 17:06 <bar> ok 17:07 <jrandom> (obwohl wir, wenn wir den hsqldb-Code mitschicken, ihn in i2p „gratis“ nutzen können) 17:07 <@cervantes> da syndie keine I2P-Anwendung ist, sondern nur eine Anwendung, die über I2P laufen kann, richtig? 17:07 <jrandom> ja, cervantes, es gibt keine Abhängigkeit von i2p 17:07 <+Complication> Gut, Syndie portabel zu halten, da es auch andere Transports außer I2P haben könnte 17:07 <bar> genau 17:08 <+Complication> Es dürfte jedoch nicht schwierig sein, viele hsqldb-Instanzen auf derselben Maschine zu betreiben 17:08 <+Complication> Wenn andere Apps es benötigen, könnten sie es scheinbar einfach nutzen 17:08 <jrandom> trivial, und kostenfrei, wenn du einfach die In-JVM-Datenbank verwendest 17:08 <+Complication> (vorzugsweise ihre eigene Instanz verwenden) 17:10 <+void> gibt es keinen JDBC-Treiber für SQLite? 17:11 <jrandom> keine Ahnung, nie benutzt 17:11 <+void> ah, sieht so aus, als gäbe es *irgendetwas* 17:13 <jrandom> ok, noch etwas für das Meeting? 17:13 <jrandom> wenn nicht... 17:13 * jrandom holt aus 17:13 * jrandom tritt zurück 17:13 * jrandom holt Schwung 17:13 * jrandom *baf*t das Meeting zu