Краткий обзор

Присутствовали: 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> hi 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 tunnels. строим их» 14:10 <+cervantes> а нельзя сделать порог настраиваемым? 14:11 <jrandom> ага, это можем 14:11 <gott> jrandom: опционально 14:11 <gott> чтобы пользователи с легковесными i2p‑клиентами всё ещё могли быть продуктивными 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 держать кучу «тонких i2p‑клиентов» в своей LAN. 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> have installled 14:23 <+ant> <godmode0> but not work 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 трекера, с точки зрения безопасности это не очень, да?, 14:34 <+bla> IRC-обсуждение, процитированное jrandom, показывает общую идею. Вкратце: 14:34 <jrandom> defnax: возможно, обсудим это дальше в 5) 14:34 <defnax> ок, я могу подождать 14:34 <+bla> Итоговая идея — объединить информацию о времени кругового обхода (RTT), полученную из явных тестов 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: результаты пока показывают измерения _задержки_ 14:40 <+ant> <BS314159> понятно. 14:41 <+ant> <BS314159> тогда неважно 14:41 <jrandom> ах да, верно. для измерения пропускной способности потребуются дополнительные изменения, чтобы тестировать с сообщениями разных размеров 14:41 <jrandom> с другой стороны, неявные тесты tunnel гоняют более крупные сообщения (обычно 4KB, так как это размер фрагментации библиотеки потоковой передачи) 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 продвигается с новым веб-интерфейсом 14:47 <jrandom> я мало что о нём знаю или о деталях статуса остальных обновлений Q, но уверен, мы скоро услышим больше 14:48 <jrandom> у кого-нибудь есть что-то по Q? или сделаем этот пункт быстрым и перейдём к 5) ??? 14:49 <jrandom> [считайте, что перешли] 14:49 <jrandom> ок, есть ли ещё что-то для обсуждения на встрече? 14:50 <jrandom> defnax: объявить i2p трекер людям в сообществе i2p было бы здорово. внешнему миру может быть рановато, так как мы ещё не на 0.6 14:50 <gott> Да. 14:50 <jrandom> (или 1.0 ;) 14:50 <gott> у меня есть информация по усилиям над пользовательской документацией. 14:51 <+mancom> для справки: на mancom.i2p есть реализация на C# клиентского API Q (первая инкарнация) 14:51 <jrandom> о, круто, что там, gott 14:51 <jrandom> ах, круто, mancom 14:51 <gott> я ранее писал пользовательскую документацию для i2p 0.4. 14:52 <jrandom> которую я, к сожалению, устарил, изменив кучу всего :( 14:52 <gott> Но она полностью неактуальна для текущего i2p. 14:52 <gott> Соответственно, я очень заинтересован написать де-факто комплект документации, который мы можем либо (a) поставлять вместе с i2p, либо (b) делать доступным через i2p. 14:53 <jrandom> круто. доки, поставляемые с i2p (локализованные на язык пользователя и т. п.), были бы отличны 14:53 <+cervantes> круто 14:53 <gott> я не предлагаю включать в поставку, но это возможный вариант, ведь пользователь не сможет зайти на eepsites, чтобы прочитать руководство, если он не знает, как пользоваться или настраивать i2p ;-) 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> вообще-то мы могли бы использовать inproxy для доступа к документации даже без установленного i2p. 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 или на html‑странице, доступной с этой config.jsp 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> с другой стороны, здесь постоянно появляются вопросы о том, что именно делают ограничения полосы, как работают burst‑скорости и т. п. было бы здорово иметь ответы на странице, чтобы людям не приходилось спрашивать 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) Контекстная помощь на веб‑страницах, локализованная на язык пользователя. Можно сделать конфигурационную переменную для языка интерфейса, по умолчанию загружая её из переменной пути $LANG в Linux 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: Локализованный HOWTO для версии 1.0 15:05 <+ant> <Synonymous2> упс, это же встреча :) 15:05 <gott> Дополнения? 15:06 <gott> HOWTO будет охватывать множество дополнительных возможностей сети i2p. 15:06 <gott> где брать свежую порнуху ( шучу ) 15:06 <+ant> <BS314159> manpage! :-) 15:06 <gott> man‑страницы не являются межплатформенными 15:06 <jrandom> круто, включить такие вещи, как Q, i2ptunnel, feedspace, i2p-bt и т. п., было бы отлично для howto 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: Je _deteste_ Anglais! ;) 15:09 <gott> moi aussi 15:09 <+ant> <Synonymous2> Q, i2ptunnel, feedspace, i2p-bt и т. п. были бы отличны для howto, думаю, стоит обновить статью в вики про i2p, чтобы добавить это, я сделаю 15:09 <+cervantes> ну, в этом вините Вильгельма Завоевателя 15:09 <jrandom> хех 15:09 <gott> вики — это хорошо, но неофициально. 15:09 <gott> у мануала есть элемент «сертификации». 15:09 <gott> это внушает больше доверия. 15:10 <+ant> <Synonymous2> если люди захотят прийти и посмотреть, это тоже поможет; статья в Википедии про Freenet тоже хорошо описывает инструменты для Freenet. Кроме того, я вижу, что страница Freenet выпущена под GNU FDL, если i2p.net сможет сделать так же (или public domain), я мог бы скопировать кое-что в Википедию :)) если вы так хотите 15:10 <+cervantes> иначе мы бы до сих пор говорили на англосаксонском 15:10 <jrandom> всё, что я делаю и на что у меня «есть права», неявно выпускается в общественное достояние 15:11 <+ant> <Synonymous2> я так и думал; если можешь добавить об этом заметку на странице, было бы отлично, когда тебе удобно — в Википедии зациклены на авторском праве :> 15:11 <+ant> <Synonymous2> :))) 15:11 <gott> jrandom: вся локализация, которую я напишу, будет public domain 15:11 <jrandom> с другой стороны, прямое копирование текста, эм, не слишком полезно, так как ваши копии устареют — просто ссылку дайте, веб для того и существует 15:11 <gott> мне плевать на любые лицензии. 15:12 <gott> и ещё, последний вопрос: 15:12 <+ant> <Synonymous2> я собирался скопировать пару вещей типа диаграммы и некоторых картинок, хе-хе 15:12 <gott> где находятся .jsp для router? 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:13 <gott> Хотя это неудобно. 15:14 <gott> когда появится локализация, это можно будет изменить? 15:14 <jrandom> ага. вариантов много. если проработаешь html, который должны рендерить jsp, мы сможем это подключить 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> ладно, тогда буду использовать anonymous CVS ;-) 15:16 <jrandom> офигенно 15:16 <+ant> <BS314159> bla: твои «сырые» данные где‑нибудь доступны? 15:16 <jrandom> bla недавно отключился, но посмотрим, можно ли выложить какие‑то данные 15:17 <gott> кстати, у нас есть кто‑нибудь, кто запускает i2p на OpenBSD? 15:17 <+ant> <BS314159> было бы забавно дать людям попробовать свои оценщики 15:17 <+ant> <BS314159> sister:...23? 15:17 <jrandom> gott: да, думаю, detonate 15:18 <+ant> <BS314159> принято 15:18 <+ant> <BS314159> кросс‑пост 15:18 <+ant> <BS314159> чёрт! 15:18 <gott> это вообще возможно? какие ограничения Java относительно OpenBSD и 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* закрывает встречу