Cody Blog

AWS IAM 修改使用者帳號密碼

在 User Group 加上以下的 Inline Policy :

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": [
        "iam:ChangePassword",
        "iam:GetAccountPasswordPolicy"
        ],
        "Resource": "*"
    }
}

inline policy

Reference: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_enable-user-change.html

實現免密碼 ssh 登入遠端主機

建立 RSA 的 Key

如果之前沒有建立過 RSA 的 key,就可以先建一把:

$ ssh-keygen

過程直接一直按 enter 即可

Copy ssh public to remote

RSA 由一組 public key 跟 private 組成,為了要能實現免密碼登入 remote machine 必須安裝 public key (id_rsa.pub) 到 remote machine:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub cody@172.24.22.63

執行免密碼登入

$ ssh cody@172.24.22.63

Note: 當發生 /usr/bin/ssh-copy-id: ERROR: No identities found 的錯誤時,記得加上 -i 參數指定 public key 的位置,例如:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub mitra@172.24.22.63

Reference:

怦然心動的人生整理魔法 2

book-cover

先做好整理的基本功

以「能否讓自己心動」為前題,把讓自己不心動的東西丟掉。這也是本書第一集的重點。要先做好這一步,後續的整理才有意義,成功率也可以大幅增加。

區分整理

  • 不要把整理跟打掃混為一談,整理是面對物品,而打掃則是面對污垢
  • 整理可以長久做一次,並減少打掃的困難度。
  • 而整理收納就是要決定物品的家

私人能量景點

  • 擁有自己的私人空間做,放置讓自己心動的小物做為能量景點

收納技巧

  • 收納四原則: 折疊、直立、集中、隔成四方形
  • 直立的目的是為了可以看清楚每一件物品的位置

整理的順序

  1. 衣服
  2. 書籍
  3. 文件
  4. 小東西
  5. 紀念品

廚房收納

  • 只要做飯的人認為家裡的廚房是一個可以開心做菜的空間,就是最好的狀態
  • 廚房收納要以容易清理為前提而不是容易拿取

製作一本回憶相簿

  • 對面大量的數位照片,挑出自己心動的照片會比刪掉拍不好的照片來得有效率的多

把靜態網站架設在 Amazon S3 上

以下是把 S3 的 Bucket 設定成 Static Website 的關鍵步驟:

  1. 在 Bucket 設定中,把 "Enable website hosting" 功能啟動

    enable static web

  2. Edit Bucket Policy Editor

    permission

    img

    輸入以下內容

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::<YOUR_BUCKET_NAME>/*"
            }
        ]
    }
    

    最後即可在 Endpoint 看到該 bucket 所對應的網址

    endpint

2014 日本東京馬拉松

至今在台灣參加了十幾場的路跑賽事。但是讓自己衝擊最深刻的還是今年二月到日本參加的東京馬拉松,參加馬拉松的心態其實也不是想跟誰拼個輸贏,大多是想感受現場的氣氛。而在東京街頭,你會很懷疑是從那邊冒出那麼多的民眾。全線42公里,真的不跨張,全線都站滿了應援團的民眾,就算只是剛從起點出發,都會有種似乎快到終點,接受英雄式的歡呼的感覺。所以即使是只有6度左右的寒冷天氣,還是讓人一開始起跑就熱血沸騰!

起跑

沿線民眾

沿線民眾2

東京鐵塔

總結整個東京馬的三大重點就是: Cosplay補給日本人對於賽事的態度

Cosplay

東京馬的一大亮點就是超超超多有趣的Cosplay。日本真的是Cosplay大國,除了跑者會打扮成各種人物之外,路邊的應援團也有很多人都精心打扮。即使是穿著簡單的蕃茄,也都會受到民眾熱情的加油 「Tomedo 頑張って」。發現日本正在流行一款吉祥物船梨精(ふなっしー),是個讓很多小朋友政太,蘿莉為之瘋狂的水果。Cosplay台灣人也沒有缺席,三太子也一整個超吸晴的。熱情的民眾,讓人敞開心胸,這輩子也從來沒跟那麼多人自拍過,整個玩開了。

三太子

ふなっしー

茄子

Banana

Sumo

水手服

小偷

老外

馬力歐

耶穌

米尼

LEGO

Mario Family

Rangers

飯團

皮卡丘

鬼

日本武士

吹Tuba大叔

ET

補給

東京馬的補給非常齊全,即使跑在後段班也完全不用擔心會有吃不到東西的問題。

官方-紅豆麵包

官方-巧克力

香蕉

{% youtube MPaRrcQ3Ld4 %}

白酒

跑馬還有白酒可以喝 ~

熱咖啡

熱咖啡

蛋糕卷

Amino Value 在國內跑馬界評價很高的運動飲料,大家都叫他橘水。

草莓

民眾提供的橘粉

在比賽的中後段,沿路開始出現很多民眾提供冷凍、酸痛噴劑。讓我的關節肌肉舒緩很多

噴劑

母女

巧克力棒

態度

日本對於舉大型馬拉松賽事的態度真的很讓人佩服,東京馬的賽道就是在東京市區跑一條十字:

賽道

整個市區可以封道,也代表東京市民可以容忍交通的不便,沿路的各個補給站都配置了大量的志工:

水站

終點寄物

地鐵配置了大量的廣告宣傳,讓民眾知道這個活動,以及可能造成的交通不便

地鐵廣告

地鐵廣告2

最後進入終點之後,工作人員親手披上毛巾跟獎牌:

終點

獎牌

在前一天的 Expo,大會有提供很有用的小冊子,可以讓親友團知道如果預計幾小時完賽的話,幾公里會在那個地鐵站出現,要在那個地鐵站等侯

手冊

後記

最後195公尺,果真是最慢長的,因為跟本捨不得進入終點阿

最後195公尺

捨不得進終點

Alvin 跟推抗的T社同事合照

如同跑馬界常流傳的一句話,「跑馬拉松沒有奇蹟,只有累積。」東京馬是我第二個全馬,成績為5小時56分,速度大致上用7分半速來跑,我每個水站/運動飲料站都會停下來,看到有趣的補給也會停下來吃吃喝喝,跟民眾擊掌等等。

距離     大會時間   晶片時間   分段時間  日本時間
5km     00:52:10 (0:36:11)  0:36:11 10:02:10 …

使用 south 來做 Django database migration

一般在 Django 底下更動 model 的時侯,必須使用 syncdb 這個指令,把修改的 model 同步到 database 之中,但是有個限制,就是只有新的 model 才會被更新,已經存在的 model 就不會更動,此時就需要south的幫忙。在 django 1.7 之後,這個 library 正式被整進到 django 之中。不過目前我手頭上的專案還是以 1.6 為主,所以還是要筆記一下。

初始化 south

安裝完 south 之後,第一次先執行 syncdb 把 south 相關的south_migrationhistory 新增到資料庫中。

$ ./manage.py syncdb

開始 migration

首先要介紹的是 schemamigration <APP_NAME> --initial,這個指令會在 app 資料夾下面產生一個 migrations 資料夾。如果是第一次執行的話,裡面的檔名會是 0001_initial.py 開頭,裡面會記錄如何從無到有,把資料表建立起來。

def forwards(self, orm):
    # Adding model 'UserModel'
    db.create_table(u'dusers_dmodel', (
        (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),

此時可以執行 syncdb 做一下確認

$ python manage.py syncdb …

使用 Pyenv 管理多個 Python 版本

pyenv 是一個 Python 版本管理器,也可以安裝 pyenv-virtualenv 達來支援 virtualenv 的功能。

安裝 pyenv 和 pyenv-virtualenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ sudo pip install virtualenv

In Ubuntu:

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

Or, 使用yyuu/pyenv-installer

把下列加到 ~/.bashrc

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

安裝其它版本的 Python

查看可供安裝的 python 版本

$ pyenv install -l
...
3.4.0
3.4.1
3.4-dev
...

如果想要裝 3.4.1 的話,就使用pyenv install

$ pyenv install 3.4.1 …

Install Juniper on Ubuntu 14.04

On Ubuntu 14.04, install Juniper VPN

$ update-alternatives --display java

Requirement

64 bit Mozilla Firefox browser is installed

First, install the 64bit jre/jdk and icedtea

$ sudo apt-get install openjdk-7-jre icedtea-7-plugin

Second, install the 32bit jre

$ sudo apt-get install openjdk-7-jre:i386

link update-alternatives to /usr/sbin/

juniper use it in that folder.

$ sudo ln -s /usr/bin/update-alternatives /usr/sbin/

日本東京皇居慢跑攻略

今年二月參加了2014日本東京馬拉松,比賽的前一天我到了人稱慢跑天堂的「皇居」,跑了5公里當作是賽前練習。在東京都市叢林裡面能有這一大塊綠地真是難得。而在日本皇居週邊,有不少開設給跑者使用的"Runner station"。跑前可以寄物,跑完可以洗澡,也可以租借衣鞋。所以即使突然心血來潮想到,只要帶錢,二手空空也可以很方便的體驗在皇居慢跑。

cover 行前我花了一些時間找了皇居附近的跑站,最後選擇日比谷附近的Raffine Running Sytle。這間分店很新,是2014年1月才剛開幕的,而且收費相較於其它跑站,算是比較便宜的,但是設備服務很好,是一間CP值很高的跑站。

door
Raffine 在地鐵的日比谷站 A5 出口,走地下通道就可以直達。基本收費方式只要一個銅板價: 500日元,對於觀光客而言,其實很便宜。反正久久來一次,而且跑完步可以洗澡。不用回飯店就可以繼續之後的行程。

一開始需要填寫一張會員表格,包含基本的個人姓名、連絡方式等等。之後他就會給你會員卡跟寄物櫃鑰匙。另外,店內也有各種尺寸的跑鞋、跑衣褲可以租借。

coin-machine
租借毛巾,跑衣的自動販賣機,日本人真的超會用自動販賣機,什麼都有

rental-shoes
租鞋子100日元。因為我們是來跑東京馬拉松的,所以衣鞋毛巾都有自備,所以換完衣服之後,就準備出發去跑步囉!

650m
從跑站到皇居大約是650公尺,出來之後陸續看到其它日本民眾也要去跑步。

warm-up
等紅綠燈的時間,做做暖身運動,

不曉得是平常人就那麼多,還是隔天就是日本東京馬拉松大賽的關係,可以看到很多人在皇居跑步,但也不至於到壅擠的程度。每個人都跑超快的,歐巴桑也是。跑皇居的路線一圈大約是5公里左右:

route

至於路線,因為跑的人很多,基本上就是跟著別人後面跑就是了,

view view2 view3 view4 view5 景-護程河

back
跑完5公里之後回到跑站,洗澡

sink

spin-dryer
很貼心的提供脫水機,我就有把衣服先用清水沖過再脫水,避免帶一整天會臭掉

shower
shower

大約有十間淋浴間,裡面有供應洗髮精,沐浴乳。 沐浴乳還是那種慕斯的那種,很讚。自助旅行,最有趣的就是可以安排自己有興趣,而一般觀光客不會走的行程。關於皇居跑站,中文的資訊比較少,這篇筆記希望可以有助於之後到日本玩慢跑的旅人們。

店家資訊

  • Raffine Running Style
  • 東京都千代田区有楽町1-5-2 東宝ツインタワービルB1F
  • TEL: 03-6206-1391
  • 東京メトロ各線・都営地下鉄日比谷駅A5出口直結
  • JR・東京メトロ有楽町駅より3分 / 東京メトロ丸ノ内線銀座駅より3分 / 東京メトロ銀座線銀座駅より5分

SSH Tunnel

使 ssh 遠端連線的人很多, 但是 ssh 這個指令其實還有一些很有趣的tunnel用法,可以讓你擺脫一些限制。這邊稍微筆記一下:

Local port forwarding

在本地端開一個 port,然後 remote machine 會把封包轉送到指定的位置:

ssh -L <local_port>:<target_host>:<target_port> remote_user@remote_host

例如本地端防火牆只有開 22 port, 而封鎖了8080 port, 此時可以透過 local port forward 的方式,達到連線到遠端 8080 port。

ssh -L 1234:localhost:8080 cwliu@118.100.100.1

這時連到 localhost:1234,就相當於連線到 118.100.100.1:8080,避開防火牆的效果

Remote port forwarding (Reverse SSH)

這邊的-R代表的是 remote 之意,直接舉個例子

ssh -R 5900:localhost:22 guest@remote-pc

在遠端 remote-pc 會開一個 5900 port,其流量會導到 localhost 的 22 port。實際的應用是當 local machine 沒有固定 IP 的時侯,可以先建立好此 ssh 連線。就可以讓遠端機器透過 localhost:5900 直接連線回local。

SOCKS …