2026年6月13日土曜日

やまとecoクリーンセンター


写真:やまとecoクリーンセンター(公式サイトから引用)


このご時世のため入荷待ちで申し込んでから3ヶ月ほど待たされていた台所のLEDランプ交換がようやく完了した。ついでに6畳の和室用にAmazonで購入したパナソニックのLED照明の交換作業もついでにお願いしたので,うちの主な照明のLED化が完了した。

さて,すでに交換済みだったものも含め4台の廃棄用の蛍光灯がでてきた。天理市の清掃管理事務所に電話したところ,予約無しで受け付けてくれるそうだ。ところが,ホームページや案内パンフにはゴミの持ち込みには必ず予約をとる必要がある。当日はだめだと強調されていて混乱したが,よく読むと資源ゴミの場合は予約無し当日持ち込みでよいらしい。


天理市のゴミ処理場(環境クリーンセンター)は,かつては自宅から車で5分のところにあって便利だったのだが,2025年(令和7年)5月1日にオープンしたやまとecoの各施設に移転した。名阪国道北側にある,白川ダムとシャープ天理事業所(総合開発センター)に挟まれた土地のあたりだ(天理市岩屋町)。

これは,大和高田市,天理市山添村,三郷町,安堵町,川西町三宅町,上牧町,広陵町,河合町の10市町村でごみ処理施設の設置及び運営等を共同して行うことを目的とした一部事務組合「山辺・県北西部広域環境衛生組合」が設置・運営している(下線の4市町は住民の直接持ち込みも可)施設である。やまとeco=環境学習施設,リサイクルセンター=マテリアルリサイクル推進施設(粗大・リサイクル施設),クリーンセンター= エネルギー回収型廃棄物処理施設(焼却施設)からなっている。

我々が蛍光灯照明を持ち込んだのはやまとecoリサイクルセンターのほうで,その後,やまとecoクリーンセンターの見学にむかった。4Fに温浴施設(ジム&スパ)と3Fにごみミュージアムがある。3Fからは,焼却施設の工場内部や管理室をガラス越しに見ることができて,なかなかの壮観だった。

温浴施設は,昼から近所のじいちゃんばあちゃん達でたいそう賑わっていた。ゴミ処理場はしばしば迷惑施設としてその設置で揉めるのだが(奈良市がそうだ),天理市はなかなかうまい作戦を立てた。近隣市町村のゴミ収集車も西名阪道路や名阪国道経由でアクセスすることで,天理市内のゴミ収集車による交通混雑問題を回避しているようだ。クリーンセンターの廃熱で温浴施設(それほど大きいわけではない)というのもグッドアイデア。

2026年6月12日金曜日

ビートルズ


図:日本ビクターの1968年ステレオのそれ風イメージ(ChatGPT + Nano Banana 2)


NHKのうたコンが,来日から60年(1966.6.30-7.2)なのか,6月9日はロックの日ということで,ザ・ビートルズ特集をやっている。ビートルズの記憶は断片的に書いてきたが,すこしつなげてみよう。

中学2年のころ,家にある半分壊れかけていたトランジスタラジオをもらって,ベッドサイドで聞くようになった。当時流行っていてまず耳にしたのは,日本のフォークソングの周辺というか,大ヒットしていたザ・フォーク・クルセダーズの「帰って来たヨッパライ(1967.12)」「悲しくてやりきれない(1968.3)」,ザ・ダーツの「ケメ子の歌(1968.2)」,高石ともやの「受験生ブルース(1968.2)」などである。そこに,2年5組の同級生の小林博人君がザ・ビートルズのファンで,あれやこれがいいというのを聞いて感化されることになったのは以前書いた。

ビートルズを聞いて,最初に買ってもらったビートルズの370円のドーナツ盤は「ハロー・グッドバイ(1967.12)」だった。B面はアイ・アム・ザ・ウォルラス。その前の「愛こそはすべて(1967.8)」は,全世界宇宙中継で5月にテレビから流れていた。しかし,1966年のビートルズ訪日のころは,全く興味も関心もなかった。

次に買った?かもしれないのが,「レディ・マドンナ(1968.4)」で,小林君がビッグニュースだといって教えてくれたもの。いや,その前に,「マジカル・ミステリー・ツアー(1967.12)」の2枚組EP盤があった。同名のテレビ映画があって,これもテレビでみることができた。フール・オン・ザ・ヒルがいいとめずらしく父親がいった。

そうそう,これが実現したのは,ずいぶん旧くなっていた家のステレオを買い替えることになったからだ。なお,当時はオーディオシステムをステレオとよんでいた。写真のような家具調が主流で,まだ,コンポとも呼ばれていなかった。ヘッドフォンも珍しいものだった。そのたいそうなステレオは応接間のピアノの横に鎮座した。高度成長期まっただ中である。

中学3年に入って,小林君とは別のクラスになったが,ビー・ジーズファンの山田雄治君やウォーカー・ブラザースファンの出雲崎栄一君と同じ3年6組になったので,いよいよ本格的にポピュラーミュージック(洋楽)にはまっていった。他のミュージシャンもいろいろ興味深くて,自分の関心の中のビートルズのウェイトは小さくなっていく。

さて,わずか半年もなかったが,ビートルズの次の新曲がなかなかでない,まだかまだかと首を長くして待っていたころだ。バック・イン・ザ・USSRやレボリューションが次の新曲なのかとされたが,7分を越える「ヘイ・ジュード(1968.9)」が出て,これが次の新曲だということになんとなく確定することになった。あわてて片町の山畜に走った。たぶん,このころが自分のビートルズのピークだった。

その後,ゲット・バック,レット・イット・ビー,ホワイトアルバムなどが登場するのだけれど,ちょっと手が伸びなかった。50年後に,記憶をたどるようにCD2枚組のビートルズベストアルバムをようやく買った。

(付)マジカル・ミステリー・ツアー EP盤の収録曲
  A1「マジカル・ミステリー・ツアー」
  A2「ユア・マザー・シュッド・ノウ」
  B1「アイ・アム・ザ・ウォルラス」
  C1「フール・オン・ザ・ヒル」
  C2「フライング」
  D1「ブルー・ジェイ・ウェイ」


2026年6月11日木曜日

iPadの更新

iPadWWDC26 からの続き


図:iPadの比較(Appleからの引用)


WWDC26はボケッと聞いていたけれど,その後もいろいろ伝わってくる。一番大きかったのは,自分のiPad Pro 11inch 第一世代(256GB,2018)が,iPadOS27 アップグレード対象外になってしまったことだ。定年退職直前に,孫のお守りや非常勤の授業対応や日本物理教育学会の論文査読などを主目的に購入してもう丸8年も経ってしまった。まあ替え時ではある。

さっそく,後継機種として何を買うべきかをChatGPTに相談してみた。
iPad Air M4 11inch(256GB,2026):114,800 + Apple Pencil Pro:21,800 + Magic Keyboard:46,800 = 184,400(159,400 現行機種下取り後)となる。前回は,iPad Pro 11inch 第一世代(256GB,2018):106,800 + Apple Pencil:14,500 + Smart Keyboard Folio:19,800 = 141,100 であった。

Appleの比較表によると,自分が気になった大きな違いはFaceIDがなくなって,Touch ID(電源ボタン)になることだけである。FaceIDを使うためには,iPad Pro 11inch M4にする必要があって,6万円以上高くなる。ChatGPTは,iPad Proはやめておいたほうがよいと仰せになった。了解しました。

なお,Apple Intelligence は一部を除いていちおうそれなりに使えそうだ。Touch IDだけ少し気になって念押ししたが,MacBook Air M1 のそれが大丈夫なら心配ないといわれた。


2026年6月10日水曜日

WWDC26

WWDC25からの続き


写真:WWDC26の始まり,ティム・クックともこれでお別れ(Apple から引用)


2026年6月8日午後10時(PDT),6月9日午前2時(JST),カリフォルニア州クパチーノのApple本社でWWDC26の基調講演が始まった。毎年,録画をみているが,2020年のコロナ蔓延以降,ライブの迫力は失われてしまった。以前は,英語がスムーズに耳に入ってきたが,このところティム・クックの話以外は今一つわからないものが多い。

ソフトウェアエンジニアリング上級副社長のクレイグ・フェディリギによる進行で,(1) Platform Improvements,(2) Trust and Safety,(3) Apple Intelligence and Siri の3部で解説があった。全体として,いまいち感動に欠けるものだった(2年前にApple Intelligenceの発表済んでるしね)。

全て(でもないか)のOS27群に共通する基盤であるLiquid Glass からはじまって,応答が早くなるとか,基本性能がブラッシュアップされたという話から始まる。地味だ。最近話題になっている,子ども向けの様々な基本安全機能が整備されているということが強調されていた。macOSはGolden Gate

新しいOS27 Siri AIについては,いろいろあったのだけれど,最も高度な機能(表情豊かな音声と高度なディクテーション)は,iPhone17Pro,iPhone Air,iPad M4,Mac M3(12GB)以降でなければ実現されない。そもそも自分のiPhone SE2では,iOS27が動くとはいうもののApple Intelligenceの機能は全く使えない。だめじゃん。MacBook Air M1(16GB)については使えるらしいので一安心だが,カメラに映るものを分析することなどは出来ない。


2026年6月9日火曜日

NotebookLM + Claude(3)

NotebookLM + Claude(2)からの続き

Q(koshix):
NotebookLM + Claude の具体的利用例をいろいろと教えてください。

A(Claude):
NotebookLM と Claude は、性格の違うAIをひとつのワークフローに組み込むときに最も力を発揮します。前者は「アップロードされた資料群の内部に閉じた、出典付きの応答エンジン」、後者は「資料に縛られず思考・議論・翻訳・推敲を担う対話的書き手」と整理すると、両者の役割分担が見えやすくなります。以下、koshix さんの実際の関心領域に即して、具体的なシナリオを挙げます。

(以下タイトルだけ抜粋)
1. ブログ記事執筆のための調査と起草の分業
2. Fisica Wiki のための翻訳と用語決定
3. 一次資料に基づく時事分析
4. 書籍との長期対話
5. 自己アーカイブとしての過去ブログの活用
6. 自分の草稿のセルフ・ファクトチェック
7. 講演・インタビュー動画の批判的咀嚼

総じて言えば、NotebookLM は 出典に閉じた厳密さ を、Claude は 出典を超えた思想的展開と文章化 を担当する、という非対称的な分業が両者の最良の組み合わせです。前者を「資料に対する正確な記憶」、後者を「資料を踏まえた思考と執筆」と捉えると、ご自身の長年のスタイル──源泉重視と高抽象な評論文──の両軸をそれぞれ補強する道具立てになると思います。

Q(koshix):
ちょっと視点を変えて,いつもの自分の作業パターンではないけれど,こんな使い方ができるんだという,新しい発見をうながすような提案はないですかね。

A(Claude):
いくつか、普段の作業の延長線上にない角度から提案します。

1.自分の思考の「盲点地図」を作る
過去ブログの PDF を NotebookLM に一括投入し、「著者が繰り返し前提にしているが、一度も根拠を示していない命題を列挙せよ」と問う。自分の論考の中から自分では気づきにくい暗黙の公理を抽出させる試みです。次に Claude に「その前提のひとつに対して、最も強力な反論を構成せよ」と依頼する。自分の書いたものが素材でありながら、自分の思想の免疫系を試す装置になります。

2.孫への「物理絵本」の生成実験
涼葉さん、紡木さん、風葉さんの年齢に合わせて、Claude に「ヤマト三山と万有引力」「箸墓古墳と円の幾何学」のような奈良の風景を素材にした短い科学読み物を書かせる。絵本的な語り口の文章を生成させ、SVG ないし HTML アーティファクトで簡単なインタラクティブ図解を添える。祖父が手渡す一点物のコンテンツになります。普段の評論執筆とはまったく異なる文体制御の訓練にもなる。

3.「知的先達との対話」シミュレーション
たとえばボーア、ハイゼンベルク、あるいは朝永振一郎の著作・講演録・書簡集を NotebookLM に投入し、その人物の語り方を出典ベースで把握したうえで、Claude に「この人物が koshix の最新ブログ記事を読んだ場合、どう批評するか」を演じさせる。単なるロールプレイではなく、出典に裏打ちされた語彙・論法・関心軸を NotebookLM が提供するので、相当の解像度が出ます。

4.NotebookLM の「ポッドキャスト機能」を批評の素材にする
これが最も意外性のある提案かもしれません。自分の草稿や収集資料から NotebookLM に Audio Overview(二人の話者による対話形式の要約音声)を生成させ、それを 批評の対象 として Claude に渡す。「この対話が落としている論点はどこか」「二人の話者が暗黙に共有している前提は何か」を分析させると、自分の思考の何が「自明」として処理されているかが照射されます。散歩中に耳で受け取り、帰宅後に Claude へ批評を依頼するという時間差ワークフローも面白い。

5.文体の「逆工学」実験
深く共鳴する書き手──たとえば大澤真幸、柄谷行人、あるいは物理畑なら佐藤文隆──のテキストを NotebookLM に入れ、「この書き手の論理展開の型、好む比喩の種類、段落構成の癖を記述せよ」と問う。出典付きで文体の骨格が出てきたら、それを Claude に渡し「koshix の直近ブログ記事を、この文体的傾向に近づけながら書き直せ」と依頼する。自分の文体の輪郭が、他者との差分として初めて見えてくる体験になります。

6.「十年後の読者」からのフィードバック
Claude に「2035年の読者として、このブログ記事を読んでいる」という設定を与え、「当時の文脈を知らない未来の読者が理解できない箇所、あるいは予言的に見える箇所、逆に時代に回収されてしまった箇所を指摘せよ」と頼む。時事評論の射程と普遍性を自己評価するための、時間軸を使った視点の強制転換です。

いずれも「調べる・書く・翻訳する」という既存の作業パターンの外側にある、自分を素材にする・時間軸をずらす・他者の視点を構造的に呼び込む という方向の使い方です。特に「盲点地図」と「Audio Overview の批評」は、AIを道具として使うのではなく、AIに自分の思考を照らさせるという逆転した関係性を試す点で、最も新鮮な体験になるのではないかと思います。

2026年6月8日月曜日

NotebookLM + Claude(2)

NotebookLM + Claude(1)からの続き

取りあえずインストールする前に,課金関係についてGeminiに尋ねてみた。NotebookLMは無料版で十分らしい。無料版(Pro版 2900円)では,月間ノートブック100冊(500冊),1ノートブックあたりの資料数50件(300件),チャット回数50回/日(500回/日)。1資料あたり上限が,200MB&50万語となっているので,1つのノートブックにおよそ50冊のテキストブックを収められる。なお,音声・ビデオ再生は,3回/日(20回/日)である。

Claude Codeは以前$5デポジットして試用していたので,そのまま使えるかと思ったが,4/1から消費税の扱いが変更になったとかで,API側からのデポジットがTAX番号なしではうまくいかない。しかたがないので,Claude Pro の1ヶ月分をオーダーしてキャンセルする。Claudeにもこれでよいことを確認した(5/16/2026)。

導入とテストの作業は以下のとおりである。
Step 1: ツール管理ツール uv の導入(未導入の場合)
brew install uv
Step 2: notebooklm-mcp-cli のインストール
uv tool install notebooklm-mcp-cli
Step 3: Googleアカウント(NotebookLM)との連携認証
nlm login
Step 4: Claude CodeへのMCPサーバー登録
claude mcp add notebooklm-python -- uvx --from notebooklm-mcp-cli notebooklm-mcp

テストタスクの実行(Claude Codeとの対話)
claude
ノートブックの作成
「NotebookLMに『MCP-Test-Notebook』という名前で新しいノートブックを作成して」
ソースURLの追加指示
「作成したノートブックに、次のURLをソースとして追加して:
 [https://ja.wikipedia.org/wiki/Model_Context_Protocol](https://ja.wikipedia.org/wiki/Model_Context_Protocol)」
 知識の引き出しと制限付きの出力を指示する
 「いま追加したNotebookLMのソース『だけ』を根拠にして、MCPが解決しようとしている課題と主要なコンポーネントを箇条書きで整理して。ソースに記載がない独自の推測や外部知識は絶対に混ぜないで」
 

実際にはClaudeに相談し「NotebookLMにアクセスして、私のノートブック一覧を教えて」を試した。

Claudeがいうには,以下のような構造になっている。
あなた
  ↓ プロンプト
Claude Code (CLIプロセス, ローカル)
  ↓ MCPプロトコル
notebooklm-mcp-cli (Pythonプロセス, ローカル)
  ↓ Playwright ブラウザ自動操作
notebooklm.google.com (Google のサーバー)
  ↓ RAG検索(アップロード済みソースのみ)
回答 → 逆順に返ってくる

・NotebookLM MCPでできること
  あなたが事前にNotebookLMにアップロードした文書の中を検索・質問する
  いわば「自分の本棚」の中を探すだけ
・できないこと
  arXiv新着論文のリアルタイム検索
  外部Webの自動クロール・収集
・複数ノートブックをまたいだ分析について
  各ノートブックは完全に独立したサイロとして動作。
  ノートブック横断のクエリはNotebookLM単体では不可。 
  今回の構成(Claude Code + MCP)ではClaude側で統合は理論上可能。

2026年6月7日日曜日

NotebookLM + Claude(1)

Claude Code からの続き

Q(koshix):
NotebookLM + Claude がすごいという話題なのですけれど,
なにがすごいといわれていますか?それはどこまで本当ですか?

A(Grok):
NotebookLM + Claude の組み合わせが「すごい」と言われる主な理由は、両者の強みを補完し合う「神連携」による業務効率化・研究力の劇的向上です。 特に日本を含むAIヘビーユーザー間で2026年頃に話題が広がっています。

1.何がすごいと言われているか(主な称賛ポイント)

(1) ハルシネーション(AIの嘘・創作)の大幅抑制 + 資料 grounded 処理
NotebookLMはアップロードした資料のみを情報源にし、外部知識を混ぜない(条文にないことは絶対生成しない)。Claude単独だと学習データからの補完が入りやすいのに対し、NotebookLMで事前処理してからClaudeに渡すと信頼性が跳ね上がる。

(2) コスト破壊(トークン消費1/10レベル)
重い資料読み込み・要約・リサーチを無料/低コストのNotebookLM(Gemini基盤)に丸投げし、Claudeは仕上げ(創造・分析・コード生成)だけ担当。Claudeの高いトークン代を大幅削減し、「無限記憶」のような使い方が可能に。

(3) リサーチ・知識処理の爆速化
NotebookLMで大量のPDF/URL/YouTube/音声などを一気に取り込み、Audio Overview(2人のAIホストが自然なポッドキャスト形式で議論する機能)で内容を「体験」できる。
これをClaudeに渡してさらに深掘り・スライド作成・要約・スキル構築などに活用。研究・資料作成・会議まとめなどが劇的に速くなる。

(4) 実務・クリエイティブでの具体的な成果例
サムネイル設計の心理学をNotebookLMで調べ、Claudeでスキル化 → 出力品質が段違い。
議事録まとめが2時間→10分に。
自分専用AIエージェント構築、競合分析、プレゼン資料自動化など。
MCP(Model Context Protocol)などの統合で、Claudeから直接NotebookLMを操作可能になり、ワークフローがシームレス。

(5) 「第二の脳」的な体験
NotebookLMの grounded 知識ベース + Claudeの優れた推論・創造性を組み合わせることで、大量資料を扱った高度な知的作業が現実的になる。教育・研究・ビジネスで「根本から変えるレベル」と評価される声も。

2.それはどこまで本当か?(現実的な評価)
かなり本当ですが、万能ではなく「使い分けと設計」が鍵です。

(1) 本当の強力な部分:
特に大量資料を扱うリサーチ・要約・知識管理では、単独使用より明確に優位。コスト削減と正確性向上は多くの実例で確認されている。
Audio Overviewは日本語対応も進んでおり、ポッドキャスト風まとめは「衝撃的」と評判が高い。
統合(MCPやnotebooklm-pyなど)で利便性がさらに上がっている。

(2) 限界・注意点:
NotebookLMの出力品質は投入する資料の質に強く依存する。悪いソースを入れても魔法は起きない。
Claudeの創造性は強いが、完全にハルシネーションゼロにはならない(NotebookLMでgroundingしても最終出力で注意)。
セットアップ(連携ツールの使用)に少し学習コストがかかる場合あり。シンプルにコピペ連携だけでも効果は出るが、本領発揮には工夫が必要。
Claude Projects機能が強力になった今、「NotebookLM不要派」もいる(音声機能などはNotebookLM優位)。

(3) 結論:
 「すごい」という話題は過大広告ではなく、実務で明確な生産性向上を実感できるレベルの組み合わせです。特に知識労働者・研究者・コンテンツ制作者に向いています。まずは無料でNotebookLMに資料を放り込んでAudio Overviewを試し、それをClaudeに投げてみるのがおすすめ。自分のワークフローに合うか体感するのが一番確実です。



2026年6月6日土曜日

MediaWiki(6)

MediaWiki(5)からの続き


図:Fisica Wiki の現在のトップページ


毎日,MediaWikiに手を入れている。ChatGPTがどういう手順で作業すればよいかを提案してくれたので,それに従って作業してきた。次のようなことである。
1. 物理学者記事移植の開始
2. Special:Export / Special:Import の注意点
3. Commons / Wikiquote 系ボックスの文字はみ出し対策
4. Normdaten / Authority control の縮退
5. WikidataCheck エラーへの対応
6. 国旗テンプレートの簡易整備
7. Infobox Scientist の安定化
8. 画像表示と InstantCommons
9. 不要な管理テンプレートの扱い
10. 第2段階:20名基準セットの作成
組込み用の軽量スクリプト言語のLuaが,MediaWikiにも使われている。それが引っかかるエラーが大きかったのだが,うまく回避する方法が提案された。その結果,詳細は別にして,日本語Wikipedia からの移植がほぼほぼできるようになった。

その後,国旗のsvgファイルを表示させる過程で問い詰めたら,なんと,LocalSettings.php に  \$wgUseInstantCommons = true; を設定すれば,オリジナルのウィキメディア・コモンズの画像データを直接引っ張ってこれることがわかった。肖像写真などもOKだ。早く言ってほしい。

というわけで,さくらインターネット上のMediaWiki(Fisica Wiki)の環境設定は一段落することになった。コンテンツはこれからゆっくり料理することにしよう。物理分野のカテゴリどうする問題はあるけれど,仮の住まいだと思ってがまんすることに。

2026年6月5日金曜日

MediaWiki(5)

MediaWiki(4)からの続き

自分自身の情報整理能力がどんどん衰えているため,いきおい他人(AI)に頼ることになってしまうが,まあしょうがないか。これで戦争にでもなって,生成AIへのアクセスを止められた日には,とんでもないことになる。そのときはGoogle検索もMicrosoft Officeも使えないかもなので,いずれにせよ日本の全機能が停止するのかもしれない。あるいは,OSごと動かなくなくなるとか。残るのはLinuxなどのFree Softwareのみ


Q(koshix): 
Fisica Wiki の件ですが,構造が複雑で,なにがどこにはいっているのか。
・最初から構造として組み込まれているもの
・自分が移植したテンプレートやモジュール等
・自分が作った(移植した)コンテンツやメディア
 がどうなっていて,それぞれどうやって探せばいいのかを なるべく初心者向けに分かりやすく解説してください。

A(ChatGPT):
(回答略)

Q(koshix):
回答が冗長で回りくどいので,要点をもれなく簡潔に整理してください。

A(Gemini):
Fisica Wikiの構造と探し方を、3つのカテゴリーに絞って簡潔に整理た。

1.構造の三層整理
Wikiは「器」「部品」「中身」の3階層でできている。
カテゴリー | 内容 | 実体(名前空間)
① 本体(器)|システムが最初から持っている機能   |特別ページ、サイドバー、検索欄
② 移植部品 |Wikipediaから持ってきた表示の仕組み |テンプレート:、モジュール:、MediaWiki:Common.css
③ コンテンツ|あなたが書いた記事やアップロード画像|(接頭辞なし)、Fisica Wiki:、ファイル:

2.目的別・探し方の最短ルート
「どこにあるか」を知るための5つの手段。
・全ページを棚卸ししたい
特別:全ページ を使う。上のプルダウンで「名前空間」を切り替えると、種類ごとに一覧が出る。
・最近の作業を確認したい
特別:最近の更新 を見る。自分が直近で触ったページが時系列で並ぶ。
・画像を確認したい
特別:ファイル一覧 を見る。ロゴや写真などのメディアだけが並ぶ。
・ページが何で構成されているか知りたい
そのページの「編集」画面を開く。{{...}} なら テンプレート、[[ファイル:...]] なら 画像。
・その部品がどこで使われているか知りたい
左メニューの リンク元 をクリック。そのテンプレートや画像を使っている記事が逆引きできる。

3.迷ったときの早見表
「あれはどこ?」となったら、ページ名の先頭(接頭辞)を確認。

探したいもの  | ページ名の例       | 探し方
物理学者の記事  |アルベルト・アインシュタイン |接頭辞なし(標準)
自分の作業メモ  |Fisica Wiki:物理学者記事移植  |Fisica Wiki: 名前空間
表示のひな形   |テンプレート:Cite web     |テンプレート: 名前空間
複雑な計算・処理 |モジュール:Citation/CS1   |モジュール: 名前空間
画像・ロゴ    |ファイル:fisica-logo.png   |ファイル: 名前空間
全体のデザイン調整|MediaWiki:Common.css   |直接ページ名を検索
アドバイス

混乱を防ぐため、「Fisica Wiki:物理学者記事移植」 のページに、よく使うテンプレートやCSSへのリンクを 「お気に入りリスト」 としてまとめておくと、名前空間を意識せずに一発でアクセスできるようになる。

2026年6月4日木曜日

MediaWiki(4)

MedieWiki(3)からの続き 

Q(koshix):
日本語Wikipediaの物理学者記事にあるテンプレートやモジュールのうちで主要なものを,自分のMediaWikiサイト,Fisica Wiki に移植するプロジェクトの件です。
codexにお願いして,
koshi@mba2020 ~ % ls -al jawiki-template-test 
total 208
drwxr-xr-x   17 koshi  staff    544  5月  1 13:40 .
drwxr-x---+ 131 koshi  staff   4192  5月  5 16:40 ..
-rw-r--r--    1 koshi  staff    464  5月  1 11:17 articles.txt
-rw-r--r--    1 koshi  staff    749  5月  1 13:41 core_export_pages.txt
-rw-r--r--    1 koshi  staff    659  5月  1 13:02 export_pages.txt
-rw-r--r--    1 koshi  staff   7912  5月  1 12:58 extract_template_dependencies.py
-rw-r--r--    1 koshi  staff   8317  5月  1 11:29 extract_templates.py
-rw-r--r--    1 koshi  staff   1614  5月  1 13:01 make_export_pages.py
-rw-r--r--    1 koshi  staff   1956  5月  1 12:53 make_module_list.py
-rw-r--r--    1 koshi  staff   3488  5月  1 13:33 make_template_export_pages.py
-rw-r--r--    1 koshi  staff    307  5月  1 12:59 modules_needed.txt
-rw-r--r--    1 koshi  staff   2866  5月  1 13:08 README.md
-rw-r--r--    1 koshi  staff     17  4月 30 22:37 requirements.txt
-rw-r--r--    1 koshi  staff   1345  5月  1 12:19 template_dependencies.csv
-rw-r--r--    1 koshi  staff   2284  5月  1 13:35 template_pages.txt
-rw-r--r--    1 koshi  staff  18146  5月  1 11:54 template_usage.csv

こんな状況になっています。自分がなにをしたか,してもらったかが,よくわからなくなっているので,状況を整理して,現在の進行状況がどうなっているか,これからどうすればいいか,を教えてください。必要があれば,それぞれのファイルや現在のFisica Wikiの内容を確認してお知らせすることが出来ます。どうぞよろしくお願いいたします。


A(ChatGPT):
状況はかなり整理できます。結論から言うと、いまの jawiki-template-test は、日本語Wikipediaの物理学者記事を材料にして、Fisica Wikiへ移植すべきテンプレート・モジュールの候補リストを作るための作業ディレクトリになっています。

ただし、ここにあるファイルだけを見るかぎり、これはまだ「移植そのもの」ではなく、主に次の段階まで進んだ状態です。

・第1段階:物理学者記事を調べる
・第2段階:それらの記事で使われているテンプレートを抽出する
・第3段階:そのテンプレート群に必要な関連テンプレート・モジュールを推定する
・第4段階:日本語Wikipediaの特別:データ書き出しに渡すページ一覧を作る

ここまでは、かなり進んでいます。一方で、Fisica Wiki側に何が実際に取り込まれていて、何がまだ赤リンク・Luaエラー・TemplateStylesエラーになっているかは、この一覧だけではまだ確定できません。

ファイルごとの意味は、おそらく次のようになります。

articles.txt は、調査対象にした物理学者の記事名リストです。たとえば「ハンス・ベーテ」「ニールス・ボーア」「湯川秀樹」のような記事名が入っているはずです。ここが出発点です。

extract_templates.py は、articles.txt にある記事を日本語Wikipediaから取得して、それぞれの記事中に現れるテンプレートを抽出するスクリプトだと思われます。その結果が template_usage.csv です。

template_usage.csv は、どの記事でどのテンプレートが使われているかを記録した表です。Fisica Wikiに物理学者記事を移すとき、どのテンプレートが頻出するかを見るための中心的な資料です。

extract_template_dependencies.py は、テンプレートがさらに別のテンプレートやモジュールを呼んでいないかを調べるスクリプトです。Wikipediaテンプレートは単体では動かず、内部で {{Ifempty}} や {{Citation}} や #invoke:Citation/CS1 などを呼ぶため、この依存関係の抽出が重要です。

template_dependencies.csv は、その依存関係の表です。たとえば「テンプレート:Cite web は モジュール:Citation/CS1 を必要とする」といった情報が入っているはずです。

make_module_list.py は、依存関係の中から モジュール: 名前空間のものだけを抜き出すためのスクリプトでしょう。

modules_needed.txt は、必要と推定されたLuaモジュール一覧です。サイズが307バイトなので、かなり小さいリストです。過去の経緯から考えると、モジュール:Citation/CS1 系、モジュール:Arguments、モジュール:If empty、モジュール:String、モジュール:TableTools、モジュール:Yesno あたりが入っている可能性があります。

make_template_export_pages.py は、必要なテンプレートを日本語Wikipediaの「特別:データ書き出し」に渡しやすいページ名リストへ整形するスクリプトだと思われます。

template_pages.txt は、移植候補のテンプレートページ一覧です。サイズが2284バイトなので、ある程度の数があります。

make_export_pages.py は、テンプレートとモジュールなどを合わせて、最終的なエクスポート対象ページ一覧を作るスクリプトでしょう。

export_pages.txt は、最初に作ったエクスポート用ページリストだと思われます。

core_export_pages.txt は、より絞り込んだ「主要部分だけ」のエクスポート用ページリストだと思われます。名前から見ると、全候補ではなく、Fisica Wikiでまず動かすべき中核テンプレート・モジュールをまとめたものです。

README.md は、Codexが作った作業説明書です。ここに実行手順や前提が書かれているはずです。まず読むべきファイルです

requirements.txt はPythonスクリプトに必要なライブラリです。17バイトなので、たぶん requests など最小限だけでしょう。

現時点の進行状況を、作業フェーズで言うとこうです。

1.まず、分析用ツール群は作られている。これはすでに達成されています。extract_templates.py、extract_template_dependencies.py、make_export_pages.py などがそろっているので、Codexは「日本語Wikipediaからテンプレート使用状況を調べ、移植候補リストを作る」ための小さな道具立てを用意したことになります。

2.次に、物理学者記事に使われるテンプレート候補も抽出済みです。template_usage.csv、template_dependencies.csv、template_pages.txt、modules_needed.txt が存在するので、少なくとも一度は処理が走っています。

3.さらに、日本語WikipediaからXMLエクスポートするためのページ一覧も作成済みです。export_pages.txt と core_export_pages.txt があるので、次の作業はこれを使って日本語Wikipediaの「特別:データ書き出し」からXMLを取得し、Fisica Wikiの「特別:データ取り込み」で取り込むことになります。

(中略)

これからやるべきことは、いきなり再インポートではなく、まず「現在地の棚卸し」です。
まずMac側で、次のコマンドを実行して内容を確認してください。

(後略)

以下,指示された通りに進めていく。長いモジュールやテンプレートのリストを提示して,これがどうなっているかチェックせよといわれたが,手動だとやってられない。相談したところ,MediaWiki API を使えば良いといわれたので,以下,ChatGPTがその都度作ってくれる,APIをたたいてチェックするpythonコードをコマンドラインで入力し,その出力結果をChatGPTの対話画面に貼付ける,という操作を延々と繰り返す。その前提として,check_fisica_pages.pyと,check_fisica_rendered.py というコードを準備してくれた。

一例を見せると下記のようなものである。
python - <<'PY'
import requests

API_URL = "https://nucleus.sakura.ne.jp/wiki/api.php"

text = """
これは仮リンクのテストです。

{{仮リンク|Test Person|en|Test person}}
"""

r = requests.get(API_URL, params={
"action": "parse",
"format": "json",
"contentmodel": "wikitext",
"text": text,
"prop": "text",
"formatversion": "2",
}, timeout=30)

data = r.json()
html = data.get("parse", {}).get("text", "")
print(html[:3000])
PY
その後,レオ・シラードとかハンス・ベーテとかでチェックしたが,表示がおかしいのは.cssファイルのせいだということになり,この簡易版を適当に作ってもらって現在に至る。プログラミングのプロセスが,過去とは完全に違うスタイルになってしまう。

2026年6月3日水曜日

MediaWiki(3)

MediaWiki(2)からの続き

前回は,Fisica WikiにMathJaxの設定をしたところだった。新しく知ることになったRaTeXのインストール過程で,MathJax代替にはKaTeXというJavascriptライブラリを使うのがよいと教えられた。MathJaxより若干表現範囲は狭いが,高速で自己完結していて十分だとのことだ。

そこで,Fisica WikiにKaTeXを導入することにした。koshix.blogspot.com はとりあえずMathJaxのままにしておく。GeminiにKaTeXの設定方法を尋ねたところ,具体的には次のようなことだ。

(1) Commons.jsを修正する。
/* KaTeXの読み込みと自動実行 */
(function() {
    // CSSの追加
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.href = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css';
    document.head.appendChild(link);

    // JSの追加
    var script = document.createElement('script');
    script.src = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js';
    script.onload = function() {
        var autoRenderScript = document.createElement('script');
        autoRenderScript.src = 'https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js';
        autoRenderScript.onload = function() {
            renderMathInElement(document.body, {
                delimiters: [
                    {left: "\$\$", right: "\$\$", display: true},
                    {left: "\$", right: "\$", display: false}
                ]
            });
        };
        document.head.appendChild(autoRenderScript);
    };
    document.head.appendChild(script);
})();

(2) ただし,このままではセキュリティの問題でブロックされるので,さくらインターネットレンタルサーバーのコントロールパネルのセキュリティで,WAFを一端無効化してから作業して,有効化に戻すことに注意する。

(3) LocalSettings.php の確認(Extension:Math を使っている場合)
もし「Math拡張機能」自体を導入して MathJax モードに設定している場合は、そちらの設定も変更する必要がある。Extension:Mathを使っていたのでコメントアウトした。

数式は正しく表示され,<math>E = h \nu</math> のようなものは,レンダリングされなくなった。それはそれで,従来のソースと矛盾するので,再度復活させることにした。うーん,結局KaTeXは意味があったのかな?

2026年6月2日火曜日

MediaWiki(2)

MediaWiki(1)からの続き

図:Fisica_Wiki トップページ

さくらインターネットサーバーに,MediaWikiのページを立ち上げることができた。次に,日本語Wikipediaとできるだけ似たような見かけや機能にすることを目指している。このためには,Wikipediaから,テンプレートやモジュールをxmlファイルとしてダウンロードし,MediaWiki側に移植することが必要になる。
Wikipedia 特別:データ書き出し
https://ja.wikipedia.org/wiki/特別:データ書き出し
MediaWiki 特別:データ取り込み
https://nucleus.sakura.ne.jp/wiki/index.php/特別:データ取り込み
ChatGPTに相談したところ,次の5つのグループで進めてはどうかということだった。
第1グループ:脚注・出典の基本 ✓
テンプレート:Reflist,テンプレート:Cite web,テンプレート:Cite book,テンプレート:Cite journal
第2グループ:追加の出典テンプレート(×失敗)
テンプレート:Cite news,テンプレート:Cite press release,テンプレート:Cite conference,テンプレート:Citation
第3グループ:言語表記 ✓
テンプレート:Lang,テンプレート:En,テンプレート:De,テンプレート:Fr,テンプレート:La,テンプレート:仮リンク
第4グループ:関連項目・導線
テンプレート:Main,テンプレート:See also,テンプレート:See,テンプレート:For,テンプレート:Further
第5グループ:軽い整形補助
テンプレート:Nowrap,テンプレート:Smaller,テンプレート:Resize,テンプレート:Clear,テンプレート:Plainlist,テンプレート:Flatlist,テンプレート:Unbulleted list,テンプレート:Br separated entries

2026年6月1日月曜日

MediaWiki(1)



図:MediaWikiで始めて作ったウェブページ

メディアウィキMediaWiki)は,プログラミング言語PHPとMySQLなどのデータベースから構成されるウィキソフトウェアである。ウィキペディアやその関連プロジェクトはこのによって作成されている。昔は向日葵のアイコンでなじみ深かったが,いまはちょっとイマイチになった。

マニュアルレス時代が到来しているので,ほとんどの設定方法などは生成AIに聞いてみることで事足りる。今回は,Geminiの指導を仰いだ。ChatGPTの回答がいまいちだったからだ。
Q(koshix):
sakura internet のアカウント( サービス名 :さくらのレンタルサーバ スタンダード)で 公開用のMediaWiki(Wikipediaとほぼ同水準の)を立ち上げることはできますか。もし可能ならば,どの程度の工数が必要でしょうか。 

の最初の段階について ChatGPTにきいたところ以下の回答が得られました。 でも,ちょっと自分にとっては分かりにくくて不親切に思えるので,初心者向けに 丁寧かつ簡潔に修正していただけませんか。(以下ChatGPTの回答を添付)

(1) スタンダード契約しているさくらインターネットのコントロールパネルで,MySQLデータベースを新しく作成する。

(2) さくらインターネットのサーバーのウェブ公開ディレクトリ配下にwikiというディレクトリをつくる。MediaWikiのダウンロードサイトから入手したファイル(MediaWiki 1.45.3 安定版)を展開して,その中身をwikiに置く。

(3) httpでwikiディレクトリにアクセスし,初期化プロセスindex.phpを実行する。タイトルは,安易にPhys_Wikiとしたところ,田原真人のフィズヨビのなかでPhys-Wikiというコーナーが作られていたので,後にFisica_Wikiに変更した。 Wikiではあるけれども,管理者の自分だけが編集可能に設定する。外装はWikipediaになるべく近くなるようVector を指定する。

(4) 先ほど設定していたMySQLデータベースとの接続などを定義すると,LocalSettings.phpという設定ファイルができあがる。 これを自分のMacBook Airにダウンロードして,サーバーのwikiディレクトリに置く。CC-BY-SAも必須だ。これで準備は出来上がり。

(5) logoがデフォルトのままで美しくないので,Geminiと相談してそれっぽいデザインのものを作り,さらにそれをsvgに変換してもらう。そのまま埋め込んだらサイズが固定ではみ出てしまったので,そこも調整してもらう。なんでもかんでも任せっきりだ。

(6) バックアップの設定をしておけとの助言があった。少し問い合わせて指示に従って,さくらインターネットのコントロールパネルのWebサイト/バックアップ&ステージングでSnapUpを設定し,wikiのページのバックアップを指定したつもり(大丈夫かな?)。

(7) なるべく負荷少なく数式を表示したいので,ユーザ側でレンダリングするMathJaxを設定ファイルにCommon.jsに書く。いったんWAF設定のセキュリティ解除する必要があるとか,キャッシュのせいだとか,ななかなうまく反映できなかったが,最終的にはなんとかなった。

(注)昔は馬力があったので,あれこれ全部マニュアルと首っ引きで設定できた。その後は,インターネットで検索しながらになり,ついに生成AI(LLM)様に完全依存の状態に到達した。

/* MathJax 3 強制ロード・スクリプト */
mw.loader.using('mediawiki.util').done(function () {
    window.MathJax = {
        tex: {
            inlineMath: [['$', '$'], ['\\(', '\\)']],
            displayMath: [['$$', '$$'], ['\\[', '\\]']],
            processEscapes: true
        }
    };

    var script = document.createElement('script');
    script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js';
    script.async = true;
    document.head.appendChild(script);
    
    // ページ読み込み後に再レンダリングを命令
    script.onload = function() {
        if (window.MathJax && MathJax.typeset) {
            MathJax.typeset();
        }
    };
});




2026年5月31日日曜日

RaTeX

MathJaxで数式表示(2)からの続き



図:RaTeXデモ(Githubのdemoページから引用)


Twitter(x.com)で,他言語の記事が自動翻訳されて流通するようになった結果,自分のエコーチェンバーには数学や情報や物理系の記事が増えてきて,それはそれで結構な話だ。そのなかで,Rustでかかれ,モバイル端末でも使える軽量な数式レンダリングエンジンRaTeX話題があった。JavaScriptやブラウザ(WebView)を介さず、ネイティブ環境で数式をPNGやSVG,PDFとして出力できる。

さっそくChatGPTに頼んで試したところ,イマイチでつまづいたので,Geminiでやりなおした。

前回のどさくさ(アレコレたいへん)で消えてしまったRustを,ChatGPTが,homebrewでインストールしてしまったので,それやらRaTeXディレクトリを削除するところからやり直しになった。homebrew版ではなく,オリジナルからインストールの方がいろいろメリットがあるそうだ。

brew uninstall rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
1) Proceed with installation (default)
source $HOME/.cargo/env
rustc --version
rustc 1.95.0 (59807616e 2026-04-14)
cargo --version
cargo 1.95.0 (f2d3ce0bd 2026-03-21)
git clone https://github.com/erweixin/RaTeX.git
cd RaTeX
cargo build --release
echo 'y = ax^2 + bx + c' | cargo run --release -p ratex-render
echo 'E = mc^2' | cargo run --release -p ratex-svg --features "cli standalone" -- --output energy.svg
cargo run --release -p ratex-svg --features "cli standalone" << 'EOF'
\begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} ax+by \\ cx+dy \end{pmatrix}
EOF

ということで,pngもsvgもなんとか生成された。こんな感じで短いLaTeX断片をレンダリングすることは容易にできるようだ。さっそく,このsvgファイルをblogspotに埋め込めないかを聞いたところ。svgファイル(テキスト)を<svg></svg>タグで挟めばいいだけだと。

ところが,生成された行列のsvgファイルをみると分けの分からない数字が大量にならんでいる。もちろん,描画は成功している。どうやら文字コードではなくて,それを線画として描画するときの情報がsvg化されているようだ。それはあまりうれしくないので,blogspotへの適用はやめになった。