Tóm tắt nhanh
Có mặt: bar, cervantes, Complication, frosk, jrandom, polecat, tethra, void
Nhật ký cuộc họp
16:02 <jrandom> ok, bắt đầu thôi 16:03 <jrandom> chào, ghi chú trước cuộc họp đã đăng tại http://dev.i2p.net/pipermail/i2p/2006-August/001304.html 16:03 <jrandom> thay vì để tôi cơ bản đọc lại thông điệp đó cho mọi người ở đây, hãy chuyển thẳng đến mục ??? chuẩn của chúng ta - 16:04 <jrandom> ai có điều gì muốn nêu ra và thảo luận không? 16:04 <@cervantes> ờm 16:04 * cervantes vội vàng đi đọc bài 16:05 <+Complication> Về tình trạng mạng, bên tôi mọi thứ đều ổn... 16:05 <+Complication> Nhưng có một câu hỏi (thực ra chuyển tiếp từ diễn đàn) về transport NTCP, 16:06 <+Complication> cụ thể là, bật nó lên có khả năng gây vấn đề tải CPU cho ai đó không (họ dùng XP)? 16:06 <@cervantes> Tôi phải nói là tôi thực sự thấy mức dùng CPU thấp hơn từ khi chuyển sang :) 16:07 <jrandom> ờ thì, bạn không thể *tắt* nó (trừ khi bạn đã đọc mã nguồn và biết câu thần chú bí mật ;) 16:07 <+Complication> Người nói về vấn đề này (không dễ lặp lại, và ở đây không thấy CPU dùng nhiều) nói rằng trải nghiệm CPU cao của họ dường như tương quan với NTCP 16:07 <jrandom> vậy, tôi đoán họ muốn nói là không chấp nhận kết nối ntcp đến 16:07 <+polecat> NTCP khiến router của tôi lập tức đẩy CPU lên 100%, và tôi đã lặp lại việc đó hai lần trước khi phải sửa thủ công file cấu hình để router hoạt động trở lại. 16:07 <jrandom> (trong khi vẫn dùng các kết nối ntcp đi ra) 16:07 <+Complication> (bên tôi thì chỉ tăng lên một chút so với mức thường, và có lẽ vì đang bơm dữ liệu *nhiều* hơn rất nhiều) 16:08 <+Complication> ( http://forum.i2p/viewtopic.php?t=1815 ) 16:08 <jrandom> khi bạn thiết lập một kết nối ntcp, bạn sẽ thực hiện một phép tính mật mã nặng (hoặc ba lần) 16:08 <jrandom> nếu bạn chấp nhận các kết nối ntcp đến, bạn có thể nhận rất nhiều nỗ lực kết nối đến cùng lúc, vì có hàng trăm router i2p ngoài kia 16:09 <jrandom> polecat: đó không phải lỗi của ntcp, mà là lỗi của một server ntp tệ trong ntp pool 16:09 <+polecat> Đúng. Vậy hóa ra tôi không tự xử lý được chuyện đó. 16:09 <jrandom> (cảm ơn cervantes đã lần ra cái ntp server đó và nhờ mấy người bên pool !thwap họ :) 16:10 <jrandom> ((và Complication vì đã làm cho chúng ta tránh được mấy kẻ điên đó trong tương lai :)) 16:10 <@cervantes> heh Tôi nghĩ watchdog server của họ chỉ hoạt động vào ngày thường ;-) 16:10 <+Complication> Ừ thì, cách tránh hiện tại còn khá hạn chế 16:10 <@cervantes> http://www.pool.ntp.org/scores/216.52.237.153 16:11 <+Complication> Tôi hy vọng cuối cùng sẽ viết được thứ gì đó thận trọng hơn 16:11 <+polecat> Ồ, vậy bật NTCP sẽ không còn đẩy CPU lên 100% nữa à? 16:11 <jrandom> (nó chưa từng như vậy đâu polecat, chỉ là trùng hợp thôi ;) 16:12 <+Complication> “clock” theo nghĩa cụ thể nào? 16:12 <jrandom> (xem liên kết của cervantes) 16:12 * polecat đập Complication vào đầu. 16:12 <@cervantes> hút cái gì vậy, polecat 16:12 <+Complication> :P 16:12 <+polecat> À, ý tôi là, nó chiếm hết chu kỳ CPU. :) 16:13 <+Complication> Nếu nó nhảy lên trước hoặc lùi lại 30 giây, nó có thể đã mất rất, rất nhiều phiên, và phải dùng đủ kiểu tính toán mật mã nặng nề 16:13 <+Complication> Điều đó có thể ăn rất nhiều chu kỳ CPU, tôi nghĩ vậy 16:13 <+Complication> Thực ra, có lẽ người trên diễn đàn cũng gặp y như thế, và liên hệ sai? Phải hỏi mới biết... 16:13 <jrandom> à.. ừ, những đợt bùng nổ các kết nối ntcp đến hợp lệ sẽ gây bùng nổ CPU, trong khi ntcp chỉ đi ra sẽ chỉ cố gắng nói chuyện với một số lượng peer ntcp mới nhất định tại một thời điểm 16:14 <jrandom> không bật ntcp đến thì chẳng có gì sai cả. 16:15 <@cervantes> Complication: server đã được sửa vào giữa thứ Hai, nên có lẽ đáng để xem họ có gặp vấn đề nào kể từ đó không 16:15 <jrandom> ok, còn ai có điều gì muốn bàn không? 16:16 <+Complication> cervantes: đúng vậy, đáng thử 16:16 <@cervantes> Tôi nhận được báo cáo là vài người vẫn bị mất lease định kỳ... đó có phải vấn đề đã biết không? 16:16 <+void> việc triển khai ntcp khác với ssu bao nhiêu? 16:17 <+polecat> Chúng ta làm sao biết nếu bị mất lease? 16:18 <jrandom> void: có một chút overhead băng thông trên mỗi thông điệp trong ntcp (dù có lẽ được bù lại bởi triển khai truyền tin tin cậy có thể hiệu quả hơn của hệ điều hành) 16:18 <+Complication> polecat: tunnels.jsp sẽ hiển thị không có tunnel cho một tunnel pool cụ thể (ví dụ “shared clients”) 16:18 <jrandom> cervantes: ừ, tỉ lệ xây tunnel thành công của chúng ta vẫn chưa đạt như cần thiết 16:18 <+void> polecat: router console sẽ báo như vậy 16:18 <+Complication> Và như void nói, thanh bên trái của console sẽ cho biết 16:19 <+polecat> Tôi nhận những thông điệp “No leases” khá thường... ý bạn là vậy đúng không? 16:19 <@cervantes> đúng rồi 16:20 <+polecat> Đó thường là thứ giết kết nối IRC của tôi. Tưởng là bình thường chứ! 16:21 * jrandom nhăn mặt 16:24 <+tethra> lol ;) 16:25 <jrandom> ok, còn ai có gì khác cho cuộc họp không? 16:25 <@cervantes> jrandom: dạo này bạn có tiến triển gì với syndie không hay bận tối mắt với ntcp/sửa lỗi/tìm ISP/đạp xe? 16:27 <+tethra> có tin gì về feedspace không, hay tôi chỉ nên vào eepsite của họ? 16:28 <jrandom> khi mạng live gặp sự cố tệ hại tôi đã gác syndie sang một bên. nhưng khi mạng đi vào quỹ đạo trở lại, syndie đã chiếm lại thời gian của tôi, và tôi hy vọng sớm có một hệ thống CLI nhỏ (với các GUI tập trung ra sau đó, dựa trên phản hồi người dùng) 16:28 <jrandom> (GUI swt đã triển khai ở trạng thái khá tốt, nhưng có lẽ tốt nhất là bắt đầu với CLI để điều chỉnh kỳ vọng) 16:29 * jrandom chưa nghe tin gì về feedspace 16:29 <@cervantes> hay đấy 16:29 <jrandom> frosk: có tin gì không? :) 16:29 <+polecat> Tôi mừng là bạn làm syndie trở lại. Bản mới nghe có vẻ đầy hứa hẹn. Có ý tưởng nào về ACL cho những việc như xóa blog khỏi một nút, hoặc làm các tác vụ quản trị không phụ thuộc tài khoản không? 16:30 <@cervantes> <jrandom> DELETE FROM messages WHERE postedOn <NOW()-14*24*60*60; 16:31 <jrandom> các kho lưu trữ cục bộ có lẽ vẫn được tin cậy về bản chất (vì nếu bạn có thể truy cập db lưu trữ cục bộ, bạn có thể thay đổi file theo ý) 16:32 <jrandom> tuy nhiên, với các blog dùng chung, đúng là có cả một bộ cấu trúc mật mã để xác thực và/hoặc ủy quyền bài viết và thay đổi 16:33 <jrandom> (nhưng cũng sẽ có cách để mọi người xem các bài ‘không được ủy quyền’, chỉ là chúng sẽ rất bị đẩy sang lề) 16:33 <+polecat> Tôi chắc là một khi ai đó flood các syndicate bằng hàng nghìn bài blog khổng lồ, kỹ thuật xóa vật lý bài viết sẽ được hoàn thiện. 16:34 <+tethra> heheh 16:35 <jrandom> xóa vật lý thì tầm thường, vấn đề là chấp nhận bài nào ngay từ đầu ;) 16:36 <jrandom> (tôi không hứng thú biến syndie thành nền tảng phân phối phim ảnh, v.v.) 16:36 <+polecat> Không thể chắc mình đang chấp nhận cái gì, cho đến khi đã chấp nhận một mẫu. Tôi hình dung kiểu như chỉ cho phép danh sách trắng các blog, và cho phép ID mới ở dạng thử nghiệm trước khi thêm, xóa ngay nếu phản bội bằng spam. 16:36 <jrandom> ừ 16:37 <+polecat> Tôi quan tâm hơn đến việc ứng dụng nó để gom các luồng hội thoại lại với nhau: chúng ta có thể làm một BBS không có server trung tâm, chỉ cần chung một thẻ! 16:37 <jrandom> (cho phép ID mới thủ công, kickban thủ công các ID flood, v.v.) 16:37 <jrandom> thậm chí còn có hỗ trợ vốn có cho việc đó trong phần mật mã nữa, polecat :) 16:37 <+polecat> Có thể là một moderator ký các thông điệp đã duyệt cho BBS, và mọi người thu thập danh sách phê duyệt đó từ blog của moderator. 16:38 <+polecat> Ồ tuyệt quá. 16:38 <@frosk> jrandom: dạo này tôi làm mấy thứ GUI, nhưng khó mà kết hợp khi mới bắt đầu công việc mới :( 16:39 * cervantes liên hệ Phòng Nhân sự để cho frosk nghỉ việc 16:40 <jrandom> à hay đấy, hy vọng khi syndie ra đó đẩy syndication http chắp vá thì chúng tôi sẽ lại lôi kéo được bạn ;) 16:40 <@frosk> ít nhất sếp tôi giờ theo dõi phát triển i2p :) 16:40 * jrandom vẫy tay chào sếp của frosk 16:40 <@frosk> ồ đúng, tôi vẫn quyết tâm (chết tiệt!) :) 16:40 <jrandom> (cho frosk nghỉ nhiều hơn, chúng ta cần anh ấy!) 16:41 <@cervantes> hy vọng anh ta sẽ không đọc về việc bạn đã đăng thông tin mật của công ty lên blog syndie của mình 16:41 <bar> gui là tốt, chúng tôi thích gui. bạn được tha thứ. 16:41 <+Complication> Hehe :) 16:41 <@frosk> thật kỳ lạ khi bước vào văn phòng của ông ấy và bắt gặp ông ấy đang đọc syndie :) 16:41 <jrandom> hà tuyệt vời 16:42 <+polecat> Chúc mừng frosk, dù bạn có bị đuổi việc trong xấu hổ và tai tiếng đi nữa, ít nhất bạn đã cho thêm một người thấy syndie ngầu thế nào. 16:43 <@frosk> hehe đúng vậy 16:43 <+tethra> haha 16:44 <@frosk> gui (bằng swt) là/sẽ là bãi thử cho mọi thứ liên quan đến feedspace, để khởi động nó 16:44 <jrandom> r0x0r 16:45 <+void> jrandom: có lẽ bạn nên cross-post mọi thứ lên mailing list sang syndie nữa? 16:45 <jrandom> chúng ta nên tích hợp hoàn toàn nó vào GUI swt của syndie (mô hình cơ bản là một trình duyệt, dù không hiển thị trang html trong các tab) 16:46 <+polecat> Thế thì hay. Tôi có vẻ không còn nhận được mailing list nữa. 16:46 <jrandom> void: sẽ khá dễ cho ai đó viết một shell script nhỏ để pipe procmail vào CLI của syndie 16:46 <@cervantes> mấy GUI swt “xịn” này gắn chặt vào ứng dụng chứ? hay là giao diện trên cho các executable CLI hoặc dùng tcp v.v. 16:46 <@frosk> hợp lý 16:46 <jrandom> (iirc có một bài trong blog tôi hồi trước giải thích cách dùng CLI của syndie để chèn bài) 16:47 <+polecat> Hiện tại có thể tạo RSS feed để đưa vào syndie, dù vẫn còn khá lởm khởm. 16:47 <jrandom> cervantes: jdbc trong event handler, inline với jni và msvc callout, dĩ nhiên ;) 16:47 * jrandom cúi đầu né 16:48 <+polecat> Microsoft Visual Classes? 16:49 <@cervantes> jrandom: vậy bất cứ thứ gì có thể nói chuyện bằng SQL đều có thể quản trị syndie à 16:49 <jrandom> (từ góc nhìn của syndie, mọi chức năng về cơ bản được triển khai trong nhiều app CLI nhỏ chỉ cập nhật cơ sở dữ liệu jdbc, và có một UI swt để duyệt quanh db) 16:51 <+polecat> Và vì cơ sở dữ liệu có hai giao diện, JDBC và SQL, một client giao tiếp bằng bất kỳ giao thức nào cũng có thể phá syndie. 16:51 <jrandom> cervantes: ừ, vừa đúng vừa không - có một phần lớn cơ sở dữ liệu được mã hóa, nên không phải mọi trường đều đọc được 16:51 <+void> giao diện web hiện tại vẫn sẽ còn chứ? 16:51 <jrandom> (jdbc == sql) 16:51 <jrandom> void: không 16:51 <+polecat> Tôi tưởng bạn nói JDBC không phải là một giao thức đọc được bởi con người ngớ ngẩn? 16:51 <+Complication> jdbc == java database interface, có lẽ hơi giống odbc 16:51 <jrandom> ((jdbc ~= sql)) 16:51 <+Complication> Thứ mà bạn nói chuyện SQL qua đó 16:52 <+void> jrandom: chuyện gì sẽ xảy ra với syndie.i2p/syndiemedia.i2p.net? 16:52 <+polecat> Ồ. Dù sao thì tôi chưa bao giờ thích SQL, để ghi nhận vậy. 16:52 <@cervantes> jrandom: vậy tốt nhất là tạo một top cho syndieTools (tm) hơn là cố hút dữ liệu trực tiếp 16:53 <jrandom> void: thời gian sẽ trả lời. khả năng là chúng sẽ 1) làm website/eepsite của syndie, 2) làm kho lưu trữ công khai các bài để syndicate, và cuối cùng, khi có giao diện web, 3) phục vụ một giao diện web 16:53 <+polecat> Sao không gửi bytecode làm truy vấn cơ sở dữ liệu, thay vì các câu lệnh COBOL cổ lỗ? 16:53 <jrandom> ừ cervantes 16:53 <jrandom> !lart polecat 16:54 <+void> hehehe 16:54 <+polecat> À, điểm yếu bí mật của tôi. 16:54 <@cervantes> * bạn còn 6 lart trong túi đồ, có một cánh cửa ở phía bắc và một polecat bất tỉnh trên sàn 16:54 <jrandom> cervantes: đó thực ra là app CLI số #3 (trích xuất từng bài, cái này đến sau app #2, liệt kê từng bài (sau #1, tạo từng bài, và sau #0, quản lý nym))) 16:54 <jrandom> lol 16:54 <+tethra> haha 16:55 <+Complication> đề xuất tính năng: thay vì bytecode, sao không gửi các đặc vụ $agency sống làm truy vấn cơ sở dữ liệu? ;P 16:56 <+Complication> Sẽ dễ xác minh an toàn hơn nhiều :P 16:56 <@cervantes> jrandom: hiểu rồi 16:56 <+tethra> chúng có hoạt động như bồ câu đưa thư dưới khí hậu thích hợp không, Complication? 16:56 <+Complication> tethra: chỉ khi bạn cố đẩy được họ xuyên qua TCP stack còn nguyên vẹn :P 16:56 <+polecat> Đúng vậy, truy vấn cơ sở dữ liệu qua CPP! 16:57 <+Complication> Tôi tưởng tượng bị nhàu trong TCP có thể làm họ hỏng 16:58 <+Complication> (xin lỗi, thật ra nên để chuyện đùa ở #i2p-chat, nhưng đôi khi không nhịn được) 16:58 * cervantes cảm thấy một cú baff sắp ập tới 16:58 <+Complication> truy vấn cơ sở dữ liệu dưới dạng shellcode? 16:59 <jrandom> ok, còn ai có gì khác cho cuộc họp không? 16:59 <+polecat> http://www.blug.linux.no/rfc1149/ <- chúng ta thực sự có thể tunnel i2p qua cái này. 16:59 * Complication thà bám với SQL còn hơn 17:00 <+void> jrandom: các ngôn ngữ khác ngoài java có thư viện cho cơ sở dữ liệu hsqldb không? 17:01 <+Complication> Oo có vẻ là có, vì họ dường như dùng nó 17:01 <+void> trông như là “không” với tôi 17:01 <+void> ồ, hừm 17:01 <@cervantes> openoffice dùng nó nên tôi đoán là có 17:01 <+Complication> Nhưng tôi không chắc OpenOffice được viết bằng gì 17:01 <jrandom> không như tôi biết. nhưng ai đó có thể chạy syndie với một cơ sở dữ liệu jdbc khác (mysql, oracle, v.v.) 17:01 <jrandom> oo dùng java 17:02 <+void> chính xác openoffice dùng cơ sở dữ liệu này để làm gì? 17:02 <+Complication> Nhưng có vẻ chỉ dùng một phần 17:02 <jrandom> void: để tạo pdf và cho ứng dụng cơ sở dữ liệu giống access của họ 17:02 <jrandom> (ngoài những thứ khác) 17:02 <+Complication> Vì nó khuyến nghị một JRE bên ngoài 17:02 <+void> được 17:03 <+void> viết sql portable thì nhức đầu thật 17:03 <+Complication> nếu không dùng trigger hoặc stored procedure thì không nên quá đau đầu đâu 17:04 <jrandom> ờ, cũng không tệ đến thế, và dễ để tách ra ngoài 17:04 <+void> đặc biệt khi nhắm đến oracle ;) 17:05 <jrandom> thực ra, hsqldb hỗ trợ pl/sql ;) 17:06 <bar> có kế hoạch nào khác cho cơ sở dữ liệu này không, như cho thống kê, hồ sơ peer, netdb..? 17:06 <jrandom> không, cái này chỉ cho syndie 17:06 <bar> ok 17:07 <jrandom> (dù khi chúng ta phát hành mã hsqldb, chúng ta có thể dùng nó trong i2p ‘miễn phí’) 17:07 <@cervantes> vì syndie không phải một ứng dụng I2P, chỉ là một ứng dụng có thể chạy qua I2P đúng không? 17:07 <jrandom> đúng vậy cervantes, không có phụ thuộc nào vào i2p 17:07 <+Complication> Tốt khi giữ Syndie portable, vì nó có thể có các transport khác ngoài I2P 17:07 <bar> đúng 17:08 <+Complication> Tuy nhiên, tôi cho là chạy nhiều instance hsqldb trên cùng một máy sẽ không khó 17:08 <+Complication> Vậy nếu app khác cần, có vẻ họ chỉ việc dùng nó 17:08 <jrandom> tầm thường, và chi phí 0 nếu bạn chỉ dùng cơ sở dữ liệu in-jvm 17:08 <+Complication> (tốt nhất là dùng instance riêng của họ) 17:10 <+void> không có jdbc driver cho sqlite à? 17:11 <jrandom> không biết, chưa từng dùng 17:11 <+void> à, có vẻ như có *cái gì đó* 17:13 <jrandom> ok, còn gì khác cho cuộc họp không? 17:13 <jrandom> nếu không... 17:13 * jrandom dinws up 17:13 * jrandom lùi lại 17:13 * jrandom lấy đà 17:13 * jrandom *baf* đóng cuộc họp