發表文章

文章總列表

假日藍芽工程師, 架設環境

圖片
因為運動的關係,我迷上用藍芽4.0低功率規格(BLE)。 我把小米手機刷了Android 4.4好支援這個規格,還買了藍芽心跳帶。我發現這個心跳帶剛開始都不準,想知道藍芽是怎麼回事。研究的平台選用最近買的玩具,Raspberry Pi (RPi),究竟這東西是有趣又好玩還是折磨自己,等等就知道了... ---- 環境架設 Linux的藍芽堆疊棧是bluez,這是Qualcomm贊助的一個計畫,還是官方的Linux Kernel driver。不過有趣的是,Google和Broadcom合作的Bluedroid從Android 4.2開始取代了bluez。假日工程師選擇成熟的方案,bluez。 Raspbian內建的bluez在2014/9/28依然很舊,所以 網路文章 建議到官網抓新版的 bluez 。我抓的是5.23板,雖然RPi能跑gcc讓我驚豔,不過拿它來編譯程式,那個速度終究是原形畢露了(笑)。不管怎樣,我還是把bluez裝好,而且愉快的把環境準備好,準備開始做實驗。 Command list of get bluez     mkdir blue     cd blue     wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.23.tar.xz     xz -d bluez-5.23.tar.xz     tar xvf bluez-5.23.tar Command list of compile & install bluez     cd bluez-5.2.3     ./configure --disable-systemd     make     make install Install gatttool to the system     cp bluez-5.23/attrib/gatttool /usr/local/bin/ ---- 火力展示 ...

我買了第一片Raspberry Pi

圖片
下面這台"電腦"叫 Raspberry Pi Model B+ , 是我的新玩具, 大人的樂高積木 故事先回到這個週末, 身為假日電機工程師的我, 本來想買 Intel Galileo . 不過Raspberry Pi的使用者遍佈全世界, 有問題大多都找得到答案, 而且軟體更新大概3~5年內不是問題. 雖然我很想擁有Pentium 133加強版, 最後我還是買了Raspberry Pi. 接上行動電源, 照著 投影片 安裝 , 無線鍵盤一開機就通, 無線網路設定也很簡單, 沒多久我就接上電視看youtube了. 上頭跑得是Linux, 所以我很自然的寫了Hello World, 看他執行起來反而有種違和感, 該怎麼說呢, 這東西也可以編譯程式耶... 另一個面向是當8051用, 一般嵌入式開發環境都很困苦, CPU跑不快, 記憶體也不多. 平常是先寫個C or Assembly來點亮LED, 打通和世界溝通的環境. 這回用高速CPU (700Mhz), 很多記憶體 (512MB), 高階語言(Python), 然後只拿來控制GPIO, 只能說太過癮了 (笑) 對我來說, Raspberry Pi連接了兩個世界(電腦 & 嵌入式開發), 大砲打小鳥無疑很浪費, 不過拿來做各種有趣的事似乎變得簡單又有趣. 我開始可以理解為什麼這東西會在全世界盛行起來了.

Intel Galileo

圖片
今天颱風天, 不知道為什麼手很癢, 到了良興電子去採購 目標是是想買Intel Galileo這片板子 上頭的CPU是 Intel Quark SoC X1000 (16K Cache, 400Mhz) 為什麼突然想買呢? 這顆core很接近小時候的Pentium 133 (P54C) 那時候的P133使用600nm (0.6um)的製程, 賣得真是不便宜 (>5000) 最後因為預算, 就買了Cyrix的CPU回來裝, 想想是好久以前的事了... Intel Quark就是P54C的core, 搭配現在的32nm製程 600nm -> 32nm, 真是驚人的微縮幅度, 速度也上了400Mhz 我想買的原因, 大概是想一圓小時候買不起的P133吧 (笑) 不過最後結賬時, 我拿了Raspberry Pi, 這又是另外一個故事了 XD ---- It was typhoon day and I was forced to stay at home. I don't know why, but I just wanna buy something. So I went to 良興 electronics in Hsinchu NOVA. The target was a electronic board "Intel Galileo". It equipped Intel Quark SoC X1000 (16K cache @ 400 Mhz). Why did I want to buy the board? Because the CPU-core is similar to Pentium 133 (P54C) as I was junior high school student @ 1995. The processor was made with BiCMOS node at 0.6um (600nm). The price was too high (>5000NTD) for me to afford. I want to a new computer badly at the time. Eventually, I bou...

關於清宮生男生女表

圖片
因為老婆懷孕的關係,最近我又知道世界上存在一張神奇的表格,能藉由母親年齡及懷孕月份得知胎兒性別,這張表格叫清宮生子表。一堆太太在一塊,就會有人說這張表格多準多準。像 星座 一樣 ,我又準備了一個思考實驗。 生男生女的機率,大概就是一半一半,所以就算隨便亂猜,準度就是50%。所以我可以弄一張 畫虎爛生男生女表 ,內容丟硬幣決定。故事可以亂掰,例如瑪雅文化古文明判斷的依據之類的(難怪這個文明消失嗎)。如果覺得用年齡太遜,也可以改成十二星座搭配十二生肖再配上受孕當天農民曆作為判斷依據,反正多丟幾次硬幣就可以製作。當然講究一點,我也可以找個清朝的硬幣,增加它的準度。 因為瞎掰的準度就是50%,所以預計會有一半的孕婦被我的畫虎爛表格猜中;之後還會有25%的人被我連猜中二胎,我果然是預言大師(笑)。我猜這些猜中的人會大聲嚷嚷,說這個表格多準多準,沒猜中的人就一笑置之,畢竟是畫虎爛表格咩~ 女士們聚在一起時,有太太說這張唬爛表超準的,其他人可能也不好意思當面反駁。這個現象顯示,可能大聲嚷嚷的聲音(猜對)遠大於不說話(猜錯),所以 表面上 好像社會大眾都覺得它很準,其實也只不過是覺得不準的人沒有發聲。所以我的命中率始終不差(50%),一直就有人相信他超準的,並且幫我廣為宣傳。 結論 在我的思考實驗裡,證明了人人都可以製作生男生女表,而且準確率高達50%。因此清宮生男生女表,果然值得大家信賴呢!!

關於星座

圖片
一直以來, 我都完全不相信星座, 但是我發現我錯了 似乎依照出生日期對人類的性格分類, 好像有某種準度 但要我相信那麼遙遠的火球(星星), 對人的性格有影響, 我覺得是扯謊的 所以這篇文章我要解釋, 為什麼星座可以信賴, 透析背後的道理 ---- 首先講一個小時候作業簿的故事 (圖片來自網路) 這樣的標語, 確實有洗腦的效果, 我相信很多人看了, 就知道要做堂堂正正的 中國人 人類看到的資訊, 有時候就這樣不經意的 刻劃 在潛意識裡... ---- 我在很小的時候, 第一次看到所謂星座的說法, 他列出不同星座人的性格 這個說法看起來實在是毫無根據, 但是我就是 看到 他了 就算不相信, 也是不經意的就記下來... (尤其在很多地方都會看到這類的鬼話) 然後在長大的過程中, 逐步讓自己變成這樣的人, 其實這也是某種程度的自我實現吧 所以如果做某種思考實驗, 讓一群人相信獅子座(7/23~8/22)和水瓶座(1/21 ~ 2/19)的日期交換 那這群出生在八月的獅子們, 表現出來的性格大概就會很水瓶吧 (笑) ---- 所以最初發明星座的人, 也許是穿鑿附會, 拿身邊的人統計, 歸納出某種結論 這個結論可能充滿偏見, 或著根本胡說八道, 但不管怎麼樣大家就是 信了 因為娛樂效果十足, 還廣為流傳, 接下來這樣的偏見透過上述的方式, 影響一代又一代 最後人類就真的把自己放到12個象限, 歸屬在某個框架裡 接下來這個偏見還有人出書, 還有星座專家解盤 為了讓這門"學問"更加豐富, 還發展出上升, 下降, 月亮多種(胡說八道)的維度 因為後面過於複雜, 相信的人少, 所以準度就大幅下降 因此星座當然可以相信, 但是原因絕對不是那團遙遠的火球 而是身邊各種鋪天蓋地的星座解盤, 把這些意識植入倒潛意識裡 最後就真的把自己放入某個框框裡了, 所以星座會準的原因其實來自人的潛意識... 但是人還是複雜的, 這麼複雜的東西使用12個dimension分類未免太武斷 一種可行的策略是, 透過出生日期大概勾勒某個人的性格 (多少受到潛意識影響) 剩下的還是仔細的觀察, 畢竟人是複雜的生物

Cortex-M3 vol.2 架起最小環境

上一篇 提到我最後選了KEIL當作開發環境, 這一篇想講怎麼建構最小開發環境. 玩開發版, 我的習慣是讓LED一閃一閃亮晶晶, 看到一閃一閃, 好像我的未來也跟著點亮了 (嘴砲). 要讓LED亮暗很容易, 塞個boot-up code, 再塞個main function, 不過就是控制幾根pin腳的high-low, 翻一下data sheet以及schematics, 這件事可以輕鬆達成.  以前小時候, 我喜歡什麼都自己來, 比如說自己寫一個LPC17xx.h, 照著register address刻一個出來; 或著看了Cortex-M3的手冊, 自己去編一個對應的header file, 以及操作的函數. 這樣做的學習曲線陡峭, 可以學到超多東西, 但是對於生產力實在沒什麼gain.  所以我這次想仔細研究, 世界最好用的MCU開發環境, 他們是怎麼幫助user做這些事. 如果KEIL幫我搞定很多東西, 那我要怎麼使用, 不要硬是自己來. 底下列出一些note Keil/ARM/CMSIS/Include/core_cm3.h ARM編寫了所謂CMSIS library, 裡面有Cortex M3共同register一些structure definition. 這種東西有高手幫忙寫了, 一定比自己跛腳的版本好. 這個檔案有時候會需要去參考, 所以需要知道它放在哪裏. Keil/ARM/INC/NXP/LPC17xx/LPC17xx.h 這個檔案會去include CMSIS的header file (也就是core_cm3.h), 所以平常使用, 其實我們都只是include LPC17xx.h. 另外這個檔案也包括LPC17xx系列專用的registers定義. 這邊就顯示KEIL開發環境的價值了, 一堆MCU都有現成的定義在裡面, 拿來就可以用, 不需要像我小時候一樣辛苦.  另外在KEIL環境裡, 這個檔案Compiler會自動幫忙找到, 我猜是IDE幫忙設定include search path. 以前我會很堅持要把這個檔案拷貝出來, 放在自己的project底下. 現在我是覺得, 反正KEIL都有一套完整的方法維護這一切, 那就放開心胸的使用吧~ ...

關於提案被打槍

我上班的公司, 新人滿一個月處長會約談聊聊工作狀況, 性質主要是閒聊. 當時處長提到, 有想法就要提, 要勇敢的提, 不要怕被打槍. 當時我不大懂他的意思, 隨著我提proposal的次數便多, 終於瞭解處長的意思... 提案人召集會議報告想法, 然後接受 無情的 review. 有時候就是沒有想完整, 無法回答同事的問題, 回去再仔細想過, 經常可以發現更漂亮的解法. 所以提出想法被打槍, 不等於自己被否定, 畢竟人很難一開始就想得面面俱到. 關鍵是透過這個過程, 精煉自己的想法. 在這個過程裡, 不夠成熟的想法也會逐漸收斂, 漸漸變得全面. 所以處長的話我現在懂了, 有時候就算知道會被打槍, 會覺得不舒服, 還是要提出來. 有時候真的沒有人知道答案, 如果不在黑暗中開槍(某個人提案被打槍), 就沒有亮光去搜尋答案. 這個過程真的不舒服, 感覺很像自己變成火柴棒燒起來, 也難怪處長說不要怕被打槍. 這件事另外一個關鍵是, 同事之間有對事不對人的默契, 這樣才能進行健康的討論, 逐漸找到答案. 但是提案被打槍這件事, 始終還是不舒服就是了...

小米2s, 刷機note

[我想做的] 小米手機一直都沒有升級Android package, 停在4.1.1 這件事其實可以理解, 因為他算是深度訂製, 換版會有大量的修改要做 所以在4.1.1堪用的前提下, 當然是能用多久就用多久 But, 我想在小米手機使用藍牙4.0, BLE, 的心跳帶, 需要Android 4.3才能用 好在小米手機的開發者眾多, 我隨手就找得到三個版本的ROM可以用     - AOSP     - CM10.2     - MoKee 目標是在手機上的雙系統, 一個跑MIUI, 另外一個跑上面的ROM (ps. 這些開發者好像也快要切到Android 4.4繼續開發了) [先備份] 不得不推薦小米手機助手的備份功能, 在MIUI底下連線後點備份 所有東西都會備份到PC底下, 包括電話簿, APP, 簡訊, ... 在做任何操作之前先備份, 可以永保安康 [雙系統] 小米手機允許安裝2個ROM-package, 比如是我這次玩的Android 4.3 + MIUI 不過小米原本的系統比較像是備援, 在升級系統時, 會先把目前系統備份到另外一個系統在升級, 這樣就算壞掉了, 還有一個可以用 所以如果目前是用sys1開機, 就會先備份到sys2, 反之亦然 要安裝雙系統, 就要打斷上述的連結, 手段是CMW-recovery Google keyword: "CMW recovery 小米2s", 找一些文章安裝他 安裝好之後關機 進入recovery的方法, 按住電源鍵以及音量向上, 等到mi的icon出現後放掉電源鍵(音量還是按著), 這樣就會進入recovery mode了 Recovery裡有很多功能, 建議每個選單都大概看一下, 刷機之前都要做三清, 也在選單裡 目標是高級功能/ 開啓雙系統共存, 打開這個吧 !! [確定MIUI還可以開機] 確定要用雙系統之後, 要切換系統都要進Recovery mode 我是把Android 4.3裝在sys-1, MIUI裝在sys-2, 先進入sys-2看看 如果因為任何原因, MIUI進入以後空...

我的日本所見所得, 關於上班族

在台灣當工程師, 我幾乎是天天T-shirt + 牛仔褲 + 拖鞋 在前一間公司(比較美式作風), 我的夢想是穿著海灘短褲 + 花襯衫 不過我只看過CEO穿短褲來上班, 沒穿上花襯衫, 夢想就一直放在心裡了 (笑) 所以穿著到底重不重要, 其實我沒什麼感覺, 畢竟是動腦袋在工作 我偶爾穿襯衫, 看起來帥氣一點, 同事還會問是不是要去約會 這邊的人覺得, 不要太誇張, 其實都還好 在日本則是不同的光景, 上班族幾乎都是襯衫 + 西裝褲 + 皮鞋 我在旅館還看過日本客人, 和櫃檯要燙衣板 注重穿著, 給人舒服專業的感覺, 是這個國家給人的氛圍 我相信不是每個人都刻意這麼想, 而是在這個國家, 這樣做似乎是理所當然 我還滿喜歡日本的這個文化, 反正出門穿什麼是有規定 像我這種不注重穿著的人, 有人叫我怎麼穿, 反而可以減少腦力消耗 但制服最好不是襯衫, 要燙還滿麻煩的, 還得把衣服紮到褲子裡, 再搭上皮帶 所以我想要有制服, 又希望這套制服穿起來舒服, 不用花太多功夫去照顧 (啊就都給我講就好了) 想到這邊, 我還是喜歡這邊自由自在亂穿的氛圍

投資工具pk

之前閱讀 台北市房價崩跌只是時間問題 ,  global property guide 統計台北市的租金報酬率1.57% 另外一篇新聞, 提到 淡水租金報酬率有5.8% 我是個喜歡收租金勝過賺價差的人 評量的基準是, 分析收幾年才能回本, 檢視一些投資工具... ---- 1. 當今的定存利率大概1%, 100x 2. 台北市的租金收益率, 1.57%,  64x 3. 一般的儲蓄險, 鎖現金流, 利率約2%, 50x 4. 我的房東隔3間套房出租, 一年賺24萬, 想賣750萬, 報酬率約3.2%,  31x 5. 淡水的租金報酬率有5.8%, 17.2x 6. 全國電子股價69, 2013年配息4.9, 報酬率7%, 14x 7. 我的持股, 2012年的股息收益率約8.76%,  11.4x ---- Comment 雖然會被通膨吃掉, 但是定存依舊是我的最愛, 比起投資賠錢, 通膨相對還好 另外一方面, 持有足夠的現金也是我能長期持有股票的信心來源 儲蓄險只適合錢放在手邊, 不花掉會難過的人 以投資來說, 卡現金流, 利息又低, 保險公司還拿去炒作房地產 我不認為這東西有任何的"投資價值" 我看待房地產其實很嚴苛, 租金的收入要能完整cover房貸才會想買 不然這玩意兒金額大, 有跌價風險(現階段不小), 需要去借錢(貸款), 還很難賣 這玩意兒要賺價差其實還滿難的(要另外投入時間做功課) 結論是, 我也完全不考慮房地產 股票一直是我的最愛, 金額小, 容易變現, 收益率高, 長期持有的報酬率真的很不錯 缺點是價格波動的很劇烈, 操作上其實也不大容易(如果想要短線進出) 然後選股也需要相當的學習, 這大概是一些進入的門檻

道道指令皆辛苦...

從前讀ARM instruction set的時候, 覺得CPU提供一大堆addressing mode很煩 那時候想說, 反正就是多一道兩道指令, 何必這麼辛苦? 最近有機會提CPU enhancement proposal, 需要仔細review C code和assembly code 舉例來講, C code可能長這樣...     WRITE(ADDR, 0xaaaa) 首先是寫constant的部分, 需要三道指令才做得完     load #ADDR, r0     load #0xaaaa, r1     store r1, [r0] 接著我們就會想, 如果可以直接把constant塞到instruction的話 就可以少一道指令, 也可以少用一個register     load #ADDR, r0     store 0xaaaa, [r0] ---- 接著繼續思考不同的C code...     WRITE(ADDR, 0xaaaa)     WRITE(ADDR+1, 0xbbbb) 把上面的enhancement拿來用, 會變成這樣...     load #ADDR, r0     store 0xaaaa, [r0]     add r0, #1     store 0xbbbb, [r0] 如果遇到連續的address寫入, 這樣就會多一道中間的addi, 看起來有點討厭 如果讓store做完的時候, 同時把address pointer +1, 這個問題就可以被完美的解決     load #ADDR, r0     store 0xaaaa, [r0], #1     store 0xbbbb, [r0], #1 這樣一來, 除了第一道指令載入address, 剩下都可以1cycle寫一筆出去 ---- 然後接著...

Cortex-M3 vol.1 開發環境

圖片
每次拿到新板子, 其實都有一道天險: 架環境 因為一件事通常有多種方法能達成, 開發者必須做選擇 教學的文章很多, 但是寫出為什麼這麼做的文章比較少 我想在這篇文章列出我做的選擇, 還有可能的選項, 以及我為什麼這麼選 ---- IDE(Keil) vs command line(GCC) Keil 開發環境的部分, 我使用Keil ARM, 這套toolchain從8051時代就很紅了, 簡單好用 後來他被ARM買下來, 等於是官方版的IDE 在網站上有試用版可以下載, code size最大可以用到32kb 我買的開發板附的光碟就有Keil ARM (當然是盜版), 真的是不怕被抓耶 (暈) 我想ARM真正的目標是推廣CPU, 建立eco-sys, 所以提供開發工具只是剛好而已 我在官網抓了試用版, 裡面包括大量的範例, device database, startup code, header files 這套開發工具真的幫開發者做掉很多事, 內建的simulator也非常好用 初學者建議用Keil, 在google打上關鍵字, 很快就能找到解法 我的目的是儘快搞定開發環境, 所以我選擇用Keil Command Line 另外一條路是直接面對所有的細節, 撰寫Makefile直接呼叫armcc or gcc編譯程式 自己規劃memory map, 寫在linker script裡 產生出來的ELF檔, 再自己透過read_elf抽出code/data segment, 然後下載到IC裡 走這條路, 閱讀文件大量文件能培養英文閱讀能力, 還能知道為什麼要這麼做 做到這樣以後, 看懂IDE裡, 每一個option的意義其實還滿爽的 我一直覺得搞定toolchain也是重要的能力之一, 因為IDE隱藏太多細節 如果走這條路, 我推薦CodeSourcery出的gcc toolchain, 商業公司品質有保障卻可以免費用 ---- JTAG 沒有JTAG的時候 一般單晶片都可以透過COM port下載程式進去跑, 直接看會不會動, 一番兩瞪眼 只要能打通boot code, 以及UART, 接下來再寫個printf, 其實還是能幹活兒 就算有JT...

Cortex-M3 foreword

圖片
某天晚上, 我在露天拍賣打了關鍵字搜尋"ARM", 系統給了我一堆實驗板的資料 這堆板子現在大陸一堆人做, 價格低廉功能強大, 不知為何, 我很想要一片Cortex-M3 最後我看上一片 NXP LPC1768 的板子,  上面的周邊不少 Cortex M3 @ 100Mhz, 512KB Flash, 64KB SRAM     USB 2.0 Host/Device/OTG     Ethernet Controller     SD card     2.8" TFT-LCD with touch panel 記得玩單晶片, 最愉快是搞定一個又一個周邊, 看到程式與真實世界的互動 修實驗課時, 就算只是點亮一顆LED, 控制閃爍的速度, 都讓我激動不已 這樣的經驗陪著我在多顆CPU上不停的複製, 同時我也發現, 其實問題的本質沒有改變 IC上的周邊就是那些, 單晶片要控制的對象不外乎UART/SPI/I2C/GPIO/USB ... 改變的只是toolchain不同的寫法, CPU有些許不同, 概念都是類似的 但是這顆IC竟然整合了Ethernet... 這個就有點不大尋常 另外在arduino project看到有人用單晶片整合了藍牙, 甚至WiFi 我想關鍵是通訊功能, 如果單晶片以後都能和Internet整合, 似乎會有些有趣的應用 另外從ARM7/9到Cortex-M3, 到底CPU會有什麼進化, 過去的麻煩事, 現在會怎麼被解決? 從以前到現在, 我看了不少CPU architecture 很多我覺得"只能這麼做"的事, 在某些架構經常看到更精巧的解法 這真的是人類智慧的結晶, 工程師努力的結果, 感嘆之餘, 也希望自己能不停進步 ---- 總歸一句話, 好奇 想知道以前不知道的事, 想成為真正的高手, 我相信他會帶給我無窮的樂趣 這系列的文章預計會寫下我和板子打交道的紀錄, 以及讀書心得, 記載這一次的旅程

羅馬公路練車

圖片
這兩年多很久沒騎單日破百了, 體力這種東西, 沒有保持只會退步 今天本來想騎宇老大滿貫, 實在怕騎不完, 最後退縮來騎簡單一點的路線 今天的目標是繞過羅馬公路, 爬上角板山, 繞過石門水庫, 再騎回關西, 里程大約110km 感謝老婆騎摩托車當補給隊, 一路補水補食物, 破胎有人補, 騎不動還可以隨時搭機車撤退 如果今天騎不完, 問題都是出在自己身上 ---- 前往關西的路上吹着大逆風, 一上路就猛燒體力, 短短25km心跳卡在 >170 下不來 在羅馬公路口補給時, 我很認真的考慮要不要乾脆回家撤退 :-( 羅馬公路是一條漂亮的公路, 沿途開著山櫻花點綴着, 過年期間要賞櫻來這也ok 這次去, 爬坡頂點的金鳥樂園已經正式關門, 整個門已經擋起來 今天有補給車, 飲食自動升級, 在美腿山上吃香腸, 喝豆花, 在羅馬公路尾端好好吃午飯 溜下羅馬公路的長下坡後, 緊接著是角板山的長爬坡, 這個爬坡沒20分鐘是爬不完的 我的速度掉到剩個位數, 無法維持迴轉速, 好在死撐活撐也爬完了 前往大溪以下坡為主, 再加上順風, 總算能威風的騎在路中間, 帶著速度下山 繞過石門水庫, 迎來今天最後一個爬坡, 台三乙 這個坡不長(5km@200m), 但爬起來很要命, 兩腿在抽筋邊緣, 老婆頻頻問我要不要上車 爬完這段的獎勵是, 在關西的85度C吃吃喝喝~ 回到家看了一下GPS, 今天在外的時間足足7hr 騎摩托車的老婆比我更辛苦, 得不停地反覆加速減速, 注意路況, 謝謝老婆大人的贊助 :D 之後希望多少可以把體力練一點回來, 下次想去騎宇老大滿貫 Dst: 113.21 km Time: 5:08:32 Max: 59.5 km/hr Avg: 22 km/hr Avg heart rate: 168

沖牙機

圖片
人的嘴裡有32顆牙, 植牙一顆報價大概5萬up, 所以每個人隨身都帶著160萬在路上走 這麼值錢的東西, 多花點心思讓他不要壞才是長治久安的做法... ---- 先前因為蛀牙抽神經, 加上兩顆蛀牙緊鄰, 做了一個牙套罩住兩顆牙 這個牙套的密合度沒有很好, 兩邊老是會卡食物, 我隨身會帶著牙線棒清潔 牙線棒的線很脆弱, 有一次竟然斷在裡面, 卡了好幾天, 牙齦痛得要命跑去找牙醫求救 帥哥醫生人很好, 很快就幫我夾出線, 立馬就不痛, 立刻見效大概就這麼回事 醫生還順便教我正確的刷牙方式, 說來慚愧, 長這麼大第一次學會正確的刷牙方式 用這招刷牙, 果然牙菌斑了很多. 這次看牙醫收獲滿滿, 之後再補一篇推薦這間診所 同時帥哥醫生發現我的牙套罩住兩顆牙, 中間的地方, 那個牙齦的狀況不大好 一年多了, 原來這個地方也要清潔 (不是罩住就沒事嘛 ?!) 我需要用"牙線穿引器", 他的頭很硬能穿過牙縫, 後面的環能夾帶軟軟的牙線穿過牙縫 牙線在裡面清了幾下, 線上就沾滿了牙齦的血, 看來這裡再不好好照顧, 最後會壞掉得植牙... 牙醫師不推薦用牙線棒, 因為不小心還會斷線卡在牙縫裡 (笑) 牙線是萬年流行款, 這個可以清得很乾淨, 不過大概是我懶, 始終不想學會 某次回老婆家, 岳父推薦我用沖牙機, 也就是這篇文章要講的東西 (鋪梗還鋪真長) ---- 沖牙機長得像下圖, 他有一個水箱, 底下的轉鈕能調強弱, 水柱會從噴嘴射出 一秒大概噴3次左右(間歇的), 利用水柱清潔牙縫, 為了效果要好, 強度還不能太弱 剛開始用我覺得不大習慣, 因為水柱噴到牙齦其實滿痛的 牙齦被水噴會出血, 表示這個地方牙齦強度比較弱, 原因可能是牙縫卡了食物滋生細菌 機器的說明書表示, 出血代表有潛在的牙周病, 沖牙機能清潔牙縫 (雖然手法有點粗暴) 細菌沒材料(食物)生長, 牙齦會自己恢復健康, 流血的狀況就會改善 其實我一直都沒有好好照顧牙齦, 所以第一次用, 噴得滿嘴都是血... 先前提到我有做一個牙套, 有一個很難照顧的牙縫, 噴一噴效果很好 我無法證明牙齦在使用後變健康, 只能說用了一陣子, 現在很少流血 用正確刷牙方式, 大幅降低牙菌斑, 再加上沖牙機, ...

dokuwiki vol.2

先說一下怎麼在Windows平台架設dokuwiki 其實還真的滿簡單的 (笑) 首先到抓xampp來裝, 這個package包括apache & php http://www.apachefriends.org/zh_tw/xampp.html 然後再到dokuwiki的官網抓原始檔 https://www.dokuwiki.org/dokuwiki 把dokuwiki解壓縮到 xampp/ htdocs/ wiki/ 裡面 第一次使用要先連 http://localhost/wiki/install.php, 設定一些必要的東西 試著開瀏覽器,  http://localhost/wiki/ 連看看 然後就可以移除install.php, 開始在自己電腦上使用WIKI 另外, 一般我會建議修改PHP的設定, 把上傳檔案大小限制調大 xampp目前的上下傳限制是2MB, 這可以在 PHP.ini 裡設定 ---- 我們目前使用的方式, 在這裡介紹一下 dokuwiki支援用"冒號"來分隔主題, 有點像是目錄的概念, 例如     user1:schedule:2012_01 表示某個user1, 他裡面再開一個schedule的分類, 最後裡面再一頁2012_01 我們鼓勵每個user開自己的分頁, 格式不拘, 可以把WIKI當筆記本使用     user2:topicA:implement_note 也可以開一個類似這樣的頁面, 把開發過程中, 相關的資訊整理在裡面 這樣一來, 文件就會以incremental的方式慢慢長出來 日後如果要交接, 或是回答問題, 這樣一個頁面就可以直接拿來用 ---- 如果是給團隊使用, 可以依照主題, 開立不同的頁面     topicA:resource    給大家放網路上找到的資源     topicA:discussion    討論頁, 如果有什麼問題可以放上去 WIKI強大的地方是, 可以很多人一起編輯某個頁面, 適合收集各種零散的資訊 比如某個疑難雜症某人解掉了, 可以順手貼上...

2012大蕭條

這本書對於接下來10年的經濟情勢提出預估: 那就是通貨緊縮 作者在第二章分析了人們一般在不同的年齡, 普遍的人生經歷: 18-22單身 22-30新婚夫妻 31-42年輕家庭 46-50小孩上大學的家庭 50+空巢期 60+退休 一般人的支出高峰期落在46歲左右 目前人口結構裡, 二次世界大戰後的嬰兒潮佔最多數 這些人主宰整個經濟的走勢, 當他們需要就學時, 學校的數目立刻不夠; 當他們開始進入職場, 源源不斷的勞動力讓就業市場蓬勃發展 當他們開始置產, 也同步讓房地產大幅升值 目前嬰兒潮的人已經逐步要退休, 他們接著會大幅減少支出, 開始儲蓄退休金 存錢大致上來說不是壞事, 但是如果社會上有一大群人大幅減少支出 而遞補上的一代人, 如果數量不夠, 這代表各行各業的收入會減少 我們不再需要那麼多的產品, 所以工作機會會更少 連帶會導致薪水下降, 借貸下降, 造成百業蕭條... 這就是通貨緊縮, 驅動的力量是人口的趨勢, 政府不管做什麼都無力扭轉 全世界率先邁入通貨緊縮的地方是日本, 日本已經通貨緊縮10年以上 即使政府把利率調整到0, 都無法讓經濟恢復起色, 房價已經連續跌了10年以上 這個劇本未來可能會在很多地方重演... ---- 在台灣, 其實類似的劇本即將上演, 人口快速老化, 新生兒大幅減少... 房價和薪水不成比例 我預估爆掉只是時間問題, 沒有必要在這個時間點買房地產 另外就個人來說, 其實舉債買屋, 背上幾百萬的貸款, 我也不覺得是負責的行為 當房地產正式爆炸, 台灣的銀行也會爆; 這個影響非常深遠, 因為銀行可能開始抽銀根 連帶很多公司可能開始經營不下去, 工作減少, 薪資下降, 大家開始勒緊褲帶過生活 在這個過程裡, 房貸要繳的金額不會下降, 貸款支出比例會提高 連帶大家又跟著降低消費, 造成經濟蕭條 所以一個國家的房地產, 就算要他跌價, 也不能跌太多, 不然會出問題 如果房價跌到把自備款全部吃光, 貸款還比房價多, 搞不好很多人就把房子丟給銀行 目前高漲的房價, 代表很多人身上扛著炸彈, 最好他們在接下來20年都可以順利繳完房貸 不然一旦爆掉, 連鎖效應得由所有人一起...

dokiwiki vol.1

工程師大致上來說, 是不喜歡寫文件的 寫了又沒人看, 而且做完以後, 該怎麼動都在腦袋裡, 寫文件等於是多餘的工作 我想任何人都不喜歡這種沒gain的事 在工作流程裡, 很自然會有不少副產出, 比如找同事討論, 在白板上的塗鴉 在紙上隨手記下的筆記, 這些其實就很夠拿來當作文件 我想文件的真正用途, 是讓人(包括自己)了解設計, 任何有意義的線索都值得保留 我不推保留紙張當作文件, 因為順手寫下的塗鴉, 很容易不小心被當作垃圾丟掉; 好在現在手機都有內建相機, 順手拍下來, 再用小畫家編輯一下, 重點就很清楚 形式不是重點, 而且他不應該難以製作 (比如強迫用visio畫流程圖) 撰寫文件的第一步, 就是從工作流程裡, 抽取本來就會產生的副產品作為素材 下一階段是, 這些素材要用什麼東西組織起來 一般我們會想到word/excel這類的工具, 其實這些工具有幾個很顯著的缺點 難以編輯, 電腦一定要有word/excel 難以管理, 一定得用資料夾分門別類, 偏偏分類是很麻煩的事 無法搜索, 如果有一堆文件, 要在一堆word/excel裡尋找是很麻煩的事 難以維護版本, 難以多人一起維護一份文件 我的建議是使用WIKI, WIKI架在server上, 編輯的, 看到的永遠是最新版 只要有任何想法, 透過瀏覽器隨時可以編輯文件, 每個頁面也可以很容易內嵌文件, 檔案, 連結 因為WIKI容易編輯的特性, 大幅度降低撰寫文件的"心理負擔" 比較容易做到當設計出來時, 也有一定數量的文件 目前在網路上, 最著名的WIKI是維基百科, 這個WIKI使用MediaWIKI寫成 您可以連到維基百科, 觀察他的效果 如果是個人, 小團隊使用, 建議使用簡單一點WIKI 不要使用資料庫當作backend, 我實在不懂資料庫 好安裝, 可以在Win32上面跑 最後我挑了dokuwiki, 這個wiki能完全滿足我們的需求 這個wiki system我在2009第一次架設, 最近重新又弄了一個 操作的流暢度和介面都有相當的改善 下一篇我會講, 大概的安裝方法

單車: 宇老

圖片
早上和朋友去騎了一趟新竹宇老, 這是一條我很喜歡的路線 一路從平地爬上海拔約1500, 坡度夠水準, 沿途車不多, 遮蔽夠多 每到周末總是吸引很多車友 上次來這兒, 是為了備戰2010花東自行車賽, 也就是兩年多沒再來過這裡 2010年我加入新的公司後, 騎車的時間大幅壓縮, 體力也大不如前 今年因為健康檢查出現體脂過高, 下定決心去健身房運動, 練了一陣子 這次也做到不落地直上宇老, 整個爬坡段從尖石萊爾富開始算, 大概2hr到山頂 這個速度比不上以前最好的狀態, 但是起碼有練回一些體力了 我帶了聰明機一起上山, 沿途紀錄軌跡:  Google Maps的地圖 我一直很喜歡宇老的下山段, 從地圖看就知道, 他的彎非常多, 角度也大 要安全的下山, 得集中精神即時評估路況, 對向是否有來車, 路上的坑洞, 落葉 因為坡度夠陡, 加速很快, 我得強力扣前煞減速, 速度變化非常大 不平整的路面, 會讓鋁車強烈震動, 晃得人非常不舒服, 這個下坡段騎來一點也不愜意 回到家感覺體力有點過度透支, 但是真的好爽 之後我應該會把一些夢幻的路線再騎一次, 比如再去一趟觀霧, 或著騎一次宇老大滿貫 

再見了, 阿公

人生真的很奇怪, 早上我才寫完生日note 傍晚的時候, 接到電話, 我的阿公剛過世了 於是在吃好料的路上, 掉頭, 回頭去見阿公最後一面 阿公臥病在床很多年了, 也許對他來說是種解脫, 可以不用再受苦 我握著阿公的手, 我想說, 謝謝您, 照顧我長大 孫子雖然不成材, 嘴砲一流, 但起碼會自己照顧自己 連老婆都討了, 我以後也會努力活下去的 !! KEEP WALKING

29th 生日: KEEP WALKING

圖片
今天是我的29歲生日, 起得特別早, 聽著五月天1999年的歌 五月天的歌, 陪著我走過整個高三, 那時候每天抵抗著聯考的壓力 常常去十八尖山跑步, 練身體順便釋放壓力 聯考放榜日也是我的生日, 每年到了這個時候, 我都會聽聽這些歌 不知不覺十幾年已經過去了, 記憶裡, 似乎不舒服的事, 比快樂多一些 比如考聯考, 壓縮一整年的時間, 換來放榜幾天的喜悅 單車環島, 我得忍受曝曬, 高溫, 每天騎上好幾個鐘頭, 換來完成時的歡樂 第一次參加花東賽, 幾個小時喘得要死, 只記得騎過終點淚流滿面 生活中應該也有很多快樂的事, 比如偶爾吃吃下午茶, 和朋友閒聊鬼扯 只是, 少了一些刻骨銘心的不舒服, 似乎爽度就沒那麼高, 就不會烙印在腦海裡 ---- 我想, 大概是因為, 等等我去上班時, 要繼續面對一包該死的code 所以才會進入漫畫的黑頁模式, 開始回想 (笑) 去年我給自己的期望是 Be Strong, Be Tough 重點是後面的Tough, 要自己堅韌, 牢固, 折不斷 今年我選了一句話: KEEP WALKING 繼續走下去吧, 就像以前一樣, 總是能走到終點

亞太電信

緣起 不久之前, 朋友和我推薦亞太電信(3682)這檔股票 身為電信從業人員, 我告訴他, 亞太電信, 這間使用CDMA2000的公司 是一間沒有未來的公司 , 系統不相容(WCDMA) , 連被併購的價值都沒有 財務數字 但是接下來, 朋友提供的數據, 讓我不得不重新思考亞太電信的投資價值 從這張表格裡, 亞太現金不斷上升, 負債下降, 待彌補虧損幾乎還光 財報告訴我, 這間公司的業績蒸蒸日上, 離配息之日不遠了 我放下工程師的思維, 撇開技術(CDMA2000), 重新思考亞太的投資價值 201006 201012 201106 201112 約當現金 ( 億元 ) 13.67 28.18 42.02 71.26 流動資產 ( 億元 ) 54.24 78.99 94.06 132.3 長期負債 ( 億元 ) 26.72 22.04 18.45 14.6 總負債 ( 億元 ) 75.78 79.39 61.24 63.5 營業活動現金流入 ( 億元 ) 51.55 66.37 EPS( 元 ) 1.12 3.25( 業內 :1.75 ,業外 :1.5) 待彌補虧損 ( 億元 ) 113.54 6.9 網內互打免費的始祖 身為中華電信的股東, 我非常討厭亞太, 因為他打爛語音服務的行情 但也就因為亞太是國內第一個網內互打免費的業者, 最快累積一批鐵杆用戶     Metcalfe's law (梅特卡夫定律) : 網路的價值, 正比於使用者數目的平方 和多少人網內互打免費, 才是價值所在, 消費者真正的誘因, 轉檯/加入與否的關鍵 所以當過兵的人都知道, 軍隊通訊的事實標準, 其實是亞太(笑), 而不是威寶 身為始祖, 具備強大的先佔者優勢, 後進者(威寶)極難打破 這...

究極技能: 學習新事物的能力

昨天和剛生女兒的同事討論, 什麼樣的技能, 能幫助小孩在這個汙濁的社會混下去 XD 我們討論的結果是, 獨立學習新事物的能力 回來以後, 我繼續回想自己的經驗, 把它寫在這兒 ---- 回想自己的求學經過, 我沒有補習, 如果上課聽不懂, 除了靠自己弄懂, 還真的沒招 這個過程從國中, 高中, 大學, 研究所, 反覆發生 明明已經有上課, 回家做習題, 但就是有點不得要領 我經常要在狀況外一兩年, 到最後才突然開竅, 把之前的進度補起來 比較悲慘的是, 每次換環境, 上述的流程就得再來一次 因為環境變了, 挑戰也不一樣, 同一招不能直接用到下個階段 所以每次學習的科目換了, 難度換了, 我就得再次經歷陡峭的學習曲線 ---- 另外一個自學的經驗是程式設計, 從小學二年級摸過一下BASIC以後, 10年都沒再摸過 直到唸高中, 為了參加學校的程式設計比賽才回來看 可能時間累積, 理解能力比小時候好, 這次我總算看懂FOR ... NEXT在講什麼 接下來轉到C語言, 又是一個辛苦的循環 第一次拿到Turbo C, 寫了三個小時連個for回圈都寫不出來, 我只是想印個九九乘法表 Orz 再過了三年, 大學修計算機組織, 總算對C語言有更深的領悟 在這部分, 我花了10年的時間搞懂BASIC, 然後再用3年精通C語言 ---- 總結這些經驗, 我發現學習事物都有一條陡峭的學習曲線 在前半段, 不管做什麼, 都幾乎看不到效果; 唯有克服這部分, 才能享受後半段的成長 學東西學不起來, 普遍都是無法克服學習曲線的前半部 ----- 再回到一開始和同事的討論, 要怎麼教給小朋友, 上述 獨立學習新事物的能力 ? 克服學習曲線, 需要培養毅力, 不能輕易放棄; 要找到小朋友有興趣的事物, 他才有熱情能持續投入, 培養毅力; 要先在某個地方, 讓小朋友體驗克服學習曲線的經驗, 他才有機會用在別的地方 這問題有點像雞生蛋, 蛋生雞的問題, 因為無法單獨培養獨立學習新事物的能力 只能在克服一道又一道的學習曲線, 學會很多事物以後, 才能有的體會 他是一種綜合的...

每一次倒下

下班前, 難解的問題還沒搞定, 我都覺得天快要塌下來 每一次被問題擊倒, 不免會有些負面情緒, 覺得自己好像也不過如此 收到問題會不舒服, 我覺得根源在此 為了混口飯吃, 我必須一次次站起來 回去睡一覺, 經過一天休息, 經常會有不同想法, 可能問題就解決了 (也可能繼續debug) 也許再撐一下就會過去, 好在事實確實如此 (所以我還沒失業 XD) 儘量 想辦法成為不倒翁, 能多承受幾次KO, 努力再站起來 ---- 又遇到麻煩的問題, 開始覺得很賭爛 但是睡覺起來又想到新招, 所以寫寫note紀念一下 我知道, 不管過了多久, 遇到問題不舒服的感覺永遠不會變 所以上頭 儘量 我標了粗體, 表示 期待 , 能做到就不錯了 我不是在寫心靈雞湯式的文章 因為真實的狀況是, 這個不倒翁就算站起來, 可能也得了內傷

PyXLL

*Motivation 微軟雖然邪惡, 但是Excel真的是好物, 他讓資料可視化, 很方便能做分析 在工程資料分析時, 比如我有一大筆資料, 想要取出每筆數值的 bit[15:10] 我當然能利用Excel內建的函數, 組合出我需要的功能, 但是就覺得有點難用 如果處理的方式很複雜, 拼湊出來的公式會很難讀 另外一個方案是使用Excel內建的VBA, 這個就能寫程式了, 也有bit-wise操作 利用VBA在後端做計算, 在前端使用Excel把資料漂亮的show出來 我曾經想要學VBA, 無奈寫C/Python習慣了, 看到VB的語法實在很不習慣 我投資不少時間在Python上, 如果能連結Excel和Python 就能達成後端使用Python, 前端使用Excel的理想境界... *Solution: PyXLL 1. Excel的XLL介面能呼叫外部的DLL, third-party能為Excel開發新的程式 2. PyXLL實做了Excel XLL介面, 他會喚醒Python interpretor    把來自Excel的資料, 放到Python domain 3. PyXLL也能把Python運算結果, 回傳給Excel使用 PyXLL是賣錢的工具, 不過試用不用錢, 只是開檔要等15秒看log 原理其實如上面所述, 喜歡的話也可以自己寫一個 http://www.pyxll.com/ *Install 1. 首先到他的網站抓安裝包, 然後解壓縮到任何地方, 假設是C:\PyXLL 2. 順便在網站裡, 把文件抓回來 3. 參考這個網站, 安裝PyXLL:    http://www.codecho.com/execute-python-script-in-excel-using-pyxll/ 4. 閱讀C:\PyXLL\pyxll.cfg, 理論上不用改, 不懂的地方請參考文件 5. 編輯C:\PyXLL\examples\worksheetfuncs.py, 這裡就是主菜了 !! *worksheetfuncs.py -- basic_pyxll_function_1(), part1 廢話不多說, 這個範例宣告一個函數 basic_pyx...

6184 大豐電視

在這裡不得不說, 如果能結識武功高強的室友, 而且精通的領域和自己不同 加上臭味相投, 那真的能在朋友身上學到很多東西 能認識這位朋友, 讓我投資的路少走很多歪路, 至今我都心存感激 :-) 在金融海嘯期間, 室友推薦我買了另外一檔定存股: 大豐電視 大豐電是來自台北土城(其實我從沒搞清楚過)一代的第四台業者 我最不滿第四台的地方, 是廣告播到一半, 硬是插入一段很爛的廣告 加上每個地區就一兩家業者, 收費還剛剛好都一樣, 不爽也沒得換 每個月寄帳單最準時, 季繳半年繳年繳還幾乎沒有優惠, 好跩的業者 所以我發現原來第四台有上市公司, 簡直是挖到寶, 有什麼不能買 ? 我的個性偏保守, 喜歡領股息收租金, 這種固定收租的行業, 我很喜歡 持有這擋股票三年來, 也是陸續加碼買上去 他漲不快, 更多時候根本不會漲, 每天最差可能只有十幾張股票成交 但是每年都能穩穩的配發股息, 缺點大概只有老闆實在太愛炒股票, 這點要嚴加控管

6281 全國電子

2007年帶我入門的室友, 看到順發股票飆漲, 突然有靈感 平平都是電子通路業, 沒理由順發可以漲, 全國電子不會漲 所以我們倆都買了阿國 :p 阿國的股價, 大部分的日子都像一攤死水 在台灣, 電子股才是主流, 抱著這種股票, 其實會被人家笑 不過我們還是買了放在手上, 慢慢的等待, 也累積了一些價差 畢業前賣光股票賺的錢, 去中國玩了一趟, 這是我第一次出國 :D 當初為了要買全國電, 我有認真做過功課 看完全國電所有廣告, 讀財報, 研究管理者的實力, 觀察競爭對手 每次經過全國電子, 都會看看裡面有沒有人, 關心他們的特價, 廣告 通路業的進入門檻很高, 也很難被打趴, 我真的滿喜歡這間公司的 當完兵後, 正是金融海嘯最高峰, 全國電的股價掉到30塊附近 雷曼兄弟倒閉那天, 我正在機場要去巴里島, 起飛前我突然很想買股票 !! 我趕緊打給營業員買了兩張阿國, 結果套牢了好幾個月 XD 三年來, 我持續加碼, 阿國沒有讓我失望, 每年都穩穩發3塊多股息 如果換算銀行的定存, 最初那兩張, 利率超過10% 最近的亂流大概是蔡振豪總經理辭職, 家族企業人馬回任總經理 好在他們沒有亂搞, 打消去大陸投資的念頭, 不然我真的得賣股票 作為長線投資人, 只有領股息才會真的有感覺, 不然股價都是假的 今年給4塊現金, 創下歷年新高, 股價也意思意思跟著漲了一些 雖然股價是假的, 帳面上的價差看上去也滿爽的 希望阿國可以穩當的經營下去, 每年穩定配息, 讓我吃香喝辣 XD

2012.3.17 練車筆記

今天和我岳父的車隊一起去騎車, 我做足被電爆的心理準備 因為對手是一群恐怖的歐吉桑 :p 騎上路以後, 一個月沒騎車馬上就反應出來, 腳實在是有點軟... 好在是順風, 心跳雖高(>180), 努力還是跟得上 從大甲騎到通霄, 轉進烏梅路, 這是一段緩爬坡, 他不陡, 但是連著爬好幾公里 爬完這一段, 記得是騎到三義, 這一路回大甲又是連續的上上下下 我覺得苗栗的車友應該都滿厲害的, 因為地形實在是太多起伏了 今天因為沒有很陡的爬坡, 所以不會特別消耗肌力 如果只是心跳衝得很高, 我大致都受得了 早上騎下來的感覺是, 我應該心肺功能還算OK, 我能承受很高的心跳 但是肌耐力退化得很嚴重 騎回來, 疲憊的狀態會持續一整天 但是為了身體健康, 我會繼續動下去 :)

關於結婚這個行業

水果牌的iPhone, iPad價格超硬, 幾乎沒有殺價的空間 買東西應當是這樣, 不要浪費大家時間 但是結婚這個行業, 讓人超級不舒服 喜餅的實際成交價是標價的五折 婚紗一開始報價56800, 談一談可以變成46800, 最後的package是39800 繼續談下去還可以凹贈品 標價10萬的鑽石, 可以先打個七折, 最後跟你說, 如果真的喜歡, 價格還可談 結婚這個行業, 充滿各種謊言, 話術, 欺騙 透過感情的訴求, "一生一次", 狠狠的把消費者當肥羊宰 很多行業其實都這樣, 渾水摸魚, 資訊越不透明, 才越有機會賺錢 和這些人打交道, 真的是有夠不舒服

關於大學的課...

晚上吃飯時, 大家在討論系上的課程, 是不是太理論, 讓畢業生的實作能力很弱 關於這一點, 我個人的感覺是, 很多系上的學生覺得寫程式是資工系的事 系上的畢業生應該從事演算法, 所以寫起code來... 實在是有點慘 在外頭混, 實現想法的工具就是寫code, 不管是Matlab, C, C++, Verilog, assembly... 其實根本來說, 就是要寫軟體, 初步是會寫程式, 再來是理解底層的機制 最好能有點軟體工程的sense, 能架構出大程式 這樣即使日後是負責一個小module, 也能寫出好維護, 架構優秀的產品 ---- 那, 系上的課到底出現什麼問題? 我個人覺得, 是難度太低 沒有被高難度的Project電到痛徹心肺, 就只能學到皮毛, 無法結合理論和實務 但是課程難度太高會怎麼樣?  以前有門課第一堂課就發了一張作業單, 每堂課又有程式作業, 最後只剩下 5 個人修 Joel Spolsky這篇文章也有類似的觀點 http://local.joelonsoftware.com/wiki/爪哇學校的危害 ---- "出來跑, 遲早要還的"