Cody Blog

關鍵18分鐘(18 Minutes)筆記

18 minutes

作者Bregman在這本書提到要如何找到人生的focus,提出了四個原則:

  1. Leveraging my Strengths
  2. Embracing my Weaknesses
  3. Asserting my differences
  4. Pursuing my passion

所謂的18分鐘

  1. 早晨的規劃(5分鐘): 決定如何讓今天是成功的一天
  2. 重新專注(1分鐘/小時):

產生動機的三個秘密

成就動機理論(Achievement Motivation Theory),又稱三種需要理論(Three Needs Theory),由心理學家大衛·麥克利蘭提出。

  • 成就(Achievement): 渴望挑戰與成功
  • 認同(Affiliation): 渴望建立友好的人際關係
  • 權力(Power): 渴望較高地會地位,影響別人與得到自我的尊重

當人有機會得到成就認同權力。就算沒有一個明確的願景,他們仍然會自動自發。而對於不同個性,對於這三種需要的成份就不太一樣。對以上三種需要分別施以不同的激勵措施:

  • 需要成就:及時給與其工作績效的明確反饋信息,使其了解自己是否有所進步;為其設立具有適度挑戰性的目標,避免為其設置特別容易或特別難的任務
  • 需要權力者: 設立具有競爭性和體現較高地位的工作場合和情境
  • 需要認同者: 設立合作而非競爭的工作環境

Inbox three day rule [25]

定期清理 Todo list 的 Inbox,當一個事項待超過三天就代表他該被處理了,建議是下列四種之一

  1. 馬上做(Do It immediately)
  2. 排定確切的行事曆中(Schedule It)
  3. 就直接刪除吧(Let it go),也許他不是那麼重要
  4. 丟到 Someday/Maybe List,以後心寫來潮的時侯再挑來做。

節錄

  • The time to …

Route notes

不同的目的IP走不同的 Interface

route change 10.1.0.0 mask 255.255.0.0 10.201.128.1 if  13 metric 150
route add 10.45.0.0 mask 255.255.0.0 10.1.247.254 if 10 metric 1
route add 10.1.0.0 mask 255.255.0.0 10.1.247.254 if 10 metric 1
route add 10.28.0.0 mask 255.255.0.0 10.1.247.254 if 10 metric 1
route add 211.76.0.0 mask 255.255.0.0 10.1.247.254 if 10 metric 1

Add Route Rule …

2013台北富邦半馬

kanban

台北富邦馬拉松是我2013的最後一場路跑賽。從2013八月開始路跑,短短半年,繳了不少銀子。總共參與了:一場全馬(田中馬),二場超半馬(葡萄馬、日月潭馬),二場半馬(苗栗馬、富邦馬),以及一些短程路跑(樹林閃光夜跑,新山夢湖路跑賽,貢寮山水鐵道路跑,猴硐懷舊鐵道路跑,動物園路跑)。因為自己的體重不算輕,也跑不快,只能說完全是跑興趣的,跟著大家全民瘋路跑。當然也是訓練自己,讓自己有個動機可以持續運動下去,使自己體態可以健康一些。總結下來半年跑下來,體重減了6公斤,也算是個大收護。

img

rain

自從田中馬之後,膝蓋在跑超過一定距離之後都會疼痛,簡單的Google之後,應該是plica syndrome(皺襞症候群)。經過短暫休養之後,日月潭超半馬還是在7K之後開始疼痛。而富邦半馬則是直到一半約12K才開始輕輕的痛。但還好都可以持續跑下去而不步兵。事實證明跑前的睡眠真的很重要,田中初馬可能就是前一天睡太少,而讓自己受傷。富邦馬全程都下雨,是我第一次雨中跑路跑。富邦馬最開心的就是,只剩下最後三公里的時侯, 進入市區,看到一列幫忙加油打氣的民眾,擊掌後,發現自己還還殘存一些力氣可以加速!最終成績比苗栗半馬進步了15分鐘左右: 2小時35分28秒(7.5 Min/KM)。順利破了自己的半馬最佳記錄。沒進步太多,留一些空間給2014繼續加油 XD。

certificate

start

How to build M2Crypto to support AES 256 in CTR mode

M2Cryto library is out of date. The latest version was released on 2011, so there are some new features provided by OpenSSL are missing. For example, If you want to support AES 256 CTR, you need to build M2Crypto by yourself.

Download M2Crypto source code

Download the M2Crypto 0.21.1 from here

Install necessary packages

$ sudo apt-get install build-essential python-dev swig libssl-dev

Modify M2Crypto-0.21.1/SWIG/_evp.i

Near:

%rename(aes_256_ofb) EVP_aes_256_ofb;
extern const EVP_CIPHER *EVP_aes_256_ofb(void);

Add these two lines:

%rename(aes_256_ctr) EVP_aes_256_ctr;
extern const EVP_CIPHER *EVP_aes_256_ctr(void);

Modify M2Crypto-0.21.1/SWIG/_ssl.i

Remove these …

Dropbox CEO Drew Houston 分享成功的三大關鍵

img

Dropbox的CEO Drew Houston在MIT的2013畢業典禮,分享他人生小抄(cheat sheet):

網球,圈子,30000

找到你的網球

只找到喜歡的事物去做是不夠的,你很容易說服你喜歡做這件事。Drew發現很多成功的人士都對一些重要問題著迷(obsessed)。就像小狗追網球一般,因為我也有養過小狗,所以我很能體會狗追球的執着程度。我相信狗追球是一種天性。幾年前,我養的米格魯那時才二個月大剛帶回家時,她就很喜歡追球到處跑,完全不需要教,自己就會。當你把球拿在手上的時侯。眼神是極度專注的,只會盯著你的球看。你的球移到那邊,眼神就跟到那邊,著魔地地堅定不移。當你預備把球丟出時,甚至你的球還沒有離手,她就會忍不住往前衝刺追球。

img

成功的關鍵1: 用著迷的態度去解決重要的問題

找到最適合你的圈子

好的圈子會迫使你成長,人們通常只與5個人在一起的時間最長,這5個人可能是你的親友或是同事。無論你做什麼,通常頂尖的人才都只在一個地方聚集,到那邊去。找到圈子裡的偶像,那將會是你的優勢。

成功的關鍵2: 到頂尖的圈子裡

人的一生就30000天

Drew提到人的一生平均只有3萬天。不要嘗試讓你的生活完美,而做一個完美的規劃,完美的規劃跟本不存在。Drew 認為最好的學習,就是實踐。給自己一個去自由冒險的機會並且成長。

而我自己也用 Python 算了一下:

>>>(datetime.datetime.now() - datetime.datetime(1985,10,25)).days
10275

我已經在這世界上超過一萬天了,也就是只剩下2/3不到的時間。

成功的關鍵3: 嘗試有趣的冒險而非完美的規劃

延伸閱讀

安裝ThinkFan風扇控制軟體

安裝 Thinkfan

$ sudo apt-get install thinkfan

開啟風扇控制權

系統預設並不容許直接控制風扇速度,所以需要特別設定thinkpad-acpi的config值:

$ sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkpad_acpi.conf

重新載入thinkpad_acpi driver 套用新的設定值

$ sudo modprobe -rv thinkpad_acpi
$ sudo modprobe -v thinkpad_acpi

修改 thinkfan 設定檔

thinkfan 設定檔在 /etc/thinkfan.conf,主要可以設定的要用那些sensor以及設定溫度與轉速的規則。首先先找到溫度量測的檔案:

$ find /sys/devices -type f -name "temp*_input"

以x220為例,一共找到四個檔:

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/temp3_input
/sys/devices/platform/coretemp.0/temp1_input
/sys/devices/platform/coretemp.0/temp2_input

把這四行寫入到 /etc/thinkfan.conf

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp3_input
sensor /sys …

Using vim as a man-page viewer under Linux

If you use bash, just add the following script in your ~/.bashrc:

export PAGER="/bin/sh -c \"unset PAGER;col -b -x | \
    vim -R -c 'set ft=man nomod nolist' -c 'map q :q<CR>' \
    -c 'map <SPACE> <C-D>' -c 'map b <C-U>' \
    -c 'nmap K :Man <C-R>=expand(\\\"<cword>\\\")<CR><CR>' -\""

Compare with the original Main

Main

Main in VIM has good looking with syntaxheight.

Man in VIM

Reference:

Linux在充放電切換時執行特定指令

Linux筆電在充放電的時侯可以執行特定指令。例如我們想增加電池的使用時間,可以在電池放電的時侯,把一些較消耗資源的背景程式先暫時暫停,等插回AC電源的時侯再重新開始。這邊以暫停Insync為例:

方法一 /etc/pm/power.d

我們可以放script放到/etc/pm/power.d來達成,當進入電池模式的時侯會帶true參數,而離開電池模式的時侯會帶false參數,只要新增一個檔案,例如/etc/pm/power.d/00-powersaving加入以下內容,實際指令就依照自己的需求修改:

case $1 in
    true)
        echo "Enable screen power saving"
        sudo -u cody insync pause_syncing
    ;;
    false)
        echo "Disable screen power saving"
        sudo -u cody insync pause_syncing
    ;;
esac

最後記得再加上執行權限sudo chmod +x /etc/pm/power.d/00-powersaving

方法二 /etc/acpi/power.sh

Linux 有一個指令 on_ac_power,如果回傳0代表是AC,如果是用電池的話,則回傳1,例如:

On AC Power

$ on_ac_power 
$ echo $?
0

On Battery

$ on_ac_power 
$ echo $?
1

所以透過這個指令,我們就可以修改/etc/acpi/power …

Update ThinkPad BIOS in Linux with a USB disk

In this post, I recorded my ThinkPad x220 BIOS update steps. In Windows, we can use BIOS Update Utility provided by Lenovo, but it's only available in Windows platformas. For Ubuntu user like me, we can still update BIOS with a USB disk.

Download BIOS Update Bootable CD

The latest version is 1.39(2013/11), Go to lenovo support site:BIOS Update Bootable CD for Windows 8 (32-bit, 64-bit), 7 (32-bit, 64-bit), Vista (32-bit, 64-bit), XP - ThinkPad X220, X220i, X220 Tablet, X220i Tablet, download 8duj25us.iso(31.6 MB)

Download geteltorito.pl to generate boot image

$ wget 'http://www …

Bash Shell 快速鍵 (emacs-style)

執行/中斷/輸入

  • Ctrl-C: 終止正在執行的程式
  • Ctrl-L: 清除Terminal畫面,同clear指令
  • Ctrl-Z: 將該工作放到背景中暫停, 使用jobs看工作號碼(job number), fg 取回
  • Ctrl-J: Enter,不用離開鍵盤,還不錯

進階

  • Ctrl-D: 離開 Shell
  • Ctrl-x, Ctrl-e 開啟vim,可一起執行多個指令
  • Ctrl-V TAB: 輸入 TAB,而不是命令列擴展
  • Ctrl-V: 加上要輸入特殊字元, ex: Ctrl-V Ctrl-D 會出現 ^D

移動

  • Ctrl-A: 回到此行最前面(同Home鍵)
  • Ctrl-E: 到此行的最後面(同End鍵)
  • Ctrl-F: 游標向後移動一格(不想要用arrow key時可多加利用)
  • Ctrl-B: 游標向前移動一個(不想要用arrow key時可多加利用)
  • Alt-B: Back(left) one word
  • Alt-F: Forward(right) one word

查找

  • Ctrl-N: 找下個指令(同下箭頭)
  • Ctrl-P: 找上個指令(同上箭頭)
  • TAB: 擴展要輸入的檔案到命令列上(上/下箭頭: 開始搜尋過去的命令)
  • Ctrl-R: 打關鍵字搜尋過去的命令, 搭配 Ctrl-r/Ctrl+Shift+r,可來回尋找

進階

  • Ctrl-I: 同 Tab
  • Ctrl-S: 暫停輸出到畫面上,讓stdout定格(搭配Ctrl-Q使用)
  • Ctrl-Q …