理系学生日記

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

environment

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…

tmux 1.8 時代のペーストボード連携

tmux 1.8 から copy-pipe という tmux のコマンドが追加されました。このコマンド、tmux 上で選択したテキストを、指定した外部コマンドに送ることができます。 このため、直前に書いたtmux 上で pbcopy/pbpaste が動かない問題 - 理系学生日記の内容を前提…

tmux 上で pbcopy/pbpaste が動かない問題

pbcopy が動かない…動かない…と呪詛のように呟きつつ連休が終わりそうです。こんな悲しい週末があって良いのか。 このような悲劇が二度と起こらないよう、調べたことをまとめておきます。 問題 pbcopy、pbpaste も含めて、tmux セッションの下で実行すると、…

https 経由で clone した github リポジトリにパスワード入力で push したい

git-credential-osxkeychain 知らなかった。 これ、Mac OS X 用のパスワード管理システムである Keychain Access と git を連携させることで、パスワード入力なしで git リポジトリへのアクセスが可能になるもの。 $ which git-credential-osxkeychain が正…

Windows 用 Emacs と cygwin の間での HOME 環境変数の共存

久しぶりに Windows 上でマジメに Emacs を入れようと思ったら、いつの間にか meadow の開発が行われていないようだったので -Windows の Emacs 入れた。cygwin も入れた。Windows 上で cygwin を使う際は、HOME 環境変数に /home/[user name] を設定するの…

cygwin 上のシンボリックリンクの扱い

ちょっと Windows で開発環境を整えようと思って、ひさしぶりに cygwin を入れました。 いままでは cygwin 環境を作ったあと、cygwin シンボリックリンクを作っても cygwin 内でしか使ってなかったんだけど、Windows でも使いたいって思って調べた。 シンボ…

zshrc 書き換え

zshrc 書き換えた。 元々は諸々の設定を変数とか関数別にファイルにまとめてズラっと並べていたんだけど、どの設定がどの機能のためだったのか忘れやすくなるし、設定は機能を使いやすくするためにあるのに、それを機能カットでなく記述方法で分けるの筋が悪…

tortoiseSVN の diff で空白の差分を無視したい

ソースレビューする際、ベースの revision との差分チェックをすることになったりしますが、コマンドラインの svn とか、あるいは Eclipse を立ち上げるのとかがメンドくて、tortoiseSVN でサラっと確認しようということが多々あります。 でそういうとき、空…

Vagrant + Sahara メモ

**Vagrant とは もはやおなじみかもしれませんが、vagrant はコマンドラインから仮想マシンを作成したり破棄したり、プラグインと連携させることで特定時点の仮想マシンの状態にロールバックさせたりすることができるツールです。 公式ページはこちらですが…