Cody Blog

Install IBM Active Protection System Linux Driver (HDAPS)

Installation

$ sudo apt-get update
$ sudo apt-get install tp-smapi-dkms hdapsd
$ echo 'tp_smapi' | sudo tee -a /etc/modules
$ echo 'hdapsd' | sudo tee -a /etc/modules
$ sudo modprobe tp_smapi
$ sudo /etc/init.d/hdapsd restart

Verify if it works

$ sudo hdapsd

it should display "parking" on console if you move your laptop

Modify config: /etc/default/hdapsd

  • sensitivity: default is 15. higher value means less sensitive.
  • disk: the disk that hdapsd should monitor

Reference :

2013第一屆日月潭環湖馬拉松賽-29K超半馬心得

日月潭

img

距離上次田中馬初馬的挑戰,休息一個星期之後緊接的就是2013日月潭環湖馬拉松。我這次參加的是29公里超半馬挑戰組。雖然說這是第一屆,但據我所知日月潭也常有其它單位會在此舉辦路跑,因為路線景色實在是太讚了。主辦單位是全國EMBA校園馬拉松接力賽組會,這場給跑友門的感覺就是超級貴,全馬報名費要1500,超半馬也要1200,比往常的賽事多了500元左右。不過因為是南投在地,又覺得可以跑完日月潭環湖一周是一件很酷的事情,所以我還是給他報名下去了。起點跟終點都是在向山遊客中心

img img 跟戰友Alvin起跑前跟熱氣球拍照。

img 全馬組出發!

img 15分鐘後,超半馬組也出發了!

img 日月潭之前來過很多次,但從來沒有那麼早來過,萬萬沒想到清晨的日月潭那麼厲害。太陽躲在山後,讓山景非常有層次。讓剛起跑的我非常讚歎!忍不住拍了好幾張照片 img img 很多跑友也都停下腳步拍照留念

img 漂亮的湖光山色 img img img 美好的晨跑時光,就在太陽高高昇起後告個段落。我的右膝蓋從7K左右開始抗議。當下就知道這是田中初馬時所受的傷,還沒有完全復原。膝蓋的內側每跑一步就有刺痛感。我趕緊調整跑步的姿勢,讓右腳可以好受一點。並開始期待等下的補給站有肌樂可以止痛一下,可惜路過好幾個補給站都沒有肌樂,只能摸摸鼻子繼續跑下去,終於在16K玄奘寺補給站,看到有止痛噴劑,趕緊拿來噴了好幾下。希望在師父加持之下可以撐下去。這邊也有特色補給品:香菇茶葉蛋 img

賽事的後半段,大多是緩下坡,我原本以為可以開始加速。但雙腳膝蓋開始輪流罷工。雙腿也愈來愈僵硬,此時只能硬撐下去,但速度愈來愈慢,甚至痛到只能步行。找到機會就抬腿拉拉筋。

img 過了20K,完全就是拖著雙腳在走,膝蓋一彎就痛。

img 突然後面出現了警察伯伯緩慢前進。驚!這不是第一名才會有的尊榮前導車嗎?XD 原來這場賽事的交通管制是警察會把跟我們同方向的汽車擋下來緩慢的行進。而有多慢呢?大概就是我那時前進10分速,因此大部份的跑者都可以享受到沒有什麼車流的完美賽道。但是被擋下來的在地人或遊客可就不開心了,甚至有人還對警察咆哮大罵。之後警察才勉強加速一些,而這群車隊也就離我而去了。

img 終於到最後的3K,真的是快解脫了。全半跟超半馬也是在此分開。全馬還要左轉台21線,補足13公里到全馬的42公里。當下我真的很慶幸我只需要再跑3K就可以收工。最後的3K是個魔鬼上坡路段。

img 還好沿途開始出現大量的暨大同學志工,幫我們加油打氣。

img

這時就是一步一步的堅持,雖然只能龜速前進。慢慢吃掉最後的3K。但當開始聽到熱鬧的會場麥克風聲音時,我知道離會場已經很近。志工們也列隊跟我擊掌加油!令人非常的感動,,最後也順利的回到終點。

img 最後到終點時,全馬計時錶已經來到4小時半。

img 終點有志工妹妹幫忙掛上獎牌。獎牌不同於一般的金屬材質,這場是特別的琉璃材質

這次超半馬也是特別有意義,因為這場是我的好同事Alvin的初馬。他因為膝蓋受傷的關係,已經錯過了好幾場已經報名的全馬賽事,只能選擇棄賽 …

2013田中馬拉松-初馬42.195公里挑戰

img

今年也參加了近十場路跑活動, 但是這些都是之前設定為了我的初馬:田中馬拉松所做的準備。七月底報名看到同事Alvin在搶報名馬拉松,只是一股湊熱鬧的心態也就跟著報名,那時侯頂多在碧湖公園練習跑個10公里。三個月訓練下來雖然有半馬21K跟超半馬23K賽事的經歷,但是前陣子卻因為意外而導致掌骨骨折。讓自己有個藉口可以鬆懈,中斷練習了二個星期。而自己也大意沒有確實練習長距離30K的LSD。路跑當天還是硬著頭皮上場,面對這場人生初馬。

img 出發!

img 剛開始出發就被海軍陸戰隊的管樂演奏給感動,

img 補給大部份都是水果。

img

田中馬的最大特色,就是全鎮鄉民總動員幫選手加油。 img 沿途也都可以看到民眾自製加油看板幫忙加油打氣。

但其實這場初馬跑的非常吃力,已經嚴重超過我可以負荷的程度。經過天堂路跟好漢坡的洗禮之後,僅存肌力完全被吃光光。開始整路步兵。

img

到了30多K時,發現後面慢慢的人也就逐漸地變少了。志工也開始騎機車在四周巡迴尋找撐不下的跑者。我就憑著一點點堅持,就算跑不動了,我還是希望可以完成這場初馬。我花了七點多小時才抵達終點,足足比表定的關門時間還晚了快一個小時。很感謝補給站熱情的志工,裁判的耐心等待。完成了這場關門初馬。

img

img

Upgrade openssl from source code on Ubuntu

Remove previous openssl installation

$ sudo apt-get remove openssl libssl-dev

Install openssl 1.0.1c from source

$ tar -xvf openssl-w.x.yz.tar.gz
$ cd openssl-w.x.yz
$ ./config --prefix=/usr
$ sudo make install

2013信義葡萄馬拉松-初超半馬23.2KM心得

信義葡萄馬拉松今年2013是第三屆舉辦,因為前兩年的好口碑,加上台灣近年風行瘋跑步活動,所以這場葡萄馬報名一下子就被秒殺了。葡萄馬是我最近參加幾場的路賽最在地化的一場。之前有參與幾場路跑活動,感覺像是外來的客人跟這邊借場地辦活動。但是葡萄馬就完全感覺不同,跑葡萄馬可以感受到整個鄉動員起來的感覺,很棒!!

img

![img](img https://lh3.googleusercontent.com/-dX1S8JgA8Z0/UmETgrq_WhI/AAAAAAAFFsM/gGOX1Mk-xXc/w1024/2013100712280700001.JPG %} 轉錄自信義鄉公所

img 現場大約有二十餘頭的烤乳豬。讓跑者跑完可以享用。這些食物都是用號碼布領取的,所以也不用怕跑太慢會吃不到 XD。

img 雖然沒有室內的寄物處,不過主辦單位有準備大塑膠袋讓大家的包包不會濕掉。

img 半馬的路線圖

img 半馬的高度圖

基本上路線是前半段都是緩上坡,過了一半之後就開始緩下坡,最後2K會再有個挑戰最後意志力的上坡。

img 起跑點

img

img 布農族的長輩用獵槍鳴槍起跑

img 剛開始出發都還是很平坦的大馬路

img 沿路可以看到很多葡萄園 img 目前看都還綠綠的,11月過後才算盛產

img 超半馬跟全馬在這邊分開了,路上都有白色的標記

img 馬路開始愈來愈小條,往山裡面跑了

img 不知不覺就愈跑愈高,往下看下面的跑者就跟螞蟻一樣小

我發現馬拉松有每場都會遇到一些人會帶狗一起跑,葡萄馬也不例外。 img img 小黃跟小白

跑路的中途補給也是很厲害的,葡萄、梅子、蕃茄、香蕉等等

img 轉錄自信義鄉公所

不過,像我這種慢行人員,實際吃到的是這樣: img

不過還是吃得很開心。每次進站都是裝一杯葡萄,邊跑邊吃,吃到下一站。

img 好吃的葡萄

img 跑到最高點往下照的景色

img 小朋友在路邊加油

img 後半段都是緩下坡,所以跑起來就比較輕鬆一些

img 最後2K的時侯,全馬的Richard也回來了,之前苗栗馬Richard也是跑第一名。目前的實力,跑完半馬,全馬的前段班也差不多回來了。

img img 最終抵達終點前的照片

img 終點的補給,飲料,熱粥,山豬肉,梅子汁,仙草茶,水,舒跑,毛巾

img 成績 03:02:04, 總排名 667/1181

img img img 最後再喝一杯馬拉桑手工啤酒(100元/杯),完美的Ending。

Python generate xUnit report for Jenkins

在日常使用的Test Framework所產出的Test Report並不是標準的 JUnit 格式。所以這使得想要回傳Test Result到Jenkins的時侯,沒辦法把 Test Result 顯示在Jenkins的Build的結果上面。然而產生JUnit report的功能在一般的Test Framework像是nose跟py.test都有,像是nose就有一個plugins是專門在處理這個問題,或者是py.test可以直接使用py.test --junitxml=path來產生。可惜我的工具沒有。所以只好自己弄一個了。在此記錄要如何完成這個任務。

上網 Google了一下有關JUnit XML format到底長怎樣,找到Stackoverflow這篇有討論,基本上可以解決90%的疑問。有關XML的定義可以從.xsd檔中找到,而JUnit的.xsd檔,這邊可以下載。我使用XMLPad來打開,再掛載xsd的schema檔,手動體驗一下 xml 的format,基本上最簡單的的JUnit Report大概是這樣:

<testsuites xsi:noNamespaceSchemaLocation="file:///D:/junit-4.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<testsuite name="INSTALLATION RAT">
    <testcase classname="INS_RAT_0001" name="Test Case Title Sample 1" time="0.046">
      <system-out></system-out>
    </testcase>
    <testcase classname="INS_RAT_0002" name="Test Case Title Sample 2" time="4.868">
        <failure message="case failed …

20分鐘了解 CPU 基本運作

這兩天發現了一個不錯的教學影片,用二十分鐘左右的時間介紹CPU的基本運作原理,相當值得一看。

這個影片主要是來自一本書《But How Do It Know》,天瓏這本代訂購一本賣 946,薄薄的一本,只有2百多頁。這本書虛構了一個Scott CPU來舉例,我看完教學影片做了一些筆記當參考:

Instruction Set

CPU 基於最基本的 Instruction Set 來達成複雜的工作。例如:

  • Load a number from RAM into the CPU
  • ADD two numbers toether
  • STORE a number from the CPU back out to RAM
  • COMPARE one number with another
  • JUMP IF Condition to another address in RAM
  • JUMP to another address in RAM
  • OUTput to a device such as a monitor
  • INput to from a device such as a keyboard

基本元件

從這個影片中,整理一下一些元件的用途

Random access memory(RAM)

其 Random 之意就是代表可以隨意存取某個Addreess的資料。RAM主要分兩部份,Address 和 Data。CPU 可以要求從某個 …

Mobile is eating the world

這個投影片還蠻不錯的。用數字說明Mobile是如何正在主宰整個資訊產業

其中我看到的一些事實

  • Smart phone 和 tablets 從 2007 年開始僅花了四年的時間,從於2011年開始每年的銷售的裝置數已超越PC。
  • PC平均每4~5年更換一次,Mobile device平均每2年更換一次
  • Mobile相較於PC所擁有的一些優勢:
    • 知道使用者的所在位置: location based service(LBS),
    • Apps 之間常常有密切的整合服務: 地址用 Google Map開,影片用 Youtube開, 文章記錄到 Evernote中
    • Prediction. 因為手機是使用者一天當中長時間持有,用取得使用者的資訊比較多,較容易做出一些預測服務(Ex: Google Now)
    • 其它的像是 NFS, Image recognition 目前似乎還沒有看到什麼殺手級應用
  • 自帶微軟系統的裝置數量直線下滑,微軟在資訊產業的影響力逐漸變小
  • 行動裝置由 Apple 和 Samsung 主導市場
  • 電子閱讀器市場平緩進步: Amazon 營收逐年增加,但淨利卻只有持平
  • 電子商務逐年增加,新創公司常常做商品導購的服務
  • 行動世界的四巨頭: Apple, Google, Facebook, Amazon

從 Octorpess 搬家到 Pelican

這是一個披著Octopress皮的Pelican. XD

前幾天的參加了PyConTaiwan後,對於Python的忠誠度又提升了不少。於是就一時興起Survey了一下Python的Blog系統,花了一些時間,從原本Rudy 的 Octopress blog系統轉換到Python的Pelican Blog系統了。Octopress也沒有什麼不好。但是畢竟octopress是一個我沒有接觸過的Ruby語言,當需要做一些調整,想要去看程式碼時,總是沒有比我比較熟悉的Python來得親近。但是,因為Octopress的外觀實在簡單好看,又希望盡量無痛轉移,於是我就選擇了pelican-octopress-theme,做為我的佈景主題。

從Octopress搬到Pelican,我主要是參考這篇Migrating from Octopress to Pelican文章,裡面有詳盡的Migrate步驟。

Pelican 的優點

  • 100% Python
  • 是目前最活躍的Python Blog 之一
  • 是Static Page Blog系統,快,安全。

Deploy 到 Github Page

Github 的 user page。靜態網頁一定要放在Masterbranch,而我開了另一個Source branch來放原始的Markdown檔案。使用ghp-import這個工具(沒錯,這也是Python的)可以讓deploy到github上更方便,可以平常就待在source branch來維護原始檔案的更新,而deploy則是透過指令,自動更新到Master branch,指令如下:

pelican -s pelicanconf.py content/ && ghp-import output -b master -p

也可以加到Makefile的git,裡面預設是gh-pages,記得改成 master

github: publish
    ghp-import output -b master -p

這樣之後執行make github …