programming

Cancellation Error

今天聽莊永裕教授的 Digital Image Synthesis 課時,聽到一個 Cancellation Error 的東西,是個與 IEEE floating point 有關的「數值計算問題」。

投影片上如是說:

Cancellation error: devastating loss of precision when small numbers are computed from large numbers by addition or subtraction.

寫了個簡單的 c 程式親身試驗一下。


void main(){
        double x1 = 10.000000000000004;
        double x2 = 10.000000000000000;
        double y1 = 10.00000000000004;
        double y2 = 10.00000000000000;

        double z = (y1-y2)/(x1-x2);
        printf("%f\n", z);
}
// output:
// # 11.500000

接著我在想,Python 會不會有這個問題呢? 結果試了一下…一樣!! 看來 CPython 的 number 這個 type 真的是用 double 實作的 :o

qing 的「程式碼共有下的團隊開發」

這是一篇文章聊到「怎麼讓程式碼與程式員之間的關係,從原來的一對一擴展成為多對多的樣貌,進而從中獲得好處」的文章,撰文者 qing 是一位非常認真汲汲於 programming methodology 與 java programming 的 guru,同時也是我非常敬愛的新竹中學軟體研究社學長。

文章中提到的 XP,也算是發表好幾年的方法論了,而且我猜,說不定太極影音的 MIS 系統開發組就採用了不少裏頭提到的方法。我在大五參加遊戲設計比賽時,也採用過 pair programming 來試驗成效,大抵來說,的確是減少了一些不必要的邏輯錯誤或 typo,同時 debug 的成效也比一個人埋頭苦幹在十多萬行的 c++ 程式碼裏頭來得快多,但我想 pair programming 最直接的助益,就在於有另一個人和你一樣,對一個系統或一大段程式碼的夠了解,足夠到可以和你討論一些細節或延伸的想法與設計,這大大地讓 programmer 擺脫了「I am programming alone without anyone figuring out what I was/am/will be doing...」,非常有趣的經驗。

最後一段的「讓每個成員寫出一致風格的程式碼」,讓我忍不住想到印度的斯巴達式資訊教育~

Drupal: 許每篇文章一張圖

Daily Pickup | DRAKE因為某些原因,遇見了 Cool Hunting 的某個頁面,它讓每一篇文章都成了一小張圖,然後整整齊齊地擺出來,整個就是好看。於是乎,逛 Cool Hunting 時,不再是依照每一篇文章的標題或是文章摘要(teaser)來決定要不要點進去看,而是這篇文章的小圖有沒有引起你的注意。

圖像化文章列表(photolized list of articles) -- 給它一個命名。

隨後想說,既然 Drupal 這麼強大,應該有辦法弄一個類似的功能出來的吧。著手研究了一下當時(寫出這個功能時,應該是 2007 年的夏天)的模組,並沒有找到類似功能的,有點接近的,可能就屬 Teaser Images@drupaltaiwan)了吧。但是 Teaser Images 只能處理放在本機上的圖片,並無法處理外連的圖片,而且如果圖片是出現在全文裏頭,而不是文章摘要的話,就沒用了…

更新:嘗試寫了一個模組,所以作法變得簡單一些些了:我的第一個 Drupal 模組:Thumbview Field。不過如果你想知道我一開始是怎麼想的,那請繼續閱讀下去,不然,就直接跳到吧。

Syndicate content