Skip to main content

ログ取得ツール

簡単なPostscriptの書き方

玄人はPostscriptを手で書くらしいですが、我々素人はもう少し簡単な方法を使う必要があると私は考えます。というわけで、半分オススメの方法。

  1. TkのCanvasに絵を書く
  2. Postscriptに出力する

例えばPythonのTkinterだと、次のような感じかな。メソッド名は補完が利くし、いざとなったらhelp(Tkinter.Canvas)でヘルプが見えます。


>>> import Tkinter
>>> c=Tkinter.Canvas(bg="white")
>>> c.pack()
>>> c.create_line(0,0,100,100,0,100,fill="blue",width=10,arrow="last")
1
>>> c.create_text(200,200,text="text!")
2
>>> c.postscript(file="outfile.ps")
''

Canvas.postscript()は引数なしだとPSの内容が文字列として返されます。ただし日本語のtextは画面上は見えるけど、PSにすると化けるようです(ダメじゃん)。 座標を手動で指定するのはいいけど、どこがどこだかわかんない! という方は、


>>> def print_event(ev): print "x,y=",ev.x,ev.y
...
>>> c.master.bind("<Button-3>", print_event)

なんていうふうにしとけば右クリックでその位置の座標がわかります。

違いのわからない人

AmazonでCDを1枚だけ注文したのがNittsu Mail(印鑑が必要なくて不在でもポストに入れてってくれるやつ)じゃなくてPelican(普通の宅配便)になっていた。受け取れず。 CD2枚とかPS2のゲーム1本はこれまでNittsu Mailになってたんだけど。 何かあったのかなぁ。不便なことだ。 (追記) 2004-09-25 25:11 CDをもう1枚注文してみたら、今度はSagawa Mailになっていた。これはポストに入れてくれるやつだと思う。

奥さん

オックスフォード大との試合は完勝だった。前半見そこねたけど、後半は一方的な試合。あれでオックスフォードには初勝利だそうだ。メンバーとかはあまりチェックしてなかったのでよくわからない。 しみじみ思ったが、清宮監督は偉い。あんなに偉い人はあまりいない。いるとしたら、フロンターレの関塚監督くらいだ。 奥・井ノ上イラク子ども基金(oku-inoue-fund.com)というのがあったので、少額だが振り込みで募金しておいた。 しかし告知に電話番号しか出さないNHKはどうかしている。このサイトがフィッシング詐欺だったらもう笑うしかないではないか。早稲田ラグビーのページ(wasedarugby.com)から飛んだので、たぶん大丈夫だとは思うけど。

無駄に買い物、しかし外出は面倒なのね…

注文していたノート用メモリ512MBx2が到着。早速持ち歩きPCを1GBにしてみた。しかしLinuxのカーネルをHighMemory対応にしておかなかったため、800MBちょいしか有効にならないという…まあこれはカーネルを入れ換えれば済む話。で、追い出された256MBをサーバ(このサーバもノートPCなんです)に回して、128MBだったのが384MBになった。少しは快適になっただろうか。 さらに、あまり使う気がないデスクトップPCを注文。まあ、遊びで。消費電力と騒音を見て、大丈夫だったらサーバにするし、大丈夫じゃなかったら…うーん、売る? 使う? なんか大丈夫じゃない予感もする。自宅内ネットワークをGbEにしようかとも思うのだが、どうかな。GbEのハブはこないだ7千円ちょいとかで売ってた。ちゃんとJumboFrameにも対応してるやつなのに。 今回は決済にネットデビットを試してみた。口座番号と銀行サイト(JapanNetBank)のログインパスワードだけで高速に決済できるという業物。注文直後に銀行サイトで普通口座のログを確認したら、すでに引き落とされていた。明日配送されてきたら笑える。ていうか今日中だったらもっと笑えるのだが、さすがに午後になってるから店頭からでも当日配送は無理め。まあ1週間くらいかかっても不思議はないな。

湘南0-1川崎 (高湿度でくらくら)

家を飛び出してアクティに揺られ、開門時間付近に平塚競技場に着いたが、けっこう並んでいた。ほどよい位置に席を確保。間もなくサポーターズシートは満席に。早めに出てきて良かった。こりゃ木曜の等々力も早く行かなきゃダメだな。 そして開始早々の我那覇の得点に沸いた。なんか妙に汗をかく。たしかに水分は多めにとっていたけど…なんか暑い。むしろむしろ蒸し暑い。審判は例によっていまいちだし、中盤で膠着状態になっちゃうし、入ると思った(というか入ってたよ)シュートもなんかネットをすり抜けたかなんかで認められず(んなわけないが(笑))、そして(試合の前からでしたけど)後ろの席の人がぶつぶつ文句を言う。そんなこんなで不快指数が高まりながら、そのまま終了。 湘南は、コーナーキックはけっこう恐かったですね。あとは前半にアマラオが抜け出して吉原をかわしたところは泣きそうになったな(2人がゴール前に戻っていてシュートをクリアし、ことなきを得る)。川崎はやはりジュニーニョがいないときついですね。我那覇はポストはできるけどキープできる時間が限られているし、今野は相変わらず合ってない。そこ以外は、憲剛ベティ相馬は良い出来だったし、アウグスト、あんたは最高だ。 しかし考えてみれば、後ろの人に恵まれなかったのは久しぶりでした。立って跳ぶ席にいたためもあって、ここのところずっといい感じだったんだけど。あれは非常に、萎えますよ。初めて競技場に行って後ろの客があんなんだったら二度と来ないな。短かい人生で喋れる言葉は限られているんだから、もっといい言葉を選んでしゃべりなよと。忠告してあげたほうがよかったかな。 福岡は横浜に負けたけど山形が勝って本日の昇格はありませんでした。あとは明日大宮が勝ってくれれば、木曜に等々力であれをできます。 (追記) 2004-09-19 18:21 大宮、勝ちました。木曜は等々力だ!

快速アクティー、それは最強への電車

明日のプロ野球はお休みだそうですね。あれやこれやでご苦労なことです。思うことはいろいろあれども、ライブドアが川崎に来なくてよかった。私は本気で心配していました(うそ)。川崎で成功をおさめることは難しい。仙台ならあるいは成功を得られるかもしれない。楽天は神戸とか言ってますけど、普通なら四国のどっかにするでしょう。北陸というセンもあるけどね。おれなら、沖縄にします。 ストライキなんて本職の労働者ですら久しくやってないので、普段の試合に匹敵する見ものだ。私は組合の係をやっていた時代があって、スト権移譲投票の投票用紙を集めて回ったり「ストやるかも」的なアナウンスもしてたけど、ストやるんじゃないか、みたいなドキドキ感あふれる気配は感じたことがない。今回の方式は誰の入れ知恵かわからないけど、うまいことやりそうだね。 というわけで前置きは長くなりましたが、明日は湘南戦です。走れ快速アクティ〜。アテネで名を馳せた湘南の新監督はあの早野さん並にダジャレ好きらしい。 なんかジュニーニョが怪我して我那覇がついに(というかなぜか)トップ下?(nikkansports.com) とかいう話もありますね。どうなることやら。あえて、そこをあえて駄洒落にするなら「ジュニーニョがいない川崎はジューニんでやってるようなもニョですね」あたりか。でもおれらがジューニ番目の選手だから、大丈夫なんだニョ。 …ありえん。仕事で冷えきって疲れた身体にアルコールを入れたのが間違いだった。我ながらアホだ。 そう、いまおれたち「ジュニーニョと愉快な仲間達(Google)」チーム。でもKANAGAWAダービーだし、「愉快な仲間達」のほうだけであっても、勝ちにいってほしいなぁ。 ちなみに川崎地方はKANAGAWAとGANAHAを見間違える人が多い、国際色豊かな土地柄です。明日また混みすぎて望みのエリアに席を確保できなかったら…とりあえず泣きます。

撮影?

家に帰る途中、ありえないダンマク(遠くのスーパーより鵜下銀座??)、ありえない位置の交番(前から変な小屋ができていて何だろうと思っていたんだ)。けっこうおおがかりな撮影があったらしい。騒然としていたので事故かと思ったら。あとスタッフみたいな人もうろうろしていた。 なんだろうな。なんかの映画とかかなぁ。 (追記) 2004-09-23 21:57 「鵜下」ではなく「鴨下」でした。鴨下銀座。鴨下町交番。

Firefox 1.0PR出てますね

昨日からうちのFirefoxの調子が劇的に悪くなっていた。ページによってスタイルシートが全然反映されないの。切り換えるボタンがあるんだけど、それで選択すると、メモリをバカ食いしまくりはじめ、いずれカーネルに怒られて落とされる。 それでしょうがないのでインストールし直そうかなと思ってmozilla.orgを見てみたら、1.0PRが出てました。入れました。設定しまくりました。 まだテーマやExtensionで対応してないものも多いので完全ではありませんが、sageさえ入ればさほど日常に影響はないので、まずは安心してます。スタイルシートの問題も直りましたし。 いろいろ変わってますね。RSS自動検出。拡張とかのインストールできる/できないをサイトで分けられたり。 (追記) 2004-09-15 12:04 RSSは自動検出どころかLive Bookmarkで完全にブックマークとして扱えるようになってますね。登録するとフォルダという扱いになって、中にブックマークができる。たぶん自動的に更新されるんでしょう。これは…Sageいらなくなるかもしれんよ。 (追記) 2004-09-15 21:36 うおー! ページ内検索が猛烈に使いやすくなってるよ! これでページ内検索のためにGooglebarを使う必要がなくなったよ!!!

単にそのままzipに入れればいいんじゃん

昨日のMHTMLの話の続きで、要するにページを保存するときに、関連する複数のファイルを保存したい&URLをメタデータとして持っておきたいということだと思った。 これだけだったらzipやtarでファイル名が入る領域にURLの文字列を入れればいいだけだ。zipならアーカイブの中のファイル毎にコメントがつけられる領域があるから、コメントの部分にHTTPヘッダを生で保存すりゃいい。というわけでPythonで書いてみた。さすがにファイル名がURLだとWindowsでもLinuxでも開けない。展開すると…しないほうがいいって感じになる。普通のunzipとかじゃなくて、自分で書いたので展開していく必要がある。だってディレクトリのような名前でファイルのデータが入ってたりするし、Windowsの場合はそれ以前にファイル名が「http://」ではじまってしまうのを処理できてなかった。LinuxのunzipとかFileRollerの場合はhttp://はどうにか「http:」というディレクトリということで処理してくれたけど、やはりいまいちな感じ。 というわけでZipについて書いてみたり、mhtの猛烈に遅いCGIインタフェースを書いてみたのはいいんだけど(ちなみに昨日恥ずかしげもなく上げたmht.pyはforwardされる場合とかにけっこうバグります)、やっぱりMHTMLとZIPとtarと…というのをいろいろ組み合わせて、共通する部分は共通化したほうがいいと思うので、どういう構成にするかちょっと悩みはじめたよ。URLとリンク追跡とかの部分と、共通インタフェースを持ったアーカイブファイルの部分で階層に分けて、主をURLのほうに置けばいいのかなぁ。主をアーカイブのほうにしたほうがいいのかな。いや今回の主はURLのほうだ。 アーカイブの共通インタフェースはPythonの場合は標準ライブラリにZipFileとTarFileがあるから、ある程度は規定できる。あとは展開やCGIインタフェースのほうもURLが主のほうがやりやすいなぁ。mafみたいに特定の名前のファイルをRDFとして入れて使うか、先頭にあるファイルがメインのファイルだなんとな〜く思うか、というあたりも含めて。フォーマットの変換は簡単にできるようにしとかないと後で嫌になるだろうし。どうしようかな。この程度の話で眉間に皺を寄せて上げてFactoryMethodがどうの、とか言いだしそうな自分が恐いが。 なんでこんなこと言ってるかっていうと、やはり見たページは全部保管して後で処理したいなぁ、という思いが強くなってきたからだ。いわゆる個人用web.archive.org。「昔見たんだよなぁ」というページを全部保管してあって検索できるので至極便利、と言えるはずだ、よね。そのための要素がまだけっこう足りてないなぁ、と思っている。Webページ単位で、URLやヘッダ情報なんかも含めて元のファイルを完全に復元できる&普通にローカルだけで見られるように加工して復元できる、という状態のアーカイブがあるのがいいと思う。コメントをつけられるとさらにいいかも。 「個人用web.archive.org」は意外と悲願だったりする。記憶領域があれば、「見たTV番組は全部保存しておく」とかもあってほしい。TV番組とかはどうせ見てない番組までオンデマンドでいつでもどこでも見られるようになる…はずだったんだけどな。世の中ってのはなかなか便利にならない。