간단한 요약
참석자: ant, cervantes, Ch0Hag, duck, jrandom, keysersoze, MrEcho, mule, Nightblade, peer, polecat, postman, protokol, Ragnarok
회의 기록
13:26 <jrandom> 0) hi 13:26 <cervantes> 주문하기 전에 메뉴부터 보자 :P 13:26 <jrandom> 1) 0.4.1.4 13:26 <jrandom> 2) Streaming lib 13:26 <jrandom> 3) BT 진행 상황 13:26 <jrandom> 4) addressbook.py 13:26 <jrandom> 5) ??? 13:26 <jrandom> 0) hi 13:27 * jrandom 손을 흔든다 13:27 <Ragnarok> hi 13:27 * cervantes 손을 흔든다 13:27 <jrandom> 상태 노트는 여기 @ http://dev.i2p.net/pipermail/i2p/2004-November/000485.html 13:27 <keysersoze> hi 13:27 <+polecat> 5) DHTs로 하자, 그 bamboo 같은 거? 13:27 <jrandom> (맞아, 나 늦었어) 13:27 <jrandom> 좋아 polecat 13:27 * polecat 또 손가락을 살짝 문다! 13:27 <jrandom> 좋아, 1) 0.4.1.4로 바로 들어가자 13:28 <+Ch0Hag> 0.4.1.4가 생각보다 자주 죽는 것 같아 13:28 <+Ch0Hag> 그러니까 - 한 번이라도 13:28 <jrandom> 죽는다? 13:28 <+Ch0Hag> 물론 그건 kaffe 탓일 수도. 13:28 <jrandom> IRC 연결이 끊기나, 아니면 router를 재시작하나? 13:28 <jrandom> 아, 너 kaffe 쓰고 있니? 13:29 <+Ch0Hag> router 13:29 <+Ch0Hag> 맞아. 13:29 <+Ch0Hag> 누군가는 써야지 :) 13:29 <jrandom> kaffe에선 기본 메모리 사용량을 두 배로 늘려야 했어 (시작할 때 -mx128m 주기) 13:29 <+polecat> 으악! 그럼 그렇지! hawk를 무시 목록에 넣어놨었네. 13:29 <jrandom> 음, 요즘 최소 3명은 kaffe 쓰는 중이야 13:30 <jrandom> 그거 말고는, 다들 0.4.1.4 어때? 13:30 * polecat kaffe 사용 중... 지금은 더 나은 JVM을 몰라. 13:30 <jrandom> 초기 보고는 좋았는데, 요즘은 별로 못 들었네 13:30 <+Ch0Hag> 64였는데, 128로 해볼게 13:30 <Ragnarok> 괜찮아 보임 13:30 <keysersoze> jrandom: 여기서는 큰 문제 없어 13:30 <@duck> 최근 큰 IRC 장애는 내 탓이었음 13:30 <+Ch0Hag> 그리고 맞아, 대부분 OOM(메모리 부족)이었어 13:31 <@duck> 그 외엔 (내가 대역폭(bw)을 켠 이후로) 좀 불안정한 것 같아, 근데 증거는 없어 13:31 <jrandom> 네 머신의 스로틀링이 좀 병목이야, 예를 들면 네가 메시지 하나를 받으면, 그걸 보내야 하는 메시지가 20개 이상 생기거든 13:32 <@duck> 아 13:32 <jrandom> 하지만 나도 동의, IRC가 좀 출렁였지 13:32 <cervantes> 0.4.1.3은 내 IBM JVM에서 항상 바위처럼 안정적이었어, 그래서 아직은 업그레이드 피했지 13:32 <cervantes> (업타임 22일) 13:32 <jrandom> 멋지네 cervantes 13:32 <jrandom> duck: [여기 새 streaming lib에 대한 기대를 묘사하는 코멘트 삽입] 13:33 <cervantes> baffled의 IRC 서버가 좀 덜 출렁였어 13:33 <jrandom> 맞아, 좋은 지표네 13:33 <keysersoze> cervantes: 그가 어떤 버전 돌리는지 알아? (혹시 아나?) 13:33 <ant> <dm> 새 streaming lib이 IRC에 영향 있나, 아니면 메시지가 너무 작아서 상관없나? 13:33 <@duck> 이번 주에 난 착한 오리였으니, 제한 좀 올릴게 13:33 <jrandom> 확인해볼게 keysersoze 13:33 <jrandom> :) 13:33 <+polecat> 난 업타임 11시간. ;.; 13:34 <jrandom> keysersoze: 0.4.1.4 13:34 <keysersoze> jrandom: ;) 하지만 그가 여기 오면 직접 물어봐도 되지 13:34 <keysersoze> 오케이 13:34 <jrandom> dm: 새 streaming lib은 복원력과 장애 대응을 개선하지만, 당연히 IRC 처리량은 개선하지 못해 13:34 <jrandom> (router 버전은 netDb에 공개되어 있고, 그가 어떤 router 쓰는지 알아) 13:34 <ant> <dm> 그거 좋네 13:35 <jrandom> 좋아, 0.4.1.4 관련해 다른 거 있나? 13:35 <jrandom> 없으면, 잠깐 2) streaming lib 진행으로 넘어가자 13:36 <keysersoze> 없어 13:36 <jrandom> 노트에 적었듯이, 소식은 준비되는 대로 더 :) 13:36 <+polecat> streaming lib이 생기면 이전엔 못 하던 걸 뭘 할 수 있게 돼? 13:36 <Ragnarok> 큰 파일을 빠르게 다운로드 13:36 <Ragnarok> 그리고 네트워크에 DOS 13:36 <jrandom> polecat: 임의로 큰 파일 전송, 4KBps 초과 전송 13:37 <+Ch0Hag> 그리고/또는 신뢰성 있게? 13:37 <jrandom> Ragnarok: 네트워크를 DoS하지 않도록 하는 게 지금 내가 작업 중인 부분 ;) 13:37 <+protokol> 시간이 지나보니 eepIRC에서 연결이 끊어지면 재연결은 항상 실패하는데, 몇 분 멈췄다가 하면 잘 붙더라 13:37 <+polecat> 전송 속도가 증가한다고? o.O 13:37 <jrandom> polecat: 응. 지금 streaming lib은 고정 1패킷 윈도우 크기를 써 - 다음 메시지 보내기 전에 ACK를 기다려 13:37 * polecat protokol에게 끄덕, 그런 듯. 13:38 <ant> <dm> streaming lib은 I2P에서 쓸 수 있는 새로운 범주의 TCP 기반 애플리케이션을 가능하게 할 거야. 13:38 <Ragnarok> jrandom: 아, 다행이네. 그게 좀 걱정됐거든 :) 13:38 <ant> <dm> 마케팅 버전으로 말하자면 말이지. 13:38 <jrandom> 처리량은 새 라이브러리로 유망해 보여 13:39 <jrandom> 헿 dm 13:39 <keysersoze> jrandom: 일반 TCP의 확장처럼, 송신측이 ACK를 아직 못 받아도 특정 개수까지 계속 보내는 그거? 13:39 <+polecat> jrandom: 아, 그게 어떻게 문제를 야기할 수 있는지 알겠네... 13:39 <jrandom> 맞아 keysersoze, (슬라이딩) 윈도우 크기까지 13:39 <jrandom> (그 모든 혼잡 제어/회피 같은 걸 함) [/팔 휘두르기] 13:40 <+polecat> 연결이 끊어진 뒤에도 많은 패킷이 보내지면 혼잡 문제가 생길 수도 있겠네. 13:40 <cervantes> i2p BT에 대해 새 streaming lib과 옛 not-so-streaming lib의 벤치마크 비교가 재밌겠어 13:40 <jrandom> 그렇지 cervantes 13:41 <jrandom> polecat: 그게 가장 큰 위험, 네트워크 플러드를 막는 것, 그래서 조심스럽게 배포 중 13:41 <ant> <dm> 버그 하나 보고할 게 있어. 5로 가면 누가 좀 상기시켜줘 13:41 <cervantes> jrandom: 애플리케이션 입장에서 전환은 얼마나 투명할까? 13:42 <keysersoze> polecat: 현재 계획에 "슬로 스타트" 아이디어가 있나? 처음에는 윈도우가 1이고, 그게 괜찮으면 2로, 그리고 괜찮으면 3으로... 이런 식으로 최대치까지 조심스럽게 늘리는? 13:42 <+polecat> 0.4.1.4가 streaming lib을 쓰나, 아니면 아직 배포 전인가? 13:42 <jrandom> cervantes 0.4.2가 나오면 코드 변경 없음. 심지어 지금도 환경에 매직 플래그를 지정하면 streaming lib을 쓸 수 있어 :) 13:42 <cervantes> polecat: 그건 0.4.2에서 올 거야 13:42 <ant> * dm 모두가 jrandom에게 달려간다. 13:42 <jrandom> 지금도 포함돼 있어 - streaming.jar 봐 13:42 <jrandom> 다만 기본은 비활성화 13:42 <ant> <dm> "플래그! 플래그! 플래그!" 13:43 <keysersoze> jrandom: 아 제발, 우리에게 어떤 환경 변숫값인지 알려줘 ;) 13:43 <jrandom> 하지만, streaming lib은 *하위 호환되지 않음* 13:43 <jrandom> 즉, 그걸로 IRC를 쓸 수 없어 13:43 <cervantes> 난 초기 .1.3이야 기억하지 ;-) 13:43 <jrandom> duck이 별도의 newStreamingLib destination을 돌리지 않는 한 13:43 <+polecat> 그래... 아마 개별적으로보다 일제히 스위치하는 게 최선이겠네. 13:43 <jrandom> 맞아 13:43 <+Ch0Hag> 이 플래그는 "찾을 수 없다면 필요 없는" 그런 류의 플래그인 듯. 13:43 <ant> <dm> duck: 제발, 시키는 대로 해!!! 13:43 <+Ch0Hag> GCC의 대부분처럼... 13:43 <jrandom> 맞아 Ch0Hag :) 13:44 <jrandom> dm: 아직 테스트해야 할 게 좀 있어 13:44 <jrandom> 예: 오늘 아침 mule이 FUQID 테스트 도와줬어 13:44 <keysersoze> jrandom: 그게 기존 I2P destination들의 hosts.txt 키에 영향을 주나? 13:44 <mule> 미팅 놓쳤네. 일광절약 종료 :(. 13:44 <jrandom> (그리고 FUQID는 사아악한 짓을 하지 :) 13:45 <jrandom> 안녕 mule, 나도야 :) 딱 맞춰 왔네 13:45 <ant> <dm> mule: 아직 5) ????? 섹션은 안 놓쳤어 13:45 <+Ch0Hag> 그러고 보니 fuqid 얘기, stasher 소식은? 13:45 <ant> <dm> 너희가 아는 바로는, ????가: GOTO 1 일 수도 13:45 <jrandom> keysersoze: 아니, streaming lib은 그 부분엔 관여하지 않아 13:45 <+Ch0Hag> 아니면 그건 5에서 다룰 만큼 큰 화제? 13:45 <jrandom> Ch0Hag: aum 소식은 9월 이후로 전무, stasher는 다른 누구도 손대지 않고 있어. 13:46 <jrandom> (하지만 5)???에서 다른 DHT(분산 해시 테이블) 얘기는 있다고 들었어) 13:46 <+Ch0Hag> 아. 13:46 <+Ch0Hag> 아쉽네. 13:46 <+Ch0Hag> freenet 개발자들이 경쟁자를 ... 제거하진 않았겠지? 13:46 <+Ch0Hag> :) 13:46 <jrandom> 헿 13:47 <+polecat> 암살 정치의 첫 적용 사례. x3 13:47 <+Ch0Hag> 어쨌든 난 더 없으니, 5까지는 끼어들지 않을게 13:47 <jrandom> 오케이, streaming lib엔 할 얘기가 많지만, 논의는 나중으로 13:47 <jrandom> 다른 게 없으면, 3) BT 진행으로 넘어가자 13:47 <cervantes> </evasion> 13:48 <ant> <dm> 모두들 jrandom이 toad 배포 프로세스를 채택했으면 하진 않지? 13:48 <ant> <dm> Build 3435: streaming lib 시도 13:48 <jrandom> duck: 핑? 13:48 <ant> <dm> Build 3436: streaming lib 시도 2 13:48 <@duck> 퐁 13:48 <ant> <dm> Build 3436: streaming lib 시도 3 13:48 <jrandom> 살살해 13:48 * duck 마이크를 잡는다 13:48 <Ragnarok> 아니, 우린 원치 않아 13:48 <@duck> dinoman, Ragnarok 그리고 내가 BT 클라이언트를 작업 중. 13:48 <@duck> - BT 프로토콜 분석 및 변경 사항을 http://duck.i2p/i2p-bt/txt/i2p-bt_protocol.txt 에 명시 13:48 <@duck> - dino가 phpbt 수정, 정보는 http://duck.i2p/i2p-bt/txt/tracker.txt 13:48 <@duck> dino가 클라이언트를 트래커와 대화하게 만들었고, R과 내가 조금 개선함. 13:48 <@duck> 전체 트래커 <-> 클라이언트는 동작했어 13:48 <@duck> 하지만 파이썬 sam 라이브러리에서 막혔지... 13:49 <@duck> Connelly가 도와줬지만, 바쁘기도 했고 13:49 <@duck> 그리고 aum은 사라졌고 13:49 <+polecat> 난 아직도 BT가 i2p에서 가능하단 게 놀라워... 13:49 <@duck> 그래서 pysam을 버리고, BT의 RawServer.py를 재구현했더니 이제 어느 정도는 됨. 13:49 <jrandom> (w00t!) 13:49 <@duck> 속보: 채널 #i2p-bt (특히 토픽에 최신 릴리스 정보) 13:49 <@duck> 지금은 사소한 결함을 잡기 위해 로깅 지원을 많이 넣는 중 13:50 <Ragnarok> 원래 RawServer.py보다 훨씬 좋아 13:50 <peer> duck: 베타 테스트 준비됐어? 13:50 <@duck> (예를 들어 엔드게임(EndGame) 중엔 마지막 비트를 얻기 위해 타임아웃 및 재시도가 필요) 13:50 <@duck> peer: 응 13:50 <@duck> 논의할 작은 포인트: 13:51 <@duck> 지금까지는 python 2.2(이상) 호환 13:51 <@duck> (bittorrent 자체도 비슷한 듯) 13:51 <@duck> 근데 로깅은 2.3이 필요... 13:51 <cervantes> 그러하오 13:51 <@duck> 그게 얼마나 나쁠까? 13:51 <jrandom> 내 freebsd랑 linux 박스는 2.3이야 13:51 <ant> <dm> 나쁘다고? 13:52 <jrandom> (물론 지난 1년 안에 설치했지만) 13:52 <Ragnarok> 아직도 2.2를 배포하는 메이저 배포판이 있나? 13:52 <@duck> debian-stable은 아직 2.2를 배포하던데, 마지막으로 봤을 때 13:52 <jrandom> 아, 난 debian unstable 13:52 <@duck> 뭐, 놀랍진 않지 13:52 <+Ch0Hag> Debian은 2.3, 2.2, 2.1, 아마 2.0도 배포 13:52 <+Ch0Hag> 동시에. 13:52 <Ragnarok> Debian stable 빼고, 아마... 13:53 <+Ch0Hag> 그건 확신 못 하겠음. 13:53 <jrandom> 2.2 지원이 있으면 좋겠지 - 좋은 로깅 라이브러리가 없나? 13:53 <Ragnarok> 바보 같은 debian 13:53 <@duck> jrandom: 2.3 라이브러리를 번들할 수도 13:54 <Ragnarok> 로깅을 그냥 선택적으로 만들 수는? 13:54 <@duck> 그럴 듯 13:55 <jrandom> 음, 그건 사실 코더 생산성 도구니까, 코딩하는 사람들에게 최선인 대로 하자 13:55 <ant> <dm> I2P + BT가 인기 생기면 그때 걱정해도 됨. 13:55 <keysersoze> 이 로깅은 누굴 위한 거지? 최종 사용자에게는 아니겠지, 그러니 배포 시 일부 플랫폼에서 로깅이 안 되어도 상관없지 않나? 13:55 <ant> <dm> 그땐 아마 2.3이 표준일걸 13:55 <jrandom> 2.2 지원이 있으면 좋겠지만, 2.3 요구해도 그렇게 나쁘진 않을 듯 13:55 <cervantes> duck: 그럼 트래커의 peer announce 목록이 머신 IP 대신 i2p destination들을 뿜어내도록 만들 수 있나? 13:56 <@duck> 좋아, 로깅 라이브러리를 추상화하고, 2.2에선 stdout 사용 13:56 <@duck> cervantes: http://duck.i2p/i2p-bt/diffs/phpbt-i2p.diff 13:56 <jrandom> keysersoze: 로깅은 클라이언트 머신에서 배포돼야 버그가 생길 때 개발자가 상세 로그를 받을 수 있어 13:56 <jrandom> 좋다 duck 13:56 <cervantes> 감사 13:56 <+Ch0Hag> 히, 혹시 관심 있으면, Woody엔 python 1.5, 2.0, 2.1이 있어 13:56 <+Ch0Hag> :) 13:57 <@duck> 헿 13:57 <@duck> 그럼 2.3 필수로 하자 13:57 <@duck> 우디는 잊자 13:57 <cervantes> 내 건 1.5랑 2.2로 고정된 듯 13:57 <jrandom> 그래, 2.1까지 신경 쓸 필요는 없어 13:57 <cervantes> (업그레이드할 때군) 13:57 <jrandom> 헿 13:57 <+Ch0Hag> 대부분 Debian 사용자도 같은 의견 13:58 <Ragnarok> addressbook.py는 2.3 필요 13:58 <@duck> 흥미로운 하위 프로젝트 몇 가지: 13:58 <jrandom> 아 오케이 좋아 Ragnarok 13:58 <@duck> i2p에 최적 설정을 연구 13:58 <+polecat> 그 작은 게 2.3이 필요해? 13:58 <keysersoze> jrandom: 동의, 하지만 지금처럼 작은 네트(약 100 peers)에서는 몇몇 베타 테스터가 2.2나 2.3으로 올리는 건 문제 아냐. 그리고 노골적인 버그가 잡히고 나면, 새로운 "진짜" 최종 사용자는 로깅이 크게 필요 없겠지. 그러니 요지는: 지금 단계에서 로깅은 문제 아냐, 즉 합의 ;) 13:58 <cervantes> 1년 전쯤 BT를 분해해볼 때, 이 머신은 트래커를 통해 초당 6mb까지 밀었었지... 13:58 <+polecat> 이상하네... 2.2는 사실상 반쯤 망가진 건가. 13:58 <Ragnarok> 2.3엔 더 나은 urllib 프록시 지원이 있어 13:58 <@duck> 표준 bt 트래커 포팅도 13:58 <cervantes> 시드 말이야 13:59 <Ragnarok> 2.2에서도 가능하긴 한데, 너무 노력이 많이 들어 :) 13:59 <+polecat> 아 그건 중요하지 13:59 <jrandom> duck: 최적 설정 연구는 0.4.2가 나올 때까지 어렵겠지 13:59 <@duck> 그렇지 14:00 <jrandom> 트래커 포팅은 훌륭하지. .torrent 만드는 툴은 구현돼 있어? 아니면 수동으로 했어? 14:00 <@duck> 뭐? 14:00 <cervantes> 클라이언트엔 피어 수용률, 타임아웃, 최소/최대 피어 등 멋진 튜닝이 잔뜩 있어 14:01 <cervantes> jrandom: 그건 수정이 필요 없을 듯 14:01 <jrandom> duck: .torrent가 트래커의 i2p destination을 참조하지? 14:01 <@duck> 지금은 btdownloadheadless.py + btmakemetafile.py + btshowmetainfo.py를 배포 14:01 <jrandom> 아니면 이름을 참조하나? 14:01 <cervantes> 그건 그냥 URL이랑 SHA1 해시 뭉치야 14:01 <@duck> btmakemetafile.py랑 btshowmetainfo.py는 수정 안 됨 14:01 <jrandom> "URL"이 어려운 부분이지 :) 14:02 <@duck> 그래서 다른 도구도 쓸 수 있어 14:02 <@duck> 지금은 http://duck.i2p/phpbt/announce.php 14:02 <jrandom> 오케이, 좋아 14:02 <@duck> 아마 http://i2p/bigbase64/announce.php 도 쓸 수 있지 14:02 <+protokol> 다른 클라이언트가 eepTorrent를 지원할 계획 있어? 난 azureus 좋아해 14:02 <@duck> 많지 14:02 <cervantes> jrandom: 내가 봤던 초기 버전은 announce 문자열에 URL 검증을 안 했어 14:03 <ant> <dm> eep가 다시 뭐의 약자였지? 14:03 <cervantes> 거기 뭐든 넣을 수 있었어 14:03 <jrandom> 흠, 그게 되는지 확인할 가치가 있어 duck (phpbt가 멍청한 URL 리라이트 같은 걸 할 수 있으니) 14:03 <cervantes> dm: 포럼 용어집 봐 14:03 <@duck> i2p-bt 포럼 만들 때가 된 걸까? 14:03 <keysersoze> duck: 특히 새 사용자가 hosts.txt에 "등록"이 없는 상태에서 트래커를 호스팅하려면, base64가 들어갈 수 있어야 해 14:03 <+Ch0Hag> Eye Eye Pee? 14:03 <jrandom> 그거 좋지 duck 14:03 <@duck> (forum.i2p의 포럼 섹션) 14:04 <ant> <dm> cervantes: 정말 도움 되네! 14:04 <cervantes> duck: 응 문제없어 14:04 <@duck> keysersoze: 조사해볼게 14:04 <jrandom> 어쨌든, 지금만으로도 꽤 끝내줘 14:05 <jrandom> 피어당 4KBps도 사실 그리 큰 문제는 아냐 14:05 <ant> <dm> 몇 시지? "두 블록 아래 길에 시계 있잖아" 14:05 <cervantes> 앞으로는 사람들이 suprnova처럼 파일을 게시할 수 있게 별도 포럼 공간을 만들까 14:05 <@duck> eeprnova 14:05 <jrandom> cervantes: 리뷰 같은 것도 있으면 좋고 :) 14:05 <keysersoze> jrandom: streaminglib으로 전환하면 현재 파이썬 I2P-BT 코드에 큰 변경이 필요해? 14:05 <+polecat> 난 IPv4 비트토렌트 스트림에서도 4KBps 넘겨본 적이 없어... 14:05 <peer> 네트워크의 다른 머신에서 실행할 수 있게, i2p 서버 주소를 설정하는 커맨드라인 인자가 있으면 좋겠어 14:05 <jrandom> (하지만 그건 forum.i2p 바깥이 더 좋겠지, 아마) 14:06 <jrandom> keysersoze: 0 변경 14:06 <@duck> 참고로 i2p-bt 트래커는 훨씬 덜 확장돼 14:06 <@duck> 커다란 키를 보내야 하니까 14:06 <Ragnarok> polecat: 너 NAT 뒤에 있구나 14:06 <keysersoze> polecat: ((OT) 오늘자 firefox 토렌트 써봐 ;)) 14:06 <cervantes> jrandom: ㅇㅋ. 14:06 <@duck> 일반 트래커는 최근 피어당 6바이트만 보내도록 수정됐거든 14:06 <jrandom> peer: i2p 서버 주소? 14:07 <jrandom> peer: 난 SAM 브리지를 로컬에서 사용하고 원격 router에 접속해서 i2p-bt 쓰고 있어 14:07 <jrandom> 아, 근데 CLI에서 SAM 브리지 위치랑 eep 프록시 위치를 설정하는 플래그가 있으면 좋겠네, 맞아 14:07 <peer> jrandom: 맞아 14:07 <keysersoze> duck: 호스트 키를 압축할 수 있나? (그냥 질문...) 14:08 <peer> 하나의 CLI 인자로 14:08 <jrandom> (매 릴리스마다 코드를 다시 수정하는 대신에 :) 14:08 <@duck> keysersoze: base64 대신 바이너리를 쓰면 좀 줄어들어 14:08 <@duck> 한 15% 14:08 <@duck> 그럴 가치 없음 14:08 <keysersoze> duck: 동의. 14:09 <ant> <dm> cervantes: 포럼 용어집이 어디에? http://forum.i2p.net/ 에는 아무것도 안 보이네 14:09 <Ragnarok> 호스트네임을 쓸 수는 없나? 14:09 <jrandom> Ragnarok: 호스트네임은 전역적으로 유일하지 않아 14:09 <@duck> Ragnarok: 그쪽으론 가고 싶지 않아 14:09 <cervantes> dm: 등록 사용자에게만 보여 14:10 <ant> <dm> cervantes: 아 훌륭! 그럼 구글에서 eep를 찾아볼게! 14:10 <Ragnarok> 알겠어 14:11 <cervantes> dm: 길거리 소문으로는 IIP의 발음이래 14:11 <cervantes> 그런 말이 있어 14:11 <jrandom> 좋아, 너희가 BT 쪽에서 엄청난 일을 하고 있고, 더 듣고(그리고 쓰게) 되길 기대해 :) 14:11 <ant> <dm> cervantes: 약자가 아닌 거야? 14:12 * cervantes 공유할 영화와 TV 쇼가 1/2 테라바이트 있음 14:12 <jrandom> i2p-bt 관련해서 더 논의할 게 있나? 14:12 <cervantes> dm: 내가 알기론 아냐 14:12 <@duck> (#i2p-bt 잊지 마) 14:12 <jrandom> 그래, #i2p-bt, 드디어 사람들이 freenode에서 옮겨올 유인이 생겼네 :) 14:12 <ant> <dm> 알겠습니다. 감사합니다. 14:13 <+Ch0Hag> 이 위대한 네트워크만으로도 충분한 유인인데 말이야... 14:13 <jrandom> 자, 없으면 4) addressbook.py로 가자 14:13 <jrandom> Ragnarok: 요약해줄래? 14:13 <Ragnarok> 위~ 14:14 <Ragnarok> 흠, 좋아. addressbook.py는 구독 가능한 주소록 시스템의 첫 시도야. 14:14 <Ragnarok> 지금은 꽤 못생겼지만, 작동은 해 14:14 <Ragnarok> ragnarok.i2p에서 받을 수 있어 14:14 <peer> 네이밍 관련 제안 하나만 해도 될까? eepsites 간 링크는 base64를 쓰고, 대신 사이트에 대한 북마크 이름은 사람들이 직접 만들게 하는 게 최선인 듯, 중앙집중식 네이밍 시스템 없이 14:14 <Ragnarok> 음... 14:14 <Ragnarok> 질문 있나? 14:15 <+postman> Ragnarok: 못생겼다를 정의해봐 :) 14:15 <jrandom> Ragnarok: 끝내준다 14:15 <ant> <dm> jrandom: 질문은 아님 14:15 <+polecat> 우리가 무슨 얘기하고 있었지? @.@ 14:15 <peer> 프리넷 웹 인터페이스 첫 페이지의 북마크처럼, 대신 URL로 14:15 <cervantes> Ragnarok: 전부 커맨드라인이야, 아니면 GUI가 있어? 14:15 <Ragnarok> 읽어봐, 못생겼어 :) 14:15 <jrandom> peer: 동의, 다만 저자 도구가 필요해 14:15 <cervantes> 스크린샷이 없어서 관심을 잃고 갔었지 ;-) 14:15 <jrandom> peer: 그래도 ?i2paddresshelper가 도움 되지 14:15 <+postman> Ragnarok: 오케이, 고마워 - 확인해볼게 14:16 <+polecat> 에이, GUI는 축구 엄마들을 위한 것! 14:16 <Ragnarok> 전부 커맨드라인이야. 데몬으로 돌리도록 설계됨. Windows에선 아직 데몬으로 안 돌아, 그게 내 다음 프로젝트. 14:16 <Ragnarok> CLI 도구 외에는, 모든 상호작용은 설정 파일을 통해서 해. 14:17 <jrandom> 네이밍 분야의 다음 단계는 항목과 구독을 관리하는 웹 인터페이스 아닐까? 14:17 <cervantes> 결국 네 hosts 파일을 배포하는 거지? 14:17 <Ragnarok> 맞아 14:17 <cervantes> 오케이...좋네 14:17 <Ragnarok> 웹 인터페이스는 훌륭하지. 근데 내가 쓰진 않을 거야 :) 14:17 <jrandom> 머지와 충돌 관리까지 14:18 <+polecat> 충돌 관리는 로그에 꺅 소리 지르는 것 말고 뭐가 있지? 14:18 <jrandom> 그래, 엔진 자체는 Good Stuff, 웹 쪽은 다른 누가 맡아줄 수도 있겠지 :) 14:19 <Ragnarok> 없어. 충돌을 해결하고 싶으면 수동으로 :). 다만, 지금은 좀 더 쉬워졌지. 14:19 <jrandom> polecat: 꺅 소리 + 기존 항목은 절대 덮어쓰지 않기, 내가 알기론 14:19 <jrandom> (음, 그가 말한 대로) 14:19 <cervantes> Firefox 사이드바 플러그인으로 있으면 좋겠네... 14:19 <+polecat> 나도 네가 직접 보증하고 싶은 항목을 위한 myhosts.txt 개념이 좋아. 14:19 <cervantes> 그건 내가 i2p 툴바에 넣을 수 있겠다 14:20 <Ragnarok> 사용자 변경은 절대 덮어쓰지 않으니, 공격에 대해 꽤 안전해 14:20 <jrandom> 그리고 상대적으로 신뢰할 수 있는 피어만 구독해야 하고 14:20 <Ragnarok> 그렇지 14:20 <cervantes> 항목 잠그는 기능이 있으면? 14:20 <cervantes> (예: userhosts로 이동) 14:21 <Ragnarok> 항목은 절대 수정되지 않아 14:21 <+polecat> 내가 만든 addressbook.pl의 perl 버전은 myhosts.txt를 지원해. 14:21 <cervantes> Ragnarok: 아 미안, 방금 네가 말했지 14:22 <Ragnarok> myhosts.txt는 경쟁 상태를 피하기 위한 더러운 핵이지만, 왠지 모두가 그걸 인터페이스로 좋아하더라 :) 14:22 <jrandom> 관심 있으면, i2ptunnel / sam / 등에서 hosts.txt와 userhosts.txt만 읽지 않도록 하는 방법이 있어 14:22 <jrandom> (근데 그럴 만한 탄탄한 이유가 있을 때만) 14:22 <cervantes> Ragnarok: 그건 의도적이었던 척 했어야지 ;-) 14:23 * duck hosts.txt / userhosts.txt에서 추상화하자고 제안 14:23 <+polecat> 내 addressbook.pl의 perl 버전은 myhosts.txt를 지원해. 14:23 <Ragnarok> 그래, 그건 대개 큰 리라이트의 일부가 될 거야 :) 14:23 * polecat duck에게, 그러려면 i2ptunnel과 sam을 수정해야 할 거라고 언급. 14:23 <Ragnarok> 먼저 Windows에서 기능 동등성을 맞추고 싶어. 14:24 <jrandom> 맞아 duck, 0.4.2에선 서로 다른 destination을 "oldLib"와 "newLib"(등등)로 플래그할 수 있으면 좋았거든 14:24 <@duck> polecat: 최종 결과를 'hosts.txt'라는 이름으로 쓸 수도 있지 14:24 <cervantes> 이상적으로는 카테고리화할 수 있는 계층형 미니 데이터베이스로 로컬 주소를 관리하고 싶지 14:24 <@duck> 하지만 사용자에겐 다른 구조를 쓰고 14:24 <+polecat> 최종 결과는 userhosts.txt로 가 14:24 <+polecat> 그리고 시스템 hosts.txt가 아닌 eepsite에 "hosts.txt"라는 파일도 있어. 14:24 <@duck> 그건 헷갈리지 :) 14:25 <Ragnarok> 난 최대한 헷갈리게 하는 걸 좋아해 :) 14:25 <MrEcho> 이달 말까지 dns 끝내길 희망 14:25 <@duck> 좋아, 그럼 이름을 콘텐츠 체크섬에 따라 다르게 하자 14:25 <cervantes> addressbook.txt? :) 14:25 <Ragnarok> 퍼블리시된 주소록은 그냥 hosts.txt라 불러, dev.i2p에서도 그 이름이니까 14:25 <+polecat> Ragnarok의 hosts.txt를 다른 이름으로 부를 수도 있어. 사람들이 그 다른 파일명으로 구독하면 되지. 14:26 <Ragnarok> 맞아, 설정 옵션이야 14:26 <+polecat> 즉, http://polecat.i2p/hosts.txt 대신 http://polecat.i2p/addressbook 같은 식으로 14:26 <MrEcho> 참고로, 내 dns는 hosts 파일을 건드리지 않아 .. 진짜 dns처럼 14:27 <+polecat> 아 맞다, 그거도 있지.>.< 14:27 <@duck> 내 dns는 세계 평화를 가져옴 14:27 <jrandom> MrEcho: 상호운용성 탐색이 가치 있을 듯 14:27 <+polecat> /etc/hosts가 있고, i2ptunnel과 sam이 쓰는 jrandom의 hosts.txt가 있고, 이제 Ragnarok가 퍼블리시한 hosts.txt가 있지. 14:28 <Ragnarok> 로컬에서 이름을 해석하지 않는 건 i2p에서 성능이 절대 만족스럽지 않을 거라 봐, 하지만 내가 틀렸다는 걸 증명해도 좋아 :) 14:28 <mule> 적대적인 환경이네 :) 14:28 <MrEcho> hosts 텍스트를 업데이트하게 만들 수도 있지만, 다른 코드에 뭔가 추가하길 바랐어 14:28 <jrandom> CVS에 코드가 좀 있어 (apps/myi2p 아래) 2월 이메일에 올렸던 데이터로 주소록 항목을 로딩/스토어하는, 관심 있으면 ;) 14:29 <+polecat> ? 14:29 <MrEcho> 이미 봤어 jr 14:30 <jrandom> polecat: http://forum.i2p.net/viewtopic.php?t=141#419 14:30 <+polecat> apps/myi2p/java/src/net/i2p/myi2p 아래 말하는 거지 14:30 <jrandom> 음, 그래, 구체적으로 하자면 ;) 14:30 <+polecat> 엄청 중복된 느낌. ;3 14:31 <jrandom> 좋아 MrEcho, 다만 사람들이 hosts.txt를 대체할 네이밍 시스템을 고려한다면, 나도 그 파일 포맷을 제안 중이야 14:31 <jrandom> polecat: 그럴 만한 이유가 있어 (그리고 내 생각엔 저 경로명엔 중복이 없어 ;) 14:31 <Ragnarok> 좋아. 살펴볼게 14:32 <ant> <dm> 적어도 거기엔 인터넷이 세 번 들어가지 않네 14:33 <jrandom> 또한 net.i2p.client.naming.NamingService로 구현돼야 해 - 로컬 DB에서 로드하는 뭔가, 근데 그건 그리 어렵진 않을 거야 14:33 <+polecat> 윽! 안 돼, 안 돼 MX 레코드... 안 돼 CNAME... 14:33 <jrandom> 이름 하나에 여러 destination을 두는 건 좋은 아이디어야 14:33 <ant> <janonymous2> 난 주소록/ DNS 하이브리드가 좋아 14:34 <jrandom> 주소록은 도메인 네임 시스템이지 :) 14:34 <+polecat> jrandom: 얼마나 많이 myi2p라고 불러야 했던 거지? 이미 myi2p라고 부르는데 굳이 i2p를 또 붙여야 하나? 그리고 저 덩어리가 자바라는 데 의문이 있나? 14:34 <jrandom> polecat: 모든 myi2p 코드가 자바에 있진 않을 거야. 14:34 <@duck> 네 동굴로 돌아가라 퍼l 트롤아 :) 14:34 <+polecat> 그게 다 필요하다는 건 알지, 널 탓하는 게 아니라 자바와 ant를 탓하는 거야. 14:35 <jrandom> polecat: 그리고 i2p의 코드베이스는 net.i2p 네임스페이스 아래에 유일하고, net.myi2p 네임스페이스를 우리가 통제하진 않거든 :) 14:35 * polecat 으르렁대며 다리 아래로 웅크린다. 14:35 <ant> <dm> polecat: 그걸 강박장애라고 해 14:35 <jrandom> 헿 14:35 <jrandom> 그건 소프트웨어 공학이라고 ;) 14:36 <+polecat> 그래도 왜 네임스페이스를 따라 디렉터리 구조를 전부 만드는 거야? 14:36 <+polecat> 그냥 파일에 "이 파일의 네임스페이스는 net.i2p"라고 쓰면 되잖아 14:36 <jrandom> 아무튼, Ragnarok의 끝내주는 네이밍 시스템에 대해 다른 얘기 있나? :) 14:36 <@duck> 끝내줘 14:36 <Ragnarok> 고마워 :) 14:36 <+polecat> Asseth Kickius. 14:36 <jrandom> polecat: i2p에는 자바 파일이 1340개야 14:37 <@duck> eepsite를 방문하려고 했는데 호스트가 이미 전파된 걸 보고 나는 충격을 받았지 14:37 <Ragnarok> 헤헷 14:37 <jrandom> :) 14:37 <+polecat> 뭐, 전부 한 군데에 우겨넣으라는 건 아냐. 1340개는 너무 많아 보이는데, 중복 코드 좀 있는 거 아냐? o.O 14:38 <Ragnarok> PID로 Windows 프로세스를 죽이는 명령 아는 사람? 14:38 <@duck> TCP 스택 재구현 같은 거? :) 14:38 <+polecat> 완전한 기능의 웹서버도 있고 말이지. c.c 14:38 <jrandom> 헿 14:38 <jrandom> 아, jetty 코드는 빼고... 14:39 <keysersoze> (지금 네트에 91 피어!) 14:39 <ant> <dm> ragnarok: kill 14:39 <jrandom> 좋아, router/와 core/에는 389개 14:39 <Ragnarok> 그건 어떤 버전에 있어? 14:39 <+polecat> 그래도 한심한 router치곤 많네... 하지만 전체를 고려하면 그리 나쁘진 않지. 14:39 <ant> <dm> 잘 모르겠어... 여기 XP. 14:39 <cervantes> Ragnarook: 지원 CD 파일을 설치했을 때만 가능 14:40 <Ragnarok> 아 14:40 * duck 다시 집중 14:40 <cervantes> Ragnarok: 아니면 sysinternals pskill을 내려받아 14:40 <jrandom> 좋아, 4) addressbook.py에 대해 더 없으면, 5) ???로 넘어갈까 14:41 <cervantes> Ragnarok: http://www.sysinternals.com/ntw2k/freeware/pstools.shtml 14:41 <jrandom> 좋아, 5)로 가자 14:41 <Ragnarok> 멋져, 고마워 :) 14:41 <jrandom> polecat: 기억으로는 bamboo-dht 얘기하고 싶다고 했지? 14:41 <MrEcho> ? 지금 미팅 중 14:41 <+polecat> :챈트: DHT DHT USA USA~/o 14:42 <+polecat> 맞아. 지금 좀 찾아보는 중... 14:42 <jrandom> 맞아 MrEcho 14:43 <+Ch0Hag> 5? 14:43 <jrandom> 5) ??? 14:43 <MrEcho> 헿 14:43 <+Ch0Hag> 오 이런, 관련 없지만 의미론적 버그 하나 찾았어 14:43 <jrandom> 뭔데 Ch0Hag? 14:43 <+polecat> bamboo 소스에는 자바 파일이 79개 있어. 전체 파일은 253개. 14:44 <+polecat> 프로젝트 전체는 빌드 전 소스 및 지원 파일이 4.6MB 14:44 <jrandom> 헉 14:44 <+Ch0Hag> /netdb.jsp에서, '우리' 정보는 포트가 먼저고, 다른 피어는 호스트가 먼저야 14:44 <+Ch0Hag> Addresses 줄에서 14:44 <jrandom> 그걸 만져봤니 polecat? 14:44 <jrandom> Ch0Hag: 순서는 임의야 14:45 <+Ch0Hag> 그리고 0.4.1.4는 Kaffe에서 128MB로 한 시간째 살아있음 14:45 <+polecat> 많이는 못 만져봤어. circle은 좀 해보고 PGP 공개키의 멋진 그래픽 표현을 얻었지만, bamboo는 아직. 14:45 <ant> <dm> 아 맞다, ch0hag의 하찮은 버그 리포트가 상기시켜줬네! 14:45 <ant> <dm> 설정 페이지에 이렇게 적혀 있음 "dyndns 같은 서비스를 쓰거나 호스트네임을 비워 두세요. 비워 두면, router가 피어에게 물어 '올바른' IP 주소를 자동 감지합니다" 14:45 <+Ch0Hag> 모두 host/port 순서인 것 같아 14:45 <MrEcho> 가동 시간: 54h 메모리: 23,506KB 14:45 <+Ch0Hag> 뭐 어때 14:45 <+Ch0Hag> 사실 중요한 건 아냐. 14:46 <ant> <dm> 이건 나한텐 훌륭해, 동적 IP라 이 기능 기다렸거든, 근데 비우고 저장을 누르면, 자동으로 (틀린) IP가 다시 채워져 14:46 <cervantes> polecat: URL 있어? 14:46 <ant> <dm> 감사! 14:47 <jrandom> 흠 dm, 비우도록 설정해도 반영 안 돼? 14:47 <jrandom> 그건 확실히 큰 버그네 14:47 <+polecat> 네, 잠깐만. 14:47 <Ragnarok> 진짜, 박스는 정적 호스트네임이 있을 때만 채우라고 권장하면 좋겠어. 아니면 아예 박스가 없든가... 14:47 <jrandom> Ch0Hag: kaffe는 보통 크기가 일정하게 유지돼 14:47 <+polecat> http://bamboo-dht.org/ 14:48 <jrandom> Ragnarok: 그 박스를 아예 없애고, 해커들이 /configadvanced.jsp에서 추가하게 하는 걸 고려 중 14:48 <ant> <dm> 비우라는 지침 문단 덕분에, 비우지 못하는 내가 바보가 된 기분이라 신경 쓰여 ;) 14:48 <cervantes> polecat: 감사 14:48 <+Ch0Hag> dm: 명백한 지능 테스트지. 14:48 <+Ch0Hag> 비워두게 만들 수 있으면 통과. 14:48 <+polecat> bamboo는 jikes와 kaffe jar로 대략 30초 만에 컴파일되는 것도 보이네. 14:48 <+polecat> 다만 이상한 변수를 쓰더라, JAVA_HOME 대신 JAVAC와 JAVAHOME 14:49 <Ragnarok> jr: 좋은 생각이야. 현 시점에선 뉴비 함정 같거든. 14:50 <cervantes> dm: 저장 버튼 눌러? 아니면 엔터? 14:50 <ant> <dm> 저장 클릭 14:50 <ant> <dm> * 대역폭 제한 업데이트됨 14:50 <ant> <dm> * 설정이 성공적으로 저장됨 14:50 <@duck> polecat: 더 자세히 살펴볼 계획 있어? 14:51 <+polecat> 물론. bamboo가 i2p에 포팅할 최고의 후보로 보이고, 가장 "잘 갖춰진" DHT 프로젝트 같아. 14:52 <+polecat> 중요한 건 물론 그게 "작동하느냐"지. 14:52 <jrandom> 기능 같은 건 누가 필요하냐, 버즈워드 호환성이 전부지! 14:53 <jrandom> 진행 상황을 계속 알려줘 14:53 <jrandom> (나도 동의, 프로젝트는 유망해 보여) 14:53 <@duck> 아마 가장 중요한 건 전송 계층 수정에 무엇을 제공하느냐 14:54 <ant> <janonymous2> bamboo의 요점은? 14:54 <jrandom> 맞아, NIO 채널을 요구하는지 아니면 일반 소켓을 쓰는지 14:54 <cervantes> 헿... bamboo 뉴스: "8월 5일 Bamboo는 이제 100% Pure Java... Berkely DB Java Edition 사용" "11월 4일 Bamboo는 더 이상 100% Pure Java가 아님...BDB Java 별로야.. C로 복귀" 14:54 <jrandom> (물론 i2psocket용 NIO 채널을 우리가 쓸 수도 있지만, 작업이 좀 필요해) 14:54 <+polecat> jrandom: 네 성당으로 돌아가, 자바 가고일아! X3 14:54 <+polecat> 맞아. TCP나 UDP가 필요하거나, 더 최악은... DNS가 필요하면, 우린 곤란할 수도. 14:54 <+polecat> NIO/ 14:54 <+polecat> NIO? 14:55 <+polecat> 내가 아는 건 lojban에서 ni'o가 화제 전환이란 뜻이라는 거. 14:55 <jrandom> NIO는 자바 1.4에 추가된 New I/O 라이브러리야 14:55 <+polecat> 알겠어. 그래도 일반 소켓이면, SAM에 소켓에 대응하는 오브젝트와 read()와 write()에 대응하는 함수가 있잖아? 14:55 <jrandom> 맞아 14:56 <jrandom> 일반 소켓이면, 졸라 쉬워 14:56 <jrandom> (...그게 무슨 뜻이든) 14:56 <ant> <janonymous2> bamboo가 뭐야? 14:56 <jrandom> bamboo-dht.org 14:57 <cervantes> 그런데 pysam의 문제는 뭐였지? 14:57 * polecat 끄덕. 14:58 <@duck> cervantes: 데이터 송수신 14:58 <cervantes> duck: 아 그게 다야? :) 14:58 <ant> * janonymous2 /me 빈약한 폰으로 쪼그려든다 14:58 <@duck> 그리고 연결 생성/감지 14:58 <+Nightblade> 보내지지도 않았다고? 14:59 <Ragnarok> 어휴 14:59 <@duck> Nightblade: 뭔가 하긴 했을 거야 14:59 <+Nightblade> 전혀 안 돼? 15:00 <cervantes> duck: i2p-bt 포럼 섹션 명칭은? 15:00 <cervantes> 최상위로 따로, 하위 섹션 몇 개? 15:01 <Ragnarok> 흠, 난 이제 길을 떠나야겠다. 남은 미팅 잘 해 :) 15:01 <jrandom> Nightblade: aum은 그걸 쓰고 있었으니, 작동했을 거야 15:01 <jrandom> 잘 가 Ragnarok 15:01 <cervantes> you're = your 15:01 <cervantes> 또 봐 ragnarok 15:02 <ant> <janonymous2> bt 상태는? 15:02 <jrandom> janonymous: 미팅 로그를 봐 (올라오면) 15:03 <jrandom> 말 나온 김에, 미팅에서 더 얘기할 거 있는 사람? 15:03 <ant> <janonymous2> 오, 미안 15:04 * cervantes jr에게 eGold 도금된 baffer를 건넨다 15:04 * jrandom 워밍업한다 15:04 <jrandom> ... 15:04 <jrandom> ... 15:04 * jrandom 회의를 *baf* 하고 닫는다