虎(牛)龍未酉2.1

記録帳|+n年後のジブンが思い出せますように……

LLM×Obsidianでストレスフリーな名刺管理(Evernote難民卒業のご報告)

はじめに

名刺管理って、人類に残された大きな宿題だと思いませんか。長年「どうすればラクショーで整理整頓できるのか」と格闘してきました。かつてはEvernoteで管理していました。しかしEvernoteがダメなサービスになって、Obsidianに移行したものの、同じ方法は通用せず、名刺の山に再び埋もれてしまいました。

そんな中、LLM(大規模言語モデル を取り入れたことで、ようやく突破口を見つけました。本記事では、その過程と、現在のワークフローをご紹介します。

Evernote時代からの転換

ScanSnapでスキャン、Evernoteに放り込み、ノート名に名前、タグにヨミを付けて検索性を確保する。

かつてはそれで十分でした。しかしObsidianでは同じやり方がしっくりこない。 理由は明確でした。

  • 画像をノートに直接貼りたくない(重くなる)。
  • クラウドにアップロードしてパーマリンクで管理したい。
  • その作業が面倒すぎる。

Evernote時代の「なんとなく回る仕組み」は、Obsidianになって機能不全を起こしたのです。

名刺管理が難しい本当の理由

問題は単に「画像のアップロードが面倒」なだけではありません。

  • 画像アップロードとリンク生成の煩雑さ。
  • 名刺が両面か片面か、縦長か横長かなど、処理時の小さな判断が多いこと。
  • 手間をかけても、参照するのはほとんどなく、おそらく5%以下。

これらが複合し、名刺管理は「やる気を奪う作業」になっていました。

要は「ゴミをきれいに並べるのは面倒」ということ

解決策:LLMとCLI

そこでLLMを利用した自作CLIツールをつくりました。

やりたいのは「名刺を受け取ったら、すぐデジタル化してObsidianに入れる」。実装した機能は以下です。

  • 名刺画像からLLMが情報を抽出(氏名・会社・連絡先など)。
  • Obsidian用のMarkdownノートを自動生成。
  • 名刺画像をクラウドにアップロードし、ノートに埋め込み。
  • 会社名+氏名で一目でわかるファイル名を生成。
  • CLIファイラnnnと連携し、ファイル選択から即実行。

実際の動作

名刺からObsidianノートを生成する様子

スキャンしてツールを実行するだけ。あとはObsidianにドラッグドロップするだけ。

開発のステップ

  • 画像から情報を抽出するllmコマンドを作る。
  • シェルスクリプト化して、ファイル名生成や画像埋め込みを追加。
  • nnn連携でワークフローを効率化。
  • 最後にエラーハンドリングや環境固定を行い、安定化。

道具を作り込むことで、名刺管理という「苦行」が、数秒で済むラクショータスクに変わりました。

実際のコードや開発ステップ詳細は、下記記事をご覧ください:

qiita.com

おわりに

この仕組みで、名刺管理はもう悩みの種ではなくなりました。むしろ誰か早く名刺をくれ

受け取ったら即スキャン、即デジタル化。 「名刺をどう扱うか」という人類への宿題に、一歩を踏み出せました。

もし同じように悩んでいるなら、LLMとCLIの組み合わせを試してみてください。 名刺が、「掃き溜めからツルを見出すデジタル資産」に変わるはずです。

Steam Deckで伝説のハクスラ「Diablo」を遊び尽くす!DevilutionX導入ガイド

はじめに(背景)

SteamDeckで DevilutionX を使い、オリジナルの Diablo 1 を遊べる環境を整えました。

DevilutionXは、解像度やコントローラ対応が劇的に向上しており、オリジナルのDiablo 1を遊ぶのには最高の環境です。プレステ版Diabloは過去にやっています。DevilutionXになってからも、Miyoo Mini、iPadMacBook、RGB30…。いつも冒頭しか遊ばないんですが、あたらしいマシンが手に入るとついインストールしてしまう…。

そして今回はSteamDeck。これこそ「寝Diablo」最終形態ではないでしょうか。


インストールおよび設定の手順概要

今回行った手順は以下の通りです。

  1. デスクトップモードで Discover から DevilutionX をインストール
  2. DIABDAT.MPQ および fonts.mpq を適切な場所に配置
  3. デスクトップモードで DevilutionX を非Steamゲームとして登録
  4. ゲームモードで起動(アイコンなし)
  5. SGDBoop を使用してタイル画像(ポートレイト)を設定
  6. SteamGridDBから画像を手動ダウンロードし、ヘッダ画像を設定
  7. Hellfire拡張は今回は使わず
  8. 解像度は720p
  9. キーアサインを一部変更(LTでその場立ち止まり)
  10. クラスは脳筋方針で Warrior を選択

インストールおよび設定の手順詳細

1. DevilutionX のインストール(Flatpak)

SteamDeckのデスクトップモードに入り、アプリケーションストア(Discover)を起動します。

検索バーで DevilutionX と入力し、見つかったものをインストールします。

2. DIABDAT.MPQ および fonts.mpq の配置

これらのファイルは、正規のDiablo 1 CDまたはGOG.com版から取得可能です。GOG版を使用するのが簡単です。

  • DIABDAT.MPQDiablo 1本体
  • fonts.mpq はフォントファイル(ないと文字化け)

配置先(Flatpak版の場合):

~/.var/app/org.diasurgical.DevilutionX/config/diasurgical/devilution/

このフォルダが存在しない場合は手動で作成します。

配置後、念のためファイル名の大文字・小文字に注意します。 DIABDAT.MPQMPQ は大文字が必要です。

3. 非Steamゲームとして登録

DevilutionXをSteamライブラリに追加して、ゲームモードからも起動できるようにします。

  1. デスクトップモードに切り替え
  2. 左下の「スタートボタンみたいなやつ(KDEメニュー)」を開く
  3. 「DevilutionX」と入力して検索
  4. DevilutionX が見つかったら、右クリック → 「Steamに追加」 を選ぶ

これで、Steamの「非Steamゲーム」として登録されます。
ゲームモードに戻るとライブラリに表示され、すぐに起動できるようになります(ただし初期状態ではアイコン画像は未設定です)。

4. アートワーク(アイコン・ヘッダ画像)の設定

SGDBoop を使う(タイル画像・ポートレイト)

SGDBoop プラグインをインストールします。

  • SGDBoop → ゲームを選択 → 画像を選んで適用

SteamGridDB からヘッダ画像を手動設定

SteamGridDBDiablo を検索し、以下の形式の画像をダウンロード:

  • Grid: ライブラリ表示用の横長画像(460×215)

Steam上でゲームを右クリック → プロパティ → アートワークの空欄を右クリックし、画像を選択。

5. 設定カスタマイズ(解像度・キーアサイン)

  • 解像度は 720p を選択(SteamDeckの画面に最適だとおもう)
  • コントローラー設定で、LTを「その場に立ち止まる(Standing)」に割り当て

これで戦闘時に不用意に動かず、安定して打ち合いできます。

6. プレイスタイル

今回は Warrior を選択。完全なる脳筋構成で、ひたすら殴る。武器を拾っては切り替え、店に売っては買い直し。古き良きハクスラ感をSteamDeck上で楽しんでいます。

Hellfire拡張(MonkやBarbarian)は今回は使用せず。シンプルにオリジナルで進めています。


おわりに

SteamDeck × DevilutionX は、2020年代Diablo 1を遊ぶ最も快適な手段のひとつです。もはや「いつでもどこでもトリストラム」。

非Steamゲームとしての登録やアートワーク設定には少し手間がかかりますが、一度環境を作ってしまえば、完全に「寝Diablo」できます。

やったね。

Mac移行の最適解を探る

1. 概要

本「自由研究」は、Mac利用者が新機種へ移行する際に直面する「完全移行か、クリーンインストールか」という普遍的な問いに対し、データに基づいた合理的な意思決定モデルを構築し、それを自らの環境に適用することで最適解を導出するプロセスを記録したものである。

当初の仮説では、不要なファイルや旧アーキテクチャIntel)向けバイナリを一掃するため、「クリーンインストール」が有効ではないかと考えていた。しかし、思考フレームワークを用いた定量的分析の結果、この仮説は覆された。約28GBの再現困難な「資産」を特定する一方で、当初は資産だと考えていたデータを含む約45GBもの「負債」を同定。その大半を移行前に除去するという具体的なアクションプランが形成され、「旧環境での事前クリーンアップを伴う、移行アシスタントでの完全移行」が最適解であると結論付けた。

2. 動機と課題設定

2.1. 背景:クリーンインストールという「理想」と「現実」の狭間

Macの新調は喜ばしい一方で、常にデータ移行という現実的な問題がつきまとう。特に「クリーンインストール」は、過去のしがらみを断ち切り、まっさらな環境を構築できるという点で、ある種の理想として語られがちである。溜まった不要ファイルや、パフォーマンスへの影響が懸念される旧アーキテクチャ向けのバイナリを一掃したいという動機は、多くのユーザーが共有するものであろう。

しかし、長年使い込んだMacは、単なるOSとアプリケーションの集合体ではない。それは、日々の業務効率化や新たなアイデアの検証、クライアントワークの示唆を得るためのプロトタイピングなど、持ち主の知的生産活動そのものを支える、極めてパーソナルな実験場となっている。このような環境を手作業で完全に再現することの困難さと、それに伴う機会損失は計り知れない。

2.2. 目的

本研究の目的は、この「理想」と「現実」のジレンマに対し、感覚的な思い込みや定性的な評価ではなく、客観的なデータに基づいた評価基準を持ち込むことにある。そして、その基準に則り、自身の移行戦略を策定する一連のプロセスを、再現可能な形で記録・公開することを目指す。

3. 調査の設計と方法

課題を構造的に分析するため、まず以下の思考フレームワークを設計し、調査の指針とした。

調査フレームワーク:知的生産環境の3要素分類

  1. 保全すべき”資産” (Assets to Preserve)
    • 定義: 再現が困難、または失うと知的生産性に深刻な影響を及ぼすもの。
    • : 業務効率化や研究開発のために構築した環境、VM上の実験データ、プロトタイピングの成果物、各種ツールの設定群。
  2. 整理すべき”負債” (Liabilities to Liquidate)
    • 定義: 明らかに不要で、ストレージ等のリソースを浪費しているだけの過去の遺物。
    • : 一度試して使わなくなったアプリの残骸、役割を終えた巨大なキャッシュ。
  3. 不可避の”コスト” (Unavoidable Costs)
    • 定義: いずれの戦略を選択しても、必ず手動での対応が必要となる作業。
    • : 各種サービスのライセンス再認証、セキュリティ設定のデバイス再登録。

このフレームワークに基づき、定量的・定性的な調査を実施した。主要な調査項目は、(A) ストレージ使用状況と、(B) アプリケーションのアーキテクチャの2点である。 (A)についてはduコマンド等のターミナルツールを用い、~/Library~/配下の隠しフォルダ、/Libraryの3領域を対象とした。 (B)については、標準ツールのアクティビティモニタを用いて確認した。

4. 調査結果

上記の手法に基づき、自身のMac環境を調査した結果、以下の客観的データを得た。

4.1. ストレージ使用状況 (主要な発見)

~/Libraryの全体像把握

~/Libraryフォルダ全体のサイズ感を把握するため、以下のコマンドを実行した。

$ du -sh ~/Library/* | sort -rh | head -n 30

実行結果の主要部分を抜粋する。

30G  /Users/User/Library/Containers
28G /Users/User/Library/Application Support
12G /Users/User/Library/Caches
...

ContainersApplication Supportの2フォルダだけで約60GBを占有していることが判明。これらが移行計画の鍵を握る最重要調査対象であることが示された。

「負債」と「資産」の切り分け

次に、最重要調査対象である2フォルダを深掘りし、「負債」と「資産」の特定を試みた。その結果、代表的なデータとして以下を抜粋する。

# Application Support (「負債」候補)
9.5G    /Users/User/Library/Application Support/Autodesk
...

# Containers (「資産」候補)
 15G    /Users/User/Library/Containers/com.utmapp.UTM
4.5G    /Users/User/Library/Containers/com.goodnotesapp.x
...

明らかに「負債」と判断できるAutodesk関連(9.5GB)に対し、知的生産の根幹をなすUTMVM(15GB)やGoodnotesのノート(4.5GB)といった、失うわけにはいかない「資産」の存在を確認した。

4.2. 隠しフォルダ内の「資産」と、その再評価

最後に、ホームディレクトリ直下の隠しフォルダを調査したところ、本研究の方向性を決定づける発見と、それに伴う評価の転換が起こった。

$ du -sh ~/.[^.]* | sort -rh | head -n 30

実行結果の主要部分を抜粋する。

34G  /Users/User/.ollama
8.9G    /Users/User/.nvm
...

当初、34GBというサイズから~/.ollamaは丸ごと「資産」だと考えていた。しかし、その内訳を精査したところ、巨大なモデルファイルの大半は、現在使用していない「負債」であることが判明した。ollamaというツール環境そのものは「資産」だが、その中身は整理対象だったのである。

この気づきに基づき、実際に不要なモデルを削除する「事前クリーンアップ」を実行した。

# 削除前のollamaモデル一覧
$ ollama list
NAME                                     ID            SIZE
qwq:latest                               bf55144b3783    19 GB
deepseek-r1:14b-qwen-distill-q4_K_M      ea35dfe18182    9.0 GB
lucas2024/llama-3-elyza-jp-8b:q5_k_m     5f598c49d9ce    5.7 GB
...

# 削除後
$ ollama list
NAME                                            ID              SIZE
yxchia/multilingual-e5-large-instruct:latest    eec9206f6470    1.1 GB
mxbai-embed-large:latest                        468836162de7    669 MB

このクリーンアップにより、約34GBあった~/.ollamaディレクトリは、2GB未満にまで削減された。

4.3. アプリケーション・アーキテクチャの状況

アクティビティモニタを用いた調査の結果、Intelバイナリで動作するものはごく少数、かつ軽量なユーティリティなどに限られ、システムパフォーマンス全体に与える影響は軽微であると判断された。

5. 考察と結論

5.1. 調査結果の解釈と戦略の再評価

調査結果は、当初の仮説を複数の点で覆す、明確な示唆を与えた。

  • 主要な判断軸の転換: 当初は「不要ファイルの削減」や「Intelバイナリの排除」といった点が大きな課題だと考えていた。しかし、調査によって「約28.4GBの、再現困難な"資産"をいかに保全するか」という問題が、遥かに重要度の高い判断軸であることが明らかになった。(資産の内訳: UTM 15G + Goodnotes 4.5G + nvm 8.9Gなど)

  • 「負債」の再定義と拡大: ollamaの事例が示すように、当初「資産」だと考えていたものの中に、大量の「負債」が隠れていることが判明した。これにより、整理対象の「負債」は当初見積もりの約11GBから、最終的に約45GBにまで拡大した。

  • Intelバイナリ問題の格下げ: 定性的な懸念であったIntelバイナリの残存は、調査の結果、実際にはごく軽微な問題であることが判明した。これにより、この問題は移行戦略全体の方針を決定する要因にはならないと判断し、課題リストの優先度を大幅に引き下げた。

5.2. 結論

以上の考察を経て、本研究における最適解を以下のように結論付ける。

最終評価と選択された戦略

  • 保全すべき”資産” (約28.4GB): 手作業による再現コストは、時間的にも機会損失の観点からも許容不可能
  • 整理すべき”負債” (約44.7GB): Autodesk関連(9.5G)に加え、ollamaの旧モデル(約34G)など。調査により特定可能であり、移行前の除去が極めて有効
  • 当初の懸念(Intelバイナリ): 調査の結果、影響は軽微であり、主要な判断材料から除外

結論: データに基づき合理的に判断できる最適解は、 「移行前に、旧Macで既知の”負債”を整理・除去する。その後、磨き上げた”資産”を、移行アシスタントを用いて新Macへ完全に継承する」 という戦略以外にない。

実際に、筆者はこの結論に基づき、旧Mac上で約45GBの不要ファイルを削除してから、移行アシスタントを実行した。

本研究は、Mac移行という個人的な課題が、データに基づいた体系的なアプローチによって、いかに明確な結論を導き出せるかを示す一事例である。この試行錯誤の記録が、同様の課題を抱える他のユーザーにとって、自らの環境と向き合うきっかけとなれば幸いである。

6. 今後の展望

今回の自由研究は、一つの明確な結論に達したと同時に、いくつかの新たな問いを生み出した。今後の探求テーマとして、以下の点を記録しておきたい。

  • 分析プロセスの自動化: 今回は手動で行ったduコマンドによる調査と結果の分析を、シェルスクリプトPythonスクリプトを用いて半自動化するツールの開発。これにより、分析の客観性と効率性をさらに高められる可能性がある。

  • 定常的な環境モニタリング: Macの移行時という特別なイベントだけでなく、例えば四半期ごとなど、定期的に自身の環境を「資産」と「負債」の観点から棚卸しする「デジタル・デトックス」の仕組みの構築。

  • 分析指標の高度化: 今回はストレージサイズを主要な指標としたが、今後はアプリケーションの最終使用日時なども含めた、より多角的な分析アプローチの検討。

  • 戦略実行後の効果測定: 今回策定した戦略を実行した後、その結果(新Macのパフォーマンス、移行後に発生したトラブルの有無など)を定量的に評価し、次回の移行に活かすためのフィードバックループを設計すること。

これらの課題は、自身の知的生産環境を常に最適化し続けるための、次なる自由研究のテーマとなるだろう。

環境