2015年12月30日 星期三

畫面更新的正確作法

強者我朋友,陳大師在十幾年前曾經分享一個很有用的概念,就是如何更新遊戲畫面才是對的,用虛擬碼解釋比較快:

2015年11月18日 星期三

談 Raspberry Pi:台灣人你又搞錯了!

很多人談到 Raspberry Pi,往往把重點擺在: 900MHz 4 核心 ARM Cortex A7、1G RAM,只要 35 USD 就能買到這些上。

小弟只能說你們搞錯方向了,Raspberry Pi 的成功絕對不是因為價錢跟硬體有多凶悍。而是他裡面的軟體成熟到了不可思議的程度。

2015年11月17日 星期二

台灣人對軟體的錯誤見解(續)

台灣一些公司把 source code 當成寶貝的商業機密,如果要看權限不夠、沒有主管簽字沒門。

那至於寫出這些 code 的程序員呢?有沒有被當成寶貝?還是用完就丟的軟體工人?這件事好像沒多少人關心!?

2015年9月17日 星期四

從 WaitForMultipleObjects() 談 Windows IO 模型的失敗

WaitForMultipleObjects() 與 select() 的功能很類似,都是用來等待多個 handles 上的事件發生(I/O、mutex、semaphore、IPC...)。站長在這兩個平台也打滾一段時日了,兩個 API 也都蠻熟的,從本篇的分析你將會發現到 Windows I/O 模型為什麼失敗,為什麼很多知名 open source project 沒有 Windows 版本,或是執行效能遠不如 Linux。

進擊的鼓手(whiplash)觀後感

上個月到上海出差,第一天就把事情做完了,剩下的時間除了坐地鐵到市區逛逛,就是在飯店看電影打發時間。

這部電影在台灣時就耳聞大名了,但是不好意思本人是個音樂白痴,小時候最討厭的課程除了體育就是音樂。實在是後來看到沒東西看了,只好勉為其難打開來看,這一看不得了...馬上讓產生了很多想法。


2015年6月11日 星期四

台灣人對軟體的錯誤見解

每隔一段時間就會看到施振榮等大老說今年要投注更多資源在軟體上啦、什麼軟體是未來的趨勢啦...blah blah~

站長 OS:「喔,狼又來了」

2015年6月9日 星期二

防呆機制 vs. 人力素質

如果把犯罪視為一種 bug,社會視為一種軟體系統。你會發現可以得出很多有趣的結論

2015年6月8日 星期一

debug 的奧秘(1)

這裡不會討論 gdb 之類的東西,因為無論是網路上還是市售書籍可說是汗牛充棟,也不需要多一篇來浪費各位的頻寬,要講當然就要講別的地方比較少談到的議題。

總訣篇


不知道各位有沒有想過 debug 除了那一堆零碎的技巧與工具外,有沒有什麼內功心法?有沒有什麼共通的準則讓我們在碰到新問題時不至於手拙無措?

2015年5月29日 星期五

可否證性

某天,本部門最高大的同事在幫忙換完所有該換的燈管之後,發現有兩根新燈管不會亮。一開始認為是起動器的問題,換完啟動器後還是不亮,眾人開始猜是不是電子安定器壞了?

站長建議何不把旁邊已經點亮的燈管換上去試試看?馬上遭到眾人反對,因為大家都認為燈管又沒黑掉,一定是好的。站長因為又沒動手幫忙,不好意思多言。最後大家決定請水電師父明天過來看看。

2015年5月23日 星期六

bug 與考績

以前站長待過景美溪旁某幸福企業,那裡一年要考核員工三次。考核的內容主要由主管決定,當時的主管下了一個很大膽的決定,就是用 bug 數來決定一部分的考核成績,沒記錯的話計分方式如下:

2015年5月21日 星期四

用最少的錢做最多的事


否定的智慧比肯定的智慧更有用
-行為的藝術。



「用最少的錢做最多的事」是台灣人只差在沒刺青在身上,奉行不渝的金科玉律。

這句話不能說完全不對,但若任何事情都照這個準則去作,恐怕是大有問題。

就如同有一點數學基礎的人都知道,要駁倒一條數學定理,你只要舉出一個反例即可。

以下的案例是否可以作為反例?留給各位思考

2015年5月18日 星期一

為什麼要吃自己的狗食

作家王鼎鈞說過,人生有四個境界:

第一個境界:做好事無人稱讚,做壞事有人懲罰
第二個境界:做好事有人稱讚,做壞事有人懲罰
第三個境界:做好事有人稱讚,做壞事無人懲罰
第四個境界:做壞事有人稱讚

2015年5月17日 星期日

為什麼 thread (執行緒、線程)越少越好?

個人至少 15 年前就有 multi-threading programming 的經驗,當時的畢業專題,就是在 Linux 上用 PThread + BSD socket 寫作遊戲地圖伺服器。

在 OS 課程中,站長還特別跑了中央圖書館一趟,影印了一堆冼鏡光老師曾發表於微電腦傳真上,各種跟 Concurrent Programming 有關的作品。

不過這幾年站長變得越來越反對使用 multi-threading(不是 multi-process 喔),至少是盡量少用,為什麼呢?

2015年5月15日 星期五

做一行要入一行

站長欽佩的老前輩 ChamberPlus 一直醇醇告誡站長「做一行要入一行」,無奈站長資質魯鈍,直到這幾年才領悟箇中三昧。

究竟這句話是什麼意思呢?

2015年5月11日 星期一

神通抵不過業力

現代軟體開發大多是團隊合作,免不了需要一些工具輔助,我想下面這些大家都很熟習:
  • 版本控制系統:git, svn...
  • bug 追蹤系統:trac, mantis, bugzilla
  • 企業協作軟體:trello, slack...
我對這些軟體沒有什麼反對的意思,因為我自己天天在用,也覺得這是必須的。

但是我不禁想到,在這沒有這些工具前,難道人類就沒做出過什麼像樣的東西嗎?

程式與數學

「寫程式到底要不要把數學學好?」這是每個程式設計論壇必定出現的月經題。當然,站長的數學功力也不過中下,如同很多台灣人的觀念「你沒當過導演怎能批評電影難看?」、「你沒有博士學位怎能批評博士學位無用?」...這樣以站長的程度似乎也沒辦法說服大家數學的重要性,不過倒是可以分享幾個親身經歷,或是別處聽來的小故事。

壽司幹嘛轉來轉去?

壽司幹嘛轉來轉去?是一本賣的很好的漫畫,講一個負二代接手父親瀕臨破產的成衣企業。從對會計一無所知,到接受名師指導,最後將企業轉虧為盈的故事

是的,這其實是一本會計入門書,除了站長之外大概沒什麼工程師會去讀這種書吧?

你有足夠的覺悟嗎?



大部分的程式書很少會讓人想看第二次,這本可以說是少數例外中的例外,裡面除了程式設計的精髓外,還充滿了各種發人省思的小故事:

換新家

大家好,我是 http://godspeedlee.myweb.hinet.net/ 的站長,因為近幾年工作忙碌無力更新(外加 Hinet 大改版與遺失密碼),想找站長聊天的朋友請在這留言,感謝您的支持!