dformatプラグインを作って遊んでみた
これを改造して、
{{{#!dformat style bitwid .3 PDP-8 Instr 0-2 Op Code 3 Indirect Bit 4 Page-Zero Bit 5-11 Page Address }}}
こう書くと……
こんな画像に変換するMoinMoinのプラグインを作ってみた。
dformatはpicに変換するawkスクリプト(Bentleyの資料にあるやつ)で、そこからgpicでPostScriptに。またそこからGhostScriptでpngに変換しています。
もちろんpicプラグラインも。
{{{#!pic .ps -2 circle "DISK" arrow "character" "defns" CPU: box "CPU" "(16-bit mini)" { arrow <- from top of CPU up "input " rjust } arrow CRT: " CRT" ljust line from CRT - 0,0.075 up 0.15 \ then right 0.5 \ then right 0.5 up 0.25 \ then down 0.5+0.15 \ then left 0.5 up 0.25 \ then left 0.5 Paper: CRT + 1.05,0.75 arrow <- from Paper down 1.5 " ... paper" ljust at end of last arrow + 0, 0.25 circle rad 0.05 at Paper + (-0.055, -0.25) circle rad 0.05 at Paper + (0.055, -0.25) " rollers" ljust at Paper + (0.1, -0.25) .ps +2 }}}
こう書くと……
こんな感じに。
Variadic Templates
- http://d.hatena.ne.jp/faith_and_brave/20080208/1202461203
- http://www.kmonos.net/alang/d/2.0/variadic-function-templates.html
応用例としてprintfがあるようだ。
ネタとしてはPerlとかにあるようなpack, unpackを作り、ASN.1バイナリーエンコーディングなんてやるとカッコいいかも知れない。
Plan 9もMercurialを使っているみたい
久々に覗いてみたら hgweb の文字が。私が個人的に好感を持っているプロジェクトが次々とMercurialを使い出すのはなにかあるんだろうか。
AsciiDocでRevision History
Mercurial備忘録
最近非常に興味のあるバージョン管理システム。現在Cygwinで動作中。commit logのエンコードは、環境変数HGENCODINGにutf-8として設定。
Webフロントエンドの方は、強引にレポジトリ内のファイルのエンコードにあわせるよう以下のように対処:
$ env HGENCODING=euc-jp hg serve
hgrcにencodingを設定すればいいらしいのだが、commit logが文字化けした。(0.9.4):
[web] encoding = EUC-JP
最終的にはwebdir形式で、XAMPPのapacheからCygwinのPythonをよびだすように設定。
まだ知らないところとしては、ここら辺。
分散型バージョン管理システムは、いろいろあってなかなか楽しそう。
個人的な興味としては、『分散』にはそれほどなく、どちらかというと『苦痛にならないブランチやタグ付け』の方にある。
CVSはかなり苦痛だったし、Subversionも改善はされたがやはり辛いものがある。GNU Archの作者Tom Lord氏のインタビュー記事*1を読んで妙に納得してしまった。