간단 요약

참석자: aum, deer, duck, hypercubus, jrandom, kaji, MikeW

회의록

14:05 <jrandom> 0) 하이 14:05 <jrandom> 1) 네트워크 상태와 0.3.4.3 14:05 <jrandom> 2) Stasher 14:06 <jrandom> 3) ??? 14:06 <jrandom> 0) 하이 14:06 * jrandom i[2i]p & freenode 패거리 모두에게 손을 흔든다 14:06 * hypercubus 손을 흔든다 14:06 <jrandom> 주간 상태 노트를 몇 초 전에 http://dev.i2p.net/pipermail/i2p/2004-August/000409.html 에 올렸습니다 14:06 <deer> <oOo_itwop> 쇼 타임이다! 14:07 <deer> <mule> i2p irc가 절 안 좋아하는 것 같네요. 아니면 자꾸 끊어지게 해서 저를 오래 뜨겁게 두려는 건가요 14:07 <jrandom> 헤헷, 맞아요, 그게 사실 1) 네트워크 상태와 0.3.4.3 주제로 이어지네요 :) 14:07 <jrandom> 지금 네트워크 상태가 꽤 엉망입니다 14:07 <kaji> 맞아요 14:08 <jrandom> 문제의 상당 부분은 사람들이 돌리고 있는 서로 다른 릴리스들 간의 비호환성에서 비롯되고, 그 때문에 별별 방법으로 망가지는 사례가 생겨났습니다 14:09 <jrandom> 메일의 링크를 보면 발생했던 플러딩과 netDb DoS를 확인할 수 있는데, 대체로 가라앉았습니다 14:09 <jrandom> 여전히 예전 릴리스를 쓰는 분들이 반열 명쯤 있고 (아마 순정 0.3.4.2를 쓰는 사람이 20~25명은 될 텐데, 그 자체의 문제도 있습니다) 14:10 <jrandom> 이 일을 진행하는 동안 인내해 주셔서 감사합니다. 문제 노드를 효율적으로 우회할 수 있게 되기 전에는 새 릴리스를 서두르고 싶지 않습니다 14:10 <jrandom> 그동안은 단지 성능이 나쁜 노드들은 우회할 수 있었지만, 나쁜 짓을 하는 노드들까지 상대할 일은 없었습니다 14:11 <deer> <oOo_itwop> 기니피그들이 jrandom에게 절을! 14:11 <duck> 다음 릴리스는 하위 호환이 될까요? 14:11 <jrandom> 아마 그럴 겁니다, duck. 그 오래된 노드들을 우회할 수만 있다면 굳이 비호환으로 만들 이유가 없죠 14:12 <duck> 좋네요 14:12 <jrandom> 어쨌든, 아직 새 릴리스가 보이진 않더라도 작업은 많이 진행 중입니다 14:13 <jrandom> 0.3.4.3이 언제 나올지는 모르겠습니다. 어쩌면 내일, 아니면 이번 주 늦게쯤일 수도요. 14:14 <jrandom> 네트워크 상태와 관련해 질문 / 의견 / 우려 사항 올리고 싶은 분 계신가요? 14:14 <kaji> *.3에 hyper의 새 GUI 설치 프로그램이 포함되나요? 14:14 <jrandom> 아마 아닐 겁니다 14:14 <deer> <mule> 제 박스들의 프로파일에서는 네트워크가 좋아 보이는데, 다만 자주 끊깁니다 14:15 <jrandom> 예, 이해합니다, mule. 저도 IRC 연결이 꽤 나빴는데, 최근엔 좀 나아지고 있어요 14:15 <deer> <mule> 하지만 얘기의 대부분을 놓쳤으니, 잠깐 조용히 있겠습니다 14:15 <jrandom> CVS에서 받아서 시도해 보시면 개선이 있을 겁니다, 하지만 업데이트가 잦으니 릴리스를 기다리시는 게 나을 수도 있어요 14:16 <jrandom> 좋아요 다른 거 있나요? 없으면 2) Stasher로 성큼 넘어가죠 14:16 <kaji> woot stasher 14:17 <jrandom> stasher가 꽤 그럴듯합니다. 아직 기능은 꽤 제한적이지만, 진척되고 있어요 14:17 <jrandom> aum이 깨어 있으면 업데이트를 해줄 수 있을 텐데... 14:17 <jrandom> aum: 핑? :) 14:17 <kaji> /kick aum 14:18 <jrandom> (그에겐 이른 시간이라 아직 자고 있을 겁니다) 14:18 <duck> 정말 이기적이군요 14:18 <hypercubus> 지금까지는 인상적이더군요 14:18 <jrandom> 아무튼 stasher 설치와 실행은 꽤 수월하니, 가능하시면 테스트를 도와주시면 좋겠습니다 14:18 <jrandom> 네, 완전 동감 14:18 <hypercubus> 덕분에 대량 goatse'ing도 해봤습니다 14:19 <jrandom> goatse 없는 앱이 무슨 재미가 있겠어요, 그쵸? 14:19 <hypercubus> 남의 드라이브에 goatse를 업로드하게 해주는 앱, 사랑하지 않을 수 없죠 ;-) 14:19 <aum> pong 14:19 <jrandom> w0ah 14:19 <jrandom> 좋은 아침, aum 14:19 <deer> <ardvark> 간단한 질문: stasher는 i2p CVS를 통해 받나요? 14:19 <aum> 모두 안녕하세요 14:19 <jrandom> ardvark: i2p/apps/stasher/ 14:19 <aum> ardvark: 안녕!!!! :) 오랜만! 14:20 <deer> <ardvark> 그래, 안녕 aum! 반가워, 친구! 14:20 <aum> ardvark: tarball로 받는 게 아마 더 쉬워요 - http://stasher.i2p 또는 http://www.freenet.org.nz/python/stasher 14:21 <deer> <ardvark> 좋아 aum, tarball은 받았는데 다른 게 필요하다고 하네요? 회의를 지연시키진 않을게요, 나중에 따로 연락해도 될까요? 14:21 <aum> 그럼요 14:22 <hypercubus> 자, stasher 근황 좀 들려줘요, aum? ;-) 14:23 <aum> 작은 업데이트로, 로컬 전용 get/put을 허용하는 '-l' 옵션을 추가했습니다 14:23 <aum> 또, 즉시 반환하는 'put' 옵션 구현을 생각 중입니다 14:24 <aum> 어젯밤에는 Freenet 키 타입 구현 이슈들을 곰곰이 생각해 봤어요 14:24 <hypercubus> 성공한 put 작업이 상태 코드를 반환하도록 요청하고 싶어요... scp와 다른 많은 커맨드라인 네트워크 앱들이 그렇게 하죠 14:24 <jrandom> SSK가 들어가면 꽤 끝내줄 거예요 14:25 <jrandom> (물론 제 생각엔 CHK가 가장 본질적이긴 합니다) 14:25 <MikeW> 제가 Freenet에서 흥미롭다고 느낀 점 하나: 왜 CPU 사용률이 높을 수 있는지 알려줍니다. 가끔(보통 시작할 때 1~2분 정도)과 가끔 랜덤하게 CPU 사용률이 100%까지 치솟는데, 왜 Java가 내 CPU를 잡아먹는다고 판단하는지 대략이라도 알려줄 수 있을까요? 14:25 <deer> <oOo> 스플릿파일 ^^ 14:26 <jrandom> MikeW: i2p가 CPU를 잡아먹는다면 분명히 어딘가 고장이 난 겁니다 14:26 <aum> 스플릿파일은 잠정적으로 구현해 놨지만, 아직 활성화하진 않았습니다 - 먼저 로컬에서 테스트해 보려 해요 14:26 <jrandom> MikeW: router 콘솔의 'current job'을 보면 router에서 무슨 일이 벌어지는지 정확히 알 수 있습니다. CPU를 잡아먹는 곳은 (거의 항상) 거기예요 14:26 <jrandom> 아 멋지네요 aum 14:27 <aum> 재귀적 알고리즘 덕분에, 완료되면 스플릿파일은 파일 크기에 사실상 제한이 없어질 겁니다 14:27 <deer> <oOo> 좋군요, 본격적인 goatse와 pr0n에는 스플릿파일이 필수죠... 14:27 <deer> <identiguy> aum: 거기에 FEC(전방 오류 정정)도 포함되나요? 14:27 <aum> FEC는 필요 없어요 14:27 <aum> FEC는 네트워크가 부실할 때만 필요합니다 14:27 <deer> <identiguy> 아, 알겠습니다. 14:27 <aum> 저는 kademlia(분산 해시 테이블 알고리즘)를 쓰고 있는데, 훨씬 더 나은 검색 가능성 보장을 제공합니다 14:27 <duck> 노드가 다운되지 않는 한요 14:28 <aum> 게다가, 어차피 FEC 작업은 하고 싶지도 않아요, 너무 성가셔요 14:28 <aum> duck: 중복도가 있습니다 - kademlia의 'k' 값을 보세요 14:28 <jrandom> duck: k가 20이면, 재게시 없이도 괜찮을 거예요 ;) 14:28 <duck> 헤헷, 알겠습니다 14:28 <deer> <mule> aum: 다수의 노드가 제거되는 상황에는 FEC가 도움이 될 수도 있겠네요 14:28 <jrandom> (그리고 재게시를 한다면, k 모두가 동시에 죽지 않는 이상 문제 없겠죠) 14:28 <aum> 아뇨, 전 그냥 k를 늘릴게요 14:28 <jrandom> 제 생각엔 k=20이면 꽤 든든합니다 14:29 <jrandom> (파일 전체 복제본이 20개 있다는 뜻이니까요) 14:29 <hypercubus> 사용자들은 언제든 독립형 FEC 도구를 쓸 수 있어요 14:29 <MikeW> jrandom: Under JobQueue, runners:1, active jobs:0, just finished:1, ready/waiting: 0, timed: 28 14:29 <aum> 그 말은 goatse가 20개란 뜻이죠, 여러분 :P 14:29 <hypercubus> 그리고 결과물을 게시하면 되죠 14:29 <duck> 브리트니 스피어스 효과는 어떡하죠? 14:29 <duck> 아주 인기 있는 키들이 한 노드에 몰리는 현상요 14:29 <jrandom> (일명 740MB 파일 하나 넣으면 14.8GB를 전송해야 하는 상황) 14:30 <aum> duck: kademlia에는 '인기'라는 개념이 없어요 14:30 <duck> (물론 32KB 키라면 그리 끔찍하지 않을 수도 있죠) 14:30 <jrandom> 좋아요 MikeW, 그런데 지금도 i2p가 CPU를 잡아먹고 있나요? 14:30 <deer> <ardvark> i2p에서 보이는 이 kademlia 메시지들은 모두 stasher 관련인가요? 14:30 <MikeW> jrandom: 네 14:30 <aum> duck: 그리고 kademlia에는 릴레이라는 개념이 없어요 14:30 <hypercubus> ardvark: router 콘솔에 보이는 건 netDb의 Kad 구현입니다 14:31 <aum> 'relaying', 'popularity', 'caching' 같은 개념은 Freenet용이에요. I2P의 은폐 없이 세상에 벌거벗고 드러나야 하니까요 14:31 <deer> <ardvark> 여기서는 I2P랑 Tor를 돌리는데 CPU 사용률이 3%네요 그래서 :/ *어깨 으쓱* 14:31 <jrandom> MikeW: 그러면 당신의 router가 연결을 유지하지 못해서 동시에 연결을 수립하느라 CPU를 마구 먹고 있는 겁니다 14:31 <duck> 알겠어요, 제 뇌가 Freenet에 물들어 썩었네요 14:31 <duck> 자비를 베풀어 주세요 :) 14:31 <deer> * shendaras가 달랜다. 14:31 <jrandom> MikeW: 회의 끝나고 디버깅 좀 같이 해볼 수 있으면 좋겠습니다 14:32 <MikeW> 그럴게요 14:32 <jrandom> 좋아요 aum, 사람들이 도울 수 있는 게 있을까요? 14:32 <jrandom> 아니면 그냥 타이어만 발로 차보고 버그 리포트나 올리면 될까요? 14:33 <duck> leo에 익숙해지려고 노력 중입니다 14:33 <aum> 네, 괜찮으시다면 리스트로 버그를 올려 주세요 14:33 <duck> 벌써 Eclipse보다 더 마음에 드네요 14:33 <hypercubus> leo가 뭐죠? 14:33 <jrandom> (어라, 잔소리 시작된다 ;) 14:33 <aum> duck: 요즘은 leo만 씁니다 - 급할 땐 emacs, 더 급할 땐 zile만 예외로요 14:34 <hypercubus> vi나 emacs만 안 쓰면 괜찮아요 ;-) 14:34 <aum> http://leo.sf.net - 코드의 아웃라인 보기를 제공합니다 14:34 <hypercubus> 하지만 저도 이 leo를 직접 써봐야겠네요 14:34 <aum> 원하면 leo는 emacs와도 연동됩니다 14:34 <hypercubus> 그거 에디터는 아닌가요? 14:35 <aum> <bile> 14:35 <aum> 젠장할 msvc - 64비트 정수에는 __int64를 허용하면서도, 64비트 정수 리터럴에는 'LL'이나 'ULL'은 허용하지 않네요 14:35 <aum> !! 14:35 <aum> </bile> 14:35 <hypercubus> 아, 알겠네요 14:37 <jrandom> 좋아요, 그게 다라면 남은 건 없고 3) ???로 넘어가도 되겠네요 14:37 <jrandom> 다른 이야기하실 분 있나요? 14:37 <hypercubus> 그럼 설치 프로그램의 새 방향에 대해 조금 얘기하죠 14:37 <jrandom> 좋아요, 콜 14:38 <hypercubus> 0.4부터는 커맨드라인 사용자들은 i2p tarball만 받아 풀고, 스크립트를 실행해 router를 시작하면 되고, 그러면 lynx 같은 것으로 router 콘솔이 열릴 겁니다 14:39 <hypercubus> 그래서 큰 변화는 없고, 다만 유치한 Q/A 설치 과정을 거치지 않아도 됩니다 14:39 <hypercubus> 설정은 모두 router 콘솔에서 합니다 14:39 <hypercubus> GUI 사용자들을 위해서는 근사한 걸 준비했어요 14:39 <jrandom> (w00t) 14:40 <hypercubus> 미리보기는 http://files.hypercubus.i2p/install.jar 에서 14:40 <jrandom> 아니면 cvs에서 (ant pkg ; java -jar install.jar) 맞죠? 14:40 <aum> hypercubus: winstaller 쪽은 어떻게 되어가나요? Java 자동 감지/자동 다운로드/자동 설치를 지원하나요? 14:41 <hypercubus> 메뉴 바로가기는 곧 제공될 거고, systray 통합과 router를 데몬으로 설치하는 방법도 제공할 예정입니다 14:41 <aum> 데몬? 윈도우의 'service' 말인가요? 14:41 <hypercubus> 아니요, 적어도 당분간은 i2p 사이트의 링크를 클릭해서 공식 Java 다운로드 페이지로 가야 합니다 14:42 <hypercubus> 설치 프로그램이 Java를 필요로 하는데, 어차피 I2P도 필요하니 괜찮습니다 14:42 <aum> hypercubus: 미안하지만, 그러면 사용자 80%를 잃을 겁니다 14:42 <hypercubus> 그렇게 하지 않는 Java 프로젝트 하나만 대보세요 14:42 <jrandom> 언젠가는 넣을 겁니다. 14:42 <jrandom> 지금은 아니죠. 14:42 <aum> Freenet은 잘했어요 - 그들의 winstaller는 다운로드 과정을 안내하죠 14:43 <jrandom> (우리는 지금 더 중요한 일거리가 너무 많아요. 지금 당장은 수많은 사용자를 원하지도 않습니다) 14:43 <hypercubus> 그건 1.0에 고려하죠 14:43 <hypercubus> 사실 그걸 해낼 코드 대부분은 이미 만들어 놨어요 14:43 <aum> jrandom: 그게 0.4에 들어간다고 하신 줄 알았는데요 14:43 <deer> <mule> 그럼 Java는 소스에서 직접 빌드하도록 요구해야죠 :) 14:44 <jrandom> 새 설치 프로그램은 0.4에 들어갑니다 14:44 <hypercubus> 지금까지 제가 작성한 코드는 전부 폐기했습니다 14:44 <hypercubus> 대신 IzPack를 쓰기로 했어요 14:44 <hypercubus> http://izpack.sf.net 14:44 <jrandom> 둘을 묶어 15MB짜리 다운로드로 제공할 수도 있겠지만, 1.0 이전에 I2P를 쓸 대부분의 사용자는 'Java'가 뭔지 알고 있을 겁니다 14:45 <hypercubus> 이렇게 하면 완전 Public Domain Java 설치 프레임워크를 다듬을 시간을 벌 수 있고, 언젠가 I2P를 그쪽으로 되돌리고 싶어요 14:45 <hypercubus> 하지만 지금 우선순위는 형편없는 현재 설치 프로그램을 없애는 겁니다 ;-) 14:46 <hypercubus> (대충 붙여 넣은 분께 악의는 없습니다) 14:46 <deer> <shendaras> 404가 뜹니다.... 14:46 <duck> http://www.izforge.com/izpack/ 14:46 <hypercubus> http://www.izforge.com/izpack/ 14:47 <hypercubus> 그 점은 죄송 14:47 <hypercubus> 어쨌든, 제 eepsite에 올려 둔 프리뷰 설치 프로그램에 대한 피드백을 부탁드립니다 14:48 <hypercubus> *nix와 Windows에서 테스트했습니다. OS X와 Solaris에서도 동작할 겁니다 14:48 <jrandom> r0x0r 14:48 <duck> 좋네요 14:48 <jrandom> 네, 끝내줘요 14:49 <hypercubus> 버튼의 바보 같은 아이콘을 없애려고 IzPack를 해킹할지도 모르겠어요 14:49 <deer> <mule> hypercubus: 기존 설정은 날아가나요, 보존되나요? 14:49 <hypercubus> 패키지에는 설정 파일이 포함되어 있지 않습니다 14:49 <hypercubus> 그래서 jar와 war만 덮어쓸 겁니다 14:49 <jrandom> (지금은요 ;) 14:49 <hypercubus> 음, 설정은 고려할 겁니다 14:49 <deer> <mule> ㅇㅋ, 고마워요 14:49 <duck> Jetty 전체는 어떻게 시작하죠? 14:49 <duck> 여전히 sh/bat ? 14:50 <jrandom> 네 14:50 <jrandom> router는 스크립트로 시작하고, 또는 그 스크립트를 호출하는 서비스로 시작할 겁니다 14:50 <hypercubus> 네, 그리고 Windows 사용자용 exe도 넣을게요 14:50 <jrandom> w00t 14:50 <hypercubus> 그건 시작 메뉴에서 실행됩니다 14:50 <hypercubus> Windows 시작 메뉴 14:51 <hypercubus> 내일까지 Jetty를 Windows 서비스로 동작하게 만들 수 있을 겁니다 14:51 * jrandom 중얼거림 *그건 jetty가 아니라 i2p야* 14:51 <hypercubus> 아 맞다 ;-) 14:52 <hypercubus> 그래도 Jetty에는 Win32 서비스 래퍼가 딸려오죠 14:52 <hypercubus> 그걸로 뭐든 감쌀 수 있어요 14:52 <jrandom> 맞아요, PD/BSD 라이선스의 Java 서비스 래퍼가 3~4개 있어요 14:52 <hypercubus> 네, 아마 Linux용도 있겠죠 14:53 <jrandom> 흠, Linux의 서비스란 == init 스크립트죠 :) 14:53 <hypercubus> 맞지만, Linux 서비스는 주요 배포판들 사이에서도 처리 방식이 다르죠 14:53 <hypercubus> 예를 들어 Gentoo는 rc-setup 스크립트 방식을 씁니다 14:54 <jrandom> w3rd 14:54 <hypercubus> 어쨌든 주요 배포판들과 *BSD에서 모두 동작하게 만들게요 14:54 <hypercubus> 그 이상도 가능하면요 14:55 <hypercubus> 읏, s/rc-setup/rc-update/ 14:55 <hypercubus> 좋아요, 이 정도면 다 다룬 것 같네요 14:55 <hypercubus> 이제 다들 깨어나도 됩니다 ;-) 14:55 <deer> * shendaras 하품 14:55 <jrandom> 좋네요, 고마워요 hyper, 듣기 좋습니다. 14:56 <jrandom> 또 다른 이야기하실 분 있나요? 14:56 <aum> 초반 논의를 놓쳤다면 미안합니다만.. 14:56 <aum> datagram 지연 같은 건 상황이 어때요? 14:57 <jrandom> datagram 쪽은 모르겠습니다 - 제가 쓰는 앱들은 모두 streams를 통해 datagram 위에서 동작하거든요 14:57 <jrandom> 네트워크 상태는 여전히 꽤 안 좋습니다 - 상태 노트를 http://dev.i2p.net/pipermail/i2p/2004-August/000409.html 에서 보세요 14:58 <aum> ㅇㅋ 14:58 <jrandom> 좋아요, 더 없으면... 14:58 * jrandom 마무리 준비 14:59 * jrandom 회의를 *baf* 닫는다