Краткое резюме
Присутствовали: 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> если посмотрите ссылки в письме, увидите имевшие место флад и DoS на netDb, но в основном уже схлынуло 14:09 <jrandom> у нас всё ещё с полдюжины людей на старых релизах (и, вероятно, 20–25 человек на «чистой» 0.3.4.2 со своими проблемами) 14:10 <jrandom> спасибо за терпение, пока мы с этим разбираемся. не хочу торопить новый релиз, пока сначала не сможем эффективно обходить плохие узлы 14:10 <jrandom> раньше мы обходили узлы, которые просто плохо работают, но не приходилось иметь дело с узлами, которые делают Плохие вещи 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 будет новый GUI-инсталлятор от hyper? 14:14 <jrandom> скорее всего, нет 14:14 <deer> <mule> по профилям на моих машинах сеть выглядит нормально, только у меня часто обрывается 14:15 <jrandom> да, понимаю, mule. у меня тоже IRC-соединение было довольно плохим, но в последнее время стало лучше 14:15 <deer> <mule> но я пропустил большую часть обсуждения, так что пока помолчу 14:15 <jrandom> если хотите попробовать вытянуть из CVS, там уже должно быть улучшение, но обновления частые, так что, возможно, лучше подождать релиза 14:16 <jrandom> ок, что-нибудь ещё? если нет, бодро идём дальше к 2) Stasher 14:16 <kaji> вуут, Stasher 14:17 <jrandom> Stasher выглядит довольно круто. функциональность пока довольно ограниченная, но прогресс есть 14:17 <jrandom> если бы aum не спал, он мог бы рассказать обновления... 14:17 <jrandom> aum: пинг? :) 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> понг 14:19 <jrandom> w0ah 14:19 <jrandom> доброго утра, aum 14:19 <deer> <ardvark> быстрый вопрос: Stasher берётся через i2p CVS? 14:19 <aum> всем привет 14:19 <jrandom> ardvark: в i2p/apps/stasher/ 14:19 <aum> ardvark: привет!!!! :) давно не виделись! 14:20 <deer> <ardvark> да, привет, aum! рад тебя видеть, дружище! 14:20 <aum> ardvark: наверное, проще через tar-архив — http://stasher.i2p или http://www.freenet.org.nz/python/stasher 14:21 <deer> <ardvark> ок, aum, я взял tar-архив, но он говорит, что нужны ещё зависимости? Не буду задерживать встречу, могу связаться с тобой? 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 и многие другие сетевые CLI‑приложения так делают 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 console, — именно там (почти всегда) и жрётся CPU 14:26 <jrandom> о, круто, aum 14:27 <aum> благодаря рекурсивному алгоритму splitfiles должен позволить неограниченные размеры файлов, когда будет готов 14:27 <deer> <oOo> Отлично, splitfiles обязателен для серьёзного goatse и pr0n... 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: есть избыточность — см. значение 'k' в Kademlia 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> а как насчёт эффекта britneyspears? 14:29 <duck> когда очень популярные ключи оказываются на одном узле 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> все эти сообщения Kademlia, которые я вижу в i2p, относятся к Stasher? 14:30 <MikeW> jrandom: да 14:30 <aum> duck: и в Kademlia нет ретрансляции 14:30 <hypercubus> ardvark: то, что в router console — это реализация netDb kad 14:31 <aum> идеи 'relaying', 'popularity', 'caching' и т. п. — это для Freenet, который вынужден обнажаться перед миром, без плаща‑невидимки I2P 14:31 <deer> <ardvark> запущены I2P и Tor, и у меня загрузка CPU сейчас 3%, так что :/ *пожимает плечами* 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> или нам просто потестировать и накидать багов? 14:33 <duck> я пытаюсь привыкнуть к leo 14:33 <aum> да, присылайте баги в список, если ок, ребята 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 — даёт обзорное («outline») представление кода 14:34 <hypercubus> но мне, пожалуй, стоит попробовать этот leo самому 14:34 <aum> leo даже интегрируется с emacs, если хочешь 14:34 <hypercubus> это не редактор? 14:35 <aum> <bile> 14:35 <aum> чёртов msvc — он допускает __int64 для 64‑битных int, но не допускает 'LL' или 'ULL' для 64‑битных литералов int 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 пользователи командной строки просто возьмут tar-архив i2p, распакуют его, затем запустят скрипт, чтобы стартовать router и открыть router console в lynx или чём‑нибудь ещё 14:39 <hypercubus> то есть особо ничего не меняется, кроме того, что не нужно проходить глупую Q/A‑сессию инсталлятора 14:39 <hypercubus> всю настройку делаете в router console 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: как продвигается winstaller? он делает autodetect/autodownload/autoinstall Java? 14:41 <hypercubus> ярлыки в меню будут, как и интеграция с системным треем и возможность установить router как демон 14:41 <aum> демон? как в 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 это сделано хорошо — их winstaller проводит тебя через загрузку 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 загрузку, объединяющую оба в одном, но большинство пользователей, которые будут пользоваться I2P до 1.0, знают, что такое «Java» 14:45 <hypercubus> это даст мне время довести до ума полностью Public Domain фреймворк 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> может, похакую izpack, чтобы убрать эти дурацкие иконки с кнопок 14:49 <deer> <mule> hypercubus: он уничтожит существующие конфиги или сохранит их? 14:49 <hypercubus> в пакете нет файлов конфигурации 14:49 <hypercubus> так что он перезапишет только jars и wars 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> да, и я добавлю exe для пользователей Windows 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> про дейтаграммы не знаю — единственные приложения, которыми я пользуюсь, работают поверх дейтаграмм через потоки 14:57 <jrandom> состояние сети всё ещё довольно плохое — см. заметки о статусе @ http://dev.i2p.net/pipermail/i2p/2004-August/000409.html 14:58 <aum> к 14:58 <jrandom> ок, если больше ничего... 14:58 * jrandom разминается 14:59 * jrandom *baf* закрывает встречу