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

ScalaMatsuri運営ブログ

アジア最大級のScalaカンファレンス「ScalaMatsuri」の運営ブログです。このブログは株式会社はてな様のご協力でお送りしています。

次回チケット割引き!ScalaMatsuri2017のブログを書こう!キャンペーンのお知らせです

こんにちは。ScalaMatsuriスタッフの高橋です。

ScalaMatsuri2017の開催が、ついに今週末2017年2月25日(土)・26日(日)に迫ってまいりました。

http://2017.scalamatsuri.org/

例年、国内外から幅広いテーマのセッションをご応募いただき、国際的なカンファレンスとしてScalaについて様々なトレンドが集まる場となっている ScalaMatsuri。
すでに、来場者数は前回を超え、質・量ともに前回以上の規模で開催する運びとなっております。

さてさて今回のブログは、お得なキャンペーンのお知らせです。

みなさん個人のブログにScalaMatsuri2017の記事を書いていただくと、次回開催時のチケットが割引になるキャンペーンを行います!
一般チケットは3000円引き、学生チケットは2000円引きとなります!

参加方法は簡単。ブログを書いたらこちらのフォームへ必要事項をご入力するだけで参加完了です。

[追記] キャンペーン期間はScalaMatsuri終了後2週間(3/12(日)23:59に締切)です。

この機会にぜひキャンペーンへ、そして次回のScalaMatsuriへご参加ください。

下記、タイムスケジュールのおさらいです。
ブログ案を考えながらMatsuri当日をお待ちください。

http://2017.scalamatsuri.org/#schedule

また、残りわずかではございますが、チケットを販売中でございます。
お誘い合わせの上、奮ってご参加ください。

http://2017.scalamatsuri.org/#tickets

みなさまと会場でお会いできる事をスタッフ一同楽しみにお待ちしております。

ScalaMatsuri 2017年度 カンファレンス当日の動画配信と、サテライト会場募集のお知らせです

こんにちは。ScalaMatsuriスタッフの高橋です。 (@tototoshi さんではありません)

いよいよScalaMatsuriの開催まで1ヶ月を切りました。 みなさんScalaMatsuriは楽しみですか?

・・・・・

ふむふむ。楽しみな方が多いようで安心しました。

ここ最近、Twitterで登壇者の紹介なんかもやっていますので、 そちらも読んでいただきつつ開催当日をお待ちください。 登壇者紹介ツイートはモーメンツにまとまっています。

さて、本日は大切なお知らせが2つあります。

今年もやります、生動画配信!

今年はFRESH!さんにてカンファレンスの生動画配信をやります。   配信ページは下記の通りです。

▼1日目

RoomA/国際交流会議場
RoomB/メディアホール
RoomC/会議室1

▼2日目

RoomA/国際交流会議場
RoomB/メディアホール

配信するのはプログラムのうち、   1日目2/25(土)の国際交流会議場(RoomA),メディアホール(RoomB),会議室1(RoomC)と
2日目2/26(日)の国際交流会議場(RoomA),メディアホール(RoomB)です。

基本的には講演のある全会場配信があります!

2日目のプログラムの中でTBDとなっているスロットはアンカンファレンスの枠で、当日に内容が決定します。
こちらも国際交流会議場(RoomA),メディアホール(RoomB)で行われるものについては配信予定ですのでライブ感をお楽しみ頂けると思います!

ただし、講演者の希望により配信しない講演もいくつかあります。

【配信しない講演】

2月25日 (土)

Room A

  • 17:30 - 18:10 加藤 潤一 チャットワーク社 Scala導入の失敗と成功の歴史

Room C

  • 11:00 - 11:40 Yoshimasa Niwa 新サービスをゼロから開発してローンチするのに大切だった3つのこと

  • 13:30 - 14:10 Hiromichi Kishi ゲームサーバのためのScala/Play

2月26日 (日)

Room B

  • 11:00 - 11:15 中山裕貴 ”私、ScalaMatsuriで転職しました”を振り返る

上記講演を聞きたい方は本会場へお越しください。
チケットはこちらから。残り枚数が少なくなってきているので、ご来場をお悩みの方はお早めに!

また、今年は試験的にインタラクティブQ&Aシステムsli.doを導入します。

こちらは配信を見ながらでも会場内でも使って頂ける、登壇者への質問を書き込める仕組みです。
質問を書き込むことと、他の人が書き込んだ質問に対して投票をすることができます。投票と書くと大げさな感じもしますが、FacebookやTwitterなどの'いいね'の感覚に近いと思います。
sli.doからは、司会者が投票数の多い質問をピックアップして採用します。

配信を見ていて疑問がわいた方、会場内で手を挙げて質問するのには少し勇気が出ない方、色んな方に使ってみて頂きたいなと思っています。

そしてぜひ、フィードバックをもらえると嬉しいです。

サテライト会場をゆるく募集します

「ScalaMatsuriの生配信を大きな画面に投影して、みんなで集まってわいわい見る会」を企画・運営してくれる方々募集ということです。

サテライト会場の場所は日本全国どこでもOK。
会場探しや当日の運営はサテライトをされる方々にお任せして、 ScalaMatsuri準備委員会でPRをお手伝いするというスキームを考えています。

こちらは初の試みなので、やってみたい方は info@scalamatsuri.org へご連絡ください。

ScalaMatsuriが気にはなるけど現地に行くには何かしらのハードルを感じているみなさん。
ご連絡お待ちしております。

ScalaMatsuri 2017年度タイムテーブルの公開と、将軍スポンサー1枠の最後の募集のお知らせ

f:id:oe_uia:20161214045052j:plain

ScalaMatsuri座長の麻植 @OE_uia です。

CFPへのご応募、並びに投票ありがとうございました。

総勢111件のセッション応募 をいただき、CFP投票制+旅費サポートという一大ニュースを引っさげて超高倍率になった昨年度に比肩するだけの応募数となりました。大変有り難いことです。

なお、今回のタイムテーブルは投票結果を出来るだけ参考にしつつも、トレンドの尊重とカテゴリのカバー率を加味して選考しています。

選考委員としてスタッフ有志、及びスタッフ外から @xuwei_k さんをお迎えしました。 ご協力、誠にありがとうございました。

まだ最終的なスピーカーの予定確認中ですので幾つかTBA(To be announced)になっているスロットがありますが、当日までには公開する予定です。 お楽しみに。

今回の記事では、今年度の豪華な1・2日目のカンファレンス枠についてご紹介したいと思います。 なお、2日目のメインパートは昨年度同様、アンカンファレンスとなります。また1日目にホワイトボードを設ける予定ですので、セッションのアイディアをお待ちしています!

(またこの記事は、Scala Advent Calendar 2016の14日目の記事でもあります。)

このタイムテーブルを見てScalaMatsuriに参加したくなったけど1次チケットを買い逃した皆さん、2次チケットを今月中に販売開始しますのでご安心下さい。

また、全てのスポンサープランには招待枠として入場チケットが含まれていますので、ご所属されている企業・組織単位でスポンサーのお申し込みをいただくという手もあります。ぜひ職場でご相談くださればと思います! (なお、お申し込み詳細は本記事末尾にあります)

カンファンレス・タイムテーブル(12/13時点)

得票数1位は昨年度に引き続き @gakuzzzz さんのV2!

今年度も投票最上位者にはA-1の枠を割り当てさせていただきました。 それがなんと、昨年度ScalaMatsuri 2016に引き続き、 @gakuzzzz さんのV2!誠におめでとうございます。

今回のトークは「Readable Scala」です。

ここからは、得票数順不同です。

今年のトレンドはストリーム処理

昨年度はリファクタリング、及びFunctional Programmingが人気を博していましたが、 今年度はAkka Streamsをはじめとしたストリーム処理関連のトークの応募が目立ち、かつ得票数も多めの傾向に有りました。

  • 木村宗太郎さんによる「ストリームデータ処理入門」
  • 角本幸生さん、西村政輝さんによる「DMMのAPI GatewayをAkka StreamsとAkka HTTPで作り込んでみた」
  • Krzysztof Ciesielskiさんによる「Akka Streams による Kafka の Reactive 化」
  • Konrad Malawskiさんによる「ストリーミング・ワールドのためのサバイバル・ガイド」 になります。

入門から実例紹介、そしてReactive Kafkaの作者Akkaコミッタのトークまで揃う豪華でカバレッジの広いラインナップと成りました。

次世代のScala

もうひとつのトレンドは、次世代のScalaとでも言うべき、新コンパイラ、及び新しい実行環境のトークが人気を博しました

  • Sébastien Doeraeneさんによる「Scala.js 1.0.0 への道」
  • 竹添 直樹さんによる「Scala WarriorにおけるScala.jsとタイプセーフなWeb開発」
  • Guillaume Martresさんによる「次世代Scalaコンパイラー Dottyの今」
  • Felix Mulderさんによる「Dotty と新しい Scala 開発エクスペリエンス」

Scala.js作者のSébastienさん及び、Scalaの著名なOSSプロダクトであるGitBucket作者の竹添さんによるScala.jsのトークです。 Scala.js作者による歴史的なマイルストーンやロードマップについての話から、実際にScala.jsを使用したプロダクトを交えたScala.jsの使い方の紹介と、対照的なトークを連続して配置しました。

Sébastienさんについては、実はScala Days NY 2016でお会いしたときに誘って応募してもらったという個人的な経緯もありまして、とても楽しみです。

Guillaumeさん及びFelixさんはお二人共EPFLでOdersky教授とともに次世代ScalaコンパイラDottyを開発している方です。 お二人のトークの人気ぶりと、日本でも話題に登ることの多いDottyの話を日本で(しかも直接開発者から)聞ける機会は他にほぼありえないということを鑑みて、トピックの重複は気にせず2つともタイムテーブルに配置しました。

国内外のScala企業の動向

  • 加藤 潤一さんによる「ChatWorkのScala採用プロダクト “Falcon” リリースまでの失敗と成功の歴史」
  • 角本幸生さん、西村政輝さんによる「DMMのAPI GatewayをAkka StreamsとAkka HTTPで作り込んでみた」
  • Yoshimasa Niwaさんによる「新サービスをゼロから開発してローンチするのに大切だった3つのこと」

日本のScalaエンジニアの関心が高いであろうChatWork社の最新事情について、かとじゅんさんからご紹介いただきます。 またストリーム関連でもご紹介したDMM社のお二方のトークや、Twitter社のNiwaさんによるトークなど、豊富なラインナップでお送りします。

その他にもLagom, Finch、DeepLearning4jなど著名なOSSプロダクトのトークなど、すでに公開されているが紹介しきれないものや、まだ公開されていない興味深いトークが多数あります。 また折を見て紹介できればと思います。

将軍スポンサーの募集締め切り(12/22)のお知らせ

こういった非常に豪華なラインナップを今回実現できたのも、協賛くださる企業・個人の皆様のお陰です。誠にありがとうございます。 12/13現在において

  • 将軍スポンサー 3社
  • 大名スポンサー 8社
  • 旗本スポンサー 5社
  • 侍スポンサー 8社
  • 忍者スポンサー 2名
  • 常設ブース7枠(完売)

にご協賛いただいております。 特に将軍家の株式会社セプテーニ・オリジナル様、マーベリック株式会社様、株式会社サイバーエージェント様、誠にありがとうございます。

さて。 そんな将軍家にまだ1枠だけ空きがあることにお気づきでしょうか?

将軍スポンサーには

  • Webページのfirst viewにロゴ配置
  • 1分間動画を複数回流せるCM枠
  • 常設ブース付き
  • ノベルティグッズへのロゴ掲載
  • Web求人情報掲載
  • 貴社ノベルティをトートバッグへ封入

などの全部のせの特典に加えまして

  • A会場の講演台付近のバックパネルへのロゴ配置
  • 館内装飾用の提灯への社名記載
  • Tシャツへのロゴ記載(NEW!)

などの将軍のみの特別な特典をご用意しております。(各特典の詳細についてはこちらの資料をご覧ください)

会場内でロゴ・社名を見かける回数という意味において、確実に過去最大のブランディング効果があるスポンサー特典です。 (なお、トップの写真の提灯は昨年度作成した「すからまつり」銘の提灯です。細部は異なる可能性がありますが、ご参考まで)

そんな将軍スポンサーですが、将軍だけの特典の発注期限の関係で、12/22(木)23:59 JSTをもって募集を締め切らせていただくことになりました。

この機会にぜひご検討下さい。なお、既に他のプランでお申し込みいただいている方からのグレードアップも承っておりますので、 その場合はsponsor2017 [at] scalamatsuri.org へご連絡下さい。 なお12/22以降も、他のプランの募集は継続します。

お申し込みはこちらからお願いします。

申し込みフォーム

それでは続報にご期待下さい!

投票開始のお知らせとカテゴリ分け無しの投票について

ScalaMatsuri スタッフの @eed3si9n_ja です。翻訳チームということになっていますが、プログラムやメディアなどサブで何でもやってます。

まとめ

tl;dr スタイルでまず要点を初めに書きます。

  • 現在のセッション応募状況を顧みて、カテゴリ枠を取り払った「カテゴリ分け無しの投票」に変更します。この投票は12月1日23時59分JSTをもちまして、終了いたします。
  • 投票結果に関しては純粋に得票順ではなく、上位の人気セッションや、トレンドを推し量るための世論調査としてとらえ、プログラムチームの主観も加味してバランス良くスケジュールを組む。
  • 今年は、ログイン後にセッション一覧画面から投票できるようになります。
  • 既にセッション案を提出した方で、枠の変更の申し出がある場合は数日中に cfp2017@scalamatsuri.org にご連絡ください。

「グローバルな技術カンファレンス」と「日本のコミュニティの交流」の両立

ScalaMatsuri 2017 は、2016年度で大きく進化したカンファレンスを無理なく持続させていく感じで、

  • 日本国内の Scala のコミュニティが交流したり、海外も視野に入れて発表できる場を提供する
  • ユニバーサルアクセスを目指して、言語、ジェンダー、民族などの壁を超えて心地よく参加できる国際的な技術カンファレンスを作る

という大きな目標は変わりません。この目標に向けての具体的なアクションは「グローバルな技術カンファレンス」と「日本のコミュニティの交流」の両立 でも書かれていますが、

  • 行動規範 (code of conduct) の整備およびマナー動画
  • 公開 CFP、旅費サポート、セッション案の翻訳
  • 一般投票によるセッションの選択
  • 発表資料への字幕およびプロによる双方向同時通訳

などが実施されました。これらに関する僕の所感はライフスタイルとしての ScalaMatsuriにまとまっています。

一般投票制の見直し

公開 CFP と投票というアイディアそのものは、nescala から影響を受けて ScalaMatsuri も採用したものでしたが、ScalaMatsuri は複数トラックでセッション数も多く、純粋な投票制とういうのはベストな結果を得られないのではないかと思い始めています。

去年は投票の初の試みということで、日本語枠と英語枠、15分枠、40分枠のカテゴリそれぞれの枠数を事前に固定して、カテゴリごとに投票してもらいました。言語によって 15分枠と 40分枠の偏りがあったため、日本語率と英語率を 1:1 することに気を取られて、人気だった日本語の 15分のトークを取り逃すことになったと思います。

現在執筆時点では 2017年のセッション案は英語40分枠が 43本、日本語40分枠が 16本、英語15分枠が 9本、日本語15分枠が 13本という内訳になっています。これを去年のルールどおりに各言語とも 40分枠は 8つのセッション、15分枠は 3つのセッションと選択するのは最善なのかというのは疑問に思っています。

予め枠数をカテゴリごとに決めてしまうのでは無く、例えば、日本語のセッションでは 40分枠と 15分枠が同じぐらいの応募が来ていることを勘案して、40分枠 6つ、15分枠 8つという構成にすることが可能かもしれません。ここで、判断基準となるのは「参加者の皆さんが当日観たいトークは何か」ではないでしょうか。

カテゴリ分け無しの投票

「参加者の皆さんが当日観たいトークは何か」を調査するために ScalaMatsuri 2017 で採用するのはカテゴリ分け無しの投票です。つまり、英語/日本語、40分/15分といったカテゴリを取り払って全面的に観たいものを選んでいただく投票方式です。同時通訳が今年うまくいったことで、言語の障壁についてはそこまで神経質にならなくても良くなったのもこのステップに踏み切る理由となりました。

セッション一覧を前年度より流用したために、「投票は以下のカテゴリ別で行われます」と書かれた「投票について」というセクションからルールを変更することになるので、既にセッション案を提出した方で、枠の変更などの申し出がある場合は数日中に cfp2017@scalamatsuri.org にご連絡ください。

世論調査という位置付け

もう一点事前に明確にしておきたいのは、本年度の投票は世論調査という位置付けであるということです。

去年何百人もの人が 22本のセッションを選ぶ過程で観測されたのは、結果が似たようなトピックのクラスタを形成したということです。投票している人は事前に打ち合わせをして「fp 入門のトークはこれにしよう」と決めているわけではないので似た内容のトークが複数選ばれるのはある意味自然な結果と言えるでしょう。

もう一つ結果を見て気付いたのは、6本か 8本ぐらい他よりも明らかに多くの票を得たセッションがあったけど、あとは 1, 2票の差で緩やかな曲線を描いていることです。

f:id:mocolog:20161125123336p:plain

つまり、明らかな「これは皆が観たいと思っている」という上位クラスタのセッションが少数あって、残りはそれぞれバラけた結果となりました。これらを総合して考えると、数学的に得票順に上から n個のトークを選ぶのではなく、トピックやトレンドを推し量る世論調査的に投票結果を解析して、ある程度プログラムチームの主観的な観点を加えた上でバランス良く講演者を選択したほうがより楽しんでもらえるカンファレンスになると思っています。

投票プログラム

去年は時間が無くてできなかったことの一つに投票プログラムを独自で作成するということがありました。今年は Tech to Value 社に投票プログラムを作成していただきました。ログイン後に、セッション一覧画面から投票できるようになりました。

f:id:mocolog:20161125123612p:plain

☆のアイコンをクリックすると投票することができます。 セッション数が多いので、まずは気になるセッションをいくつかブックマークしたいという場合はピン (画鋲) のアイコンを使ってください。

投票方法について

この投票はチケット購入者、スポンサー企業並びに運営スタッフによって行われます。

本ブログでは、主にチケット購入者を対象としてその投票方法について解説いたします。

1.) チケット購入時に送付されたチェックインコードを確認します。 Doorkeeper経由でScalaMatsuri 2017から送られてきているメールをご確認ください。

f:id:mocolog:20161125123652p:plain

そちらのチェックインコード(あなたのQRコード下の6桁の番号です。上画像参照)とsign in の際に使用するGoogle or Twitter or Githubのアカウントをユニークなキーとして、後日投票をverifyしますので、お間違えのないようお願いします。

投票に参加されたい方は下記からチケットをご購入いただけます。 一般チケット残りわずかです。 https://scalaconfjp.doorkeeper.jp/events/53530

2.) 応募セッション一覧ページの右上にある'Sign-in'ボタンを押してGoogle or Twitter or GithubのアカウントでSign inしてください。 (Authorize applicationボタンが出てきますので、押してください。)

Sign in時にDoorkeeperのチェックインコードを入力してください。

これで準備完了です。 あなたが聞きたいセッションを選んください。 ピン止めアイコンをクリックするとブックマークができ、☆アイコンをクリックすると投票することができます。

投票できるセッションの数はお一人さま10票です。 持ち票の残数は応募セッション一覧ページの一番上に表示されています。

すでに投票したセッション、ピン止めでブックマークしたセッションだけを表示させることもできます。

f:id:mocolog:20161125123732p:plain

この投票は12月1日23時59分JSTをもちまして、終了いたします。 投票完了時刻を過ぎたものは無効となりますので、余裕を持ってご参加ください。

3.) 投票結果の発表をワクワクしながらお待ちください。

投票関連のFAQ

Q.投票結果はどこで発表されるの?

A.ScalaMatsuri Webサイト上にて告知いたします。

TwitterFacebookページ上でも告知しますので、これを機に是非フォロー|いいね お願いします。

Q.万が一落選した場合は、他に話すチャンスはないの?

A.ScalaMatsuri 2017では、2日目の2/26にアンカンファレンスを開催するのに伴いまして、この当日にトークを募集いたします。 アンカンファレンスについては、以下の記事をご覧ください。

番外編 Scala World 2015レポート その2 アンカンファレンス編 - ScalaMatsuri運営ブログ

こちらでは1日目カンファレンスパートより、多くセッション枠をご用意できる見込みとなっています。 残念ながら今回の投票で落選された方は、ぜひアンカンファレンスにてお話しください。

では、参加者の皆さんは奮ってご投票ください。

ScalaMatsuri で、最近賢くなったというウワサの Google 翻訳を使ってみた

こんにちは。ScalaMatsuri スタッフの岡本 (@okapies) です。今年の ScalaMatsuri 2016 に参加して下さった皆さん、ありがとうございました。皆さんのご協力のおかげで、様々な分野から数々の興味深いセッションをホストできただけなく、国内外の Scala ファン同士の活発な交流を実現できたと思います。

そして今、ScalaMatsuri 準備委員会は、次回となる来年2月25~26日の ScalaMatsuri 2017 の開催に向けて準備を進めているところです。現在、ScalaMatsuri では参加者とセッションの募集を行っています!

  • 参加者募集: Doorkeeper で参加チケットの購入が行えます。申し込みの締め切り日は12月7日まで(学生チケットは12月21日まで)ですが、予定の枠数が埋まり次第締め切りとなりますので、この機会をお見逃しなく!
  • セッション募集: 日本各地や国内外から数多くの Scala ファンが集まる ScalaMatsuri であなたの話を聞かせてくれませんか? すでに多数のセッションの応募を頂いていますが、日本語セッション枠の応募がまだ少ないため、当選のチャンスも高いです。また、必ずしも直接 Scala を取り上げた内容でなくても構いません。応募はこちらから。締め切りは 11月20日24:00 JST までなのでお急ぎを!

翻訳の人手が足りない!

さて、私は準備委員会で翻訳チームのリーダーを仰せつかっています。翻訳チームは、国際カンファレンスを目指す ScalaMatsuri において、日本語話者と非日本語話者のコミュニケーションを円滑に進めることを目的として、ウェブサイトやアナウンス、発表資料の翻訳、当日の同時通訳体制の手配、来日した参加者のサポートなどを担っています。

お気付きの方も多いと思いますが、応募されたセッションの概要はすべて日英双方に翻訳した上で掲載しています。これは、セッション応募終了後に行われる投票の際に、参加者の皆さんに言語の垣根なく純粋に興味のあるセッションに投票して頂けるようにするためです。セッションの同時通訳も、同様の趣旨で行っています。

しかし、これがなかなか大変な作業です。準備委員会では、英語ができるメンバーを中心に GitHub 上で翻訳作業を分担して進めていますが、時期によっては純粋に人手を要する場面も多く、より多くのメンバーに手を貸してもらえる体制を作ることが課題になっています。

救世主 Google 先生?

そんなこんなで苦慮していたところ、Google 先生の翻訳精度が劇的に向上したというニュースが飛び込んできたわけです。ひらめく、私。

これ、使えるんじゃね?

どういうことか。

前述の通り、翻訳作業ができる人手を増やすのはチームの重要課題です。しかし、私を含めてそこまで英語が流暢でない人間にとっては、まず文章全体の内容を把握したり、一通り翻訳文を仕上げるところまで持っていくのが一苦労なわけです。結果、目の前の翻訳タスクを取るのに少なからず気合と勇気を要するのが常であり、なかなか新たなメンバーに参加してもらえる体制を作れずにいました。

もし、機械翻訳がある程度のところまで訳してくれるなら、そうした精神的なハードルを下げられるのではないかと思ったわけです。

というわけでチーム内で提案したところ、さっそく試してもらえました。

今回、翻訳したのは、Silvia Pina さんの "Beauty and/or elegance in Functional Programming" です。

原文

Beauty is a combination of pleasing traits, and is not exclusive to art, as it applies to disciplines like mathematics. Debates about beauty / code elegance may be implicit but are at the heart of many concerns of modern software development, and contribute positively to quality metrics. Functional programming, coupled with Category Theory, can represent a plethora of well-defined patterns used to cut through the boilerplate and emphasize the purpose of code. We will explore how we use functional programming to achieve beauty in code, and how that translates to high quality software projects.

Google 先生

美は数学のような学問分野に適用されるので、喜ばしい特性の組み合わせであり、芸術に独占的ではありません。 美しさ/コードの優雅さに関する議論は、暗黙的であるかもしれないが、現代のソフトウェア開発の多くの心配であり、品質測定基準に積極的に貢献する。 カテゴリ理論と相まって、関数型プログラミングは、定型文を切り抜き、コードの目的を強調するために使用される明確に定義された多数のパターンを表現することができます。 我々は、コードの美しさを達成するために関数型プログラミングをどのように使うのか、それが高品質のソフトウェアプロジェクトにどのように変換するのかを探る。

さて、皆さんはどう思われたでしょうか?

まず、文意を素早く把握するのに十分なレベルの出力は得られているという印象です。英語が流暢でないメンバーでも作業に参加しやすい環境を作りたい、という目的には役立ちそうです。

とはいえ、訳文の自然さや、特に難しい文の翻訳の品質にはまだ課題があります。例えば、この訳文をレビューした米国生活の長いメンバーからは「一文目の "pleasing" や "as" の意味がうまく取れていない」という意見が出ました。よく見ると、「何となく文意は取れるけど微妙に何を言っているのか分からない」文章になってしまっています。

アブストラクトの翻訳は、この後のセッション投票の成否を左右する重要な要素なので、このレベルの品質だとレビューを通さずそのまま掲載するのは難しそうです。ちなみに、実際にウェブサイトに掲載した翻訳文は以下の通りです。さきほどの機械翻訳と比較してみてください:

美しさとは感性に訴えかける特性の組み合わせであり、芸術に限らず数学のような分野にも適用できる。日常的に行われる美しさやコードの手際の良さに関する議論は、モダンなソフトウェア開発における多くの懸念事項に関わってくる課題であり、それはコード品質の客観的評価基準にもつながってくるトピックだ。関数型プログラミングと圏論を組み合わせることで、多くの正確に定義されたパターンを表現することができ、紋切型の文を取り除いて、実際のコードの目的を強調することができる。このセッションでは、関数型プログラミングを用いてコードをいかに美しくできるか、そしてそれがどう高品質なソフトウェアプロジェクトにつながってくるのかをみていく。

日英翻訳の使い方

もう一つ、今度は日英翻訳を試してみましょう。今度のお題は、中村学さんの "Readable Scala" です。

原文

しばしば Scala のコードは読みにくいと言われることがあります。多くの場合、言語機能を意図とは異なった形で使用しているためであったり、行き過ぎた抽象化によってコードの目的が直接表現されていない事に起因しているように見受けられます。Scala の言語機能は、コードを読みにくくするためではなく、読みやすくするために熟慮されたものです。言語機能の動機を正しく理解し、より読みやすい Scala コードを記述するための指針を示します。

Google 先生

Occasionally it is said that Scala's code is hard to read. In many cases, it seems that it is due to the fact that the language function is used in a form different from the intention, or because the purpose of the code is not expressed directly by excessive abstraction. The language function of Scala is not intended to make the code difficult to read, but it was contemplated to make it easier to read. I understand the motivation of the language function correctly and show the guidelines for describing the Scala code which is easier to read.

そこそこ意味が取れる文は出力できています。しかし、これでは自然な英文とは言い難く、大幅な手直しが必要でしょう。以下が、実際に掲載した翻訳文です:

It's often said that Scala code is difficult to read. In many cases, this is caused by irregular use of language features beyond their original intent or by excessive abstraction that no longer expresses the purpose of the code. The language features of Scala were well thought out to make the code more readable, not less. In this session, we will first solidify our understanding of the motives behind the language features, then propose guidelines to write more readable Scala code.

ただ、いろいろと実験してみたところ、語順を入れ替えたり省略している主語を明確にするなど、いわゆる「翻訳調」の文章に修正することで品質を改善できるかもしれません。この辺りは、まだ研究の余地がありそうです。

書き直した原文

Scala のコードは、しばしば読みにくいと言われることがあります。それは、多くの場合、Scala 言語の機能を元の意図とは異なった形で使っていることや、行き過ぎた抽象化によってコードの目的を直接表現できていないことに起因しています。Scala 言語の機能は、コードを読みにくくするためではなく、読みやすくするために熟慮して設計されています。このセッションでは、言語機能の動機を正しく理解し、より読みやすい Scala コードを記述するための指針を示します。

Google 先生

Scala's code is often said to be hard to read. In many cases, it is caused by using Scala language functions differently from the original intention, and not being able to express the purpose of the code directly by excessive abstraction. The function of the Scala language is carefully designed to make it easier to read, not to make the code less readable. In this session, we will give you guidelines to correctly understand the motivation of the language function and describe the more readable Scala code.

新しい Google 翻訳は「使える」か?

翻訳する内容や用途にもよると思いますが、少なくとも ScalaMatsuri で必要とされるような正式なドキュメントでそのままの形で使うには、まだ品質に課題があると感じます。しかし、例えば多少の英語スキルがある人が、読み書きの補助として使う用途では十分に可能性があるのではないでしょうか。

また、我々のような翻訳業務以外でも、例えば英語学習者にとってもメリットがありそうです。初学者にとって、英語に取り組むことはまとまった集中力を必要とするタスクであり、そのせいで数をこなせずなかなか上達しない…という悪循環はありがちです。うまく使えば、数をこなす上でのハードルを下げることができるのではないでしょうか。

ただ、これまでと違い、たとえ Google 先生が文の意味を取り損なっていてもそこそこ「読める」翻訳が出力されるので、読み手が誤った読み方に誘導される危険性はありそうです。使う際には、原文と照らし合わせながら読むのが安全でしょう。そのあたりは、今後の翻訳品質の改善を待つ必要がありそうです。

ScalaMatsuri では、これまで Scala コミュニティの中の言語の垣根を取り払うことを目標として、人的にも金銭的にも少なからぬコストを投じてきました。もし、技術の進歩によってそのような壁を消し去ることができれば、コミュニティの成熟にきっと新たな展開が訪れるだろうと思います。機械翻訳技術のさらなるイノベーションに期待したいですね。

セッションが決定しました!

こんにちは。ScalaMatsuri スタッフの河内です。

ScalaMatsuri 投票に参加していただきありがとうございました。 皆様の投票結果を参考にしてセッションが決定しました*1

f:id:tkawachi:20151117230101p:plain

今回の ScalaMatsuri は基調講演は設けていません。 そのため、得票数が一番多いセッションを一番良い場所においてタイムスケジュールを作りました。 栄えある得票数一位に輝いたのは… 中村 学 (がくぞ) さんによる Refactoring in Scala でした!

全てのセッションのタイムスケジュールはScalaMatsuri のサイト上で公開していますのでご確認下さい。 15分セッションはランチの後にまとめて配置しました。 また今回非常に多くのご応募をいただきましたので、2日目の一部にセッション枠を拡大しました。

scalamatsuri.org

あなたの投票したセッションは入っていましたか? 当日が待ち遠しいですね!

前回と比較すると英語セッションの割合を増やしています。 公募時に予定していた通り、日本語と英語が全体を通じて1:1の割合となっています。 3会場ありますが、最も席数の多いメインの会場(国際交流会議場 400席)も日本語と英語が3セッションずつです。 メディアホール(100席)は全セッション英語、会議室1 (100席)は全セッション日本語となっています。

え、英語セッション?聞き取れるか不安だなあ…と思った方はご安心ください。 英語セッションが行われる会場では同時通訳が付きます。

ここでひとつ大事なお願いがあります。 同時通訳の会場では耳につける形のレシーバをお渡しするのですが、紛失すると結構高いんです。 回収させていただきますので、間違って持って帰らないようにご注意ください。

2日目にアンカンファレンス

2日目(1月31日)にアンカンファレンス (unconference) を開催します。 ScalaMatsuri では昨年に続き2回目の開催ですが、日本ではまだマイナーだと思いますので、少し説明します。

アンカンファレンスは「参加者が創っていく」スタイルのカンファレンスです。 当日に話したいアイデアを募集し、その場でテーマを決めます。 その後、興味のあるテーマごとに自由に分かれて、少人数のグループでセッションを進めていきます。 積極的に参加することで本当に興味のあるテーマに巡り会えるのがアンカンファレンスの魅力です。

セッションの形式は特に定められていません。 参考までに、昨年のアンカンファレンスでは次のような形式がありました。

  • 講演 (グループの中で話せる人が講演者になって話す)
  • 座談会 (テーマに沿って数人でトークする)
  • QA/Feedback (ライブラリ作者などが質問やフィードバックを受ける)
  • ライブコーディング (その場でコーディングする)
  • コードクリニック (参加者の書いたプログラムを識者がライブでレビューする)

どの形式のセッションも盛り上がりましたが、中でもコードクリニックは Martin Odersky 先生にレビューしていただいたこともあり、大変な盛り上がりでした。 ノートパソコンを持っていたほうが楽しめる形式もありますので、お持ちの方はご持参ください。

テーマはScalaに関係する内容であればなんでもOKです。 投票で惜しくも当選を逃したテーマも是非アンカンファレンスに応募していただければ幸いです。 当日までに聞きたいテーマや話したいテーマについて思いを巡らせておくと、より楽しめると思います。

当日朝にセッションを決めますので、2日目は全員朝からご参加していただければと思います。 その代わり、というわけではありませんが、朝食を用意する予定です。

今年は昨年より会場の部屋数が増えたので、より多くのセッションを開催することができます。 つまり、より一人ひとりにマッチしたセッションを開きやすくなっていると言えます。 気軽にアイデア出しに参加していただければ思っています。

アンカンファレンスを楽しむ秘訣は積極的に参加することです。 聞きたいテーマを表明する、話したいテーマを表明する、セッション内で発言する、参加中のセッションが合わないと思ったら部屋を移動する、などの積極的な行動を心がけていただき、お楽しみいただければ幸いです。

*1:一部はまだ講演者との調整中です

セッション募集終了と、投票開始のお知らせ

photo by Just Us 3

こんにちは、スタッフの@OE_uiaです。

10/14をもちましてセッション募集が終了しまして、最終的に合計117候補とScalaMatsuri史上最高数のご応募をいただきました。本当にありがとうございます!

どれも魅力的なセッションで全部聞きたいのですが、前回の記事でご説明した通り ScalaMatsuri 2016では参加者の投票により、ご応募の中からスピーカーを決定いたします。

「グローバルな技術カンファレンス」と「日本のコミュニティの交流」の両立 - ScalaMatsuri運営ブログ

この投票でScalaMatsuri 2016のカンファレンス(1日目)の全セッションが決まります。すなわち、この投票でカンファレンスがあなたにとって充実した楽しい一日目になるか、ちょっと期待していたのと違ったものになるかも決まります。

ぜひ応募セッション一覧を一つ一つ見てみてください。興味のあるタグでフィルタリングすると見やすくなるかもしれません。

TwitterやGitHubアカウントのリンクも、応募者について知るために活用してください。ときには公式GitterチャンネルやTwitter上で他の参加者と議論すると、思わぬ発見があるかもしれません。

あなたが本当に聞きたいセッションを選んでくださることを期待しています。その方がずっとScalaMatsuriを楽しんでいただけることと思います。

セッション候補の投票について

この投票はチケット購入者、スポンサー企業並びに運営スタッフによって行われます。

本ブログでは、主にチケット購入者を対象としてその投票方法について解説いたします。

1.) チケット購入時に使用した名前、メールアドレスと、送付されたチケットのチェックインコードを確認します。

Doorkeeper経由でScalaMatsuri 2016から送られてきているメールをご確認ください。

f:id:oe_uia:20151018214926p:plain

そちらのチェックインコード(あなたのQRコード下の6桁の番号です。上画像参照)と名前、メールアドレスをユニークなキーとして、後日投票をverifyしますので、お間違えのないようお願いします。

余談ですが、もしまだ購入してなかったけど投票に参加したい!という方は、忍者スポンサーになるという方法もあります。

少し一般チケットよりお値段はお高めですが、Webサイトにロゴが掲載されたり、忍者を名乗れるメリットがあったりしますので、もしよろしければ是非。

scalamatsuri.org

2.) こちらのフォームにチケット購入時に使用したメールアドレスをご入力の上、あなたが聞きたいセッションを選んでください。

なお、各トークの末尾にある+は難易度を表記しており、+:初心者向け、++:中級者向け、+++:上級者向け にそれぞれ対応しています。

ScalaMatsuri 2016 セッション投票

各セッション候補の概要はこちらです。各トークにつけられているタグを利用して、フィルターしてみることもできます。

応募セッション一覧 - ScalaMatsuri 2016

なお投票できるセッションの数は、カテゴリごとに異なります。

  • 日本語40分枠 ... 27候補中から、7セッション
  • 日本語15分枠 ... 30候補中から、8セッション
  • 英語40分枠 ... 48候補中から、12セッション
  • 英語15分枠 ... 12候補中から3セッション

この投票は10月30日23時59分JSTをもちまして、終了いたします。 投票完了時刻を過ぎたものは無効となりますので、余裕を持ってご参加ください。

3.) 投票期間終了をワクワクしながらお待ちください。

投票関連のFAQ

Q.投票結果はどこで発表されるの?

A.ScalaMatsuri Webサイト上にて告知いたします。

Twitter(@scala_jp)やFacebookページ(ScalaMatsuri)上でも告知しますので、これを機に是非フォロー|いいね お願いします。

Q.なんで投票できるセッション数が言語ごとに違うの?

A.セッションの各会場への割り当てを決めるために、日英セッション間で人気度の比較をしやすくするためです。

人気があるセッションは当然大入りが予想されますので、大きな会場を優先的に割り当てる必要が有りますが、日英で投票枠が異なるため簡単には比較できません。

そこで一票の格差をできるだけ小さくし、純粋に獲得票数で比較しやすくするため、各投票枠ごとの競争倍率に合わせて投票可能数を変えています。

なお最終的な当選数は、日英がほぼ同数となるように選出する予定です。

Q.万が一落選した場合は、他に話すチャンスはないの?

A.ScalaMatsuri 2016では、2日目の1/31にアンカンファレンスを開催するのに伴いまして、この当日にトークを募集いたします。 アンカンファレンスについては、以下の記事をご覧ください。

番外編 Scala World 2015レポート その2 アンカンファレンス編 - ScalaMatsuri運営ブログ

こちらでは1日目カンファレンスパートより、多くセッション枠をご用意できる見込みとなっています。 残念ながら今回の投票で落選された方は、ぜひアンカンファレンスにてお話しください。

Gitterチャネルの開設

また投票開始に合わせまして、Gitterチャネルを開設しました!

直近では投票に関する質問や相談に、開催が近づいてきましたらイベント前後の飲み会などの連絡など、参加者同士の交流にぜひ活用してください。

ちなみにこちらの取り組みは、本ブログでも取り上げたScala Worldインスパイヤです。

日本語チャネル scalamatsuri/scalamatsuri-ja

英語チャネル scalamatsuri/scalamatsuri-en

投票にも楽しんで参加していただけたら嬉しく思います。 それでは。