Calendar

十一月 2009
« 十月   十二月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Categories

傳 pointer 就是 pass-by-value 這件事是要重複講幾遍

台灣真的是太多老師喜歡亂教了,
結果每年都有學生以為傳 pointer 就是 pass-by-address (即 pass-by-reference)。
後來發現初學者常搞不清楚的原因就是被那些星號給迷惑了,
所以把星號藏起來講就簡單了。

意思完全一樣,
只是換一種寫法而已。
會說這個不叫 pass-by-value 的人就減少了一大半,
如果我蓋掉最上面的 define 跟 typedef 那幾乎不會有人說 這是 pass-by-address 了。
所以結論就是一堆寫書的亂寫、教書的亂教,
不曉得這能不能當成商品重大瑕疵要求退書錢或學分費?

這麼多年看下來實在是有點火大。

Redmine 的 Charts plugin (0.0.14) 在 trunk version (r3085) 不會 work

就是去點它的子分頁會出現 404 Not Found 的問題,
這個已經有人 report 了:
http://github.com/mszczytowski/redmine_charts/issues#issue/18

Continue reading Redmine 的 Charts plugin (0.0.14) 在 trunk version (r3085) 不會 work »

mod_passenger 在用 https 協定連 redmine 的時候會出現 error

主要是一些 SSL 的環境變數有 key 沒 value,
詳細狀況懶得去追,
直接去 /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2 找到 Hooks.cpp 做以下修改:

然後執行:
/usr/local/bin/passenger-install-apache2-module --auto
重新編譯和安裝 mod_passenger.so,
最後重新啟動 apache 就可以了。

Redmine 的 Repository Controls plugin

每個 SVN 檔案庫都可以透過 conf/authz 去控制哪些人可以讀寫哪些路徑的檔案,
一般來說如果有在用 Trac 或 Redmine 這類 web front-end 的都會希望能在 web UI 上控制,
不會還想要進到 shell 下做修改,
Redmine 的 Repository Controls plugin 就是在做這件事,
不過它的控制方法有點微妙的不同,
不像之前設 Trac 的時候是直接讓 Trac 指向那個 authz 檔做修改,
而是直接掛 Perl module 去讀 Redmine db 裡的設定來控制存取權,
只是這有一個麻煩之處就是沒辦法直接用 SVN 內建的機制,
寫那個 Perl module 的人要重新實作那個功能一遍。

Continue reading Redmine 的 Repository Controls plugin »

FreeBSD 的 pkg_delete 有時會 segmentation fault

可能是因為 ports 本身有一些檔案沒寫好導致讀到空字串吧,
gdb 進去看 pkg_delete 的 core 檔會發現死在 strcmp() 上,
不知道為什麼五六年前已經有人寫出了 patch 卻到現在還沒修正,
就算 ports 的 maintainer 有東西沒寫好,
套件管理工具本身也不應該直接 crash 掉吧?
每次砍光 ports 做全面更新的時候都會遇上個幾次。

Continue reading FreeBSD 的 pkg_delete 有時會 segmentation fault »

FreeBSD 的 lang/php5 (5.2.11) 是壞的

簡單說就是一個大地雷,
當然如果裝 php5-extensions 的時候不勾 mhash/mysql/mysqli 就不會有事,
但是一勾下去的話無論是 CLI 還是 Apache module 都難逃一死,
在 command line 下直接輸入 php 或 php -v 就 Segmentation Fault 了,
真不知道是哪個天才 commit 進去的,
已經這麼久了還是沒人報也沒人修。

Continue reading FreeBSD 的 lang/php5 (5.2.11) 是壞的 »