Log::Handlerの標準出力を色付きにしたら10倍捗った
最近、ロギングはLog::Handlerを利用している。
このモジュールは、例えばplackupしているターミナルの標準出力にもログを吐けるので開発時に重宝している。
その標準出力(&標準エラー出力)に色を付けて、さらにそれをログレベルによって色分けするともっと捗るよ、というそれだけのお話。
use Log::Hander; my $timeformat = '%Y-%m-%d %H:%M:%S'; my $layout = '%T %L pid %P %f line %l %s : %m'; my $log = Log::Handler->new( screen => { timeformat => $timeformat, message_layout => "\e[1;31m${layout}\e[m", # 赤の太字 log_to => 'STDERR', maxlevel => 'alert', minlevel => 'alert', }, screen => { timeformat => $timeformat, message_layout => "\e[31m${layout}\e[m", # 赤 log_to => 'STDERR', maxlevel => 'error', minlevel => 'error', }, screen => { timeformat => $timeformat, message_layout => "\e[33m${layout}\e[m", # 黄 log_to => 'STDERR', maxlevel => 'warning', minlevel => 'warning', }, screen => { timeformat => $timeformat, message_layout => "\e[34m${layout}\e[m", # 黄 log_to => 'STDOUT', maxlevel => 'info', minlevel => 'info', }, ... );
GNOME Shell@Ubuntu12.10でインストールしているExtension
LinuxMintを使っていたんだけどライブアップデートに対応していない(ような)ので、リリース毎にインストールするのも面倒だなーと思い、Ubuntuに戻った。
戻ったはいいんだけど相変わらずUnityは好きになれないので、GNOME Shellを入れた。
デフォルトのGNOME ShellはAlt+Tabを中心に使いづらさが残るので、そのあたりはExtensionで対応。
以下、インストールしたExtension。
Remove Accessibility
トップパネルのユニバーサルアクセスのアイコンを削除してくれる。それだけなのだけれども使わないアイコンは極力消したいので...。
AlternateTab
デフォルトのAlt+Tabは、例えば端末を複数開いているとグルーピングしてひとつにまとめてしまう。マウスOR十字キーで選択しなければならないのでかなりやっかい。そのあたりを解消してくれるのがこれ。
設定で「サムネイル」「アイコン」「サムネイル&アイコン」が選べる。自分はシンプルに「アイコン」表示。
Activities Configurator
トップパネルの色やら文字やらの見栄えをカスタマイズできる。なくても困らないかな...。
No Topleft Hot Corner
GNOME Shellはデスクトップの左上にマウスを持っていくと「アクティビティ・オーバービュー」を表示してくれるんだけど、これをdisableにしてくれる。自分はWindowsキー押したときだけ反応してくれればいいので結構重宝している。
PerlyBookがすばらしいサービスだと思ったので、もっと便利に利用できるグリモン書いた
perlybookが便利だなぁと思ったんだけれども、perlybookのページ上でモジュール名をわざわざ手打ちで入力するのが面倒なので、CPANの各モジュールのページから直接ダウンロードできるグリモンを書いた。
tekiomo/CPAN_ePub_Downloader · GitHub
久々にネイティブなjsを書いたので、モジュール名の取得とか要素の追加とかなんか微妙だったりするけれど、私はげんきです。
Vimperatorで表示しているタブ以外をすべて閉じる
あるようでいまいち見つからなかったので書いた。
上のコードを.vimperatorrcに書いておくと、
:removeAnotherTab :ra とか normal modeで"D"
で今表示しているタブ以外すべて閉じます。
閉じ放題。
RPMパッケージを/home配下のuserディレクトリにインストールする
$ rpm --install --verbose --hash --relocate /=~/ /PATH/TO/RPM_FILE
linux - Using Yum to install packages for my user only - Super Userを参考にした。
Vimperatorでパスワードをクリップボードにコピーする
Show Passwordはログインページなどで非表示になっているパスワードを表示できるようになるGreasemonkeyプラグインなのだけれども、少々やっかいなところがある。
input[@type="password"]な要素にマウスオーバーするとその要素のtypeがtextになりパスワードが可視化されるのだが、
- マウスオーバーした状態で
- 入力した状態でPOSTするためにエンターキーを押す
ことで入力履歴として残ってしまう。
個人的な用途としては「パスワードを忘れてしまったがブラウザには値が残っているので、その値を知りたい」だけなので、vimpでクリップボードにコピー&一定時間経過したらクリアするようにしてみた。
js <<EOM // パスワードをクリップボードにコピー commands.addUserCommand( ['passwordcopy', 'pc'], 'パスワードをコピー', function() { var ps = content.document.getElementsByTagName('input'); var passwords = []; for (var i = 0, n = ps.length; i < n; ++i) { var p = ps[i]; if (p.getAttribute('type') !== 'password' || !p.value) { continue; } p.setAttribute('type', 'text'); passwords.push(p.value); p.setAttribute('type', 'password'); } if (!!passwords.length) { util.copyToClipboard(passwords.join(',')); liberator.echo('yanked password'); } else { liberator.echoerr('not yanked'); } // 20秒たったらクリア setTimeout(function() { util.copyToClipboard(''); }, 1000 * 20); } ); EOM
追記: !p.valueの判定を追加