Unix とライフハックの共通点って?
Applying Unix Philosophy to Personal Productivity | Lifehacker
研究では Fortran や作図ツールを使う関係で Unix 系の OS を多用しています。最初に触ったのが Solaris や FreeBSD で、Mac に移行したのも Mac OS X の下地が Unix だからでした。というわけで Lifehacker で「Unix の哲学を仕事術に応用すると」という記事に引き込まれてしまいました。
原文には全部で7つありましたが、最も「なるほど」と思ったのが以下の3つでした。
簡単なツールをきれいに連携させる: Unix コマンドには cat や ls などのように一つの事を非常に優秀に行なうコマンドがあり、それをパイプや awk などといった機能・コマンド、あるいはスクリプトがつないでいます。一時期 Hipster PDA にカレンダー、住所録、星座早見表まで入れてしまおうというのが流行したことがあったのを思い出します。結局手間ばかりで流行りませんでしたが…。やはりメモにはメモだけをさせて、それを次のステップ(Omnifocus などの GTDツールなど)に受け渡すのがよい、というのは、この哲学に似ていますね。
失敗するならなるべく早い段階ではなばなしく異常終了する事:プログラミングでも、実生活でもこれは非常に大事です。仕事を先送りし始めていたり、どうもうまくいかなくなっていることを自分で認識できていないことがよくあります。自分でわかっていないので、なかなか復帰がむずかしくなるわけです。「20分以上ブラウザをいじくっていたら、脱線の危険性あり」というように脱線行動の典型を自分で把握しておくと、自分で自分を「異常終了」させて早いうちに復帰できるかもしれません。
ユーザータイムをマシンタイムに優先させる事:ユーザーのユーザビリティを低下させないために、システムの処理はユーザーに対して優先度を下げるという話ですね。ライフハックで言うと、機械にやらせればいいところは機械にまかせるのに対応しています。ファイルを探すのは Google Desktop に任せる、メールの 99% は自動的にフィルターされるようにしておく、バックアップなどは夜に自動で行なわれるようにしておく、というのはこれに対応しますね。
技術者や科学者だと Unix の方が生産性が上がると言ってる人は多くいますが、こうした考え方に起因している部分もあるのかもしれません。特にモジュール的な考え方は技術的な思考方法に合致しているといえそうです。
読んでいるうちに、自分で考えついたものもいくつかあります。
テキストファイルですむものに、それ以外のフォーマットを利用しない:いろんなデータ形式がありますが、結局汎用性が高いものとなると、テキストファイル以上のものはなかなか見つかりません。どんなコンピュータでも読めて、どこでも編集できて、今後20年経ってもきっと苦労せずに読める形式といったら、やはりテキストファイルですね。フォーマットの不在がテキストファイルの力だというのは面白いことです。
エントリバリアーが多少高くても、身につける価値のあるものを探す:これは Unix の哲学とは言えなさそうですが、Vi を学んでいるときに感じた事です。Vi はなるほどとっかかりにくいエディタですが、いったん学んでしまうと自分のプログラミングを下支えするスキルとなりました。いまでも後輩には vi を教え込むようにしていてたいへん不評ですが、多くの人はあとでその苦しい期間があとでペイオフしたと言ってくれてほっとしています。
一般に Unix 系の OS を使っていると、細かいところまで自分の意志通りに使い込んでいるという感覚がありますが、そうしたところもライフハックと似ているのかもしれませんね。