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
}}}

こう書くと……

こんな感じに。

AsciiDocでRevision History

見ないうちに8.2.5と随分バージョンが上がったみたいだけど、相変わらずrevisionhistoryがイマイチだなあ。ここだけ専用のDocBookを用意しないといけないのが面倒。

これって、バージョン管理ツールとの連携を踏まえて履歴を外に出す方がいいんだろうか。

gitもMercurialもAsciiDoc使ってるんですねえ。やや広まってきたかな。

AsciiDoc version9なるものを発見。

AsciiDocの方もMercurialを使っているのか。ほほう。なんかいろいろ繋がってきましたな。

次はA-A-Pか。

Advanced Message Queuing Protocol(AMQP)

非常に気になる。またもやErlangかあ。別件で調べていた時もErlangが出てきた。やたら絡んでるなあ。

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からCygwinPythonをよびだすように設定。

まだ知らないところとしては、ここら辺。

  • MQでpatch管理
  • graphviz拡張でツリーを概観
  • hgsvnでsvnと連携?

分散型バージョン管理システムは、いろいろあってなかなか楽しそう。

個人的な興味としては、『分散』にはそれほどなく、どちらかというと『苦痛にならないブランチやタグ付け』の方にある。

CVSはかなり苦痛だったし、Subversionも改善はされたがやはり辛いものがある。GNU Archの作者Tom Lord氏のインタビュー記事*1を読んで妙に納得してしまった。