<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>2022-08 on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/archives/2022-08/</link>
		<description>Recent content in 2022-08 on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Wed, 31 Aug 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/archives/2022-08/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Parsnip - 料理サイト&#43;技術ツリー</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/</link>
				<pubDate>Wed, 31 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.parsnip.ai/&#34;&gt;Parsnip という料理アプリ&lt;/a&gt;は、料理の作り方を「学習」できる点で他の料理レシピサービスと差別化している、と主張しています。&lt;/p&gt;&#xA;&lt;p&gt;スマートフォンに入れて使ってみると、料理のレベルを訊かれ、作りたい料理を選ばさせられ、その料理の食材の店頭での選び方や部位の名前、生産方式や輸送方式、保管方法や評判の良い産地、切り方や捨て方、もちろん調理方法も、などなどについてクイズが始まりました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://play.google.com/store/apps/details?id=com.tapforce.parsnip&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tomato-quiz_hu_414d81a30c0eccf1.webp 473w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tomato-quiz.png&#34; width=&#34;473&#34; height=&#34;847&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Parsnipアプリでは食材に関する知識クイズなどを通して料理の学習ができる&lt;/p&gt;&#xA;&lt;p&gt;料理に必要な知識をクイズに答えて確認しないと先に進めないようで、確かに学習アプリでありただのレシピサイトではありません。答えを間違えた時にも間違いに応じた説明文や写真が出てくるため、一つの料理、それに使われる材料や手法、に問題と解答、解説があるなら大量のコンテンツとなり、あらゆる料理のレシピではなくアプリが提示してきた料理から学びたいものを選ぶ方式だったのは、レシピの数が限定されているのかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;また、最終的な知りたい「レシピ」はクイズを全部解かないとロックされて出てこないようです。これレシピを見る前に小一時間クイズを解かないといけないのかしら。&lt;/p&gt;&#xA;&lt;h3 id=&#34;料理の技術ツリー&#34;&gt;料理の技術ツリー&lt;/h3&gt;&#xA;&lt;p&gt;その Parsnip が、まだ実装できてはいないけど&lt;a href=&#34;https://parsnip.substack.com/p/a-new-hope&#34;&gt;現在開発中、と公式ブログで紹介&lt;/a&gt;しているのが、いわゆる「技術ツリー」を料理の世界に適用するというアイデア。&lt;/p&gt;&#xA;&lt;p&gt;技術ツリーの元ネタは名作シミュレーションゲーム「&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B4%E3%82%A3%E3%83%A9%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&#34;&gt;シビライゼーション&lt;/a&gt;」ではないかと思われますが、このゲームでプレイヤーは文明を古代から現代・未来まで進化させていく中で、技術を獲得していきます。その時に、「内燃機関と鉄鋼の技術を持っていると自動車を発明できる」「神秘主義と数学を持っていると天文学を獲得できる」と言った風に、ある技術の実現のために必要な前提技術をすべて所有している必要があります。&lt;/p&gt;&#xA;&lt;p&gt;この必要条件を矢印でつなげ合わせることで、高度で複雑な技術のために必要な前提技術が枝分かれしていき、多数の基本的な技術の組み合わせに分解できる、という図を作れます。これが技術ツリー。&lt;/p&gt;&#xA;&lt;p&gt;[&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/Freeciv-2.1.8_technology_tree_cropped_hu_3394a1de4cb2bc2c.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/Freeciv-2.1.8_technology_tree_cropped_hu_357922f74f480a87.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/Freeciv-2.1.8_technology_tree_cropped_hu_d741a5be2b21a85.webp 821w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/Freeciv-2.1.8_technology_tree_cropped.png&#34; width=&#34;821&#34; height=&#34;345&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;](&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Freeciv-2.1.8_technology_tree&#34;&gt;https://commons.wikimedia.org/wiki/File:Freeciv-2.1.8_technology_tree&lt;/a&gt;_(cropped)&lt;/p&gt;&#xA;&lt;p&gt;.png) シビライゼーションのオープンソース・クローン Freeciv の技術ツリー (GPL)&lt;/p&gt;&#xA;&lt;p&gt;そして、ソフトウェアエンジニアが自分のキャリアプランを立てたり、「フルスタックエンジニアになりたい」など多数の分野を知っていないと成れない目標を立てたりする際に何をどういう順番に勉強していくと目標へたどり着けるか、という道程を示すものとして、技術や知識の依存関係が技術ツリーとしてまとめられ、いくつも公開されています。&lt;/p&gt;&#xA;&lt;p&gt;たとえば、この手の技術ツリーを&lt;a href=&#34;https://roadmap.sh/backend&#34;&gt;バックエンド開発者になるためのロードマップ&lt;/a&gt;などで見つけることができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://roadmap.sh/backend&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/backend-developer-technology-tree-by-roadmap.sh__hu_fab3b04b41249217.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/backend-developer-technology-tree-by-roadmap.sh__hu_12656c17383b2e2e.webp 560w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/backend-developer-technology-tree-by-roadmap.sh_.png&#34; width=&#34;560&#34; height=&#34;553&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;roadmap.sh では様々なソフトウェア分野の技術ツリーが公開され、オープンソースで作者と貢献者たちによって更新されています。&lt;/p&gt;&#xA;&lt;p&gt;Parsnip のアイデアはこの要素技術の依存関係のツリーを料理の学習に適用しようというもの。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://parsnip.substack.com/p/a-new-hope&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tech-tree-idea-for-cooking_hu_e7e1840218d53a1e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tech-tree-idea-for-cooking_hu_1f93ed76c430c0e3.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tech-tree-idea-for-cooking_hu_ba5a583e3ae2b2da.webp 870w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/parsnips-tech-tree-for-food/parsnip-tech-tree-idea-for-cooking.png&#34; width=&#34;870&#34; height=&#34;552&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Parsnip が開発中の料理の「技術ツリー」のグラフ&lt;/p&gt;&#xA;&lt;p&gt;この例だと、スクランブルエッグを作るには「卵の知識」「コンロの知識」「食材の安全性」の知識が必要で、シュリンプ・タコスを作るには「エビの知識」「エビの調理法」「食材の安全性」の知識が必要。「食材の安全性」はどちらの料理にも必要。ということでしょう。&lt;/p&gt;&#xA;&lt;p&gt;学びたい料理に対してそれに必要な要素技術が何かが分解されていて、ある技術や知識にはさらにそれらの前提となる技術や知識が必要というツリーになっていれば、目標となる料理に対して何をどんな順番で勉強していけばいいかがわかるわけですね。&lt;/p&gt;&#xA;&lt;p&gt;あるいは、個別の要素技術をある程度学んだ状態で、「今の自分の調理技術の組み合わせで作れるレシピを検索」とかもできるようになりそうです。&lt;/p&gt;&#xA;&lt;p&gt;また、現在の Parsnip は料理の種類がサービス提供のものに限定されていますが、料理と必要な技術のツリーが作れれば、自前でレシピデータを全部揃えなくても、外部のレシピに対して(自然言語の解析によって)必要な技術ツリーを作って提案することもできるだろう、と公式ブログでは述べています。&lt;/p&gt;&#xA;&lt;p&gt;技術ツリーをIT技術の取得以外に使うというアイデアは&lt;a href=&#34;https://www.duolingo.com/&#34;&gt;外国語学習アプリの Duolingo&lt;/a&gt; を見て思いついたそうです。他にも技術ツリーの考えを持ち込めるサービスの分野があるかもしれないですね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://news.ycombinator.com/item?id=32266086&#34;&gt;Show HN: Parsnip – Duolingo for Cooking | Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Polygonle - 同じ文字の出現箇所で当てる Wordle インスパイア英単語ゲーム</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/</link>
				<pubDate>Wed, 24 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.polygonle.com/&#34;&gt;Polygonle&lt;/a&gt; は、英単語当てクイズとして大ヒットした Wordle を真似た新たな英単語クイズゲームです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.polygonle.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/polygonle_hu_8f30ef2991461f7e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/polygonle_hu_f09103a4b0efb723.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/polygonle_hu_8e79ad93376a6b99.webp 802w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/polygonle-word-finder-game/polygonle.png&#34; width=&#34;802&#34; height=&#34;807&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Polygonleのトップ画面&lt;/p&gt;&#xA;&lt;p&gt;英単語を入力するところや、文字の存在が当たったら黄色、存在も位置も当たったら緑、というのは Wordle と同じです。6回以内に正解にたどり着かないといけないのも同じ。&lt;/p&gt;&#xA;&lt;p&gt;単語の長さは5文字とは限らず、出題ごとに変わります。その日の問題が7文字、8文字と長い時には、同じ文字になるところが合うような単語を思い浮かべるだけでも大変で、これは Wordle に対して敷居が高いかなと思います。&lt;/p&gt;&#xA;&lt;p&gt;同じ文字になるかは無視して長さだけ合っている単語で取り合えずチャレンジし当たった文字をヒントにとにかく進むことで、どのみち文字は26個しかないことから絞り込みは早くなるというので挽回できるかもしれません。いやどうかなあ。やはり難しい。&lt;/p&gt;&#xA;&lt;p&gt;自分が解いた経過を twitter 等で共有しやすくコピーできるところも Wordle と同じ。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;hu&#34; dir=&#34;ltr&#34;&gt;Polygonle 4 2/6&lt;br&gt;&lt;br&gt;◆◢▪◆■◢&lt;br&gt;🟨🟨⬜🟨⬜⬜&lt;br&gt;🟩🟩🟩🟩🟩🟩&lt;/p&gt;&amp;mdash; Akky (@akky) &lt;a href=&#34;https://x.com/akky/status/1555202749901737984?ref_src=twsrc%5Etfw&#34;&gt;August 4, 2022&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;これはたまたまうまくいったときのもの。いつもこういう風にはなかなか。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Googleと通信する度に音を鳴らすツール</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/tool-makes-noise-when-google-data-collects/</link>
				<pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/tool-makes-noise-when-google-data-collects/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/berthubert/googerteller&#34;&gt;berthubert/googerteller&lt;/a&gt; は、Googleとの通信を可視化(可聴化?)するオープンソースのツールです。&lt;/p&gt;&#xA;&lt;p&gt;ツールは tcpdump で出力した通信先のIPアドレスを、既知の Google サーバー群の IPアドレスとパターンマッチし、オーディオライブラリの&lt;a href=&#34;https://github.com/espeak-ng/pcaudiolib&#34;&gt;espeak-ng/pcaudiolib&lt;/a&gt; で音を鳴らすという仕組みで動いています。&lt;/p&gt;&#xA;&lt;p&gt;作者の Bert Hubert さん自身が、オランダ政府サイトの求職ページを開いた時にどれだけの通信が Google との間で発生しているかを twitter で見せてくれています。&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ブラウザのアドレスバーでの文字入力時の音は キーワード予測、Google検索の時の音はもちろん、ボタン上でホバーした時やページ遷移した時の音は Google Analytics でしょうか。&lt;/p&gt;&#xA;&lt;p&gt;便利な機能を提供するために必要な通信ですし、サービス提供側や広告ネットワークからユーザーの属性を知るために集められる通信もあるでしょう。多数の通信が発生していることは多くの人が知っているでしょうけれど、その頻度が音という形に変換されると、多いなとか意外に少ないなとかは人によって異なるでしょうが、通信があるということ自体は意識させられます。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=32549604&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>キー操作でブラウザ操作できるSurfingkeys Chrome拡張の新バージョンが、検索を謎のsmartwebfindersに変えようとする</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/surfingkeys-extension-tries-to-set-suspicious-smartwebfinder-search/</link>
				<pubDate>Fri, 19 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/surfingkeys-extension-tries-to-set-suspicious-smartwebfinder-search/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc&#34;&gt;Surfingkeys&lt;/a&gt; という&lt;a href=&#34;https://github.com/brookhong/Surfingkeys&#34;&gt;オープンソース&lt;/a&gt;のブラウザ拡張ツールの新バージョン1.0.7が、キー操作でブラウジングできるという本来機能と無関係に&lt;a href=&#34;https://github.com/brookhong/Surfingkeys/issues/1796&#34;&gt;既定の検索エンジンを謎の smartwebfinders に変えようとするというバグ報告&lt;/a&gt;が上がっています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://chrome.google.com/webstore/detail/surfingkeys/gfbliohnnapiefjpjlpjnehglfpaknnc&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/surfingkeys-extension-tries-to-set-suspicious-smartwebfinder-search/surfingkeys-requires-to-change-search-engine-to-smartwebfinder_hu_af1ec9d845c7430f.webp 476w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/surfingkeys-extension-tries-to-set-suspicious-smartwebfinder-search/surfingkeys-requires-to-change-search-engine-to-smartwebfinder.png&#34; width=&#34;476&#34; height=&#34;366&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Chromeウェブストアで新規インストールする際も、「smartwebfinders.com に変更するよ」と出てきます。出てくるだけ昔よりは安全で避けられるとは言えますが、誰もがここを読んで考えるかというと…&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://security.stackexchange.com/questions/262979/what-will-happen-if-i-accept-this-change-your-search-setting-to-smartwebfinder&#34;&gt;Ultrasurf という別の Chrome拡張でも同様の切り替えが要求されていた&lt;/a&gt;ということですが、この切り替えられる smartwebfinders.com は、ブラウザからアクセスしてみても Google に転送されるだけの謎のサイトです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/brookhong/Surfingkeys&#34;&gt;GitHub のソースコード&lt;/a&gt;上ではバージョン 1.0.6 が最新で 1.0.7 は無いため、第三者によって勝手に改造されたものが Chrome Store に上がったのかとも思われました。しかし、GitHub issues で拡張作者の brookhong 氏が「smartwebfinder は Bing のプロモーションで、強制的に検索エンジンを変えさせるわけではないので安心してほしい」と回答したため、作者が関知しているのかと騒ぎになっています。&lt;/p&gt;&#xA;&lt;p&gt;# smartwebfinder が Bing のプロモーションだという他の主張は見つかっていません。Microsoftはたぶんこんなことしないと思うんですが。&lt;/p&gt;&#xA;&lt;p&gt;Google 検索に転送されていることから、この変更を accept しても当座はこれまでと同じように Google 検索が呼び出されるのでしょう。しかし設定自体がこの別ドメインになっているのだから、いつ自由に別のところに飛ばされるようになるかわかりませんよね。&lt;/p&gt;&#xA;&lt;p&gt;作者のこの回答を見て、GitHub の brookhong 氏のアカウント自体が乗っ取られたのかもしれない、と brookhong 氏にプログラマー向けの質問をする作者の知人らしき人もいますが、今のところそれ以上の返信は来ていません。&lt;/p&gt;</description>
			</item>
			<item>
				<title>JSONの正しい発音 by ダグラス・クロックフォード氏</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/how-to-pronounce-json-by-douglas-clockford/</link>
				<pubDate>Wed, 17 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/how-to-pronounce-json-by-douglas-clockford/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://www.json.org/json-en.html&#34;&gt;JSON&lt;/a&gt;の「発見者」ダグラス・クロックフォード氏に、「JSONってどう発音するんです?」と尋ねたショート&lt;a href=&#34;https://www.youtube.com/watch?v=uR-f4b0G9lo&#34;&gt;動画&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;# たとえ氏が「わしがJSONを作った」と言っても文句を言う人は少なそうですが、氏はJSONを「見出した」と言います。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/uR-f4b0G9lo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;仲間の&lt;a href=&#34;https://en.wikipedia.org/wiki/Chip_Morningstar&#34;&gt;チップ・モーニングスター氏&lt;/a&gt;と最初に検討した名前は JSML (Javascript Message Language, ジズムル)。これはサン・マイクロシステムが既に使っていたとわかり断念、その後2分の熟考を経て JSON (JavaScript Object Notation)に決まったそう。&lt;/p&gt;&#xA;&lt;p&gt;後半は&amp;quot;JSON&amp;quot;をどう発音するか、ですが、クロックフォード氏らは当初、人名のJasonと同じ「ジェイソン」と呼んでいたそう。しかし、数年後に誰もが「ジェイソーン(Jay-Sahn)」と呼んでいることに気づいたけど、どう呼ぼうと自由だから気にしなかったと。&lt;/p&gt;&#xA;&lt;p&gt;でも、『正しい発音があるとしたらそれは(フランス語風に)「ジョ・ソン」だろうね』と結んでいます。&lt;/p&gt;&#xA;&lt;p&gt;表情がまじめなままなので冗談とわかりにくいですが、お墨付きも出てるし「ジョ・ソン」を使って誰かを担いでみますかね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://www.reddit.com/r/programming/comments/wk1auk/how_to_pronounce_json_by_douglas_crockford/&#34;&gt;reddit&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>バスケットボール中継のハイライト動画をPythonで作る</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/generate-nba-highlights-with-python/</link>
				<pubDate>Wed, 17 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/generate-nba-highlights-with-python/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://betterprogramming.pub/automatically-creating-nba-highlights-in-5-minutes-7f90bfedd775&#34;&gt;Python で NBAハイライト動画を自動生成する&lt;/a&gt;という記事が面白かったのでご紹介。&lt;/p&gt;&#xA;&lt;p&gt;ゲームをまるごと観戦する暇がない時、ハイライト動画を見て済ますスポーツファンは多いでしょう。ハイライト動画は球団やテレビ局などが編集して出してきますが、必ず見られるわけでも、自分が見たい粒度のハイライト動画が必ずあるわけでもないかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;ノーム・エフラットさん(Noam Ephrat)が自分だけのハイライト動画を自動で作るために使ったのは、Python、NBA公式のAPI、録画したゲーム動画、OCRライブラリ。&lt;/p&gt;&#xA;&lt;p&gt;NBAのAPI&lt;a href=&#34;https://github.com/kshvmdn/nba.js/blob/master/docs/api/DATA.md&#34;&gt;(参考)&lt;/a&gt; では何分何秒にどちらのチームの誰がどういうプレイをして、シュートが入ったとか外れたとかいうプレイバイプレイ(play-by-play, PBP)の情報が公開されています。日付、ゲームID、ピリオド(クオーター)を指定するとJSONが返ってきます。これが一つ目の要素。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://data.nba.net/data/10s/prod/v1/20220201/0022100784_pbp_1.json&#34;&gt;https://data.nba.net/data/10s/prod/v1/20220201/0022100784_pbp_1.json&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;そして、録画した動画をフレームごとに切り出して、中継中に表示されたゲーム時計の部分を &lt;a href=&#34;https://github.com/tesseract-ocr/tesseract&#34;&gt;OCR ライブラリの Tesseract&lt;/a&gt; でピリオドやゲーム時間を抽出します。これが二つ目の要素&lt;/p&gt;&#xA;&lt;p&gt;あとは、プレイバイプレイの重要シーンの発生した時刻に合わせて、動画のフレームを切り出し、切り出したところをつなげていくと、&lt;a href=&#34;https://www.youtube.com/watch?v=pTmcIf_Zqo4&#34;&gt;ゲームが動いたところだけがまとまったハイライト動画&lt;/a&gt;を作ることができたということ。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/pTmcIf_Zqo4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;ざっと見てみて、プレイバイプレイのデータにあるところだけだと、どうしても点が増えたシュート成功の場面が多くなるのかな、とも思いましたが、人間が編集したハイライト動画でも成功シーンが多いので気のせいかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;作ったハイライト動画を公開するのは著作権的にだめだと思いますが、個人でハイライトを作って観るのは問題なさそうでは。&lt;/p&gt;&#xA;&lt;p&gt;自分の基準で抜き出すところを選べるからには、&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ひいきチームの得点シーンばかりを集めたり&lt;/li&gt;&#xA;&lt;li&gt;応援する特定の選手の絡むシーンだけを集めたり&lt;/li&gt;&#xA;&lt;li&gt;点差や時間を考えて、より劇的にゲームが動いたシーンだけを集めたり(これは人が編集する時と似た結果になるかも)&lt;/li&gt;&#xA;&lt;li&gt;自分の使える時間に応じてハイライト動画の長さを指定して変えたり&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;など、よりパーソナライズされたハイライト動画を作れる可能性もありますね。&lt;/p&gt;&#xA;&lt;p&gt;バスケットボールという競技が特に時計が重要で、常時正確な時刻が中継に表示されていることや、APIで提供されるゲームログにも時刻情報がふんだんに含まれているという点も、うまく自動生成にマッチしているというのもありそうですね。&lt;/p&gt;</description>
			</item>
			<item>
				<title>pixelguesser - あなたのwebデザインのサイズ感に挑戦するクイズ</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/</link>
				<pubDate>Fri, 12 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://fakeclients.com/exercises/pixelguesser&#34;&gt;Pixel Guesser&lt;/a&gt;(ピクセル当て)は、ブラウザ上でピクセル(px)指定されたサイズの矩形を答えるクイズサイトです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-question.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-question_hu_d0dedfa574eb37bb.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-question_hu_429df4b760c39308.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-question_hu_f67dba97934c26cb.webp 1048w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-question.png&#34; width=&#34;1048&#34; height=&#34;721&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;幅と高さのpx がお題として出るので、マウスでそのサイズと自分が思う領域を指定します。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-result.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-result_hu_a834dc45bb5f238.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-result_hu_2df2eb65dbf0bfe8.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-result_hu_e8cee3553cf90d7f.webp 787w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/pixelguesser-asks-you-sizes-on-browser/pixel-guesser-result.png&#34; width=&#34;787&#34; height=&#34;625&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;あなたが描いたサイズと正しいサイズがオーバーレイで示され、どれぐらい正解に近かったかに応じて点数が加算されます。10問解くと合計が出て終了。&lt;/p&gt;&#xA;&lt;p&gt;ブラウザ上での矩形領域を勘で指定してうまく当てられると、デザインの速度にいい影響があったりしますかね? 日常的にデザインしてる人はやはりいい点数出るんでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=32414627&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>IMDb映画データベースで映画の出演者に自分を登録する素人たち</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/imdb-fake-actors/</link>
				<pubDate>Mon, 08 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/imdb-fake-actors/</guid>
				<description>&lt;p&gt;1990年から存在する、&lt;a href=&#34;https://www.imdb.com/&#34;&gt;インターネット上の映画データベース IMDb&lt;/a&gt;。映画の出演者を調べたり、俳優が出演した映画の一覧を調べたりと便利なサービスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/imdb-fake-actors/imdb-subhankar-bagchi_hu_5b7114e511105b33.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/imdb-fake-actors/imdb-subhankar-bagchi_hu_4e9eaf2834bef90b.webp 708w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/imdb-fake-actors/imdb-subhankar-bagchi.png&#34; width=&#34;708&#34; height=&#34;619&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;IMDb にまだ残る、怪しい若手俳優のページ&lt;/p&gt;&#xA;&lt;p&gt;Pee Bee さんはIMDb で &lt;a href=&#34;https://www.imdb.com/title/tt13751694/&#34;&gt;2023年(公開予定)の映画 Animal&lt;/a&gt; を調べようと開いたところ、出演俳優の一覧の中に見かけない若者を見つけました。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;I was on the IMDb page for an upcoming Ranbir Kapoor movie Animal. In the cast details, I found a name I didn’t recognize. &lt;br&gt;&lt;br&gt;Finding out about this guy led me to the world of how young Indian men from small towns are gaming the system to manufacture their fake online clout 👇 &lt;a href=&#34;https://t.co/zrg2rvHXLJ&#34;&gt;pic.twitter.com/zrg2rvHXLJ&lt;/a&gt;&lt;/p&gt;&amp;mdash; pea bee (@prstb) &lt;a href=&#34;https://x.com/prstb/status/1556181928407023616?ref_src=twsrc%5Etfw&#34;&gt;August 7, 2022&lt;/a&gt;&lt;/blockquote&gt;&#xA;&lt;script async src=&#34;https://platform.x.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&lt;p&gt;「誰だこれ?」とクリックすると、この Subhankar Bagchi なる俳優は昨年2021年から来年2023年の3年間にかけて、26本の映画に出演してると出てきたそう。(今は消えています)&lt;/p&gt;</description>
			</item>
			<item>
				<title>GitHub Copilot は&#34;gender&#34;など特定用語を含むコードで動かなくなる</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/</link>
				<pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/</guid>
				<description>&lt;p&gt;書いているプログラムコードから次に必要そうなコードを提案してくれる GitHub の Copilot サービスで、&lt;a href=&#34;https://github.com/orgs/community/discussions/20273&#34;&gt;「このコードに対して Copilot が何も提案してくれない」というバグ&lt;/a&gt;が報告されました。&lt;/p&gt;&#xA;&lt;p&gt;これに対するコミュニティの識者からの回答は、「おそらく、コードの中に &amp;ldquo;gender&amp;rdquo; という単語が入ってるからでしょう。」というもの。&lt;/p&gt;&#xA;&lt;p&gt;Copilot には内蔵されたコンテンツフィルターがあり、フィルターに反応するとコードの提案をしないという作りなのだそう。そして &amp;ldquo;gender&amp;rdquo; もそのリストに含まれているらしいのです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-stalls-with-gender_hu_d99bf7dbcf04e646.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-stalls-with-gender_hu_c9345e0541658322.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-stalls-with-gender_hu_e4b2d6b9c4777ce7.webp 797w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-stalls-with-gender.png&#34; width=&#34;797&#34; height=&#34;179&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;コードの提案が止まる、と言われたコードをCopilotで書いてみた&lt;/p&gt;&#xA;&lt;p&gt;実際にCopilotで該当部分のコードを書いてみたところ、サジェストされた内容は文にならず途中で止まりました。元のコメント者と同じ結果なのかどうかはわかりませんが。&lt;/p&gt;&#xA;&lt;p&gt;これを受けての&lt;a href=&#34;https://news.ycombinator.com/item?id=32338469&#34;&gt;Hacker News の議論&lt;/a&gt;では、&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;ジェンダーという名前の変数があったとして、その変数を boolean 型として提案コードを出せば「ジェンダーは(男女の)2通りじゃない」と怒る人が来てしまい、多値にすれば「ジェンダーは2通りだ」と怒る人が来るからでは、&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;という推測がトップコメントになっています。この推測が正しい理由かは不明ですが、議論になりそうな単語が含まれていると Copilot が動かなくなるというのは知ってる人は以前から知っていたようです。&lt;/p&gt;&#xA;&lt;p&gt;今はクライアント側に禁止ワードのリストは無いそうですが、昔ベータだった際にクライアント側に埋め込まれていた&lt;a href=&#34;https://moyix.net/~moyix/copilot_slurs_rot13.txt&#34;&gt;リストを保存&lt;/a&gt;してた人がいたようで、rot13を掛けるとどんな単語が引っ掛かるかわかります。(このリストが本物として、リストが見えていた時期から変わっていないとして)&lt;/p&gt;&#xA;&lt;p&gt;人種差別的な単語や罵倒後、卑猥な単語らがたくさん登録されていますが、&amp;ldquo;gender&amp;rdquo; も確かに含まれています。それどころか、&amp;ldquo;boy&amp;rdquo;, &amp;ldquo;girl&amp;rdquo;, &amp;ldquo;male&amp;rdquo;, &amp;ldquo;female&amp;rdquo; とかも入っているので、人を管理するデータクラスとかを作っただけでも引っ掛かることはありそう。&lt;/p&gt;&#xA;&lt;p&gt;リストには英単語しか入っていないため、変数を日本語やローマ字で書く分には回避できそうですけどね。Hacker News では、&amp;ldquo;gender&amp;rdquo; をラテン語の&amp;quot;genus&amp;quot;に変えたら動いたよ、という報告もあり、これも試したところ本当でした。&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-works-with-genus_hu_f48bf30301903f2d.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-works-with-genus_hu_edc27436e0201f88.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-works-with-genus_hu_6eb64da91939b01b.webp 805w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/08/github-copilot-stalls-with-the-word-gender/copilot-suggestion-works-with-genus.png&#34; width=&#34;805&#34; height=&#34;179&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;genus&amp;quot;にしたらサジェストが出た&lt;/p&gt;&#xA;&lt;p&gt;マイクロソフトは&lt;a href=&#34;https://japan.cnet.com/article/35140462/&#34;&gt;AIチャットで意図しない発言が生成されて炎上したこと&lt;/a&gt;があったので、コードの提案でも問題を避ける機能を入れたくなるのはわからないでもありません。ただ、単語だけ列挙したリストの作りは雑なように感じるので、やるにしてももう少し改善してほしい気がします。&lt;/p&gt;&#xA;&lt;p&gt;直近は、Copilot が何も言わなくなり、書いたコードが性別やジェンダーに関する変数名を含んでいたら、変数名をちょっと変えてみる、んですかね?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Phonetic Bad Word Filter - 読むと不適切に聴こえる文章をフィルタしてくれるAPI</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/08/phonetic-bad-word-filter/</link>
				<pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/08/phonetic-bad-word-filter/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://rapidapi.com/mike.nichols/api/phonetic-bad-word-filter/&#34;&gt;Phonetic Bad Word Filter API&lt;/a&gt; は、字面では一見問題なさそうに見えるが、声に出して読み上げるとヤバイ単語に聴こえてしまう文章や、スペルをわざと間違えることでテキスト合致によるフィルタをすり抜けようとする侮辱語などを発見してブロックするための API です。&lt;/p&gt;&#xA;&lt;p&gt;API は &lt;a href=&#34;https://rapidapi.com/hub&#34;&gt;RapidAPI&lt;/a&gt; のサービスで提供されていて、無料枠の利用でもクレジットカードの登録が必要です。&lt;/p&gt;&#xA;&lt;p&gt;APIの呼び出しサンプルでは、実際のヘイトな単語を使うわけにはいかないので &amp;ldquo;car&amp;rdquo; という単語がまずい単語だと見立てて、&amp;ldquo;kar&amp;rdquo; という似たような発音になる綴りで置き換えても&amp;quot;car&amp;quot;を検知できますよ、というものになっています。&lt;/p&gt;&#xA;&lt;p&gt;実際にはここに、いわゆるNワードなどを検知するように指定するということですね。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/r8nrBy5cSVE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;h3 id=&#34;apiの使い道&#34;&gt;APIの使い道&lt;/h3&gt;&#xA;&lt;p&gt;APIの作者はもともと、Talking Banana(話すバナナ)というアイデアで、バナナの形の人形に YouTube や Twitch での中継中に視聴者のコメントを自動読み上げさせていたようです。&lt;/p&gt;&#xA;&lt;p&gt;しかし、入力した結果が大勢の人に見られているライブ動画ですぐ読み上げられるとなると、出てくるのがイタズラ。特に侮辱後や人種差別にあたる言葉をわざと打ち込むというイタズラが登場してしまいました。&lt;/p&gt;&#xA;&lt;p&gt;ヘイトスピーチにあたるような単語をブラックリスト登録することで、元の文に問題のある単語が直接含まれている場合は読み上げがされないよう対処できたのですが、イタズラする方に「機械に喋らせたら、問題のある単語に聴こえるような別の単語の組み合わせ」を入れてくる人が現れたんだそう。&lt;/p&gt;&#xA;&lt;p&gt;単語一つだけでも、機械に合成させたら禁止ワードに聴こえる組み合わせをリスト化するのは大変そうです。さらに、単語単位での置き換えではなく、ひとつながりの複数の単語の並びの中に、喋ってみたら禁止ワードが聴こえてしまう、というようなものについて、事前にブロックリストを作るのはかなり難しいことでしょう。&lt;/p&gt;&#xA;&lt;p&gt;喋らせてみたらまずいかも、という入力を実際に合成させた音をチェックさせるというアイデア、誤検出もありそうには思いますが前記のような用途であれば、ファンの入れた単語が間違って読み上げられなくてもそこまで大きな問題ではないのでしょう。&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/bJ5ppf0po3k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;ユーザー入力をそのまま使うサービスというのは攻撃の対象になりやすいもので、できれば作らない方が楽だとは思います。しかし参加者のフィードバックが表示されることの価値も多いんでしょうね。今回の話は、技術と工夫で一旦はイタズラに勝った、という話で、いつもこういう勝ち筋があるといいのですが。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
