快速回顾
出席: bar, Complication2, gloin, hottuna, jrandom
会议记录
15:02 <jrandom> 0) 嗨 15:02 <jrandom> 1) 网络状态 15:02 <jrandom> 2) Syndie 1.000a 15:02 <jrandom> 3) ??? 15:02 <jrandom> 0) 嗨 15:02 * jrandom 挥手 15:02 <jrandom> 每周状态说明已发布在 http://dev.i2p.net/pipermail/i2p/2006-December/001324.html 15:03 <jrandom> 我们直接进入 1) 网络状态 15:03 <Complication2> 哦,我完全忘了今天是星期二 15:03 <jrandom> 总体挺顺利,如前所述,不过我的 router 运行了45天后终于重启了一次 15:04 <jrandom> (坦白说,如果我们能稳定地跑到1个月以上我就很高兴了 :) 15:04 <Complication2> 对我来说网络状态比以前更不稳定了一点,这是因为我的其中一个 I2P router 大约每10天就会出一次问题 15:04 <Complication2> 另一个 router 能坚持一个月的在线时长,但它并不是一个高流量的 router 15:05 <Complication2> 实际上相当温和 15:05 <jrandom> stats.i2p 显示过去一周构建成功率略有下降,但也可能只是季节性波动 15:07 <+fox> <hottuna> 我看到一些古怪的 wrapper 日志消息 15:07 <+fox> <hottuna> INFO | jvm 1 | 2006/12/26 01:00:00 | 2006-dec-26 00:00:00 org.mortbay.util.RolloverFileOutputStream removeOldFiles 15:07 <+fox> <hottuna> INFO | jvm 1 | 2006/12/26 01:00:00 | INFO: Log age 2006_09_26.request.log 15:07 <+fox> <hottuna> INFO | jvm 1 | 2006/12/26 01:00:00 | 2006-dec-26 00:00:00 org.mortbay.util.RolloverFileOutputStream removeOldFiles 15:07 <jrandom> 不过 irc 现在表现仍然不错,即便使用 3 跳的 tunnels 15:07 <jrandom> 哦,有意思,hottuna,听起来像是一些冗长的 commons-logging 输出 15:08 <jrandom> (Jetty 用的是他们自己的 logger,不是我们的) 15:08 <+fox> <hottuna> 那就不用担心了 .. 15:08 <+fox> <hottuna> 不过由于带宽(BW)匮乏一直没运行我的 router 15:09 <jrandom> 匮乏是“给 i2p 的 bw 不够”,还是“i2p 占用了太多 bw”? 15:11 <+fox> <hottuna> 嗯,都有,但因为我运行 i2p 是为了捐献 bw,所以第一个说法更贴切 15:11 <jrandom> 啊呵,好的 15:11 <+fox> <hottuna> 我刚第一次启动 Syndie,有点不知所措,不太知道从哪里开始 15:11 <+fox> <hottuna> 不过加上标准归档这个细节很贴心 15:13 <jrandom> 谢谢 :) 我们还有很多工作要做来减少这种“被淹没”的感觉,不过这些放到 2) Syndie 1.000a 再说 :) 15:13 <jrandom> 1.000a 已发布,下载尽情用吧! 15:14 <jrandom> 开箱体验基本是:安装、启动、“添加标准归档”,让 Syndie 立即与标准归档同步(然后点保存),它就会开始拉取消息 15:15 <jrandom> 它会在保存按钮下方的表格里添加条目,每条消息一行、每个论坛一行——右击消息和论坛即可打开,或者通过菜单 Forum->Read all 来浏览 15:15 <bar> 恭喜 Syndie 的 alpha 版发布,你为此长期辛苦付出。致敬。 15:16 <Complication2> 我也是。数据库令人印象深刻,界面也很有前景。 :) 15:16 <+fox> <hottuna> 我现在就在用 Syndie,正在读那篇鸿篇巨制的 Syndie 和 i2p 方向帖 15:16 <gloin> 顺便说,build.xml 里有个硬编码的值: build.xml: <property name="swt.win32" value="../swt-I20061214-1445-win32-win32-x86/swt.jar" /> 15:16 <jrandom> 谢谢,要把 Syndie 带到应有的水平还有许多事要做,但这是个开始 15:17 <+fox> <hottuna> 在可用性方面还有很多工作要做,但你已经走了很远 15:17 <jrandom> gloin:是的,有3个(swt.win32、swt.osx 和 swt.linux32)——它们只在“ant dist”时用到 15:18 <Complication2> 顺带问下,“ant”的默认是不是“ant clean jar”? 15:18 * Complication2 检查中 15:18 <jrandom> hottuna:这就需要你们(以及大家 :) 出手——我现在脑袋埋在 Syndie 的内部细节里,要以合适的视角来提升可用性对我来说往往不太容易 15:19 <jrandom> 我需要你们的意见、反馈和建议来改进 15:19 <Complication2> 啊哈,依赖检查和打 jar 15:19 <Complication2> (不包含清理那部分) 15:19 <jrandom> 对,Complication2,默认没有“clean” 15:21 <gloin> “ant dist”会为 linux、win32 等构建各版本吗? 15:21 <jrandom> 会,构建安装程序、.exe 文件等 15:22 <jrandom> 如果只是想自用构建并运行 Syndie,可以“ant jar”然后把 lib/syndie.jar 复制到你的 Syndie 安装目录,或者用“ant run”就地启动 15:23 <Complication2> 哎呀,那我忽略了“run”目标 15:23 <jrandom> (指定必要的 -Dswt.dir=/blah 标志,或者把它们写进(新建的)文件 nbproject/private/private.properties 中,写成 swt.dir=/blah/) 15:23 <Complication2> 我写了个 run.sh :D 15:24 <Complication2> 就两行,不费事 15:24 <jrandom> 那也行 :) 15:24 <Complication2> 是的,“ant run”很好用 15:24 <gloin> “ant run”似乎工作正常,但安装的 linux32.exe 报告缺少 swt。 15:24 <Complication2> 刚测过 15:26 <jrandom> 嗯,gloin,安装的 Syndie lib 目录里有 swt.jar 吗? 15:27 <gloin> 有。 15:28 <jrandom> 你是用“java -jar /some/path/to/that/syndie/bin/syndie.exe”来运行吗? 还是你指的是 Linux 安装器? 15:29 <gloin> 安装器没问题。它创建了 syndie-1.000a 目录。 15:31 <gloin> Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3235 in java.library.path 15:33 <Complication2> 有个小问题(我在测试 Linux 二进制包) 15:33 <jrandom> 嗯,gloin,它有没有在 /tmp/ 里创建 libswt-pi-gtk-3235.so ? 15:33 <Complication2> 在哪里获取公钥“393F2DF9”? 15:33 <jrandom> 这是个好问题... 15:34 <gloin> 谁?什么时候? 15:34 <gloin> 此刻 /tmp/ 里没有 libswt-pi-gtk-3235.so 15:35 <jrandom> 新的 SWT(3.3M4)随 Syndie 提供,如果找不到本地库会把它们解压到 /tmp/ 15:36 <jrandom> gloin:你能运行(cd ~/syndie-1.000a/ ; java -cp lib/syndie.jar:lib/swt.jar:lib/hsqldb.jar syndie.gui.SWTUI )看看是否能找到吗? 15:36 <jrandom> Complication2:会议结束后会在各个密钥服务器和网站上发布 15:37 <Complication2> 谢谢 :) 15:37 <jrandom> (它在我的钥匙串里,但我现在这台 Windows 机器上取不到) 15:37 <Complication2> 同时,我用更常规的办法发现我下载的二进制包确实在早期就中断了 15:37 * Complication2 再次取回剩余部分 15:38 <gloin> 没有。也许我重建一下安装器 15:39 <jrandom> gloin:你能检查下 swt.jar 是否包含 libswt-pi-gtk-3235.so 吗(jar tvf lib/swt.jar)? 15:40 <jrandom> 不管怎样,我们会继续调试,遇到什么问题就查 15:41 <gloin> 里面没有。 15:41 <jrandom> Syndie 1.000a 的内容差不多就这些了——后续当然会有更新,我们会在会议或邮件中发布 15:42 <jrandom> (升级 Syndie 有体积小得多的下载包,不用每次下完整的 4–5+MB 包——见 syndie.i2p.net/download.html) 15:42 <+fox> <hottuna> i2p 网络上的 i2p syndie 归档的 URL 是什么? 15:43 <jrandom> gloin:你能私信把“jar tvf”的输出发给我吗? 15:43 <jrandom> hottuna: http://archive.syndie.i2p/ 15:43 <+fox> <hottuna> 谢谢你 15:45 <jrandom> (注意,archive.syndie.i2p / syndie.i2p.net:8080 只是运行了内置 HTTP 服务器的 Syndie 实例) 15:45 <+fox> <hottuna> 哦 :) 太酷了 :) 15:45 <+fox> <hottuna> 哦顺便说一下,Syndie 的时钟和我系统的时钟不一致 15:46 <jrandom> 所以,任何人都可以运行自己的 Syndie 归档,供大家从上面同步——只要把你的归档链接给别人(可以通过 irc/html 等方式,或直接在 Syndie 里用“archive link”/引用) 15:46 <jrandom> Syndie 的时钟? 15:46 <+fox> <hottuna> 或者是 Syndie 里消息的时间戳 15:47 <+fox> <hottuna> 等一下.. 现在看起来对了.. 15:47 <+fox> <hottuna> 重启之后 15:52 <gloin> 我该如何构建一个 headless(无界面)归档服务器?我想 import.cgi 已经不再“支持”了? 15:53 <jrandom> 对,import.cgi 与最新版本不兼容——你可以用普通的 Syndie 安装,通过运行 Syndie “--cli”来启动文本引擎,从而运行一个 headless(无界面)服务器。 15:55 <jrandom> 集成的 HTTP 服务器可以在文本引擎里通过“httpserv”命令启动(http://syndie.i2p.net/manual.html#general_httpserv ) 15:55 <gloin> 多谢。 15:56 <jrandom> 如果你要把你的归档重新拉起来,该我谢谢你 :) 15:57 <gloin> 唔.. 即便有 GUI,看起来也挺复杂 :) 15:58 <jrandom> 是啊,你们的任务不轻——一起把它做得更易用、更有用 :) 15:59 <jrandom> 随着大家开始试用、问题逐步浮现,我们还有很多要讨论的;但目前尽管去探索、发帖,看看都发生了什么 15:59 <jrandom> 扭着身子挪到 3) ???,还有人要在会上提些什么吗? 16:00 <Complication2> 测试了 Linux 二进制安装器,运行良好 16:00 <Complication2> 只是有点奇怪:它尝试在 KDE 菜单中创建快捷方式时,快捷方式被放进了“Development”分组 16:00 <Complication2> 和 NetBeans 之类放在一起 16:01 <Complication2> 可能我记错了,但我记得它说要尝试创建一个名为 Syndie 的分组... 16:01 <jrandom> 啊,对。IzPack 和这些 Java 打包器/安装器的 KDE 集成还在完善中 16:02 <Complication2> 总之,小细节 16:02 <Complication2> 但还是提一下以防万一 16:02 <jrandom> 理论上它应该创建一个 Syndie 分组,但如你所见,KDE 菜单没有针对每个应用的文件夹(它有应用类别,然后每个应用的条目) 16:02 <jrandom> 希望等 IzPack 修复后就好了(他们已经注意到了) 16:03 <Complication2> 对 16:03 <Complication2> 不管怎样,快捷方式出现了,卸载程序的快捷方式也有了 16:03 <jrandom> wewt 16:03 <Complication2> 卸载程序也运行得很好(我也用了一下,因为我通常是从源码编译) 16:03 <Complication2> =uninstaller 16:04 <bar> 我有两个问题,彼此稍有相关 16:04 <bar> 1. 什么时候“炸掉”旧版 Syndie,有计划吗? 16:04 <bar> 2. 我们能不能做一个 i2p 网关,把 syndie.i2p 指到 syndie.i2p.net,还是说这可能会与旧版 Syndie 的基础设施冲突? 16:05 <Complication2> 关于第2点,我觉得目前会冲突 16:06 <jrandom> 嗯,这个我其实没多想。我倾向于说“干掉它,让所有人立刻立刻立刻迁到新版 Syndie” :) 16:07 <Complication2> ...通过“localhost:4444”访问“http://archive.syndie.i2p” 16:07 <bar> 我之所以这么问,是因为要用 squid.i2p 才能访问 Syndie 的网页,有时有点麻烦 16:07 <jrandom> 啊,明白。好的,我可以把 syndie.i2p 重定向到 syndie.i2p.net,而旧版 Syndie 的用户仍然可以用 syndiemedia.i2p 16:09 <bar> 太棒了 :) 16:09 <Complication2> 哦,你指的是网页 16:10 <Complication2> 我以为你说的是归档 :) 16:10 <bar> 对的 Complication2,抱歉之前说得不清楚 16:10 <gloin> 自己的论坛就是自己的身份吗? 16:11 <Complication2> 在新的 Syndie 实例里一定会创建一个默认的身份/化名 16:11 <Complication2> 我不确定它是否会自动创建一个论坛 16:11 <jrandom> gloin:每个身份都有一个论坛(每个论坛都归某个身份所有) 16:12 <jrandom> 在 Syndie 里,论坛其实就是一个公钥 16:12 <jrandom> (作者也一样) 16:12 <Complication2> 我已经忘了当时是怎么做的了,而且那是在十月,用的是文本界面 :) 16:12 <jrandom> ((在数据库和代码里它们都叫“channels”,但在 UI 里说的是 forums 和 authors/nyms)) 16:13 <bar> 说到关闭旧版 Syndie,我建议可以“再在线保留一个月但关闭归档的新发帖,同时放一则说明” 16:14 <gloin> GUI 只让我创建论坛。这是否意味着,如果我想让你在我的论坛发帖,我需要授权的是 jrandom 的论坛,而不是 jrandom 这个人? 16:15 <Complication2> 或者在贴出说明后再短暂开放一段时间,这样如果有人此时(咳!)确实需要,还能短时间交换一些数据 16:15 <jrandom> gloin:论坛和身份是同一个东西——当你创建一个新论坛时,你就创建了一个新身份(要授权 jrandom 这个人在你的论坛发帖,就去授权 jrandom 的论坛) 16:15 <jrandom> 听起来很合理,Complication2 和 bar 16:17 <jrandom> gloin:这些确实不直观,我们需要做很多工作来把它变得更易懂 16:21 <Complication2> 噢,我之前没注意到 striker 在旧版 Syndie 上关于 I2Phex 调优的多条建议 16:21 * Complication2 做了本地拷贝 16:23 <jrandom> :) 旧版 Syndie 仍可通过 syndiemedia.i2p/ 和 syndie.i2p.net:8000/ 访问 16:23 <jrandom> 好的,这次会议还有别的吗? 16:25 <gloin> 在论坛配置里我可以设置隐私级别(all/auth/passphrase)。但每篇帖子我也能设置。哪个生效? 16:27 <jrandom> 两者都生效,不过目前我建议把论坛隐私设为“public”(因为我还没写好通过 GUI 配置口令保护论坛的功能,只支持口令保护消息) 16:27 <jrandom> 论坛的隐私设置覆盖论坛的元数据(到其他站点的链接、捆绑的密钥等),而单条消息有各自的策略 16:33 <jrandom> (syndie.i2p --> syndie.i2p.net 现已生效,syndiemedia.i2p 仍指向 syndie.i2p.net:8000/) 16:33 <jrandom> 好,如果本次会议没有其他事项 16:33 * jrandom 收尾 16:33 * jrandom *baf* 宣布会议结束