Краткое резюме

Присутствовали: jrand0m, nop, MrEcho, dm, dish, mihi

Протокол встречи

[22:02] <jrand0m> повестка [22:02] <jrand0m> 0) добро пожаловать [22:02] <jrand0m> 1) i2p router (узел I2P) [22:02] <jrand0m> 1.1) статус [22:02] <jrand0m> 1.2) изменения в дорожной карте [22:02] <jrand0m> 1.3) открытые подпроекты [22:02] <jrand0m> 2) нативный modPow [22:03] <jrand0m> 2) графический установщик [22:03] <jrand0m> 3) IM [22:03] <jrand0m> 4) служба именования [22:03] <jrand0m> 5) лицензирование [22:03] <jrand0m> 6) прочее? [22:03] <jrand0m> 0) добро пожаловать [22:03] <jrand0m> привет. [22:03] <nop> привет [22:03] <jrand0m> встреча 2^6 [22:04] <jrand0m> есть что добавить в повестку, nop? [22:04] <jrand0m> ок, 1.1) статус router [22:04] <jrand0m> мы на 0.2.0.3, и, насколько я слышал, всё работает [22:04] <MrEcho> > 0.2.0.3 [22:04] <MrEcho> верно? [22:05] <MrEcho> я его запускаю.. вроде ок [22:05] <nop> нет [22:05] <jrand0m> были мелкие коммиты после релиза 0.2.0.3, ничего достойного отдельного релиза [22:05] <nop> я просто пытаюсь нагнать [22:05] <jrand0m> круто [22:06] <jrand0m> с учётом опыта и отзывов по 0.2.0.x дорожная карта обновлена, чтобы снизить ресурсоёмкость работы [22:06] <jrand0m> (то есть, чтобы люди могли запускать веб‑серверы / и т. д., и это не съедало их CPU) [22:06] <jrand0m> конкретнее (переходим к пункту 1.2): http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap [22:07] <MrEcho> что я заметил: у большинства router используется: TransportStyle: PHTTP [22:07] <MrEcho> он автоматически переходит на PHTTP или вообще сначала пробует TCP? [22:07] <jrand0m> хмм, большинство router должны поддерживать PHTTP, а если они могут принимать входящие соединения, то и TCP [22:07] <jrand0m> если есть возможность, используется TCP [22:07] <jrand0m> PHTTP считается примерно в 1000 раз дороже, чем TCP [22:08] <jrand0m> (см. GetBidsJob, который спрашивает у каждого транспорта, во сколько он оценивает отправку сообщения пиру) [22:08] <jrand0m> (и см. значения в TCPTransport.getBid и PHTTPTransport.getBid) [22:08] <MrEcho> ок [22:08] <jrand0m> ты часто используешь PHTTP для отправки и получения сообщений? [22:09] <jrand0m> (это может означать, что твой TCP‑слушатель недоступен) [22:09] <MrEcho> я у себя не прописал URL [22:09] <jrand0m> ага, ок. [22:09] <MrEcho> о, так и есть [22:10] <jrand0m> ок, да, мои router держат к тебе открытые TCP‑соединения [22:10] <dm> как гостеприимно с их стороны. [22:11] <jrand0m> но я рад, что вы заставили меня сделать routerConsole.html, чтобы не рыться в логах из‑за этой фигни [22:11] <MrEcho> есть ли таймаут, при котором, если не удаётся подключиться по TCP, он идёт по PHTTP? и какие там тайминги? [22:11] <jrand0m> если приходит TCP connection refused / host not found / и т. п., попытка сразу считается неудачной, и пробуется следующая доступная ставка [22:12] <MrEcho> то есть без повторных попыток [22:12] <jrand0m> у PHTTP таймаут 30 сек, если правильно помню [22:12] <jrand0m> нет смысла повторять: либо есть открытое TCP‑соединение и можно слать данные, либо нет :) [22:13] <MrEcho> лол, ок [22:13] <MrEcho> он будет пытаться TCP каждый раз после этого или пропустит и сразу пойдёт по PHTTP для следующего соединения? [22:13] <jrand0m> пока что он пробует TCP каждый раз. [22:13] <jrand0m> транспорты ещё не ведут историю [22:13] <MrEcho> ок, круто [22:14] <jrand0m> (но если пир фейлится 4 раза, он попадает в чёрный список на 8 минут) [22:14] <MrEcho> ну, как только другая сторона получает PHTTP‑сообщение, она должна подключиться по TCP к router, который отправил сообщение, верно? [22:14] <jrand0m> верно. как только устанавливается любое TCP‑соединение, его можно использовать. [22:14] <jrand0m> (но если у обоих пиров есть только PHTTP, они, очевидно, будут использовать только PHTTP) [22:15] <MrEcho> это бы значило, что он не может установить TCP‑соединение ни с чем [22:15] <MrEcho> .. ну да [22:16] <MrEcho> жаль, что нельзя это обойти [22:16] <jrand0m> нет, один из моих router не имеет TCP‑адреса — только PHTTP. Но я устанавливаю TCP‑соединения с пирами, у которых есть TCP‑адреса. [22:16] <jrand0m> (и тогда они могут слать ответы по этому TCP‑соединению вместо того, чтобы посылать мне более медленные PHTTP‑сообщения) [22:17] <jrand0m> или ты не это имел в виду? [22:17] <MrEcho> да, я перепутал [22:17] <jrand0m> ок, без проблем [22:18] <jrand0m> так что см. обновлённую дорожную карту с актуальными сроками (http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap) [22:18] <jrand0m> ок, 1.3) открытые подпроекты [22:19] <jrand0m> я наконец закинул кучу пунктов из своего palmpilot в вики: http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects [22:19] <jrand0m> так что если скучно и ищете код‑проекты... :) [22:20] <MrEcho> ого [22:20] <MrEcho> у меня уже 2 [22:20] <dish> У тебя palmpilot — это элитно [22:20] <MrEcho> мой умер [22:20] <jrand0m> mihi> там есть пункт по I2PTunnel, описывающий мысль, которая у меня была недавно [22:21] <MrEcho> не знаю, что с ним [22:21] <jrand0m> да, раньше у меня были Palm, а этот недавно пожертвовали на благо дела ;) [22:21] <dish> Можно ли добавить пункт повестки на встрече, чтобы обсудить, когда в последний раз userX что‑то писал [22:21] <MrEcho> чёртова штука даже больше не включается [22:21] <MrEcho> лол [22:22] <jrand0m> Не думаю, что UserX говорил что‑нибудь уже месяца 4 или 5 ;) [22:22] <MrEcho> это бот или что? [22:22] <dish> А что они говорили 5 месяцев назад? [22:22] <MrEcho> бьюсь об заклад, это bitchx, запущенный на каком‑то ящике, к которому у него когда‑то был доступ... и он про него забыл [22:22] <jrand0m> что они вернутся с комментариями по anonCommFramework (старое название i2p) на следующей неделе ;) [22:23] <dish> ха‑ха [22:23] <jrand0m> но, полагаю, он занят. такова жизнь [22:23] <jrand0m> ок, 2) нативный modPow [22:24] <MrEcho> я видел тот C‑код [22:24] <jrand0m> я собрал заглушку .c и класс Java, чтобы показать, как можно интегрировать что‑то вроде GMP или другой библиотеки MPI, но это, очевидно, не работает [22:25] <jrand0m> было бы хорошо иметь небольшой пакет C‑классов и связанный с ними простой Java‑обёртчик, который мы могли бы собирать под windows, osx, *bsd, linux и упаковать под GPL [22:25] <jrand0m> (здесь вставить крупную поломку iip) [22:38] <MrEcho> последнее, что я видел: [13:25] <jrand0m> ok, 2) native modPow [22:38] <jrand0m> привет, MrEcho [22:38] <jrand0m> да, похоже, упал основной прокси [22:39] <jrand0m> дам ему ещё 2 минуты перед перезапуском [22:39] <MrEcho> ок [22:39] <MrEcho> за $25 единовременно я могу получить полноценную Java на thenidus.net ... один из моих сайтов [22:40] <jrand0m> $25? они берут деньги за установку ПО? [22:40] <MrEcho> не знаю, если честно... это пакет [22:40] <MrEcho> сейчас как раз разговариваю с другом [22:40] <jrand0m> не уверен, что код достаточно стабилен, чтобы прямо сейчас арендовать кучу мест в колокации и поднимать там router. пока :) [22:41] <dm> frazaa? [22:41] <MrEcho> java - jsp [22:41] <jrand0m> ок, повторяю, что отправлял раньше: [22:41] <jrand0m> я собрал заглушку .c и класс Java, чтобы показать, как можно интегрировать что‑то вроде GMP или другой библиотеки MPI, но это, очевидно, не работает [22:41] <jrand0m> было бы хорошо иметь небольшой пакет C‑классов и связанный с ними простой Java‑обёртчик, который мы могли бы собирать под windows, osx, *bsd, linux и упаковать под GPL (или менее ограничительной лицензией) [22:41] <jrand0m> однако с новой дорожной картой, где моим текущим пунктом является AES+SessionTag, это уже не так критично, как было. [22:42] <jrand0m> если кто‑то хочет заняться этим — было бы здорово (и я уверен, что другой знакомый нам проект тоже заинтересуется таким пакетом) [22:43] <dm> z? [22:43] <jrand0m> хех, в некотором роде ;) [22:44] <jrand0m> ок, 3) графический установщик [22:44] <jrand0m> MrEcho> привет [22:44] <MrEcho> :) [22:44] <MrEcho> хехе [22:44] <MrEcho> всё продвигается [22:44] <jrand0m> круто [22:44] <MrEcho> ничего особенного [22:45] <MrEcho> есть пара очень классных идей, чтобы сделать его реально крутым.. но это не скоро [22:45] <jrand0m> я вот думал, не добавить ли в установщик: 1) опцию автоматически получать seeds с http://.../i2pdb/ 2) автоматически получать http://.../i2p/squid.dest и заодно создать runSquid.bat/runSquid.sh? [22:45] <jrand0m> окей [22:46] <jrand0m> да, хотим, чтобы установщик был максимально простым — какие «навороты» ты имел в виду? [22:46] <MrEcho> вопрос в том, что когда делаешь java -jar installer, по умолчанию запускается не‑GUI из‑за того, как у тебя всё устроено [22:46] <MrEcho> как сделать так, чтобы при двойном клике по JAR открывался GUI [22:47] <jrand0m> install.jar <-- nongui, installgui.jar <-- gui [22:47] <jrand0m> отдельный код, отдельные пакеты [22:47] <MrEcho> «навороты» в смысле вещи, которые можно и не заметить.. но всё будет аккуратно и чисто [22:47] <jrand0m> круто [22:47] <MrEcho> ага, понял [22:48] <jrand0m> (или install <-- gui, installcli <-- cli. посмотрим, как пойдёт) [22:49] <jrand0m> что‑нибудь ещё по GUI или переходим к пункту 4)? [22:49] <jrand0m> (какие сроки вырисовываются? без давления, просто интересно) [22:51] <MrEcho> пока не знаю [22:51] <jrand0m> ок [22:51] <jrand0m> ок, 4) IM [22:51] <jrand0m> thecrypto нет, так что..... [22:51] <jrand0m> 5) служба именования [22:51] <jrand0m> wiht тоже нет... [22:51] <jrand0m> пинг [22:52] <dish> у тебя сбилась нумерация повестки [22:52] <dish> 3) IM [22:52] <jrand0m> да, у меня было два пункта 2 в повестке [22:52] <dish> 4) Именование [22:52] <dish> ;) [22:52] <jrand0m> (нативный modPow и графический установщик) [22:52] <jrand0m> видишь, мы динамичные и вообще [22:59] <jrand0m> ок, для логов, пожалуй, продолжу [22:59] <jrand0m> 6) лицензирование [23:00] <jrand0m> Думаю сделать менее ограничительную лицензию, чем GPL. Мы используем немного кода под MIT, плюс ещё один файл — GPL (но это всего лишь base64‑кодирование и его можно легко заменить). Кроме этого, весь код либо под моим копирайтом, либо под копирайтом thecrypto. [23:01] <dish> посмотри на часть кода i2p tunnel от mihi [23:01] <jrand0m> точно, mihi выпустил это под GPL, но он также может захотеть выпустить под чем‑то ещё, если захочет [23:01] <jrand0m> (но i2ptunnel по сути стороннее приложение и может выбирать любую лицензию) [23:02] <jrand0m> (хотя из‑за того, что i2p SDK — GPL, он вынужден быть GPL) [23:02] <MrEcho> чёрт, давно пора [23:02] <jrand0m> не знаю. лицензирование — не моя сильная сторона, но я склоняюсь хотя бы к LGPL [23:03] <dish> выпустить эти 10–20 строк изменений к коду I2P HTTP Client от mihi под той лицензией, какая у mihi [23:03] <jrand0m> хехе :) [23:06] <jrand0m> в любом случае, 7) прочее? [23:07] <jrand0m> у кого‑нибудь есть вопросы / опасения / идеи по i2p? [23:07] <dish> Спрошу тогда [23:07] <dish> Есть ли в I2P какая‑нибудь функция «group name»? [23:07] <jrand0m> функция «group name»? [23:07] <dm> команда Discovery Channel! [23:07] <MrEcho> лол [23:08] <dish> Чтобы если вы хотите иметь приватную или отдельную сеть, а какие‑то router как‑то перемешаются, без group name эти две сети сольются [23:08] <MrEcho> он думает про waste [23:08] <jrand0m> ах [23:08] <dish> не знаю, зачем это может понадобиться, просто спрашиваю на всякий случай [23:08] <jrand0m> да, на ранних этапах проектирования сети я с этим игрался [23:09] <jrand0m> это сложнее, чем нам нужно сейчас (или в обозримом будущем [6–12 месяцев]), но может быть интегрировано позже [23:09] <dish> Или это плохая идея, потому что лучше держать одну большую сеть? [23:09] <dm> i2pisdead [23:09] <jrand0m> хех, dm [23:10] <nop> заткнись [23:10] <dm> nop: крутой, да? [23:10] <jrand0m> нет, dish, это хорошая идея [23:10] <dm> смешной, да? [23:10] <jrand0m> это по сути то, что есть в релизе 0.2.3 — ограниченные маршруты [23:10] <jrand0m> (то есть у вас есть небольшой приватный (доверенный) набор пиров, и вы не хотите, чтобы все знали, кто они, но всё же хотите иметь возможность с ними общаться) [23:15] <jrand0m> ок, что‑нибудь ещё? [23:15] <nop> неа, я просто шучу [23:18] <dm> смешной, да? [23:20] <jrand0m> ок, что ж, /интересная/ встреча, с парой падений iip посередине ;) [23:21] <jrand0m> * jrand0m *baf* закрывает встречу