快速回顾

出席: ant, bla, cervantes, defnax, detonate, frosk, gott, hummingbird, jdot, jrandom, mancom, Ragnarok

会议记录

14:05 <jrandom> 0) 嗨 14:05 <jrandom> 1) 网络状态 14:05 <jrandom> 2) SSU 状态 14:05 <jrandom> 3) 贝叶斯对等节点画像 14:05 <jrandom> 4) Q 状态 14:05 <jrandom> 5) ??? 14:05 <hummingbird> 7) 赚钱 14:06 <jrandom> 糟了,我把你们的议程弄乱了 :) 14:06 <jrandom> 嗨 14:06 <jrandom> 每周状态笔记已在会议之前发布 @ http://dev.i2p.net/pipermail/i2p/2005-April/000683.html 14:06 <gott> jrandom: 再试一次 14:06 <+cervantes> 算了,这次会议反正一开始就不太顺利 14:06 <jrandom> *咳* 14:06 <jrandom> 切入 1) 网络状态 14:07 <jrandom> 我们在 netDb 上遇到的大问题已经修复,并在实际环境中确认消失 14:07 <jrandom> 仍然还有一些其他问题,但总体看来相当合理 14:08 <frosk> 有什么想法解释为什么有时会出现奇怪的 dnfs 吗? 14:08 <gott> 确认;我现在在 i2p 上获取我的非法色情内容的速度创纪录了。 14:08 <+cervantes> 看起来这个问题不容易定位 14:08 <jrandom> 有种隐约的怀疑,这与 tunnel 构建上的节流有关的某种混乱 14:09 <jrandom> 去掉那些节流可能会解决它,但对 CPU 较慢的用户可能会很痛苦 14:09 <jrandom> 另一方面,也许我们可以让它们可选,或者有人可以写更智能的节流代码 14:10 <frosk> 我明白了 14:10 <+cervantes> 在我的系统上,这次的节流比以前的版本积极得多 14:10 <jrandom> 是的,当未完成的请求太多时,我们会延迟 tunnel 构建——以前我们只是说“好,我们需要构建 X 个 tunnel。 开建” 14:10 <+cervantes> 能不能把阈值做成可调的? 14:11 <jrandom> 可以,没问题 14:11 <gott> jrandom: 可选的 14:11 <gott> 这样使用配置较弱的 i2p servents(同时具备客户端与服务端功能的节点) 的用户仍然能保持效率 14:12 <jrandom> 我现在的注意力在别处,如果有人想深入一下,关键方法是 TunnelPoolManager.allocateBuilds 14:12 <jrandom> (或者如果没人接手,我可以在下一个构建发布时加上一些调整) 14:13 <+cervantes> ........@ <-- 风滚草 14:13 <jrandom> :) 14:13 <jrandom> 关于 1) 网络状态还有别的要说的吗,还是我们继续到 2) SSU? 14:14 * gott 嘟囔着说到 i2p 社区时“说得多,做得少” 14:14 <+cervantes> 也许以后我们可以在控制台里引入性能配置档 14:14 <gott> jrandom 在开发方面做得太多了。 14:14 <+cervantes> 这样人们可以为高/中/低规格系统选择一组预设的配置选项 14:15 <jrandom> 哦,好主意,cervantes,这方面还有很多变体空间。 尽管我们希望尽可能自动调优,但让用户自己来可能更容易 14:15 <+cervantes> 因为目前似乎有很多人使用低规格机器和拨号连接 14:15 <gott> cervantes: 是的,绝佳的主意。 14:15 <+cervantes> 我该把我的 fire2pe 待办清单发出来了……里面有很多类似的玩意 ;-) 14:16 <gott> 主要基于处理器和网络速度吗? 14:16 <jrandom> 有一个用化名发布的待办事项站点会很不错 14:16 <gott> 好主意。 14:16 <+cervantes> 嗯,带宽限制器理想情况下应该处理好网速 14:16 <gott> 像典型的 Google 风格那样,在你的局域网(LAN)里放一堆“轻量的 i2p servents”。 14:17 <+cervantes> jrandom: ugha.i2p? 14:17 <jrandom> 也许吧 14:19 <jrandom> 好,关于 1) 网络状态还有别的吗? 14:19 * jrandom 带我们进入 2) SSU 14:19 <jrandom> 在 UDP 方面进展很大(SSU == Secure Semireliable UDP) 14:19 <gott> 应该有人把‘i2pwiki.i2p’给它做个别名 14:20 <+cervantes> 这大概得看 ugha 了 ;-) 14:20 <jrandom> 总体进展概览在邮件里,更多技术细节(还有一张漂亮的图 ;))在我的博客上 14:21 <+ant> <godmode0> udp 安全吗? 14:21 <+ant> <godmode0> 怎么做到的 :) 14:21 <jrandom> http://dev.i2p/cgi-bin/cvsweb.cgi/i2p/router/doc/udp.html <-- 如此实现 14:22 <+ant> <godmode0> 呵呵 14:22 <+ant> <godmode0> i2p not found right ip my computer 14:22 <jrandom> 抱歉,如果你没有安装 i2p,把“dev.i2p”改成“dev.i2p.net” 14:22 <+ant> <godmode0> 已经安装了 14:23 <+ant> <godmode0> 但不能用 14:23 <jrandom> 好,也许我们可以会后调试一下 14:23 <+ant> <godmode0> 哎呀,又在开会,抱歉 14:23 <jrandom> 呵呵,没问题 14:25 <jrandom> 总之,如我所说,整体计划在邮件里 14:25 <jrandom> 关于 SSU,大家有什么问题/意见/担忧吗? 14:26 <+Ragnarok> 吞吐量/时延会与 TCP 传输差很多吗? 14:27 <jrandom> 我希望能解决导致卡顿尖峰的原因,但我不做具体预测。 14:28 <jrandom> 如果我们能把时延保持在现在的大致水平并消除尖峰,就能把吞吐量再拉上去 14:29 <+Ragnarok> 酷 14:29 <gott> i2p.net 上会提供实现方面的文档吗? 14:30 <jrandom> 是的,我离线搬家的那段时间很大一部分会用来写文档放到网站上 14:30 <gott> 太棒了 \m/ 14:30 <jrandom> 我们在代码层面上对核心和 router 有一些不错的实现文档,但还没有很好的整体 router 架构文档 14:31 <jrandom> 总之,如果 2) SSU 没有其他事项,我们摇摆着进入 3) 贝叶斯对等节点画像 14:32 <jrandom> 今晚早些时候我们从 bla 那里收到了一份简短更新,见状态笔记 14:32 <+bla> 不过我还在…… ;) 14:33 <jrandom> bla 也许实际上还在,可以给我们更多想法或回答问题 - 14:33 <jrandom> 啊,你在这儿 14:33 <defnax> jrandom :你觉得公布一个 i2p BitTorrent Tracker 怎么样,就安全性而言我觉得不太好,对吗? 14:34 <+bla> jrandom 引用的 IRC 讨论展示了大体思路。总结如下: 14:34 <jrandom> defnax: 也许我们可以在 5) 里再讨论 14:34 <defnax> 好,我可以等 14:34 <+bla> 最终的想法是把显式 tunnel 测试获得的往返时延信息,以及客户端 tunnel 测试中的隐式信息,合并到一个节点速度估计框架中 14:35 <+bla> 目前,我只使用显式 tunnel 测试得到的信息,因为在那些测试中,所有参与的对等节点都是已知的。 14:36 <+bla> 将使用一个朴素贝叶斯分类器框架来估计某个对等节点的速度,依据是它参与过的 tunnel(任意位置)以及这些 tunnel 的速度 14:36 <+bla> 为了与“真值”对比,我获取了状态笔记中列出的“实际”对等节点速度 14:37 <+bla> 结果非常初步。不过 http://theland.i2p/estspeed.webp 展示了实际速度与用贝叶斯框架推断的速度之间的相关性 14:37 <+bla> 好吧。有什么问题或意见吗? 14:38 <jrandom> 评论:看起来很有前景。 14:38 <+ant> <BS314159> 看起来总的 tunnel 速度为每个参与的对等节点提供了一个硬下限 14:38 <+detonate> 评论:似乎有一些离群点 14:38 <+ant> <BS314159> 这个因素有纳入吗? 14:39 <jrandom> BS314159: 总的 tunnel 速度? 哦,你是指测试节点的网络连接吗? 14:40 <+bla> BS314159: 是的,那确实提供了一个下限。目前还没有处理,但会的:朴素贝叶斯框架允许对不同样本(RTT 测量)赋予不同权重。将来非常快的 RTT 会被赋予更大的权重 14:40 <+ant> <BS314159> 我是指某个给定 tunnel 的总带宽 14:40 <+bla> BS: 目前结果展示的是时延(latency)测量 14:40 <+ant> <BS314159> 对。 14:41 <+ant> <BS314159> 那没事了 14:41 <jrandom> 啊,对,当然。 吞吐量测量需要进一步修改,以使用不同大小的消息进行测试 14:41 <jrandom> 另一方面,隐式的 tunnel 测试由更大的消息驱动(通常为 4KB,因为那是 streaming 库的分片大小) 14:42 <+bla> detonate: 是的,有离群点。总会有一些(这在估计和建模中是固有的)。不过,在区分非常慢和非常快的客户端方面(把阈值大致放在 400 毫秒左右),效果还算可以 14:42 <+detonate> 好 14:43 <+bla> jrandom: 确实。一旦我把那部分搞定(我可不是 Java 大咖……),我也会用更大的消息来测试 14:43 <+bla> detonate: 我还想更好地区分“快”和“非常快”的对等节点。 14:43 <jrandom> 酷,我看看能不能给你发一个修改过的 TestJob 来做这个 14:44 <+bla> 有新结果我会汇报。 14:44 <jrandom> 给力 14:45 <jrandom> 好,酷。关于 3) 贝叶斯对等节点画像还有别的吗? 14:46 <jrandom> 如果没有,我们继续到 4) Q 状态 14:46 <jrandom> 正如邮件所说,据传 Aum 在新的 Web 界面上有进展 14:47 <jrandom> 我对此不太了解,也不清楚其他 Q 更新的细节,但我相信很快会听到更多 14:48 <jrandom> 有人要提 Q 的事项吗? 还是我们把这个当作速过的议程项,继续到 5) ??? 14:49 <jrandom> [算我们已经继续了] 14:49 <jrandom> 好,这次会议还有别的要提的吗? 14:50 <jrandom> defnax: 向 i2p 社区的人宣布一个 i2p tracker 会很不错。 对外界来说可能有点早,因为我们还没到 0.6 14:50 <gott> 有。 14:50 <jrandom> (或者 1.0 ;) 14:50 <gott> 我有一些关于用户层文档工作的内容要提。 14:51 <+mancom> 仅供记录:在 mancom.i2p 上有一个用 C# 实现的 Q 客户端 API(第一版) 14:51 <jrandom> 哦,酷,什么事,gott 14:51 <jrandom> 啊,真不错 mancom 14:51 <gott> 我之前为 0.4 版的 i2p 写过用户层文档。 14:52 <jrandom> 而我不幸通过改了一大堆东西把它们都淘汰了 :( 14:52 <gott> 但它与当前的 i2p 完全不相符了。 14:52 <gott> 因此,我很有兴趣写一套事实上的文档,我们可以(a)与 i2p 一起打包,或(b)通过 i2p 访问。 14:53 <jrandom> 太棒了。 文档随 i2p 一起打包(本地化到用户语言等)会很不错 14:53 <+cervantes> 酷 14:53 <gott> 我不建议打包,但这仍是一个选项,因为如果用户不知道如何使用或配置 i2p,他就无法访问 eepsites 来阅读手册 ;-) 14:53 <gott> 好。 14:53 <gott> 但这会不会有点过度? 14:53 <+ant> <BS314159> 有什么像样的程序会不带 man 手册页的? 14:53 <+cervantes> 而且值得等到 1.0 吗? 14:54 <gott> 这是另一个问题。 14:54 <jrandom> 鉴于开发变化较快,或许更应该专注于上下文相关的帮助,而不是一份整体用户指南 14:54 <gott> BS314159: 这不是 man 手册页,因为它将是跨平台的。 可能是 HTML。 14:54 <+cervantes> 在那之前我们还会有多少结构性变更 14:54 <jrandom> 例如,最好有更好的文档来说明不同配置选项“是什么意思”、有什么影响等。 14:55 <gott> 好,那我就为 i2p 写一份英文和法文本地化的手册。 14:55 <+jdot> 实际上,即使没有安装 i2p,我们也可以用 inproxy 来访问文档。 14:55 <gott> 两个主要问题: 14:55 <jrandom> 这些可以通过直接包含在界面里而保持最新 14:55 <+cervantes> 是的,上下文帮助会很棒 14:55 <gott> (1)打包,还是通过 manual.i2p 访问? 14:55 <gott> (2)面向哪个版本? 14:55 <gott> 是 14:55 <jrandom> gott: 我不确定现在编写用户指南是否明智 14:55 <gott> 那是个好主意 14:56 <gott> 你的意思是用自动更新功能来更新用户手册吗? 14:56 <gott> jrandom: 好的 14:56 <gott> 但你建议的上下文帮助该怎么做? 14:56 <jrandom> 哦,我们当然可以通过更新流程来发布文档更新 14:56 <+cervantes> 如果/当该编写手册时,或许可以提供一个 manual.war,用户若想本地访问文档就把它丢进自己的 webapps 文件夹 14:57 <gott> 我想的是一份用户手册。 14:57 <gott> 或者一份 HOWTO。 14:57 <gott> 我不太明白你说的上下文帮助是什么意思。 14:57 <gott> 这事挺直接的。 14:57 <jrandom> gott: 比如,一套“人类”(非超级极客)可读的信息,解释 /config.jsp 上的各种东西到底是什么意思。 那些信息会直接放在 /config.jsp 上,或者放在一个从该 config.jsp 可到达的 HTML 页面上 14:58 <jrandom> 用户手册或 HOWTO 都很棒,但要等到 1.0 14:59 <jrandom> 论坛上这方面已经有一些工作了 @ http://forum.i2p.net/viewtopic.php?t=385 14:59 <gott> jrandom: 是的。 14:59 <gott> 嗯。 14:59 <gott> config.jsp 上的信息已经相当直观了 15:00 <jrandom> 另一方面,我们经常看到有人问带宽限制究竟做了什么、突发速率如何工作等。 如果答案就在页面上,而不是让人们来问,那就太好了 15:00 <gott> 呵 15:00 <jrandom> gott: 对你直观是因为你已经使用 i2p 快两年了 15:00 <gott> 算了,‘configtunnels.jsp’倒是可以改进一下。 15:00 <gott> 好的。 15:00 <+cervantes> 对入门者也许直观,但新手会迷失的 15:01 <gott> 那么,这就是一个更为更新的任务清单: 15:01 <+cervantes> 从界面角度看,我不确定展示帮助的最佳方式。 15:01 <gott> (1)网页上的上下文相关帮助,按用户语言本地化。 可以为语言界面设置一个配置变量,在 Linux 上默认从 $LANG 路径变量加载 15:02 <gott> 我不确定 Java 在 Windows 下如何确定默认语言环境。 15:02 <gott> 但这对本地化和文档编写来说是个不错的开始。 15:03 <gott> (2)面向 1.0 的 HOWTO,通过 i2p 访问 15:03 <gott> 我不建议把 HOWTO 打包进去,那就有点过度了。 尽量让 i2p 保持小巧,不是更好吗? 15:03 <jrandom> 伙计,那就是 HTML。 它很小。 即使很大,HTML 的压缩效果也非常好 15:03 <jrandom> 强烈倾向于提供本地手册 15:03 <jrandom> 尤其是我们可以推送更新 15:03 * gott 耸耸肩 15:04 <gott> 我想也是。 15:04 <gott> 我只是觉得有点傻。 15:04 <gott> 明明可以直接通过网页下载。 15:04 <gott> 但另一方面,如果用户搞不清楚怎么用 i2p 15:04 <gott> 那也没办法。 15:04 <+ant> <Synonymous2> aum 在吗,我在看 QuarterMaster 的规格说明 15:04 <+ant> <Synonymous2> * 为了帮助客户端侧搜索,所有数据项都附带 15:04 <+ant> <Synonymous2> 一个简单的元数据模式——目前只包括: 15:04 <+ant> <Synonymous2> - key - 键的文本名称 15:04 <+jdot> 把它放到 www.i2p.net 上,这样通过互联网和 i2p 都能访问。 15:04 <+jdot> 而且始终是最新的 15:05 <gott> 对。 15:05 <gott> 那就用更新机制吧。 15:05 <gott> 好的。 15:05 <gott> 那么,定下来: 15:05 <jrandom> 当然,我们也可以把它放到网站上。 如果有帮助,我们可以在全网到处发链接 ;) 15:05 <+ant> <Synonymous2> 我在想 Aum 能否实现一个数据存储,使元数据分离,以便他想升级存储系统时更灵活。 还记得 Freenet 想改存储系统却卡住的时候吗 15:05 <gott> 1:本地化界面和上下文相关帮助。 15:05 <gott> 2:面向 1.0 的本地化 HOWTO 15:05 <+ant> <Synonymous2> 噢,这还是会议吗 :) 15:05 <gott> 还有补充吗? 15:06 <gott> 这份 HOWTO 会涵盖许多额外的 i2p 网络特性。 15:06 <gott> 去哪里找最新的色情内容(开玩笑) 15:06 <+ant> <BS314159> man 手册页! :-) 15:06 <gott> man 手册页不是跨平台的 15:06 <jrandom> 酷,HOWTO 里包括 Q、i2ptunnel、feedspace、i2p-bt 等内容会很棒 15:06 <+cervantes> 安装程序也可以本地化,我想... 15:06 <gott> i2p 网络有着多得惊人的法国用户 15:07 <+Ragnarok> 你应该把我一直没来得及写的地址簿文档写了 :) 15:07 <gott> 我确信他们会喜欢本地化界面,这样就不用看令人讨厌的英语了 15:07 <+cervantes> 嘿,它已经大多是法语了 15:07 <gott> 确实。 15:07 <gott> 好主意。 15:08 <gott> 好了,我要说的就这些。 15:08 <jrandom> 好,酷,谢谢 gott,主动性不错 15:08 <gott> 现在我先从上下文相关的东西开始 15:08 <jrandom> Synonymous2: 我不确定 Aum 在那方面做了什么 15:08 <jrandom> 太赞了 15:08 <gott> 然后,当加入本地化选项时,再做本地化语言 15:08 <+bla> gott: 我讨厌英语! ;) 15:09 <gott> 我也是 15:09 <+ant> <Synonymous2> Q、i2ptunnel、feedspace、i2p-bt 等写进 HOWTO 会很棒,我觉得应该更新一下 i2p 的 wiki 文章把这些加上,我来做 15:09 <+cervantes> 嗯,这事你该怪征服者威廉 15:09 <jrandom> 呵 15:09 <gott> wiki 不错,但也是非官方的。 15:09 <gott> 手册具有某种“认证”意味。 15:09 <gott> 更让人放心。 15:10 <+ant> <Synonymous2> 如果大家愿意过来看看也会很有帮助,Freenet 的维基百科条目在描述工具方面也不错。 另外,我看到 Freenet 的网页是以 GNU FDL 发布的,如果 i2p.net 也能这样做(或公有领域),我就可以把一些内容复制到维基百科 :)) 如果你们愿意的话 15:10 <+cervantes> 否则我们现在还在说盎格鲁-撒克逊语呢 15:10 <jrandom> 我所有“拥有权利”的作品都默认为发布到公有领域 15:11 <+ant> <Synonymous2> 我以为是的,如果你方便能在网页上放个简短说明就太好了,维基百科的人对版权很较真 :> 15:11 <+ant> <Synonymous2> :))) 15:11 <gott> jrandom: 我写的所有本地化内容都会进入公有领域 15:11 <jrandom> 另一方面,直接拷贝文本,呃,不太有用,因为你的副本会过时——只要链接过去就行,网络就是为此而生的 15:11 <gott> 我才不在乎什么许可证。 15:12 <gott> 另外,最后一个问题: 15:12 <+ant> <Synonymous2> 我打算拷贝一些东西,比如图表和一些图形 呵呵 15:12 <gott> router 的 .jsp 在哪儿? 15:12 <jrandom> gott: http://dev.i2p/cgi-bin/cvsweb.cgi/apps/routerconsole/jsp/ 15:13 <gott> 啊 15:13 <gott> 那么,在本地它们是在 .jar 里? 15:13 <jrandom> gott: routerconsole.war 15:13 <jrandom> 但你不能直接在那里编辑,因为它们已预编译成 Java 15:13 * gott 点点头 15:13 <gott> 当然。 15:14 <gott> 不过,这有点不方便。 15:14 <gott> 等本地化出来后,可能会改? 15:14 <jrandom> 是的。 不过有很多选择。 如果你把 jsps 应该渲染出来的 HTML 做好,我们就能把它接进去 15:14 <+cervantes> Synonymous: http://www.i2p.net/licenses 15:15 <gott> 这样你就可以有语言包 15:15 * gott 点点头 15:15 <gott> 目前,它只是硬编码 15:15 <jrandom> Java 中的本地化是通过加载按语言划分的 properties 资源文件实现的 15:15 <gott> 不过后来应该少一些限制,我的建议是这样 15:15 <jrandom> 对,对 15:16 <gott> 太棒了。 15:16 <gott> 那我就用匿名 CVS 啦 ;-) 15:16 <jrandom> 酷毙了 15:16 <+ant> <BS314159> bla: 你的原始数据有公开吗? 15:16 <jrandom> bla 刚刚断线了,不过我们会看看能否提供一些数据 15:17 <gott> 顺便问下,有人在 OpenBSD 上跑 i2p 吗? 15:17 <+ant> <BS314159> 让大家试试自己的估计器会很有趣 15:17 <+ant> <BS314159> sister:...23? 15:17 <jrandom> gott: 是的,我想 detonate 是 15:18 <+ant> <BS314159> ack 15:18 <+ant> <BS314159> 交叉发帖 15:18 <+ant> <BS314159> 该死! 15:18 <gott> 这可行吗?就 OpenBSD 而言,Java 在运行 i2p 上有哪些限制? 15:18 <gott> 好的。 15:18 <jrandom> BS314159: 是的,论坛里有一些关于修改你们估计器的好信息 15:18 <+cervantes> 会议真长 15:18 <gott> 如果我有时间,可能会让它跑起来并做个移植包。 15:18 <gott> 不过那是很久以后的事,可能会有人比我先做 ;-) 15:18 <jrandom> cervantes: 看看日志吧,我们以前打破过 2 小时的纪录 ;) 15:19 <jrandom> 好,还有别人有会议事项吗? 15:20 <jrandom> 如果没有 15:20 * jrandom 开始收尾 15:20 * jrandom *baf* 地宣布会议结束