(Cortesia da Wayback Machine http://www.archive.org/)

Recapitulação rápida

Presentes: dish, dm, jrand0m, MrEcho, nop

(registro da reunião editado para encobrir o fato de que iip caiu no meio da reunião e houve muitos timeouts de ping, então não tente ler isto como uma narrativa linear)

Registro de Reunião

[22:02] <jrand0m> pauta [22:02] <jrand0m> 0) boas-vindas [22:02] <jrand0m> 1) i2p router [22:02] <jrand0m> 1.1) status [22:02] <jrand0m> 1.2) mudanças no roadmap [22:02] <jrand0m> 1.3) subprojetos em aberto [22:02] <jrand0m> 2) modPow nativo [22:03] <jrand0m> 2) instalador GUI [22:03] <jrand0m> 3) IM [22:03] <jrand0m> 4) serviço de nomes [22:03] <MrEcho> eu vi aquele código .c [22:03] <jrand0m> 5) licenciamento [22:03] <jrand0m> 6) outros? [22:03] <jrand0m> 0) boas-vindas [22:03] <jrand0m> oi. [22:03] <nop> oi [22:03] <jrand0m> reunião 2^6 [22:04] <jrand0m> tem algum item de pauta para adicionar aí, nop? [22:04] <jrand0m> ok, 1.1) status do router [22:04] <jrand0m> estamos na 0.2.0.3 e, pelo que ouvi por último, está funcional [22:04] <MrEcho> > 0.2.0.3 [22:04] <MrEcho> certo? [22:05] <MrEcho> estou executando .. parece ok [22:05] <nop> não [22:05] <jrand0m> houve commits menores após o lançamento 0.2.0.3, nada que valha um novo release [22:05] <nop> Só estou tentando me atualizar [22:05] <jrand0m> beleza [22:06] <jrand0m> dadas as experiências e o feedback da 0.2.0.x, o roadmap foi atualizado para deixar as coisas menos intensivas em recursos para rodar [22:06] <jrand0m> (ou seja, para que as pessoas possam rodar servidores web / etc. e isso não devore a CPU delas) [22:06] <jrand0m> especificamente (indo para a pauta 1.2): http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap [22:06] <MrEcho> o que notei é que a maioria dos routers usa: TransportStyle: PHTTP [22:07] <MrEcho> ele vai automaticamente para phttp ou chega a tentar tcp primeiro [22:07] <jrand0m> hmm, a maioria dos routers deve suportar PHTTP e, se puder aceitar conexões de entrada, deve suportar TCP também [22:07] <jrand0m> sempre que possível usa TCP [22:07] <jrand0m> PHTTP é ponderado como cerca de 1000 vezes mais caro do que TCP [22:08] <jrand0m> (veja GetBidsJob, que pergunta a cada transporte quanto acha que custaria enviar uma mensagem para um par) [22:08] <jrand0m> (e veja TCPTransport.getBid e PHTTPTransport.getBid para os valores usados) [22:08] <MrEcho> ok [22:08] <jrand0m> você está usando PHTTP com frequência para enviar e receber mensagens? [22:09] <jrand0m> (isso pode ser um sinal de que seu listener TCP não está acessível) [22:09] <MrEcho> eu não coloquei as URLs do meu lado [22:09] <jrand0m> ah, ok. [22:09] <MrEcho> ohh, está sim [22:10] <jrand0m> ok, sim, meus routers têm conexões TCP abertas com você [22:10] <dm> que hospitaleiros. [22:10] * jrand0m está feliz que vocês me fizeram implementar routerConsole.html para que não tenhamos que vasculhar os logs por esta porcaria [22:11] <MrEcho> existe algum timeout que, se não conectar ao tcp, vá para phttp? e qual é o tempo disso [22:11] <jrand0m> mas enfim, a grande mudança no roadmap é que a 0.2.1 vai implementar o esquema AES+SessionTag [22:11] <MrEcho> ou poderíamos ter isso em uma configuração? [22:11] <jrand0m> se receber um TCP connection refused / host not found /etc, falha essa tentativa imediatamente e tenta o próximo bid disponível [22:12] <MrEcho> então sem novas tentativas [22:12] <jrand0m> phttp tem um timeout de 30 s, se não me engano [22:12] <jrand0m> não há necessidade de retry. você ou tem uma conexão TCP aberta e pode enviar os dados, ou não :) [22:12] <MrEcho> lol ok [22:13] <MrEcho> ele vai tentar tcp toda vez depois disso ou pular e ir direto para phttp na próxima conexão? [22:13] <jrand0m> no momento, ele tentará tcp a cada vez. [22:13] <jrand0m> os transportes ainda não mantêm histórico [22:13] <MrEcho> ok, legal [22:14] <jrand0m> (mas se um peer falhar 4 vezes, ele entra na lista negra por 8 minutos) [22:14] <MrEcho> bem, assim que o outro lado receber a mensagem phttp, deve se conectar ao router que enviou a mensagem via tcp, certo? [22:14] <jrand0m> correto. assim que qualquer conexão tcp for estabelecida, pode usá-la. [22:14] <jrand0m> (mas se ambos os peers tiverem apenas phttp, obviamente só usarão phttp) [22:15] <MrEcho> isso significaria que não conseguiu est. uma conexão tcp com nada [22:15] <MrEcho> .. mas é [22:16] <MrEcho> queria que houvesse um jeito de contornar isso [22:16] <jrand0m> não, um dos meus routers não tem um endereço TCP - apenas PHTTP. mas eu estabeleço conexões TCP com peers que têm endereços TCP. [22:16] <jrand0m> (e então eles podem enviar mensagens de volta por aquela conexão TCP em vez de me enviar mensagens PHTTP mais lentas) [22:17] <jrand0m> ou não era isso que você quis dizer? [22:17] <MrEcho> é, me confundi [22:17] <jrand0m> valeu, sem problema [22:18] <jrand0m> então, veja o roadmap atualizado para informações atualizadas de cronograma ((Link: http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap)http://wiki.invisiblenet.net/iip-wiki?I2PRoadmap) [22:18] <jrand0m> ok, 1.3) subprojetos em aberto [22:19] <jrand0m> Finalmente coloquei um monte da minha lista de tarefas do meu palmpilot no wiki em (Link: http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects)http://wiki.invisiblenet.net/iip-wiki?OpenSubprojects [22:19] <jrand0m> então, se você estiver entediado e procurando projetos de código... :) [22:19] <MrEcho> puxa [22:20] <MrEcho> já tenho 2 [22:20] <dish> Você tem um palmpilot, isso é elite [22:20] <MrEcho> o meu morreu [22:20] <jrand0m> mihi> há um item lá sobre o I2PTunnel descrevendo uma ideia que tive há um tempinho [22:20] <MrEcho> não sei o que há com ele [22:21] <jrand0m> sim, eu costumava ter palms, mas recentemente este foi doado para a causa ;) [22:21] <dish> Poderia haver um item de pauta na reunião para discutir quando foi a última vez que userX digitou algo [22:21] <MrEcho> essa droga nem liga mais [22:21] <MrEcho> lol [22:22] <jrand0m> Não acho que UserX tenha dito qualquer coisa em 4 ou 5 meses ;) [22:22] <MrEcho> isso é um bot ou algo assim? [22:22] <dish> O que ele disse há 5 meses? [22:22] <MrEcho> aposto que é um bitchx rodando em alguma máquina à qual ele tinha acesso .. e esqueceu [22:22] <jrand0m> que voltariam com comentários sobre o anonCommFramework (nome antigo do i2p) na semana seguinte ;) [22:23] <dish> haha [22:23] <jrand0m> mas suponho que ele esteja ocupado. é a vida [22:23] <jrand0m> ok, 2) modPow nativo [22:23] <MrEcho> eu vi aquele código em C [22:24] <jrand0m> eu montei um .c de stub e uma classe Java para mostrar como algo como GMP ou outra biblioteca MPI poderia ser integrada, mas obviamente isso não funciona [22:25] <jrand0m> o ideal seria se tivéssemos um pequeno pacote de classes em C e aquela classe wrapper Java trivial associada que pudéssemos compilar para windows, osx, *bsd, linux e empacotar sob GPL

(insira aqui uma falha grave no iip)

[22:38] <MrEcho> a última coisa que vi foi: [13:25] <jrand0m> ok, 2) modPow nativo [22:38] <jrand0m> oi, MrEcho [22:38] <jrand0m> sim, parece que um proxy principal caiu [22:39] <jrand0m> vou dar mais 2 minutos antes de reiniciar [22:39] <MrEcho> ok [22:39] <MrEcho> por US$ 25, uma vez, eu consigo Java completo no thenidus.net … um dos meus sites [22:40] <jrand0m> US$ 25? cobram para instalar software? [22:40] <MrEcho> não faço ideia, na verdade… é um pacote [22:40] <MrEcho> estou falando com um amigo agora [22:40] <jrand0m> não tenho certeza de que o código esteja estável o suficiente para sair por aí e alugar um monte de espaços de colocation (hospedagem em datacenter compartilhado) para colocar routers. ainda :) [22:41] <dm> pacote de quê? [22:41] <MrEcho> Java - JSP [22:41] <jrand0m> ok, reenviando o que mandei antes: [22:41] <jrand0m> juntei um stub .c e uma classe Java para mostrar como algo como o GMP ou outra biblioteca MPI poderia ser integrado, mas obviamente isso não funciona [22:41] <jrand0m> o ideal seria termos um pequeno pacote de classes em C e aquela classe encapsuladora (wrapper) Java trivial associada, que pudéssemos compilar para windows, osx, *bsd, linux e empacotar sob a GPL (ou uma licença menos restritiva) [22:41] <jrand0m> porém, com o novo roadmap colocando AES+SessionTag como meu item de ação atual, isso não é tão crítico quanto era [22:41] <jrand0m> se alguém quiser tocar isso, seria ótimo (e tenho certeza de que outro projeto com o qual todos estamos familiarizados teria interesse nesse empacotamento) [22:43] <dm> frazaa? [22:43] <jrand0m> hehe, de certa forma ;) [22:44] <jrand0m> ok, 3) instalador com GUI [22:44] <jrand0m> MrEcho> oi [22:44] <MrEcho> :) [22:44] <MrEcho> hehe [22:44] <MrEcho> está caminhando [22:44] <jrand0m> legal [22:44] <MrEcho> nada sofisticado [22:45] <MrEcho> tenho umas ideias bem legais para deixá-lo bem caprichado… mas isso ainda vai demorar [22:45] <jrand0m> eu estava pensando se o instalador deveria acrescentar 1) uma opção para obter automaticamente os seeds (nós de arranque) de http://…/i2pdb/ 2) obter automaticamente o http://…/i2p/squid.dest e criar também um runSquid.bat/runSquid.sh? [22:45] <jrand0m> isso [22:46] <jrand0m> sim, queremos que o instalador seja o mais simples possível — que coisas sofisticadas você estava pensando? [22:46] <MrEcho> a questão é… quando você roda java -jar installer ele vai para o modo sem GUI por padrão por causa do jeito que você tem as coisas [22:46] <MrEcho> como vamos fazer para, quando você der duplo clique no arquivo JAR, ele carregar a GUI [22:47] <jrand0m> install.jar <– sem GUI, installgui.jar <– com GUI [22:47] <jrand0m> código separado, pacotes separados [22:47] <MrEcho> “sofisticado” no sentido de coisas que você talvez nem note… mas vai ficar bonito e limpo [22:47] <jrand0m> legal [22:47] <MrEcho> ah ok [22:48] <jrand0m> (ou install <– GUI installcli <– CLI. vamos ver como as coisas evoluem) [22:49] <jrand0m> mais algo sobre a GUI, ou pulamos para o item 4)? [22:49] <jrand0m> (alguma estimativa de prazo? sem pressão, só para saber) [22:51] <MrEcho> sem ideia no momento [22:51] <jrand0m> show [22:51] <jrand0m> ok, 4) IM (mensageria instantânea) [22:51] <jrand0m> thecrypto não tá aqui, então….. [22:51] <jrand0m> 5) serviço de nomes [22:51] <jrand0m> wiht também não está aqui… [22:51] <jrand0m> ping [22:52] <dish> você se perdeu na contagem dos itens da pauta [22:52] <dish> 3) IM [22:52] <jrand0m> sim, eu costumava ter dois itens 2 na pauta [22:52] <dish> 4) Nomes [22:52] <dish> ;) [22:52] <jrand0m> (modPow nativo e instalador com GUI) [22:52] <jrand0m> viu, somos dinâmicos e tal [22:59] <jrand0m> ok, para os logs acho que vou continuar [22:59] <jrand0m> 6) licenciamento [23:00] <jrand0m> estou pensando em algo menos restritivo que a GPL. estamos usando algum código sob licença MIT, além de que um outro arquivo é GPL (mas é só a codificação base64 e pode ser substituída facilmente). fora isso, todo o código tem direitos autorais meus ou do thecrypto. [23:00] * dish olha a parte do código de tunnel do I2P do mihi [23:01] <jrand0m> ah, verdade, o mihi lançou isso como GPL mas ele também pode querer lançar sob outra coisa, se quiser [23:01] <jrand0m> (mas o i2ptunnel é essencialmente um app de terceiros e pode licenciar como quiser) [23:02] <jrand0m> (embora, como o I2P SDK é GPL, ele tenha sido forçado a ser GPL) [23:02] <MrEcho> já estava na hora [23:02] <jrand0m> não sei. licenciamento não é meu forte, mas estou inclinado pelo menos a ir para LGPL [23:02] * dish libera as 10–20 linhas de alteração no código do I2P HTTP Client do mihi sob seja lá qual for a licença do mihi [23:03] <jrand0m> hehe :) [23:06] <jrand0m> de qualquer forma, 7) outros? [23:07] <jrand0m> alguém tem perguntas / preocupações / ideias em relação ao I2P? [23:07] <dish> Deixa eu perguntar [23:07] <dish> O I2P tem algum recurso de nome de grupo? [23:07] <jrand0m> recurso de nome de grupo? [23:07] <dm> equipe Discovery Channel! [23:07] <MrEcho> lol [23:08] <dish> Tipo, se você quiser ter uma rede privada ou separada, mas algum router se misturar de alguma forma, sem um nome de grupo as duas redes acabariam se fundindo [23:08] <MrEcho> ele está pensando no waste [23:08] <jrand0m> ah [23:08] <dish> não sei por que você ia querer isso, mas só estou perguntando, por via das dúvidas [23:08] <jrand0m> sim, no começo do design da rede eu estava brincando com isso [23:09] <jrand0m> é mais avançado do que precisamos por enquanto (ou para um futuro relativamente próximo [6–12 meses]), mas pode ser integrado depois [23:09] <dish> Ou isso é uma má ideia porque é melhor manter uma rede única e grande [23:09] <dm> i2pisdead [23:09] <jrand0m> hehe dm [23:10] <nop> cala a boca [23:10] <jrand0m> não, dish, é uma boa ideia [23:10] <dm> nop: valentão? [23:10] <jrand0m> é essencialmente o que a versão 0.2.3 é — rotas restritas [23:10] <jrand0m> (ou seja, você tem um pequeno conjunto privado (confiável) de pares e não quer que todos saibam quem são, mas ainda quer poder se comunicar com eles) [23:15] <jrand0m> ok, mais alguma coisa? [23:15] <nop> não, só estou sendo engraçadinho [23:18] <dm> engraçadinho? [23:20] <jrand0m> ok, bem, reunião /interessante/, com alguns travamentos do iip no meio ;) [23:21] * jrand0m dá um baf e encerra a reunião