2014年12月18日木曜日

「このEmacs Lispを使っている人はこんなEmacs Lispも使っています」がわかるwebサービス、el-moreを作っています

これは Emacs Advent Calendar 2014 の18日目の記事です。

Emacs Lispパッケージをおすすめするwebサービス、el-more を作っています。 「このEmacs Lispを使っている人はこんなEmacs Lispも使っています」がわかります。

現在、Herokuで動いています。

このEmacs Lispを使っている人はこんなEmacs Lispも使っています

expand-region を使っている人は multiple-cursorsyasnippet も使っているようです。

yaml-mode を使っている人は markdown-modecoffee-mode みたいな言語用のmajor-modeも使っているようです。

おもしろいですね。

みなさんもお気に入りのEmacs Lispのページを見てみてください。知らなかった素敵なEmacs Lispが見つかるかもしれません。

しくみ

  • GitHubで公開されているCaskファイルを検索 ()。 これで誰がどのEmacs Lispパッケージを使っているかがわかります。
  • MELPA からEmacs Lispパッケージの情報を取得します。
  • パッケージどうしの類似度 (この場合は一緒にインストールされる確率) を計算します。

実装

Ruby on Railsで作りました。

Herokuで動いています。Herokuで無料で使えるのは

  • DB (Heroku Postgres) 10000行
  • key-value store (Redis Cloud) 25MB

とかで、データ量をこれ以下に抑えるために泣く泣く集計対象のユーザ数を絞っています。(現在は100人)

ソースコード

ソースコードはGitHubにあります。

おわりに

公開したばかりでまだまだ未完成だと思います。

問題点、改善案、疑問、使ってみた感想など、何でも気軽にご連絡ください (Twitter)。