PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上

2007年6月23日 星期六

挪威新研究:家中長子 IQ比較高

請看看這則有趣的新聞: http://tw.news.yahoo.com/article/url/d/a/070622/8/g7wk.html

看完之後,如果你的結論是:「呀哈!我是長子,所以我比較聰明,真是辛運。」那就遜了。

長子比較聰明不過是外顯現象,重點是長子通常要 自己學習組織思考,並教導弟妹,因此智商普遍比較高。所以如果你不是長子,你也可以透過思考及教學來讓自己更聰明。

但說到底「比較聰明」到底有什麼好,我常看到的是比較聰明的人活得不比笨蛋快樂,因為聰明人作的事得比別人多,但收穫卻比較少。

使用 Trac 的錯誤示範: Section 1

非常高興,在本文中,我們邀請兩位知名「演員」為我們示範 Trac 的錯誤使用方法,就有請第一男主角:小強、第二男主角:阿蒙,出場!

小強:學長你丟給我的 ticket ,我不太懂是什麼意思耶~
阿蒙:應該是我前天還是昨天 assign 給你的那一個吧!是不是跟寄信有關。
小強:是的,好像是叫我找 python 寄 html 的模組,我不太懂「寄 html 」的意義是什麼。
阿蒙:你記不記得你有收到一封信,內容中的連結是原始網址,像是: http://xxx.yyy.zzz/id/modeule/?pk=32ufjdaddadf 之類的東西。
小強:有大致看過,好像是這樣的。
阿蒙:那是因為我寄出信的格式是 plain 純文字檔,所以無法把網址變成真正的超連結。所以我希望你幫我找到給 python 用的模組,而讓能它寄出 html 格式的信件。
小強:那我知道了。

看倌們!看出問題了嗎?

問題1:小強在 trac 上看到一個不了解涵義的 ticket ,他想要問阿蒙,他選擇的方式不是當下打電話或是在此 ticket 上作 comment 再指派回阿蒙身上,而是選擇記在腦海中,要在某一天遇到阿蒙時「記得」問他。如果還得把「專案開發」時衍生的「溝通工作」記在腦海中,那麼 Trac 就沒有存在的意義,而且用人腦記住也絕比不上用電腦記住來的正確。

問題2:明知道小強應該會不懂你的要求,為什麼不一開始就在 ticket 上寫清楚,還要浪費一次溝通呢!

2007年6月16日 星期六

Ubuntu佔有率低 !?

有人說 Linux 佔有率不高,似乎不是事實,以我們家來說,兩台桌上型電腦、四台 NB 中,灌了四套 windows 、三套 Ubuntu 、一套 Mac OS X 及一套 Fedora 。

但除了內人外,其他人都是不太開 Windows 的。

連我的小姪女也是要用 PhotoImpact 才會進 Windows 。而為什麼她要用 PhotoImpact 呢?因為電腦老師教小學四年級學生影像處理軟體 PhotoImpact ,是的,現在小學四年級要上影像處理軟體,所以你可以知道我們是多早就起跑了吧!我想等她大學畢業後,一定可以利用「影像處理軟體」拯救全世界的,只不過要拯救全世界前,是先要繳錢給友力資訊的。

其實小姪女對 Ubuntu 還是 Windows 是什麼東西,她其實完全沒有概念,所以當我把預設 OS 是調成 Ubuntu 時,她也不會來跟我抱怨為什麼它沒有A,沒有B,反正她能用這台電腦作事、玩樂就行了。而且,我觀察她很多次,當我看到她用 Windows 時,都是在用 PhotoImpact 。為什麼小學老師會教影像處理軟體,而且還是要花錢買的??

今天,我的小姪子(小學三年級)來我家玩電腦,因為我騰不出 Windows 電腦,所以叫他玩 Fedora (其實是我不想給他用 Windows ),他也是玩的很高興,就上史萊姆的家找一些 flash game ,以及和他姐姐講 Skype ,跟到 Gmail 收信,這幾件事就能滿足用電腦的樂趣。

為什麼小學老師不把重點放在網路資訊素養上,光這個內容,小學就教不完了,還要教這種幾年後會被淘汱的東西,而且還要家長出錢。

gnome桌面的「啟動」

有時候,我們想要登入桌面系統後,能自動執行 skype, stardice 或是秀出某個網頁,也就是類似 window$ 「開始」中的「啟動」。那麼在 ubuntu linux 中,我們要到那裡設定呢!

如果你用的是 Gnome(如果你不知道這是什麼的話,那你一定是它了) ,請到「系統」=>「偏好設定」=>「作業階段」中,去新增一個「初始啟動程式」,將「啟動程式」的新徑及引數填入即可。如:
skype 是 /usr/bin/skype
stardict 是 /usr/bin/stardict
某個網頁是 /usr/bin/firefox http://www.google.com/

2007年6月8日 星期五

YouTube真的是很酷的網站

最近在 www.youtube.com 上看了不少影片,都很有趣,這收穫跟網路文章不同。真可謂
To see is to believe(百聞不如一見)。

一顆變速球的投法,用文字再這麼描述,要學會還是很難,但看著人家的慢動作示範,就容易多了;Linux的神奇,講再多,聽也不見得聽得進去,但用看的,就很難不相信了。

而這個 www.youtube.com 幾乎都是用 Python 寫的,這又讓人更感到興奮了。

再次為你獻上 Linux 的特效,這一次會結合觸控式面板。 觀看影片

2007年6月6日 星期三

誰說Vista慢的!

安裝 Vista 也可以很快,只是我們不曉得而已。這點跟作研究很像,人外有人,天外有天,千萬不要說:「這一定作不到…」。

請看看這位老兄的教學片:

Vista install in 2 minutes(兩分鐘內安裝 Windows Vista)

CMClass: GA 演算法

老師出了一題求函數最小化的問題,要我們用 Partical Swarm 求解,它與螞蟻王國演算法很類似,但尚未認真研究。先用 GA 求解。再來用 Partical Swarm 求解。

題目是:

f(x)= (x1/x2)* (sin(x2))^2 + (x2-x1)* cos(x1+10)
where
10<= x1 <= 30
30<= x2 <= 50
考題:
x1, x2 = any real value
try to find the minimum f(x)

我自已寫了一個 GA 物件(請到 https://ssvn.hoamon.info/OpenRelease/GA-0.1.py 下載,帳/密: guest/guest)

而解題的 ConvVar, FUNC 函式如下:


1 def ConvVar(chromosom): #轉換基因組到決策變數
2 variables = []
3 variables.append((int(chromosom[0]*3) + 1)*10)
4 variables[0] += int(chromosom[1]*10)
5 variables[0] += int(chromosom[2]*10)*0.1
6 variables[0] += int(chromosom[3]*10)*0.01
7 variables[0] += int(chromosom[4]*10)*0.001
8
9 variables.append((int(chromosom[5]*3) + 3)*10)
10 variables[1] += int(chromosom[6]*10)
11 variables[1] += int(chromosom[7]*10)*0.1
12 variables[1] += int(chromosom[8]*10)*0.01
13 variables[1] += int(chromosom[9]*10)*0.001
14
15 return variables
16
17 from math import sin, cos
18 def FUNC(variables): #定義目標函數
19 (x1, x2) = variables
20 if x1 > 30 or x1 < 10: return float('infinity')
21 if x2 > 50 or x2 < 30: return float('infinity')
22 sum = (x1/x2) * (sin(x2)) * (sin(x2)) + (x2-x1) * cos(x1+10)
23 return sum

我不太愛收到 .doc / .odt / .xls / .ods 的檔案

看到標題,我想熟識我的人會說,這傢伙又在踢 M$ 的 LP 了。錯!錯!錯!請看清楚標題,我也不愛 opendocument 格式的檔案喔!

通常寄這些類型的檔案有兩種原因:
  1. 內容有趣
  2. 工作上需要,需要撰寫一份圖文並茂的文章。
如果是 1 的理由,那麼「有趣」就是一個滿複雜的課題,轉寄者怎麼知道這內容是對我有趣的,如果他猜錯了,我是不是得浪費幾百KB~幾十MB的空間來放這封郵件,尤其是對某些習慣把信收到本機的人來說,收了3mb的信件後才發現這個東西看過了, X 的,浪費大家的頻寬、時間以及網路閘道器的CPU處理時間,當然這也間接提高了熱能的產生,天呀!還有人不知道「全球暖化」嗎?

如果是 2 的理由,那麼會令人困惱的是「工作流程」。我寫完這文件,先回寄給同事甲,同事甲改好了,再寄給不作事的B同事,然後等了全球平均溫度上昇了 0.000003 度時,才又回寄給我,效率全跑掉了,難怪大家都要喝 Le Power 。

還好, Google 大神知道了我們為難的地方:又想要與朋友分享快樂,又不想被人嫌,又想要圖文並茂的文章,又不想降低工作效率(員工會這麼想,老闆聽到,一定很高興)。

首先你要有 Gmail 帳號,沒有的話去申請一個吧!不用錢,又少圾垃信,空間很大,而且你要申請兩個也沒問題,不問你身份證號,不問你三圍,當然也不問你愛的政客是男是女。

再來,請到 http://docs.google.com/ ,登入你的 Gmail 帳號/密碼,接下來就看圖說話了。

點選「上載」。奇怪的翻譯,通常我們都是說「上傳/下載」的。


點選「瀏覽」。


跳出一個檔案管理員的視窗,讓你選擇本機上的檔案。眼尖的人可能會覺得這個「檔案管理員」的視窗怎麼跟一般人不一樣,沒錯,你的確眼尖,我用的 Ubuntu7.04 ,不是 Window$ XP 。


按下「上傳檔案」後,請稍待片刻,這個時間端看你的檔案及頻寬的比例。


上傳成功後,你就可以在網頁上看到你的文件了,接下來我們發佈給別人看。請按下「發佈」。


勾選「有變更自動重新發佈」。再按下「確定」。


你就可以把這個連結,附在你的信件中了,或許你該在信件內文/標題中大致說明一下這個文件是幹什麼的。如:「健康素食的吃法」、「台中夜市整理」…等。總不會,你還是要朋友點了連結後,才喊 X 吧!


如果你的朋友想看,自然可以點選這個連結觀看,不想看,也不浪費大家的空間及頻寬。

而另外,如果你希望某些人可以對這文件作修改,那麼請點選「共用」,如下兩個圖:


再填入你欲合作的作者 Email 。再按下「邀請合作者」,這樣 Google 就會寄一封信給合作作者了。


任何人在這份文件上的修改,其他人也會同步看到的,別太驚訝!(我老婆就很驚訝)它真的可以,而且這沒什麼了不起,在 Open source 界,大家都知道這不過版本控制器的一個變形。

好啦,如果你想體驗一下,但又很懶的自已作那麼多事,那就點下面的連結吧!裡面有一則好文,是幾百年前的人所寫的,到現在都適用,題目是「稼說送張琥」,我也有劃重點喔。

http://docs.google.com/Doc?id=dgkwg8bx_121cs3rng

2007年6月4日 星期一

Vista為什麼不喝Le Power

日前經朋友的要求,幫他挑了一台 HP Notebook ,在挑選時,明顯地感受到銷售廠商希望把大家趕到 Vista 環境的策略,因為能買到 XP 的 NB 已經不容易了,而且機型比較舊、價錢沒差多少,所以我忍痛推薦他買一台內建 Vista Basic 的 NB 。

到貨後,是我幫他驗貨的,而且在幫他 SetUP 的過程中,我昏了,好像看到綿羊在跳,一隻羊、二隻羊、三隻羊…,似乎數不完。「慢」是我對它的總結。

一台 AMDTurion64( 2.0G), 1G Ram 的機器 + Vista Basic 居然可以跑得比我2年前買的 NB + XP 還慢(我的 XP 也比 Ubuntu 慢),天呀!!我朋友說:「軟體本來就是愈作愈肥的呀!!」可是我用 Linux 的時候,從 Red Hat 7, 8, Mandriva 8, 9, 10, Fedora 3, 4, 5, Ubuntu 6.06.01, 7.04 一路玩過來,只覺得它是愈來愈快、愈來愈穩定、愈來愈漂亮呀!!「軟體愈作愈肥」,似乎不是趨勢,是謬論,是種行銷策略,是種推卸責任的說法。

查了一下網路上大家對這個 Vista OS 的看法,覺得大家都滿有耐心的,會找文件,會打電話問客服,會給它機會試試看,這是好事,透過一個不太好用的東西,增加你對電腦系統的了解,雖然我看到的文章多半是在搔表面的癢,不過是「去那裡抓真正的 driver 」、「先安裝 a,再安裝 b」…之類的解決方案,但畢竟是種進步吧!,把這種態度留在玩 Linux 也是很有幫助的。

這態度我在使用 Ubuntu 前也都是這樣的,有問題找文件,看 Linux 基本觀念、網路基本觀念、動手自已編譯 driver…,但現在不需要了,一方面是觀念我還沒忘,一方面是沒機會,我的 R51 裝了 Ubuntu 後,我只搬幾個設定檔,給 vim 、 screen 、 bash …等用的,其他硬體的部份,如:音效卡、顯示卡、無線網路、3G網卡、快捷鍵…我根本不需花力氣設定及安裝。

2007年6月3日 星期日

手動建立django的password

因為在 django 架構中已經包含了使用者認證,所以要照它的規矩處理使用者的密碼。

如果你想要從資料庫中手動加入一個使用者帳號呢?密碼會是你比較麻煩的地方,但其實說麻煩也不麻煩,你只要遵守 hashtype$salt$hash 這個規則就好了。目前可使用的 hashtype 有兩種: md5 及 sha1 ,而 salt 則是讓 hash 字串更亂的種子。製作密碼的程式如下:

from sha import sha
hash = sha('xxx000000').hexdigest() # xxx 就是 salt ,而 000000 則是使用者設定的密碼
print '$'.join(['sha1', 'xxx', hash]) # 結果是 sha1$xxx$7ff010c44c5ed59a6e1171020f9762313234a1cd

就把 sha1$xxx$7ff010c44c5ed59a6e1171020f9762313234a1cd 貼到資料庫的 password 欄位中就行了。

Related Posts Plugin for WordPress, Blogger...