简要回顾
出席: aum, deer, duck, hypercubus, jrandom, kaji, MikeW
会议记录
14:05 <jrandom> 0) 嗨 14:05 <jrandom> 1) 网络状态和 0.3.4.3 14:05 <jrandom> 2) Stasher 14:06 <jrandom> 3) ??? 14:06 <jrandom> 0) 嗨 14:06 * jrandom 向所有 i[2i]p 和 freenode 的各位挥手 14:06 * hypercubus 挥手 14:06 <jrandom> 每周状态说明刚刚发布在 http://dev.i2p.net/pipermail/i2p/2004-August/000409.html 14:06 <deer> <oOo_itwop> 表演时间到了! 14:07 <deer> <mule> 看来 i2p irc 不爱我。或者它想通过频繁中断让我一直“热着” 14:07 <jrandom> 呵,是啊,这正好引出 1) 网络状态和 0.3.4.3 :) 14:07 <jrandom> 网络现在相当糟糕 14:07 <kaji> 对 14:08 <jrandom> 问题主要源于大家运行的不同版本之间的不兼容,这引入了各种意想不到的方式把东西搞坏 14:09 <jrandom> 如果你查看邮件里的链接,你会看到曾发生的 flooding 和 netDb DoS,不过基本已经平息 14:09 <jrandom> 我们这儿仍然有半打人在跑旧版本(可能还有 20-25 人在跑原版 0.3.4.2,它也有自己的问题) 14:10 <jrandom> 感谢大家的耐心。在我们能高效绕过坏节点之前,我不想匆忙发新版本 14:10 <jrandom> 过去我们能绕开只是性能差的坏节点,但还没不得不应对会做 Bad Things 的节点 14:11 <deer> <oOo_itwop> 小白鼠向 jrandom 鞠躬! 14:11 <duck> 下个版本会向后兼容吗? 14:11 <jrandom> 也许会,duck。如果我们能绕过那些旧节点,就没有理由做成不兼容 14:12 <duck> 棒 14:12 <jrandom> 总之,虽然大家还没看到新版本,内部已经有很多工作在推进 14:13 <jrandom> 我不确定 0.3.4.3 何时发布。也许明天,也许本周稍晚。 14:14 <jrandom> 关于网络状态,大家有想提的问题/意见/担忧吗? 14:14 <kaji> *.3 会包含 hyper 的新 GUI 安装器吗? 14:14 <jrandom> 可能不会 14:14 <deer> <mule> 从我几台机器的 profiles 看网络状态不错,就是我经常掉线 14:15 <jrandom> 是,我懂,mule。对我来说 IRC 连接也很糟,不过最近在好转 14:15 <deer> <mule> 不过我错过了你们的大部分讨论,所以我先不说话了 14:15 <jrandom> 如果你想从 CVS 拉最新代码,应该会有改进,但更新很频繁,所以你也许想等发布版 14:16 <jrandom> 好,还有别的吗?没有的话,我们轻快地进入 2) Stasher 14:16 <kaji> woot stasher 14:17 <jrandom> Stasher 看起来挺酷。功能仍然比较有限,但在不断推进 14:17 <jrandom> 要是 aum 醒着,他就能给我们更新了…… 14:17 <jrandom> aum: ping? :) 14:17 <kaji> /kick aum 14:18 <jrandom> (不过对他来说还很早,他大概还在睡) 14:18 <duck> 真自私 14:18 <hypercubus> 目前为止我印象不错 14:18 <jrandom> 总之,安装和运行 Stasher 相当省心,如果你们能帮他测试一下就太好了 14:18 <jrandom> 是啊,绝对的 14:18 <hypercubus> 它让我得以大规模地散播 goatse 14:19 <jrandom> 没有 goatse 的应用算什么,嗯? 14:19 <hypercubus> 你一定会爱上一款能把 goatse 上传到别人硬盘的应用 ;-) 14:19 <aum> pong 14:19 <jrandom> w0ah 14:19 <jrandom> 早啊 aum 14:19 <deer> <ardvark> 小问题:我是通过 i2p 的 CVS 获取 Stasher 吗? 14:19 <aum> 大家好 14:19 <jrandom> ardvark:在 i2p/apps/stasher/ 14:19 <aum> ardvark:嗨!!!! :) 好久不见! 14:20 <deer> <ardvark> 是的,嗨 aum!很高兴见到你,伙计! 14:20 <aum> ardvark:通过 tarball 可能更容易 - http://stasher.i2p 或 http://www.freenet.org.nz/python/stasher 14:21 <deer> <ardvark> 好的 aum,我拿到了 tarball,但它说还需要其他东西? 我不耽误会议了,也许我可以联系你? 14:21 <aum> 当然可以 14:22 <hypercubus> 那么,Stasher 有什么更新吗,aum? ;-) 14:23 <aum> 小更新,我加了一个“-l”选项,允许仅在本地进行 get/put 14:23 <aum> 另外,考虑实现一个立即返回的“put”选项 14:24 <aum> 昨晚在思考实现 Freenet 键类型的问题 14:24 <hypercubus> 我想请求在 put 成功时返回状态……scp 和许多其他命令行网络应用都会这么做 14:24 <jrandom> SSK 会相当给力 14:25 <jrandom> (当然,在我看来 CHK 才是最核心的) 14:25 <MikeW> 我一直觉得 freenet 有个有趣的点:它会告诉你为什么可能出现高 CPU 占用。有时(通常在启动后一两分钟)以及偶尔,CPU 占用会飙到 100%,也许能估计一下它为什么觉得 java 在吃我的 cpu? 14:25 <deer> <oOo> Splitfiles ^^ 14:26 <jrandom> MikeW:如果 i2p 在吃你的 CPU,那肯定是哪里坏了 14:26 <aum> 我已经初步实现了 splitfiles(分片文件),但还没启用——想先在本地测试 14:26 <jrandom> MikeW:你可以通过查看 router 控制台里的“current job”准确知道你的 router 在做什么,那(几乎总是)是 CPU 忙的地方 14:26 <jrandom> 啊,酷,aum 14:27 <aum> 由于递归算法,等完成后 splitfiles 将允许不限大小的文件 14:27 <deer> <oOo> 太好了,严肃的 goatse 和 pr0n 内容少不了 splitfiles... 14:27 <deer> <identiguy> aum:这包括 FEC 吗? 14:27 <aum> 不需要 FEC 14:27 <aum> FEC 只在不稳定的网络上才需要 14:27 <deer> <identiguy> 啊,我懂了。 14:27 <aum> 我用的是 Kademlia,它的可检索性保证要好得多 14:27 <duck> 除非节点宕掉 14:28 <aum> 而且,说实话我懒得做 FEC,太折腾 14:28 <aum> duck:有冗余——参考 Kademlia 里的 k 值 14:28 <jrandom> duck:k 取 20 的话,即使不做任何重新发布也没问题 ;) 14:28 <duck> 呵,好吧 14:28 <deer> <mule> aum:如果有不少节点被移除,FEC 可能会有帮助 14:28 <jrandom> (而且有重新发布的话,只有在所有 k 同时挂掉才会受影响) 14:28 <aum> 不用,我会把 k 再增大点 14:28 <jrandom> 在我看来,k=20 已经相当可观 14:29 <jrandom> (因为那意味着你有 20 份完整副本) 14:29 <hypercubus> 用户随时可以使用独立的 FEC 工具 14:29 <MikeW> jrandom: Under JobQueue, runners:1, active jobs:0, just finished:1, ready/waiting: 0, timed: 28 14:29 <aum> 这就意味着有 20 份 goatse,各位 :P 14:29 <hypercubus> 然后发布结果 14:29 <duck> 那“Britney Spears 效应”怎么办? 14:29 <duck> 就是非常热门的键最终落在 1 个节点上 14:29 <jrandom> (也就是插入一个 740MB 的文件,你就需要发送 14.8GB 的数据) 14:30 <aum> duck:Kademlia 里没有“受欢迎度”这个概念 14:30 <duck> (当然,如果是 32KB 的键,可能也没那么糟) 14:30 <jrandom> 好的,MikeW,但 i2p 现在还在吃你的 CPU 吗? 14:30 <deer> <ardvark> 我在 i2p 上看到的这些 kademlia 消息都是和 Stasher 相关的吗? 14:30 <MikeW> jrandom:是的 14:30 <aum> duck:而且 Kademlia 没有中继 14:30 <hypercubus> ardvark:router 控制台里的那些东西是 netdb kad 的实现 14:31 <aum> “中继”“受欢迎度”“缓存”等概念是 Freenet 的,因为它必须赤裸裸地暴露在公网上,没有 I2P 的隐匿披风 14:31 <deer> <ardvark> 我这边同时跑 i2p 和 tor,CPU 占用现在是 3%,所以 :/ *shrug* 14:31 <jrandom> MikeW:那就是你的 router 维持不了连接,正在为了大量并发建连而疯狂吃 CPU 14:31 <duck> 好吧,我的大脑被 Freenet 腐蚀了 14:31 <duck> 请多包涵 :) 14:31 <deer> * shendaras 安慰。 14:31 <jrandom> MikeW:如果会议后你能留下来一起调试就太好了 14:32 <MikeW> 好 14:32 <jrandom> 好的,很棒。aum,大家能做点什么来帮忙吗? 14:32 <jrandom> 还是我们就“随便试试”然后提 bug? 14:33 <duck> 我在努力习惯用 leo 14:33 <aum> 对,请把 bug 发到列表里,大家可以吗 14:33 <duck> 已经比 eclipse 更合我胃口了 14:33 <hypercubus> leo 是什么? 14:33 <jrandom> (糟了,吐槽要来了 ;)) 14:33 <aum> duck:我最近只用 leo——除了快速改几下会用 emacs,更快的会用 zile 14:34 <hypercubus> 只要你不在用 vi 或 emacs 就好 ;-) 14:34 <aum> http://leo.sf.net - 给你代码的大纲视图 14:34 <hypercubus> 不过我得亲自试试这个 leo 14:34 <aum> 如果你愿意,leo 甚至可以与 emacs 集成 14:34 <hypercubus> 它不是编辑器吗? 14:35 <aum> <bile> 14:35 <aum> 该死的 msvc——64 位整数允许用 __int64,却不允许 64 位整数字面量用“LL”或“ULL” 14:35 <aum> !! 14:35 <aum> </bile> 14:35 <hypercubus> 啊,我明白了 14:37 <jrandom> 好,如果就这些,那我们没别的了,可以进入 3) ??? 14:37 <jrandom> 还有其他想提的吗? 14:37 <hypercubus> 嗯,我来说说安装器的新方向 14:37 <jrandom> 好,来吧 14:38 <hypercubus> 从 0.4 开始,命令行用户只需拿到 i2p 的 tarball 解包,然后运行一个脚本来启动 router,并在 lynx 或其他浏览器中打开 router 控制台 14:39 <hypercubus> 所以变化不大,只是你不再需要跟安装器做一段蠢兮兮的问答流程 14:39 <hypercubus> 你会在 router 控制台完成所有配置 14:39 <hypercubus> 对于 GUI 用户,我们也有很炫的东西 14:39 <jrandom> (w00t) 14:40 <hypercubus> 你可以在 http://files.hypercubus.i2p/install.jar 预览 14:40 <jrandom> 或者从 cvs 获取(ant pkg ; java -jar install.jar),对吧? 14:40 <aum> hypercubus:Windows 安装器进展如何?它会自动检测/自动下载/自动安装 Java 吗? 14:41 <hypercubus> 菜单快捷方式快有了,还有系统托盘集成,以及把 router 安装为守护进程的方法 14:41 <aum> daemon?像 Windows 的“service”吗? 14:41 <hypercubus> 不,至少在可预见的未来,他们需要点击 i2p 网站上的一个链接,跳到官方的 Java 下载页面 14:42 <hypercubus> 安装器需要 Java,不过没问题,因为 i2p 也需要 14:42 <aum> hypercubus:抱歉,但那会流失 80% 的用户 14:42 <hypercubus> 说一个不这么做的 Java 项目? 14:42 <jrandom> 我们最终会做的。 14:42 <jrandom> 只是现在不会。 14:42 <aum> Freenet 做得很好——他们的 Windows 安装器会带你完成下载 14:43 <jrandom> (我们还有太多更重要的事要做。 我们现在并不*想要*成千上万的用户) 14:43 <hypercubus> 那是 1.0 要考虑的事 14:43 <hypercubus> 我实现它的大部分代码其实已经写好了 14:43 <aum> jrandom:我记得你说过会放在 0.4 14:43 <deer> <mule> 所以你们应该要求 Java 必须从源码编译 :) 14:44 <jrandom> 新安装器会出现在 0.4 14:44 <hypercubus> 我们把我到目前为止写的所有代码都废弃了 14:44 <hypercubus> 改用 IzPack 14:44 <hypercubus> http://izpack.sf.net 14:44 <jrandom> 我们可以提供一个 15MB 的打包下载把两者捆在一起,但在 1.0 之前会用 i2p 的大多数用户都知道“Java”是什么 14:45 <hypercubus> 这也让我有时间把一个完全公共领域的 Java 安装器框架打磨完善,最终我希望把 i2p 迁回到它上面 14:45 <hypercubus> 但现在的优先级是摆脱这套糟糕的现有安装器 ;-) 14:46 <hypercubus> (无意冒犯那位把它拼起来的人) 14:46 <deer> <shendaras> 返回 404.... 14:46 <duck> http://www.izforge.com/izpack/ 14:46 <hypercubus> http://www.izforge.com/izpack/ 14:47 <hypercubus> 抱歉 14:47 <hypercubus> 总之,我很期待大家对我在自己的 eepsite 上放出的预览安装器的反馈 14:48 <hypercubus> 它已经在 *nix 和 Windows 上测试过了,应该也能在 OS X 和 Solaris 上工作 14:48 <jrandom> r0x0r 14:48 <duck> 很赞 14:48 <jrandom> 是的,真给力 14:49 <hypercubus> 我可能会 hack 一下 IzPack,把按钮上那些傻乎乎的图标去掉 14:49 <deer> <mule> hypercubus:它会破坏现有配置还是会保留? 14:49 <hypercubus> 包里没有包含配置文件 14:49 <hypercubus> 所以它只会覆盖 jar 和 war 14:49 <jrandom> (目前是这样 ;)) 14:49 <hypercubus> 嗯,我们会考虑配置的 14:49 <deer> <mule> 好,谢谢 14:49 <duck> 该怎么启动整个 Jetty 东东? 14:50 <duck> 还是用 sh/bat ? 14:50 <jrandom> 是的 14:50 <jrandom> router 会通过脚本启动,和/或通过服务(调用那个脚本) 14:50 <hypercubus> 对,我也会给 Windows 用户加一个 exe 14:50 <jrandom> w00t 14:50 <hypercubus> 它会从“开始”菜单启动 14:50 <hypercubus> Windows 的“开始”菜单 14:51 <hypercubus> 明天之前应该就能让 Jetty 作为 Windows 服务运行 14:51 * jrandom 嘟囔着 *不是 jetty,是 i2p* 14:51 <hypercubus> 啊对 ;-) 14:52 <hypercubus> 不过 Jetty 自带一个 Win32 的服务封装器 14:52 <hypercubus> 我们可以用它来包装任何东西 14:52 <jrandom> 是的,外面有 3-4 个 PD/BSD 许可的 Java 服务封装器 14:52 <hypercubus> 是啊,可能也有一些给 Linux 用的 14:53 <jrandom> 嗯,Linux 的服务 == init 脚本 :) 14:53 <hypercubus> 对,但即便是主流发行版之间,Linux 服务的处理方式也不同 14:53 <hypercubus> 比如,Gentoo 用的是 rc-setup 脚本方案 14:54 <jrandom> w3rd 14:54 <hypercubus> 总之,我会让它在所有主流发行版和各类 *BSD 上都能工作 14:54 <hypercubus> 甚至更多 14:55 <hypercubus> oops, s/rc-setup/rc-update/ 14:55 <hypercubus> 好,我想这些都说到了 14:55 <hypercubus> 你们现在可以醒了 ;-) 14:55 <deer> * shendaras 打哈欠 14:55 <jrandom> 好,感谢 hyper,听起来不错。 14:56 <jrandom> 还有其他人要提些什么吗? 14:56 <aum> 如果我错过了之前的讨论,抱歉,不过.. 14:56 <aum> 就数据报延迟等方面,“天气”如何? 14:57 <jrandom> 我不太清楚数据报——我用的应用都通过 streams 架在数据报之上运行 14:57 <jrandom> 网络状态依旧很糟——见状态说明 @ http://dev.i2p.net/pipermail/i2p/2004-August/000409.html 14:58 <aum> k 14:58 <jrandom> 好,如果没别的... 14:58 * jrandom 收尾 14:59 * jrandom 将会议 *baf* 地宣布结束