Odds and Ends — プログラミング・サッカー・英語など、好きなことを好きに書く雑記ブログ。

新着記事

プログラミング

ClaudeにW杯2026の全104試合をGoogleカレンダーへ自動登録してもらった話(カレンダーMCPの限界も込み)

AIのClaudeにGoogle Calendar MCPをつないで、W杯2026の全104試合をGoogleカレンダーへ登録し、さらにW杯専用カレンダーへ引っ越しさせた記録です。カレンダー自体は新規作成できない・イベントはカレンダー間を移動できないというMCPの制約と、AIが拾った日程に混ざっていた誤りを数の保存則で検算した過程、実際に使ったイベントの設定値までまとめました。

プログラミング

初めてUSキーボードに挑戦する方へ|管理者権限のないPCでは設定を変えられない話

Windowsで初めてUSキーボードを使う前に知っておきたい注意点です。管理者権限のないPCではキーボードレイアウトの設定項目が出てこないため、印字通りの入力ができません。設定手順の画面を追いながら理由を説明し、日本語レイアウトのまま使う方法やキーマッピングソフトを試した結果、PowerToysでCaps Lockに半角・全角を割り当てた設定までまとめました。

プログラミング

「検索可能PDF」とは何か|画像PDF・テキストPDFとの違いと「テキストレイヤー」の仕組み

自炊やスキャンの話で出てくる「検索可能PDF」の仕組みを整理した記事です。画像PDF・テキストPDF・検索可能PDFの3タイプの違い、透明なテキストレイヤーを重ねた二層構造、OCRが何をしているか、ファイルサイズが軽くならない理由、用途別の使い分けまでをまとめました。

プログラミング

Kindle ScribeでUSB転送したPDFに手書きできるようになりました(ファームウェア5.19.2〜)

Kindle Scribeは、以前はUSBで直接入れたPDFに手書きできませんでしたが、ファームウェア5.19.2からサイドロードしたPDFへの手書き注釈に対応しました。以前書けなかった理由、USBでPDFを入れて書く手順、Send to Kindleとの使い分け、2026年6月に1.2GB・204ページのPDFで実機確認した内容と注意点をまとめました。

プログラミング

KindleをPDF化してKindle Scribeで読むと文字がガビガビ|原因はモニターの解像度だった

自分でPDF化したKindle本をKindle Scribeに入れると文字の輪郭がぼやける現象について、原因の切り分けと直し方をまとめました。犯人はJPEG圧縮ではなく、スクリーンショットを撮っていたPCモニターの解像度不足でした。モニターを縦設定にして撮り直した実測値、USB転送を選んだ理由、サイドロードPDFへの手書きのファームウェア条件まで記載しています。

プログラミング

Pandasで日本語CSVが文字化けするときはcp932でエンコーディングしてみよう

PandasでCSVを読み込むときに出る UnicodeDecodeError と文字化けの原因を、文字コードの仕組みから説明します。pd.read_csv() が既定でUTF-8として読むこと、Excelで保存したCSVがcp932になりやすいこと、encoding='cp932' を指定して解決する方法、おまけとしてExcel側で文字化けしたときにメモ帳でANSI保存する手順をまとめました。

プログラミング

NotebookLMのOSS版2ツールをClaude Maxのclaude -pで動かして比較してみた

NotebookLMのOSS版であるAnythingLLMとOpen Notebookを、Claude Maxの `claude -p` を生成エンジンにして動かし、比較した記録です。自作シムでOpenAI互換APIに見せかける構成、AnythingLLMで詰まった2箇所、Open NotebookのREST API全自動化、回答精度と所要時間の実測、そして規約や埋め込み・音声の限界までまとめました。

プログラミング

自炊代行のOCRと国会図書館のOCR、どちらが正確か|同じ本で再OCRして比較した

自炊代行で納品された検索可能PDFのテキスト層と、国立国会図書館のOCRエンジン「NDLOCR-Lite」でかけ直した再OCRを、同じ本の同じ9ページで比較しました。文字一致率は納品97.2%・再OCR97.6%でほぼ互角ですが、納品は文字が化け、NDLは文字が消えるという違いがあります。検証の手順、誤りの実例、所要時間、用途別の使い分けまでまとめました。

プログラミング

PythonでObsidianのwikiリンクを標準Markdownに一括変換する

Obsidianで書いたMarkdownを他のプラットフォームに持っていくとき、二重角カッコのwikiリンクと画像リンクが標準Markdownと違うので表示が崩れます。フォルダを選ぶだけで配下のmdファイルをまとめて標準Markdown形式に書き換えるPythonスクリプトの全文と、正規表現の中身の解説、実際に変換したときの画面をまとめました。標準ライブラリだけで動きます。

プログラミング

紙もKindleも電子書籍も、Obsidianに一冊残らず並べる本棚プラグインを作りました(Obsidian Bookshelf)

紙・Kindle・Google Playに散らばった蔵書を、Obsidianの中の一つの本棚にまとめる自作プラグイン Obsidian Bookshelf の紹介です。type: book のノートを集めて書影付きギャラリーに描く仕組みから、認証情報をプラグインに渡さないKindle取り込み、Amazon商品ページの多段フォールバック、シリーズ名の自動推定まで、実際のコードを抜粋しながらまとめました。

プログラミング

NotebookLMに自炊PDFが読み込めない2大原因と対処法|OCR非対応と容量制限

自炊した本のPDFをNotebookLMに入れても中身を読んでくれない現象について、原因が「画像PDFはOCRされない」「容量・語数の制限」の2つであることと、その見分け方をまとめました。検索可能PDF化が遠回りになる理由と、テキスト/Markdownで渡す対処法、取り込み前のチェックリストも載せています。制限値は2026年6月時点の情報です。

プログラミング

noteで数式を書く方法|インライン・複数行の記法とObsidianから転載するときの変換ルール

noteの数式記法の書き方をまとめました。noteの数式はKaTeXベースのTeX記法ですが、インラインは「ドル2つ+波カッコ」というnote独自の合図で、標準のMarkdownとずれています。インライン・複数行それぞれの書き方と使える場所、Obsidianなどから転載するときの書き換えルール3つ、表示されないときのトラブルシューティングを載せています。

プログラミング

ObsidianをRSSリーダー+AIニュース秘書にする自作プラグインを作りました(Miniflux Reader)

自宅サーバーに立てたセルフホスト型RSSリーダー「Miniflux」を、Obsidianの中で読むために作った自作プラグイン Miniflux Reader の紹介です。3つのレイアウトを持つ記事一覧、4段階のサムネイル解決、記事のMarkdown保存に加えて、サーバー側のスクリプトがAIに選ばせた「今日の必読」を読むキュレーション画面まで、実装のコードを抜粋しながら内部の動きを説明します。

プログラミング

ObsidianやAIのMarkdownをそのままNotionに流し込む自作ツールを作りました(Markdown to Notion)

ローカルの .md ファイルを構造を保ったままNotionのネイティブブロックとして一括取り込みするPython製ツールの紹介です。Notionに貼ると崩れる理由、行ベースのパーサ・装飾の重なり解決・2000字と100件の上限処理という実装の中身を抜粋コードで説明し、モジュール構成、テスト162件の内訳、Notion側の設定手順、使い方の3シナリオ、よくあるトラブルまでまとめました。

プログラミング

大量のMarkdownを1ファイルにまとめるWindows用GUIツールを作りました(Markdown Combiner)

複数のMarkdownファイルをAIに読ませやすい1ファイルに整形しながら結合する、Windows向けの自作GUIツール Markdown Combiner の紹介です。自然順ソート・YAMLフロントマター除去・見出しレベル変換・ファイル名のH1挿入という4つの処理を、実装コードの抜粋を交えて内部の動きまで説明します。ロジック約100行・tkinter画面約130行・ユニットテスト62件の構成です。

プログラミング

ローカルRAGが遅いのはLLMじゃなく埋め込みだった話

ローカルでRAGを組んだときの「遅い・効かない」の原因が、生成LLMではなく埋め込みモデルの側にあった記録です。CPUでの `bge-m3` が1チャンク30〜60秒かかって大きな文書が入らなかった件、英語中心の埋め込みモデルで日本語検索が無言で0件になった件、そしてOllamaが2つ動いてポートを奪い合っていた件をまとめました。

プログラミング

自炊代行の納品PDFは検索に使えるか|OCR精度を実際に確かめた

自炊代行サービスから納品された検索可能PDFのOCR精度を、手元の2冊(横書きの技術書と縦書きの読み物)で実測した記録です。テキスト層がどのページに入っているか、本文にある20語が検索でヒットするか、どんな誤認識が起きるかを調べ、読む・探す・コピペ・AI利用・コードの再利用という用途別に整理しました。