スキップしてメイン コンテンツに移動

YAPC::Asia Tokyo 2012 で LT してきた話とか感想など

去る9月、27日からの3日間に渡って東京大学伊藤国際学術研究センターで開催された YAPC::Asia Tokyo 2012 に参加してきましたので感想など。

YAPC に参加したのは昨年以来2回目。前夜祭から最後まで参加したのは始めて。中国地方在住ということもあってこれまでコミュニティとは無縁で一人勝手にやってきたのだけれど、昨年はインターンシップで東京にいたので2日目午後のみ当日券で参加しました。

その時は知り合いもいないし、トークと LT を眺めて O’reilly 本を買ってそそくさと帰ったのだけれど、過去最大の YAPC (当時) ということで一プログラミング言語をテーマにした催事で東工大のホールが埋まる光景はすごかった。あとどうでも良いけど LT の間中吹奏楽部らしき音が外から響いていたのも妙に覚えています。

そんなわけで今年は人といくらかでも繋がりたいなァと思いつつ、学生チケットが無料だということを知って去年は惜しいことをしたなァと卑しい後悔をしつつ参加しました。

LT してきた

去年までカンファレンスに行ったことがなかったので LT なるものをリアルで観たことがありませんでした。

手を挙げたのは私一人だったはず。みんな意識高い。

などと激励も頂いたし、今年は LT 見たことある人として参加するつもりでしたが、遠方からの参加者支援制度に申し込んだところ株式会社スカイアーク様から旅費支援を頂くことができたので、遠方からの参加者枠で LT する人にクラスチェンジ。

おかげでボーイング787で快適に東京へ行くことができましたが、スライドもトークもギリギリまで直してイメトレのみのぶっつけ本番。 1人5分だわ時間は押してるわ目の前に小飼弾氏がいるわで緊張して早口で尻切れトンボでショボーン。反省の多い発表になったけれどそれもまあ経験。

Perl の将来

Perl 5 の運用ノウハウやモジュール紹介以外に、Perl 6 やその他の言語のトークも数多くあったことが興味深かったです。

などなど。

Perl 5 は唯一の処理系 perl と CPAN のモジュール群で特徴づけられてきましたが、XS の難しさはよく批判されるところだし、モジュール数で言えば既に RubyGems に抜かれ、 PyPI にも追い上げられているとのこと。

Perl 6 は Perl 5 とは (VM レベルでの相互運用性はあるかも知れないけど) 独立した道を進んでいるし、Tora の node.js 向けコンパイラ kuma や node.js から Perl モジュールを呼び出し可能にする node-perl は JS との間の相互運用性に焦点が当てられています。

他の LL が発展してきた昨今、「島言語」がないのと同様に「島言語環境」も互いに繋がっていくのかなァと思っています。

その他

LTthon

Hachioji.pm 主催。メイン会場の伊藤謝恩ホール前のスペースでひたすら LT をやり続けるコーナー。 トークの方ばかり見ていたのであまり見られなかったのだけれど、飛び入りも多かったようだしホールの後ろの方の席でトークを聞いてると後ろから笑い声が聴こえてきて盛り上っていたようです。LTthon の動画って公開されてるんでしょうか。

飲食関係

本郷キャンパス周辺は飲食店が豊富すぎて実にうらやましい立地。

1日目はランチ交流企画 のくじに当たったのでぼっち飯回避。2日目はくじに外れた人同士で連れ立ってラーメン喰ってきました。 このランチ交流企画は全然接点がない人と知り合いになれてとても良かった。ランチ代の補助はなくても良いから人数増やして来年もやって欲しいです。

ノベルティ

豪華。学生チケットには T シャツがつかないのですが、YAPC 日程終了後に余っていたものが放出されて争奪戦になっていました。T シャツは手に入りませんでしたがどさくさでマグカップを確保。

(中身は @maka2_donzoko さんに頂いた Acme 大全シール。エロい)

DSIRNLP

YAPC とは全然関係ありませんが、第3回データ構造と情報検索と言語処理勉強会 (DSIRNLP) が YAPC 翌日の9月30日に渋谷の mixi オフィスで開かれていたので、当日の昼に参加登録して聴講してきました。

台風17号の接近で残念ながら中断されましたが、データ圧縮や簡潔データ構造について脳内にポインタを貼ることができました。 ゲームの景品で Amazon Web Servicesプログラミング ―APIの基礎からElastic Beanstalkの利用まで を入手したので、これから読んで Amazon にレビューを投稿する義務が発生してちょっとあせってます。

おわりに

まったくのぼっちスタートでしたが、ランチ交流企画や前夜祭・後夜祭で多くの人と面識が持てて、Perl 仲間を増やす良い機会になりました。

特に日程を通して色々と話をさせてもらった @VienosNotes さんや @risou さんをはじめお話させて頂いた皆様、大変お世話になりました。楽しかったです。また来年お会いしましょう。

コメント

このブログの人気の投稿

OCaml で Web フロントエンドを書く

要旨 フロントエンド開発に Elm は堅くて速くてとても良いと思う。昨今の Flux 系アーキテクチャは代数的データ型と相性が良い。ところで工数を減らすためにはバックエンドも同じ言語で書いてあわよくば isomorphic にしてしまいたいところだが、Elm はバックエンドを書くには現状適していない。 OCaml なら js_of_ocaml でエコシステムを丸ごとブラウザに持って来れるのでフロントエンドもバックエンドも無理なく書けるはずである。まず The Elm Architecture を OCaml で実践できるようにするため Caelm というライブラリを書いている。俺の野望はまだまだこれからだ (未完) Elm と TEA について Elm というプログラミング言語がある。いわゆる AltJS の一つである。 ミニマリスティクな ML 系の関数言語で、型推論を持ち、型クラスを持たず、例外機構を持たず、変数の再代入を許さず、正格評価され、代数的データ型を持つ。 言語も小綺麗で良いのだが、何より付属のコアライブラリが体現する The Elm Architecture (TEA) が重要である。 TEA は端的に言えば Flux フロントエンド・アーキテクチャの変種である。同じく Flux の派生である Redux の README に TEA の影響を受けたと書いてあるので知っている人もいるだろう。 ビューなどから非同期に送信される Message (Redux だと Action) を受けて状態 (Model; Redux だと State) を更新すると、それに対応して Virtual DOM が再構築されビューがよしなに再描画され人生を書き換える者もいた——という一方向の流れはいずれにせよ同じである。 差異はオブジェクトではなく関数で構成されていることと、アプリケーション外部との入出力は非同期メッセージである Cmd / Sub を返す規約になっていることくらいだろうか。 後者は面白い特徴で、副作用のある処理はアプリケーションの外で起きて結果だけが Message として非同期に飛んでくるので、内部は純粋に保たれる。つまり Elm アプリケーションが相手にしないといけない入力は今現在のアプリケーションの完全な状態である Model と、時系列イベ...

多分週刊チラシの裏 (Sep 28 - Oct 04, 2020)

Chrome Web Store が有料 Chrome 拡張の取扱を終了 Chrome Web Store で提供されている有料 Chrome 拡張及びアプリ内課金 API の両方が 2021 年 1 月いっぱいで廃止される。 開発者はそれまでに代替となるサードパーティの課金 API に移行し、購入済ライセンスの移行手段も用意する必要がある。 この決定の発表時点で新規の有料ないしアプリ内課金のある Chrome 拡張の新規登録は終了している。実際のところ 2020 年 3 月時点で既に「一時的に」停止されており、その措置が恒久化されただけとの由。 シェルスクリプティングには長いオプションを使え 「短いオプション (e.g., -x ) はコマンドライン上での略記である。スクリプトにおいては自分や将来の同僚のためにも長いオプション (e.g., ---do-something ) を与える方が理解が容易だろう」という主張。 異論の余地なく正論である。 CobWeb - COBOL to WebAssembly Compiler COBOL から WebAssembly へのコンパイラ。いやマジで。 Cloudflare が何を思ったか同社のサーバレス環境である Workers に COBOL 対応を追加した際 の成果物である。 COBOL から C へのトランスレータである GNU COBOL と C コードをコンパイルして WebAssembly を出力する Emscripten から成っており、他の言語に比べて軽量なバイナリを生成するとのこと。 「ウチではそんな風にはやらないんだ (“We don’t do that here”)」 昨今ソフトウェア開発のコミュニティでも Code of Conduct を用意するところが増えてきたが、コミュニティの文化を明文化するのは難しい。 長大な「べからず集」は息苦しいし、肯定的なガイドラインは時に抽象的で実効的に使えない。問題となるようなふるまいの動機が善意であった場合は特にそうだ。 仮に優れたガイドラインがあっても、それに基いて人を実際に咎めるのは骨が折れることである。初中やればコミュニティ内でも疎まれる。 話の分かる相手ならそれでもまだ説得する意義もあるが、Web 上の対話で当事者双方が納得し合っ...

Mac から iPhone のカメラを起動して写真を直接取り込める

Via: The Verge ID セルフィーや (物理) 書籍のページスキャンなど携帯電話のカメラを使って写真を取り込むことは日常的な所作になっているが、写真の使い途が何かの申し込み用 Web フォームなどで iPhone より Mac の方が操作し易いときなどは億劫だ。Mac 組込の FaceTime カメラは 720p とか 1080p しかなくて非力すぎ、かといって iPhone で一旦撮影したものを Photos から探して AirDrop するのも面倒である。 実は macOS Mojave / iOS 12 以降には Continuity Camera という機能がある。これを使うと Apple 製の Mac アプリケーションから iPhone / iPad のカメラを起動して、余計な中間コピーを残すことなく写真を Mac に転送できる。 使い方は簡単で、対応している Mac アプリケーションのコンテキストメニューに “Import (or Insert) from iPhone (or iPad)” という項目がある。“Take Photo” だと一枚、“Scan Documents” だと複数の写真を (歪み補正しつつ) 連続で撮影して転送できる。 対応 Mac アプリケーションは Finder のほか iWork (Keynote, Numbers, Pages), Mail, Messages, Notes, TextEdit となっている、のだが実は Preview でも使える。同様にコンテキストメニューあるいは “File” メニューから起動できる。

Project Euler - Problem 25

問題 原文 What is the first term in the Fibonacci sequence to contain 1000 digits? 日本語訳 1000桁になる最初の項の番号を答えよ. 解答 Gaucheのストリームライブラリを使ってみました。 (use util.stream) (define fibonacci-sequence (iterator->stream (lambda (yield end) (let loop ((a 1) (b 1)) (yield a) (loop b (+ a b)))))) (define (digits n) (define (digits-1 m acc) (if (< n m) acc (digits-1 (* m 10) (+ acc 1)))) (digits-1 1 0)) (define (solve) (+ 1 (stream-index (lambda (n) (= 1000 (digits n))) fibonacci-sequence))) (define (main argv) (display (solve)) (newline))

多分週刊チラシの裏 (Oct 19, 2020 - Feb 26, 2021)

週刊とは言ったが毎週刊とは言ってないという言い訳。 C++ のコンパイルを高速化する小技 ビルドシステムやツールを変更せずともコーディングだけで改善できるコンパイル時間短縮テクニック。 #include を減らす インライン化を明示的に避ける 関数オーバーロードの可視性を制限する 公開シンボルを減らす の 4 本。 歯医者で歯を治したら記憶能力を失った話 歯医者で簡単な治療を受けた日から後、記憶が 90 分しか保持できなくなった英国の軍人の話。まるで「博士の愛した数式」だが実話である。 DRPK で売られていた Sim City っぽいゲームのリバースエンジニアリング 平壌市内のアプリストア (物理) で売られていた Sim City 風ゲームがインストールに失敗してライセンス認証で止まってしまったのでなんとか動かせないものかとリバースエンジニアリングしてみた話。 日本にあっては DPRK のデジタル事情というと 3G セルラーが現役とか国内 Web サイトのリストがポスター一枚に収まるとか何故かコンピュータ将棋の古豪とかの断片的な情報が伝え聞かれる程度だが、近頃は Android タブレットでゲームなどもできるらしい。 国内のインフラ及びエコシステム事情に合わせて元々フリーミアム + アプリ内課金モデルだったものが買い切り 5,000 KPW (< 1 USD) になっているなど、我々が失った自由が我々よりも不自由な (はずだと我々が信じている) 国に残存しているのは皮肉だろうか。 typosquatting は単なる typo じゃ済まない typo を狙って人気のあるドメインやソフトウェアに類似した名前をつける手法 (typosquatting) は人を辟易させるのみならずセキュリティの脅威である。 IQT が 2017 年から 2020 年にかけて Python ライブラリの中央リポジトリである PyPI において行った調査で、メジャーなライブラリに名前を似せたマルウェアが 40 個確認されたとのこと。 その内 16 個が単純なスペルミス狙い (e.g., “urlib3” vs. “urllib3”) で、26 個は正当なパッケージと混同するような名前 (e.g., “nmap-python” vs. “pytho...