zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2001年11月01日(Thu)

backup

CD-Rにバックアップをとってscandiskをしてdefragをした。


2001年11月02日(Fri)

trimmer

空白とタブが混じってる場合も考えるとtrim!(tabsize=8)のようにタブが空白何個分か受け取って…と思ったらgsubで困った。

どうせ変更してしまうのだからgsub(/^[ \t]+/){ $&.gsub(/\t/,' '*tabsize}のように行頭のタブは変更してしまってもいいのかもしれない。

PostgreSQL

Tuple is too bigで困ったのでGoogleで検索してみたら6.5.3だと制限があって7.1以降にすればよさそう。


2001年11月03日(Sat)

emacs-w3m

CVSのHEADをtarballでとってきてsh autoconfsh configure --help|ttpagesh configure --with-emacs=c:/Meadow/1.14/bin/meadow95 --with-lispdir=c:/Meadow/1.14/site-lisp/w3mmakemake installですんなり入った。

デフォルトだとsででてくるツリー型のURL historyが便利。AirWebの初期の頃に一次元的な「戻る」や「進む」だけだと不便だからどうにかならないかなとどこかで書いたけどツリー型にすればよかったのか。


2001年11月04日(Sun)

ソースのHTML変換

gvimのヘルプのsyntax.txtに書いてあったfor f in *.[ch]; do gvim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" $f; doneで変換するのがきれいに出来そうだけどフィルタとして使えないのが不便。

http//

http//で始まるURLっぽい文字列に残念な思いをした。\

型チェック

あれ? amstd/must.rb は型チェックだけですよね?って今日のお題は「メソッドの引数の型チェック」。からは型チェック以外のものが読みとれなかったのですが、メソッドのということで自動抽出というのがポイント?

もしかして契約による設計 - Design by Contract(DBC)が目標?

本日のツッコミ(全1件) [ツッコミを入れる]

あづみ [指摘ありがとうございます(汗;;;;;]


2001年11月05日(Mon)

[nDiary][Ruby]ソースコードの引用に便利なYetAnotherQuoteフィルター

nDiaryのフィルタですが、終わりの行はhere documentのように最初の行でYetAnotherQuote: EOLという感じで指定出来る方が汎用性が高そうな気が。

CVSROOT

perl -pli -e 's/old.example.com/new.example.com/' **/CVS/RootのようにしてCVSROOTの書き換えをした。正規表現の.のエスケープをしていないのはRootの中には他に影響を受けるものがないことがはっきりしているから。**はzshの機能。

本日のツッコミ(全2件) [ツッコミを入れる]

をゐなり [いやまあ、そうなんですが、帰り際にちょこっと作っておしまいのつもりだったので。 Quote:やCode:のオプション..]

not [私が昔作ったのは Code: /Code ってな感じのやつでした。どうせなら Code: や Quooe: 以外も通..]


2001年11月06日(Tue)

~/emacs/startup/

initをつけるのならysjjさん方式の後ろにつける方が補完しやすくてよさそう。

EO[A-Z]

EO[A-Z]はhere documentで使うことがあるので困りそう。

値渡し

dRubyなどと同じで、Apolloのような組み込みのものもtextメソッドで取り出した文字列をconcatなどで破壊的に操作しても元のプロパティは変わらない。


2001年11月07日(Wed)

RAA

YARAAで使われているRAAのSOAPインタフェースってxmlrpc4rとSOAP4Rのサンプル、それからなひさんのSOAP-mlくらいしか情報が無いらしい。

日本語でxmlrpc4rを検索すると6件…。

英語の情報だと[ruby-talk:13129]もあるらしい。

実験的「実験的日記」

縦書き。IE5.5SP2だと下を押すと左にスクロール。わかりにくっ。

readers-writer-lock

sync.rbっていうのがあるのを見つけたので適当に説明を書いてruby-devに直してほしいなという感じでメールしたらさっそくreentrant reader/writer lockでThread の相互排除に使うものっていう説明をしてもらって直してもらったという。ソースを読んでそういうものだとはわかっていたけどうまく説明が書けなかった(特にreentrantという点)のでメーリングリストにふってみたのは正解だった気が。


2001年11月08日(Thu)

SuEXEC

SuEXECのCGIを実行出来るようにするためにはpublic_htmlにgroupのwrite権限があるとダメだったらしい。

emacs-w3m

../emacs-w3m/configure --with-emacs=c:/Meadow/1.14/bin/meadow95 --with-lispdir=c:/Meadow/1.14/site-lisp/w3mと別ディレクトリでmakeしようとしたらMakefile.inがないということで止まってしまったので、結局同じディレクトリでやり直した。


2001年11月09日(Fri)

XHTML

XHTMLを出力するスクリプトをさくっと書いていたら「仕様書の3.1.1にある文書型宣言をそのままコピーして使うと落とし穴があります。」というのに見事にはまりかけてしまった。こういう罠があるというのを読んだことがあったのを思い出してはまらなくてすんだけど。


2001年11月10日(Sat)

RWiki

書き込みをSaveしないでおいといて、別のことをしていて戻った後、間違えてリロードをしてしまってせっかく書いたのが消えて残念な思いをしてしまった。


2001年11月11日(Sun)

reverse.each

reverse.eachって前にもみたことがあるけどArray#reverse_eachってEnumerableにはないから存在に気づかれにくい?


2001年11月12日(Mon)

dRuby本

やっと買った。大きい本屋じゃないと売ってなかったので探すのが大変だった。

メール遅延

[ruby-dev:15114]がなぜか20時過ぎに届いていた。前後のメールは普通に届いてるのにこれだけ何故?


2001年11月13日(Tue)

ウィンドウエクスプローラ

エラーメッセージの文字列を取得するソフトとして前はnuke++を使っていたけどVisual Basicのランタイムを入れるのが面倒になったので、別のソフトにしてみた。

reverse_eachとかの話

速くするのならkeys = data.keys; keys.sort!; keys.reverse_each ...という手も。破壊的メソッドを使うとメソッドチェーンが出来なくなるのが難点ですが。

ruby 1.7 featureにあるEnumerable#sort_byとかそのやり方だけまねしてSchwartzian transformで、という手も。


2001年11月14日(Wed)

本日のツッコミ(全2件) [ツッコミを入れる]

りの [Monetって、あのモネですよ。ハスとか描いてた。]

アバン(新進気鋭) [http://www.bluemountain.com/eng3/fineart/CBDmonet2.html]


2001年11月15日(Thu)

sent

結局宅急便®で送った。せっかくなのでクロネコヤマトの荷物お問い合わせシステムで確認してみた。よく見たらハイフンを除いたと書いてあるけどハイフンありでも検索できた。注意書き意味無し?

Monet

モネでしたか。日本語のページで検索の結果の上の方だとよくわからなかったのが敗因かも。

Java

とりあえず挑戦中。importせずに書いていると名前が長い。newが長いjava.ioぐらいはimportした方がよかったのかも。


2001年11月16日(Fri)

Java Thread

newした後startを忘れていて、結果が返ってこなくて悩んだ。

screen

screenをttsshから開いて使った後、コンソールからattachしたらプロンプトの色つけなどの影響で変な表示になってしまった。


2001年11月17日(Sat)

NTFS 2000とハードリンク

プログラマから見た NTFS 2000 Part1: ストリームとハード リンクハードリンク/ジャンクション作成ツールによるとWindows 2000だとハードリンクが作成できるらしい。


2001年11月18日(Sun)

このページを使用して、クリップ ボードから情報を貼り付けますか?

スクリプトによる貼り付け処理の許可ダイアログを表示するにしているとフレームの中でコピーが出来ない。コピーでもダイアログがこのページを使用して、クリップ ボードから情報を貼り付けますか?なのも気になるけど。

IE直接だと大丈夫なのでDonut R(Rapt)だからみたい。バージョンを#6から#8あげてみたらフレームの中でコピーできないのは直ったけどダイアログのタイトルは同じまま。

here document

もうちょっとがんばると/<<(['"]?)(\w+)\1.*?^\2|<<-(['"]?)(\w+)\3.*?^\s*\4/mという感じですか。<<-のところはPerl5の正規表現ならまとめられそうですが。それから1行に複数のhere documentがあるのにも対応できてないので誰かがんばってみてください。って戻ってマッチし直さないといけないから無理?here documentの後ろのものも巻き込むのもいいのかどうかが不明。

JST-9

ENV['TZ']JST-9になるのって自分で設定しているからのはず。Windows 98SEのデフォルトだと東京とか入ってて驚いたので。

かんな

mkdic userってやったことないけど学習できてるような気が。

tDiary mini memo

referer_tableのを入れておこう…。


2001年11月19日(Mon)

Xcom Internet Radio Station

IRCnetの#XIRSでも話が。

irbsh

require 'fools'になっているところが…。

String#+@String#-@irbsh_systemにするというのを思いついた。

バッファをFileとして扱うというのはOnelinerに似ているかも。

foottextへのリンクが変(#が抜けている)。

raise

引数が無い場合は、同スレッドの同じブロック内で最後に rescue された例外オブジェクト ($!) を再発生ということで引数なしを使っていたけど、raise $!でも同じらしい。

CHOCOA

Ctrl+Alt+0で10という感じでCtrl+Alt+数字を押すと10から19のチャンネルに移動できると言うことを教えてもらった。

本日のツッコミ(全1件) [ツッコミを入れる]

るびきち [ども、指摘ありがとうございます。]


2001年11月20日(Tue)

debian

Debian Tipsを参考にしてパッケージの作成をしてみた。
% wget -N http://www.yoshidam.net/xmlparser-0.6.1.tar.gz
(略)
% apt-get source libxml-parser-ruby
(略)
% cd libxml-parser-ruby-0.5.16
% uupdate ../xmlparser-0.6.1.tar.gz 0.6.1
Old Release libxml-parser-ruby 0.5.16-1.
New Release will be 0.6.1-1.
-- Untarring the new sourcecode archive ../xmlparser-0.6.1.tar.gz
1 out of 1 hunk FAILED -- saving rejects to MANIFEST.rej
1 out of 1 hunk FAILED -- saving rejects to extconf.rb.rej
The diffs from version 0.5.16-1 did not apply cleanly!
Rejected diffs are in ./MANIFEST.rej
./extconf.rb.rej
Press <RETURN> to continue...
Remember: Your current directory is the OLD sourcearchive!
Do a "cd ../libxml-parser-ruby-0.6.1" to see the new package
% cd ../libxml-parser-ruby-0.6.1
% diff MANIFEST.orig MANIFEST
% rm MANIFEST.orig
% diff extconf.rb.orig extconf.rb
% rm extconf.rb.orig
% less MANIFEST.rej
% vi MANIFEST
(手パッチ)
% rm MANIFEST.rej
% less extconf.rb.rej
% vi extconf.rb
(手パッチ)
% rm extconf.rb.rej
% vi debian/changelog
libxml-parser-ruby (0.6.1-0potato.1) に変更。
% dpkg-buildpackage -rfakeroot -us -uc
(略)
%
../libxml-parser-ruby_0.6.1-0potato.1_i386.debが出来るがxmlparser.soが./i586/xmlparser.soになっていて悩む。debian/rulesのarchdir := $(shell ruby -e 'require "mkmf"; print $$archdir')でarchdirが$(rubylibdir)/$(arch)になってしまうからのようだけどどうすれば?

expat

libdir   := $(shell ruby -r rbconfig -e 'print Config::CONFIG["libdir"]')
archdir  := $(shell ruby -r rbconfig -e 'print Config::CONFIG["archdir"]')
にすればいいと教えてもらって入ったけど、
% ruby buildertest.rb
ruby: error in loading shared libraries: (略)/xmlparser.so: undefined symbol: XML_ParserCreate
% ruby digesttest.rb
(略)/xmltreebuilder.rb:51:in `new': wrong argument type nil (expected Data) (TypeError)
        from /usr/lib/ruby/1.6/xmltreebuilder.rb:51:in `new'
        from digesttest.rb:14
という感じで結局expatが古い(1.1)という理由で使えなかった。

かんな

頻度辞書はデフォルトでは全ユーザ共有ということでしたか。


2001年11月21日(Wed)

cygwin

新しいsetup.exeはbase以外は選んだものだけ入るようになったらしい。


2001年11月22日(Thu)

RWiki

calendar拡張。自宅の非公開RWikiに入れてみたら曜日がついてないのが気になったので、tableに<tr><% cn.each {|x| %><th class="<%= x %>"><%= x.capitalize %></th><% } %></tr>を入れた。 それからCSSで

  .sun, .mon, .tue, .wed, .thu, .fri, .sat {
    text-align: right;
  }
  .sun {
    background-color: #faa;
  }
  .sat {
    background-color: #aaf;
  }
を指定した。

strftime

「%J」が日本語曜日というのをみて「%@」でインターネットタイムにするというがあったのを思い出した。

真・もののけ日記ブラウザー

Last-modifiedがとれない対策としてxcg(広告の入らないCGI)を置きたい気がするけどLast-modifiedだけ取り出すのってアンテナ用のCGIを入れた方がいい気もする。

cygwinのgdb

Linuxとかのgdbと同じつもりで初めて使ったときはたぶんびっくりします。(という話がIRCの%rubyで。)

Meadow,Emacs

C-x 5 2などで複数フレームを開いたときにAlt+F4で閉じたかったので(global-set-key [M-f4] 'delete-frame)と設定した。

String#+@,String#-@

そんな感じです。ワンタッチsystemコマンドをみてruby側で工夫をするならStringの単項演算子がよさそうと思っただけです。実際に標準で入れてしまうと予想外のところで呼び出されてしまって混乱することがありそうですが。

irbsh

"Meadow-1.14.2pre3 (AWSAKA:62)"とmingw32版rubyの組み合わせで動きました。
  1. *.elは普通に入れた。
  2. irbsh-lib.rbはc:\cygwin\usr\local\lib\ruby\site_rubyに入れた。
  3. 他のライブラリと同様に(when (locate-library "irbsh") (autoload 'irbsh "irbsh" "irbsh 〜IRB.extend ShellUtilities〜" t))と設定。
  4. irbでは実行できないということで(setq ruby-program-name "ruby -S irb --inf-ruby-mode")と設定した。
  5. irbsh-buffer-file-replaceSymbol's function definition is void: make-temp-fileというエラーになったのでmake-temp-nameに変更した。

2001年11月23日(Fri)

URUG

QuickML.COMでURUGのメーリングリストを作ってみた。


2001年11月24日(Sat)

irbsh 0.4.1

irbを直接実行したときには読み込まないようにするにはload "irbsh-lib.rb" if ARGV.include? "--inf-ruby-mode"とすれば良かったらしい。

pの罠

@ref=nilが問題なんじゃなくてp.sayつまりnil.sayになってるのが原因。hello.sayにすれば解決。

bad value for range になるかと思ったらnext if (line =~ /^HIDE$/../^\/HIDE$/ or line =~ /^SECRET$/../^\/SECRET$/)は条件部分だからならないみたいだけど望んだ結果にはならない気が。

2001年11月25日(Sun)

JDE

C:\Meadow\1.14\site-lispにjde-2.2.8,custom-1.9962,eieio-0.17beta3,speedbar-0.14beta2,semantic-1.4beta12,elib-1.0を入れて、以下の設定を追加。PATHの追加は(setq exec-path (cons "C:/jdk1.3/bin" exec-path))だとMeadowだけで子プロセスには影響が無かったのでsetenvとgetenvを使って解決。

(when (locate-library "jde")
  (require 'jde)
  (setenv "PATH" (concat "C:\\jdk1.3\\bin;" (getenv "PATH")))
  )

Last-modified

ページの内容のうち自動生成の部分が変わってもLast-modifiedが変わらないページはExpireをつけてもらえればいいのではないかと思った。たとえば偽偽夜食日記の部屋なら今日の23:59:59か明日の0:00:00で。


2001年11月26日(Mon)

チェーンメール

内容が本当(っぽい)だけに善意を利用したチェーンメールになりそう(and/or なってそう)なのはちょっと考えればわかりそうなのに(以下略)。ちなみに内容については2ヶ月ぐらい前にみたのが最初だったような気が。

本日のツッコミ(全1件) [ツッコミを入れる]

s1 user [XREA s1のユーザですが、貴サイトの負荷率がとんでもない値を示すようになってきました。昨日は1111です。負荷率..]


2001年11月27日(Tue)

過負荷

負荷率がとんでもない値というのはほとんどがアンテナが原因だと思われるので、アンテナからindex.cgiへのアクセスは拒否かリダイレクトにしてアンテナにはLast-modifiedなどを返すだけのxcgをみてもらうようにしたいのですが、とりあえず拒否だけでも。

アンテナ対策1

とりあえずいくつかのアンテナからはtdiaryのファイルを読み込まずにさっさと応答を返すようにして負荷を下げるようにしてみました。

日記の内容やつっこみでLast-modifiedが変わるときに適当なファイルをtouchするようにすれば他のファイルを全く読み込まなくてもLast-modifiedが調べられるようになると思うのですが、そこまでいじってる暇がちょっとなさそうなので保留。


2001年11月29日(Thu)

アンテナ対策2

302 Foundというページが表示されていたのはCGIがエラーになっていたのが原因でした。すいません。時間が出来たのでローカルでテストしてみたらあっさり原因が判明。もしかしてここのサーバはエラーが起きてもステータスが5xxにならない?

ちなみに302 Foundというページのときのステータスは200でした。

irbsh 0.4.3

書き忘れていた要望とか。
  • 「__region__」も補完してほしい。
  • ディレクトリスタックを表示するdirsがほしい。
  • zshのsetopt pushdignoredupsがほしい。ヒストリーの方もhistignoredupsがあるとよさそうだけどirbの方の改造になりそう。
  • 引数なしのniがNameErrorになる。

excite_world_text.rb

RAAに登録するとしたらLicenseが難しい。Free-but-Restrictedにして翻訳利用規約を厳守というのがいいかな。

tDiaryは重いか?

metaタグでロボット除外以外にもxreaならrobots.txtも使えそう。

ちなみにアンテナが重くなっている原因だと判断した理由はNATSU-MICANのアクセス数がMSIEやNetscapeよりも多かったから。ここの場合ロボットはほとんど来てませんでした。

~/hoge.rb

./~/hoge.rbを作ってみたらruby 1.6.5 (2001-11-23) [i386-mingw32]とruby 1.6.5 (2001-11-23) [i586-cygwin]とruby 1.7.2 (2001-11-22) [i586-cygwin]でDir['~/*']["~/hoge.rb"]となった。

という話ではないはず。

関係ないけどEmacsで~で始まるディレクトリが開けないと思っていたら\~にすればいいというのを教えてもらったことを思い出した。

Rubyと(Windowsの)クリップボード

いろんな環境での比較。
cygwin 1.3.x
/dev/clipboard。偽物デバイスファイル。
Apollo
Phi::CLIPBOARD.text。プロパティ。
VisualuRuby計画(仮称)
vr/clipboardとかvr/vrclipboardとか。テキスト以外も扱える。
CF_TEXT(普通のテキスト)の改行コードはCRLFで文字コードは日本語WindowsならCP932(いわゆるShift_JIS)。NT系だと違うかも。VisualuRuby計画(仮称)ならCF_TEXT以外も扱えるが、画像の対応は大変らしい。
本日のツッコミ(全3件) [ツッコミを入れる]

るびきち [うむ、これらなら比較的簡単に実装できそうです。ただ時間がない(涙)。]

ただただし [zoeさんがLIRSを出力するパッチを作ってたかも。探そうとしたら、こんどはあっちがアクセスできない(笑)。 htt..]

moriq [Apollo の Phi::CLIPBOARD は画像も扱えますよお。 sample/clip2jpg0.rb 参照..]


2001年11月30日(Fri)

clipboard

Apollo の Phi::CLIPBOARD は画像も扱えるということはいろんな形式のクリップボードを扱うのはApolloが一番簡単?


copyright © 2001-2009 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73