2010/11/17

Favicon : 網頁標題列旁的圖示

讓 firefox 的 search plugin 可以顯示那個搜尋網站的 favicon ,對使用時選擇 plugin 有很大的幫助,所以才士著去找到底這個 favicon 該如何從網站上抓下來。


一開始以為 favicon 一定可以從網站的 source code 中找到連結(ex:cdict.net),結果怎麼找就是找不到,沒辦法,只好重新搜尋有關這方面的資料。但很糟糕的是,不知道這個東西的名字叫啥,只知道曾經在 [雜感] 十個給馬總統治國週記的不專業建議 中看過這個東西,就只好用啥 "標題列 logo 網站" 這種關鍵字,很不幸的,這樣子找真的沒啥有用的東西。還是只能去找 search plugin 相關的才找到這個小東西叫啥。

要從網站上抓 favicon,要嘛就經由 web service,要嘛就是直接找相關的 tag 或檔案。

web service:
www.google.com/s2/favicons?domain=cdict.net 
把粗體的部分代換成其他的網站就可以抓出來那個網站的 favicon 了,當然,除了 google 還有其他網站有類似的服務。

相關 tag 或檔案:
找 <link href="favicon.ico" rel="Shortcut icon"></link> 或是直接在網址後加上 favicon.ico(ex: cdict.net/favicon.ico)。

找到 icon 後事情還沒完,如果在 plugin 中直接給網址的話很可能網站改版就不見了,因此我比較喜歡用 URI (The data: URI kitchen)或是下載圖檔,就不用擔心了。

中文 mozilla 參考網站

2010/8/30

動動腦的生活

最近斷斷續續的在想一個問題,"到底我是不是適合做動腦的事情呢?"
會斷斷續續的原因是因為每次想的時候都會不知不覺得就跑題了。
不然就是明明決定要認真的想,但是卻突然一點感覺都沒有,
讓我想不下去,這個問題可以說是有印象以來,最難想的自己的問題了。
但是好在最近因為接了一個案子,作一作後突然有了一點想法,
所以現在就先記錄下來,免得忘記。
預計在兵當完之前這些想法還需要再多擴充些。

從看完"百姓貴族"之後,突然對農家生活感到很有興趣,
看著他描述的生活突然覺得這種生活怎麼有趣的亂七八糟的,
跟之前想像的都不一樣。
後來再多想想後,加上之前的經驗,覺得應該是在無數的重複的日子中發生的有趣事的集合吧。
如果我想要投入這種生活,我是不是能夠耐得住呢?
我猜測這種重複性的日子,需要一直動腦的時候應該不多,
大部分的時候都是只要靠之前累積起來的經驗,就夠完成每日工作了,
也因此,對於這種不需要常常積累新知識的工作是不是比較適合我呢?
像我這樣只不過是做個碩士論文,就覺得總是找不到理想的解法的人,
加上一直對於學習有著一種障礙,常常是靠著記憶力去完成學習,
雖然知道徹底的了解才是王道,可是當自以為自己是採用了解的方式學習後,
過一段時間後,再回頭來看卻總是很不幸的發現原來一點東西都沒留在我的腦海裡。
也因為這兩方面的挫敗,使我真的認真的開始考慮,
到底我適不適合去作需要動腦、需要快速吸收新知並納為己用的工作。

在經過這幾年的學習之後,我很痛苦的認識到,
雖然我能夠在有目標的情況下一直努力的做一件事,
但是卻是缺乏了能夠看出一個東西的其他價值的能力,
也就是說,能照著被教育的、被寫好的要領去好好的運用這個東西,
但是在這個範圍之外的運用,就不大能夠看得出來,
或者是除了這種方式的做法外,雖然也能夠想出一些變化的作法,
但多半是以現有的方式去變化,真的具有開創性的作法很少出現在腦子中。

那綜合上面想的,就會得到說,如果我去做那種不需要具有開創性,
只要能夠好好的照著經驗和學習來的作法作就沒問題的道路,
是不是反而最適合我呢?
但是這樣子的想法也有問題,就是我認為這樣是採用"試誤"的方式來決定自己的生活,
而不是去追求自己想要的生活。之前在咖啡館那還是哪本書裡有看到說,
不要採用這種方式的思考,因為世上的事情千千萬萬種,試也試不完,這種方式不會產生任何有意義的累積的。
加上有看到在咖啡館的某人說,工作決定一個人的生活方式。
所以,我才有了這個疑問,也才開始思考這個問題,
到底我追求的生活是甚麼?我想過著怎樣的生活?我想要我的生活包含甚麼、又不想包含甚麼?
而其中我認為從事資訊業的一個重點就是喜不喜歡耗盡腦汁的生活?
以我目前為止的經驗,寫程式甚麼的,必須耗費大量的精神來構思一個作法,而且常常會有一些細節的問題跑出來,
同時這些問題不見得會有標準解法,常常會被到目前為止的成果而限制做法,若是想採用不同的作法,
有時就會造成整個重來的後果,也因此初期的規劃和經驗就顯得相當的重要。

雖我一直有在想關於自己的問題,但是這樣子的腦內活動到底是不是表示我喜歡動腦,讓我覺得沒那麼肯定。
理由是因為常常可以在網路上看到那種會讓人覺得很有洞察力的文章,
再一些雜誌上也常能夠看到讓人覺震撼的內容,
這些東西的存在讓我覺得,為什麼我的分析只能夠到這麼淺的境界,
若是不能讓分析能力成長的話,那我的成長只能到此為止,
那也就是說,我的腦袋對這種需要腦力的工作也很可能會感到相當痛苦。
也因此思考這個問題也就顯得更加重要,
但是到目前為止,我卻受限於自己的能力而沒法看到更深入的地方,
是讓我覺得很討厭的事情,雖然有種隱隱約約的感覺可以了解到,
不知道哪個地方在抗拒思考這個問題,但是總覺得抗拒這個問題的本身,
其實就有某種意義的存在,但我還不能理解。
而我覺得有抗拒的原因是因為我沒法專心的在走路時想這個問題,
照之前的思考其他問題的情況來看,這種情形其實不該發生的才對。

記錄到這。


2010/8/7

非預想反應

上次騎機車時發現
若是在預想好的路徑上
突然有要走不走的車
即使反應的時間有五秒左右
我還是會差點就撞上他們
後來想想
這也是我的一個缺點
當遇到事情模模糊糊時
我只會照著原定的計畫走
縱使情況一直在改變
而且也有發現到改變
但是仍然沒有跟著情況去修正計畫
我發現在那個時間點時
只有五官發揮作用
整個腦袋是空白的 沒有再思考
造成沒有改變的心理準備 有一種賭一把的感覺
另外就是思考的速度跟不上變化
我歪是因為思考是藉由默說來實行的關係
除非有自言自語的時間
不然我很難得可以在當下有甚麼思考行為
通常都是根據本能的簡單反應


改善的方法說起來簡單 就是不要放棄思考
但是思考的速度和條件的選擇 又是一個需要訓練得事情
之前也有差不多的感想
但是最近的一次體驗就正好說明了 
我還有很多進步的空間
此外
這種情況也常常能夠在運動場上遇到
遇到時都讓我瞬間相當緊張興奮
總的來說
要改掉賭一把的習性
改用更有效的方式去想
老是賭運氣只會輸更多而已





2010/7/28

口試

距離口試結束超過24個小時了
感覺上沒有我想像中的差那麼多
大約也是跟有練習和口委有關係吧

為了口試時的報告
前一天還被老師留了兩個多小時來修投影片
好在沒有修太多主要的部分
主要都是在修 introduction 的部分
雖然是這樣 不過後來還是改了到一點多才改好

其實改到有點想吐了
畢竟同樣的內容一直重複得看還挺累的

到口試當天
大約六七點就醒來了
算算總共才睡了四個小時
心裡是有一點焦急啦
不過還算可以控制的範圍
大約就像平時 meeting 那種程度的兩倍八

再說
該講的內容從早上開始就一直再重複的練習
大約講了三四次
雖然我沒有準備文字稿
每次講的內容都有一些差異
還好還是在可控制的範圍內
但是呢 沒有想得很清楚的內容真的很難講
我第二部分的內容因為我也不確定是不是正確的
其實在要不要寫入論文前還猶豫了一段時間
沒想到老師竟然說沒關係 ㄎㄎ

跟預期中的一樣
在口試之前的的等待時間是最難熬的
被這麼一件事情掛著
同時這件事又關乎能不能畢業
很難不會被這件事影響
雖然想撥點時間去檢查程式
但最後還是在烏拉烏拉中度過 直到口試這天的來到
最後還是真的要說
有練習真的有差
雖然在講第一張投影片時有點卡卡的 腦袋有點空白 手有點抖

之後就好多了 另外就是講的速度也可以比較快
不然原本預計要講四十分鐘的量 被口委規定只能講三十分鐘實在有點傻眼
剛聽到這個要求時 只覺得"哇靠 ㄘㄨㄚˋ賽了 我有四十六頁耶"
好在剩下五分鐘時 已經講到第三十六張了
最後應該是有超過一些 可惜不知道超過多少

口委問的問題比我想像中的やさしい多了
問的還滿客氣的
好險我把提到實驗結果問題的投影片拿掉了
不然我還真不知道要怎麼解釋那種實驗的結果
另外就是 Code Sample 從七頁到只剩兩頁真是太棒了
不然會講到哪時還真不知道

雖然不知道被慘電之後才過會不會比較開心
但是不想再來一次了 XD

另外就是雷射筆最好準備個兩隻
不然甚麼時候沒電還真的是沒個準頭

到今天早上睡醒後其實還有些焦慮的感覺殘留下來
感覺像是後天要口試的那種程度
過幾天後應該就可以真的放鬆了八
另外 在焦慮的時候走一走 打打牆壁真的可以幫助放鬆
這是在口試前的實地實驗結果 XD


2010/7/18

口試前一個禮拜

今天距離口試只剩一個禮拜了
很奇怪的竟然覺得沒啥動力
畢竟論文和投影片都給老師了
等著給老師改
自己也已經把論文看過兩次了(除了實作那部分)
投影片也看過兩次了(除了第二部分沒有實驗數據)
剩下的這點時間還真不知道要做啥才好

結果哩 就跟前十年的我一樣
在大考後 在假期開始後 在選志願時
在一切有閒暇時間但又沒有工作時
又在想 到底我要做啥
升國中時想過 升高中時也想過 升大學時也想過 升研究所時也想過
到現在要準備畢業了 還是在想同一個問題阿阿阿阿阿阿阿~

說實在的 我呢
感覺這個世界其實是有沒有我都沒有差別的
多我這麼一個人 少我這麼一個人
其實一點關係都沒有
說到底就是為了活著而活著
光是為了能夠維持生活就必須花掉人生大部份的時間
我呢 就想啦 要在這麼漫長的時間中能夠活下去果然還是需要點娛樂的
不過所謂的娛樂 光光只是玩遊戲看電影聽音樂等等
毫無生產 只有接受的娛樂
到頭來還是只有空虛的感覺
就像玩魔獸一樣 遊戲結束了就甚麼都沒有了

果然娛樂甚麼的 還是有產出的方式是比較愉快的
最近就在想
其實像我這種頭腦普通 大街上一抓一大把能力比我強的人
又沒有強烈的想要甚麼東西
就是那種覺得自己做甚麼都行的人
想了又想 目前覺得好玩的事其實也是有幾個特徵的
有人討論 有難度 有跡可循 不是表演性質的 做得好會被稱讚的 容許失敗的
應該是這幾點了八
其中第一點和最後一點相當重要 ㄏㄏ
第一點讓事情更有趣
最後一點其實是因為 就我的經驗 不管做啥 最後一定都是沒有達成預設的目標的
每每在完結時再回頭看 就可以看出許多該做未做但是當時就是覺得不需要做的地方
哈哈


寫程式甚麼得 果然還是討論演算法時比較開心
實作時的合作 除非溝通得來 不然還不如自己一個人做
但是自己一個人做又很無聊 沒人討論
果然還是合作才會愉快阿阿阿阿阿阿阿

2010/6/7

實驗數據

每當要 Meeting 換我報告,作報告最繁瑣的地方就是生實驗數據和圖表。為了能夠有些微的說服力,每每必須重覆個好幾十次實驗步驟。偏偏要自動化實驗又必須寫新的 code,若想到別的測試目標就又要寫新的 code,他奶奶的,為什麼要實現想法要經過這麼多的步驟呢?


我常想,如果能夠找人來幫我寫 code 的話那該有多棒,我只要負責想就好,不必去花費精神和時間到實作上,只要等人幫我寫好候我再看 code 或寫到有問題時再來討論的話,做論文的速度就快多了。

2010/6/5

在Visual Studio 中加入ILDASM的分析器

Tool -> External Tool -> Add


Title : ILDASM
Command : C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe
Argument : $(TargetPath)
Initial directory : [keep empty]


to check :
Use output window
Treat output as Unicode

CIL初心者體驗

想為碩論的程式跟參考的SXM做整合,他奶奶的,CIL真是難搞到爆。

感覺就像回到第一次寫程式一樣,連宣告個 local variable 都戰戰兢兢,不曉得對錯;而且搞最久的地方竟然是因為要 generate dynamic type 時必須另外開一個 Assembly file,然後呢,他奶奶的,這個 file 就像是在不同 namespace 的行為一樣,新的 dynamic type 竟然不能使用預設的 Assembly file 中的 private class。

機車,如果這是直接寫成 code ,老早就被看出來了。莫名其妙的跟 Assembly file 扯上關係,造成我的知識不夠去了解出錯的原因是啥,說不出的討厭,明明就寫了至少四年的程式,感覺像被當新手耍了一樣。

要不是我對 command line 的環境很度覽,加上 garbage collection 實在是 memory management 的救星,他奶奶的,我也不想再多學一種新語言,多研究演算法才是王道阿。

2010/4/3

小時了了

在我國小時,不知道為啥我的功課都做得還不錯,名次都在前10。不過就因為這樣,被安親班的人取了個綽號叫"小博士"。雖然那個時候我認為我應該是表現的不在乎,不過現在想想,那個時候應該多少還是有點得意吧。

因為國小的得意,加上從小被教育成不要突出,和個性被養成內向的關係,另外就是很不喜歡被發現自己其實不懂,養成了一個壞習慣就是喜歡裝不懂。明明是知道的東西,卻裝作不知道。明明是喜歡的東西,卻裝成不喜歡。前者讓我只能掌握自己了解的部分,後者讓我失去掌握自己想獲得的部分,結果兩者相加的情況下,我就變成了一個一窮二白的窮光蛋。

 這樣的情況一直持續到了國二上所謂的資優班 ( 因為很剛好的剛剛好是校內的第一百名 ),我有一天才突然醒覺,原來我不再特別了。但是這樣的壞習慣還是沒有改過來,仍然是那個怕丟臉內向的小孩,每次都想要改變,但每次檢驗的機會到來都還是逃避掉了。

結果,在上了高中後,竟然開始怪罪家人,認為是他們沒有採取正確的教育才會造成今日的我。但是再經過這幾年的生活後,我慢慢的發現,其實,我才是那個造成今日的我的源頭。

這個缺點演變到今天,變形成了一個很怪的東西,乍看之下是跟懶惰是一樣的東西,其實他已經轉變成是一種離開的感覺。一件工作或正事放在眼前,我認為的懶惰是知道自己應該去做,但是卻跑去玩,因為覺得很麻煩;但我的狀況是,我也是知道自己應該去做,但是卻跑去玩,因為覺得我完成了會顯得我很厲害、很認真,這樣就違反了我不想太突出於人群的想法,故意等其他人完成才匆匆忙忙的完成,這樣就可以顯得我呆呆的,不會被大家視為異類。

結果到頭來,我變得越來越懶惰了, 終於發現,原來世界上有能力的人何其多,我只把眼光放在我的身旁,實在是淺薄到一個境界。又很不巧的,我很不喜歡跟別人討論東西,那時因為年紀小,不懂得如何討論,也羞於揭露自己的情緒,加上大部分的人都會跟別人說他從別人那聽到的東西,讓我覺得相當的受傷。我很不喜歡自己在某個情境下的情緒被別人知道,感覺就像是秘密被發現了一樣。

結果我變成了不知道如何投入熱情和該投入哪的人。

我想我現在該做的事是矯正那扭曲的自我安慰思想。




搬家



Lab搬家時碰到一件蠻震撼的事。看到夥伴把兩個 LCD 塞進一個原本式設計成只能裝一個 LCD 的箱子,感覺就像是甚麼東西被打破了一樣。

原本呢,LCD 剛買來就是一台一個箱子,裡頭保護用的保利龍也是剛好塞滿。不巧,我的箱子不知道甚麼時候被甚麼人丟掉了。那個當下我只想到要麼就找一個箱子,要麼就是這樣光溜溜的搬吧。但是夥伴卻開始把保麗龍東拆西凹的硬是把兩台 LCD 裝進去,當下只覺得,原來,東西也是可以這樣用的。不拘泥於現在的情況,不被原本的設計侷限,不怕不可逆的破壞,不怕原來使用那個箱子的人會生氣。


我考慮的點,

1. 要把 LCD 裝箱。
2. 箱子原始設計的保護程度是必需的。

但是夥伴看來只考慮,
1. 要把 LCD裝箱。
2. 要有箱子保護。

我想,我還不懂得權衡輕重。有些時候就是只能達成最優先的目標。想要第二,第三優先都要達到,反而會使得最最重要的第一優先無法達成。



2010/3/19

討論與價值觀

"ricebug,
大絕二號其實已經有館友低調地在咖啡館放過了......
不過關於這個大絕的放法,我覺得誰用"全部都該死"或"全部都不能死",誰在論述上就居於不利地位。如果我替反廢死者放大絕,我會改成:"難道你覺得這44個人裡面,沒有一個該處死嗎?"
不過,這還是要看我們認為死刑的目的是甚麼。如果是"永久與世隔絕",那麼這有得往下談。如果是因為要貫徹某種我們認為不可侵犯的"為死者討回公道"的優先價值觀,那討論真的就只能到此為止,再談下去並沒有意思。從這個意義上來說,這個說法可以算大絕。
Posted by lakatos at March 17,2010 22:20"

咖啡館的一則留言,這句話算是有解決到一個我一直以來的疑惑。當討論一個問題時,在看似雙方皆有合理的理由時,以至於不可能有共識時,就要懷疑是否已經牽涉到─像紅字那句話一樣─根本的原因是在不可侵犯的價值觀,照咖啡館的說法,也就是所謂的宗教信仰的問題。

當設定好一個問題討論,若碰到完全沒共識時,也許就是需要回頭檢查造成對立的言論是否就是從“價值觀”產生的。若是,則討論決對沒得繼續,不可能強迫他方接受我方的價值觀,只能重新定義問題,更仔細的考慮問題討論的方向。

拿這則留言來說,對死刑這個東西就重新定義它存在的價值為何。從這裡讓一直以來迷惑的我醒悟到,原來光只是藉著定義東西存在的意義,就能大大的改變對東西的想法。也就是問題中包含的東西,東西的價值是如何決定的。但是決定一個東西的價值,依靠的當然是價值觀。但是這種價值觀,是不是建立在一種不可侵犯的態度上就決定了討論是否可以進行。

拿廢核這件事當作例子,當初我國中對這件事真的是完全拿不定主意,一方知道核能發電可以帶來多大的效益,另一方面也知道可以帶來多大的損害(雖然兩方的意見都是從報紙電視上得來的)。好巧不巧,剛好要寫一篇"核能發電之我見"(類似這個意思)的作文,我只想到把聽到的通通寫到紙上,然後拿了個不好的分數,原因是沒有一個觀點,沒有自己的思考結果這樣。

放到現在來說,我就可以想到,發電會爽到的是誰,廢料會害到的是誰,我們是不是可以讓有爽到的人去負擔成本,或者是,讓被害到的人,獲得足夠的補償,讓他們能夠有能力選擇或者是願意承受。而不是一味的想"我不能..(甲方意見)..但是,我也不能..(乙方意見)..",這根本就想不下去,一開頭就是死結。

感謝咖啡館的先進們。





2010/3/18

順序與方便

跟實驗室夥伴們一起去簽選課單,同樣是經過過相同事情的人,但是客運兄表現得像是第一次簽一樣。石頭兄就比較記得應該怎麼做,甚麼該簽,甚麼只是登記,甚麼應該保持原有的順序。但是這裡有個問題,因為單子只是放在桌上沒定起來,這時,對我們來說最方便的就是看到就抽出來,而不是輪流找再輪流簽,而是看一個抽一個。但是對之後的人來講,前面的人最好是都不要動到單子順序。

看來負責的同學應該是沒有經驗,也沒有注意細節,他大可以分成兩落,一落未簽, 一落待簽,既可以讓後簽的可以照著編號找到,也能讓要簽的人,特別是一夥人,可以比較快的完成。唯一苦的就是若是上面有交代,他之後必須再自己重新排序。

對他來說,也許他會寄望簽的人會自己乖乖的一個個來,省的他要再排一次。不過,對到我們這種也是只求自己方便的人,他勢必還要再排一次。所以,到底是應該弄個標語,提醒大家如何如何,監視來的人有沒有照規矩;還是大家方便,自己也知道必須負擔給大家方便後的辛苦?

我想,我會選擇辛苦但是辛苦時間短的方案,因為監視本身就是一種負擔了。



2010/1/12

回傳 this.variable 和 base.property.get 的方式



假設有繼承 A 的兩個 class,B 與 C,使用宣告在 class 中的 field 與 繼承來的 field,呼叫的方式不一樣在哪?

宣告在 class 中的 field : load field
繼承來的 field : call parent instance

    public class A
    {
        int a;
        public int Value
        {
            get { return a; }
        }
    }

    public class B : A
    {
        int b;
        public int Value
        {
            // IL_0002:  call       instance int32 ConsoleApplication4.A::get_Value()
            get { return base.Value; }
        }
    }

    public class C : A
    {
        int c;
        public int Value
        {
            // IL_0002:  ldfld      int32 ConsoleApplication4.C::c
            get { return this.c; }





            //  throw exception : stack overflow
            //  get{return this.Value; }
        }     }