2016年度のGitHub上でのPull-Requestまとめ

今日は4月1日. 多くの団体は新年度ということで, 色んな人が人事異動の報告をしている.

ぼくは特に報告すべきこともないんだけど, なんかみんなやってるみたいに, 昨年度のまとめ的なことしたいな〜,と思ったので, 2016年度のGitHub上での主なPull-Requestをまとめてみようと思う

主なPull-Request

jvgrep (Go)

jvgrepは日本語文字列のgrepをエンコーディングを気にせずにできるツールだ. 結果がキレイに見えるので,ASCII文字の検索のときでも使っている. (ただし,大量に検索するときは,より高速な普通のgrepを使う)

前後の行の情報も返すオプションに-B-Aがあるが, -A 2ではなく-A2のように数字の前にスペースが無くても動く PRを送ってマージされた.

go-mecab (Go)

go-mecabは形態素解析器MeCabのGo言語バインディングだ.

インストールの説明が,新しいGoのバージョンでは適切ではなかったので, 修正PRを送ってマージされた. (本来は古いGoのバージョンでも動かないはずだと思うんだけど,なぜか動いていた)

(.travis.ymlの修正を忘れていたので,もう一度PRを送っている)

pongo2関連 (Go)

pongo2はDjango 風の記述ができるGoのテンプレートエンジンだ.

その周辺ツールpongo2-addonsと, mattnさんによるサンプルコードgoji-wikiが pongo2の破壊的変更により動かなくなっていたので, それぞれPR1PR2を送ってマージされた.

jikkyo (JavaScript)

jikkyoはコメントファイルを透明ウィンドウ上でニコニコ動画風に流せるデスクトップアプリで, ニコ動のコメントを手持ちの動画ファイル上に流してみたいときに役に立つ.

jikkyoはライブラリにnw.jsを使っているのだが,Linux上で動かしたときに不具合があったので, 修正PRを送ってマージされた.

kyoku (JavaScript)

kyokuはiTunesで再生中の曲の情報をメニューバーに表示するMac OS向けアプリだ. 私はiTunesではなくVLCを音楽プレイヤーに使っているんだけど,対応していなかったので,VLC対応PRを送った. (マージはされていないが,私はこのPRを適用したものを常用している)

余談だが,プライベートではDebianデスクトップ,Windows 2in1タブレットを使ってて,仕事ではMacBookだ. ノートPCとしてMacBookは嫌いじゃくてデザインも良いしむしろ好きなんだけど,OSとしてのMacは好みではない. なので,以前はOSをDebianを入れたりしてたんだけど,OSを変えると周辺機器が素直に動かなかったりと, 流石に面倒になってきたので,最近ではMacのまま使っている.

textlint-rule-no-dropping-the-ra (JavaScript)

textlint-rule-no-dropping-the-raは, 「ら抜き言葉」を検出するtextlintのルールだ. textlintの説明はこちらの記事を読んでもらうとして, これに,カ変動詞「来る」に対するルールが抜けていたのでPRを送ってマージされた.

ちなみに, 昨年末の第8回入力メソッドワークショップ (IM 2016)のLTで 日付曜日矛盾という発表をしたところ, textlint作者のazuさんが その日のうちにtextlintのルールを実装してくださって, あまりの手の速さにビックリした思い出がある.

感想

GoとJavaScriptだけだったが, 結構色々なプロジェクトにPRを送っていた.

Goは2年前くらいからメインに使っている一番好きな言語だ. (過去のスライドを参考に: 今から始めるGo言語) ツールやライブラリもいくつか公開している

  • cdbs
    • CDBの4GB制限を回避するために,複数のCDBファイルに分割して作成するコマンド
    • Go言語のライブラリとしても使えます
  • at2pt
    • アノテーション済みテキストからプレインテキストを抽出するコマンド
  • go-word2vec
    • word2vecのモデルをGo言語で使うためのライブラリ
  • go-jk
    • JUMANKNPをGo言語で使うためのライブラリ

JavaScriptは, Webインタフェースを作る上では避けては通れないので, 書くことは書いている. あまりバリバリ書きたいとは思わないけど..

Pythonも細々とした前処理を行うのに,今でも使っている. ようやくPython2からPython3へ移行した. 過去のコードはPython2のまま放置していたりもするけど,新規のコードはPython3で書くようにしている.

ちょっと前までは,全然Python3使われてなかった気がするんだけど, 気がつけば主要なライブラリはもう大体移行してる気がする.

Python2のサポート期限2020年が近づいてきたからかな.