関西Emacsに行ってきた

ちょっと遠出して、関西Emacsに行ってきました。

福岡Emacsの企画の準備もかねて、どんな人たちがどんなことを期待して集まってくるのかをちょっと調べようというのと、最近のEmacsについて思うことについて話して議論してみたいなと思って行きました。

午前中、生でるびきちさんにお会いすることが出来ました。電車の中でAnythingと非同期について議論させてもらいましたが、ちょっとしかお話しできなかったのが残念でした。

会場は30人ぐらいぎっしりで、若い人から年季の入った熟練ユーザー、さらに女子の方もいて、たかがテキストエディタをネタにこんなに集まれるのがすごいですね。場所を提供していただいた株式会社アックスさん( id:syohex さん)ありがとうございました。懇親会のお店もとてもよかったです。

前回に引き続きポジションペーパーが多くて、配布や紙を見つけるのが大変だというところが改善できればいいなと思いました。次回から運営委員が結成されるようなので、id:peccuさんの負担が減って盛り上がっていくと良いなと思いました。

当日は体調不良であんまり元気が無くて、みんなとお話しする気力が尽きてしまいました。すいません。

みなさんの発表について

設定ファイル改善 (id:IMAKADOくん)

分割して管理しやすくすると言うことと、読み込み途中でこけないようにするということでした。sysv-init 的な数字で読み込み順序の管理と来れば、行く末はイベントドリブンな upstart 方式になるのかなとか思いました。

自分の所は適当にしか分割してないのですが、 global-set-key 達はバラバラだと分からなくなったので、一つにまとめています。

VirtualBox制御、org-modeなど (id:r_takaishiさん)

常にEmacsが居る人にとっては、Anythingの素早さ強力さが便利ということにつきるのだと思います。

org-modeは最近使い始めたばかりだったので、よく使っている人の操作を見れたのがよかったです。後でcalfw-orgのご意見も頂きました。

Sekka (@kiyokaさん)

自分も yc がすごい好きだったので、sekkaのモードレスな感じはすごい素敵です。アルファベット混じりだとどうしても文節区切りが短くなってしまうので、ATOKを yc みたいに使えないかなとか考えていたときがありました。ちょっと余裕があったら実装を参考にしてみたいです。

やっぱり俺Lisp実装や通信周りが気になりました。

リリースについて (@naota344さん)

たくさんものを作っては放置気味になっている自分としては、大変耳が痛いお話しでした。

継続したメンテナンスも大変なのですが、リリース作業はとても大変です。リリースのための準備というのはかなりたくさんあって、やってみて初めて分かることばかりで、モチベーションが下がってしまうと言うのはその通りです。でも、リリースして反応があるとうれしいので次も頑張ろうという気になるわけです。

パッケージメンテナーの方がnaotaさん以外にもおられて、calfwのパッケージ化のお話しがいただけたり、パッケージについてのお話しを聞けたのがよかったです。

自分の発表について

かなりgdgdですみません。予定では、始めに3D迷路をみんなで遊んでから、「Emacsはやれば出来る子だから!!!」という流れで、 Beautiful な Emacs というお話しする予定でした。言い訳にはなりますが、自機の無線が不調だったり、OSが固まったりと、いろいろ崩れてしまいました。手元のメモによると以下のようなことを話したかったようです。(迷路のデモについては別エントリで続けます。)

  • 発表の目的
    • 広い視野を見よう
    • 一通り完結する大きな物を作ろう
    • Emacsでハッピーライフを
  • 自己紹介
    • 自分のSE的なしごととEmacs
    • SIerな仕事紹介
    • 「開発」は全体の1割ぐらい
      • でもそれ以外のしごとも十分専門的だよ
      • ハード、ネットワーク、OS、耐障害、周辺機器
      • お客さん、仕様調整、テスト、メンテナンス、障害調査
    • 開発以外でもEmacsが活躍してるよ
      • メール, メモ, 作文, スケジュール, コミュニケーション
      • →情報の集約, 思考の補助
    • 開発だけじゃないよ! SEでもいけるよ!
  • 開発環境としてのEmacs
    • SIerではEmacsは圧倒的少数派
    • Vim, Eclipse, NetBeans, 秀丸など、良い環境は他にもある
    • IDEは導入のコストが高い、シンプルなテキストエディタは導入しやすいがパフォーマンスが低い(場合が多い)
    • 他の環境も使ってみて、良いところをEmacsに取り入れていく
  • 言語処理系としてのEmacs
    • 言語間の対立は多い
    • でも世の中を見てみると、disられる側の言語でつくられた「役に立ってる」プロダクトは多い
      • 設計・実装・コードはイマイチでも、それでみんなの問題が解決する
      • でも設計・実装のキレイさも重要。負の遺産。
    • 作りたいものに興味があるか、言語自体に興味があるかどうかの違い?
  • Emacsに偏らず、いろいろ試していいものを吸収していこう!
  • アプリケーションを作ろう
    • Emacsではちょっとした拡張がやりやすい
    • GreaseMonkey みたいな感じ。ちょっとした改善で生活が豊かになる。
    • そうではなくて、なにかまとまった大きな物を作ってみよう
    • そこから得られる物は大きいよ!
  • UIは難しい
    • アプリケーションを作ると大抵UIを作ることになる
    • 何が正解か分からない
      • 素人でも設計できそう
      • 好みがある?
      • 改善と慣れ
    • 構築にコストがかかる
      • 設計力, 実装力, パフォーマンス・体感速度
    • 試行錯誤が本質
      • ユーザーがやりたいことを探っていく作業
      • 頻繁に書いて捨てる
    • ユーザーとの対話
  • 抽象化について
    • 大きな物を作るとコードが増えてくる、大きなコードとどう対峙するか
    • DRYで似たコードをまとめていくだけでは限界がある
    • コードの役割分担や責任範囲、コードの再利用者側の立場で考えてみる
  • Emacsで大きな物を作るのは楽しいし、良い経験になるよ!
  • これからのEmacs
    • クラウドの時代なのにEmacsだなんて。。。
    • CUIじゃなくてGUI。ローカルじゃなくてWebアプリ。
    • 開発もWebサービスの時代
    • Emacs使ってて良いんですか?
  • Emacs使っていいんです!
    • 新聞社・出版社と同じく撤退戦
    • 長い目で見ればクラウド化するかもしれないが、数年のスパンではまだまだ現役
    • 「拡張可能高機能エディタ」という本質が重要であって、プラットフォームは時代に合わせて変化していけばいい。
  • ローカルの利点を生かす
    • オフライン, 速度, 大容量
  • クラウドと友達になる
    • データはクラウド
    • 非同期で通信
      • 例:cacoo.el, calfw-ical.el 美人時計
  • テキストエディタを超えて
    • 単に「使える」レベル以上を目指す
      • 使っていて楽しい、かっこいい
      • → Apple的な感じ
      • 魔法のようなエディタ
      • →映画に出てくるようなカッコイイものをめざす
    • 一般人にも勧められる物を
      • 普通の人が普通に便利に使えるツールを
  • これからもEmacsを盛り上げていきましょう

多分、当日言ってないことも多々あるかも知れません。
次の機会は頑張りたいと思います。

福岡Emacs

ということで、福岡Emacsを考えています。もうちょっと詳細を練って、具体的なものを固めてからお知らせしたいと思います。