Home » Computer » Archive by category "Programming" (Page 87)

Bittorrent 的 Encryption (MSE/PE)

上看到 Bittorrent Encryption 的條目【】,說明最近這幾個月 (Bittorrent) Header Encryption 的故事。

這段故事從 先在 0.60 版實作 Protocol Header Encryption (PHE) 開始講,但是這部份的實作細節並沒有公開發表,所以其他 軟體也不知道要怎麼做。

過了幾個月後 宣稱找到方法偵測 的 PHE (由於 的實作方式沒有公開,這部份應該是使用逆向工程法找出規則)。

再來是 決定自己發展一套規格,後來經過了一些事情,決定與 一起合作。

我剛剛看了一下目前的 Spec 網頁,發現在 2/9 的時候 1.0 版的實作規格就已經定案:,而 2.4.0.0 也成為第一個支援 MSE/PE 的正式版本, 的 Beta 版也有支援部份 Protocol。

Firefox 的 Back-Forward Cache

的 Back-Forward Cache 吃記憶體吃的很兇:這也是為什麼 1.5 跑起來比 1.0 快,但是肥多了的原因之一。

上看到了 討論前陣子 很嚴重的 memory leak,以及其他跟記憶體有關的問題:About the Firefox "memory leak"

在文章裡提到了 Back-Forward Cache 的頁面數目,也就是 about:config 裡的 browser.sessionhistory.max_total_viewers 這個變數。它的預設值是 -1,表示自動判斷。

自動判斷 (-1) 的時候,記憶體數量在 32MB 以下的會自動關掉這個功能 (也就是跟設成 0 一樣),在 64MB 以下 (但是在 32MB 以上) 是 1,在 128MB 是 2,256MB 是 3,512MB 是 5,1GB 以上的是 8。由於這個數字是指【每個 Tab 所存的數量】 (Update:原來那篇文章的作者確認是總量而不是每個 Tab 的數量)【總共要存的數量】,當你 Tab 愈多,記憶體的用量就...

所以在下面的 comment 就有人抱怨了:

Maybe 8 is not the best upper limit?

Do users *really* need to go back 8 times? People usually does back a couple of times but 8....

他說得對,你會天天沒事去 Back 八次嗎?這種事情偶而才會來一次吧?於是我把我的 改成 1:

建議記憶體夠多的人用 2 或 3 就好了,用 8 實在太 (*逼*) 了...

當然,下面已經有人提出建議,用一些算法 (像是 Current Tab 比較多,其他的比較少) 以降低用量之類的,不過那是以後才會看到的事情... 現在這種先這樣用吧。

Maple3 的軟體授權問題

好像每一陣子就會被拿出來講...。

現在大家所看到的 Maple3 並不是 opus (Original author) 或 親自釋出的。而是透過兩個管道流出,一個是從 woju 的 FromZero (從零開始):(Re: NTHU-CS Maple 3.0 BBS ports 計畫展開!Re: 想請 vanilla 幫忙做 ports),另外一個是 放出來的 Maple3 (3.02 版)。

現在大家在用的 Maple3 都是 放出來的版本,這個版本在 ftp://php.twbbs.org/pub/bbs/ 下還找的到,也成為後來其他 Maple3 BBS 主要的來源 (包括了 )。

在 Open Source Community 的部份,目前還有繼續維護的應該只剩下

回到原來主題,有些人宣稱 Maple3 的授權不是 GPL (Ptt2,in2 板),有些人對外宣稱 Maple3 是 Cleanroom Software (有沒有自由軟體的同好呀...),不過,如果用 grep 掃一次當年 所釋出的版本:

gslin@netnews [~/work/bbs/src] [3:55/W4] grep -r '2\.36' .
./innbbsd/Makefile:# innbbsd/Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./bmtad/Makefile:# bmtad/Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./bpop3d/Makefile:# bpop3d/Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./include/bbs.h:/* bbs.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/global.h:/* global.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/modes.h:/* modes.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/proto.h:/* proto.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/perm.h:/* perm.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/struct.h:/* struct.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/config.h:/* config.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/global.h~:/* global.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/config.h~:/* config.h ( NTHU CS MapleBBS Ver 2.36 ) */
./include/modes.h~:/* modes.h ( NTHU CS MapleBBS Ver 2.36 ) */
./bgopherd/Makefile:# util/Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./maple/board.c:/* board.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/cache.c:/* cache.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/edit.c:/* edit.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/mail.c:/* mail.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/xover.c:/* xover.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/Makefile:# Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./maple/bso/Makefile:# Makefile ( NTHU CS MapleBBS Ver 2.36 ) #
./maple/bso/vote.c:/* vote.c ( NTHU CS MapleBBS Ver 2.36 ) */
./maple/bso/chat.c:/* chat.c ( NTHU CS MapleBBS Ver 2.36 ) */
./util/hdr-dump.c:/* util/hdr-dump.c ( NTHU CS MapleBBS Ver 2.36 ) */
./util/mail.acl:110542.3651@compuserve.com SPAM # Jan 12 03:27:54 17 (110)
./util/mailpost.c:/* util/mailpost.c ( NTHU CS MapleBBS Ver 2.36 ) */
./util/Makefile:# util/Makefile ( NTHU CS MapleBBS Ver 2.36 ) #

呃... Cleanroom?

如果你有改過 Maple2 與 Maple3 的 source code,應該還會發現裡面某些 function 根本是直接抄 Maple2 的。如果你有翻 src/lib/ 下的東西,還可以發現某些 BSD license code (但是卻沒有把 license 的部份附上,參考 src/lib/xsort())

這個問題,應該很明顯了吧...

GDB

為了 de 我家小鹿鹿的 bug,被 玩好幾天... 尤其是該死的 memcpy(),為什麼會把 stack 弄爛呢 !@#$%^,這樣我要怎麼往上 trace 啊 -_____-

上的 Hardware Watchpoint 不知道能下幾個... 晚點繼續試 =_=

PS:本篇純粹只是在碎碎念而已...

無名小站的相簿備份服務

這幾天不斷的在練習 ,終於把一個速度可以接受的版本寫出來了,只要 關掉以後,就可以看到下載的過程了,到時候再去其他地方宣傳...

以我的相簿為例,目前的程式 (wretchalbum-zip.pl) 是先去抓這個使用者有哪些相簿,抓完了以後再到每一本相簿的第一張相簿點 "自動播放" 的部分,取得 Javascript 裡面的資訊 (thanks l5n),把這本相簿裡面所有的圖片位置存下來。

最後,用 一次抓所有的圖片,放到正確的目錄下,最後再用 zip 包起來 (不壓縮) 提供使用者下載。

Firefox 1.5 的兩個 Memory Leak 問題

報導了 Firefox 1.5.0.1 修正的這兩個 Memory Leak 問題的詳細內容,另外也討論了其他的 Memory Leak 的問題:Firefox Memory Leak Progress

  • - Leak when selecting.
  • - Leaks due to global scope polluter being removed from not enough (?) prototype chains.

文章中提到了 Leak-Gauge 可以讓進階 (但還不夠進階直接拿 Debugger 殺蟲) 的使用者觀察 Memory-Leak 的情況,目前已經有 19 個人利用 Leak-Gauge 回報了 30 個 Memory Leak Bug... 作者在 comment 裡面似乎很希望 1.5.0.2 能夠把 Leak-Gauge 包進去?

也許該換 trunk 測試看看了...

Update:trunk 並不穩定,我早上換掉以後已經爛掉兩次了...

Archives