😽

オフラインで集中して成果を出したい 2024年11月版

2024/10/31に公開

要約

インターネットへ常に接続するのではなく、必要なときにだけ接続する方法を使って相反する要求を満たす方法についてまとめます。

はじめに

私たちの生活や仕事にインターネットは必需品になっている。必需品だが、物事には良い面と悪い面があります。真剣に物事に取り組んでいく人なら、良い面を最大限に活かし、悪い面を最小限にするべくさまざまな取り組みをしていくものです。

この記事は、誘惑に弱い私たちのために、どうやって適切にインターネットと付き合っていくかについての考察と事例をまとめたものです。
この方法は、人によっては適用できない人もいる。しかし、インターネットを過度に依存している人にとっては依存からの離脱のヒントになり、PCを
使う生活を見直すきっかけになります。

私が見聞きしたものを載せているので、ここにない方法や情報についてはコメントで教えていただけると自分なりに咀嚼して取り込んでいきたいです。

この記事を書いた動機

インターネットには、様々な興味深いもの、自分の欲求を満たしてくれるものがあり、「気晴らし」をしたいときに無限に時間を使うことができます。

自分が意図して、「気晴らし」に時間を使っているのならいいのですが、「情報収集」という美名の元、堂々と「気晴らし」をしていることがあります。
これは、自戒を含んでいます。SNSや、仲間内のコミュニティでワイワイすることはとても楽しいです。

でも、その行動はあなた自身がもっている「何らかの宿題」の助けになっているでしょうか?

自分で立てた計画を遂行するために、集中する時間を確保して作業する。今はそれが不十分だから方法を考えて実践するべく、この記事を書いています。

この記事はだれ向けか

本来は自分で定めた目標のために自分へ宿題を課した人が、その宿題を終わらせるのにインターネットが足かせになっている自覚を持っている人です。

ですが、私の力量不足で、現在の対象は主にインターネットを使って仕事をしているプログラマ向けになります。
現在のところ解決方法もプログラマ向けになることが多いからです。

別にプログラマ以外人たちを排除しているわけでなく単に有効な方法編み出していないからです。良い方法があれば取り込みたいです。

この記事の読み方

本文のうち、自分の興味やできそうな部分を拾い読みしてもらってOKですが、似たようなアイディアを技術的に別の方法で解決していたりするので新しく何かを提案されるなら、一通り読んでもらってコメントをいただけると反応しやすいです。

本文

これらの方法は、NDAを結んでの仕事などで、無意識に情報を外部に送信しない環境を作るのにも参考になります。

また、必要に応じて固定料金接続とノートパソコンなどを使ってスマホによる従量課金接続を組み合わせることで次のような状況をつくれます。
自分の中で固定接続の場所に戻ってからインターネットに接続する選択肢だけでなく、脇道にそれるとコストがかさむ従量課金接続を使うことで自分に歯止め期待できます。
でも歯止めがかからないとコストは上がってしまいます。人を選びます。

ポールグレアムが編み出した方法

自由にインターネットをして良いマシンと、ネットにつながないマシンを用意して、異なる場所に置いて意識的に作業の切り替えを行います。

これは、座る場所を変えれば自分でON/OFFを切り替えることができる優れた方法です。

ネットにつながないマシンでどうやって仕事するの?

完全にネットにつながないマシンだとネットのサービスに依存していると無理が生じます。なので以下の方法で対処を考えます。

分散型でネットワークが接続時に同期が取れるツールを最優先で利用する。つまりGit[1]をあなたの生活の中核にすえます。

そして、コンテナなどで環境ローカル環境をつくります。その上でインターネットに出なくても必要な情報にアクセスできる環境を構築します。
offlineモードやメールなどのローカルに情報をためて接続時に同期をかける仕組みで、自分が決めたタイミングで情報を外部と交換します。

ドキュメント

現在の多くの公式ドキュメントは、markdownなどのマークアップで書かれた文章をhttpdサーバでサーブするようになっています。
そのためドキュメントをcloneしてきて、インターネットに接続することなく参照可能です。

多くのオープンソースソフトウェアや、自由ソフトウェアはローカルでドキュメントを参照する手段を提供しています。
この点においても、自由に使えるソフトウェアを使うのは有利だと感じます。

localhostでドキュメントを参照するようになっても、使用するポートを変えれば事実上困ることはないはずです。
実例としては、zennの執筆環境でpreviewがあります。

静的ドキュメントであれば、プロキシーを使って手元で閲覧もできるでしょう。

Git

GitHubでissueを参照するときは、ネットに接続する必要がありますが、自分のブランチで作業を開始して作業に集中したいときだけofflineになるのが良さそうです。
ここでchatなどで多数割り込みがかかってくるなら、そこを問題視するのがいいでしょう。

もしくは、他人にオンラインで聞いて、時間を取ってもらえないと仕事が前に進まないなら、この方法を取るには早すぎます。自分だけで問題を解決する力がついてから実践してください。

offlineが極まってくると、コミットをメールで送信したくなることがあります。受け取る相手の技術的な力量によりますが、
自分だけならsourcehut - the hacker's forgeを使ってみるのもいいでしょう。
メールでGitを使っている文化圏はLKML(Linux Kernel Mailling List)以外にもあります。

ネットワークの知識

そろそろ固定インターネット接続の環境がある場所でインターネットにつながるマシンとインターネットを制限しているがLANは自由にアクセスできるマシンの設定をしたくなってきましたね。
そうなると、ネットワークに詳しくなると実現できるので、プロトコル制限やIPルーティングなどの知識を深めると実現できます。

ローカルLLM

最近では、ChatGPTなどに代表されるLLMと一緒に仕事をしている人が増えてきました。
コンピュータエンジニアであれば無限に問い合わせでき、情報漏洩のリスクのないローカルLLMを試して評価するのが良いでしょう。

この記事では、詳細に触れませんが、Ollamaをキーワードにすれば、多数のローカルLLMの記事が見つかります。

参考文献

以下の参考文献を背景にこの記事を書いている。

ここにない参考文献も、コメントなどでおすすめされて読んだら追加していきたい。

Web

気晴らしを断ち切る

Podcast

  • 28. 技術選定の審美眼(1) w/ twada
    • ここの最初の審美眼というよりも、「選球眼」と表現している部分で、どこに時間を使うのが良いかについて触発されました。

書籍

謝辞

インターネットに間欠的につなぐ技術やノウハウについて関わった方々に感謝を捧げます。
またインターネットは便利ですが有害な部分もあります。どのように関わったらいいかについて様々な議論があったでしょう。

何度も同じ話をすることなく、既存の論点を踏まえて前に進めるのは先人が作った道のおかげですから。

さいごに

件名 日付
記事を書きはじめた日 2024-10-26
記事を公開した日 2024-10-31
記事を変更した日 ----------

上記は、この記事の鮮度を判断する一助のために書き手が載せたものです。

詳細な変更履歴は、
GitHub - yabuki/friendly-potato: zenn-contents
を参照してください。

記事に対するTypoの指摘などは、pull reqをしてもらえるとありがたいです。
受け入れるかどうかは、差分とPull reqの文章で判断いたします。





脚注
  1. svkなど他の方法でもいいですが ↩︎

GitHubで編集を提案

Discussion