(kantou-emacs #x02) 第2回関東Emacs勉強会を開催しました

関東Emacsとは

Emacs好きが集まって、拡張方法や使い方を紹介し合ったり、今後のEmacsの発展を話し合ったりする関西Emacs勉強会の姉妹イベントです。 のはずだったのですが、最初の発表はAtomに関する発表で、最後の発表は暗黒美夢王による発表、各Editorのスペシャリストが揃う謎のEditorイベントでした。

(kantou-emacs #x02) #関東Emacs : ATND

発表

@tomoyaton さんAtomでscratchバッファを実装した話

内容

ちょうどEmacs勉強会が開催される直前、4月1日。 Emacs実践入門の著者、@tomoyatonさんのブログに衝撃の内容が投稿され、 春なのでEmacsを卒業してAtomに入学しました。 - 日々、とんは語る。 注目の集まる話題の@tomoyatonさんから直接ご連絡を頂き、飛び入り参加して頂きました。

生れたてのバギーだけど進化が感じられる魅力のあるAtomを試していたところ、 ちょっとした計算などがすぐに行えないのは不便だ!(ネタ)ということで、 AtomでS式を評価できるscratchバッファを実装したとのこと。

内部の実装は、Emacsのbatchオプションを使っていて、 評価するS式に対してprintcを付与してEmacsに食わせて結果を取得しているとのこと。 nodeで実装されたLispの処理系を使って実装していたが、@masutaka さんと話した結果、 ネタとしては面白いEmacsを使う実装にしたとのこと。

最近はEmacsを見放したわけではなく利用していて、 確定申告で活躍した。プログラムを書かずに複数のカード会社のフォーマットから 確定申告の書類を2時間で完成させられたのは、Emacsのおかげだそうです。

感想

Emacs+StartupなTomoyaさんに憧れEmacsカンパニーのラングリッチインターンシップに参加させて頂いた身からすると、 ちょっと寂しいなって思ったり。 しかし、別のエディタについて勉強することは、Emacsの進化に貢献できるはず!という思いもあるので、ちょっとAtomにも興味を持ちました。 一方、フロントエンドばりばりな@tomoyatonさんにAtomは似合っていると思う。うーん。

@syohex さん 最近やったこと

内容

  • git-gutterのリアルタイム表示機能+他のVCS対応
  • helm-agのプロジェクト内検索+階層を上がる
  • anzu.elの位置表示+グルーピングハイライト
  • php-modeのメンテナ始めました

参考

Emacs - git-gutter.elの紹介 - Qiita

helm-agを書きました - Life is very short

Emacs - anzu.elの紹介 - Qiita

感想

友人達には、「時代はag(The Silver Searcher)ではなくgit-grepでしょ?」みたいなことを散々言われていたけど、emacs-git-grep作ってました - memo-mode の存在とか知らず、 ずっとhelm-agを使っていたものの身からすると、helm-agのパワーアップがとんでもなく嬉しかった。 これでますます開発効率が上ります。syohexさんありがとうございます!

visial-regexp.elなるものがあり、これを使うと簡単に正規表現を確認できるらしい。 自分は、re-builderを使って正規表現チェックしてから確認して

あいかわらず、沢山プロダクトのメンテしていてすごい。

@igjit さん el-moreの紹介

内容

el-moreの紹介スライド

el-moreは、実装を楽にするためにとりあえず処理のしやすいCaskを使っているそう。 herokuの無料分で運用するためにうまくレコード数を減らすなどの工夫をしているとか。 現状では、フォローの多い100人のデータしか収集していない。 今後は、Emacsからのインタフェースの実装を考えている。

質疑では、こんな実装にすれば精度が上がるのでは?って分析やアルゴリズム方面の話と、 EmacsとWebでやりとりをするときのアーキテクチャの話があった。 「ELPA準拠のJSONを返して、package.elのインタフェースにするのが良さそう」

感想

ELisp力が高くないので、得意分野でEmacsのコミュニティに貢献できそうなel-moreに興味を持ちました。 分析や実装に若干携われたらなっ。

@keno さん "Vimライクな jump/marker を実現する jumar.el の紹介"

内容

Emacs - Vimライクな jump/marker を実現する jumar.el の紹介 - Qiita

こちらで紹介しているjumar.elの紹介であった。 Emacsのmark機能はAPIがあまり提供されていないし使いづらいし、イレギュラーなことができない。 Qiitaの方で詳しく説明されていることと、デモが多かったため省略。

感想

jumarって概念的には、ブックマークに近いのかと思ったら、パーシステントにするかどうかの違いだって哲学らしい。 Bookmark機能を使っていて、markerを移動に使うことがなかったので手軽につかえそうなので試してみたい。 kenoさんは、Lispや言語使用や実装に関して非常に強いこだわりがあって、 話を聞いていて非常に勉強になりました。生粋のLisperでカッコイイ。

@BOACK_ さん "国のための統計から国民のための統計"

内容

統計系の仕事をしているのでRを触るためにより良いR環境を探し求めた話。 上から以下の順で試していきESS+Evilに行きついたと。

@takaxpさん「org-mode内のソースコードの中にRを埋めこめば、即時実行しながら残すこともできるのでオススメです。」

感想

自分もRを使っているので、非常に興味深い話であった。 自分は最初からEmacsでESSを使えていて恵まれた環境だと認識。

@ShougoMatsu(暗黒美夢王)さん "我が evil-modeが嫌いな理由"

内容

evil-modeの特徴

  • vimscriptが動作しない
  • 似たようなプラグインはあるけど若干動作が違う
  • 使用人数が相対的に少なく情報が少ない
  • tarao氏のページが圧倒的に情報が多いが古い
  • 困ったことがあっても、なかなか人に聞けない。
  • 何かの拍子にEmacsが顔を出す。
  • evil-modeはELispを書かない選択肢はない。
  • 設定が難しい。
  • EmacsLispを進んで書く人は50人に1、2人くらいしかいない。
  • 多数の拡張機能のインストールが必要。
  • evil-modeの設定には時間がかかる。
  • Emacsの設定を同時に行う必要がある。
  • テキストエディタの「設定」は一朝一夕では無理

テキストエディタと人生の両立が難しい

neovimは素晴しい

  • neovimは互換性が98%

GuileEmacsも茨の道

  • 壊れやすい
  • 起動に時間がかかるし。
  • 時間を沢山使ってもいい人向け。
  • Emacsコミュニティに貢献したいひと

感想

過去に自分はvi-modeやvip-modeのような生温い環境を使ってみたことはあるが、 evil-mode経験は無く再現率が高いとのことだけ知っていた。 話を聞いてみると、予想以上に困難な道だった。 テキストエディタへの愛だったり、思いが伝わってくるいい発表でした。 neovimの存在は名前しか知らなかったので、詳しい話が聞けてよかった。

後から@supermomonga氏に聞いたところ、Emacsではカーソルが移動する場所に制限されているモードでも、 evil-mode上では無視されていることがあり、それぞれのモードで独自で実装する必要があるとのこと。

まとめ

参加者として

発表が沢山集まって内容も充実していて非常に勉強になりました。 Emacsへのモチベーションを上げられる充実した時間を過せました。 今後、Lisp、EmacsLispを勉強していくための情報も頂きました。 次回こそは発表したいと思います。

主催者として

相談しながら進めたり、連絡が遅くなっていたことが何度かあったので今後は改善。 発表が枠を超えるという事態になってきたので、今後の運営スタイルを考えないといけないかも。 関東Emacsのことを知らなかったという関西Emacs常連の方々が何人もいらっしゃったので、次回は対策を。 メーリングリストなど作れば良いのかな。

Emacsコミュニティには、何から何までお世話になっており感謝。 今の自分が楽しくエンジニアリングするモチベーションがあるのも、EmacsEmacsのコミュニティのお陰だと思います。 少しでも恩返しができるように、今後もEmacsコミュニティが活性化・発展するためのお手伝いするつもりです。

次回、第3回の関東Emacsの前に、Emacsユーザの寄合いとしてEmacsNightを考えております。 みんなでテーマを持ち寄って、議論や情報交換をできればと思います。よろしくお願いします。

その他

@hico~horiuchi氏にinit~.el読書会の運営を投げて参加してなかったので、たまには顔を出さねば。

謝辞

  • 会場提供をしてくださったアイスタイルのスタッフの方々、とりまとめて下さった@hanhan1978さん、
  • 何度もメールで連絡をとり迅速に対応して頂き、設営、入場対応、撤去までありがとうございました。
  • 関西Emacsのときから、関東Emacs開催前にも相談させて頂きお世話になり続けている@tomoyatonさん、@masutakaさん。
  • 当日手伝ってもらったりお世話になっている@clngn氏、@r_takaishi氏。
  • 参加できなかった方々、定員を考えて参加キャンセル処理をしていただきました。
  • 発表・参加してくださった皆様ありがとうございました。無事2回目が盛り上がったのも皆様のおかげです。

みなさん、本当にありがとうございました。今後共よろしくお願いします。

次回、第3回もよろしくお願い致します。