發表文章

文章總列表

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/爪哇學校的危害 ---- "出來跑, 遲早要還的"

看到bug, 要保持愉快的心情

工作以來, 每次要做完全沒做過的事, 感覺總是很不舒服 收到一個不知道從哪裡來的bug, 想到那一大堆不知道怎麼分析起的東西 肚子就不自覺的抽痛, 我也很想知道, 享受debug的過程是怎麼回事 /___\ 想起以前的經驗, 平平是處理bug, 不舒服的程度其實是有差異的 如果是第一次處理, 完全不知道怎麼下手, 這個不舒服的程度最高 反過來說, 如果有先前的經驗, 大致知道狀況, 就能儘量保持平靜的心情 我個人的心得是, 不舒服的程度和不確定性高度相關 這大概和以往的經驗有關: 每次學新東西陡峭的學習曲線, 讓人卻步不前     "看到bug, 要保持愉快的心情" 也只有真正突破困難, 才能獲得經驗值, 繼續往下走, 以此勉勵自己

關於Macbook Pro 2

2011/10/15 Macbook Pro 買回來已經兩個多月了, 接下來實際討論一下使用的心得 買水果電腦的時候, 店員會不斷強調, 水果電腦不會當機, 水果電腦有多fancy Windows有多難用, Windows不停的折磨大家, 真的是這樣嗎? 我在windows能做的事, 到了Mac不一定那麼美好 比如說, 我還沒在Mac的世界裡找到如同notepad++那麼好用的編輯器 要發揮十足的生產力, 不管是windows/mac, 都要背一堆快速按鍵 比如windows用alt + tab切換程式, 到了Mac就變command + tab 使用Mac並不是吃了撒尿牛丸, 從此考試都拿100分, 學新東西還是有成本的 !! 習慣是一道很高的門檻, 但是Mac的環境夠精良, 能讓我突破這些慣性 比如他的瀏覽器Safari提供無段式縮放, 用它看網頁真是一種享受 Mac的程式普遍也比較有美感一些, 使用起來賞心悅目 使用兩個月以來, 相當滿意 :)

關於Macbook Pro

2011/7/31 今天買了一部Macbook Pro, 規格是2.3G i5, 8GRAM, 500G HD 因為規格很好, 所以不能說他比windows順暢, 這是不公平的比較 不過起碼操作起來真的很順暢, 很舒服 身為一個程式設計師, 我很喜歡UNIX的工作哲學, 用大量的小工具來工作 所以MAC的底層也是UNIX, 我在Linux上頭的習慣可以原封不動搬過來, 生產力不打折 電腦裝好後, 裡面就有gcc/Python, 我一整個大喜 桌面環境的部分, 我始終不大滿意Linux的桌面環境, 缺乏整體感, 需要大量校調 有位網友說得好, 充滿濃濃的山寨味, 我想他的意思是, 缺乏一種貫穿的意識在裡面 所以多年來, 我都只用文字模式, 不想投資時間在桌面環境 reference: http://blog.vgod.tw/2010/05/26/why-i-use-mac/ Mac有個不輸Windows的桌面環境, 提供一致性的體驗 實際用過, 覺得水果電腦真的很適合程式設計師 ☺ 在此推薦 !!

我的第一次工作的經驗

我的第一份工作是在升上研究所的暑假, 去一間小公司設計機車儀表 這間公司只有五個人, 三個RD, 帶頭的是一位高手 跟著他做事, 讓我見識到產品怎麼成型 我們開始工作, 是從Holtek的ICE (In Circuit Emulator)開始的 ICE能模擬CPU的所有信號, 透過電腦, 我能設定斷點, 觀察IC內部的記憶體 因為這顆CPU程式寫一次就不能改, 所以我們設計兩片電路板 功能基本上完全一樣, 只是一片使用ICE替代CPU的所有信號, 讓我們反覆測試程式 畫好的電路板, 上頭什麼都沒有, 我們必須要逐步把元件焊上去 人天生是犯錯的機器, 每次焊上一個元件, 我就會拿電表驗證電路性質是否符合預期 對電路硬體debug滿有趣的, 這是第一次拿電子電路在實戰使用 記得那時候, 我還找出一個BJT搭配的電阻不對, 所以沒有操作在正確的區域 時至今日, 我還是不會畫PCB, 不會焊很多pin的IC 但是這個經驗讓我習慣看電路圖, 懂得另外一個領域的語言, 日後能和硬體人員溝通愉快 韌體工程師打交道的對象是真實的信號, 這種程式的魅力是, 執行結果會反應在真實世界 就算只是讓CPU透過GPIO讓LED閃爍, 都帶給我相當的震撼 多年來, 每次要bring up新的平台, 我都是挑這個範例當做試金石 我們到過車廠, 拿了一輛摩托車拆個精光, 再把電路板接上去 看到儀表確實反應速度, 引擎轉速, 成就感真的難以言喻 日後在市場上看到工作成果轉成產品, 想到這是自己參與過的專案, 真的是與有榮焉 當時也摸過Microchip的MCU時, 裡面可以設定PLL (Phase Lock Loop) 為了這個, 我還特地去翻書, 看看他的原理, 並且查了ADPLL (All digital PLL) 下一份工作, 就用當時的看到的東西解了一個系統不穩的bug 雖然我還是不會PLL, 但是起碼我大概懂他的語言, 其實這也就夠了 那時候我依稀就有個感覺, 很多東西不用到專精, 懂個大概其實就很夠用 之後唸研究所時, 我就到處看到處亂玩, 上了硬體設計的課 (IP core design) 拿了FPGA板, 寫寫RTL, 上網找了MIT open course的Digital system lab依樣畫葫蘆做一做...

推薦blog: 專案管理的生活思維

這是兩個顧問寫的blog, 專案管理的生活思維 http://www.projectup.net/blog/ 最初看到這個blog, 是看到以下這篇文章 追求不抱怨的人生- 專案管理的生活思維 我發現, 自己和作者一樣, 很不喜歡聽人家抱怨事情 作者之一的筆鋒非常犀利, 我引用一段     人生的問題, 自己始終要負大部份的責任.     會讓自己落入某個卡住的境地, 追本溯源都跟自身的過去脫不了關係     要不是自己之前做了錯誤的抉擇, 要不就是自己在該有抉擇時選擇了不作為 這兩個顧問在思考上有十足的一致性, 不會前後矛盾 下一篇是關於取暖, 筆鋒依舊犀利 關於取暖- 專案管理的生活思維 推薦大家讀讀裡面的文章, 滿有趣的 :)

關於Python, 2

我陸續把Python導入到工作裡, 用它來打造各種小工具 並不是我喜歡簡化流程, 提高工作效率, 根本的原因是: 我是個懶惰的人 反覆的手工操作, 反覆的操眼睛, 不如寫個tool來代勞 所以寫tool的初始投資固然高, 但因為我實在太懶了, 所以我願意投資  但是, 在能熟練運用Python之前, 需要投資時間在這個語言上 首先他的社群夠大, 表示大部份的問題都有人解過, 能透過Google找到夠多答案 函數庫夠多夠多元, Python也很容易和C整合, 這代表能透過Python存取很多程式庫  大致來說, 學Python是一筆不錯的投資, 但是要先跨過某個門檻, 才足夠發揮效益 就算大家都說Python很好學, 這條學習曲線其實一點也不平緩 比如我本來習慣寫C, 有特定習慣的用法, 重新學習語法需要時間和思考 要等到一定的熟練度, 才能運用自如  投資講究隨時間的復利增值, Python是值得花時間投資的項目 從第一篇關於Python寫下, 過了半年後, 我還是覺得相當滿意

20110405 星巴克櫻花杯

放假日, 和女友跑了很多間星巴克去找櫻花杯 這個杯子很好看, 他只有猶豫一下, 然後就再也買不到了 我沒看過杯子的本尊, 但是我在星巴克看到其他的杯子, 做得還不錯 我們上網看看有沒有人要賣; 原價350, 看到有人+50%拿來賣(500), 還有人表示要買兩個 繼續搜尋 Ptt 的星巴克板, 原來會收藏星巴克杯子的人, 也不少 我無法理解為什麼一只杯子要賣350, 對於買來收藏, 更是覺得匪夷所思 繼續思考, 我想起曾在網拍看過 Trace32 賣 5 萬, 這是原價 20 萬的開發工具 頂級的開發工具, 不只可以賺錢, 拿來"收藏"也很過癮, 5 萬塊便宜啦 !! 但對於非電子工程師來說, 一點用也沒有, 還不如去買 iPhone 所以不同商品, 對不同的人, 或是不同時空背景, 價值是截然不同的 想到自己也曾經想買 Trace32, 突然間, 收藏杯子好像也沒什麼大不了 只是原價 350的杯子, 一轉手就要賺 50%, 想想也是覺得很土匪...

20110205 新竹 to 宜蘭

趁著過年和媽媽回娘家, 再次騎單車繞過北橫到宜蘭 年初二的天氣很好, 不過氣溫偏低, 山上溫度只有個位數 AM4:30 我摸黑騎過118縣道, 騎上羅馬公路後, 天漸漸的變亮, 慢慢往前推進 這段路我騎過很多次, 這次我給自己的課題是爬坡的練習 這陣子在健身房踩飛輪, 都把阻力拉高練腿力, 之前是拉高轉速練心肺 所以爬坡時, 嘗試重一片的飛輪, 或是抽車距離拉長一點 自己的感覺是, 一些短坡我現在會比較有勇氣直接抽車上去 不過真正的長爬坡, 比如上明池, 依舊沒什麼長進, 有多輕的飛輪就直接用了(笑) 從騎乘的時間來看, AM4:30出發, 騎下北橫公路大約是AM 11:15 和以前騎登山車的速度相當 (AM4:50 ~ AM11:30) 練肌力對時間改進很明顯, 之後會多做一些重量訓練, 或踩重一點的飛輪練習 我也對車子的設定有個疑惑: 是不是龍頭離身體太遠了 我騎到後段, 手腕酸痛的程度遠超過腳酸痛, 騎得遠就容易這樣, 要再調整一下 一些數據, DST 163.79km Time 7:53:15 MAX 53.2km/hr Avg 20.7km/hr avg比紀錄還快(20.1), 大概是爬山特別用力, 但是腳軟也超乎預期 騎到宜蘭, 不免又要被外婆臭罵一頓, 但是還真的是很爽 以後有時間, 我也要再來騎 :D Map: http://www.bikemap.net/route/810646#lat=24.69444&lng=121.40579&zoom=10&type=0

SSD market review 2011/1/29

SSD market review 2011/1/29 我認為SSD報價裡, 最重要的關鍵是每 GB 的價格 市場上各種容量產品齊備(32/64/128/256), 報價約 60~70NTD/GB (~2USD/GB) 也就是說, SSD的報價與容量成高度正相關, 這表示SSD硬碟最大的成本在 Flash 顆粒 對比傳統硬碟 (1000G, 2000NTD), 約2NTD/GB, SSD每GB的價格是 30x ~ 35x 隨著製程進步, 這個比例近年來已大幅度的下降, 但是仍然頗高 除非Flash的製程能進步 5 個世代 (2^5 == 32), 不然SSD的價格不可能和傳統硬碟拼 (ps. 製程要短期進步 5 個世代, 基本上是天方夜譚, 而且傳統硬碟容量也會上升) 在 PC 上, SSD要大量普及取代傳統硬碟, 大概是有難度 目前有看到的是玩家市場, 他們會買一顆SSD當系統碟, 再搭配一顆傳統硬碟當storage 如果要當系統碟, 大概 64GB 左右就夠用, 目前Kingston的產品約 3600 就買得到 SSD 作為一種改進系統效能的方案, 會越來越有吸引力 另外, 其實硬碟的容量到達某個數量以後, 使用者也用不完 SSD 一旦能以合理的價格, 供應超過這個容量的尺寸, 需要就會出來 這個點隨著 Flash 製程繼續微縮, 終究會出現 (但是沒有人知道這個點的位置 XD) reference: http://zackma.pixnet.net/blog/post/11670382 SSD 另一個市場在平板電腦, 這些 device 不可能用傳統硬碟, 清一色是 SSD ---- SSD 市場分析: 1. NAND flash players: Samsung(39.7%), Toshiba(35.7%), Micron(10.2%), Hynix(9.4%), Intel(5%) http://www.dramexchange.com/WeeklyResearch/Post/2/2521.html 2. SSD player的關鍵是, 要能取得足夠數量的 NAND flash, 不然沒辦法賣 SSD 因此這個遊戲, 注定是大廠在玩的, 只有大廠拿得到穩定的貨源 JMicron 分析: ...

關於Python

我工作以後, 挑了一個 script language 來學 主要是拿來打造一些小工具, 我希望程式可以又短又好維護 程式要短, 代表語言要精練, 內建很多 library, 有現成的功能可以用 程式要好維護, 代表不用編譯, 拿到哪裡都可以現場改, 現場執行 符合我需要的語言不少, 主要有 Perl, Ruby, Python 以前我和 Perl 打過交道, 他的語法我實在沒辦法接受, Ruby我和他比較不熟 最後我選 Python, 因為"以前有聽說過" 寫起來的話, 他的精神比較像 C, 大部分的操作都有個比較好的寫法 There should be one -- and preferably only one -- obvious way to do it. http://lightyror.thegiive.net/2008/01/ruby-python.html 網路上有很多推薦的入門書, 我挑了一本 Python Essential Reference 4th 來看 我是 C 的 programmer, 要轉Python要變更思考的方式 舉例來說, 如果想寫段程式讀檔, 計算所有數值總和, 用 Python: f = open('input.txt', 'r') sum = 0 for line in f: sum += int(line) 同樣的功能用 C 寫, 大概會長這個樣子... #include int main() { char buf[80]; FILE *fp; int sum = 0; fp = fopen("input.txt", r"); while(fgets(fp, buf, 80) != NULL) sum += atoi(buf); } 同樣的功能, 使用 C未免有些繁瑣, 要宣告變數, 要處理很多細節 很多時候我們希望掌控所有細節, C提供接近 assembly level讓我們使用 但是打造小工具時, 速度慢一些無所謂, 重點是好讀, 生產力高 當然, 要用 Python 發揮夠高的生產力, 還是需要投資時間, 持續練習才可得 如果您需要...

我看聰明機與電信業2

* 手機, 業者會補貼你 消費者透過跟業者簽約, 業者會補貼手機費用 以中華電信來說, 買 iPhone4 32G, 兩年大概要付 40000 包括數據費25176(大家講289+mPro950八折), 手機費14900 其中空機價格是 28900, 等於中華電信補貼了14000/user 所以這筆交易做下來, 業者只能賺25176-14000 = 11176, 約44%毛利 以前 2G phone, 低資費的手機補貼, 大概是 3000/人 iPhone4 的補貼金額算是相當驚人的... * 補貼的金額, 業者馬上就得認列費用.... http://times.hinet.net/times/article.do?newsid=3098654&option=infotech 假設一戶 iPhone 用戶, 業者需要補貼 14000 塊的手機費用 這些費用大約等於一年半的數據費 (800 * 18 = 14400) 這部份費用業者怎麼認列, 關係到盈餘的計算方式, 有需要探討 摘錄中華電信2010半年報 費用(包含配合行動電話服務門號銷售所給予之佣金支出及手機補貼款) 係依權責發生制於交易事項發生時認列為當期費用 也就是說, 今年收的 iPhone4 用戶, 其實業者是很佛心(?)不收數據費的 因為補貼認列費用, 沒辦法貢獻EPS, 甚至還得倒貼 但是到下個會計年度開始, 每一戶的數據費, 就全部是真金白銀, margin = 100% !! * 要想辦法降低補貼金額 等場子熱了, 大家開始想買聰明機, 業者順勢推出高中低階的手機 對業者來說, 不管消費者用哪種聰明機, 數據費兩年就是那麼多 關鍵是要怎麼壓低手機補貼的金額, 這樣才賺得多 HTC 就有打造一系列低價聰明機, Tatto, Wildfire, Aria, ... (我也搞不清楚) 這類機器鐵定不用補貼上萬塊, 每賣一支出去, 隨便都比 iPhone 好賺 如果聯發科搞出聰明機晶片, 弄出只要 100USD 的聰明機 爽到翻的將會是電信業者... * 總評 本文非喊盤文, 根據個人的觀察, 認為聰明機早晚大量普及 在這個過程中, 觀察電信業者的角色 如果在業者強勢補貼的情況下, 今年還能維持相當的獲利能力 那麼到明年, 營收應該有機會能成長