カテゴリー
セキュリティ

キー操作でブラウザ操作できるSurfingkeys Chrome拡張の新バージョンが、検索を謎のsmartwebfindersに変えようとする

Surfingkeys というオープンソースのブラウザ拡張ツールの新バージョン1.0.7が、キー操作でブラウジングできるという本来機能と無関係に既定の検索エンジンを謎の smartwebfinders に変えようとするというバグ報告が上がっています。

Chromeウェブストアで新規インストールする際も、「smartwebfinders.com に変更するよ」と出てきます。出てくるだけ昔よりは安全で避けられるとは言えますが、誰もがここを読んで考えるかというと…

Ultrasurf という別の Chrome拡張でも同様の切り替えが要求されていたということですが、この切り替えられる smartwebfinders.com は、ブラウザからアクセスしてみても Google に転送されるだけの謎のサイトです。

GitHub のソースコード上ではバージョン 1.0.6 が最新で 1.0.7 は無いため、第三者によって勝手に改造されたものが Chrome Store に上がったのかとも思われました。しかし、GitHub issues で拡張作者の brookhong 氏が「smartwebfinder は Bing のプロモーションで、強制的に検索エンジンを変えさせるわけではないので安心してほしい」と回答したため、作者が関知しているのかと騒ぎになっています。

# smartwebfinder が Bing のプロモーションだという他の主張は見つかっていません。Microsoftはたぶんこんなことしないと思うんですが。

Google 検索に転送されていることから、この変更を accept しても当座はこれまでと同じように Google 検索が呼び出されるのでしょう。しかし設定自体がこの別ドメインになっているのだから、いつ自由に別のところに飛ばされるようになるかわかりませんよね。

作者のこの回答を見て、GitHub の brookhong 氏のアカウント自体が乗っ取られたのかもしれない、と brookhong 氏にプログラマー向けの質問をする作者の知人らしき人もいますが、今のところそれ以上の返信は来ていません。

カテゴリー
技術者と英語

JSONの正しい発音 by ダグラス・クロックフォード氏

JSONの「発見者」ダグラス・クロックフォード氏に、「JSONってどう発音するんです?」と尋ねたショート動画

# たとえ氏が「わしがJSONを作った」と言っても文句を言う人は少なそうですが、氏はJSONを「見出した」と言います。

仲間のチップ・モーニングスター氏と最初に検討した名前は JSML (Javascript Message Language, ジズムル)。これはサン・マイクロシステムが既に使っていたとわかり断念、その後2分の熟考を経て JSON (JavaScript Object Notation)に決まったそう。

後半は”JSON”をどう発音するか、ですが、クロックフォード氏らは当初、人名のJasonと同じ「ジェイソン」と呼んでいたそう。しかし、数年後に誰もが「ジェイソーン(Jay-Sahn)」と呼んでいることに気づいたけど、どう呼ぼうと自由だから気にしなかったと。

でも、『正しい発音があるとしたらそれは(フランス語風に)「ジョ・ソン」だろうね』と結んでいます。

表情がまじめなままなので冗談とわかりにくいですが、お墨付きも出てるし「ジョ・ソン」を使って誰かを担いでみますかね。

via reddit

カテゴリー
データ可視化

バスケットボール中継のハイライト動画をPythonで作る

Python で NBAハイライト動画を自動生成するという記事が面白かったのでご紹介。

ゲームをまるごと観戦する暇がない時、ハイライト動画を見て済ますスポーツファンは多いでしょう。ハイライト動画は球団やテレビ局などが編集して出してきますが、必ず見られるわけでも、自分が見たい粒度のハイライト動画が必ずあるわけでもないかもしれません。

ノーム・エフラットさん(Noam Ephrat)が自分だけのハイライト動画を自動で作るために使ったのは、Python、NBA公式のAPI、録画したゲーム動画、OCRライブラリ。

NBAのAPI(参考) では何分何秒にどちらのチームの誰がどういうプレイをして、シュートが入ったとか外れたとかいうプレイバイプレイ(play-by-play, PBP)の情報が公開されています。日付、ゲームID、ピリオド(クオーター)を指定するとJSONが返ってきます。これが一つ目の要素。

https://data.nba.net/data/10s/prod/v1/20220201/0022100784_pbp_1.json

そして、録画した動画をフレームごとに切り出して、中継中に表示されたゲーム時計の部分を OCR ライブラリの Tesseract でピリオドやゲーム時間を抽出します。これが二つ目の要素

あとは、プレイバイプレイの重要シーンの発生した時刻に合わせて、動画のフレームを切り出し、切り出したところをつなげていくと、ゲームが動いたところだけがまとまったハイライト動画を作ることができたということ。

ざっと見てみて、プレイバイプレイのデータにあるところだけだと、どうしても点が増えたシュート成功の場面が多くなるのかな、とも思いましたが、人間が編集したハイライト動画でも成功シーンが多いので気のせいかもしれません。

作ったハイライト動画を公開するのは著作権的にだめだと思いますが、個人でハイライトを作って観るのは問題なさそうでは。

自分の基準で抜き出すところを選べるからには、

  • ひいきチームの得点シーンばかりを集めたり
  • 応援する特定の選手の絡むシーンだけを集めたり
  • 点差や時間を考えて、より劇的にゲームが動いたシーンだけを集めたり(これは人が編集する時と似た結果になるかも)
  • 自分の使える時間に応じてハイライト動画の長さを指定して変えたり

など、よりパーソナライズされたハイライト動画を作れる可能性もありますね。

バスケットボールという競技が特に時計が重要で、常時正確な時刻が中継に表示されていることや、APIで提供されるゲームログにも時刻情報がふんだんに含まれているという点も、うまく自動生成にマッチしているというのもありそうですね。