この記事は、クソアプリ2 Advent Calendar 2018 の 14 日目の記事です。
どうもいつも元気な @pankona です。
nn という「◯日ぶり×回目」を出力するアプリを紹介します。
拙作です。Go で書いてます。
nn とは何か
- 「n 日ぶり m 回目」を出力するコマンドラインツール。
- 最初は「n 日ぶり n 回目」というつもりで作っていたので 「nn」という名前になっています。紛らわしくてごめんなさい。
- ヘルプは以下。
$ nn --help
NAME:
nn - show nn
USAGE:
nn [options] [arguments...]
VERSION:
0.1
OPTIONS:
--id value specify id of nn (default: "default")
-f value, --format value specify format of nn (default: "%d 日ぶり %d 回目")
--help, -h show help
--version, -v print the version
機能
-
-id
で集計する単位に ID を指定します。「n 日ぶり m 回目」は ID 毎に集計されます。
$ nn -id myapp1
0 日ぶり 1 回目
$ nn -id myapp1
0 日ぶり 2 回目
$ nn -id myapp2
0 日ぶり 1 回目
$ nn -id myapp2
0 日ぶり 2 回目
-
-f, --format
で出力形式をなんとなく指定できます。
$ nn -f "while in %d days, %d time"
while in 0 days, 4 time
使用例
- SL コマンドを打ってしまったときに何日ぶり何度目かを表示する
みんな大好き sl コマンドです。ls 打ち間違って出てきちゃうあれです。悔しいですよね。のんびり通り過ぎていく電車。それを見送る我々。
しかしこの sl。何日ぶり何度目の ls 打ち間違いか知りたいと思いませんか。
私はこんなふうに sl コマンドを alias して nn と繋げるようにして、何日ぶり何回目の SL 通過かを表示するようにしていました。
# bashrc にこんなふうに書いておく
alias sl='sl-with-count'
function sl-with-count {
sl
nn --id sl
}
- SL コマンドを打ってしまったときに何日ぶり何度めかを Slack にポストする
そもそも sl を打たないように (ls を打ち間違わないように) 気をつけるべきですよね。
それでも sl してしまうことがあります。嘆かわしい。私は sl を打ってしまったときの戒めをより強力なものにするため、sl を打ってしまったときにとある Slack チャンネルに「何日ぶり何回目の SL か」をポストするようにしています。関係各位、いつもすまない。
私は以下のような alias と function を bashrc に書いています。
- 下記の例では slackpost というのが登場していますが、これはパイプで渡された文字列を Slack に投稿するコマンドラインツール (拙作) です。これの紹介は割愛します。
alias sl='sl-with-slackpost'
function sl-with-slackpost {
sl
echo "@here SL が走りました (`nn --id sl`)" | slackpost
}
SL が走ると、以下の文言がポストされます。
@here SL が走りました (30 日ぶり 34 回目)
まとめ
「◯日ぶり×回目」を出力するアプリを紹介しました。いかがでしょうか。
ちょっとでも面白いと思っていただけたら本望です。よかったら使ってみてね!