ちょっとしたプログラムパッケージや LaTeX ドキュメントを作成する時に、Makefile やその他ファイルのスケルトンをまとめて生成する算段を検討中。 例えば Perl の h2xs のような感じ。
基本的には Template Toolkit ベースでいってみたい。 ttree あたりを使えばだいたいできそうだ。 ここで --define var=value で全て間違えずに指定するのは大変になってくるだろう。 ということでテンプレート変数定義をまとめたテンプレートファイルを作成し、各テンプレート処理をする際にプリプロセスするようにする。
でこのテンプレート変数定義のテンプレートファイルは対話的に作成できるようにしたい。 テンプレートファイルのテンプレートファイルを処理して。
で対話的入力の方法なのだが、探してもそのようなディレクティブもプラグインもみつからない。ありそうなもんだけどなぁ。
しょうがないので、PERL ディレクィブ内で Term::ReadLineを使って入力。 こんな感じ。
[% TAGS [- -] -%] [- PERL -] use Term::ReadLine; my $term = new Term::ReadLine('template'); $stash->set('readline' => sub { my $prompt = shift || 'input:'; my $text = $term->readline($prompt); if (defined $text) { $term->addhistory($text); } return $text; }); [- END --] [% project.name = '[- readline('project name:') -]' -%] [% project.author = '[- readline('author:') -]' -%]
tpage でこのテンプレートファイルを処理すると、対話的に値を入力しながらテンプレートファイルを生成できる。 実際は文字列のエスケープなどもうちょっと工夫が必要。
ちなみに Debian GNU/Linux sid の libtemplate-perl は 2.10-1 で、このバージョンの Template Toolkit の tpage だと EVAL_PERL が有効になっておらずうまく動かない。 手元にコピーして Template オブジェクトの初期化部分に EVAL_PERL => 1 を追加する必要あり (2.14 の tpage は --eval_perl オプションで有効にできる)。
Term::ReadLine を使ってみたのだが、ヒストリ機能も行編集機能も働かない。あれ?
で調べたらTerm::ReadLine::Gnu がはいっていないせいだった。 インストールしたらあっさり解決。
DiKicker にはまたコメント機能を実装しておらず、かわりにくっつき BBS を利用できるようにしてある。 くっつき BBS は JavaScript Include を利用して手軽にコメント機能を追加できる便利な BBS。
JavaScript Include なのでコメント部分については Web ブラウザ側で外部スクリプトを読み込んでいくことになる。外部スクリプトをロードしている間はレンダリングが先に進まないので、外部スクリプトの配信・転送に時間がかかるとそこで表示がひっかかてしまう。 このため DiKicker としてのページの生成・出力が短い時間で終わっていても、結果的に閲覧者側でのレンダリング完了には時間がかかってしまう。
nDiki でもかなり遅く感じるようになってきたので、一旦くっつき BBSを外すことにした。 やはり早々にコメント機能を実装しなくては。
Greasemonkey で遊んでみた。 Web ページを閲覧した際に、ある条件のURLへのリンクが含まれていた場合にそのページをフェッチして、その一部をサマリーとして今閲覧しているページに挿入するというもの。
とりあえずシンプルに、DOMインタフェースで該当するURLをピックアップしたら、XMLHttpRequest でそのページをとってきて処理するようにする。
うまく動いた。
一気に連続アクセスしまくった。
……ひとまずアンインストール。 やるにしても、タイマと XMLHttpRequest の async を使ってちょっとずつページを更新していくようにしないとまずいな。
NEX-5N を使っていてコンパクトさが気に入っていて、あとは AF 性能がもう少し良くてファインダーがあればと思っているので、α7 のファストハイブリッドAFとXGA有機ELファインダーがどんな感じかが気になるところ。
コンパクトさが犠牲になるのでフルサイズについてはこだわりはないのだけれど、マウントアダプタで 35mm 判用のレンズをつけるのにはいいのかな。仮にα7を買ってもレンズ揃えるの大変そうなのでそうなったら手持ちのEマウントレンズをクロップ撮影で使ってベター NEX として使うことになりそう。でもそうなら NEX-7/6 ラインナップの後継機種の方が(出るとして)良いのかもしれない。
APS-C サイズの NEX / Eマウントも継続して出てくれるといいなあ。
予算的に買わないと思うけれどいろいろ考えるのは楽しいね。
初冠雪した富士山の白さが美しい、いい陽気。昼に渋谷ロフトにパイロット クーペ(油性ボールペン)の替芯を買いに行ってきた。
3年前に買ったボールペンなんだけれど結構気に行ってずっと使っている。会社ではこれか、あとは万年筆を使っているんだけれど思ったよりインクがもったなと。当初のお気に入り感が続いているので良い。
テキストファイルでのノート・日記を書くのにここ最近 iA Writer を使っているのですが、日本語の検索が完全ではない(マッチしないものがある)ので、標準で Markdown プレビューを備えている Atom を使ってみることにしました。
「プロジェクトフォルダを追加」することで IDE のように左側にディレクトリツリーが表示でき、ディレクトリ内の検索もできるので、キーワードでノート・日記を探すのに便利。
一般的なテキストエディタですから複数タブやペイン分割ももちろんでき、ノート・日記の整理をしたり nDiki の記事ファイルを書き起こしたりするのに便利です。
ノートツールとして使うには自動保存・自動再読み込みが欲しいので日本語メニュー化とあわせてまず以下のパッケージを入れました。
これでひとまず使えそうです。
ただ iA Writer が不要になるかというと、完全には乗り換えられない感じです。 distraction-free さと新規ファイルを作る時の手軽さを考えるとまだiA Writer を手放せない感じ。
複数のツールを併用できるのもテキストファイルベースの良いところですね。
[ ノート・日記はテキストファイルに ]
ルービックキューブの練習を再開し MoYu Weilong GTS2 Stickerless を購入したのが9月上旬(記事)。家と会社で回すのに GTS2 を持ち歩いていたのですが、家に置きキューブがあった方が良いなということで新しいキューブを買おうと tribox を物色しました。
磁石内蔵ではない2,000円台の Stickerless モデルだとやはり一番人気は QiYi Valk 3 の模様。55.5mm のでも良いのですが、今回は手の小さい人にも遊んでもらいたくて試しに 47.4mm の Mini の方を購入してみました。
ミニながらきちんとした箱に入って予備パーツまでついてきています。Mats Valk 選による元世界記録 4.74秒にちなんだモデルということによる力の入れようなのでしょうか。
GTS2 と Valk 3 の 55.5mm 同士を比較するのでは無いので、あくまでもファーストインプレッションというところになりますが所有している GTS2 と比べて以下のような印象を感じました。
ただ使っている間に馴染んでくる気もするので、回し心地の滑らかさの判断はもう少し後にしたいところです。しかし GTS2 の滑らかさはクセになりますな。
他のルービックキューブと並べておくとなかなかキュートでほっこりしちゃいますよ。
[ 製品レポート ]
PowerShot G9 X Mark II 前面のコントローラーリング、去年の4月6日にステップズームに変更してずっと使っていたんだけれど、タッチパネルで絞り値を変更するのが面倒に感じてしまうのか Av モードをあまり使わなくなり AUTO モードばっかりになっちゃった。
なのでいったん初期設定に戻してコントローラーリングで絞り値を変更できるように戻してみることにした。
AUTO モードでステップズームを使って便利なので M・Av・Tv・P モードをステップズームに変更。
本日10月16日にケンコー・トキナーからソフトフィルター「ブラックミストNo.05(Black Mist No.05)」発売されると知ったのが昨日。「ブラックミストNo.05スペシャルサイト - ケンコー・トキナー」によれば
「ブラックミスト」は、ハイライトとシャドウ部のコントラストを抑え、まるで映画のワンシーンを思わせる絶妙なニュアンスを得ることができるソフトフィルターです。レタッチなしで、撮ったその場でシネマティックな質感を得られるのがブラックミストの魅力です。
とのこと。RICOH GR III で使ってみたい。そう思って、RICOH GR III 用レンズアダプター GA-1 と 49mm のブラックミストNo.05を昨日即注文してしまった。持ち歩くのにレンズキャップもあった方がいいなと後で思い、今日帰りにビックカメラへ。RICOH / GR ブランドのは無いので、同じリコーイメージングということで PENTAX レンズキャップ F49mm 31491 をチョイスした。
使うの楽しみ。
[ 製品レポート ]
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。
※内容は個人的見解であり所属組織とは関係ありません。