「未分類」カテゴリーアーカイブ

賞金付きクイズアプリの答えを求めるbot

HQ というオンラインクイズの iPhone アプリがあり、アメリカで流行しつつあるそうです。

一日2回開催される、12問のトリビアクイズに全問正解すると、その回の賞金を正解者で山分けできる、というサービスで、アプリに登場する司会者に特徴があり、家族・友人・同僚などを巻き込みやすい形になっているのが広まっている秘密のようです。

そんなクイズアプリに対して、前記事のようなプログラムによる解法をデモしたのが、トビー・メラーさんんのこちらのブログ記事

デモ動画はこちら。02:00 前後から、アプリの出題(画面右側)に対して、画面中央に開いたコンソールが、3択の回答を表示しています(小さくて見づらいので、キャプションで強調表示されていますが)。

回答が提案されるプロセスは以下の通り

  1. iPhone のアプリ画面を QuickTime で MacBook に映す
  2. Automator で問題と回答3択のスクリーンショットを撮る
  3. Google Vision API でテキスト化
  4. Googleカスタム検索API で、”問題文”や”問題文” AND 回答候補 を検索
  5. 検索結果の先頭9個の抜粋文に、回答語が出てくる回数をカウント
  6. 抜粋に回答が出ない場合は、URLを開いてページ全文から回答語をカウント

この単純な方法で、7秒以内に正答を得ることができているそうです。

なお、実際のゲームでこういったプログラムを使うのは、HQ アプリの利用規約に触れるということで、メラー氏は録画したゲーム画面を使って、こういったことが可能だ、という検証のみを行ったということです。

HQ アプリの方でも、不正な参加者を無くすべく、画像を保存するユーザーを弾いたりと対策を実施しているようですが、なんとなればiPhone の画面を別のカメラで撮影したっていいわけです。大なり小なり賞金が出る、という時点で、検証ではなく本気でこういう解法を使ってくるユーザーが出るのは避けられなさそうに思います。

HQ Trivia

カテゴリ: ゲーム, 教育, トリビア, 単語
言語: EN
価格: 無料
バージョン: 1.3.22

開発者: Intermedia Labs
公開日: 2017年8月26日
評価(全バージョン):
(28人のレビュー)
評価(現バージョン): 評価なし

スクリーンショット

screenshot 0screenshot 1screenshot 2screenshot 0screenshot 1screenshot 2screenshot 3

太陽発電だけで国中の電気を支えようとしたとき必要な面積を可視化したインタラクティブな世界地図

“Area of Solar Panels Needed to Power a Country”は、世界各国の消費電力を賄うために必要な電気を、もし全部ソーラーパネルで発電しようとしたら、どんな広さになるか、というのを可視化してくれるページです。

下の世界地図から国を選ぶと、その国の地図と、その上に必要なソーラーパネルが占める面積が正方形の集合で表されます。

人口密度が高いのか、電力消費が多いのか。一番効いてるのは日照量の少なさかもしれません。

大きな国はいいですね。

人口が少なかったり、そもそも電気を使わないライフスタイルの国だと、こんな割合でも電気が賄えてしまうんですね。

87%の国は、国土の5%以下の広さで、すべての電力を賄えるそうです。このサイトの調査では日本は8%ということ。山だらけの日本で8%はかなり困難かも。

また、国土すべてにソーラーパネルを敷き詰めても足りないのは、シンガポール、香港、バーレーンの3国だということ。

もちろん、これから先の発電効率の進化もあるので、消費電力が増えすぎないように気を付けていけば、必要な面積は漸減していくことが期待できるのでは。

# 計算に使われたデータ、発電効率等の数字は、リンク先記事の末尾で提示されています。

via Maps Mania

ファンタジー地図ジェネレーター

Fantasy Map Generatorは、架空世界の諸国地図を自動生成してくれるという JavaScript ライブラリです。デモページを開くと、リロードするたびに新しい大陸や諸島の地図が描かれます。

地形等は svg で生成されていて、拡大しても崩れたりしません。

デモ上でクリックすると、国・郡・町などを変更したり、表示のフォント・色を変えたりすることもできます。

地名は自動生成ではなく、namems.js に定義したものをランダムに出しているようです。

現在も開発中ということで、ソースコードはGitHubで公開されており、開発ブログでは海岸や河川の生成など、これまで作成したところの仕様や作り方などについても解説されてます。

昨年ご紹介した中世ファンタシーの城郭都市を生成するジェネレーターと併せて、TRPG のマスタリングや小説の世界観設定などに使うとはかどりそうなサービスではないでしょうか。

weepeople – 人のシルエットを表現したフォント

weepeople は、人の形をしたフォントセットです。

こんなかんじ。下は abcdeABCDE と書いて、この weepeople font を指定しています。(コピーして別の場所に貼りつけてみると確認できます)

abcdeABCDE

利用例として、トランプ大統領が約束した雇用はどうなったか?というページが紹介されています。ここでは、雇用された人数を表すグラフのところで、このフォントを並べることで人数の多寡を示していますね。

アルファベットを並べるだけでグループや群衆を表現できたり、文字の装飾と同様に色やサイズを変えられるのは webページ上で使うには便利かもしれません。

ライセンスは Creative Commons Attribution-NonCommercial-NoDerivs 3.0 United States License。CCでは非商用派生無しですが、別途テキストで広告のあるページに掲載することや有償の制作物の要素として使うのは構わない、とも書いてあります。

via An OpenNews project

Docker+Traefikで同一ホストのサブフォルダとルートフォルダで別バックエンドを見に行かせる

Traefik をリバースプロキシにしてアクセスをバックエンドの Docker コンテナに振り分ける実験をしていたのですが、http://example.com/app1 と http://example.com/app2 をコンテナ app1 と app2 に振り分けることは無事できたものの、http://example.com/ へのアクセスがどちらにもいかず404になってしまいました。

docker-compose.yml の label で Traefik の動作指定をしていたのですが、どちらかの app に / を含めてしまうと、/ を書いた方の定義が優先されてしまい、もう一方のサブフォルダが振り分けされなくなってしまいました。

では、/ を含む方の定義に2つの条件を書けばいいのでは、と思いましたが、一行の中にセミコロンで複数条件を書くのは、それらの AND を表していて、OR にはなりません。それでは、と、二つの条件を2行に並べて書くと、後で書いた方だけが有効になるよう。

公式の github project を検索すると、ラベルにサービス名をつけることで複数の条件を OR で指定できるようです。

Allow multiple rules from docker labels containers with traefik.<servicename>.* properties by benoitf · Pull Request #1257 · containous/traefik

この修正が今年の3月で、version 1.3.0 に入っている。ということは使えるということ。

ナイフで指の間をカッカッカッする… ロボット

ナイフを使った度胸試し的な遊び、ファイブ・フィンガー・フィレット(Knife Finger Fillet, 五本指のおろし?)とも呼ぶようですね。昔の映画などで見た記憶が。

ナイフ使いをロボットアームに任せた様子の動画がこちらになります

工作用ロボットが間違った動きをするとも思えないのですが、それでも速度を上げていくと緊張感が出ますね。

“ファイブ・フィンガー・フィレット”を調べていたらスマートフォンゲームも見つかりました。Android版だけ残ってて、iPhone版はマーケットから消えているのは内容が問題とされたんでしょうかね。

via Geekologie