<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Github [text.Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://text.baldanders.info/tags/github/" />
	<link rel="self" type="application/atom+xml" href="https://text.baldanders.info/tags/github/index.xml" />
	<id>tag:text.Baldanders.info,2026-05-31:/tags</id>
	<updated>2026-05-31T12:43:36+09:00</updated>
	<subtitle>帰ってきた「しっぽのさきっちょ」</subtitle>
	<icon>https://text.baldanders.info/images/avatar.jpg</icon>
	<logo>https://text.baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>Secretary as a Service</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/05/secretary-as-a-service/" />
		<id>tag:text.Baldanders.info,2026-05-31:/remark/2026/05/secretary-as-a-service/</id>
		<published>2026-05-31T03:43:36+00:00</published>
		<updated>2026-06-01T02:30:22+00:00</updated>
		<summary>既に AI サービスはメタクソ化が始まってると思う。早めに逃げれるようにしておかないと。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;h2&gt;Agents Window&lt;/h2&gt;
&lt;p&gt;最近気がついたのだが &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; 1.120 から &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; なるものが追加されたそうだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gihyo.jp/article/2026/05/vscode-1.120&#34; target=&#34;_blank&#34;&gt;VS Code 1.120リリース、Agentsウィンドウの安定版向けプレビューを開始 | gihyo.jp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://note.com/shali_note/n/n47d9fa3e4a46&#34; target=&#34;_blank&#34;&gt;VS Codeの「Agents window」とは？複数AIエージェントを並列で動かす新機能をやさしく解説します｜しゃり&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;仕事でコードを書くときは分担して作業するものなのであまり意識することはないが，独りで作業する場合，特に &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; で複数のパッケージを同時に弄る場合は頭の中がとっ散らかってしまうことがある。
我ながら歳をとったなぁとは思うけど。&lt;/p&gt;
&lt;p&gt;というわけで，少しでも作業が軽減できればと &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; を試そうとしたんだけど，これって既存の AI エージェントとのセッションを他セッションに引き継げないのな。
「どうにかならん？」と，それこそ &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; に訊いてみたんだが，セッション履歴のインポート・エクスポート機能はあるが（つまりバックアップ・リストアはできる？），他セッションに引き継いで fork することはできないと言われた。
できることは AI に引き継ぎ資料を書かせて，それを別のセッションに読み込ませるくらいだそうな。&lt;/p&gt;
&lt;p&gt;この辺の話を Mastodon/Bluesky で愚痴ったのだが&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;mastodon-embed&#34; data-embed-url=&#34;https://mstdn.world/@rino/116650070084518151/embed&#34; style=&#34;background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;&#34;&gt; &lt;a href=&#34;https://mstdn.world/@rino/116650070084518151&#34; target=&#34;_blank&#34; style=&#34;align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, Oxygen, Ubuntu, Cantarell, &#39;Fira Sans&#39;, &#39;Droid Sans&#39;, &#39;Helvetica Neue&#39;, Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;&#34;&gt; &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; width=&#34;32&#34; height=&#34;32&#34; viewBox=&#34;0 0 79 75&#34;&gt;&lt;path d=&#34;M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt; &lt;div style=&#34;color: #787588; margin-top: 16px;&#34;&gt;Post by @rino@mstdn.world&lt;/div&gt; &lt;div style=&#34;font-weight: 500;&#34;&gt;View on Mastodon&lt;/div&gt; &lt;/a&gt; &lt;/blockquote&gt; &lt;script data-allowed-prefixes=&#34;https://mstdn.world/&#34; async src=&#34;https://mstdn.world/embed.js&#34;&gt;&lt;/script&gt;
&lt;/figure&gt;
&lt;p&gt;みたいなポストをいただいたり。
でも，ここに書かれている Claude のやり方も裏技っぽいよねぇ。
他に「&lt;a href=&#34;https://rio.st/2026/02/26/zed%e3%81%aemcp%e3%82%b5%e3%83%bc%e3%83%90%e3%81%a7%e3%82%b3%e3%83%b3%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e5%85%b1%e6%9c%89%e3%81%97%e3%81%9f%e3%81%84/&#34; target=&#34;_blank&#34; title=&#34;ZedのMCPサーバでコンテキスト共有したい - rio.st&#34;&gt;ZedのMCPサーバでコンテキスト共有したい&lt;/a&gt;」みたいな運用もあるよ，と教えてもらった。&lt;/p&gt;
&lt;p&gt;セッションの複製や fork は必須の機能だと思うんだけど，なんで &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; の標準機能にないの？ やっぱそろそろ &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; や &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; は卒業すべきかねぇ。
だからといって，個人利用で Claude Code とか使う気はないが。&lt;/p&gt;
&lt;h2&gt;秘書としての AI エージェント&lt;/h2&gt;
&lt;p&gt;他の記事でも言ってるけど，コーディング支援として使う AI はどちらかというとペアプログラミングしている感じ。
それも新人くんとのペアプロ（笑） 最初の頃は「自分で書いたほうが速い」って感じだったんだけど，反応を見ながら指示を出すことで，なんとなく AI の性格のようなものが分かってきた。
&lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;GitHub Copilot&lt;/a&gt; の Pro 契約で使える主なモデルはこんな感じ（個人の意見です。あしからず）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-5-mini&lt;/strong&gt;: コストゼロで使えるのが最大のメリット。生真面目なおバカ。コード補完やコメント補完では重宝するが，エージェント・モードだと最初から明後日の方向に全力疾走する。「けもフレ」のアライさんみたいなモデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.3-Codex&lt;/strong&gt;: 個人で使うエージェントとしては一番バランスが取れている。こちらの意見に&lt;a href=&#34;https://text.baldanders.info/remark/2026/05/reading-living-with-ai/#sycophancy&#34; target=&#34;_blank&#34; title=&#34;追従する AI は向社会的な姿勢を減退させる？&#34;&gt;追従（ついしょう）&lt;/a&gt;せず，ちゃんと反論できる。人間のペースに合わせてくれる盲導犬モデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude Sonnet 4.6&lt;/strong&gt;: 計画立案は上手いが，一度走り出すと融通が利かず失敗するまで突っ走るチョロQモデル。コード分析等で無闇にトークンを消費してる印象。金に糸目をつけず地球資源を濫用する富裕層向き&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;エージェントの使い方がちょっと変わったきっかけになったが &lt;a href=&#34;https://github.com/goark/pa-api&#34; target=&#34;_blank&#34; title=&#34;goark/pa-api: Go client for the Amazon Creators API&#34;&gt;&lt;code&gt;goark/pa-api&lt;/code&gt;&lt;/a&gt; パッケージに来た PR の評価に &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; の &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; を使ったこと。
PA-API から Creator API に移行するための大きな変更だったので，自分だけで評価・判断するのがちょっと不安だったのだ。&lt;/p&gt;
&lt;p&gt;実をいうと PR ページでアサインする AI レビューが使いものにならなかったのであまり期待してなかったのだが，思った以上に使えた。
私は，上述の性格診断から GPT-5.3-Codex を常用しているのだが， PR に対するお互いの評価を突き合わせて「議論」が成立したことに驚いた。
結城浩さんの『AIと生きる』に出てくる「&lt;a href=&#34;https://text.baldanders.info/remark/2026/05/reading-living-with-ai/&#34; target=&#34;_blank&#34; title=&#34;『AIと生きる』を読む&#34;&gt;AI との対話&lt;/a&gt;」ってこういう感じなんだなぁ，と実感したのだった。&lt;/p&gt;
&lt;p&gt;これで我が家では &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; はペアプロ相手の新人くんから秘書に格上げになった。
AI で秘書的な役割を演じるものとして思いつくのはグレッグ・イーガンの『&lt;a href=&#34;https://amzn.to/4viO0LY&#34; target=&#34;_blank&#34; title=&#34;万物理論 | グレッグ・イーガン, 山岸 真 |本 | 通販 | Amazon&#34;&gt;万物理論&lt;/a&gt;』に出てくるシジフォスだな。
私としてはあーゆーのが理想なんだけどねぇ。&lt;/p&gt;
&lt;h2&gt;サービスとしての秘書&lt;/h2&gt;
&lt;p&gt;個人で &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; 製ツールを書くときは複数の自作パッケージを同時に扱うことが多い。
そういう意味で &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; は便利そうなのだが，前に述べたようにセッションの複製や fork ができないのはいただけない。
あと，複数のセッションを統括する AI セッションが要るよね，たぶん（セッション間の通信？）。
秘書はなんぼあってもいいですからね（by ミルクボーイ）。&lt;/p&gt;
&lt;p&gt;で，思ったんだけど，これ &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; から分離したほうがよくね？ そもそもエディタや IDE にエージェント機能を組み込むのは筋が悪いと思うのだ。
だからこそ CLI インタフェースの AI エージェントが人気なんだろうけど GUI デスクトップでいまさら CUI ターミナル上で動かす意味はないよね。
ブラウザ上で動かすのはもっとないけど。&lt;/p&gt;
&lt;p&gt;というわけで &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; には密かに期待を寄せている。
どう発展するのか分からないけど。&lt;/p&gt;
&lt;p&gt;あと，やっぱローカル LLM は真面目に勉強しないといけないなぁ。
既に AI サービスは&lt;a href=&#34;https://en.wikipedia.org/wiki/Enshittification&#34; target=&#34;_blank&#34; title=&#34;Enshittification - Wikipedia&#34;&gt;メタクソ化&lt;/a&gt;が始まってると思う。
早めに逃げれるようにしておかないと。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/yasuo-dev/items/88cc099d3e133ab87cc1&#34; target=&#34;_blank&#34;&gt;VS Code 1.121 で何が変わったのか？ Agents・Mermaid・HTMLプレビュー・ターミナル最適化を整理する - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4488711022?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51J3DEJJ1TL._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4488711022?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;万物理論 (創元SF文庫)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;グレッグ・イーガン (著), 山岸 真 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;東京創元社 2004-10-28&lt;/dd&gt;
    &lt;dd&gt;文庫&lt;/dd&gt;
    &lt;dd&gt;4488711022 (ASIN), 9784488711023 (EAN), 4488711022 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;グレッグ・イーガンの名作。これも singularity を巡る物語だな。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2017-09-18&#34;&gt;2017-09-18&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 万物理論 --&gt;
</content>
	</entry><entry>
		<title>GitHub Copilot はシェル芸達者</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/04/github-copilot-shell-wizardry/" />
		<id>tag:text.Baldanders.info,2026-04-09:/remark/2026/04/github-copilot-shell-wizardry/</id>
		<published>2026-04-09T06:57:34+00:00</published>
		<updated>2026-04-09T07:38:08+00:00</updated>
		<summary>GitHub Copilot に少しずつ仕事を振ってみたら，記事の下ごしらえからタグ整理，デプロイ，Hugo 更新まで思った以上に任せられた話。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;最初に予防線を張っておくと，この記事は技術系の内容ではありませんし，私は生成 AI の扱いにも慣れてません。
その辺を割り引いて読んでいただけるとありがたいです。&lt;/p&gt;
&lt;h2&gt;生成 AI にどこまで任せていいのか&lt;/h2&gt;
&lt;p&gt;最近は GitHub Copilot に開発支援だけじゃなくて，このブログのメンテナンスもさせている。
なにせ，どこまで任せていいのか匙加減がさっぱり分からないので，できそうなところから徐々に任せていく感じ。
気分は新卒社会人の OJT だぜ（笑）&lt;/p&gt;
&lt;p&gt;今のところ GitHub Copilot に任せているのは以下の作業：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;タイトル &amp;amp; slug の提案と記事ファイルの作成&lt;/li&gt;
&lt;li&gt;書いた記事の校正とタグの提案&lt;/li&gt;
&lt;li&gt;記事ファイルの commit &amp;amp; push&lt;/li&gt;
&lt;li&gt;ブログのビルドと GitHub Pages への commit &amp;amp; push&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; title=&#34;The world&amp;#39;s fastest framework for building websites&#34;&gt;Hugo&lt;/a&gt; の更新&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;記事そのものは書かせてない。&lt;/p&gt;
&lt;p&gt;いや，生成 AI に書かせるとホンマに好き勝手な（私の意図とは程遠い）ことを書くのよ。
一度，タイトルだけ決めたまっさらな状態で書かせようとしたら「何の論文を書く気？」って感じのアウトラインを組み始めて，さすがに止めた。
ブログ記事に10個も章立てしてどうする（笑）&lt;/p&gt;
&lt;p&gt;よくアフィリエイト記事を AI に書かせて云々みたいな話を聞くけど，ホンマに AI に書かせてるの？ かなり無茶苦茶するぞ。
ある意味，文才があるのかも知れないが。&lt;/p&gt;
&lt;p&gt;というわけで「記事を書く」以外の作業をやらせている。&lt;/p&gt;
&lt;p&gt;ちなみにモデルは GPT-5.3-Codex を使っている。
あまり Premium Request を消費したくないので最初は GPT-5 mini を使ってたのだが，どうもこの手の「作業」には向かない感じ。
最終的にはローカル LLM を構築したいのだが，お試しレベルならともかく，まともに動くモデルを個人環境で構築するのは難しいか？&lt;/p&gt;
&lt;h2&gt;タイトル &amp;amp; slug の提案と記事ファイルの作成&lt;/h2&gt;
&lt;p&gt;私は最初にタイトルを決めないとブログ記事が書けない。
マイクロブログ程度の短文ならともかく，ブログ記事でタイトルも決めずに書き始めると大抵記事が迷走する（タイトルを決めて書いても迷走しがちなのだが，それはそれ）。&lt;/p&gt;
&lt;p&gt;手順としては&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;日本語のタイトルを決める（ここだけ私の作業）&lt;/li&gt;
&lt;li&gt;Copilot に英語の翻訳と対応する slug を提案させる（たいてい複数個の候補を提案してくれる）&lt;/li&gt;
&lt;li&gt;slug が決まったら記事ファイルを作成させる&lt;/li&gt;
&lt;li&gt;ファイル内の front matter を埋めさせる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;という感じ。
日本語タイトルを英訳させるための対話で，色々と気付きがあって面白い。&lt;/p&gt;
&lt;p&gt;たとえば日本語タイトルが曖昧で英訳が頓珍漢な文になることがある。
これは生成 AI 以前の機械翻訳サービスを使ってたときもそうだったが，機械と対話することで「文のこの部分が誤解を招いてるのか」と気づいたりできるわけだ。
こういったやり取りが意外と面白かったりする。&lt;/p&gt;
&lt;p&gt;記事ファイルの作成用にシェルスクリプトを組んでいるのだが，まずその挙動を理解させるところから始めた。
したら「このスクリプトをリファクタリングするか？」と訊いてきたのでやらせてみたら，なかなかいい感じに仕上げてくれた。
これなら AI にスクリプトを改善させることもできそうだ。&lt;/p&gt;
&lt;p&gt;他の既存のスクリプトについても同様にリファクタリングさせ，それらの使い方を &lt;code&gt;copilot-instructions.md&lt;/code&gt; および &lt;code&gt;README.md&lt;/code&gt; にまとめさせた。&lt;/p&gt;
&lt;h2&gt;書いた記事の校正とタグの提案&lt;/h2&gt;
&lt;p&gt;私のブログは意図的に文体を崩して書いているので（設計書やビジネス文書じゃあるまいし），下手に賢い lint では却って使いづらかったりする。
ためしに Copilot に「誤字だけ指摘して」と指示してみたら，いい感じに結果を返してくれた。
以来，校正は Copilot に任せている。&lt;/p&gt;
&lt;p&gt;誤字だけでなく慣用句の漢字間違いの指摘とかは結構ありがたかったり。
それでいて崩した文体については一切スルーしてくれる（笑） 偉い偉い。&lt;/p&gt;
&lt;p&gt;もうひとつ悩んでいるのが記事に付与するタグの選択だ。
これを普通に AI に任せるとメチャクチャにしてくれるので，まずは過去の記事を全て浚ってタグの一覧を作らせるところから始めた。&lt;/p&gt;
&lt;p&gt;したらすごい勢いでシェルスクリプトを書き始めた。
私はそれを「へぇ。なるほど」とか言いながら眺めるだけ。
アレだ。
ペアプログラミングってやつ（笑） 機械相手にペアプロすることになるとは思わなかった。&lt;/p&gt;
&lt;p&gt;せっかくいい感じのスクリプトを書いてくれたので，それをファイルにまとめていつでも呼び出せるようにさせた。
タグの一覧を出現数の多いものからソートして CSV ファイルに出力させる。
ここまでできれば，作成した記事に対してタグ一覧の中から妥当なタグを提案するよう指示すればよい。&lt;/p&gt;
&lt;p&gt;タグ一覧を作ったメリットはもうひとつあって typo がいくつか見つかったのと似たような意味のタグの重複が見つかった。
見つけたのも Copilot だけど（なにせ10年以上の間にタグが450個以上できてるのだ）。
これらも修正方針を提案させた上で修正させた。
ファイル作業に関してはちゃんと手順を踏めば間違えることなくやってくれる。&lt;/p&gt;
&lt;h2&gt;記事ファイルの commit &amp;amp; push&lt;/h2&gt;
&lt;p&gt;記事ファイルの commit に関しては，念のため，最初に commit message を提案させて，私が確認してから実際の作業を行わせている。
ここで GPT-5 mini と GPT-5.3-Codex の違いが大きく出た。&lt;/p&gt;
&lt;p&gt;いや，ブログ記事の追加なんだから &lt;ruby&gt;&lt;rb&gt;AI&lt;/rb&gt;&lt;rp&gt; (&lt;/rp&gt;&lt;rt&gt;君&lt;/rt&gt;&lt;rp&gt;) &lt;/rp&gt;&lt;/ruby&gt; のしたことを書くんじゃなくて，どんな記事を追加したのかを書けよ！&lt;/p&gt;
&lt;p&gt;というわけで，GPT-5 mini は向いてないという結論になった。
commit &amp;amp; push するためのコマンドラインの組み立て自体はどちらも大差ないんだけどねぇ。&lt;/p&gt;
&lt;h2&gt;ブログのビルドと GitHub Pages への commit &amp;amp; push&lt;/h2&gt;
&lt;p&gt;ブログのビルドと GitHub Pages への commit &amp;amp; push についても以前からスクリプトファイルを作っていたので，それをそのまま Copilot に使わせている。
まぁ，自分でやったほうが早いのだが，作業の一連を任せることに意味があると思ってるので，敢えて任せている。
この辺も OJT っぽいよな（笑）&lt;/p&gt;
&lt;p&gt;指示も最初はできるだけ具体的にしていたが，最近は「デプロイして」だけでも（過去の作業履歴や &lt;code&gt;copilot-instructions.md&lt;/code&gt; の記述から）適切に処理してくれるようになった。&lt;/p&gt;
&lt;h2&gt;Hugo の更新&lt;/h2&gt;
&lt;p&gt;このブログは静的サイトジェネレータである &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; title=&#34;The world&amp;#39;s fastest framework for building websites&#34;&gt;Hugo&lt;/a&gt; を使って構築しているのだが，未だ v1 に到達せずベータ版のままである。
古いテンプレート変数や関数のいくつかは deprecated になっているし，稀に破壊的変更が起きることもある。
&lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; title=&#34;The world&amp;#39;s fastest framework for building websites&#34;&gt;Hugo&lt;/a&gt; のバージョンアップのたびにビルドし直して互換性等の確認をしているのだが，だんだん面倒くさくなってきたので，これも Copilot に任せてみることにした。&lt;/p&gt;
&lt;p&gt;今回もゴリゴリとスクリプトを書き始める AI。
私も前と同じく様子を眺めていたが，出来がよさそうなのでスクリプトファイルとして書き出してもらった。
こんな感じ（長いぞ！）。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; -euo pipefail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install latest Hugo Extended .deb from GitHub Releases using apt.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Usage: ./hugo_inst.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;REPO&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gohugoio/hugo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;API_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://api.github.com/repos/&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;REPO&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/releases/latest&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;WORK_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;TMPDIR&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;:-&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/tmp&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/hugo-inst.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cleanup&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  rm -rf &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$WORK_DIR&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;trap&lt;/span&gt; cleanup EXIT
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$WORK_DIR&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$WORK_DIR&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;arch&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;dpkg --print-architecture&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$arch&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  amd64&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;arm64&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  *&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Unsupported architecture: &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$arch&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;This script supports: amd64, arm64&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Current Hugo:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; -v hugo &amp;gt;/dev/null 2&amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;1&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  hugo version &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;hugo command not found&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Fetching latest release metadata from &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;REPO&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;release_json&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;curl -fsSL &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$API_URL&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;awk -F &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#34;tag_name&amp;#34;/ {print $4; exit}&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$release_json&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[[&lt;/span&gt; -z &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$version&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Failed to read latest release version.&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;asset_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;awk -F &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#34;browser_download_url&amp;#34;/ &amp;amp;&amp;amp; /hugo_extended_.*_linux-&amp;#39;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$arch&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\.deb/ {print $4; exit}&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$release_json&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[[&lt;/span&gt; -z &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$asset_url&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Failed to find hugo_extended .deb for architecture: &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$arch&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;deb_file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;asset_url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;##*/&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Latest release: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Downloading: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;deb_file&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fL --retry &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; --retry-delay &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$deb_file&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$asset_url&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Optional checksum verification when checksums.txt exists in latest release.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;checksums_url&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;awk -F &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;#34;browser_download_url&amp;#34;/ &amp;amp;&amp;amp; /checksums\.txt/ {print $4; exit}&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$release_json&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[[&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$checksums_url&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Downloading checksums.txt for verification ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  curl -fL --retry &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; --retry-delay &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; -o checksums.txt &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$checksums_url&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $2}&amp;#39;&lt;/span&gt; checksums.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -qx &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$deb_file&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Verifying checksum ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    grep &lt;span class=&#34;s2&#34;&gt;&amp;#34;  &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$deb_file&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; checksums.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sha256sum -c -
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;checksums.txt does not include &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;deb_file&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;; skipping verification.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;checksums.txt not found in latest release; skipping verification.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Installing &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;deb_file&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; with apt ...&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y &lt;span class=&#34;s2&#34;&gt;&amp;#34;./&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$deb_file&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Installed Hugo:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Done.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これについては，私は1行も触っていない。&lt;/p&gt;
&lt;p&gt;手順としては&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;インストールするマシンのアーキテクチャを確認して対応する &lt;code&gt;.deb&lt;/code&gt; ファイルをダウンロードする&lt;/li&gt;
&lt;li&gt;可能ならチェックサムの検証も行う&lt;/li&gt;
&lt;li&gt;ダウンロードした &lt;code&gt;.deb&lt;/code&gt; ファイルを &lt;code&gt;apt install&lt;/code&gt; コマンドでインストールする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;という感じ。&lt;/p&gt;
&lt;p&gt;これを実行して &lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; title=&#34;The world&amp;#39;s fastest framework for building websites&#34;&gt;Hugo&lt;/a&gt; を更新した後，ブログのビルドを行い，ビルド前後の差分を調べて問題がないことを確認する。
問題がなければビルドしたものを commit &amp;amp; push させる。&lt;/p&gt;
&lt;p&gt;「問題がないことを確認する」の部分は私が判断しているので完全な自動化ではないが，今のところ問題は起きていない。&lt;/p&gt;
&lt;h2&gt;GitHub Copilot はシェル芸達者&lt;/h2&gt;
&lt;p&gt;という感じで緩々と GitHub Copilot を使っている。&lt;/p&gt;
&lt;p&gt;今回の一連で意外とシェル芸達者なのが分かったので，自宅機に &lt;a href=&#34;https://github.com/features/copilot/cli&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot CLI · GitHub&#34;&gt;CLI 版&lt;/a&gt;を入れようかなぁ。
でも，&lt;a href=&#34;https://social.hyuki.net/@hyuki&#34; target=&#34;_blank&#34; title=&#34;結城浩 / Hiroshi Yuki (@hyuki@social.hyuki.net) - 結城浩のマストドン&#34;&gt;結城浩&lt;/a&gt;さんほど使い倒す勇気はないんだよなぁ。
それよりもローカル LLM 構築に向けて環境を整えるほうが先か？&lt;/p&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B07TSZZPWN?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51H&amp;#43;4kUhbFL._SL160_.jpg&#34; width=&#34;121&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B07TSZZPWN?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;フルスクラッチから1日でCMSを作る_シェルスクリプト高速開発手法入門 改訂2版 (アスキードワンゴ)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;上田 隆一 (著), 後藤 大地 (著), ＵＳＰ研究所 (監修)&lt;/dd&gt;
    &lt;dd&gt;ドワンゴ 2019-07-05 (Release 2019-07-05)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B07TSZZPWN (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;既存の常識に凝り固まったソフトウェア・エンジニアに「痛恨の一撃」を加える快書もしくは怪書。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2014-09-21&#34;&gt;2014-09-21&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- フルスクラッチから1日でCMSを作る_シェルスクリプト高速開発手法入門 --&gt;
</content>
	</entry><entry>
		<title>2026年の書き初め</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/01/new-year-first-calligraphy/" />
		<id>tag:text.Baldanders.info,2026-01-04:/remark/2026/01/new-year-first-calligraphy/</id>
		<published>2026-01-04T07:09:56+00:00</published>
		<updated>2026-01-04T07:13:31+00:00</updated>
		<summary>2026年はリハビリから始まる</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;みなさま，新年あけましておめでとうございます。
今年もよろしくお願いいたします。
今年最初のブログ記事。&lt;/p&gt;
&lt;h2&gt;昨年（2025年）のインプット／アウトプット&lt;/h2&gt;
&lt;p&gt;2024年末に「&lt;a href=&#34;https://text.baldanders.info/remark/2024/12/input-output-2/&#34; target=&#34;_blank&#34;&gt;2024年のインプット／アウトプット&lt;/a&gt;」を書いたのを読み返して「2025年もやってること変わらんなぁ」という感想になった。
以下に簡単に2025年のインプット／アウトプットをまとめておく。&lt;/p&gt;
&lt;h3&gt;ブログ&lt;/h3&gt;
&lt;p&gt;ブログに関しては，&lt;a href=&#34;https://text.baldanders.info/&#34; target=&#34;_blank&#34; title=&#34;text.Baldanders.info&#34;&gt;このブログ&lt;/a&gt;以外のアウトプットはなくなった。
Zenn や Qiita は完全に読み専になった。&lt;/p&gt;
&lt;h3&gt;SNS，マイクロブログ&lt;/h3&gt;
&lt;p&gt;インプット・アウトプット両方で使ってるのが Mastodon, Bluesky, Flickr。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mastodon
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@spiegel&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠がんばらない (@spiegel@goark.fedicity.net) - Goark&#34;&gt;メインアカウント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@goark&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark@goark.fedicity.net) - Goark&#34;&gt;osanpo&lt;/a&gt; : よく見るサイト・ブログの監視用ボット。 Feed reader として使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@goark&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark@goark.fedicity.net) - Goark&#34;&gt;goark&lt;/a&gt; : 自作パッケージやよく利用する Go パッケージを監視して更新したらアナウンスするボット&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bluesky
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/baldanders.info&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠旧Twitter難民 (@baldanders.info) — Bluesky&#34;&gt;メインアカウント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/osanpo.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Spiegel&amp;#39;s crawler (@osanpo.bsky.social) — Bluesky&#34;&gt;osanpo&lt;/a&gt; : よく見るサイト・ブログの監視用ボット。 Feed reader として使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/goark.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark.bsky.social) — Bluesky&#34;&gt;goark&lt;/a&gt; : 自作パッケージやよく利用する Go パッケージを監視して更新したらアナウンスするボット&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/apodunofficial.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Astronomy Picture of the Day (unofficial bot) (@apodunofficial.bsky.social) — Bluesky&#34;&gt;APOD unofficial&lt;/a&gt; : NASA APOD (Astronomy Picture of the Day) 非公式ボット&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.flickr.com/photos/spiegel/&#34; target=&#34;_blank&#34; title=&#34;Yasuhiro ARAKAWA | Flickr&#34;&gt;Flickr&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Facebook は広島時代の友人向けの生存報告用にのみ使ってる。
Instagram, Threads はアカウントを持ってない。
&lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; はブログ記事の宣伝と推し VTuber のチェックに使ってる。
Facebook も &lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; も（無料ユーザは）リンク付きのポストを冷遇するみたいな話も聞いてるし，すっかり広告媒体になっちまったなぁという感想。&lt;/p&gt;
&lt;h3&gt;GitHub&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/spiegel-im-spiegel&#34; target=&#34;_blank&#34; title=&#34;spiegel-im-spiegel (Spiegel)&#34;&gt;メインアカウント&lt;/a&gt; : 雑多な物置。主に&lt;a href=&#34;https://text.baldanders.info/&#34; target=&#34;_blank&#34; title=&#34;text.Baldanders.info&#34;&gt;ここ&lt;/a&gt;の管理に使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/goark&#34; target=&#34;_blank&#34; title=&#34;Playing with Go Language&#34;&gt;Playing with Go Language&lt;/a&gt; : 自作ツール，パッケージ管理リポジトリ&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;昨年の秋くらいからぼつぼつ Go で遊ぶのを再開している。
入院中に PR を貰って慌てて環境を整えたり（笑）&lt;/p&gt;
&lt;h3&gt;YouTube&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2025/12/benkei-iwa-and-fracture-and-hospital-stay/&#34; target=&#34;_blank&#34; title=&#34;弁慶岩を見に行って骨折入院した話（前編）&#34;&gt;骨折入院&lt;/a&gt;で気がついたのだが，雑談配信って心とパソコン環境に余裕がないと見る気にならないのな。
なので最近は歌枠やゲーム実況を主に見ている。
退院して余裕ができたら未見の配信を消化していこう。&lt;/p&gt;
&lt;h2&gt;今年（2026年）はリハビリから始まる&lt;/h2&gt;
&lt;p&gt;今年に入って 1/3 荷重まで緩和され，エアロバイクも解禁された。
ペダル漕ぐの楽しい。
最初は様子見とケイデンス 60rpm くらいでゆっくり目に漕ぎはじめたのだが，ペースが速いとビックリされた（笑） まぁ，ママチャリだと 40〜50rpm が普通だものなぁ。
好きに濃いでいいと言われたので 70rpm 付近で20分ほど漕いでいる。&lt;/p&gt;
&lt;p&gt;今月末か来月初めくらいにはフル荷重が解禁になるので，筋力を落とさないよう楽しくリハビリしていこう。&lt;/p&gt;
&lt;p&gt;退院したらまたフィットネスバイクと近場のサイクリングからやり直しだな。
今年も 心臓リハビリ＠がんばらない ということで。&lt;/p&gt;
</content>
	</entry><entry>
		<title>GitHub「変更不可リリース（Immutable Releases）」について</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2025/11/github-immutable-releases/" />
		<id>tag:text.Baldanders.info,2025-11-11:/remark/2025/11/github-immutable-releases/</id>
		<published>2025-11-11T03:59:41+00:00</published>
		<updated>2025-11-11T04:00:16+00:00</updated>
		<summary>私のリポジトリで採用するかどうかは分からないが，覚え書きとして記しておく。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;気づくのが遅れたが，先日 GitHub が「変更不可リリース&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;（Immutable Releases）」機能を正式リリースしたらしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.blog/changelog/2025-10-28-immutable-releases-are-now-generally-available/&#34; target=&#34;_blank&#34;&gt;Immutable releases are now generally available - GitHub Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases&#34; target=&#34;_blank&#34;&gt;変更不可リリース - GitHub ドキュメント&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/preventing-changes-to-your-releases&#34; target=&#34;_blank&#34;&gt;リリースに対する変更の防止 - GitHub ドキュメント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/verifying-the-integrity-of-a-release&#34; target=&#34;_blank&#34;&gt;リリースの整合性の検証 - GitHub ドキュメント&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.publickey1.jp/blog/25/githubimmutable_release.html&#34; target=&#34;_blank&#34;&gt;GitHub、リリース後のバイナリなどアセットを変更不可にする「Immutable Release」（変更不可リリース）機能を正式リリース － Publickey&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;私のリポジトリでこれを採用するかどうかは分からないが，覚え書きとして記しておく。&lt;/p&gt;
&lt;p&gt;リポジトリに対して「変更不可リリース」を設定すると以下の機能が有効になる。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases&#34;&gt;&lt;p&gt;変更できないリリースを有効にすると、次の保護が適用されます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Git タグは移動または削除できません&lt;/strong&gt;。変更できないリリースが発行されると、関連付けられている Git タグは特定のコミットにロックされ、変更または削除することはできません。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;リリースアセットを変更または削除することはできません&lt;/strong&gt;:リリースにアタッチされているすべてのファイル (バイナリやアーカイブなど) は、変更または削除から保護されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;さらに、変更不可リリースを作成すると、&lt;strong&gt;リリース構成証明&lt;/strong&gt;が自動的に生成されます。これは、リリース タグ、コミット SHA、およびリリース アセットを含むリリースに関する、暗号で検証可能なレコードです。 コンシューマーはこの構成証明を使用して、使用しているリリースと成果物が、公開された GitHub リリースと完全に一致することを確認できます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases&#34;&gt;変更不可リリース - GitHub ドキュメント&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;さらに&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases&#34;&gt;不変リリースには、リポジトリの復活攻撃に対する保護が含まれます。 リポジトリを削除し、同じ名前の新しいリポジトリを作成した場合でも、元のリポジトリの変更できないリリースに関連付けられたタグを再利用することはできません。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/immutable-releases&#34;&gt;変更不可リリース - GitHub ドキュメント&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;なんだそうだ。
リポジトリを移動したらどうなるんだろう？&lt;/p&gt;
&lt;p&gt;「変更不可リリース」を有効にする前のリリースバージョンにはこれらの機能は適用されない。
逆に「変更不可リリース」有効状態でリリースしたバージョンについては「変更不可リリース」設定を解除した後も機能が残り続ける。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://github.blog/changelog/2025-10-28-immutable-releases-are-now-generally-available/&#34;&gt;&lt;p&gt;Once enabled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All new releases are immutable (i.e., assets are locked and tags are protected).&lt;/li&gt;
&lt;li&gt;Existing releases remain mutable unless you republish them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Disabling immutability doesn’t affect releases created while it was enabled. They remain immutable.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://github.blog/changelog/2025-10-28-immutable-releases-are-now-generally-available/&#34;&gt;Immutable releases are now generally available&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;「変更不可リリース」はリポジトリ単位で設定できる。
リポジトリの “Settings” を開き “General” 項目の “Releases” にあるチェック項目 “Enable release immutability” をチェックする。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote class=&#34;nobox&#34; style=&#39;margin:0 auto;text-align:center;&#39; cite=&#34;./repository-settings.png&#34;&gt;
&lt;a href=&#34;./repository-settings.png&#34;&gt;&lt;img src=&#34;./repository-settings.png&#34; srcset=&#34;./repository-settings.png 1429w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;Repository Settings&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;./repository-settings.png&#34;&gt;Repository Settings&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Organization の場合は Settings で「変更不可リリース」のポリシーを設定できる。
“Code, planning, and automation” の “Repository” → “General” 項目を開き “Releases” を “All repositories” または “Selected repositories” に設定する。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote class=&#34;nobox&#34; style=&#39;margin:0 auto;text-align:center;&#39; cite=&#34;./organization-settings.png&#34;&gt;
&lt;a href=&#34;./organization-settings.png&#34;&gt;&lt;img src=&#34;./organization-settings.png&#34; srcset=&#34;./organization-settings.png 1580w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;Organization Settings&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;./organization-settings.png&#34;&gt;Organization Settings&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;“All repositories” を選択すると Organization 内の全リポジトリに「変更不可リリース」が適用される。
“Selected repositories” を選択すると適用するリポジトリを選択できる。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote class=&#34;nobox&#34; style=&#39;margin:0 auto;text-align:center;&#39; cite=&#34;./selected-repositories.png&#34;&gt;
&lt;a href=&#34;./selected-repositories.png&#34;&gt;&lt;img src=&#34;./selected-repositories.png&#34; srcset=&#34;./selected-repositories.png 959w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;Selected repositories&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;./selected-repositories.png&#34;&gt;Selected repositories&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;まぁ &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; のパッケージに関しては， &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; のエコシステムの中で運用する限り，リポジトリのバージョンタグは実質的に immutable なんだよな。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/spiegel/articles/20220402-how-go-mitigates-supply-chain-attacks&#34; target=&#34;_blank&#34;&gt;Go はどのようにしてサプライチェーン攻撃を低減しているか&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それでも GitHub のリリースページでバイナリを配布している場合は「変更不可リリース」機能は有用なので，導入を検討してもいいかもしれない。&lt;/p&gt;
&lt;h2&gt;参考図書&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4814401191?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41X10&amp;#43;elsuL._SL160_.jpg&#34; width=&#34;125&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4814401191?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;初めてのGo言語 第2版 ―他言語プログラマーのためのイディオマティックGo実践ガイド&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Jon Bodner (著), 武舎 広幸 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;オライリー・ジャパン 2025-08-05 (Release 2025-08-05)&lt;/dd&gt;
    &lt;dd&gt;単行本（ソフトカバー）&lt;/dd&gt;
    &lt;dd&gt;4814401191 (ASIN), 9784814401192 (EAN), 4814401191 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;第2版。 Generics の説明が大幅に改訂されたらしい。練習問題も追加されている。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2025-11-02&#34;&gt;2025-11-02&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 初めてのGo言語 第2版 --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;GitHub の公式ドキュメントで「変更不可リリース」「不変リリース」「変更できないリリース」など訳語が混在しているが，この記事では「変更不可リリース」としておく。これって生成 AI に翻訳させてるのかね。用語の統一くらいしておけよ。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>Typst 練習用のリポジトリを作った，他</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2025/03/repository-for-practices-typst/" />
		<id>tag:text.Baldanders.info,2025-03-03:/remark/2025/03/repository-for-practices-typst/</id>
		<published>2025-03-03T11:52:58+00:00</published>
		<updated>2025-03-04T03:56:58+00:00</updated>
		<summary>Typst 練習用のリポジトリを作った / GitHub Copilot Pro に加入した</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;h2&gt;Typst 練習用のリポジトリを作った&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://typst.app/&#34; target=&#34;_blank&#34; title=&#34;Typst: Compose papers faster&#34;&gt;Typst&lt;/a&gt; のお勉強用に書いたコードをまとめたリポジトリを作った。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/spiegel-im-spiegel/practices-typst&#34; target=&#34;_blank&#34;&gt;GitHub - spiegel-im-spiegel/practices-typst: Typst による組版の練習&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://spdx.org/licenses/MIT-0.html&#34; target=&#34;_blank&#34; title=&#34;MIT No Attribution | Software Package Data Exchange (SPDX)&#34;&gt;MIT-0&lt;/a&gt; ライセンスで公開しているので，再利用等ご自由にどうぞ（再利用する価値があるかどうかは別として）。&lt;/p&gt;
&lt;p&gt;今後も思いついたことをチマチマ残していく予定。
ブログのほうは「&lt;a href=&#34;https://text.baldanders.info/typst/x-miscellaneous/&#34; target=&#34;_blank&#34;&gt;Typst に関する雑多な話&lt;/a&gt;」を随時更新で書き足していくつもり。
これで &lt;a href=&#34;https://typst.app/&#34; target=&#34;_blank&#34; title=&#34;Typst: Compose papers faster&#34;&gt;Typst&lt;/a&gt; については一区切り付いたかな。&lt;/p&gt;
&lt;h2&gt;GitHub Copilot Pro に加入した&lt;/h2&gt;
&lt;p&gt;今回 &lt;a href=&#34;https://typst.app/&#34; target=&#34;_blank&#34; title=&#34;Typst: Compose papers faster&#34;&gt;Typst&lt;/a&gt; で遊んでたら &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;GitHub Copilot&lt;/a&gt; Free 版の制限いっぱいになってしまいまして。
10秒くらい考えて Pro 版に入ることにした。
とりあえず様子見で月 10USD ずつ払う。&lt;/p&gt;
&lt;p&gt;やっぱ本格的に使うならお金を払わんとダメか。&lt;/p&gt;
&lt;p&gt;主に VS Code でコーディング支援をしてもらってるが &lt;a href=&#34;https://typst.app/&#34; target=&#34;_blank&#34; title=&#34;Typst: Compose papers faster&#34;&gt;Typst&lt;/a&gt; と TypeScript で混乱してるのか，ウソの提案が多い。
大抵はコンパイルエラーになるので致命的ではないが。
ちゃんと統計をとってないけど体感で3割くらいしか正しくない感じ。
プロ野球選手なら打率3割でエース級だが，提案が7割使えないのはちょっと困る。
Go のコードならそんなに外れはないんだけどねぇ。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;Copilot&lt;/a&gt; に関してはローンチ当初から色々言われているが，最近でも&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://techcrunch.com/2025/02/26/thousands-of-exposed-github-repositories-now-private-can-still-be-accessed-through-copilot/&#34; target=&#34;_blank&#34;&gt;Thousands of exposed GitHub repositories, now private, can still be accessed through Copilot | TechCrunch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gigazine.net/news/20250303-github-private-repositories-accessed-copilot/&#34; target=&#34;_blank&#34;&gt;GitHubで非公開にされたはずのリポジトリがMicrosoftのAIアシスタント「Copilot」を通じて公開されていたという指摘 - GIGAZINE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;みたいな話があって正直いまでもビミョーな気分なんだけど，なんだかんだと便利に使っている自分がいる。
生成 AI 周りはホンマ（かつての FinTech 流行時のように）山師みたいなのが多いのであまり深入りしないようにしているが，若い人が会議のテキスト起こしと議事録を作成するのに生成 AI を便利に使ってる話とか聞くと「もうそういう時代なんだなぁ」としみじみする。&lt;/p&gt;
&lt;p&gt;まぁ，年寄りの冷水なので聞き流してください（笑）&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://codezine.jp/article/detail/20981&#34; target=&#34;_blank&#34;&gt;GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開|CodeZine（コードジン）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.blog/ai-and-ml/github-copilot/github-for-beginners-how-to-get-started-with-github-copilot/&#34; target=&#34;_blank&#34;&gt;GitHub for Beginners: How to get started with GitHub Copilot - The GitHub Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考文献&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B0DPXBNTRS?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51B7ollzNML._SL160_.jpg&#34; width=&#34;100&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B0DPXBNTRS?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;Typst完全入門: LaTeXより簡単、Markdownより強力、美しいドキュメント作成術&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;doitsu (著)&lt;/dd&gt;
    &lt;dd&gt; 2024-12-08 (Release 2024-12-08)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B0DPXBNTRS (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;3&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;マークアップ言語および組版ツールである Typst についての解説。 Kindle 版のみの提供。固定レイアウトではないためレイアウトが崩れまくって読みにくい。この手の技術解説書は固定レイアウトの Kindle 版か，いっそ PDF で出してほしい。でも Typst についてまとまった解説のある日本語の本は他に見当たらなかったのでありがたい。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2025-02-20&#34;&gt;2025-02-20&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- Typst完全入門--&gt;
</content>
	</entry><entry>
		<title>GitHub Copilot で遊ぶ</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2025/02/playing-with-github-copilot/" />
		<id>tag:text.Baldanders.info,2025-02-08:/remark/2025/02/playing-with-github-copilot/</id>
		<published>2025-02-08T09:04:57+00:00</published>
		<updated>2025-03-07T10:16:41+00:00</updated>
		<summary> 生成 AI の時代に求められる人材とはプロンプトを駆使する技能を持つ人ではなく，生成 AI の提案に NO と言える技術力と見識を持つ「狂狷の徒」ではないだろうか。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;&lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;GitHub Copilot&lt;/a&gt; の無料版（制限あり）が開放されて VS Code 上で使えるようになった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&#34; target=&#34;_blank&#34;&gt;GitHub Copilot - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;といってもコメントの補完とかコミットメッセージくらいにしか使ってないけど。
英語不得手なので，これだけでもめっちゃ助かっている。&lt;/p&gt;
&lt;p&gt;ちょっと思いついて &lt;a href=&#34;https://github.com/goark/koyomi&#34; target=&#34;_blank&#34; title=&#34;GitHub - goark/koyomi: 日本のこよみ&#34;&gt;&lt;code&gt;github.com/goark/koyomi&lt;/code&gt;&lt;/a&gt;&lt;code&gt;/value&lt;/code&gt; パッケージに曜日（Weekday）型を追加しようと思うのだが，試しに &lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;GitHub Copilot&lt;/a&gt; に手伝ってもらうことにした。&lt;/p&gt;
&lt;h2&gt;GitHub Copilot で遊ぶ&lt;/h2&gt;
&lt;p&gt;まず &lt;span class=&#34;box&#34;&gt; &lt;code&gt;Ctrl&lt;/code&gt; &lt;/span&gt;+&lt;span class=&#34;box&#34;&gt; &lt;code&gt;I&lt;/code&gt; &lt;/span&gt; でプロンプトを表示し「&lt;a href=&#34;https://pkg.go.dev/time&#34; target=&#34;_blank&#34; title=&#34;time package - time - Go Packages&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;code&gt;.Weekday&lt;/code&gt; と同等な機能で日本語の曜日名を出力する型」で問い合わせてみる。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./github-copilot-prompt.png&#34;&gt;&lt;img src=&#34;./github-copilot-prompt.png&#34; srcset=&#34;./github-copilot-prompt.png 1039w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;time.Weekday と同等な機能で日本語の曜日名を出力する型&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./github-copilot-prompt.png&#34;&gt;time.Weekday と同等な機能で日本語の曜日名を出力する型&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;おー。
一通り提示してくれるんだな。
既に作っている &lt;a href=&#34;https://github.com/goark/koyomi&#34; target=&#34;_blank&#34; title=&#34;GitHub - goark/koyomi: 日本のこよみ&#34;&gt;&lt;code&gt;koyomi&lt;/code&gt;&lt;/a&gt;&lt;code&gt;/value.DateJp&lt;/code&gt; 型と関連するメソッドも追加されている。&lt;/p&gt;
&lt;p&gt;これはこれで（エラーもバグもないし）使えなくもないのだが，いくつか調整したい。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;WeekdayJp&lt;/code&gt; 型の基底型は &lt;code&gt;int&lt;/code&gt; ではなく &lt;a href=&#34;https://pkg.go.dev/time&#34; target=&#34;_blank&#34; title=&#34;time package - time - Go Packages&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;code&gt;.Weekday&lt;/code&gt; としたい
&lt;ul&gt;
&lt;li&gt;機能上のメリットがあるわけではないが「文芸」的に &lt;code&gt;WeekdayJp&lt;/code&gt; 型と &lt;a href=&#34;https://pkg.go.dev/time&#34; target=&#34;_blank&#34; title=&#34;time package - time - Go Packages&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;code&gt;.Weekday&lt;/code&gt; 型が「関連」することを明示したい（&lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; に「継承」はない）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;曜日名の出力メソッドは &lt;code&gt;String()&lt;/code&gt;, &lt;code&gt;ShortString()&lt;/code&gt; ではなく &lt;code&gt;StringJp()&lt;/code&gt;, &lt;code&gt;ShortStringJp()&lt;/code&gt; としたい
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;String()&lt;/code&gt; メソッドは &lt;a href=&#34;https://pkg.go.dev/time&#34; target=&#34;_blank&#34; title=&#34;time package - time - Go Packages&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;code&gt;.Weekday&lt;/code&gt; と同じ機能にする&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WeekdayJp&lt;/code&gt; 型の値が &lt;code&gt;Sunday&lt;/code&gt; 〜 &lt;code&gt;Saturday&lt;/code&gt; 以外なら，曜日名の出力は &lt;a href=&#34;https://pkg.go.dev/time&#34; target=&#34;_blank&#34; title=&#34;time package - time - Go Packages&#34;&gt;&lt;code&gt;time&lt;/code&gt;&lt;/a&gt;&lt;code&gt;.Weekday.String()&lt;/code&gt; メソッドと同じにしたい&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;というわけで，最終的には以下のようなコードにした。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// WeekdayJp is a type that represents the days of the week in the Japanese context.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// It is based on the time.Weekday type from the standard library.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Weekday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Sunday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Sunday&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;iota&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 日曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Monday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                              &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 月曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Tuesday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                             &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 火曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Wednesday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                           &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 水曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Thursday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                            &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 木曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Friday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                              &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 金曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Saturday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                                            &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;// 土曜日&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;weekdayNames&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;日曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;月曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;火曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;水曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;木曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;金曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;土曜日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;weekdayShortNames&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;日&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;月&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;火&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;水&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;木&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;金&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;土&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// String returns the English name of the Japanese weekday (WeekdayJp)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// by converting it to the standard time.Weekday type and calling its String method.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;Weekday&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// StringJp returns the Japanese name of the WeekdayJp if it is between Sunday and Saturday.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// If the WeekdayJp is out of this range, it returns the standard time.Weekday string representation.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;StringJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Sunday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;||&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Saturday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;Weekday&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;weekdayNames&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// ShortStringJp returns the short Japanese name of the WeekdayJp.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// If the WeekdayJp is not within the valid range (Sunday to Saturday),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// it returns the default string representation of the time.Weekday.&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WeekdayJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;ShortStringJp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Sunday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;||&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Saturday&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;Weekday&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;return&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;weekdayShortNames&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;w&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;たとえば &lt;code&gt;String()&lt;/code&gt; メソッドは&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./autocomplete-code.png&#34;&gt;&lt;img src=&#34;./autocomplete-code.png&#34; srcset=&#34;./autocomplete-code.png 530w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;コード補完&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./autocomplete-code.png&#34;&gt;コード補完&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;という感じにコードを提案してくる。
この状態で &lt;span class=&#34;box&#34;&gt; &lt;code&gt;Tab&lt;/code&gt; &lt;/span&gt; キー押下で確定する。
テストコードも関数名から推測して妥当なコードを提案してくる。
変数・定数もクラス・メソッド名も名前が大事ってことですね（笑）&lt;/p&gt;
&lt;p&gt;コメントの補完も同様。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./autocomplete-comment.png&#34;&gt;&lt;img src=&#34;./autocomplete-comment.png&#34; srcset=&#34;./autocomplete-comment.png 530w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;コメント補完&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./autocomplete-comment.png&#34;&gt;コメント補完&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ドキュメント生成もやってくれる。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./generate-docs.png&#34;&gt;&lt;img src=&#34;./generate-docs.png&#34; srcset=&#34;./generate-docs.png 1038w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;ドキュメント生成&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./generate-docs.png&#34;&gt;ドキュメント生成&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ATOM や VS Code の使い始めの頃はスニペットベースのコード補完機能に感動したものだが， &lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;Copilot&lt;/a&gt; によって柔軟なコード補完や生成ができるのマジ助かる。
今回はコードレビュー機能等は紹介しないが，ちょろんと試した感じではなかなかいい感じである。
人間にレビューを投げる前に &lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;Copilot&lt;/a&gt; 相手にレビューを行うのはアリかもしれない。&lt;/p&gt;
&lt;h2&gt;「自律」機械は（今のところ）存在しない&lt;/h2&gt;
&lt;p&gt;教科書に載っているサンプルコード程度ならともかく，プログラムコードに &lt;strong&gt;唯一の正解&lt;/strong&gt; はない。
今回のような小さなコードですらそうなのだ。
&lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;Copilot&lt;/a&gt; を含む生成 AI による提案を受け入れるか否かについては「人」による判断が不可欠だし，判断を行うためには，扱う対象に関する知識・技能・技術が要求される。
「自律」的な判断を行うのは今なお，機械ではなく，人の側なのである。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;LINKCODE=OGI&amp;amp;TH=1&amp;amp;PSC=1&#34;&gt;
&lt;q&gt;自立とは、仮想代理人ソフトウェアであるところのエージェントが自ら動き、誰の力も借りずに意思決定できることを言う。
[...]
一方、自律というのは哲学的な意味であり、自らが行動する際の基準と目的を明確を持ち、自ら規範を作り出すことができることをいう。&lt;/q&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;LINKCODE=OGI&amp;amp;TH=1&amp;amp;PSC=1&#34;&gt;そろそろ、人工知能の真実を話そう&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;LINKCODE=OGI&amp;amp;TH=1&amp;amp;PSC=1&#34;&gt;
&lt;q&gt;今、世の中で懸念されているのは、自立ではなく自律の方だが、学習能力を与えられ、自らのプログラムを改善できるようになっても、機械が自律することは考えられない。
なぜなら、機械は結局、人間に与えられた理論やルールにのっとって行動することになるからである。&lt;/q&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;LINKCODE=OGI&amp;amp;TH=1&amp;amp;PSC=1&#34;&gt;そろそろ、人工知能の真実を話そう&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;GitHub Copilot&lt;/a&gt; をはじめとする最近流行りの生成 AI の機能とは「翻案の大量生産」であり，その膨大な翻案空間から何をどうやって拾い上げるかについては，アルゴリズムの設計を含め（今のところ）人の側に委ねられている&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。
そういう意味で &lt;a href=&#34;http://copilot.github.com/&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer&#34;&gt;GitHub Copilot&lt;/a&gt; が文字通りコパイロット（ナビゲーション）の立ち位置に徹しているのは上手い割り切り方だと思う。&lt;/p&gt;
&lt;p&gt;生成 AI の時代に求められる人材とはプロンプトを駆使（して翻案空間を放浪）する技能を持つ人ではなく（積極的に利用しつつ）生成 AI の提案に NO と言える見識と技術を持つ「&lt;a href=&#34;https://text.baldanders.info/remark/2017/12/hacker-ethic/&#34; target=&#34;_blank&#34; title=&#34;エンジニアこそ「狂狷の徒」たれ&#34;&gt;狂狷の徒&lt;/a&gt;」ではないだろうか。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.watch.impress.co.jp/docs/news/1649089.html&#34; target=&#34;_blank&#34;&gt;GitHub、VS Code上で「Copilot Free」開始　無料で月2000回コード補完 - Impress Watch&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://forest.watch.impress.co.jp/docs/news/1659601.html&#34; target=&#34;_blank&#34;&gt;OpenAIの最新推論モデル「o3-mini」が「GitHub Copilot」などで利用可能に - 窓の杜&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://forest.watch.impress.co.jp/docs/news/1660865.html&#34; target=&#34;_blank&#34;&gt;無償ユーザーも対象 ～「Gemini 2.0 Flash」が「GitHub Copilot」で利用できるように - 窓の杜&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://forest.watch.impress.co.jp/docs/news/1661141.html&#34; target=&#34;_blank&#34;&gt;「Visual Studio Code 1.97」が公開 ～新AI支援機能「Copilot NES」をプレビュー - 窓の杜&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.publickey1.jp/blog/25/github_copilot_agent_mode.html&#34; target=&#34;_blank&#34;&gt;GitHub Copilot Agent Modeが登場。タスクを与えると自律的にプログラミング、テストコードも修正、テストが失敗すればデバッグも － Publickey&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.publickey1.jp/blog/25/ai_1.html&#34; target=&#34;_blank&#34;&gt;生成AIによりプログラマの仕事はなくなるのか？ 「私はそうは思わない」とティム・オライリー氏。プログラマの需要はさらに増えると － Publickey&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://gihyo.jp/article/2025/03/github-copilot-vision-input&#34; target=&#34;_blank&#34;&gt;GitHub Copilot Chat、Visual Studio/VS Code上で画像を入力できるVision機能がパブリックプレビューに | gihyo.jp&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2022/07/code-launderring/&#34; target=&#34;_blank&#34;&gt;GitHub Copilot は貢献者から貢献を奪うか？&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2022/10/cultural-commons/&#34; target=&#34;_blank&#34;&gt;AI は「創作者様」を引きずり下ろすか — 『人権と文化コモンズ』を流し読む&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考図書&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51cD7DR87IL._SL160_.jpg&#34; width=&#34;111&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B071FHBGW8?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;そろそろ、人工知能の真実を話そう (早川書房)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;ジャン＝ガブリエル ガナシア (著), 小林 重裕・他 (翻訳), 伊藤 直子 (監修)&lt;/dd&gt;
    &lt;dd&gt;早川書房 2017-05-25 (Release 2017-05-31)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B071FHBGW8 (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;3&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;シンギュラリティは起きない。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2016-07-02&#34;&gt;2016-07-02&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 人工知能の真実を話そう --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B0DTT1L1KL?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51TENFa9uZL._SL160_.jpg&#34; width=&#34;120&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B0DTT1L1KL?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;日経サイエンス2025年3月号 [雑誌]&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;日経サイエンス (編集)&lt;/dd&gt;
    &lt;dd&gt;日経サイエンス 2025-01-24 (Release 2025-01-24)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B0DTT1L1KL (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;Kindle 版は固定レイアウトなのでブラウザ（Kindle Cloud Reader）で読める。特集は「ことばが世界を作る」と「CO2回収の現実味」。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2025-02-03&#34;&gt;2025-02-03&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 「日経サイエンス」2025年3月号 --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4814400535?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41&amp;#43;ew2wl2jL._SL160_.jpg&#34; width=&#34;125&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4814400535?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;効率的なGo ―データ指向によるGoアプリケーションの性能最適化&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Bartłomiej Płotka (著), 山口 能迪 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;オライリー・ジャパン 2024-02-24&lt;/dd&gt;
    &lt;dd&gt;単行本（ソフトカバー）&lt;/dd&gt;
    &lt;dd&gt;4814400535 (ASIN), 9784814400539 (EAN), 4814400535 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;a href=&#34;https://www.oreilly.co.jp/books/9784814400539/&#34;&gt;版元&lt;/a&gt;で Ebook を買える。Go言語のリファレンス本ではない。フトウェア工学，プログラミング（の考え方）を学ぶ教科書的な位置づけかなぁ。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2024-04-21&#34;&gt;2024-04-21&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 効率的なGo : Efficient Go --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51TsccJ7LnS._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;山田 奨治 (著)&lt;/dd&gt;
    &lt;dd&gt;人文書院 2021-07-29 (Release 2021-07-29)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B099RTG3J7 (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;著作権を「ユーザーの人権」という観点から捉え直す。その後 文化→コモンズ→文化コモンズ と進み，本当の意味で「文化の発展に寄与する」とはどういうことか考察していく。
&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2022-10-23&#34;&gt;2022-10-23&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 著作権は文化を発展させるのか: 人権と文化コモンズ --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B01J1I8PRQ?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/5132MaXTkGL._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B01J1I8PRQ?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;社会は情報化の夢を見る (河出文庫)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;佐藤俊樹 (著)&lt;/dd&gt;
    &lt;dd&gt;河出書房新社 2010-09-03 (Release 2016-07-29)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B01J1I8PRQ (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;1996年に出版された『ノイマンの夢・近代の欲望―情報化社会を解体する』の改訂新装版。しかし内容はこれまでと変わりなく，繰り返し語られる技術決定論を前提とする安易な未来予測を「情報化」社会論だとして批判する。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2015-09-15&#34;&gt;2015-09-15&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 社会は情報化の夢を見る --&gt;
&lt;h2&gt;作業中の BGV (メン限配信以外)&lt;/h2&gt;
&lt;p&gt;ReGLOSS の五色のバラバラな声がパズルのようにカチッと填まると本当にかっこいいよね。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=u4uDiV3u-do&#34; target=&#34;_blank&#34;&gt;ReGLOSS &amp;lsquo;フィーリングラデーション&amp;rsquo; OFFICIAL MV - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=Mb2Pdf7P-a4&#34; target=&#34;_blank&#34;&gt;晴る / ヨルシカ  covered by ReGLOSS 【歌ってみた / hololive DEV_IS】 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=m6T71r7hRMI&#34; target=&#34;_blank&#34;&gt;ムーンライト / 星街すいせい covered by ReGLOSS 【歌ってみた / hololive DEV_IS】 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=ed-0AKPWaf8&#34; target=&#34;_blank&#34;&gt;【歌ってみた】STAR TRAIN/Perfume【ReGLOSS】 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;生成 AI の背後にある翻案元のコンテンツやアルゴリズムと知財権との&lt;a href=&#34;https://text.baldanders.info/remark/2023/06/is-generative-ai-copyright-safe/&#34; target=&#34;_blank&#34; title=&#34;Generative AI は Copyright-Safe か？&#34;&gt;関係&lt;/a&gt;についてはここでは知らないふりをする。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>2024年のインプット／アウトプット</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2024/12/input-output-2/" />
		<id>tag:text.Baldanders.info,2024-12-29:/remark/2024/12/input-output-2/</id>
		<published>2024-12-29T13:21:17+00:00</published>
		<updated>2024-12-29T13:21:24+00:00</updated>
		<summary>メチャメチャ偏ってる自覚はある。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2024/12/input-output/&#34; target=&#34;_blank&#34; title=&#34;書きたくないときには書かなくていい&#34;&gt;前回&lt;/a&gt;の続き。&lt;/p&gt;
&lt;p&gt;Mastodon ではちょろんと書いたのだが，今年の私のインプットとアウトプットを整理してみる。&lt;/p&gt;
&lt;h2&gt;2024年のアウトプット&lt;/h2&gt;
&lt;h3&gt;ブログ&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/&#34; target=&#34;_blank&#34; title=&#34;text.Baldanders.info&#34;&gt;text.Baldanders.info&lt;/a&gt; : ここ。本家ブログ&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zenn.dev/spiegel&#34; target=&#34;_blank&#34; title=&#34;Spiegelさんの記事一覧 | Zenn&#34;&gt;Zenn&lt;/a&gt; : 今年は1件しか書かなかった。読み専？&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/spiegel-im-spiegel&#34; target=&#34;_blank&#34; title=&#34;spiegel-im-spiegel - Qiita&#34;&gt;Qiita&lt;/a&gt; : 絶賛放置中。読み専&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2024/12/input-output/&#34; target=&#34;_blank&#34; title=&#34;書きたくないときには書かなくていい&#34;&gt;前回&lt;/a&gt;も書いたが，今年は技術系の記事をほとんど書いてないので Zenn の記事も&lt;a href=&#34;https://zenn.dev/spiegel/articles/20240309-golang-math-rand-v2&#34; target=&#34;_blank&#34; title=&#34;Go 1.22 の math/rand/v2 を使ってみる&#34;&gt;1件&lt;/a&gt;のみ。
その代わり，本家ブログでは自転車やお散歩カメラの記事が頻出している。
やっぱジャンルを絞っちゃうと先細りしちゃうんだよなぁ。&lt;/p&gt;
&lt;h3&gt;SNS，マイクロブログ&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@spiegel&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠がんばらない (@spiegel@goark.fedicity.net) - Goark&#34;&gt;Mastodon&lt;/a&gt; : メインの活動場所&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.flickr.com/photos/spiegel/&#34; target=&#34;_blank&#34; title=&#34;Yasuhiro ARAKAWA | Flickr&#34;&gt;Flickr&lt;/a&gt; : 写真公開場所&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/baldanders.info&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠旧Twitter難民 (@baldanders.info) — Bluesky&#34;&gt;Bluesky&lt;/a&gt; : &lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; からの避難先&lt;/li&gt;
&lt;li&gt;Facebook : 主に広島時代の友人への生存報告用に利用&lt;/li&gt;
&lt;li&gt;mixi2 : &lt;a href=&#34;https://text.baldanders.info/remark/2024/12/plant-your-flag-mark-your-mixi2-territory/&#34; target=&#34;_blank&#34; title=&#34;mixi2 に旗を立てろ！&#34;&gt;旗は立てた&lt;/a&gt;。どう利用していいか分からない感じ&lt;/li&gt;
&lt;li&gt;&lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; : 2023年から無期限休眠中。たまに生存報告&lt;/li&gt;
&lt;li&gt;Nostr : &lt;a href=&#34;https://text.baldanders.info/remark/2023/02/plant-your-flag-mark-your-nostr-territory/&#34; target=&#34;_blank&#34; title=&#34;Nostr に旗を立てろ！&#34;&gt;旗は立てた&lt;/a&gt;が絶賛放置中&lt;/li&gt;
&lt;li&gt;Instagram : 2020年に&lt;a href=&#34;https://text.baldanders.info/remark/2020/08/divorce-from-instagram/&#34; target=&#34;_blank&#34; title=&#34;Instagram から足を洗う方法&#34;&gt;足を洗った&lt;/a&gt;。 Threads のアカウントも持ってない&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;SNS やマイクロブログで書いた内容は基本的に「書き捨て」なので，サービスまたはアカウントがなくなったら消滅する。
ただし写真はオリジナルを&lt;a href=&#34;https://text.baldanders.info/remark/2021/10/nas/&#34; target=&#34;_blank&#34; title=&#34;秋 NAS は俺に喰わせろ！&#34;&gt;自宅 NAS&lt;/a&gt; にバックアップしてるので無問題。&lt;/p&gt;
&lt;h3&gt;GitHub&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/spiegel-im-spiegel&#34; target=&#34;_blank&#34; title=&#34;spiegel-im-spiegel (Spiegel)&#34;&gt;メインアカウント&lt;/a&gt; : 雑多な物置。主に&lt;a href=&#34;https://text.baldanders.info/&#34; target=&#34;_blank&#34; title=&#34;text.Baldanders.info&#34;&gt;ここ&lt;/a&gt;の管理に使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/goark&#34; target=&#34;_blank&#34; title=&#34;Playing with Go Language&#34;&gt;Playing with Go Language&lt;/a&gt; : 自作ツール，パッケージ管理リポジトリ&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;2024年のインプット&lt;/h2&gt;
&lt;h3&gt;SNS，マイクロブログ&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Mastodon
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@spiegel&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠がんばらない (@spiegel@goark.fedicity.net) - Goark&#34;&gt;メインアカウント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@goark&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark@goark.fedicity.net) - Goark&#34;&gt;osanpo&lt;/a&gt; : よく見るサイト・ブログの監視用ボット。 Feed reader として使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://goark.fedicity.net/@goark&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark@goark.fedicity.net) - Goark&#34;&gt;goark&lt;/a&gt; : 自作パッケージやよく利用する Go パッケージを監視して更新したらアナウンスするボット&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bluesky
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/baldanders.info&#34; target=&#34;_blank&#34; title=&#34;Spiegel＠旧Twitter難民 (@baldanders.info) — Bluesky&#34;&gt;メインアカウント&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/osanpo.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Spiegel&amp;#39;s crawler (@osanpo.bsky.social) — Bluesky&#34;&gt;osanpo&lt;/a&gt; : よく見るサイト・ブログの監視用ボット。 Feed reader として使っている&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/goark.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Goark (@goark.bsky.social) — Bluesky&#34;&gt;goark&lt;/a&gt; : 自作パッケージやよく利用する Go パッケージを監視して更新したらアナウンスするボット&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bsky.app/profile/apodunofficial.bsky.social&#34; target=&#34;_blank&#34; title=&#34;Astronomy Picture of the Day (unofficial bot) (@apodunofficial.bsky.social) — Bluesky&#34;&gt;APOD unofficial&lt;/a&gt; : NASA APOD (Astronomy Picture of the Day) 非公式ボット&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;メインの活動場所である Mastodon や Bluesky には Go 関連の日本語圏有名人は少ない感じ？ なので Go 関連の情報が入りにくくなっている。
この辺は何とかしたいが，今さら &lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; に戻る気はないしなぁ&amp;hellip;&lt;/p&gt;
&lt;p&gt;APOD 非公式ボットを&lt;a href=&#34;https://text.baldanders.info/remark/2023/07/crawler/&#34; target=&#34;_blank&#34; title=&#34;Mastodon と Bluesky でボット運用はじめました&#34;&gt;始めた&lt;/a&gt;ときは他に見当たらなかったが，最近は色んなアカウントがあって見るのが楽しい。&lt;/p&gt;
&lt;h3&gt;YouTube&lt;/h3&gt;
&lt;p&gt;言い訳しておくと，私は今でも情報収集用のメディアとして映像（動画）や音声（ラジオ）は適切ではないと思っている。
「それブログで纏めてくれ」って感じである。&lt;/p&gt;
&lt;p&gt;ただしエンターテインメントと組み合わせれば観てて楽しいし，これはこれでアリなんじゃないかと思うようになった。
なので最近は今まで関心が薄かったジャンルの学術系 VTuber や自転車関連の配信をよく観る。&lt;/p&gt;
&lt;h3&gt;その他&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Feedly : 絶賛放置中&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Feed reader は使わなくなった。
その代わり Mastodon や Bluesky のボットアカウントを使ってる。&lt;/p&gt;
&lt;p&gt;Feedly などの feed reader はちょっと見ない間に未読が溜まりまくって収集がつかなくなるのよ。
この点，タイムライン表示なら見なかったら流れ去って「なかった」ことになるので心理的安全性が高い（笑）&lt;/p&gt;
&lt;h2&gt;総評&lt;/h2&gt;
&lt;p&gt;Bluesky は企業・組織の公式アカウントが増えて情報が探しやすくなった。&lt;/p&gt;
&lt;p&gt;それにしても，タイムライン方式は検索性が悪いと思う（できないわけではない。 Mastodon は困難だけど）。
それをカバーするためにサービスプロバイダが提示する「おすすめ」順ソートがあるんだろうけど。
でも「おすすめ」順ソートは「コレジャナイ」感が強いんだよなぁ。&lt;/p&gt;
&lt;p&gt;2010年代の SNS やマイクロブログサービスはユーザを囲い込み活動を閉じ込めることに躍起になっていた。
これは今でも Facebook や &lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; (旧 Twitter) などの老舗タイムライン・サービスで行われている。&lt;/p&gt;
&lt;p&gt;でも本来タイムライン・サービスは「土管」に徹するべきで，そこから他サイトのコンテンツに飛ばす動線を確保するほうが理に適ってると思う。&lt;/p&gt;
&lt;p&gt;この点で Bluesky は（今のところは）有望なんだよな。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://news.mynavi.jp/article/20241115-3065421/&#34; target=&#34;_blank&#34;&gt;Bluesky、1日で100万人以上増加、エンゲージメントはXの10倍以上という調査報告も | マイナビニュース&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;まぁ，サービス単体で収益を出そうとすると土管ではいられないんだろうけど。
Bluesky がいつその立場に立たせられるかだよね。&lt;/p&gt;
&lt;p&gt;コミュニケーションはメッセージング・サービスか Discord のようなコミュニケーション・サービスを使うべきだと思う。
はっ。
もしかして mixi2 はコミュニケーション・サービスとして考えるなら有望なのでは？&lt;/p&gt;
&lt;p&gt;ここ2,3年はニュースソースを絞ってることもあってメチャメチャ偏ってる自覚はある。
ゼロ年代までで言うところのネットサーフィンにあまり時間が割けなくなっている。
これは今後の課題だな。&lt;/p&gt;
&lt;p&gt;というわけで，これでこっぽし。&lt;/p&gt;
</content>
	</entry><entry>
		<title>OpenPGP 公開鍵の期限を延長した</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2024/03/update-expiration-2024/" />
		<id>tag:text.Baldanders.info,2024-03-24:/remark/2024/03/update-expiration-2024/</id>
		<published>2024-03-24T03:04:44+00:00</published>
		<updated>2024-03-24T03:35:08+00:00</updated>
		<summary>2024年末で GnuPG 2.2 系はサポートから外れるんだけどねぇ</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;3年前に「&lt;a href=&#34;https://text.baldanders.info/remark/2021/03/changing-publickey-management/&#34; target=&#34;_blank&#34; title=&#34;Baldanders.info サイトにおける OpenPGP 鍵管理の変更&#34;&gt;来年からまた短期の運用に戻す&lt;/a&gt;」と言ったのに未だに有言不実行。
今年も現行鍵の有効期限を 2025-04-01 まで延長するに留めた。&lt;/p&gt;
&lt;p&gt;更新した公開鍵は以下の URI からインポートできる（既にインポート済みの場合は上書き更新される）。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpg --fetch-keys https://baldanders.info/pubkeys/spiegel.asc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;または&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpg --fetch-keys https://github.com/spiegel-im-spiegel.gpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;拙作の &lt;a href=&#34;https://github.com/goark/gpgpdump&#34; target=&#34;_blank&#34; title=&#34;goark/gpgpdump: OpenPGP packet visualizer&#34;&gt;gpgpdump&lt;/a&gt; を使えばインポートする前に公開鍵の内容をチェックできる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpgpdump fetch https://baldanders.info/pubkeys/spiegel.asc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;または&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gpgpdump fetch https://github.com/spiegel-im-spiegel.gpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;いや Ubuntu が &lt;a href=&#34;https://gnupg.org/&#34; target=&#34;_blank&#34; title=&#34;The GNU Privacy Guard&#34;&gt;GnuPG&lt;/a&gt; 2.4 系にアップデートしてくれないので待ち状態なのよ。
いきなり自前で最新版をインストールするのは怖いので，仮想環境か何かで動作確認をしないといけないのだが，これも遅々として進まず。
2024年末で 2.2 系はサポートから外れるんだけどねぇ。&lt;/p&gt;
&lt;p&gt;最近は OpenPGP 鍵の短期運用は，期限切れの鍵が増えるだけで，あまり意味がない気がしてきた。
サーバを運用しているならともかく， OpenPGP 鍵を Yubikey とかのデバイスに入れるのもあまり意味がない気がするんだよな。
私は基本的にノート PC を忌避してるし。&lt;/p&gt;
&lt;p&gt;まぁ，どのみち OpenPGP 鍵は &lt;a href=&#34;https://text.baldanders.info/openpgp/using-ecc-with-gnupg/&#34; target=&#34;_blank&#34; title=&#34;そろそろ GnuPG でも ECC を標準で使うのがいいんじゃないかな&#34;&gt;ECC にしたい&lt;/a&gt;ので，いつかは入れ替えなきゃいけないけどね。
それもこれも &lt;a href=&#34;https://gnupg.org/&#34; target=&#34;_blank&#34; title=&#34;The GNU Privacy Guard&#34;&gt;GnuPG&lt;/a&gt; 2.4 系の環境が整ってからだ！&lt;/p&gt;
&lt;p&gt;&amp;hellip;というわけで，もうしばらくはグズってます。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.procustodibus.com/blog/2023/02/gpg-2-4-on-ubuntu-22-04/&#34; target=&#34;_blank&#34;&gt;Installing GnuPG 2.4 on Ubuntu 22.04 | Pro Custodibus&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://baldanders.info/pubkeys/&#34; target=&#34;_blank&#34;&gt;OpenPGP 公開鍵リスト | Baldanders.info&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/openpgp/gnupg-cheat-sheet/&#34; target=&#34;_blank&#34;&gt;GnuPG チートシート（鍵作成から失効まで）&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/openpgp/web-of-trust/&#34; target=&#34;_blank&#34;&gt;OpenPGP の電子署名は「ユーザーの身元を保証し」ない&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考図書&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4314009071?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51ZRZ62WKCL._SL160_.jpg&#34; width=&#34;108&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4314009071?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;暗号化 プライバシーを救った反乱者たち&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;スティーブン・レビー (著), 斉藤 隆央 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;紀伊國屋書店 2002-02-16&lt;/dd&gt;
    &lt;dd&gt;単行本&lt;/dd&gt;
    &lt;dd&gt;4314009071 (ASIN), 9784314009072 (EAN), 4314009071 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;20世紀末，暗号技術の世界で何があったのか。知りたかったらこちらを読むべし！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2015-03-09&#34;&gt;2015-03-09&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 暗号化 プライバシーを救った反乱者たち --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B015643CPE?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51t6yHHVwEL._SL160_.jpg&#34; width=&#34;113&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B015643CPE?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;暗号技術入門 第3版　秘密の国のアリス&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;結城 浩 (著)&lt;/dd&gt;
    &lt;dd&gt;SBクリエイティブ 2015-08-25 (Release 2015-09-17)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B015643CPE (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2015-09-20&#34;&gt;2015-09-20&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 暗号技術入門 第3版 --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B0CW1DZS1W?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41pm5BJKQwL._SL160_.jpg&#34; width=&#34;113&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B0CW1DZS1W?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;科学2024年3月号［雑誌］&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;岩波書店『科学』編集部 (編集)&lt;/dd&gt;
    &lt;dd&gt;岩波書店 2024-02-22 (Release 2024-03-01)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B0CW1DZS1W (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;この号の特集は「現代暗号の展開と応用」。耐量子計算機暗号や格子暗号といった今どきなキーワードも出てくる。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2024-03-01&#34;&gt;2024-03-01&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 岩波「科学」2024年3月号 現代暗号の展開と応用 --&gt;
</content>
	</entry><entry>
		<title>Mastodon と GitHub との連携</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2023/02/mastodon-and-github/" />
		<id>tag:text.Baldanders.info,2023-02-02:/remark/2023/02/mastodon-and-github/</id>
		<published>2023-02-02T00:52:56+00:00</published>
		<updated>2023-02-02T01:09:42+00:00</updated>
		<summary>“Social accounts” の項目に URL をセットすればいいのか</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2022/11/some-little-more-mastodon/&#34; target=&#34;_blank&#34; title=&#34;もうちょこっと Mastodon&#34;&gt;以前にも紹介した&lt;/a&gt;が， Mastodon と他サイトを連携させるには， Mastodon 側のプロフィール編集の「プロフィール補足情報」で&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./fedibird-profile.png&#34;&gt;&lt;img src=&#34;./fedibird-profile.png&#34; srcset=&#34;./fedibird-profile.png 812w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;プロフィールを編集 - Fedibird&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./fedibird-profile.png&#34;&gt;プロフィールを編集 - Fedibird&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;こんな風に URL を列挙し&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;，対応するサイトで&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;rel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;me&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://hostname/@username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Mastodon&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とか&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;link&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;rel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;me&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://hostname/@username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;とかいった感じのリンクを記述すればいい。
のだが， GitHub のような SaaS ではサービス側が対応してくれないと難しかったりする。&lt;/p&gt;
&lt;p&gt;GitHub の場合 &lt;code&gt;github.com/username/username&lt;/code&gt; リポジトリを作ってその中の &lt;code&gt;README.md&lt;/code&gt; ファイルに任意のリンクを載せられるのだが&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2020/09/using-github-profile-readme/&#34; target=&#34;_blank&#34;&gt;GitHub プロファイルを（ちょっとだけ）カッコよくしてみる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;外部サイトへのリンクには強制的に &lt;code&gt;rel=&amp;quot;nofollow&amp;quot;&lt;/code&gt; が上書き設定されてしまうみたいなのね。
まぁ，気持ちは分かるので「しょうがないか」と諦めていたのだが， Mastodon の TL で&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;iframe src=&#34;https://hachyderm.io/@nova/109790530971147702/embed&#34; class=&#34;mastodon-embed&#34; style=&#34;max-width: 100%; border: 0&#34; width=&#34;400&#34; allowfullscreen=&#34;allowfullscreen&#34;&gt;&lt;/iframe&gt;
&lt;/figure&gt;
&lt;p&gt;という投稿を見かけたので真似してみることにした。&lt;/p&gt;
&lt;p&gt;具体的には GitHub の自ユーザページの “Edit profile” ボタンを押して編集モードにし， “Social accounts” の項目で&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./github-profile.png&#34;&gt;&lt;img src=&#34;./github-profile.png&#34; srcset=&#34;./github-profile.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;Edit profile - GitHub&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./github-profile.png&#34;&gt;Edit profile - GitHub&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;という感じに Mastodon のプロフィール・ページの URL をセットすればよい。
&lt;code&gt;mstdn.jp&lt;/code&gt; はアイコンが &lt;span&gt;&lt;span class=&#34;mastodon-color&#34;&gt;&lt;i class=&#34;fa-brands fa-mastodon&#34;&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt; に変わるのに &lt;code&gt;fedibird.com&lt;/code&gt; は変わらないんだな。
&amp;hellip;まぁいいか。&lt;/p&gt;
&lt;p&gt;この設定により GitHub の自ユーザページに&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;rel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;nofollow me&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Link--primary&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://fedibird.com/@spiegel&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;https://fedibird.com/@spiegel&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;あるいは&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;rel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;nofollow me&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Link--primary&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://mstdn.jp/@spiegel&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;@spiegel@mstdn.jp&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;といった感じのリンクが張られる。
一方で Mastodon の自プロフィールページには&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;a href=&#34;./my-profile.png&#34;&gt;&lt;img src=&#34;./my-profile.png&#34; srcset=&#34;./my-profile.png 500w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;プロフィール - Fedibird&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;./my-profile.png&#34;&gt;プロフィール - Fedibird&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;という感じに GitHub の URL にチェックマークが付く。&lt;/p&gt;
&lt;p&gt;めでたし！&lt;/p&gt;
&lt;!-- eof --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Mastodon の標準では補足情報の URL は4つまで登録できるが Fedibird は8つまで拡張されている。ところで Fedibird は 2023-02 時点でユーザが26K人を超えたらしい。そんでしばらくは新規受付を止めるらしい（招待からのサインアップは継続とのこと）。これから Mastodon は目的別にアカウント@サーバを分散させるのが賢いかもしれない。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>AI は「創作者様」を引きずり下ろすか — 『人権と文化コモンズ』を流し読む</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2022/10/cultural-commons/" />
		<id>tag:text.Baldanders.info,2022-10-23:/remark/2022/10/cultural-commons/</id>
		<published>2022-10-23T06:06:30+00:00</published>
		<updated>2023-03-26T01:04:39+00:00</updated>
		<summary>この記事を含めて，ブログではこの本の感想を細切れで書いていくことになると思う。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;ここのところ&lt;a href=&#34;https://www.library.pref.shimane.lg.jp/&#34; target=&#34;_blank&#34;&gt;図書館&lt;/a&gt;で読んでたのは山田奨治さんの『&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;著作権は文化を発展させるのか: 人権と文化コモンズ&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;』だったり。&lt;/p&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51TsccJ7LnS._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;山田 奨治 (著)&lt;/dd&gt;
    &lt;dd&gt;人文書院 2021-07-29 (Release 2021-07-29)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B099RTG3J7 (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;著作権を「ユーザーの人権」という観点から捉え直す。その後 文化→コモンズ→文化コモンズ と進み，本当の意味で「文化の発展に寄与する」とはどういうことか考察していく。
&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2022-10-23&#34;&gt;2022-10-23&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 著作権は文化を発展させるのか: 人権と文化コモンズ --&gt;
&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2022/10/library-2/&#34; target=&#34;_blank&#34;&gt;またか&lt;/a&gt;とお思いでしょうが，またなんです。
だってまとまった時間をとって読書をするのに図書館は最適の空間（affordance）なんだもの。&lt;/p&gt;
&lt;p&gt;で，まぁ，読みながら思ったのは「これ，一回読んだだけじゃ分からんわ」だったり。
なので今のところ「完全に理解した」は諦めて「最後まで読み通す」ことに注力することにした。
なので今後は，何度か読み直すことになるだろう。&lt;/p&gt;
&lt;p&gt;この記事を含めて，ブログではこの本の感想を細切れで書いていくことになると思う。
理解の不備の訂正も同様。&lt;/p&gt;
&lt;h2&gt;ユーザの「表現」&lt;/h2&gt;
&lt;p&gt;『&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;著作権は文化を発展させるのか: 人権と文化コモンズ&#34;&gt;人権と文化コモンズ&lt;/a&gt;』で提示されている内容は私が著作権に対して抱いている問題意識と似ている，と感じている。&lt;/p&gt;
&lt;p&gt;7年前に書き始めた「&lt;a href=&#34;https://text.baldanders.info/cc-licenses/&#34; target=&#34;_blank&#34;&gt;改訂3版： CC Licenses について&lt;/a&gt;」で私はこう書いている。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;/cc-licenses/01-copyright/&#34;&gt;著作者や出版社にとっての著作権システムとは，著作物の「独占」状態を如何にコントロールするかであった。
しかし，ユーザの場合は行動原理が異なる。それはひとことで言うなら「共有」である。
何故ならユーザはコミュニケーションの手段（メディア）として著作物（＝表現）を利用するからだ。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://text.baldanders.info/cc-licenses/01-copyright/&#34;&gt;著作権と著作権法&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;一方で『&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;著作権は文化を発展させるのか: 人権と文化コモンズ&#34;&gt;人権と文化コモンズ&lt;/a&gt;』では表現を行使する全ての人の「人権」という観点から著作権を捉え直すところからスタートしている。
つまり&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;人間の内面は、幾多の著作物でできている（p.64）&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;ユーザーの人権は、受け取った作品が身体化していることにその根拠がある（p.81）&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作者とユーザーの、両方の身体の中間に作品は立ち現れるのだ（p.89）&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ときて&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;いま文化産業を名乗る彼らは、「文化」の「創り手＝送り手」を特権化して強力な保護を求め、ユーザーを消費者の位置に押し込めて、その自由を奪おうとしてきた。彼らのいう「文化」とは、その本質的な意味からは程遠い「消費財」でしかない。（p.153）&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;著作権は文化を発展させるのか: 人権と文化コモンズ&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;とまで書いている。
私は不覚にも図書館内で笑いそうになった。&lt;/p&gt;
&lt;h2&gt;プログラム・コードという表現&lt;/h2&gt;
&lt;p&gt;ところで『&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;著作権は文化を発展させるのか: 人権と文化コモンズ&#34;&gt;人権と文化コモンズ&lt;/a&gt;』ではプログラム・コードについての言及がない（読み落としがなければ）。&lt;/p&gt;
&lt;p&gt;現代はプログラム・コードも表現のひとつとみなされ著作権システムに組み入れられている。
「著作物」という観点でプログラム・コードが小説・音楽・絵画等と違うのは「作家性」の強度だろうか。&lt;/p&gt;
&lt;p&gt;たとえば「Linux は Linus Torvalds 作」みたいな感じで製品と作者がダイレクトに繋がっている場合もあるが，実際には一から十まで彼が全部プログラム・コードを書いているわけではなく，多数の参加者による製品に対する貢献（contribution）の上に成り立っている。
この辺の話は，今や古典となった「&lt;a href=&#34;http://cruel.org/freeware/cathedral.html&#34; target=&#34;_blank&#34;&gt;伽藍とバザール&lt;/a&gt;」あたりを読むのが手っ取り早いだろう。
FOSS は「バザール型」を積極的に受け入れ，ひいては IT 産業全体の構造をも変えたわけだ。&lt;/p&gt;
&lt;p&gt;2022年に入って AI によるコード生成支援サービスである GitHub Copilot が騒がしいが&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/&#34; target=&#34;_blank&#34;&gt;Give Up GitHub: The Time Has Come! - Conservancy Blog - Software Freedom Conservancy&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://news.mynavi.jp/techplus/article/20220701-2385316/&#34; target=&#34;_blank&#34;&gt;「GitHubの利用を中止しよう」 SFCが提言、AI開発ツールに疑念 | TECH+&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gigazine.net/news/20221018-github-copilot-emit-copyrighted-code/&#34; target=&#34;_blank&#34;&gt;ソースコードの続きを自動補完するGitHub Copilotに「著作権で保護されたコードを出力している」という指摘が寄せられる - GIGAZINE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GitHub Copilot の問題は「コードをパクっている」ことではなく FOSS を支える「自由のライセンス」まで洗い流され「ボクが考えたコード」みたいな顔をして何の前提もなく提示してしまうことにある（GitHub Copilot が知識ソースとしているのは GitHub 上の公開された FOSS コードである）。
こうした「どんぶり勘定」を放っておくなら Microsoft/GitHub はいずれ困った事態に直面すると思うのだが，どうだろう&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;h2&gt;AI は「創作者様」を引きずり下ろすか&lt;/h2&gt;
&lt;p&gt;もうひとつ AI 界隈で騒がしいのは「AI 絵画」だろうか。
こうした話は突然出てきたように思えるかもしれないが，楽曲の世界では以前からあったし，文章を書く AI みたいな製品も存在する。&lt;/p&gt;
&lt;p&gt;ただ「AI 絵画」を含む一連が象徴するのは「&lt;a href=&#34;https://text.baldanders.info/remark/2022/08/ai-drawing/&#34; target=&#34;_blank&#34;&gt;機械学習技術の民主化&lt;/a&gt;」であろう。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;mimicのような物議然り、このフィールドはそれなりに仕組みを応用できる人がPCでも実現できる世界にすでになっているため、恐らく今後もこういうケースは続出するし、多分もう流れをせき止めることはできないと思う。良くも悪くも機械学習技術が民主化されてしまった影響。&lt;/p&gt;&amp;mdash; Hideki Saito @ メタバース技術者＆Vtuber (@hideki) &lt;a href=&#34;https://twitter.com/hideki/status/1564509002205052931?ref_src=twsrc%5Etfw&#34;&gt;August 30, 2022&lt;/a&gt;&lt;/blockquote&gt;
&lt;/figure&gt;
&lt;p&gt;例を挙げると Microsoft は GitHub Copilot と同じ技術基盤を用いて Azure 上で Dall·E 2 の提供を開始した。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.publickey1.jp/blog/22/azure_openai_servicedalle_2ignite_2022.html&#34; target=&#34;_blank&#34;&gt;［速報］マイクロソフト、Azure OpenAI Serviceで「Dall·E 2」の提供を開始、テキストから画像を生成可能。Ignite 2022 － Publickey&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうした動きは加速することはあっても巻き戻すことはもはや不可能だ。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&#34;https://www.amazon.co.jp/dp/B099RTG3J7?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34; target=&#34;_blank&#34; title=&#34;著作権は文化を発展させるのか: 人権と文化コモンズ&#34;&gt;人権と文化コモンズ&lt;/a&gt;』で著者が指摘している通りに，特権者たる「創り手＝送り手」が生み出しているものが文化とは名ばかりの「その本質的な意味からは程遠い「消費財」でしかない」のであれば，この「&lt;a href=&#34;https://text.baldanders.info/remark/2022/08/ai-drawing/&#34; target=&#34;_blank&#34;&gt;機械学習技術の民主化&lt;/a&gt;」がもたらす &lt;strong&gt;翻案の大量生産&lt;/strong&gt; は「来たるべき未来」と言うほかない。
私が連想するのはスープ缶の絵を並べたあのポップアートだが，「AI 絵画」はアレの延長線上にあるように見える。&lt;/p&gt;
&lt;p&gt;今まで「創作者様」として特権的な位置から生み出していた「創作物」が実は機械によって大量生産可能な「消費財」に過ぎなかったと， AI によって気付かされるわけだ。&lt;/p&gt;
&lt;p&gt;人が「汗をかいて」成し遂げてきたことが機械に取って代わられるなんてことは過去に幾度も繰り返されてきたし，それによって失職する人が出たり新たな職業が生まれたりするのも歴史の必然だろう。
大昔にあった「コーダー」という職業がコンピュータとソフトウェア開発環境の劇的な向上に伴って消え失せたように，将来「プログラマ」という職業もなくなるかもしれない。&lt;/p&gt;
&lt;p&gt;情報のデジタル符号化とインターネットの台頭は，間違いなく現代におけるパラダイムシフトと言える。
今ですら著作権システムはこれに適応できていないのに，さらに「&lt;a href=&#34;https://text.baldanders.info/remark/2022/08/ai-drawing/&#34; target=&#34;_blank&#34;&gt;機械学習技術の民主化&lt;/a&gt;」が進めばどうなってしまうのか。&lt;/p&gt;
&lt;p&gt;&amp;hellip;今回はこの辺で。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://p2ptk.org/copyright/4349&#34; target=&#34;_blank&#34;&gt;生成AIと『猿の手』の呪い：著作権を強化してもクリエイターは救われない | p2ptk[.]org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://p2ptk.org/copyright/4352&#34; target=&#34;_blank&#34;&gt;AIアートが簡単・安価に生み出される世界で、それでも著作権は必要なのか？ | p2ptk[.]org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://p2ptk.org/copyright/4360&#34; target=&#34;_blank&#34;&gt;著作権は必要不可欠だった、でもこれからもそう？ | p2ptk[.]org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考文献&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4622073455?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41bepOIquwL._SL160_.jpg&#34; width=&#34;111&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4622073455?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;〈海賊版〉の思想‐18世紀英国の永久コピーライト闘争&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;山田 奨治 (著)&lt;/dd&gt;
    &lt;dd&gt;みすず書房 2007-12-20&lt;/dd&gt;
    &lt;dd&gt;単行本&lt;/dd&gt;
    &lt;dd&gt;4622073455 (ASIN), 9784622073451 (EAN), 4622073455 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;「コピーライト永久独占を目論む大書店主に挑む〈海賊出版者〉ドナルドソンの肖像。法廷闘争を軸に著作権を史的に考察する。」（帯文より）&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2018-11-13&#34;&gt;2018-11-13&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 〈海賊版〉の思想‐18世紀英国の永久コピーライト闘争 --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.aozora.gr.jp/cards/000029/card227.html&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/aozora/card227.svg&#34; width=&#34;110&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.aozora.gr.jp/cards/000029/card227.html&#34;&gt;伽藍とバザール&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;原題: The Cathedral and the Bazaar&lt;/dd&gt;
    &lt;dd&gt;レイモンド  エリック, 山形 浩生 (翻訳)&lt;/dd&gt;
    &lt;dd&gt; 1999-04-16 (Release 2014-09-17)&lt;/dd&gt;
    &lt;dd&gt;青空文庫&lt;/dd&gt;
    &lt;dd&gt;227 (図書カードNo.)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;プロジェクト杉田玄白 正式参加作品。&lt;a href=&#34;https://cruel.org/freeware/cathedral.html&#34;&gt;翻訳者のページ&lt;/a&gt;も参照のこと。今となっては古典だけどねぇ。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2022-10-18&#34;&gt;2022-10-18&lt;/abbr&gt; (powered by &lt;a href=&#34;https://aozorahack.org/&#34;&gt;aozorahack&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 伽藍とバザール --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;私個人としては GitHub Copilot 問題の関心領域は少しずれたところにある。詳しくは拙文「&lt;a href=&#34;https://text.baldanders.info/remark/2022/07/code-launderring/&#34; target=&#34;_blank&#34;&gt;GitHub Copilot は貢献者から貢献を奪うか？&lt;/a&gt;」をどうぞ。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry>
</feed>
