読者です 読者をやめる 読者になる 読者になる

yumulog | 社会人博士の日記

はてなブログに引っ越しました / 石川県に引っ越しました

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

f:id:yumu19:20170422223716j:plain

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

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

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

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

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

情報処理 2017年05月号

情報処理 2017年05月号

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

さいごに

CIVIC TECH FORUM 2017「社会インフラとなったオープンソースコミュニティに学ぶコミュニティ運営のコツ」に登壇しました #civictechjp

f:id:yumu19:20170326185410j:plain

2017年3月25日(土)にNagatacho GRIDで開催されたCIVIC TECH FORUM 2017のパネルディスカッション「社会インフラとなったオープンソースコミュニティに学ぶコミュニティ運営のコツ」に登壇しました。登壇者は

の3名です。

セッションに関するTogetterはこちら

セッションの様子はYou Tubeアーカイブされています。(1:20:45〜2:15:45)

グラレコ(グラフィックレコード)での記録もして頂きました。

「メンバーの流動性」「運営資金」「コミュニティの成果」などのトピックについて議論しました。主に「コミュニティ参加者のモチベーション」が軸になって話が展開されていったように思います。

また、セッションでは触れませんでしたが(終わった後に思い出した)、オープンソースコミュニティやコミュニティ運営について知りたい方は、以下の2冊の本がとてもオススメです。

アート・オブ・コミュニティ ―「貢献したい気持ち」を繋げて成果を導くには (THEORY/IN/PRACTICE)

アート・オブ・コミュニティ ―「貢献したい気持ち」を繋げて成果を導くには (THEORY/IN/PRACTICE)

ニコニコ学会βのつくりかた―共創するイベントから未来のコミュニティへ

ニコニコ学会βのつくりかた―共創するイベントから未来のコミュニティへ

ここ数年、コミュニティ運営についていろいろと考えることが多く、運営についてのディスカッションをやりたいと思っていたので、今回お声がけいただいてとても嬉しかったです。1時間のセッションでしたが、このメンバーならあと2〜3時間は語っていられるようなセッションでした。

福島さん、法林さん、コーディネータのまなみん、スタッフの皆さん、来場者の皆さん、ありがとうございました!