トップ 最新 追記   RSS 1.0 FEED  

Journal InTime


2005-01-01 (Sat) [長年日記]

_ 元旦

天気が悪くて、とくにどこにも行かずに家で過ごす。

Tags: その他

2005-01-02 (Sun) [長年日記]

_ 初詣

神明社に初詣に。ここは空いていていい。熱田神宮なんかに行く人の気が知れない。

賽銭は奮発して100円。

その後、妹が来たので、半田の住吉神社に。こっちはもうちょっと正月っぽかった。

Tags: その他

_ iBook購入

奥さん用のノートPCを買いにヤマダ電器に。Toshibaの安いノートを買うつもりが、すでに売り切れだったのでiBook(111,100円)を購入。

これ以上ハックする時間が減るとまずいので、あまり深入りしないように 気を付けよう。

Tags: 買い物

2005-01-03 (Mon) [長年日記]

_ Uターン

無事に松江に戻る。

反対車線はずいぶんと混んでいたようだ。 こっちは京滋バイパスを使ったこともあって、渋滞知らず。 途中でけっこう雪を見たので、松江も積もっているのではないかと心配したが、ぜんぜん積もっていなかった。

Tags: その他

2005-01-05 (Wed) [長年日記]

_ 炊事

奥さんが風邪を引いたので夕食の準備。 といっても野菜スープを作って、鶏のもも肉を焼いただけ。

珍しいのか、キッチンに子どもたちが寄ってくるので、やりにくいこと この上ない。

Tags:

2005-01-06 (Thu) [長年日記]

_ 仕事始め

今日から仕事始め。 休み明けはしんどいですねえ。

Tags: 会社

_ AssemblyBuilderAccess.SaveでSEGV

AssemblyBuilderAccess.RunAndSaveだと、type parameterがbindされたgeneric instanceをフィールドに持つTypeBuilderをCreateType()した時に エラーになるので、AssemblyBuilderAccess.Saveにしてみたら上手く行った。

ところがmake checkすると、他のテストコードのコンパイル時にSEGV。 うーん、わけがわからん。

Tags: babel mono

2005-01-15 (Sat) [長年日記]

_ メガネ

ちょっと席を外した隙に、下の子がメガネのフレームを曲げてくれていた。 蝶番が曲がっていただけだったのが不幸中の幸い。

Tags: 家族

2005-01-18 (Tue) [長年日記]

_ kompose

Mac OS Xのexposeみたいなもの。

`for KDE'と書いてあるけど、Gnomeでもちゃんと動いた (起動すると通知エリアにアイコンが表示される)。

_ skippy

T君からexpocityというものもあると聞いたが、metacityへのパッチで、 しかもちょっと古そうだ。 もうちょっと探すと、skippyというものを発見。officialではないものの debもあるので試してみた。

<URL:http://www.debian.org.hk/~glee/deb/skippy/>

skippy-XDの方なら、ウィンドウの最新の状態を表示してくれるようだ*1が、Xサーバを入れかえないといけないのはちと面倒だ。

*1  ちなみにXDなしのskippyやkomposeはしてくれない


2005-01-20 (Thu) [長年日記]

_ 汚染状態の伝搬

分かってると思うけど、

汚染されている文字列や 汚染されている文字列を指しているオブジェクトから to_sとかinspectとかで生成される文字列は汚染される.

[雄也の?日坊主日記(2005-01-19)より引用]

というのは常に成り立つわけじゃないよね。

class Foo
  def initialize(s)
    @s = s
  end
end
f = Foo.new("abc".taint)
s = f.to_s
p s             #=> "#<Foo:0xb7d5a778>"
p s.tainted?    #=> false
s2 = f.inspect
p s2            #=> "#<Foo:0xb7d5a778 @s=\"abc\">"
p s2.tainted?   #=> true

重要なのは、fが「汚染されている文字列を指している」かどうかではなくて、 to_sやinspectが汚染されている文字列を使うかどうか。 上の例だと、to_sには@sの値はまったく使用されないので、汚染が伝搬しない (する必要がない)。

Tags: Ruby

2005-01-21 (Fri) [長年日記]

_ fixed typo

ひさびさにcommit。 ChangeLogに、

fixed typo. fixed: [ruby-list:40546]

と書こうとしたら、

fixed typo. fixed: [ruby-lis:40546]

と書いてしまった。

もう一度直したけど、今度はだいじょうぶだよな。

Tags: Ruby

_ コーディング規約

Cでやるプロジェクトのコーディング規約について話し合う。

ちょっと自分の好みと違う部分が残る*1ものの、だいたい妥協できるところに落ち着きそうだ。 英語で話す時は日本語の時と人格が変わる、という話をよく聞く けど、Cで書く時は、Rubyで書く時と、好みがだいぶ変わるなあ。

Tags: 仕事

*1  たとえば、if分にはかならず{}を使うとか。


2005-01-22 (Sat) [長年日記]

_ trac

mod_rubyを使うようになって、URLが変わった。

[NaHi Blogpoints - Powered By Bloglinesより引用]

って、mod_pythonでしょー。

Tags: mod_ruby

2005-01-23 (Sun) [長年日記]

_ uim-primeで入力できず

apt-get dist-upgradeすると、uim-primeで入力できなくなってしまった。 どうも、.uimでESCを押した時に英数モードにするようにしていた せいのようだ。

とりあえず、ESCを押した時に英数モードにするだけなら以下でいいみたい。

(define prime-push-key-orig prime-push-key)
(set! prime-push-key
  (lambda (c key key-state)
    (if (or (= key 'escape)
            (and (= key 91) ;; [
                 (= key-state 2))) ;; control
     (prime-mode-set c prime-mode-latin))
    (prime-push-key-orig c key key-state)))

本当はvim側でうまくコントロールできるといいんだろうけど、GTKまわりの コードがよくわからず。


2005-01-24 (Mon) [長年日記]

_ 087 複数の配列を並行処理する

今日はRuby講習会の講師。講習中にレシピブックの説明をしていて、

配列が非常に大きく、zipメソッドで配列を作る余地がない時は、Array#each_indexで繰り返します。

[Rubyレシピブック 268の技 p.150より引用]

という記述にはじめて気付いた。

よく読むと、レシピブックではArray#zipの戻り値に対してeachの 呼び出しを行っていて、

as.zip(bs) do |a, b|
  ...
end

のようにArray#zip自体にブロックを与える方法は 説明されていない。 もしかして、1.8.0とかの古いバージョンではブロックを渡せなかった のかなと思って、1.8.0のソースを見てみたが、

if (rb_block_given_p()) {
    for (i=0; i<RARRAY(ary)->len; i++) {
        VALUE tmp = rb_ary_new2(argc+1);

        rb_ary_push(tmp, rb_ary_entry(ary, i));
        for (j=0; j<argc; j++) {
            rb_ary_push(tmp, rb_ary_entry(argv[j], i));
        }
        rb_yield(tmp);
    }
    return Qnil;
}

のようになっていて、問題なさそうに見える。 cvs logで調べると、

revision 1.98
date: 2002/11/19 08:07:48;  author: matz;  state: Exp;  lines: +44 -3
* array.c (rb_ary_zip): iterates over items in the receiver.
  zipped with nil if argument arrays are shorter.  if arrays are
  longer, left items are ignored.  now works with blocks

この変更らしいので、レシピブックの記述はそれよりも前に書かれたのかな?

Tags: Ruby

2005-01-28 (Fri) [長年日記]

_ Managing Gigabytes

Managing Gigabytes: Compressing and Indexing Documents and Images, Second Edition (The Morgan Kaufmann Series in Multimedia Information and Systems)

欲しい。けど、高い。高すぎる。 とか書いたら誰か買ってくれたり、するわけないか。

会社で買ってもらえないかなあ。

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

_ 上司 [本当に役立つってんなら買えないこたあないでしょう。 ちゅーか、買えば。]

_ shugo [では、お願いしてみます:)]


2005-01-29 (Sat) [長年日記]

_ 米国ドル小切手 - 私の処理方法

なんかGoogle AdSenseでUSドル建て小切手の換金が、手数料だなんだで面倒くさくて...という話を散見するので、お勧めというか私の場合のお話。

[MODULE.JP - 米国ドル小切手 - 私の処理方法より引用]

へえ、なるほど。

しかし、私の場合、当分お世話になりそうもない。

Tags: その他

_ ロールケーキ

ロールケーキ

ひさびさのロールケーキ。

Tags:

_ ハッカーと画家

ハッカーと画家 コンピュータ時代の創造者たち

オーム社の方にいただいた。 表紙がバベルの塔であることにどきっとする。

ちなみに、収録されているエッセイのうちのいくつかは Webで翻訳が読める ので、私のように本を買う余裕のない方はどうぞ。 とくに、技術野郎の復讐それに対する反論がおもしろいと思う。

と、思って今読み返したら、WebにはRuby版のコードがないのか。日本向けのサービス なのかな。ちなみに、こんなコード。

def foo(n)
  lambda { |i| n += i } end

多くのRubyハッカーを代弁して一言。「ありえねー」

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

_ shiro [> 日本向けへのサービス 原書にもありますです。]

_ shugo [はっ、そうでしたか。失礼しました。]