JJUG CCC 2019 Springの記録

5月18日に開催されたJJUG CCC 2019にスタッフとして参加&セッションで喋ってきました。

これまでで最多かそれに近い、1,200人以上が参加する巨大イベントになりました。熱気がすごかった。

CCCがでっかくなったということで、今回の総会では、CCCの運営を専門であつかう委員会の設置が提案され、可決されました。

以下、当日自分がやったことです。

末尾呼び出し最適化についてしゃべった

一週間前に急遽しゃべることになったので、ある程度わかっていて、すぐにでも準備できる題材にしました。にもかかわらず、自分にとっては当該領域についての理解を深める結果になったと思います。

人にわかってもらうために話の筋道を立てる際の頭の使い方は、設計や実装のときの頭の使い方とは異なるので、違ったふうに物事をとらえられることがよいのかしら。

満足度ランキングで暫定トップに立った記録。一瞬で陥落しました。


スタッフとして

午前中は橋本さんに登壇資料をレビューしてもらっていたのでサボリ気味。

ほかは主に、入口付近でぼーっと立っていました。ぼーっとしていると、なんだかんだ仕事があるものでした。

あとはイベント保育の受け入れと、物品の受け取り・返送と、小物の買い出し。

祝賀に水を差す、ということ: 「終わりにしよう天皇制 #反天WEEK 」連続行動

4月27日から5月1日にかけての「終わりにしよう天皇制!反天WEEK」連続行動のうち、うしろの4日間に参加しました。

4月28日 沖縄デー集会

天野恵一さんの講演「アキヒト天皇と沖縄」と質疑応答。

裕仁は「沖縄メッセージ」によって沖縄を米国に売り渡し、復帰後も死ぬまでこわくて沖縄に足を踏み入れられなかった。息子の明仁は、皇太子時代に沖縄をはじめて訪れた際、強烈な抗議運動に直面した。以降明仁にとって、皇太子の時期から天皇在位期を通じて、沖縄を慰撫し、国民共同体に統合することが主要課題のひとつであった。というのが主題。

戦後日本の左翼は長い間、象徴天皇制に真正面から対峙してこなかった。せいぜい、前近代の残滓である絶対主義天皇制のさらに残滓、くらいにとらえていた。奥崎謙三のような突発的な存在は、新旧の左翼の主流に対して特にひびくものではなかった。象徴天皇制がようやくまともに問題化されるのは、裕仁→明仁の代替わりが近づいてからだ。というのが副主題。

大和の人間であり、東京に住んでいる私は、沖縄に対して構造的に侵略者です。そうでありながら、東京にいて沖縄における天皇制を云々するというのは、非常に忸怩たるものがあります。講演者や聴衆からも同じような声が挙がりました。まずは、その忸怩たるものの中身を引き受けなきゃいけないのだろうと思います。

4月29日 反「昭和の日」立川デモ

立川には「昭和記念公園」、および園内に「昭和天皇記念館」があります。ということで、反「昭和の日」の主要舞台となるわけです。

交代制でトラメガを持ちました。「差別の象徴、天皇制反対!」みたいなコールがあったのですが、あまり好きじゃないな。天皇制自体が差別そのものなのだから、「象徴」は余計です。切っ先が鈍る気がします。

4月30日 退位で終わろう天皇制!新宿大アピール

退位式典に対抗。新宿駅東口のアルタ前広場を占拠してアピール。開始予定時刻の4時半ちょうどに着いたら、すでにアピールがはじまっていて、大騒動でした。

なんとか広場にねじ入ってからは、雨に降られながら駅側で横断幕をかかげていました。アルタ側で行われていたメインのアピールの様子は、人がごった返していたこともあってよく分からず。

真正面に陣取った右翼の口撃を1時間浴びつづけたのと、思いっきり突入の標的になっていたのもあって、なかなか精神に来ました。自分(たち)に対して「ぶち殺せ!」の声が浴びせられるのを平気で耐えられるほどには図太くできていません。あまりひどいときには「民族差別やめろ!」とか言い返していたのですが、それも怖いし、かと言って放っておける種類のものではないし、こういうのどうすればいいのか。

5月1日 新天皇いらない銀座デモ

即位式典に対抗して、新橋から銀座にかけてデモ。予想もしなかったすごい人数。500人くらい参加したようです。

ここでもトラメガ持ちました。雨でカンペがぐしゃぐしゃになってまともに読めないので、仕方なく簡単なのを拾ってコールしました。結果的に勢いがあってよかったのですが、気合が入りすぎてヘトヘトになりました。「世襲はおかしい!」は当たり前だけど本質的でよかった。

祝賀に水を差す、ということ

この一ヶ月間、日本で暮らす人は、代替わりについてほんとうに無関心でいることはできなかったのではないかと思います。ガチの天皇主義者が少数、なんとなく「祝賀ムード」に乗っかる人が大多数、無関心を装って忌避する人が少数、自覚的に抗議の声を上げる人はごくごく少数、といったところでしょうか。

「現実」の力関係からして、この数日間で天皇制をひっくり返す、などということはまともには考えられません。私たちにできることは、騒ぎを起こして嫌な気分にさせる、「祝賀ムード」に水を差す、くらいのことだったでしょう。

とはいえ、祝賀に水を差す、ということは、とりわけ象徴天皇制に対して本質的な対抗方法であり得る、とも思っています。象徴天皇制は「国民の総意」というフィクションに大いに依拠しており、こぞって歓迎、こぞって祝賀、という筋立てを常に必要としているからです。だからこそ、天皇制に対する異議申し立ては直接的な暴力による圧殺の標的になるわけです。

また、長期的に考えれば、私達が天皇制を廃止できる、ということについては楽観視しています。なんと言っても自由・平等の諸原則と根本的に矛盾するものであるし、制度設計から言っても、血筋を絶やさない、ということは無理なく実現できるようなものではないからです。人民が絶えることはないけど、王朝は終わったらそれで終わりだしね。

We shall overcome! 早いに越したことはないけれど。

月夜釜合戦

久しぶりのユーロスペースで、釜ヶ崎とその周辺を舞台としたドタバタ喜劇『月夜釜合戦』を見ました。前日の土曜日、渋谷美竹公園の共同炊事にスタッフの方々が大釜持参で参加されたので、ほないたろ、てなもんです。

楽しくて分かりやすくて綺麗事じゃなくて、とても良かった。自分は釜ヶ崎に行ったことはないけれど、フィクションでしか捉えられない真実を撮ったんだと思いました。とりわけおっちゃん二人組の演技が素晴らしい。

主人公格の仁吉はクストリッツァ映画に出てきそうな造形で、また『アンダーグラウンド』の本歌取りみたいなくだりもあるのだけど、『釜』は『アンダーグラウンド』と対照的に、ドタバタも暴動もおっちゃんたちも、どこかへ消えてしまって終わります。釜ヶ崎という土地に深くコミットしているスタッフたちが、ストーリーから遊離したこのシーンを最後に持ってきたということについて、昨日からうじうじ考えています。

2/27 JJUGナイトセミナー「JVM言語を作ろう! GraalVMで遊ぼう!」に登壇しました

2月27日(水)に開催したJJUGナイトセミナー「JVM言語を作ろう! GraalVMで遊ぼう!」に登壇しました。セミナーの様子についてはmike-neckさんの記事をご参考ください。無茶苦茶に楽しいイベントでした。

私が話したスライドは下記です。

だいたい次のような考えで内容を決めて行きました。

  • Graal / Truffleの話をいきなり聞いてもなんのこっちゃ分からなかろう。
  • Kink言語処理系の開発者として、Graal / Truffleに期待すること、という切り口なら導入しやすいのではないか。
  • そのためには、KinkがJVMとのマッピングに苦労するところ(オブジェクトシステム、限定継続)を話さなきゃならない。
  • つまり、JVMのオブジェクトシステムと呼び出しの実装も話題にのせる。
  • GraalはJITなので、JVMのそれら抽象が、どのような低レベルの構成物に還元されるのか見る必要がある。
  • ということは、機械語プログラムの実行と、バイトコードインタプリタによる実行を対比することになる。
  • バイトコードインタプリタはCPUをシミュレートしているんだ、という話をするには当然CPUの構成の話も要る。
  • そもそもバイトコードインタプリタのような評価器と、コンパイラの関係ってどうなの、というところについてありがちな誤解を避けねば。

これだけの分量を50分で話すのは本来無茶なのですが、そこは気合と根性で、息継ぎせずまくしたてることで乗り切りました。

私が聴きたかったGraal/Truffleの話は、じゅくちょーさんときしださんからお話いただきました。

TruffleがASTをGraalに引き渡す際、もともとのコード、アノテーションプロセッシング後のコードがどのような変換を受けるのか、というところで追いつけなくなってしまいます。SimpleLanguage処理系の実装と動きを追いかけるのがいいのかな。

懇親会では @noko_k さんから、Karaffe言語処理系の実装についてお聞きしました。Kink(典型的な動的言語)とKaraffe(典型的な静的型付け言語)はまるで性質が異なるのですが、似たような感覚を持っていることが分かって、興趣がありました。たとえば、

  • 実装は一発ではうまく行かない。前回の反省を踏まえて処理系を作り直すと、違うところでつまづいてにっちもさっちもいかなくなる。
  • どこかのタイミングで、自分よりも処理系のほうが賢くなる。
  • ホスト環境の仕組みとのマッピングは難しい。マッピングレイヤがきれいに切れないと、早晩破綻して手に負えなくなる。

2/24 天皇在位30年式典に反対する銀座デモに参加しました

グダグダしてたら遅刻して、集会会場はすでにもぬけの殻。外をウロウロしていたら、右翼の街宣が「今からここを通る非国民共がうんぬんかんぬん」と言っていたので、なるほどここかと思ってデモに飛び入りしました。シュプレヒコールが原則的で、また勢いがあって良かった。

あとで他の方と話したことについてパラフレーズ:

天皇制の体系は、他の伝統的支配の体制と同じように、その正統性に異議を唱えるものが存在しない(「日本国民の総意に基づく」)というフィクションに拠って成立する。したがって、仮に天皇制廃止が今日明日の日程に乗らないとしても、公然と異議を唱えること自体が、単なるアピールにとどまらない意義を持つ。

その式典にて:

  • 明仁「私がこれまで果たすべき務めを果たしてこられたのは、その統合の象徴であることに、誇りと喜びを持つことのできるこの国の人々の存在と、過去から今に至る長い年月に、日本人がつくり上げてきた、この国の持つ民度のお陰でした」
  • 参加者「天皇陛下万歳」

実に醜悪である。

Kinkのドキュメンテーションシステム

KinkのドキュメンテーションシステムをKinkで作りました。Javadocとかgodocみたいなやつです。

いずれ 1) JSON出力 2) JSONから各種フォーマットへの変換 の2つに分けるつもりですが、今はまだJSONモジュールがないので、Sphinx用の.rstファイルを直接出力しています。

最終的な結果はこんな感じ。

http://doc.kink-lang.org/manual/api/kink-NUM.html

元となるソースは、典型的にはこんな感じ

##
# Companion mod for atomic vals.

:JAVA.require_from('kink/host_lang/java/')

:AtomicReference_class <- JAVA.class('java.util.concurrent.atomic.AtomicReference')
:Object_class <- JAVA.class('java.lang.Object')

## type atomic
#
# An atomic is a container of a single val, which provides serialization of
# data access among multiple threads,
# and atomic operations such as compare-and-set.
#
# Example:
#
#   :ATOMIC.require_from('kink/thread/')
#   :THREAD.require_from('kink/thread/')
#
#   # atomic reference with 0 as the initial val
#   :Counter <- ATOMIC.new(0)
#
#   # thread-safe counter
#   :make_uniq_num <- {()
#     [:Cur :Next] = Counter.update{(:N) N + 1 }
#     Cur
#   }
#
# get, set, and compare_and_set operations are serialized for a single atomic.
:Atomic_trait <- [

  ## Atomic.get
  #
  # Atomic.get returns the val contained in the Atomic reference.
  'get' {[:A]()
    A.Ref.call_method('get').unwrap
  }

  ...

「メソッド」や「型」に相当する要素が言語仕様上存在せず、静的解析では見出しが決定できないので、自分で書く必要があります。本文については、行頭の空白が3文字以上のブロックをコードとみなします。

他にマークアップ要素はありません。個条書きしたければ「•」とか「1)」とか自分で書いてください、という設計です。このあたりはgodocの影響を強く受けています。

データモデルはこんな感じ。

f:id:miyakawa_taku:20190204231142p:plain
Kink Doc Datamodel

Record of the year 2018: Salt Water Taffy 『Finders Keepers』

Finders Keepers

Finders Keepers

1968年に出た脳天気なソフトロックアルバム。この時期、1枚だけ素晴らしいアルバムを出してどっか行ったたくさんのグループのひとつ。有名らしいけど、僕ははじめて聴きました。

Book of the year 2018: 森鴎外『渋江抽斎』

渋江抽斎 (岩波文庫)

渋江抽斎 (岩波文庫)

幕末期津軽家の江戸詰め家臣、医師にして考証家の渋江抽斎と、その家族を題材に、当時の読書人の世界を描いた話。

抽斎に対する鴎外の共感と思い入れが楽しい。

テンギズ・アブラゼ監督『祈り』、『希望の樹』、『懺悔』

ジョージアの映画監督テンギズ・アブラゼによる三部作。いずれも下高井戸シネマで見ました。

寓話的な表現は一貫しているものの、時代をくだるごとに散文的に、また政治的に危険になっています。どの作品でも、多声合唱がふんだんに使われています。

『祈り』は1967年作品。ヴァジャ・プシャヴェラの叙事詩を、たぶんほとんどそのまま脚本化・映像化した作品。映像は奇妙で美しいものの、細部はさっぱり分からなかった。三本の中で最後に見たのですが、最初これだったらきつかったかな。

『希望の樹』は1977年作品。革命前の農村で、若者の愛が因習でもってすりつぶされる悲劇。楽しくて変てこで優しくて、これが一番好きでした。ジョージアナショナリズムが結構わかりやすく出ていると思う。

最後の『懺悔』は1984年作品 *1スターリン時代の全体主義と、その「現代」、つまりブレジネフ時代における後継者を、けっこう直接的に告発する内容。これがまだソ連が安泰と思われていた1984年に撮られたというのはすごい。

*1:オーウェル1984年です。