詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

スーパーハッカーの夢を諦め、普通自動車免許を取得しました

photo by Thomas Hawk

表題の通りです。実のところ、もう一年も前のことになります。

優秀なエンジニアの多くが自動車免許を所持していないことは有名な事実です[要出典]。私も彼らに憧れ、免許を持たずに生活していましたが、歳を取るにつれ「自分はスーパーハッカーにはなれない」と次第に実感してきたこと、新たな自分に変身したい、という思いと、あまりに暇でヤケになった気持ちから思い立って自動車学校に入学したのが一昨年の年末です。会社に通いながらの教習でしたが、週末と早退・遅刻を活用することで、半年かけて免許を獲得しました。当時のチームメイトに感謝。

すべてを終え、保有者サイドに堕ちてしまった私からそうでないあなた方に伝えられることは……「初心者マークの車に近づくな」。いち歩行者しかなかった頃は車であればどれも同じやろと考えていましたが、運転する側になると全然違う。初心者マークの車は生まれたての子馬のような存在です。それでいて研ぎ澄まされたナイフのようでもあります。近づかず、優しく遠巻きに見守ってあげてください。それがお互いのためです。

あと教習日記をつけていたのをブログで公開します。まだひと記事しかありませんが、随時更新していきますのでご購読くださいね。(実際の日付を使ってるので古い記事になります)

http://karimen.hatenablog.com/

最後に、自動車を運転するとはどういうことか、と尋ねられましたら、私はこう答えようと思います。「それは魚になって泳ぐ夢のようだ」。この意味が分かるようになる日があなたにもきっと来るはずです。

一発合格!普通免許超速クリア問題集

一発合格!普通免許超速クリア問題集

AdSense のレポートを CLI で確認できるツールを書いた

motemen/adsense-report-cli · GitHub

例によって go get github.com/motemen/adsense-report-cli でインストールできます。

使用例

デフォルトで、直近 7 日間の日毎の収入を表示します。

% adsense-report-cli
DATE            EARNINGS (JPY)
2014-07-01      1
2014-07-02      0
2014-07-03      2
2014-07-04      0
2014-07-05      0
2014-07-06      1
2014-07-07      0

(数字はサンプルです)

dimension, metric などのパラメータを指定することで、自由に知りたい情報を取得することができる。dimension と metric については Metrics and Dimensions - AdSense Management API — Google Developers、日付の指定方法については Using Relative Date Keywords - AdSense Management API — Google Developers を見るとすぐに分かると思います。

% adsense-report-cli -dimension=MONTH -metric=PAGE_VIEWS -from=startOfMonth-3m -to=today
MONTH   PAGE_VIEWS
2014-04 500
2014-05 500
2014-06 1000
2014-07 300

(数字はサンプルです)

前準備

Google の API を使うので、OAuth 認証のために https://console.developers.google.com からプロジェクトを登録する。またその際、

  • "APIS & Auth" > "APIs" より "Adsense Management API" を有効にする
  • "APIS & Auth" > "Credentials" > "OAuth" > "Create new Client ID" より "Web Application" を登録し、Redirect URI として "http://127.0.0.1" を登録する
    • f:id:motemen:20140707134259p:plain

  • 登録したアプリについて "Download JSON" から client_secret_XXXXX.json をダウンロードし、~/.adsense-report-cli/client_secret.json に置く

必要があります。あとは初回起動で OAuth 認証するだけ。大変だけどがんばって!

応用例: tmux のステータスバーに今日の収入を表示する

誰だって自分の収入は気になるもの。ステータスバーに収入を表示して、自然と目に入るようにしてみては?

以下のスクリプトと設定で表示してみた例です。う〜ん便利

f:id:motemen:20140707135226p:plain

(数字はサンプルです)

# ~/.tmux.conf
set-window-option -g status-right "#[fg=green]#(adsense-todays-earnings)#[default] | %Y-%m-%d(%a) %H:%M:%S"

Show today's AdSense earnings using https://github ...

Known issues

  • 複数の dimension, metric に対応していない
  • 複数アカウントに対応していない
    • あとから気づいたのでやってない。ちょっと書いたらすぐ対応できそう。

motemen/adsense-report-cli · GitHub

現在 Chrome で開いているプルリクエストを一発でチェックアウトするスクリプト

プルリクエストをレビューしていて diff を見たら意外とでかいぞ手元で1コミットずつ見るか……となったときにブランチをいちいち確認してチェックアウトするのが面倒なので一発でやってくれるシェルスクリプトを書いた。

chrome-cli を使うので OSX のみ。もうこれでオチたようなもんだけど、以下をパスの通った場所に置いたらオッケーです。Chrome で現在開いているタブが GitHub のプルリクエストページであるとき、その PR に対応するブランチをチェックアウトしてくれる。リポジトリオーナーではない所からのプルリクエストの場合は、ユーザ名と同じ名前の origin を登録してブランチをチェックアウトします。

Git: checkout "this" (currently shown in Chrome) P ...

f:id:motemen:20140704132228p:plain

こんな感じに動く。シェルスクリプトで文字列操作するの面倒だなーと思ってたけど、Chrome の中なら JavaScript が使えるので便利だった。

はてなで一緒に働きませんか?