這幾天沒在 blog,原因是都跑到美西去練功了 :Q
然後練一練就去寫 KKcity 的 code… 目前看起來 semaphore library (用 semaphore 實做 read/write mutex) 的部分沒問題了,要把 bbsd 用到的 code 整個檢查一次 :o
PS:用 semaphore 實做 read/write mutex 的方式我是參考 Implementing a Read/Write Mutex 這篇文章的說明。
I’m part-time working at Skysoft Co, Ltd. This category is talking about some notes in there.
這幾天沒在 blog,原因是都跑到美西去練功了 :Q
然後練一練就去寫 KKcity 的 code… 目前看起來 semaphore library (用 semaphore 實做 read/write mutex) 的部分沒問題了,要把 bbsd 用到的 code 整個檢查一次 :o
PS:用 semaphore 實做 read/write mutex 的方式我是參考 Implementing a Read/Write Mutex 這篇文章的說明。
先定義一下我所說的 Crosspost 與 Multipost。
在 Usenet 上,Crosspost 通常是指一個 Message-ID 有多個 Newsgroups,而 Multipost 是指同樣內容的東西貼到許多不同的 Newsgroups。而在 BBS 上,Crosspost 則是指「轉貼文章」的功能所產生的文章,而 Multipost 則是使用者自己一篇一篇的貼。
要注意的是,如果 BBS 上有轉信,由於 bbslink 不支援 Usenet Crosspost,所以轉出去的 article 都是 Multipost。
然後回到正題… 前幾天我在寫 KKcity 的 code 發現 BBS 的 Multipost 似乎不好處理:KKcity 是直接限制每次上站只能 post 二十篇文章,其中在分站長與板主在自己地盤上發表文章不會計算在這二十篇內。
不過這種方式來擋 Multipost 看起來就很虛,於是就要找一些替代方案,不過我想了幾天沒想到,就跑去找一群不願意具名的長輩們討論 XD
中間討論的過程在 blog 上就略過好了 (有提出來很多實在是笨到不行的方法),直接講最後的做法:五分鐘內只能在五個看板發表文章。(當然,數字可以再調整)
所以你在某個看板上面灌水是沒有問題的 (因為只有一個看板),而如果你是回文章的話也沒問題,理論上看一看文章然後再 reply 的動作應該會超過一分鐘?:p
hmmm,大概先這樣 :p
以後我會把關於 KKcity 的部分放到 KKcity 的 blog 上:KKcity 發展日誌,至於我自己這邊就放一些瘋言瘋語 :p
在 Boing Boing 看到「How much crap is in your P2P app?」提到 EULA 的長度:
eDonkey’s EULAs fill 90 on-screen pages.
iMesh’s EULA is 56 on-screen pages. (I assume this is the version of iMesh from before they shut down). v Kazaa’s EULA fills 182 on-screen pages. The app writes 845 registry keys upon installation.
Morpheus shows you 44 on-screen pages of EULA for its bundle-ware, DirectRevenue.
LimeWire has no EULA and no bundle-ware. If you already have the Java Runtime Environment installed, it also has the smallest install footprint of any of the apps (cuz it’s a Java application).
咦,我應該去看看我們家 KKMan 有多長 XD
這幾天唸 algorithm 剛好念到幾個經典的 algorithm,其中之一就是 O(m+n) 的 KMP algorithm,突然想到 BBS 應該要大量使用這類 O(m+n) 的 algorithm 才對。因為掃一次 pattern 求出 fail function 後 (當然,為了速度要存到 array) 就可以不斷的重複使用。
在 string matching (nist.gov) 有列出不少都是 O(m+n) 的演算法。(當然,O(m*n) 的暴力法一定也會列的啦)
以 M3 (Maple3) 為例,在 ‘~’ 的串接功能,以及 ‘/’ 的中文看板板名搜尋 都應該以 KMP 改寫。於是這幾天就把 KKcity 的 str_str() 換了不少下來,在看板搜尋的部分果然馬上就有感覺。(因為全 KKcity 的看板實在太多了)
應該把 str_str_kmp() 以及 str_str_kmp_fail() 丟出來,接下來 itoc 就會處理了 :p
大家好,1/1 是頹廢的一天,因為沒有寫 blog,所以我要替自己找理由 XD
Continue reading trace BBS code 需要花大量腦力
有人問起 KKcity 跑 Postgrey 的數據是多少,我就直接提供圖片好了:
Continue reading KKcity 跑 Postgrey 的數據
果然上新聞的時候都沒什麼好新聞 :p