handlename's blog

コード片など

emacs から git diff を開く

emacs 24.2.1 git 1.8.2 tmux 1.7 iTerm 1.0.0.20130319 emacs から tig blame を開く - handlename's blog の派生。 diff も見れたら便利なんじゃないかということで追加してみた。 ついでにリファクタリング。 tmux にコマンド送るのは他にも色々応用でき…

emacs から tig blame を開く

emacs 24.2.1 tmux 1.7 iTerm 1.0.0.20130319 tig blame が便利らしいということで、emacs からさくっと開けるようにしてみた。 git-project-p はこちらから拝借。関数名は変えてある。 http://shibayu36.hatenablog.com/entry/2013/01/18/211428 べんり〜

マージ済みのブランチをまとめて削除する便利スクリプト書いた

git 1.8.1.1 perl 5.16.2 マージ済みのブランチを消したい。 リモートリポジトリにあるのもいっしょに消したい。 というのを叶えるために簡単なスクリプトを書いた。perl。 https://github.com/handlename/bin/blob/master/delete-merged-branches ドライラ…

tmux で直前の window に戻りたいとき

tmux 1.7 last-window にキーバインドを設定しておくと捗る。 むしろなんで今まで設定しておかなかったのか…。 bind-key C-t last-window 自分の場合プレフィックスキーを C-t にしてあるので、 C-t C-t とすれば直前の window に切り替えられる。 大量に wi…

大量のJSONをデコードする場合

全てつなげて一つのJSONにしたほうが速くなるんじゃないかと思ったんだけどそんなことなかった。 #!/usr/bin/env perl use strict; use warnings; use Benchmark qw/timethese cmpthese/; use JSON::XS; my @jsons = map { encode_json({ hoge => 'huga' }) …

Warn::Colorful というモジュールを書いた

printf デバッグをするとき、perl の場合 warn を多用する。 warn はメッセージといっしょに呼び出し元のファイル名/行番号も表示してくれるので 出力元の特定が簡単、なんだけど、 ファイル名/行番号表示に埋もれて肝心の値が見にくいことがあるので、 値 …

時間がかかったら通知する設定を2段階にした

zsh

以前書いた、 時間がかかるコマンドを実行した後に通知する をちょっと改良。 notify_threshold 以上の時間がかかったら notify_notify を実行 notify_threshold2 以上の時間がかかったら notify_notify2 を実行 となるようにした。 次のように書いて、 時間…

helm の C-h を delete-backward-char にする

helm で文字入力中に C-h で delete-backward-char したい。 現時点ではデフォルトの C-h C-d helm-debug-output (helm.el) C-h C-b helm-send-bug-report-from-helm (helm-files.el) を定義しないフラグは用意されていないようなので、無理やり上書きする。…

Chromeウェブストアに拡張を公開してみた

初回費用として$5払えばストアに公開(ただし20個まで)できるとのことなので、 せっかくなのでお布施して公開してみた。 tab anything PostIt スクショとか説明とか、ちゃんと用意したほうがいいかも。 21個以上公開したい場合はどうするんだろう?

emacsでwhitespace-cleanupした時のスタイル

emacs24.2.1 余計な行末のスペースを一括削除するときは、 whitespace-cleanup を使うと便利。 whitespace-style にもとづいて空白文字の整形をしてくれる。 先日拡張 elisp の管理をすべて el-get に移行したら どの部分が原因かはわからないけど whitespac…

package + auto-install から el-get に移行する

auto-install だったり github から個別に clone していたものを el-get に一本化。 https://github.com/handlename/dot-emacs パッケージをリストアップ require や auto-load している部分を grep して抽出。 こんな感じのインストール処理を用意。 (defva…

時間がかかるコマンドを実行した後に通知する

zsh

テストとか、ファイルのアップロードとか、 時間のかかるコマンドが終わったら通知してほしい。 rsync heavy.tar.gz remote:/path/to/dist && <終わったら実行する処理> みたいにしてもいいけど、やっぱり自動で通知してほしい。 zshにはhookというものがあ…

homebrew ディレクトリを home ディレクトリ以下に移動したメモ

追記 こんなエントリを書いておいてなんですが、 結局 /usr/local 以下にインストールし直しました。 libディレクトリの位置が変わったりして、 正常にインストール出来ないパッケージがあるようなので。 brew doctor したときも、デフォルトの位置から移動…

ZNCってひとつのアカウントで複数サーバーに接続できるよね?

znc 1.0 IPv6: yes, SSL: yes, DNS: threads irssi 0.8.15 (20100403 1617) 「複数のサーバーに繋ぐときにはアカウントを同じ数作ろう」っていう エントリをいくつか見かけたけど、 わざわざそんなことする必要ないような。 単に Network タグを並べればOK。 <User handlename></user>…

最近のzshまわり

zsh

色々変更加えたので今どんな感じなのかメモっておく。 zaw https://github.com/zsh-users/zaw zsh で使える anything ライクなインターフェイス。 自分で絞り込み対象を追加できるみたいだけど、 いまのところデフォルトのもので事足りてる。 source ~/dev/c…

Emacs Advent Calenderの12日目書きました

Emacs Advent Calendar 2012 - Qiita 今年はQiitaでやっているということで、そちらに記事を投稿しました。 動画で見るemacs #Emacs - Qiita あいかわらずelisp書いてない系の記事。多少は書けるようになったんですけどね。 過去の記事はこちら。 2010年: or…

ディレクトリの履歴からcanythingで絞り込んで移動する

こういうエイリアスを設定してみた。 alias cda='cd `pushd | tr " " "\n" | sed -e "s/~/\/Users\/handle/" | canything`' ディレクトリの履歴を対象に、canythingで絞り込んで移動先を選ぶ。 ディレクトリを飛び回るときは cd -[TAB] するよりも便利。 以…

xslate-modeとtt-mode

練習でText::XslateとTemplate::Toolkitのテンプレート用マイナーモードを書いてみた。 https://github.com/handlename/xslate-mode https://github.com/handlename/tt-mode とりあえずタグの挿入とハイライトだけ。 名前が違うだけで同じ事しか書いていない…

YAPC::Asia 2012のLT-THONでdvorakのはなししてきた

メインのLTではなくて並行して開催されていたLT-THONの方。 事前に登録はしてなかった(というか存在も当日知った)けど、飛び入りできたのではなしてきました。 キーボードをいじろう! @YAPC::Asia 2012 LT-THON from handlename 実は内容は先日のshibuya.el…

mecab0.994でmecab-dic-overdriveを使う

使おうと思ったらすんなり動かなかったので。 環境 Mac OS X 10.8 mecab 0.994 from homebrew Text::MeCab from github https://github.com/lestrrat/Text-MeCab 89f60c38457f100f3c98b24efae75cdcf239c468 mecab-dic-overdrive from github https://github.…

build.sbtの依存関係を書き換えたらM-x ensimeしなおさないといけない

emacsでensimeを使っている場合。build.sbtに libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.21" みたいな依存関係を書き換えたら、emacs上で M-x ensimeとして.ensimeを読み直さないといけない。 .ensimeにも依存関係について記述してあ…

perlで複数リストのintersect(積集合)をとる

こんなかんじ?先頭で空のリストはスルーするようにしてるけど別にいらないかもしれない。 最後にgrepしてる部分で == の条件をなくすと和集合になりますね。

httpsであることをnginxからバックエンドのアプリケーションに伝える

以前調べたときに参考にしたページが見れなくなっていたのでメモ。nginx.confの所定の場所に、 バックエンドに転送する際に,HTTPヘッダX-Forwarded-HTTPS: onまたはX-Forwarded-Proto: httpsを追加する,これだけでしたw (引用:HTTPSとバックエンドなPlack…

tmuxでウィンドウを分割しつつコマンドを実行する

Mac OSX 10.7.3 / tmux 1.5screenからtmuxに乗り換えてみたついでに。tmuxのsplit-windowはシェルコマンドを引数に受け取れる。 受け取ったコマンドを実行して、終了するとそのペインを閉じてくれる。 $ tmux split-window 'man tmux' いちいちsplit-window…

homebrewでcanythingを入れるためのFormula書いた

Mac OSX 10.7.3 / homebrew 0.8.1tmux + irssi + canything で Anything 風チャンネル切り替えする http://unknownplace.org/memo/2012/03/26/1/これを実践するためにはcanythingが必要なので、 homebrewでインストールする用のFormulaを書いた。Makefile中…

UITableViewCellにいい感じに背景画像を適用するライブラリ書いた。

UITableViewCellに簡単に背景画像を適用できるライブラリを作ったので紹介。https://github.com/handlename/HNDecoratedTableView対象のテーブルをHNDecoratedTableViewのインスタンスとして作り、 こういう背景画像を用意して、tableView:willDisplayCell:f…

カレントディレクトリの画像をHTMLで表示するだけのアプリケーション書いた

iPadで、画像転送なしで、PC側の画像を一覧表示させたかったので。https://github.com/handlename/p5-gallery powered by Amon2::Lite 画像が入っているディレクトリに移動 plackup /path/to/p5-gallery/app.psgi http://localhost:5000 で画像が一覧できる …

iOSプロジェクト用のテンプレート

Mac OSX 10.7.2 / XCode 4.2毎回ファイル名変えたりグループ作ったりするのが面倒だったので、テンプレートを作った。https://github.com/handlename/ios-app-template $ cp -r __template /path/to/project $ cd /path/to/project $ /path/to/clone/init.sh…

iTerm2でURLをクリックで開く

Mac OSX 10.7 / iTerm2 1.0.0Cmd押しながらクリックでURLを開ける…! 知らなくて情弱呼ばわりされました。

XCodeで環境変数を元に#defineする

Mac OSX 10.7 / XCode 4.2Project > Build Settings > Preprocessor Macros から。 $(ENVVAR) とすれば環境変数を呼び出せる。NSStringとしてそのまま使用する場合は次のように書けばいい。 HOME_DIR="@\"$(HOME)\"" 実行時。 NSLog(@"HOME_DIR = %@", HOME_…