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

無名小站的相簿備份服務

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

以我的相簿為例,目前的程式 (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 並不穩定,我早上換掉以後已經爛掉兩次了...

無名小站相簿備份服務

無名小站相簿備份服務:

早上整個重寫,把之前那個版本的一些 bug 都解決了:

  • 修正了 VIP 相簿無法下載的問題。(因為 VIP 用的是 http://pic.wretch.cc/,而一般使用者用的是 http://picN.pic.wretch.cc/)
  • 修正了第一面超過 20 本相簿時,不會去抓後面的相簿。
  • 修正了原圖寬度超過 800px 的圖片 (會產生兩份縮圖) 只會抓到 800px 那份。

另外這個版本是直接在 server 上抓好、用 rar 壓縮後,丟給使用者直接下載,不用像以前那樣還要抓 wget.exe 了。

不過要注意的是,這個版本只是「會動」的版本,速度其實有點慢... 不過我想應該也還好啦,如果備份的相簿中張數最多的那個 album 有五百張 (不是全部加起來五百張),抓一次大約要十五分鐘 o_o

下午會改寫成另外一種方式,理論上會比較快...

當然,依照往例,所有的程式碼都可以在 上取得:,如果您有興趣的話,可以到無名的 P_hasname 板抱怨...。

Update:剛剛已經改寫成另外一種方式了,不過好像沒快多少 :o 加減用吧 :p

Update:換 Zip,然後增加 fork() 的數量,看看會不會比較快 :o

Update:剛剛在 裡面挖到 ,晚點來試看看好不好用 (效率...),再來決定要不要換上去。

Update:換網址,換到 http://backup.hasname.com/,準備跟 申請 Disable 的功能。

Update:昨天不小心改爛了 (有些 code 是寫死路徑的,從 hasname.combackup.hasname.com 的時候忘了一起換),剛剛把這些問題修正了。

WordPress 通知郵件標題的亂碼

因為 WordPress 的 wp_mail() 沒轉,mail() 也沒轉 ,底層的 因為不知道編碼是什麼,當然也不能亂轉,於是就... XD

找了一下,在 解决WP邮件通知在gmail中的标题乱码 這篇給了幾個方法,其中不需要額外的 library 大概就是在 pluggable-functions.php 內的 wp_mail() 最後面 return 的地方改成:

return @mail($to, "=?UTF-8?B?" . base64_encode($subject) . "?=", $message, $headers);

我把他改成:

return @mail($to, "=?" . get_settings('blog_charset') . "?B?" . base64_encode($subject) . "?=", $message, $headers);

這樣就 okay 了 :p

PS:其實我不確定能不能 work XD 我是打算 post 一篇,然後測試一下看看標題正不正確 XD

Update:目前看起來跑得很好:

Update:我另外修改了 From: 的部分,這個部分也需要正確的 encoding,同樣一個檔案裡面,把:

$from = "From: \"$blogname\" <$wp_email>";

改成:

$from = "From: =?" . get_settings('blog_charset') . "?B?" . base64_encode("\"$blogname\"") . "?= <$wp_email>";

另外把:

$from = "From: \"$comment->comment_author\" <$wp_email>";

改成:

$from = "From: =?" . get_settings('blog_charset') . "?B?" . base64_encode("\"$comment->comment_author\"") . "?= <$wp_email>";

一樣,先測一陣子看看,沒問題就到 上送 ticket 請他們 patch。

GPLv3 Draft

Open Source 界的大事,GPLv3 Draft 出爐:Welcome to GPLv3

GPLv3 Draft 不知道能不能通過 Open Source Initiative 的認證 (希望不能 XD):

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Update 放了一個比較好讀的版本:

Update新開原碼授權瞄準DRM、好萊塢 ()、GPL 3草案公共辯論開始 ()。

K2

改用

在 Template 裡面包一個 Template,這讓我想到 被幹剿很慢的文章 XD (Templating, the correct way)

對了, 的討論區放在 上 (應該是為了貼圖方便),以後如果發展這類軟體,好像也是個不錯的主意?:p

Firefox 1.5 Memory Leak

依照 sothat 的說法設定 browser.cache.memory.capacity 之後還是會炸,而且居然還超過我設定的上限... @_@

Google 對 XSS 的應對

自從 提到 Javascript 的邪惡之處後 (尤其是 ,Cross Site Scripting),我跟 Blake 學長就把 給裝起來了... 另外一方面,看到一些東西就比較常去思考要怎麼惡搞 :p

在防禦 XSS 這方面,就可以看出 有想到不少細節在做:

  • Blogger.com (Control Panel) 與 Blogspot.com (Template)。
  • Google 的頁庫存檔會使用 IP address 而不是用 "www.google.com"。

很明顯的,無名小站自訂 CSS 的地方...

Try Ruby

首頁上 (旁邊的 Popular) 看到這個:,看起來應該是用 AJAX 的方式將輸入的命令丟給 server,然後再把輸出結果丟出來,於是你就可以在 Browser 上執行 Ruby Command 了 :p

不知道有沒有人做 以及 的...

Archives