pecoのクエリ画面でカーソルキーが使えない時の対処法みたいなもの。

タイトルそのままです。TeraTerm以外のターミナルソフトから、pecoのクエリ画面で↑⇣←→(&マウスホイール)を入力した場合、クエリが”OA”,”OB”,”OC”,”OD”(正確には”M-O,A”,”M-O,B”…)で認識されて使い物にならなかったため、キーマップをいじりました。どうにもカーソルキーのシークエンスがぶつ切りで認識されてしまうようです。
二本指打法なので、Ctrl+P/Nを使えという意見は受け付けません。

~/.peco/config.json

{
  "Keymap": {
        "M-O,C":"peco.ScrollPageDown",
        "M-O,D":"peco.ScrollPageUp",
        "M-O,A":"peco.SelectUp",
        "M-O,B":"peco.SelectDown"
        }
}

これでカーソルキーとマウスホイールぐりぐりが使えるようになりました。
下記の設定と合わせるととても便利になります。(とくにマウス持ったままCtrl+Rがつかえるのが自分のスタイルに合ってるので感動しました。)
開発がドチャクソ便利になるpecoの設定4つ – 文字っぽいの。

使用しているターミナルの環境によってはキーマップも変わってくるかもしれないですね。
ちなみにデフォルトのキーマップは下記です。
peco/peco · GitHub
vimみたいにキーコードのタイムアウト時間を変える方法があればなぁと思います。

Mojoliciousでforkしたけどやっぱり上手くいかなかった。

TimeLine CopierでMojoliciousでforkしたけどやっぱり上手くいかなかったので(処理途中でブラウザを閉じると処理は続行するがハートビートが消失したりする)、処理を別途スクリプトに書いて、systemコマンドでプロセスをキックするというクソみたいな処理に落ち着きました。

やりたいことは下記の内容に近いのですが、ブラウザからコネクションが切られても処理を続行したいのでプロセスキックが一番お手軽かなと思いました。全然モダンじゃないですね。
Perl – Mojolicious で非同期にファイル収集プログラムを起動する – Qiita

こんなのもありましたが、思っていたのと違いました。
Running a non-blocking command in Mojolicious | Brian Medley [blogs.perl.org]

明らかに挙動おかしかったのがまともに動くようになったのでもうこれでいいやってなりました。

それと、思うことがあったのでlistのBSDライセンスをなしにしたり、メール通知機能を廃止したりしました。
retrorocket/list · GitHub

Right Click to Calendarで正規表現を自分で編集できるようにしました。(ベータ)

Right-Click to Calendar – Chrome ウェブストア
選択したテキストに対して正規表現が使えるようになりました。
終了日時まで渡せるようにするとややこしいため、そこは手を入れずに一旦ベータ版として出しています。
あと、明らかに関数化したほうがいいところや、一旦変数にしたほうがいい箇所はもろもろ対応するときに直します。

v3.1からイベント設定画面で入力可能な要素を全て設定できるようにしました。自分で使ってすごく便利だったのでもっと早く実装しておけばよかったと思いました。(小並感
RegExpに引き渡せる正規表現ならなんでも使えます。

JSON::PP::Booleanを含むオブジェクトはMojoliciousでjsonにrenderできない。

例えば、こんなスクリプトがあったとすると、

use JSON;
use Data::Dumper;

my $str ='{"boolean_value":true}';
my $hash_data = from_json( $str );
my $str_data = encode_json( $hash_data );
print Dumper $hash_data;
print $str_data;

実行結果はこうなります。

$VAR1 = {
          'boolean_value' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
        };
{"boolean_value":true}

Mojoliciousで$self->render( json => $hash_data );を実行すると真偽値がそのまま出力されそうな気がしますが、残念ながら{“boolean_value”:”1″}が返却されてしまいます。
真偽値がJSON::XS::Booleanだったときは大丈夫だったのでそのまま行けると思っていたのですがだめでした。
無理して使わない理由もないので、Mojo::JSONを使用するように修正しました。

サーバ移転しました。

(私がリアルで移転(引っ越し)しそうなのでその前に慌てて)ずっと解約したいと思っていたワンコインVPS(Debian 6)からさくらの1GBプラン(CentOS 7)に移行しました。移行先としてAmazon EC2も一瞬候補にありましたが、スケーラビリティが売りのサービスに乗せても仕方ないし、あと海の外の企業なのでやめました。
26日が解約締日なのですが、それまでに間に合わなかったのと、1月からさくら契約してたのに丸2ヶ月手付かずでもったいないことをしました。

Debian系はRaspberry Piがあるからいいやということで思い切ってCentOS 7にしたのですが、リリースされてしばらく経つOSのはずなのに情報がなさすぎて後悔しました。「完全に互換性がある」って言葉は全く信用してませんが、MySQLでバックアップしたWordPressのdbはMariaDBでリストアできて問題なく動作するということだけお伝えしておきます。

メインサイトの方はすったもんだがあったのでサブドメインを変更しました。

すごく久々にPCをいじったのですが、やっぱりNexus5だけじゃできることに限界があると感じました。当たり前だけど。