[Ruby] capistrano_rsync_with_remote_cache で deploy:cleanup した時に最新のリリースディレクトリが削除されてしまう問題

capistrano_rsync_with_remote_cache で deploy:cleanup した時に最新のリリースディレクトリが削除されてしまうのでソートを直すパッチを送ったのだけど、はじめての pull request ということもあり、残念な結果になりそう。これ、絶対他の人も遭遇していると思うんだけど、ぐぐっても困っている人がいないのは何でだろう。(´・_・`)

https://github.com/capistrano/capistrano/pull/287

ただ、同様の部分でまた別の人がつい最近 pull request を送っていた。私のパッチに触発されたのかどうかはわからないけど...このソートのロジックはやはり問題がありそうだ。

https://github.com/capistrano/capistrano/pull/289

[ライフハック] 技術メモをマークダウン記法にして git 管理

技術メモの書式と格納場所について、テキストファイルだったり Evernote だったり長年頭を悩ませてきたけど、マークダウン記法にして git 管理する方法に落ち着きそう。bitbucket だとプライベートレポジトリが無料なので cheatsheets というレポジトリを作成して *.md ファイルをどんどん突っ込んでいくことにする。

ただ bitbucket 上から特定のレポジトリのみ対象で検索はできないみたい。。。ターミナルからできるからいいんだけど。。。

[Linux] 困った時のおまじない ... free よ蘇れ

シータ「えーん、えんえん・・・(泣いている)Linux の free (free+buffer+cache) が足りない...」
おばあさん「それは困ったねえ、そうだ、シータ、いいことを教えてあげる。used_memory が増えて free が足りなくなった時のおまじない。」
シータ 「おまじない?」
おばあさん「そう。カーネルにお願いする秘密の言葉。sysctl -w vm.drop_caches=3」
シータ 「sysctl ... ぇ?」
おばあさん「『我を助けよ、free よ甦れ』という意味なの。ぶっちゃけ 1だとイオ、2だとイオラ、3だとイオナズン的に効くって感じ」

[kyagi@sakura ~]$ cat /proc/sys/vm/drop_caches 
0
[kyagi@sakura ~]$ free
             total       used       free     shared    buffers     cached
Mem:       1026876     533172     493704          0     191920     268016
-/+ buffers/cache:      73236     953640
Swap:      2048276          0    2048276
[kyagi@sakura ~]$ sync
[kyagi@sakura ~]$ sudo /sbin/sysctl -w vm.drop_caches=3
vm.drop_caches = 3
[kyagi@sakura ~]$ cat /proc/sys/vm/drop_caches 
3
[kyagi@sakura ~]$ free
             total       used       free     shared    buffers     cached
Mem:       1026876      37964     988912          0        292       6472
-/+ buffers/cache:      31200     995676
Swap:      2048276          0    2048276
  • buffer と cache についての説明はここがわかりやすい。今は bdflush じゃなくて pdflush だけど。。。

http://www.faqs.org/docs/linux_admin/buffer-cache.html

  • ここもわかりやすい(日本語)

http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html

Mac de 自動化

Wish(Mac 版 Tcl/Tk 実装) と AppleScript と Shell を組み合わせて、アイコンクリックでターミナルを開いて該当のサーバに接続したり、特定の URL を開かせたりしちゃいました。(^_^)

https://gist.github.com/3900214
https://gist.github.com/3900356

.ssh/config からサーバ名で ssh 接続できるような alias を作成する

.ssh/config にまとまっているサーバ情報からサーバ名で ssh 接続できるエイリアスを一括作成してみた。エイリアスにするとタブ補完も効くので嬉しい(実際には githubssh 許可していないので例)

$ cat ~/.ssh/config
############################################################
# github
############################################################
Host github
  HostName        github.com
  IdentityFile    /Users/kyagi/.ssh/id_rsa_github
  User            git

############################################################
# bitbucket
############################################################
Host bitbucket
  HostName        bitbucket.org
  IdentityFile    /Users/kyagi/.ssh/id_rsa_bitbucket
  User            git

############################################################
# sakura
############################################################
Host sakura
  HostName       aaa.bbb.ccc.ddd
  IdentityFile    /Users/kyagi/.ssh/id_rsa_sakura
  User            kyagi

こんな感じ。bash有機能のプロセス置換 <() を使っているのでスクリプトにする時は shebang を #!/bin/sh でなくて #!/bin/bash にする必要がある。

$ paste <(grep ^Host config) <(grep HostName config) <(grep 'User ' config) | awk '{ printf("alias %s=\"ssh -A %s@%s\"\n", $2, $6, $4); }'
alias github="ssh -A git@github.com"
alias bitbucket="ssh -A git@bitbucket.org"
alias sakura="ssh -A kyagi@49.212.38.52"

https://gist.github.com/3899895

プライベートレポジトリは github だと課金が必要だけど、bitbucket だと無料なので、 github はパブリク用、bitbucket はプレイベート用と使い分けるようにしている。

[ライフハック] Bookscan + Dropbox

Dropbox を有料版(100Gで$99/年)にアップグレードして、自炊した英語本200冊と bookscan に頼んだコンピュータ本400冊を格納した。バックアップのストレスがなくなるし、どこからでもアクセスできるので便利。何よりすっきりした。(^_^)

やっぱりロングマンは最高

iPhone/iPad 用のロングマンの辞典 app が iTunes Store でセール中ということで、英和辞典を購入しました。この 3 年ぐらいずっとロングマンの英英辞典を毎日使っていましたが、英和辞典はこれがはじめてです。なるべく「英語で考える」ために英和辞典の使用を自分自身で禁止していましたが、英英辞典の定義を読んでもたまに「?」となることがあると、英辞郎などで調べてしまうことがありました。

使用しているうちに、ふと気がついたのが、同じ単語で英英/英和辞典をスムーズに行き来できることです!(スクリーンショット参照)。しかも英英/英和で同じ例文が使用されているので、同じ例文で英英/英和を往復できます。ちょっと、奥さん、これ感動モノですよ。Must Buy ですよ。でもお値段お高いんでしょう? それが今セール中でたったの 2,300/2,200 円、新渡戸さんと漱石さん1人ずつ出したら2つとも手に入っておつりがきちゃう(以下略。注) ロングマン関係者ではありません)。



http://itunes.apple.com/jp/app/ronguman-xian-dai-ying-ying/id316133247?mt=8

http://itunes.apple.com/jp/app/ronguman-ying-he-ci-dian-he/id289569759?mt=8

英和辞典を使うのが英語学習者にとって是か非かという議論はさておき、この 2 つのロングマンの app は非常に良く出来ていると思います。英英辞典のほうもこの 3 年間で地味にアップデートを繰り返し、正規表現検索ができるようになったりして着実に進化しています。かゆい所に手が届く心遣いに本当に感謝です。

※また、無料で以下の英和会話術という app が提供されています。こちらは単純な日本語→英語では伝わらない同意語を細かいパターン別に整理しています。例えば「同意する」でも「意見に賛成する」「強く同意する」「部分的に同意する」「依頼・提案に応じる」の 4 つのパターンでそれぞれ実際的に使われるパターンを示してくれているのでニュアンスの違いを把握するのに役立ちます。またエッセイ・ボキャブラリは「アートと文化」「教育」「政府・政治」「医療・医学」などの分野別の基本ボキャブラリをそろえているので TOEFL 向けに役立ちそうです。

http://itunes.apple.com/jp/app/longman-ying-he-hui-hua-shu/id323974369?mt=8