Programming(ライフプログラミング)とは自分の行動をリスト化し、そのリストに従って日々行動していくことで「システマチックに日常生活を遂行する」ことを目指した概念である。基本的な概念は以下のとおり。何らかの「やること」を記した記述を行動(Action)と呼ぶ。リストリスト(List)とは行動を格納するコンテナである。リストはプログラミングのように快適に編集できねばならないため、以下の三大原則を満たす必要がある。おけるリストはほぼ「一行一項目を書いたテキスト(ファイル)」を指す。プラガブル(Pluggable)な体系である。自体はあくまでも最低限の指針を示すだけであり、具体的な運用においては、各自が適当に概念・機能・手順などを拡張することができる。このようなものをプラグイン(Plugin)と呼ぶ。実現するアプリケーション、プログラム、サービスなどをツール(Tool)という。自分の頭のみで(たとえば紙のリストやテキストファイルのみで)運用するのは厳しいため、何らかのツールは必要不可欠である。その際のアプローチは二つある。目指すものやり忘れをなくし、計画力と集中力を手に入れる。頭で意識するだけでは効率的に処理できないから。私たち現代人は慌ただしく、多くのタスクや行動を抱えている。一日に数十以上のそれらを行うことも珍しくない。一方で、人の頭には何十ものタスクを処理する能力はない。リストやタスク管理といった概念が生まれ、実地的に発展してきた。書き並べるだけで日常が上手く回るほど甘くはないのが現実である。リスト利用者が直面する問題の、ほんの一部である。タスク管理はその習得が難しい。整備されたものではない。学習し、試行し、習得できるのはごくごく一部の組織やコミュニティ、あるいは単にタスク管理が好きなマニアだけである。加えてタスク管理はビジネス色の強い界隈でもあり、すぐに有料だのセミナーだのコンサルだのといった側面が顔を出す。オープンやフリーの恩恵を享受してきたエンジニアにとって、これは中々に耐え難い。言うなればエンジニア向けに設計されたタスク管理メソッドである。以下の特徴を持っており、エンジニアにとって親しみやすい。してユーザーが行うことを端的に解説する。用いるデータ形式、エディタ、ツールなどを検討する。エディタは普段愛用しているものを使うと良い。行えそうなデータやツールを追加で検討する。既存の手段なければ自作することも視野に入れる。管理する「行動」を明確にする。行うことは以下のとおり。適用する範囲を決める。してみたいのか、範囲は様々である。広げると大変だから、まずは小さく始めるのが良い。自分の行動を言語化する。行動の言語化とは、自分が普段行っている行動や今後やるべき行動などを言葉で洗い出すことである。決めた範囲中の行動はなるべくすべて洗い出したい。理想は、「リストに従って行動するだけ日常生活がまわる」ことである。言い換えるならあなたは、あなたが(i.で定めた範囲内で)普段行っている行動のすべてを洗い出す必要がある。この整理は後の実装ステップのための準備と言える。最悪やらなくてもよい。