禁欲的コンピューティング
(ratfactor.com)- 禁欲的コンピューティングとは、欠乏そのものではなく、単純さと集中を選ぶあり方であり、新しい流行よりも原則・目的・集中を優先すること
- 通知・ポップアップ・自動更新のように注意力を奪うソフトウェアを避け、OpenBSD、Vim、Dillo、Rubyのような、ただ動く道具を好む
- 長く役立つ知識はプログラミングの基礎とUnixの基礎にあり、viのように数十年続いてきたテキストベースの道具は、低い参入障壁と持続性を示している
- 制約は創造性を妨げるよりも助ける条件になり得るものであり、道具を延々と変え続けるよりも、一つを選んで使い続ける方法のほうが重要である
- 古いLenovo 11Eのような安価な中古ハードウェアでも、文書編集・開発などの日常作業には十分であり、重要なのは適切なソフトウェア選びである
禁欲的コンピューティングの意味
- 禁欲的コンピューティングは、欠乏そのものではなく、単純さと集中を追求する生き方に近い
- Wikipediaのasceticismでは、禁欲主義を自己規律、自発的な貧しさ、簡素な生活を通じて世俗的な快楽を節制する生き方と定義している
- ここでいう禁欲は、苦痛や否定ではなく、Henry David ThoreauのWaldenのように「意図的に生きる」ため、人生が細部に散らばらないようにする姿勢に近い
- 核心となる原則は3つある
- 個人的な基準や道徳を損なうことをしないで済ませること
- 取り残されることへの恐れ(Fear of Missing Out)を前にしても怯えずに生きること
- 終わりなくきらめく新しいものを追いかけることを拒むこと
- きらめく新しいものは、もっとも手強い相手に近い
- Wikipediaのリンクをたどって1時間後にはタブを30個開いていたり、一生やるつもりで趣味の道具を買ったのに結局やらなかったりする、そんなパターンが生まれる
- コンピューティングの新しい流行ばかり追っていると、本当に関心のあるものへ深く入り込む機会が減ってしまう
- 最初は新しいものを見て回る過程が必要なこともあり、いま新しく見えるものが10年後には慣れ親しんだ愛用ツールになっているかもしれない
- 目標は、原則、目的、集中のあるコンピューティング生活である
- 欠乏は原則に従う過程で一部生じることがあっても、目的ではない
- 学習、創作、執筆、あるいは休息が自然な基本状態になることを望む
- David CainのIn Favor of Enjoying Things on Purposeのように、持っているものを意図的に楽しむ姿勢ともつながる
- こうしたやり方は、自己処罰や見せびらかす苦行ではない
- コンピュータの使い方そのものが楽しく満足できるから続いている
- ある日突然宣言した原則というより、人生のこの段階で自然に定着したやり方である
単純さと、ただ動く道具
- Gustave Flaubertの「生活では規則正しく秩序立って生きるべきだ。そうしてこそ仕事では激しく独創的でいられる」という言葉が重要な基準になっている
- 創造的エネルギーは、OSやツールと戦うことではなく、自分自身のプロジェクトに使いたい
- 多少の利便性を手放してでも、複雑さ、故障、気の散りを減らせるほうを好む
-
邪魔のない環境
- 通知や警告でユーザーのコンピュータを勝手に邪魔するOSやソフトウェアを避ける
- 時間と注意力は非常に限られた貴重なものなので、それを盗むソフトウェアが嫌いだ
- 好ましい環境とは、ポップアップやトースト通知もなく、入力を静かに待つ機械に近い
- 自動更新も、たとえセキュリティ目的であっても好まず、OSやソフトウェアはユーザーの準備ができたときに更新する
-
現在の生産性ツール
- OpenBSD for the OS: 一貫性があり、ただ動くから
- Vim for the text editor: テキストエディタの分野にはよい選択肢がたくさんある
- Dillo for browsing the web: 特定の情報を調べたあと、すぐ元の作業に戻りやすい
- Ruby for scripting: 個人用ユーティリティを作りやすい
- OpenBSDの6か月リリース周期は、ちょうどよいリズムとして受け止められている
- Dilloをあるコンピュータのメインブラウザとして毎日使い始めてからはまだ長くなく、この先さらに語ることが出てくるかもしれない
- こうした一覧は個人的で、ある程度頑固であるべきであり、他人が同意しなくても構わない
-
壊れにくい道具
- 長い旅では、複雑で壊れやすい装備は壊れて捨てられ、壊れないか、簡単に直せる装備だけが信頼できる相棒として残る、という比喩が使われる
- “use something in anger”とは、冗談ではなく、実際に重要な場面で道具を使うことを意味する
- そういう瞬間に重要なのは、見た目や流行ではなく、本当に動くかどうかだけになる
- どの道具が期待を裏切り、どの道具が持ちこたえたかは、実際に使う瞬間にこそ記憶に残る
長く役立つ知識と道具
- 学びは大きく2つのカテゴリに分かれる
- 一時的な、あるいは一度使って終わる知識
- 長く役立ち、他の場所へ持っていける知識
- プロプライエタリソフトウェアを学ぶことは、主に前者のカテゴリに入る
- BIOS/UEFI設定やハードウェアの細かな知識も、おおむね前者に属する
- プログラミングの基礎とUnixの基礎は、後者のカテゴリに入る
- 1970年代から存在するUnixプログラムを学ぶことも、長く役立つ知識に含まれる
- ここで重要な言葉は「基礎」である
- Lindy effectは、長く続いてきたものは変化、退場、競争に耐えてきたので、今後も存在し続ける可能性が高いという見方として使われる
- viエディタは1976年に登場し、約50年が経った今でも日々使われている
- これからさらに50年続くかもしれないと見ている
- 1970年代の技術が持続しているのは奇妙でもあるが、テキストインターフェースはプログラムを作り、変え、組み合わせるための障壁が非常に低い
- デバイスが変わっても、テキストベースのツールは動き続ける
- 芸術においてデッサンや文章の基礎を学ぶことと同じように、こうした基礎はずっと報いてくれる
創造的制約と、一つを選んで使い続けること
- Wikipediaのasceticismの項目では、禁欲主義者は自発的な制約を通じて、思考の明晰さや破壊的な誘惑に抵抗する力といった、より大きな自由を得るとされている
- 核心となる逆説は、制約が自由になるという点にある
- 芸術では、制限は強力な創作の味方になり得る
- 筆を一本しか使わない、あるいは家で見つかる材料だけを使うといったやり方は、創作の停滞を打ち破る助けになることがある
- コンピューティングでも同じ原理が働く
- Jon BentleyのProgramming Pearls第1章は、限られたメモリというハードウェア制約のあるソート問題を扱っている
- メモリ制約がなければ一般的なライブラリのソートルーチンが当然の答えだったが、制約があったため、大きなビットフィールドを埋める解法が生まれた
- この解法はメモリ効率がよいわけではなかったが、通常のソートより一桁倍ほど速いという副次的効果を得た
- 何でも可能で制限がない状態は、かえって創造的思考には悪いことがある
- ストリーミングサービスで映画を見る時間より、選択肢をスクロールする時間のほうが長くなる状況に似ている
- 以前なら、好きなVHSテープ12本のうち1本を選んですぐ見ればよかったので、そんな問題はなかった
- テキストエディタ、コマンドシェル、Linuxディストリビューション、ウィンドウマネージャ、カラーテーマに至るまで、「正解」を探そうとして自分で自分を散漫にしてしまうことがある
- 最初のうちは広く探って、自分が何を好むのかを知る過程があった
- 自分の仕事に集中する準備ができたときには、選んだ道具を使い続ける方法を学ぶほうがよかった
- 唯一の真のツールを求めて旅に出る誘惑よりも、選んだツールの制約の中で、やりたいことを実現する方法を学ぶほうが時間をうまく使えた
- 関連して、sticking with it here in this new cardにより長い内容がある
しないで済ませることの苦さと甘さ
- 最近は広告をほとんど見ずに過ごしており、広告を長く見ないほど、広告への抵抗感はさらに強くなる
- 印刷物の広告は比較的無視しやすいが、動画や音声で広告を無理に我慢させられるやり方は受け入れがたい
- 好きなポッドキャストでも、広告を聞かなければならないなら、もう聞き続けるのは難しいと感じる
- こうした態度によって、実際に見逃すものも生まれる
- ときには、見逃さなければよかったと思うこともある
- 年を取るほど、そうした選択はしやすくなると感じる
- しないで済ませる能力は、持っているものに満足する能力とつながっている
- Oscar Wildeの「真の満足はすべてを持つことではなく、持っているすべてに満足することにある」という言葉が引用される
- MorpheusのMatrixでの台詞を借りれば、持っているものに幸せを感じる感覚は、言葉で聞いて知るものではなく、自分で経験しなければならない
- メディア消費だけでなく、ソフトウェア、OS、Webサイトにも同じ原則が適用される
- 個人的な原則に反するものを手放すと、実際に見逃すものは出てくる
- ただし、妥協は選べる
- ValveのSteamはフリーソフトウェアではなく、stock Androidはスマートフォンでしぶしぶ共存しているものに分類される
- 複数のコンピュータを持っていれば、一部を利便性と引き換えに、原則のないコンピューティングへ一時的に「捧げる」ことができる
鋭さを保つ
- “ascetic”の語源は、古代ギリシャ語で「訓練」または「練習」を意味する言葉につながっている
- ここでの禁欲的コンピューティングは、単なる節制ではなく、訓練の意味を持つ
- 執筆とプログラミングは、考えを整理し、新しいものを作るための練習である
- 最小限の道具を頻繁に使うことは、頭を鋭く保つ助けになる
- 練習すればするほど上達し、上達するほどまた練習したくなるという循環が生まれる
- 深い思考は、考える練習を通じて育つ
- 思考と行動のあいだに近道はない
- Tugbaのthink until you can think no moreでは、あらゆる考え、感情、何を・なぜ・どれを・どうやってを書き出し、隠れた思考を引き上げる過程を創造性の一形態として表現している
- 単純で最小限の道具は、生産性の幻想を与えない
- 道具は溝を掘る、文字を打つ、ボルトを締めるだけだ
- 動機、努力、思考はユーザー自身が提供しなければならない
- そのぶん成果物は、より強くユーザー自身の延長になる
禁欲的プログラミング
- 制約はプログラミングでも重要な役割を果たす
- Antonio PiccolboniによるThe Ascetic Programmer: How asceticism benefits programming, science, and the artsを読んで楽しんだ
- 特に気に入っている一文のひとつは、「この本が、あなたの努力に不要な制限を導入するきっかけになれば」という趣旨のものだ
- 3.5インチフロッピー時代の終わりごろにプログラミングを始め、1.44MBの制限の中にどれだけ驚くべきものを詰め込めるかを忘れていない
- 以前に書いた関連記事も同じ流れにある
- Small Programs and Languages: 短さについて
- Do it the dumb way first: まずは単純な方法でやろうという話
- Build It Twice: 偶発的な複雑さが積み上がることへの反対
- ポケットの中にスーパーコンピュータがある時代でも、すべてのKBが重要だと考えてプログラミングしている
- 例として、my 'Why?' section hereが挙げられている
- より小さく制限するほど、むしろ良くなる可能性が高いと見ている
ミニマリズムではなくマキシマリズム
- ここでいう禁欲はミニマリズムの同義語ではなく、面白さや喜びの欠如でもない
- 小さなツールセットを使い、デフォルト設定をできるだけ保つ習慣はあるが、コンピューティング環境全体をミニマリストと呼ぶのは難しい
- 重い設定に縛られないことを好み、新しいUnix系システムでもほとんどすぐに生産的に作業できる
- 複数のコンピュータを、それぞれ異なる作業空間のように持つのが好きだ
- Computers as Workspacesでは、この見方をすでに扱っている
- その後も安価な小型コンピュータがさらに増え、手放したものはない
- ほとんどのコンピュータは共通した特徴を持つ
- 中古である
- 安価である
- 電源を切っていれば維持コストがない
- ライセンス費用、サブスクリプション、外部依存がない
- 再び電源を入れれば、小さなmicroworldsやforever worldsのように、別の冒険が待っている
- これは本来の意味でのマキシマリズムに近い
- 好きなものを見つけ、時間をかけてさらに集め、いまではたくさん持っている
- 書籍コレクションのように、同じ種類のものが多いので、さまざまながらくたを抱えるのとは違って感じられる
- 多くの人にはコンピュータの台数が異様に見えるかもしれないが、原則にかなり従った収集なので、なお禁欲的だと考えている
- 複数のコンピュータがあれば、一部を利便性のために、原則のないコンピューティングへ一時的に回すことができる
- 伝説のFaustが魂すべてを取引したのとは違い、1台のコンピュータやスマートフォンで原則のないOSを動かす程度は、はるかに軽い契約とみなされる
- こうしたコンピュータは、小さな電子の庭に近い
- ほとんどの植物が大半の時間は休眠している庭のように、コンピュータも必要なときにだけ電源が入る
- garden hermitのように、その庭を楽しむ姿として表現される
- これは喜びと楽しさの領域である
お金を節約し、影響を抑え、持っているものを楽しむ
- Mooreの法則が勢いを失ったのが、家庭用コンピュータの利用者が合理的に望むことを十分こなせる、安価で信頼できるコンピューティング水準に達したあとだったのは幸運だと見ている
- Bill Gatesの「640K ought to be enough for anybody」で知られる、possibly fictionの逸話を思い出すことはできる
- 1981年のコンピュータが日常作業において非常に制約が大きかったことは否定しないが、いまも同じ形で制約されているとは見ていない
- 日常的に使っているコンピュータのひとつは、8年前のLenovo 11Eである
- 「Education Series」のモデルで、Celeron N3450 CPUと8GB RAMを備える
- 新品だったときでも「低性能」だったし、4年前に中古で買ったときにはさらに低性能で、今ではひどく低性能だと見なされている
- 家族と質素な外食をする費用より、このコンピュータの購入費のほうが安かった
- それでも一般的な家庭用コンピューティング作業は完全にこなせる
- このコンピュータでうまくできないこともある
- 現代的な3Dレンダリング
- 現代的な科学シミュレーション、たとえば天気や核関連の作業
- この10年で登場したAAAの一人称シューティングゲーム
- ときには本当により強い性能が必要になる
- 反対に、この古いマシンでできることも十分に多い
- 文書編集
- ソフトウェア開発
- 巨大な数学計算
- 数十億件のレコード処理
- 30年前なら部屋をひとつ埋める国家規模のスーパーコンピュータ研究所に期待したであろう、さまざまな作業
- 大まかに言えば、「当時のCray == 今のCeleron」に近い
- いまは信じがたいほどのコンピューティングの豊かさの時代だ
- 生産的な作業は非常に速く、待ち時間はミリ秒単位で、残りの時間はコンピュータがユーザーを待っている
- 安価で信頼できる家庭用ハードウェアにはすでに到達しており、必要なのは適切なソフトウェア選びである
- 非常に本格的なゲーマー、視覚芸術家、音楽家、あるいは強力なリアルタイム処理を必要とする特殊分野でない限り、性能向上のためにコンピュータハードウェアを頻繁に買い替える時代は、当面ほぼ終わったと見ている
- レトロコンピューティングをすれば、非常に古く「時代遅れ」のコンピュータがソーシャルメディアのWebサイトをうまく描画できないという副次的な利点もある
- しばらくオフラインになり、接続を断ち、内側へ向かうことが、禁欲的コンピューティングの締めくくりに近い
1件のコメント
Lobste.rs の意見
最近の言語や慎重に設計されていない言語の一部は、使うために IDE の機能へより強く依存したり、少なくともそういうプログラミングスタイルを助長したりする。最近は楽しくないときでも Go を使うことがあるが、画面上の記号を読むだけでほぼすべての場所を見つけられ、ドキュメントをオフラインで読める数少ない言語だからだ
構文ハイライトも切ってみたが、その感覚を得るのにかなり効果的で、好みの問題ではあるものの、コンピュータがより落ち着いた状態にあるように感じられる
IDE 的な機能といえば、基本的な構文ハイライトと、同じファイル内の別の記号をもとにした自動補完くらいだったが、これで十分満足していたし、最近の IDE はむしろこうした機能をやってくれず腹が立つことさえある。こういうやり方で C++ を使うのは意外と簡単で、自分で文法を書いて合わせなければならなかったので、ファイルを探したり文法全体を理解したりするのがかなり得意になった
ただし IDE 機能なしで Java を勧めるのは難しく、何にでも import 文を書くのは本当に悪夢なので、昔のコードには
import *が多かった気がする原則を持つ人が、その原則にある程度沿って生きているブログや文章を見るのはとても新鮮だ
図が気に入ったし、読み進めるうちにもっと出てきてほしいと期待するようになった
最近のような誇張と混乱の中でオンラインにあふれている不安やストレスの多いものごとからはるかに離れていて良かった。周りで何が起きていても、いつでも戻ってこられる中心がある
同じ考え方が、自分のコンピューティングのやり方、生涯乗ってきた車の選び方、現実の道具とコンピューティングの道具の選び方にもそのまま当てはまる
今の Linux は主に企業主導で動いていて、自分の好みには不要な変化があまりに頻繁すぎるので嫌なのだが、その理由を他人に理解してもらう助けにもなりそうだ。自分を理解してもらうために共有するのに素晴らしい文章だ
筆者は、騒がしくて苛立たしい Windows のインストール環境でも同じように効果的に働けるとかなり確信している。こういう美学主義は文字どおり美学主義でしかない。私のような人間を Teletype の前に座らせても、どうにかして寄り道し、気を散らし、生産的でなく振る舞う方法を見つけるだろう。たとえ私が望んでいるのが集中だけだったとしても、そうなりそうだ
読みながら、技術者でない人でも、たとえば iCloud を切った古い Mac でほとんどすべてを実践できると思った。TextEdit でも十分うまく動く。こういう方向へ進みたい人にとっては良い点であり、筆者の提案を無効にするものでもない
携帯電話を別の部屋に置いてみたことがあるのか気になる
人生の決断にも良いアプローチだと思う。キャリアをどこへ持っていくべきか考えてきたが、技術・地理的位置・関心分野といった面で明確な制約を選ぶことが、方向性を定めるのにある程度役立った。今でも取り逃がすことへの不安や、いろいろなテーマを探りたい気持ちとも格闘しているが、少なくともおおまかな道を選ぶうえで制約は役立つ
モバイル機器の使用や通知は非常に不快で侵入的だと感じるが、その一部は自分の設定のせいでもある。実際のメッセージ用に残しておくべき SMS のようなコミュニケーションチャネルが広告に使われるのが嫌だ
普段はこうした邪魔を避けるため、コミュニケーションソフトウェアのないマシンで作業していて、そのほうがずっと楽しい。LSP の自動補完も気が散ると感じるので、言語によってはそれなしで作業している