(웨이백 머신 제공 http://www.archive.org/)

간단한 요약

참석자: duck, joda, jrand0m, mrflibble, Nostradumbass

회의 로그

[22:02] <jrand0m> 0) $num에 오신 것을 환영합니다 [22:02] <jrand0m> 1) iip 상태 [22:02] <jrand0m> 2) kademlia 관련 + idn [22:02] <jrand0m> 3) 피어 프로파일링 관련 [22:02] <jrand0m> 4) i2p 서비스 [22:02] <jrand0m> 5) 기타 [22:02] <jrand0m> 0) 환영합니다 [22:02] <jrand0m> 하이 [22:03] <jrand0m> 이번이 67번째인가 68번째 회의네요... [22:03] <jrand0m> 1) iip 상태 [22:03] <jrand0m> 잘 모르겠어요. 요즘 상황 아는 분? [22:04] <jrand0m> iip 개발자들이 없어서... 글쎄요. [22:04] <jrand0m> [ping] [22:04] <jrand0m> (지난주에는 아마 10분은 타이핑했는데 클라이언트가 핑 타임아웃으로 날 내보냈더랬죠...) [22:05] <jrand0m> (p0ng 받을 때까지는 더 안 칠래요, 젠장 ;) [22:05] *** Nostradumbass (nostradum@anon.iip) has joined channel #iip-dev [22:05] <jrand0m> 안녕, Nostradumbass [22:06] <Nostradumbass> hi :) [22:06] <jrand0m> 좋아요, 핑 타임아웃은 아니고, 다들 잠복 중이었군요. 굿 :) [22:06] * jrand0m 다음 안건으로 넘어감 [22:06] <Nostradumbass> i2p는 어떻게 돼가요? [22:06] <Nostradumbass> 미안? [22:06] <jrand0m> 좋은 도입부 ;) [22:07] <jrand0m> 안건 3) i2p 0.2.3 상태 :) [22:07] *** nerox (~nerox@anon.iip) has joined channel #iip-dev [22:07] <jrand0m> 제가 오프라인이었지만 진척이 많았어요. 몇 시간 전에 코드를 잔뜩 커밋했습니다 [22:07] <jrand0m> kademlia netDb 구현도 포함돼요 [22:08] <jrand0m> 그래서 다음 주에 0.2.3 릴리즈는 무난히 할 수 있을 것 같아요 (기본적으로 kademlia netDb + 쉘 스크립트) [22:08] <jrand0m> 다만 i2p에 더 적합하게 하려고 kademlia 프로토에 몇 가지 변형이 더 들어갔습니다 [22:09] <jrand0m> 우리는 항상 매우, 매우, /매우/ 희소한 kademlia 트리를 갖게 될 거예요. [22:09] <jrand0m> 2^256개의 가능한 슬롯, 그리고 네트워크의 피어당 1~10개의 값. [22:09] <jrand0m> 그러니 아주 과하게 잡아도 결국 아무것도 거의 안 쓰게 될 거고, 모든 게 가장 바깥쪽 kbucket에 들어가겠죠 [22:10] <jrand0m> 그래서 kademlia의 일부는 조용히 무시될 겁니다 ;) 하지만 검색 알고리즘과 거리 척도 같은 기본 요지는 그대로예요 [22:10] <jrand0m> 한편 idn은 완전히 멈췄어요. [22:11] <jrand0m> i2p의 netDb 코드를 발행용 DHT와 같은 코드로 돌릴 수 있다는 생각은 어리석은 작은 아이디어였죠 [22:11] <jrand0m> 그래서 즉시 폐기했습니다. [22:11] <jrand0m> idn 자체는 여전히 좋은 아이디어지만, 제 i2p 개발 시간은 거기에 쓰지 않겠습니다 [22:12] *** tusko (~tusko@anon.iip) has joined channel #iip-dev [22:12] <jrand0m> 대신 0.2.3 변경의 일부로 피어 선택 방식과 router 통계를 구성하는 방식을 대폭 개편합니다 [22:12] <jrand0m> 안녕, tusko [22:12] <jrand0m> 그럼 안건 3) 피어 프로파일링으로 넘어가죠 [22:12] <jrand0m> 제가 좀 바보 같았어요... 드디어 약간 수학을 해봤습니다 [22:13] <jrand0m> 지금 수집 중인 통계가 엄청나요. [22:13] <jrand0m> 피어 /당/ 약 6000개의 데이터 포인트 [22:13] <duck> peer profiling이 뭐죠? [22:13] <jrand0m> peer profiling은 router가 각 피어의 성능을 추적해서 앞으로 누구를 쓸지 결정할 수 있게 하는 거예요 [22:13] <duck> 아 [22:13] <jrand0m> (즉, 빠른 router, 신뢰할 수 있는 router 등) [22:13] <duck> 내 메모리를 잡아먹는 그 프로세스죠 :) [22:14] <jrand0m> 헤헷 사실 그 부분은 그렇게까지 나쁘진 않아요 [22:14] <jrand0m> 그래도 6000 데이터 포인트는 스케일이 안 나옵니다. [22:14] <jrand0m> 1000개의 router @ 피어당 6000 데이터 포인트 @ 데이터 포인트당 4바이트 = 24Mb [22:15] <jrand0m> 그래도 몇백 피어에 대해서 자세히 통계를 유지하는 건, 네트워크가 그 이상으로 커져도 아마 괜찮겠죠 [22:15] <jrand0m> 모두에 대한 통계를 유지할 /필요는/ 없어요. 우리 tunnels, garlic 라우팅, 소스 라우팅에 '사용'하고 싶은 router만요. [22:16] <jrand0m> 장기적으로는 수백 명 정도의 피어만 추적해도 될 겁니다. [22:16] <jrand0m> 하지만, 지금은 에라 모르겠다. [22:16] <jrand0m> 모든 피어에 대해 통계를 유지하죠 [22:16] <duck> ping [22:16] <jrand0m> p0ng [22:17] <duck> 모든 피어에 대해 학습하려고 하나요? [22:17] <jrand0m> 지금은, 네 [22:17] <duck> 아 방금 네 마지막 줄이 그 얘기였군 [22:17] <jrand0m> 피어 프로파일을 병합하고 계산을 수행하는 코드도 좀 있어요 [22:18] <jrand0m> 그 계산기 중 하나가 버릴 피어를 결정할 겁니다 [22:18] <jrand0m> 수집 중인 데이터셋 예시: (Link: http://i2p.dnsalias.net/~jrandom/profile.txt)http://i2p.dnsalias.net/~jrandom/profile.txt [22:19] <jrand0m> (0이 아주 많다는 걸 볼 거예요 :) [22:19] <jrand0m> 피어 선택과 프로파일링에 대한 대략적인 개요 문서를 써놨는데, 그건 위키에 올려야 해요 [22:20] <jrand0m> 하지만 그건 전부 0.3에서 할 내용이고요. 0.2.3에서는 일부만 씁니다 [22:21] <jrand0m> 좋아요, 피어 프로파일링은 여기까지. 자세한 건 나중에 많이, 오늘은 뭐가 진행 중인지 살짝 미리보기만 [22:21] <jrand0m> (물론 언제나처럼, 본격적으로 파고들어서 어떤 통계/계산/공격/기타를 써야 하는지 알아봐 주실 분들은 *정말* 환영해요) [22:22] <jrand0m> 좋아요, 4) i2p 서비스 [22:23] <jrand0m> tc의 사이트는 훌륭하고 정말 안정적이에요! 드디어 nightblade의 페이지도 봤는데, 멋진 블로그('plog' ;)더군요.. 댓글을 남길 수 있으면 좋겠어요 :) [22:23] <jrand0m> duck의 jabber 서버도 있어요, tc의 게시판에 올라온 설명대로 하면 꽤 쉽게 됩니다 [22:24] <jrand0m> 가끔 말썽을 부리는 건 router <= 0.2.2의 몇 가지 버그 때문이고, 그건 고쳤어요 (0.2.3에 포함돼서 배포될 겁니다) [22:24] <jrand0m> squid 프록시는 제가 너무 자주 오프라인이라 내 kaffe router들을 지켜볼 수가 없어서, 보통 꺼져 있어요 :/ [22:25] <jrand0m> 그래서 당장은 eepsites와 jabber 채팅이 i2p에서 가장 안정적일 거고, 전부 i2ptunnel 위에서 돌아가요 [22:25] <jrand0m> 다음엔 어떤 서비스가 나오면 좋을까요? [22:25] <duck> i2ptunnel 위에서 ircd를 돌려봤어요 [22:25] <duck> 근데 로그인하고 전체 MOTD 받기도 전에 벌써 핑 타임아웃 났어요 [22:26] <jrand0m> 앗 [22:26] <duck> 그것도 같은 router에서요 [22:26] <duck> 야전(?)에서는 성능이 더 나쁠 거예요 [22:26] <jrand0m> 로컬 router에서 핑 타임아웃이 났다고요?! [22:26] <jrand0m> 로컬 router는 절대 핑 타임아웃이 나면 안 되는데 [22:26] <jrand0m> 아, 그 레이스 버그 말곤 [22:26] <jrand0m> (로컬이라 레이스가 더 빨라서 그랬을 수도 있겠네요) [22:26] <duck> IRC 클라이언트가 시간 내 응답하지 못해 핑 타임아웃 났어요 [22:27] <duck> 0.2.3에서 다시 시도해볼게요 [22:27] <jrand0m> 굿 [22:27] <duck> 그래도 지금은 jabber가 좋네요 [22:27] <jrand0m> 완전 동의 [22:27] <jrand0m> 장기적으로는 IRC가 답이 아니기도 하고 [22:27] <duck> tc, jrandom, 그리고 제가 거기서 수다 떨어요! [22:27] <jrand0m> 헤헤 :) [22:28] <jrand0m> 무단 사용자에게 평문을 주지 않고, 중앙 집중 병목도 없는 IM/그룹 채팅 솔루션이 필요해요 [22:28] <jrand0m> (즉 iip 2.0) [22:28] <jrand0m> 지금 userx가 다시 돌아오면 딱 좋을 텐데 ;) [22:29] * jrand0m 기대 접음 [22:29] <jrand0m> NNTP 서버도 /정말/ 정말 최고일 거예요. [22:29] <duck> 그건 내일 시도해볼게요 [22:29] <jrand0m> r0x0r [22:30] <duck> jabber 위에서 다른 걸 돌리기도 정말 좋아요 [22:30] <duck> jabber RPC 명세를 확인해보세요 [22:30] <duck> (Link: http://www.pipetree.com/jabber/jrpc/)http://www.pipetree.com/jabber/jrpc/ [22:30] <duck> 다른 서비스는요? [22:30] <jrand0m> 흥미롭네요 - 본질적으로 jabber를 네이밍 서비스로 쓰는 거네요 [22:31] <duck> 당신 말은: [22:31] <jrand0m> 메일(유즈넷), 채팅(jabber), 게시/브라우징(eepsites)만 있어도 추가할 서비스는 항상 많긴 하죠, 커버리지는 꽤 좋아요 [22:31] <duck> 네임 서버가 jabber 클라이언트를 통해 (토큰 제공 시) 이름을 등록해 주는 [22:31] <duck> 조회에도 쓰고? [22:31] <jrand0m> 아뇨 [22:32] <jrand0m> jabber의 레지스트리가 네이밍 서비스가 되는 거죠 [22:32] <duck> 오케이 [22:32] <jrand0m> 중앙집중식이지만 작동은 합니다 [22:32] <jrand0m> hosts.txt처럼요 :) [22:33] <duck> SMTP와 POP/IMAP보다 이 환경에 더 적합한 메일 솔루션이 있나요? [22:33] <jrand0m> 아주 좋은 질문이네요 [22:33] <duck> 메일 서버들을 그냥 연결한다고 해서 잘 될 것 같진 않거든요 [22:34] <jrand0m> 네, 아마 (freemail처럼) 게이트웨이가 필요하거나 네이밍 서비스가 재주를 좀 부려야 할 거예요 [22:34] <jrand0m> 아니면 모두가 같은 서버를 쓰는 중앙 집중 단일 POP3/IMAP 서버로 회귀하거나요 [22:35] <duck> 어제 aum(freemail 저자)와 얘기했어요 [22:35] <duck> 그가 fred를 파이썬으로 다시 구현할 얘기를 하더군요 [22:35] <jrand0m> ㅋㅋ 좋네요 [22:35] *** mrflibble (mrflibble@anon.iip) has joined channel #iip-dev [22:35] <duck> 그래서 대신 i2p용 파이썬 router 작업을 하자고 제안했죠 [22:35] <jrand0m> 오 그건 완전 최고죠! [22:35] <duck> 그러다 문서가 pdf라며 완전 흥분하더라고요 [22:36] <jrand0m> 원하면 openOffice 원본이나 txt로도 내보낼 수 있어요 [22:36] <duck> 제가 인내심을 잃고, 공손히 부탁하면 m$word 문서도 줄 거라고 했죠 [22:36] <duck> 음, HTML로도 내보내지 않은 건 멍청했다고 했어요 [22:36] <jrand0m> 아니요, 그거 해봤어요 ;) [22:36] <duck> 인내심을 잃고 당신에게 얘기하라고 했어요 [22:36] <jrand0m> openOffice의 HTML 내보내기는 형편없어요 [22:37] <duck> 흠 [22:37] <mrflibble> 맞아요 jr [22:37] <jrand0m> 명세가 1.0이 되면(즉 router가 1.0이 되고 코드에 맞춰 갱신되면) 위키에 올릴게요. [22:37] <duck> 위키에 대부분 정보가 있긴 하죠 [22:37] <jrand0m> 바로 그거 [22:37] <mrflibble> 나는 케빈 미트닉 책에서 그걸 써보려 했는데, ms office보다 더 별로였음 [22:37] <duck> 뭐 어쨌든 [22:37] <jrand0m> 딱 그거죠. [22:37] <duck> 한 번 여기 나타날지도 [22:37] <jrand0m> 그러면 멋지죠 [22:38] <duck> 근데 그의 태도라면 freenet 쪽에 합류하는 게 더 나을지도 [22:38] <duck> ... [22:38] <jrand0m> 글쎄요, freenet에 대한 노력도 항상 좋은 일이죠 [22:38] * duck 다시 친절 모드로 돌아감 [22:38] <jrand0m> :) [22:38] <duck> aum의 작업은 끝내줘요 [22:38] <duck> i2p에서도 멋지게 활약하길 [22:39] <jrand0m> 네, freenet에서 검색 얘기 나오면 항상 "그냥 McNabb처럼 해"라고만 했어요 [22:39] <jrand0m> 우리도 도움이 정말 필요하죠 [22:39] <duck> 그래서 다음 질문: [22:39] <duck> 당신이 I2P에 적용하는 변경 사항들은 명세화되어 있나요? [22:39] <duck> 아니면 최신 정보는 자바 소스가 문서 역할을 하나요 [22:40] <jrand0m> palmpilot, 파일시스템, 노트북에 메모는 해놨는데, 불행히도 openoffice 문서는 한동안 업데이트하지 않았어요 [22:40] <jrand0m> 2월은 jrandom의 문서의 달입니다. [22:40] <jrand0m> (그리고 qa, 그리고 버그 수정) [22:41] <jrand0m> ((그리고 술자리 ;)) [22:41] <jrand0m> 명세는 여전히 거의 맞고, 세부사항이 더 늘었을 뿐이에요. [22:41] <duck> 최고네요 [22:41] <jrand0m> 대신 데이터 구조 쪽은 변경이 더 많았어요 [22:42] <jrand0m> 좋아요, 서비스 관련해 다른 거 있나요? [22:43] <jrand0m> 좋아요, 5) 기타 [22:43] <jrand0m> 하이 [22:43] <duck> 하이! [22:43] <jrand0m> 요즘 어때요? [22:43] <jrand0m> [질문/생각/이슈/기타는 여기로] [22:43] <duck> base64 트릭은 i2ptricks 페이지에 추가해야 해요 [22:44] <jrand0m> 오 좋은 지적 [22:44] <duck> 내가 아직 모르는 다른 트릭들도 있을지 몰라요 [22:44] <duck> 소스에서 'main'을 grep해볼게요 [22:44] <jrand0m> 인스톨러가 자동으로 hosts.txt를 가져오고 reseed하게 해주지 못한 게 미안하네요 [22:44] <jrand0m> ㅎㅎ [22:44] <jrand0m> main() 메서드가 정말 정말 많지만, 대부분 테스트 함수예요 [22:45] <jrand0m> 아! [22:45] <jrand0m> 한 가지. 현재 cvs의 코드를 돌려서 일반 router들과 호환되길 기대하지 마세요. [22:45] *** joda (--@anon.iip) has joined channel #iip-dev [22:45] <joda> hi [22:45] <jrand0m> db 메시지가 바뀌었거든요 :) [22:45] <jrand0m> 안녕 joda [22:45] <joda> 방해했다면 미안해요 [22:45] <duck> cvs를 못 돌려서 좀 짜증났어요 [22:45] <duck> 근데 여긴 freenet이 아니라는 게 생각났죠 [22:45] <joda> "anonymail"은 어떻게 됐는지 궁금했어요 [22:46] <duck> 그러니까 쓰려면 최신 cvs가 꼭 필요하진 않죠 [22:46] <jrand0m> joda> 그걸 운영하는 사용자가 지금은 온라인이 아닌 것 같아요. 곧 돌아올 겁니다 [22:46] <jrand0m> 헤헤 duck - 오늘 내가 커밋한 뒤에 실패한 거예요, 아니면 그전부터요? [22:46] <duck> 지난주쯤이요 [22:46] <joda> jrand> thx :) [22:46] <joda> cu :) [22:46] <jrand0m> 아 그렇구나 duck [22:46] <jrand0m> 또 봐요 joda [22:47] <jrand0m> 네, 저는 릴리즈된 코드만 돌리는 걸 권장해요 [22:47] <duck> 0.2.3에서는 version 파일을 디렉터리에 넣나요? :) [22:47] <jrand0m> 0.2.3에서는 version 파일을 없애요 :) [22:47] <jrand0m> (정말 정말 정말 많은 변경) [22:47] <jrand0m> 하지만 그 말인즉 0.2.3(이후)은 대체로 정확한 시계를 요구할 거예요 [22:48] <jrand0m> (현재 Router.CLOCK_FUDGE_FACTOR = 30 minutes) [22:48] <duck> 0.2.3의 fudge factor(허용 오차)는 얼마죠? [22:48] <jrand0m> 아마 동일해요 [22:49] *** joda has left #iip-dev [22:49] <duck> 오, current = 네 코드 말이군 [22:49] <jrand0m> 그 시간은 db 엔트리를 만료시키는 데 사용됩니다 [22:49] <duck> ㅇㅋ [22:49] <jrand0m> 아, 맞아요, 네 :) [22:49] <jrand0m> (0.2.2에서는 그 clock_fudge_factor가 반댓수 파일에 흩어져 있어요) [22:49] <duck> 인스톨러를 좀 더 사용자 친화적으로 만들 수 있을까요 [22:49] <duck> 그러니까 질문을 줄이는 쪽으로요 [22:49] *** Signoff: nickthief66282 (Excess Flood) [22:50] <duck> 기본 phttp URL 포함, 대역폭 제한 없음 등 [22:50] <jrand0m> 무작위 포트도 자동으로 추정할 수 있겠네요 [22:50] <jrand0m> 맞는 말이에요 [22:50] <jrand0m> 커밋 권한 원해요? :) [22:50] *** Signoff: nerox (EOF From client) [22:50] <jrand0m> (아니면 내가 0.2.3에 맞춰 업데이트할게요) [22:51] <duck> 반대 논거로, 사용자가 설정을 너무 쉽게 당연하게 받아들이게 될 수 있다는 점이 있어요 [22:51] <duck> 그래서 모두가 같은 phttp 릴레이를 쓰게 되고요 [22:51] *** nickthief24373 (~chatzilla@anon.iip) has joined channel #iip-dev [22:51] <jrand0m> 동의. 그래도 0.3.1 계획에는 phttp 릴레이들이 서로 통신하고, 덜 로드된 릴레이로 사용자를 리다이렉션하는 코드 업데이트가 포함돼요 [22:52] <jrand0m> 저는 지금 설치 과정에는 대체로 만족해요 - 새 0.2.2를 설치해서 1분 안에 tc의 페이지를 브라우징했거든요 [22:52] <jrand0m> (물론 모든 문구가 뭔지 알아서 안 읽었기 때문이지만...) [22:52] <duck> 긴 키가 싫어요 [22:53] <duck> 특히 복사/붙여넣기해야 할 때는요 [22:53] <duck> 파일로 쓰는 게 낫죠 [22:53] <jrand0m> 흠? [22:53] <duck> 근데 바이너리 파일 배포가 고역이에요 [22:53] <duck> 그래서 base64 트릭을 써야 하고.. [22:53] <duck> i2ptunnel이 base64 destination 키도 읽을 수 있을까요? [22:53] <duck> 파일에서요 [22:53] <jrand0m> 방금 그걸 치고 있었어요 ;) [22:53] <jrand0m> 네, 그건 일도 아니에요 [22:54] <jrand0m> 어쩌면 한 줄이면 될 듯 [22:54] <duck> 그리고 아머링은요? [22:54] <duck> 헤더&푸터 붙이는 거요 [22:54] <duck> pgp처럼요 [22:55] <jrand0m> 맞아요, 그런 검증이 있으면 유용하죠 [22:55] <duck> 물론 그건 액세서리죠 [22:55] <duck> 그래도 터널 쓰려는 사람들한테는 도움이 될 수 있어요 [22:55] <jrand0m> 다만 Destination 구조 자체가 꽤 까다롭거든요 [22:55] <jrand0m> 그래도 맞아요, 생짜 base64는 주고받기 가장 직관적이거나 안전한 방식은 아니죠 [22:56] <jrand0m> bugzilla가 필요해요 [22:56] <jrand0m> 이런 것들을 todo로 올릴 수 있게 [22:56] <jrand0m> 제 palm의 todo 리스트에서 그걸로 옮길 수 있죠 [22:56] <duck> bugzilla는 등록 요건이 살인적으로 엄격하죠 [22:56] <duck> 이메일도 필요하고.. [22:56] <jrand0m> 맞아요 [22:57] <duck> 그래도 없는 것보단 낫죠 [22:57] <duck> 다른 버그트래커들도 각각 단점이 있고요 [22:57] <jrand0m> 네, 제가 일했던 회사들은 결국 거의 다 자기들 걸 만들더군요 [22:58] <jrand0m> 봅시다. 본격적인 QA를 시작할 때(0.3이 나오면)까지는 버그트래커가 있어야 해요 [22:58] <jrand0m> 그러니 몇 주는 있어요 ;) [22:58] <jrand0m> 누가 좀 조사해서 정말 좋은 걸 찾으면 최고겠네요 [22:59] <jrand0m> [duck 너만 두고 하는 말은 아님, 집에서 이 회의 로그를 읽는 누구든 ;)] [22:59] <duck> 지금까진 phpBugTrackers가 괜찮았어요 [22:59] <jrand0m> 흠 그건 안 써봤네요 [22:59] <duck> 네, 저도 jrandom에게만 말하는 건 아니고요 [22:59] <jrand0m> ㅎㅎ [22:59] <duck> I2P 코드 개발자 여러분께 하는 말입니다 :) [22:59] * jrand0m 사실 하나의 닉으로 활동하는 12명임 [23:00] <jrand0m> 좋아요, 정확히 1시간 [23:00] <jrand0m> 내가 이제 *baf*er를 꺼내기 전에 다른 거 있는 분? [23:01] * duck 1분 더 요구 [23:01] <duck> 21:02에 시작했으니까요 [23:01] <jrand0m> 알았어 알았어 [23:01] <jrand0m> 라 라 라 [23:01] <jrand0m> 저녁으로 뭘 먹을까요? [23:01] <jrand0m> 옆집에 맛있는 팔라펠집이 있는데... [23:01] <jrand0m> 점심엔 뇨키를 먹었고 [23:01] <jrand0m> 흠... [23:01] <jrand0m> 액체 저녁도 괜찮겠네 [23:02] <duck> 수프? [23:02] <jrand0m> 오오오 위스키 수프! [23:02] * jrand0m 그 말과 함께 회의를 *baf*로 마무리함