2005-06-01 (Wed) [長年日記]
_ ログインできない
lilyってtrackback auto discoveryに対応してないんですっけ。 それはさておき、
現在、実行したximapdにログインするところで躓いてます orz。うーん.ximapdに書いたパスワードと同じような気がするんだけど…あ、やっぱり平文を書いちゃいけないのか?
[てくのーとより引用]
.ximapdのパスワードは平文でOKです。 ximapdはCRAM-MD5認証しかサポートしてないので、そのせいかもしれないですね。
SSLをサポートしたので、SSLな時はLOGINやPLAIN認証を許してもいいかなと思ってます。 OutlookはCRAM-MD5に対応してないみたいですし。
_ ユーザ数
「出遅れた!」と思ったが、返ってきたメールは5番目だった。まぁまぁか(何がだ)。しかし、ユーザは前田さんを含めて3人しかいないと思っていたのに……(笑)。
[ただのにっき(2005-06-01)より引用]
たぶん、ユーザは3人ですね。 メールが5番目なのは、おそらくまだ使ったことのないSさんが入ってくれたのと、 自分が返信したからです;) 他にもちょっと試してくださってる方はいるようですが。
メーリングリストの方には、まだ使うつもりはないけど仕様には文句を付けたい、 という方も歓迎します(もちろん意見を採用するかは別)。
MLに振り分けられたメールもINBOXに入るようになった(?)のが目に付いた変更点か。
というのは、身に覚えがないので、再現条件が分かりましたら教えてください(って結局日記でやり取りしてるし^_^;)。
_ ximapd.ac
ひさびさにproject-nameで調べると、ximapd.acドメインが取得されていることを発見。 うーん、ximapd.orgとか取っといた方がいいかなあ。 しかし、ユーザ数が3人でドメイン取るのもちょっと...。
_ TMailのSyntaxError
5000件以上あるinbox/下のデータをimport中に落ちてしまいました orz とりあえず出力を貼っておきます
[てくのーとより引用]
すみません、
<URL:http://projects.netlab.jp/dev/ximapd/changeset/75>
でデグレードがおきてしまっていたようです。 TMail::SyntaxErrorをrescueするためだったのですが、::SyntaxErrorの方をとりこぼしてしまいました:(
SVNのtrunkでは修正しましたので、お試しください。 パッチは以下にあります。
<URL:http://projects.netlab.jp/dev/ximapd/changeset/101?format=diff>
テストケースを追加したので今後は大丈夫なはずです。たぶん。
2005-06-02 (Thu) [長年日記]
_ TMailのSyntaxError
なんにしてもやっぱり例外は出てるんだな。 現象はよくわかってないけど、とりあえず TMail のバグと認定 (しかし直る時期は未定)。
[青木日記/T(2005-06-01)より引用]
意図的なものではなかったんですね。 ちなみに、
From: shugo@ruby-lang.org (Shugo Maeda
みたいにcommentを閉じてないとSyntaxErrorになるようです。
_ むかむか クリスタルレポート入門
仕事でCrystal Reportsを使ってみようと思って見つかったサイト。 いきなり、
ひょんなことら、クリスタルレポートを触ることになったのだが、これが、なんとも使いにくい。
[むかむか クリスタルレポート入門より引用]
という出だしに萎える。 何か難しそうだなあ。それも楽しくない方向に。
_ C#.NETでグラフとか印刷とか
どうもCrystal Reportの出力の出来(とくにフォントのレンダリング)が気に入らない ので、自前でやるかなあ。
C# によるプログラミング Windowsを見ると、 自前でやってもそんなに大変ではなさそうだ。 とくに、アンチエイリアスが簡単にできるのがいい。 こんな文章がただで読めるなんて気前いいじゃんと思ったら、この章だけだった。買うにはちょっと高いな。
ちなみに業務アプリじゃないっすよ。
2005-06-06 (Mon) [長年日記]
_ System.Drawing
やっぱりSystem.Drawingは便利だ。画面描画と印刷時の描画をフォントも含めて 同じようにできるというのがよい。
monoでもGDI+から上が実装されるみたいだけど、System.Drawing.Printingとかも 実装されるのかなあ。
2005-06-07 (Tue) [長年日記]
_ ただ乗り対策としてのGPL
うちの会社でフリーソフトウェアを開発する場合、GPLの適用が推奨されているが、 これはFSFの理念に深く賛同し...というよりもただ乗り対策という側面が強い。*1
一方、ライブラリなどにGPLを適用してしまうと、プロプライエタリなソフトウェア からの利用のみならず、 一部のフリーソフトウェア からの利用も妨げてしまう。 この点を問題視する意見もある。
たんにただ乗りを防ぎたいだけなら、最近MySQLがライセンスの変更を行ったように、 「基本的にはGPL、ただし以下に挙げるライセンスのプログラムとのリンクは許可」 という方法を取ることもできる。 ただ、リンクを許可するライセンスのリストの管理が大変そうなのが気になる。
たとえば、OSD準拠のライセンスのプログラムとのリンクは許可する、あるいは DFSGフリーなライセンスのプログラムとのリンクは許可する、という戦略は 有効だろうか。 ライセンスの文面でそう書くのがまずいなら、リストにライセンスを追加する 条件として、contributorに周知しておくだけでもよいかもしれない。 ってMySQLは似たようなことをしているのかな。
ちなみに、Rastの場合は、依存ライブラリのAPRがGPL互換でない(とFSFが主張している)ので、もうちょっと複雑だ。 APRの利用を勧めたのは自分なので、ちょっと申し訳ない。
ただ、GPL側から見るとApache Licenseは不自由だ *2 ということになるのだが、GPLとの互換性の話を措けば、 Apache License(のVersion 2.0)自体は好ましいライセンスに見えるだけに もったいないと思う。 何とかしてください>えらい人
_ My license
ちなみに、自分が個人的に作ったものには以下のようなライセンスを 適用することが多い。
Copyright (C) 2005 Shugo Maeda <shugo@ruby-lang.org> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
_ BDB::Envを使わない
ロッキングサブシステムを使う必要がなくなったので、BDB::Env自体を 使わないように変更。
_ shugo [すみません、誤解を生みやすい表現でした。 「FSFがApache Licenseをfreeでないと言っている」とい..]
2005-06-08 (Wed) [長年日記]
_ C++の設計と進化
まつもとさんにお借りした。
まだパラパラとめくってみた程度だけど、なかなか面白い。 え、ダブルディスパッチが最初に紹介されたのは1986年?、そんなに最近なの?、とか。
機会があれば、一度本格的にC++を使ってみたいな(一度ってところがポイント)。
_ SEGV
SEGVでRastのインデックスが壊れた:(
その後、~/ximapd/mails以下を新しいデータディレクトリにインポートすると やはりSEGV。どうもスタックが壊れているようだ。
とりあえず、ruby/ext/rast/rast.cのVALUE型のauto変数全部にvolatileを付けたら 落ちなくなった。
$ cd rast-0.1.1/ $ sed -i -e 's/^\( *\)VALUE/\1volatile VALUE/' ruby/ext/rast/*.c
これでしばらく様子を見てみよう。
2005-06-09 (Thu) [長年日記]
_ BDBでSEGV
今度はBDBの拡張ライブラリでSEGV。
自前の拡張ライブラリを使うようにしたり*1、setup.rbを導入してディレクトリ構成を変更したり したので、svn updateする時は要注意です。
*1 そこまでしてBDBにこだわる必要も ない気もするけど
_ スタンドアップミーティング
ちょっと最近だれぎみなので、ちゃんとスタンドアップミーティングを することに。 やっぱり、XPする時は時間の使い方をちゃんと考えないとぜんぜん 仕事がすすまない。夜中にがんばって帳尻を合わせるという手が 使えないから。
というわけで、もう寝よっと。
_ soap4r-1.5.4でActionWebServiceが動かない
忘れてた。これだけは書いとかないと。
仕事の環境をruby_1_8ブランチの最新にしたら、ActionWebServiceが 動かなくなってしまった。 SOAP::Mapping::Registryの仕様変更のせいのようだ。
とりあえず、workaroundのパッチを上記のチケットに添付しておいたら、
The only reason we need the extra data is to get the QName for custom types we registered when we generate WSDL (stored in the info parameter to Registry#add as :type) What do you think of adding a SOAP::Mapping::Registry#find_mapped_type_qname, since find_mapped_soap_class will now already give us the SOAP class we want?
などと意見を求められたんだけど...出番ですよー>なひさん (と言って逃げる)
2005-06-13 (Mon) [長年日記]
_ 既読管理
既読管理のバグが直った気がする。 気のせいかもしれない。
_ Gmail
リスクを下げるために、Gmailにほぼすべてのメールを転送することに。
ただし、ピンポンをふせぐため、
:0c * !^From:.*(postmaster|MAILER-DAEMON) !username@gmail.com
のようにpostmasterとMAILER-DAEMONのメールは転送しないように している。 あ、Return-Pathが空とかの方がいいのかな?
ひさしぶりに使ってみるとずいぶん変わっていた。 UIに日本語を選択することもできるし、日本語のメールもISO-2022-JPで出せた。 リッチテキスト形式のエディタはかっこいいなあ。使わないけど。
2005-06-14 (Tue) [長年日記]
_ 雑談
ペアプロ中に後輩にVisitorの説明をしていたら、なぜか途中から オーバーロードとマルチメソッドの話になっていた。いかん、いかん。
でも、Visitorを使うと操作対象のオブジェクトからメソッドが分離 されていくのが気持ち悪い、というのはいい感覚だと思う。
追記:
Visitorパターンが悪いって言いたいわけじゃないですよ。念のため。
2005-06-15 (Wed) [長年日記]
_ チャイルドシート
上の子の同級生が、車に乗っていた時に一針縫う怪我をして、 今日はお休みだったらしい。 別に事故というわけではなく、ちょっとした急ブレーキだか 何だかで、チャイルドシートに乗せていなかったために そういうことになってしまったようだ。
みなさん、気を付けましょう。
2005-06-17 (Fri) [長年日記]
_ VIMでRuby Refactoring Browserを使う
~/.vim/plugin/rrb.vimに以下のような内容を書いておく。
command -nargs=1 -range RubyExtractMethod :call s:RubyExtractMethod(expand("<args>"), <line1>, <line2>) function s:RubyExtractMethod(methodName, line1, line2) let path = expand("%") let out = system("rrb --extract-method " . path . " " . a:methodName . " " . a:line1 . " " . a:line2 . " --filein-overwrite " . path) if strlen(out) == 0 edit else echo out endif endfunction
で「:'a,. RubyExtractMethod foo」のように実行すると、 選択範囲がちゃんとfooというメソッドになる。 けっこうよさげ。
rrbコマンドのへルプを見ると、スーパークラスの抽出とかもできるようだ。
_ nodeline()
IRCでなかださんに教えてもらった、parse.yにあるデバッグ用の関数。 これがあれば、今まで
(gdb) p ((unsigned int)(((((struct RNode*)(ruby_current_node)))->flags>>(11 +8))&(((long)1<<(sizeof(NODE*)*8 -(11 +8)))-1)))
としてたのが、
(gdb) call nodeline(ruby_current_node)
こんなにすっきり!
括弧が多いのはcppのせいだよ。Lisperじゃないよ。
_ まつもと [実際には「p nodeline(node)」ですね。callだと表示してくれないでしょう? っていうか、今までそんな..]
2005-06-18 (Sat) [長年日記]
_ gdbのcall
実際には「p nodeline(node)」ですね。callだと表示してくれないでしょう?
[Journal InTime - VIMでRuby Refactoring Browserを使う , nodeline()より引用]
あれ、callでも表示してくれますよね。
(gdb) call nodeline(ruby_current_node) $7 = 631 (gdb) help call Call a function in the program. The argument is the function name and arguments, in the notation of the current working language. The result is printed and saved in the value history, if it is not void.
もしかして最近できるようになったのかな?
今までそんなカッコほんとに使ってたんですかぁ。
[Journal InTime - VIMでRuby Refactoring Browserを使う , nodeline()より引用]
gcc -Eでnd_lineを展開させてコピぺしたものですけど、もちろん、 面倒なのでほとんど使ってません。
gdbでマクロを展開してくれたらなあと思うんですけど、難しいんですかねえ。
_ Ruby Conference 2005 ツアー
よって、飛行機代 + ホテル代は、
A日程: \83,000 + \6,600 * 4 = \109,400
B日程: \83,000 + \5,000 + \6,600 * 8 = \140,800
と概算されます。
旅行としては、この他、カンファレンス代、旅行保険代、移動運賃(電車やバス やTaxi)、食 事代などが必要となるでしょう。
[[ruby-list:40877] Ruby Conference 2005 ツアーより引用]
事前に聞いていた想定金額よりも安めだった:)
8月いっぱいくらいだったらキャンセルも可能とのこと。
_ ay [おー、みなさん行かれるのですね。レポートを楽しみにしています。]
_ しゅどう [適当な代理店に航空券だけ頼んで、ホテルは斡旋料金(single/doubleどちらも$79.99/night)で泊ま..]
_ shugo [ホテル代が6,600円だったらまあまあ安いのかなと思ったんですが、上記だと飛行機代が高いってことでしょうか。]
_ しゅどう [斡旋料金だと、ひとり4400円/泊($80 x 110円/$ ÷ 2)で済みます。と思ったのだけど、斡旋料金で泊まれ..]
_ shugo [single/doubleって書いてあったので、男同士でdoubleはないよな(いや、女の人ともないですが)と思った..]
_ TrackBack [http://shugo.net/jit/20050621.html Journal InTime 実はまだ決めか..]
2005-06-19 (Sun) [長年日記]
_ Net::IMAP#add_response_handler
登録されたハンドラは、登録時のスレッドとは別のスレッドで実行されるので 注意が必要だ。
実は、ximapdのr133でこれを忘れていて、--import-imapが動かなくなっていたんだけど (r138で復旧)。
2005-06-21 (Tue) [長年日記]
_ Ruby Conference 2005
おー、みなさん行かれるのですね。レポートを楽しみにしています。
[Journal InTime - gdbのcall , Ruby Conference 2005 ツアーより引用]
実はまだ決めかねていたのですが、奥さんの了解が得られたので参加しようと思います:)
きっと帰るころには子どもがお母さん子になってるんだろうなあ。
_ can't start skippy
apt-get dist-upgradeしたらskippyが起動できなくなったのでバグレポート したらREADME.Debianに書いてあった:(
F9を使っていたのだが、他のアプリケーションが先にgrabしているようだ。 しかたないのでF11に変えることに。
2005-06-23 (Thu) [長年日記]
_ メールボックスの破壊
またメールボックスを壊してしまった……。killするにあたって、以前教わったようにいったん-STOPしてから、-TERMやら-INTやらやってみたけどダメ。結局-KILL。そして破壊(涙)。
どうも、--import付きで一度に複数のximapdを立ち上げると起きるっぽい。今回はちょっと自動処理した結果、10通くらいのメールがいっぺんに発生したので、それがきっかけみたい。.procmailrcの方で、lockファイルを作って排他をかますようにしてみた。
[ただのにっきより引用]
うーん、importの時はflockでロックしてるはずなんですけどねえ。 あ、もしかして、NFSだったりします?
_ ただただし [いえいえ、coLinux上でReiserFS使ってます]
2005-06-27 (Mon) [長年日記]
_ ウンコ
風呂上がりに下の子がもらした。
現場は見なかった(まだ自分の体を拭いていた)のだが、 リビングで立ったままポロっとやったらしい。 クッションの上でやったので、ラグはセーフだったのが不幸中の幸い。
ちなみに、写真は表題とはぜんぜん関係ない。 プール出してるけど、だいぶ前の写真ですよ(言い訳)。
2005-06-30 (Thu) [長年日記]
_ Google Summer of Code for Mono
ものがたり経由:
Jaen Saul: Ruby.NET implementation
Florian GroB: Ruby.NET
[Summer2005 - Monoより引用]
Ruby.NETが二つ採用かあ。
_ 「httpの数」を閾値にするフィルタ
そこで、樂水開発日記にあった「httpの数」を閾値にするフィルタを導入。これは賢いね!
[ただのにっき(2005-06-30)より引用]
実はやまださんがすでに以前に公開されていたようです。
_ babie [帳票ツールはこれしか触ったことないですが、面白かったですよ。(with C# on .NET)> CrystalRe..]
_ shugo [ほう、おかげさまでちょっとやる気が出ました。 DBに接続する必要があるのかなと思ったのですが、メモリ上のオブジェクト..]
_ babie [DataSet オブジェクトさえあればどうにでもなりますね。 外部キー参照テーブル(明細)を引く DataSet を..]
_ 安達 [はじめまして、安達と申します。右上の子供さんの写真、いつ見ても可愛いですねえ。他人の私が見てもそうなのですから、お父..]
_ shugo [ありがとうございます。 でも最近上の子がわがままになって来て困っています。 甘やかし過ぎたのかなあ。]
_ 安達 [「3歳から5歳にかけては自我が形成される時だからそういうもんだ」と、精神科の先生が言っておられたから大丈夫ですよ。う..]