理系学生日記

おまえはいつまで学生気分なのか

environment

.gitattributesによる改行コードの変換設定

Git での改行コードの取り扱いについてきちんと調べたことがなくて、プロジェクトにおいては「みんなー! ただしく .gitconfig 設定してねー」という立場を取っておりました。 しかししかし、改行コード設定については、もはや個人の設定に正しさを求めるので…

Gitのdiffで差分の場所をメソッド/関数名で表示させる

git などで diff を表示するときに、「何行目のどのあたりに差分があるのか」というのを示す行があります。 これ、hunk header と呼ばれるものなんですが、git だとここに、「どのメソッドに属する差分なのか」「どのタグに属する差分なのか」といった情報を…

zshでPATHがおかしくなる問題の解決編

Mac の zsh で PATH がおかしくなる問題がありましたが、解決に至ったのでご報告させて頂きます。 問題 問題としては、 zsh が起動した際に /etc/zprofile が読み込まれる /etc/zprofile が path_helper を実行する path_helper が /etc/paths、/etc/paths.d…

MacでIMEを切り替えるキーバインド

Mac の IME として AquaSKK を使っているんですが、AquaSKK は Eclipse などとの相性が非常に悪くて、特定の文字が表示されないとか、Ctrl+J でモードを切り替えようとしたら改行コードが入力されてしまうとかで、ぼくは日に日にストレスを溜め込んでいます…

MacBook AirでもRetinaディスプレイ並の高解像度を実現したい

むかしは一年に一台ほど Mac 買ってたけど、2012 年以降はまったく買ってなくて、ひさしぶりに Mac 系の PC 買った。MacBook Air の 13 inch 買った。 これまでは MacBook Pro 15 inch の Retina で、Air もまぁ Retina だとタカをくくっていたのだけれど、M…

git branchをpecoで選択する

git で checkout する branch だとかを選択するとき、branch 名とか逐一覚えてられないから毎回 git branch を打って確認してたけど、そろそろダルくなってきたので、zsh + peco で branch を選択できるようにしたら結構快適になりました。 function peco-gi…

iPhoneの低電力モードを最短時間でONにしたい

iOS 9 から iPhone では低電力モードっていうのが利用できるようになりました。 基本的には App のバックグラウンドでの更新だとか自動ダウンロードだとかが OFF になったりしてバッテリの持ちが良くなるっていうモードで、ぼくとしては積極的に活用したいん…

AppStoreのアプリをAnsible Playbookからインストールする

Mac で AppStore からのインストールやアップデートをコマンドラインから実行できるようになりました。 mas-cli - Mac App Storeのシンプルなコマンドラインインターフェイス | ソフトアンテナ コマンドラインから実行できるのであれば、当然 Ansible の Pla…

Mac の zsh で PATH を zshenv に設定するとハマる

zsh だと PATH 設定を $ZDOTDIR/.zshrc で定義していたんですが、調子にのって .zshenv に定義するようにしたら PATH の挙動がおかしくなりました。 期待してたのは以下のような順番だったのですが、実際には /usr/local/bin、/usr/bin、/bin、… が先に来る…

明示的に指定した場合にのみ Ansible のタスクを実行する

Ansible でタスクを実行する場合に、「明示的に指定をしない限り、このタスクは実行したくない」というケースがあります。 タスクとしては定義しておかなければいけないけれど、playbook を実行する人に無意識に実行させたくないようなケースですね。 このた…

Chrome上のテキスト編集でEmacsを使用したい

というわけで Chrome に移行したんですが、テキストフィールドに文章を入力するのに Emacs が使えないのは能率を著しく落とすので何とかならんものかと探していたら、そのものズバリの拡張として Edit with Emacs なる拡張を発見した。 どうも Chrome からは…

Firefox+VimperatorからChrome+Vimiumへ

Firefox を今まで使ってきたのは vimperator の存在に依るところが多いのですが、最近 Firefox のプロセスが消費するメモリが肥大化し、待たされることが多くなってきました。 これ、個人的にかなりストレスになっていて、このままだと胃潰瘍になって死ぬ。…

Vagrantで作ったVMをWindowsでサービス化したい(ただしプロバイダはVirtualBox限定)

Vagrant で作成した VM を作成したは良いけど、それを Windows でサービスとして動かしたいみたいなことになったときに果たしてワシはどうしたらええんや…という話があった。 Java エンジニアが多い件だったので、Daemon – Daemon : Java based daemons or s…

Yosemite on MacBook Proで日本語入力が死ぬほど遅い問題とその対処法

Yosemite On MacBook Pro で以下のような症状が出続けておりました。2012 Late と若干古いとはいえ、これはヒドい。マジで生産性落ちるし、Mac 使いたくなくなる。 - なんかいつも CPU 負荷が高い - 特にブラウザの負荷が高い。常時 CPU 使用率が 5, 60% を…

vimperatorでタブを閉じたときに遷移元のタブをアクティブにする

Vimperator、カレントタブを閉じた後にアクティブになるタブがカレントタブの右側になるのでストレスを溜め続けていて、これを当該タブの遷移元のタブをアクティブにするように変更したくなった。これ、 |vim| " タブを閉じたときに遷移元のページに戻る nor…

Remember The MilkにSiri経由でタスクを登録する

タスク管理が失敗する主なポイントは以下の 2 点です。 + そもそも管理すべきタスクを、タスク管理の仕組みに入れ忘れる + タスク管理の仕組みに乗せたタスクが単調増加して収拾がつかなくなる いわゆるタスク管理に関する自己啓発本、あるいは GTD の本の多…

53calを利用してゴミ出しを忘れない

もうぼくはつかれました。毎週金曜日は資源ゴミを出す日なのに、またゴミを出すのを忘れた。前はこんなこと言ってたけどもうダメです。 ゴミ収集車は行ってしまったけど、それでも、あのゴミ収集車とぼくは同じ空でつながっているんだ (完)— Yuichi Kiri (@k…

homebrewでinstallしたらmdfindで無応答になる問題

会社の PC を Mac にしたので、ヨッシャー reattach-to-user-namespace インストールするぜーと意気込んで $ brew install reattach-to-user-namespace したらハングしました。ハングっていうと大げさだな、無応答になった。 どこで無応答になってるのか調べ…

tmuxの設定をOSによって切り替える

設定ファイルには OS あるいは環境によって、設定を切り替える必要があったりします。tmux で、これをどう実現するのは 21 世紀最大の難問でしたが、これ if-shell で解決した。具体例を挙げると、たとえば OSX 系と設定ファイルを分けるときは以下のように …

便利。tmuxサーバを終了させてもセッションを復元できる tmux-resurrect

ぼくは、もっぱら tmux を家の Mac でだけ使っているんですけど、そういうときにクソダルいな〜〜と思っていたのが、tmux のセッションが OS の再起動によって失われるということでした。 tmux のウィンドウやペーンを "良い感じ" なレイアウトにしていたと…

Ansibleで環境変数の値を使う

Ansible で環境変数の値をそのまま使いたいということがありました。 というのも、プライベートでは kiririmode というハンドルネームを使っている関係上ホームディレクトリは /Users/kiririmode なのだけれど、会社だと別のユーザ名なので、このあたりの差…

Alfred(2)の Custom Web Search で検索を便利に

Alfred 2、大したカスタマイズもしないまま、ずっと使ってきたのだけれど、Web Search 機能がずいぶん便利だった。 AlfredRunning with Crayons Ltd仕事効率化無料 ちゃんと設定してあげれば、Alfred から直接 iTunes のアプリ検索だったり、はてなブックマ…

Yosemiteで日本語IMを消しAquaSKKに統一する

このへんは完全に好みの世界ではあるのですが、日本語を入力する場合、SKK が非常に使いやすいです (個人差があります) SKK については、wikipedia:SKK がまとまっており、さらには、ニコニコ大百科 が異常なまでに親切かつ丁寧な説明をしてくれています。 S…

zshのanything.elライクなwidgetたるzawがわりとライフチェンジングだった

zaw、前から便利だ便利だとは聞いていたけど、実際に使ってみたら普通にライフチェンジングだった。 インストールは、github から落としてきて、zaw.zsh を .zshrc から読み込ませるだけ。 |tcsh| $ git clone git://github.com/zsh-users/zaw.git remote: C…

zsh-syntax-highlighting には有効化をおすすめできるプラグインが存在している…

zsh には zsh-syntax-highlighting という拡張が存在しており、これを使用すると乾燥したコマンドラインに彩りを与えることができます。 使い方も簡単で、単純に使うだけならこのエントリの記述が非常に参考になると思います。 zsh-syntax-highlightingでコ…

Ansibleでhomebrewを管理する

Ansible で自分の Mac のソフトウェアの構成管理をする場合、その中核に据えられるであろう Ansible のモジュールが homebrew です。 このモジュールはその名の通り、Ansible から homebrew のソフトウェアをインストール/link/アンインストール/アップデー…

快適なインターネットライフを実現するVimperator

年末ですし dot files も整理しなきゃならんなーということで、クリーンインストールした MBP を対象にして Emacs をはじめとする設定ファイル群を整理しているんですが、インターネットができなければ人間は死ぬ、ということで、Vimperator の設定ファイル…

iTerm2のVisor化

ターミナルといえば非常に使用頻度の高いツールでありますからして、いかにしてそれを効率良く使うかが人生の生産性に大きく関わってきます。 Command + Tab を使ったアプリケーション切り替えもいいけど、多数のアプリケーションを開いていると、その中から…

homebrew のサブコマンド一覧1 (a-i)

どうせみなさんは遊び呆けていて homebrew ドキュメントなんて読まないだろうから、結果として brew install とか brew info とかしかできないだろうし、遊ぶこともできず働き続けるぼくがみなさんのために man brew を読み解いています。基本的には man bre…

vagrant up で Error: Connection timeout. Retrying...

どういう症状かというと、こういう症状です。 $ vagrant init centos65 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously se…