yumulog

北海道の大学教員/情報科学研究者の日記

CHI2017の研究を独断と偏見で紹介

f:id:yumu19:20170505093857p:plain

Human Computer Interaction(HCI)というコンピュータサイエンスの一分野のトップカンファレンスCHIの研究紹介動画が公開されました。HCI分野では、論文だけ読むよりも動くものを見たほうが圧倒的に理解しやすいという分野の特性もあって、論文と一緒に動画を投稿するのが一般的な習慣になってます。

最近は「最先端の技術はアカデミアにはない」といろんな場面で耳にすることも多く、30%くらいは同意するところもあるのですが、リソース(お金、時間、人)を存分に注入することができるアカデミアには、やはり世界トップクラスのすごいもの、面白いものがたくさんあります。当然これも分野によりますが。

CHIの研究動画で面白いと思ったものをいくつか紹介します。1本30秒の短い動画で、内容にもよりますが研究の概要を大体把握できるんじゃないかなと思います。 ただ、270本あるので全部見ると2時間以上かかるので、全部は見きれていなくて、たまたま目についたやつを紹介してます。

Holographic Whisper: Rendering Audible Sound Spots in Three-dimensional Space by Focusing Ultrasonic Waves

http://dl.acm.org/citation.cfm?doid=3025453.3025989

聞こえる位置を点で指定する超指向性スピーカ。落合さん星さん鈴木一平くんの研究。会社立ち上げてプロダクト作った後に論文投稿という流れも面白い。

Inferring Motion Direction using Commodity Wi-Fi for Interactive Exergames

http://dx.doi.org/10.1145/3025453.3025678

Wi-Fiの電波強度変化でダンレボ(のような動きを検出)するやつ

Digital Mechanical Metamaterials

http://dl.acm.org/citation.cfm?doid=3025453.3025624

3DプリンタなどのFabricationでドアノブのような構造体をつくる研究。半年前のUISTというカンファレンスでも発表してましたが、今回は論理回路をつくれるように発展。

MistForm: Adaptive Shape Changing Fog Screens

http://dx.doi.org/10.1145/3025453.3025608

形状変化するフォグスクリーン

IllumiPaper: Illuminated Interactive Paper

http://dx.doi.org/10.1145/3025453.3025525

電気・光による紙の拡張

FDVT: Data Valuation Tool for Facebook Users

http://dx.doi.org/10.1145/3025453.3025903

FacebookのユーザがFacebook社にいくらの利益をもたらしているか等を可視化

情報処理学会誌の特集「博士課程進学のメリット・デメリット」がオススメ

f:id:yumu19:20170422223716j:plain ※2018年4月より情報処理学会編集委員を務めています。本エントリ執筆時点では編集委員ではありません。(利害関係の明示)

今月号の情報処理学会誌の特集「博士課程進学のメリット・デメリット」を読んだのですが、この特集すごくよかった。

19名の方が博士課程進学のメリット・デメリットについて自由に書いてるのですが、そのうち7名が社会人博士で働きながら博士号を取得した/している方でした。社会人博士に関する情報をここまでまとめて読んだのは初めてで、社会人博士に在学中や進学を検討している人にはぜひ読んでほしいです。

博士号取得者の生存バイアスと、学会誌ということもあり各執筆者の大人な判断でメリットの方がやや強調されている感じはあるので、デメリットの方を少し盛って読むと良いんじゃないかと思います。

他にも、落合陽一さんや、博士取得後に起業したXiborg遠藤謙さん、mplusplusの藤本実さんなど、ほんとに多種多様なキャリアの人が選ばれてて、読み物としても面白いですし、博士やキャリアについて悩んでいる人全員にオススメしたいです。

情報処理学会誌はAmazonでも買えますが、結構高い(¥1,730)ので、大学の図書館などで読むと良いかもしれません。これを機に入会すると毎月届きます。

情報処理 2017年05月号

情報処理 2017年05月号

  • 作者:
  • 出版社/メーカー: 情報処理学会
  • 発売日: 2017/05/01
  • メディア: 雑誌

Mastodonの連合タイムラインって何?「ローカルユーザ」と「リモートユーザ」の違い

f:id:yumu19:20170410125211j:plain

写真は、内容とは全く関係ありませんが、自宅近くの桜です。キレイですね。

さて、またMastodonネタです。「連合タイムライン」が何なのかわかりにくい、というか理解している人がまだあまりいなさそうなので、その解説です。その前に、「インスタンス」が長いので、この記事では

と呼ぶことにします。

ローカルタイムラインは、自鯖のユーザ全員のトゥートが流れるので、わかりやすいと思います。連合タイムラインはなんなんでしょう?管理者同士が連合を組むと思っている方もいるかもしれませんが、そういう機能はありません。連合タイムラインを理解するために、まずローカルユーザとリモートユーザという概念について説明します。

ローカルユーザとリモートユーザ

鯖管理者しか見ることができないのですが、ユーザ一覧画面があり、そこでは「ローカルユーザ」と「リモートユーザ」に分かれています。

f:id:yumu19:20170416232923p:plain

  • ローカルユーザ:自鯖でユーザ登録したユーザ
  • リモートユーザ:ローカルユーザの誰かがリモートフォローしたユーザ

という違いがありますが、どちらにもidがついています。例えば、 https://mastodon.yumulab.org/@yumu というユーザは、

というユーザID(URLの末尾がID)を持っています。このローカルユーザ、リモートユーザの概念がわかれば

  • ローカルタイムライン = ローカルユーザ全員のタイムライン
  • 連合タイムライン = ローカルユーザ全員 + リモートユーザ全員のタイムライン

という、非常にスッキリした形で理解できるとおもいます。

あとこれは憶測ですが、リモートフォローすると他鯖の人のトゥートが自鯖に飛んで来るようになるため、せっかくなのでこのデータを有効活用しようという思想で生まれた機能な気がします。

国交断絶

Pawooの件で話題になったように、インスタンスが連合を拒否(国交断絶)することがありますが、これはドメインブロック機能として用意されていて管理者が指定することができます。

f:id:yumu19:20170416233043p:plain

この機能の動作まで追いきれてませんが、おそらくそのドメインのユーザに対してリモートフォローできなくなり、すでにリモートユーザとして登録の場合はそのユーザが無効か削除になるのだと思います。

Mastodonインスタンス立てた時にメール設定でハマったこと

f:id:yumu19:20170416170003p:plain

Mastodonが流行ってるので、自分でインスタンス(鯖)を立ててみました。Mastodonというのは超ざっくり言うとオープンソースな分散型Twitterみたいなものです。

いまは特に制限を設けてないので、ご自由に登録してください。私のアカウントは https://mastodon.yumulab.org/@yumu です。

インスタンスを立てるのは、この記事の通り作業すればできます。私は Ubuntu 16.04 LTS on Google Compute Engine だったのですが、docker-composeが使える環境であれば基本的な手順は同じです。

構築自体はスムーズに行ったのですが、メール周りで2点ほどハマったので共有します。

Google Compute Engineがポート587を通さない

メール送信のためにSparkPostというサービスを使用していて、SMTP AUTHを利用してポート587宛に送るのですが、Google Compute Engineでは25,465,587はブロックされているのでした。

SparkPostのサポートページにも “Alternately, port 2525 can be used in environments where port 587 is blocked (such as Google Compute Engine).” ってちゃんと書いてました。

SparkPostのメール上限

立ち上げ時にはちゃんと飛んでいたメールが、ある時から突然飛ばなくなりました。原因は、SparkPostのメール送信上限値に達していたからでした。SparkPostは1日あたりメール5,000通送れるはずで、全然上限に達してないはずだけどなんでだろう?と思ったら、この上限値は、送信元メールアドレスに独自ドメインを設定した場合で、SparkPostのドメイン( sparkpostbox.com )を利用して送信した場合にはもっと少なくなるようです(アカウントで最大50通という情報も見かけましたが、何もしてないのに途中で送信できたりしたので、1日の上限値がある気がします)。SparkPostを利用する場合にはきちんと独自ドメインを設定しましょう。 それにしてもこのエラー、SparkPostのダッシュボードに何か表示してほしかった。。。

メール周りのエラーログはSidekiqで

上記のトラシューのためにコンテナの中を見てみたりしてもどこにログが吐かれているのか全然わからなくて作業が全然進まなかったのですが、メール周りのエラーはSidekiqで見ることができました。 Sideqikは非同期処理のジョブを管理してくれるRuby gemで、インスタンス管理者の人は、ブラウザの設定画面から「ユーザ設定」→「Administration」→「Sidekiq」で管理画面を見ることができます。

f:id:yumu19:20170416170905p:plain

さいごに