Unix の哲学を個人の生産性に適用する


生産性システムを使用して個人のワークフローを再プログラミングすることは、コンピューター ソフトウェアのプログラミングによく似ています。一連の情報やタスクが入ってくると、それをすべて実行に移すための保持スペースと論理的なルールを設定します。アクティビティを自動化するソフトウェアと同様、優れた生産性システムは、受信データをどう処理するかを考える必要がなく、それらのビットを簡単に成果に変えることができます。私はせいぜい Unix 哲学と優れたソフトウェアを設計するためのルールについては初学者にすぎませんが、生産性システムを設計する際には考慮する価値のある教義がいくつかあります。優れたコードを書くために適用されるルールの多くは、延期するのではなく実際に実行するタスクやプロジェクトを書き留める場合にも当てはまります。 Unix 哲学の基本的なルールをいくつか見て、それが個人の生産性システムにどのように適用されるかを見てみましょう。写真提供者ナオタケム

以下にリストされているルールは、Eric Steven Raymond の無料オンライン書籍から引用しています。Unix プログラミングの芸術、具体的には次のタイトルのセクションUnix 哲学の基本。先ほども言いましたが、私は Unix 哲学の初心者です。そのため、これらのルールの誤解や非常に緩い適用を修正してくれる、筋金入りの Unix ひげを家の中に歓迎します。

Raymond の本に記載されている Unix 哲学の 17 のルールから、ワークフローの再プログラミングに特に当てはまるものをいくつか紹介します。

きれいなインターフェイスで接続された単純なパーツを作成します。

(モジュール性の規則)

多くの個人用生産性向上ソフトウェアは、連絡先、タスク、プロジェクト、電子メール、カレンダーを 1 つのモンスター パッケージにまとめてすべてを実行しようとしますが、ジョブごとに個別のメカニズムを使用することには大きな利点があります。ある側面をアップグレードまたは変更したい場合は、他の側面を破棄せずにそれを行うことができます。たとえば、Microsoft Outlook を使って生活をしている場合、別のメール アプリやカレンダー アプリに移行するのは複雑になります。同様に、RSS フィードや電子メール アラートなどのユニバーサル インターフェイスを備えたアプリや、究極のユニバーサル インターフェイスである紙を好みます。

レイモンドは次のように書いています。

失敗しない複雑なソフトウェアを作成する唯一の方法は、全体的な複雑さを抑えること、つまり、明確に定義されたインターフェイスで接続された単純なパーツからソフトウェアを構築することです。そうすることで、ほとんどの問題は局所的なものとなり、ある程度の希望が持てるようになります。全体を壊さずに部分をアップグレードする。

明晰さは賢さよりも優れています。

(明確性のルール)

イベント、やるべきこと、プロジェクトを書き留めるときは、自分自身に与える指示をできるだけ明確で理解しやすいものにしてください。 「会社を設立する」というのは、巨大で具体性のないプロジェクトであり、永遠に取り消されることになるでしょう。 「トムに電話して、LLC (555) 456-7890 を設立した方法を尋ねる」方がはるかに実行可能なタスクです。さらに、複雑でコード化された階層型の文脈に応じたタグ付けボキャブラリーや並べ替えアルゴリズムを考え出したくなった場合は、賢さよりも明快さが重要であることを忘れないでください。

優雅で明確なコードは破損する可能性が低く、次にコードを変更する必要がある人がすぐに理解できる可能性が高くなります。これは、特に次の人が数年後の自分になるかもしれない場合には重要です。

知識をデータに組み込むことで、プログラム ロジックを愚かで堅牢なものにすることができます。

(代表規定)

システムのエントリ ポイントに、作業を実行するために必要なすべての情報を含めます。たとえば、電話をかける必要がある場合は、To Do リストに電話を追加するときにその番号を含めます。これまでに行ったことのない場所に行かなければならない場合は、道順、住所、連絡先の電話番号を含めてください。システムは物事を進めるための単なる経路であるため、データをできるだけ豊富にしてください。

失敗しなければならないときは、できるだけ早く、音を立てて失敗してください。

(修理規定)

「騒がしく」失敗するという考え方は、ない私たちの文化が奨励していることですが、それがプログラマーが問題を診断して修正できる唯一の方法です。生産性システムのセットアップ (GTD であっても、単に新しいタスク管理アプリを使用しているだけであっても) に時間を費やして失敗した場合は、やめてください。お母さんの誕生日を忘れた理由、締め切りに遅れた理由、またはその機会についてあの人にフォローしなかった理由をすべて考えてみましょう。それについては詳しく説明してください。心の中で「うるさく失敗する」ことを意識し、同じことが二度と起こらないようにシステムを微調整します。ソフトウェア開発と同様、生産性システムの開発は反復的なプロセスです。

プログラマーの時間は高価です。マシン時間よりも優先して保存してください。

(経済の法則)

経済の法則はライフハッカーの信条かもしれません。つまり、コンピュータが代わりにやってくれることは何もしないでください。すべてのドキュメントを完璧な名前のフォルダーに苦労してファイルすることに時間を無駄にするのではありませんか?必要なものをその場で検索します。マウスを過度に動かす必要がないようにキーボード ショートカットを学習してください。ファイルのバックアップなどの退屈なタスクを自動化して、時間を費やす必要がなくなります。あなたがコンピュータのために働くのではなく、あなたのコンピュータがあなたのために働くようにしましょう。

研磨前の試作品。最適化する前に、動作させてください。

(最適化の法則)

完璧な生産性システムは存在しません。実は、完璧なシステムとは、あなたが使用しているシステムのことです。持つ必要はありません物事をやり遂げる荷物の整理を始めるために暗記した本。整理整頓のための方法を 1 つ決めて、それを使い始めましょう。その後、必要に応じて微調整してください。生産性プロトタイプは、最適化される前に「ライブ」になっている必要があります。どんなに不完全であっても、システムを動作させ、途中で修正してください。

未来をデザインしましょう。それは思っているよりも早く実現するからです。

(拡張性の原則)

あなたはその電子メール アドレス、企業がライセンスを取得した独自の高価なソフトウェアとトレードのコピー、そのハンドヘルド製品を永久に使用しますか?データを独自の形式にロックダウンしない、所有するツールを選択することで、生産性システムの将来性を確保し、今後もデータを持ち運べるようになります。

開発者、プログラマー、コード モンキーの皆さん、自分自身を再プログラミングすることとコードを書くことの間に、さらに類似点があると思いますか?コメントでそれについて教えてください。

ジーナ・トラパニ、ライフハッカーの編集者は、額に明瞭さのルールをタトゥーする必要があります。彼女の毎週の特集は、生きるオタクは毎週月曜日にライフハッカーに掲載されます。購読するGeek to Live フィードニュースリーダーで新しい記事を入手するには、