読者です 読者をやめる 読者になる 読者になる

理系学生日記

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

忍者TOOLS

Emacsの最大化/全画面化が圧倒的簡単な時代に

Emacs を最大化/全画面化するのって、かつては結構な elisp を書かなくてはいけなかったような覚えがあります (単純に知らなかっただけかも) が、 今はなんと、以下のような 1 行だけ書いてれば良くなりました。 ; 最大化 <=> 元に戻す (toggle-frame-maximi…

gitリポジトリの中のファイルをhelmインタフェースで検索する

Emacs バッファの中で、他のファイルに検索をかけて、検索結果一覧のバッファから直接ファイルの内容を更新するというタイプの拡張というのがいくつかあって、moccur-edit.el だったり、wrep.el だったりです。 しかし、こういうときの検索あるいは編集する…

Quitter便利

Quitter よかった。 Quitter, my first Mac app – Marco.org via kwout Quitter、一定時間(アプリ毎に設定可能) 使ってない特定のアプリを自動的に終了させたりしてくれるアプリで、Twitter とか切るようにして生産性を上げようっていうものなんだけど、「辞…

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

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

GitbucketのDBからレビュー指摘を抽出する

GitBucket 上で Pull Req とかやりとりしているんだけど、いろいろと評価をするために、これらのレビュー情報を定量化する必要に駆られました。 こういうのを手で数えたりしていると日が暮れるし、何が生産性だ腹を切って死ねということになる。GitBucket で…

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 になったりしてバッテリの持ちが良くなるっていうモードで、ぼくとしては積極的に活用したいん…

Kindleのセール情報をスマフォ通知する、あるいはリマインダ登録する

Kindle のセールはいつの間にか始まりいつの間にか終わっていたので、ネット情報に目を凝らしていないと買い忘れるようなことも多かったのですが、以下の通り、先月末に Kindle のセール情報を検知する方法が見つかりまして、それが RSS 配信される流れとな…

helm-find-files でタブ補完を効かせる

前から helm のミニバッファ上で Tab 補完が利かないのが何とかならんもんかと思ってた。 Emacs での補完の考え方と helm の補完の考え方は別にあって、helm を使う場合はミニバッファ上で補完をさせるのは邪道みたいなかんじになってる。 Emacs' default mi…

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

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

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

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

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

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

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

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

EmacsのNeoTreeが非常に使いやすい件

2015年のEmacs - たけぞう瀕死ブログを読んで neotree 知ったんだけど、neotree めっちゃ良かった。 neotree って何 まぁまずはこれを見てくれや。EmacsWiki: Neo Tree via kwout上のキャプチャで分かるように、neotree は Emacs 上でディレクトリツリーを表…

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

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

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

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

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

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

PopClipというMacのポップアップ拡張ソフト

PopClip っていうアプリ良かったです。PopClipPilotmoon Softwareユーティリティ¥500文章で伝えるというのは、古来からなかなかに難しい技法であると知られておりますからして、まずは以下の画像を見ましょう。じっくり見ましょう。精神を集中し、深呼吸して…

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 なのだけれど、会社だと別のユーザ名なので、このあたりの差…

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

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

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

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

helmで "Not a Tramp file name: /To create the database, run the following command:"

helm-for-files 使ってると "Not a Tramp file name: /To create the database, run the following command:" とかいうスタックトレースを伴うエラーが出てムムムーーーとなってしまう状況に陥りました。かなしいですね。 helm-for-files のドキュメントを読…

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

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

Ansibleでhomebrewを管理する

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

Cask とは何であるのか、および init.el が非常にシンプルになった件

.emacs のモダン化の一環として、依存パッケージの管理を Cask 化しました。 このエントリでは、 Cask とは何か インストールおよび依存関係の記述 Cask のユースケースとそれに対するコマンド あたりを書いていきたいと思います。現在の init.el は以下のよ…

emacs.d のモダン化への取り組み

Emacs、ぼくの知識は 2010 年くらいから止まってて完全に老害と化してたんだけど、この間ふと思い付きで MBP をクリーンインストールしたったのに合わせて、Emacs のモダン化に取り組みはじめました。Emacsテクニックバイブル ?作業効率をカイゼンする200の…

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

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

入門 Ansible

どうも周りでは Chef を使うのに疲弊している雰囲気が漂っており、「Chef を採用するにはオーバスペックだった」「Chef の学習コストが高すぎてまだそのコストを回収できていない」という声が漏れ聞こえてくる状況です。ぼく自身は Chef の経験というのはほ…

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 が正…

そして GL09P

インターネットに繋ってないと動悸・息切れ・眩暈がしてくるので、どこに行くときも Pocket Wifi を持ち運んでたんですけど、イー・モバイルから電話かかってきて、 そろそろな、おたくな、2 年契約がおわりそうなんや。 そういやな、ウチな、新製品出すねん…

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

ついに出た GreaseMonkey が使える iOS 多機能ブラウザ WebHub

いやついに出たのか前からあったのかは知りませんが、そんなブラウザが出てた。 リンクタップで他のアプリを起動できるiPhone用ブラウザです。 動画サイトでのダウンロードやGreasemonkey互換のUserScriptもサポートしています。 WebHub - Web browser for i…

z.sh における precmd への多重登録問題とその対策について

naoya さんのエントリ見て z というユーティリティの存在を知った。 Tracks your most used directories, based on ’frecency’. After a short learning phase, z will take you to the most ’frecent’ directory that matches ALL of the regexes given on …

caffeinate で Mac に睡眠時間を与えない。

Mac の PC を買い替えるたびにインストールし直すソフトウェアというのは少ないんですけど、そういうソフトウェアの中に Caffeine がありました。どんなプログラムなのかというと、だいたいこの概要で全てが表されているほどシンプルなソフトウェアだったの…

screen の STRING ESCAPES

screen の caption については、凝れば凝るほど黒魔術的な様相を呈してしまうので、このあたりでまとめておきたい。 文字列置換 まずは基本として、単純な文字列置換についてまとめておく。 %a 現在時刻に合わせて am か pm かが表示される %A %a と同じだけ…

Magic Mouse 重い

今のメインマシンはもっぱら Macbook Air なのですが、その前の Macbook Pro でも、さらにその前の Macbook でも、ぼくはマウスを使っていませんでした。 ほぼ全ての操作はトラックパッドでできるし、また、せっかくの Unix システムなのだからマウスなしで…

iPhone アプリを強制終了する方法

意外とというか、マジに知らなかったので覚えておこうと思います。 意外と知らない!? iPhoneアプリを強制終了する方法 | ライフハッカー[日本版]ぼくの最近の趣味というと Wikipedia 巡りでして、四六時中 Wikipedia を俯瞰しては、 えっ、昭和基地には手…

zsh の precmd について

自分で precmd 定義するよりか、フック利用した方が良いと思う。そもそも zsh には、precmd_functions っていう配列に関数名突っ込んでやったら、プロンプト出す前にそれらを呼び出してくれる仕組みが存在してる。man zshmisc(1) の Hook Functions っていう…

EMOBILE の LTE 対応モバイルルータ、GL01P がヤバい

良い意味でヤバいです。 Pocket WiFi 【GL01P】 特長 - データ通信端末 | イー・モバイルもともとぼくは D25HW を使っていたのですが、大いに不満がありました。満足いかなかったのは大きく言えば以下の 2 点でしょうか。 とにかくバッテリの持ちが悪い。2〜…