Stats of the Rivers

川の様子を見に行ってます。

romaji というライブラリを書いた。

先日社内の RubyRails の質問チャットに「ローマ字とカナを変換するのに良いライブラリないですか」と質問したら、「貴様の要求に足るものはない。というか貴様が作って gem で公開しろ」と言われたので (こわい) 、ライブラリを書いて romaji という名前で公開した。

gem install romaji

でインストールできる。
ローマ字とカナを相互変換するライブラリは既にいくつかあったのだが、ぼくが求めていた以下の条件をすべて満たせるものがなかったので新しく作った次第。

  • gem として提供されている
  • テストされている
  • Ruby 1.8.7 と 1.9.x で問題なく動く
  • require するだけでは既存のクラスを拡張しない

GuardTravis CI で絶えずテストを回しつづけて作った。便利な世の中になった。

すべてのシステムが他の何かのサブシステムであるということ。

シンタックスハイライトを付けるための Web API を作った。

実体は CodeRay のかなり単純なラッパーなのだが、使い方によっては便利かも知れない。

例えば以下の JavaScript を読み込んで shl クラスの pre タグ内を自動でハイライトできたりできる。

jQuery(function(){
  jQuery('pre.shl').each(function(i,e) {
    var $this = jQuery(e);
    jQuery.post('http://shl-api.heroku.com/',
      {body: $this.text(), nopre : 1, l : $this.data('format')},
      function(r){
        $this.html(r);
      }
    );
  });
});

例によってタイトルに意味はない。

ぼくがお菓子食べてるの見つけたら1,000円払う。

みだりにお菓子を食べないようにするため、ぼくがオフィスのお菓子の棚から取って食べているのを見つけられたらその人に1,000円払うことにする。

ただし諸条件あり。

  • 「お菓子の棚」は会社の福利厚生として設置されている部分のみを指し、たとえばお土産などで置かれているイレギュラーなお菓子は対象にはならない。
  • 「お菓子を食べた」とは、棚からお菓子を取り出してその袋を開けた以降の状態を指す。お菓子を手に取ったものの、気付いて戻した場合は対象にはならない。袋を開けた場合は復旧が困難であるため、お菓子を食べた状態と同等であると解釈する。
  • 1,000円を支払うのは、1つの案件につき最初に指摘した1名に限る。複数人が同時に指摘した場合は、指摘した人たち同士で協議の上金銭の受け取り人を決定するか、あるいは人数分で頭割りして支払うこととする。その際に発見者間に紛争が発生した場合でも、実施者 (まきもと) は関知しない。
  • 実施者は本件に関し改廃する権利を有する。改廃が発生する場合、原則3営業日以上前に告知するものとする。
  • 本規約は日本法に準拠し解釈される。訴訟の必要が生じた場合は東京地方裁判所を第一審の専属的合意管轄裁判所とする。

2012年3月5日14:15追記

以下の2項目を条件に加える。新しい規約は3月8日より施行される。

  • オフィスの冷蔵庫のコーラを飲んだ場合、お菓子を食べた場合と同様の扱いをする。コーラ以外の飲料は対象としない。
  • バナナはお菓子に入らない。

2012年6月28日14:07追記

上記項目を7月2日より全て撤廃する。

Kaoriya 版 MacVim を Homebrew で入れたい。

Homebrew で入るものは Homebrew で入れたいので macvim.rb を参考に野良 Formula を作った。

こんな感じで (ぼくの環境では) インストールできる。

いろいろ怪しいので、適当に fork して良い感じにして欲しい。