メモの日々


2002年04月08日(月) 久々宿泊の日

会社

  • 6:05 おはよう。ああ、oosquare MLで前橋さんが憂鬱なプログラマのためのオブジェクト指向開発講座批判を...。もう注文しちゃったもんなあ。
  • 8:00 rootでsetupを起動してXの設定をしたらGNOMEが動くようになった。なるほど。
  • 16:50 本所からLinuxマシンを持ってきた。急にLinux2台になっちゃった。こっちはRedHat7.1。
  • 19:00 htmllintをkondara上で動かそうと色々やっているがだめ。htmllint.cgiを動かそうとするとInternal Server ErrorになりログにはNo such file or directory: exec of /home/httpd/html/htmllint/htmllint.cgiとでる。あるのに。権限もあると思うが。なんでや。
  • 19:20 動かなかった原因は分かった。cgiスクリプト内でperlの位置を/usr/local/bin/perlに指定していたためだった。はあ、早く気付けよ。で、その後さらに進んだがJcode.plが必要だそうで、それをrpmでとろうとしたらkondaraではリンクはあるのに実体はNot Found。もういい、やめる。
  • なんでhtmllintをインストールしたかったかといえばSFAのおかしなところをlintで調べようと考えたためであるが、失敗。どうせエラーだらけで見きれないかもしれんしな。

テレビ/本

  • ガキの使いやあらへんで。以前に松ちゃんをにらんでいたおばちゃんとのキス大会。グロテスクすぎる。あとはひろしorたかしになるとか。

2003年04月08日(火)

生活

  • 眠くなったら寝る生活してたらついに夜眠れなくなった。夜だから寝てたんだけれど眠れないので今日は5:20起き。
  • 結局寝てしまった。嫌な船長の居る船に乗っている夢を見た。いや船じゃないんだけれど。でおれが見張りを命じられたところで外人美女軍団の海賊により銃を突きつけられ、こちらの船員全員の銃を取り上げられてしまったところで郵便局から電話が掛かってきて目覚めた。
  • (11:40) 土曜日に注文した印鑑が届いた。実印と言っても結局出来合いの物だよなあ、という感想。でも、きっとこれでいいのだ。
  • (16:20) NHKの集金人が来たので2790円払った。金がどんどん出ていく…

[java] Preferences API

J2SE1.4からはPreferences APIが用意され、アプリケーションの設定情報はこのAPIを使って管理するのがよさそうなのだ。Preferences APIの解説をメモ。

[dev] Ruby/eRubyによるCGIプログラミング (前田修吾さん)

Rubyの解説。mobileimap: 携帯電話用の IMAP対応 Webメーラーより。ちょっと古い記事だけれど。Rubyにも手を染めるぞー。

やること

  • 退職後の手続きをまとめる
  • 風呂場の掃除
  • シャンプー・ボールペン・座椅子買う
  • 銀行で記帳

2009年04月08日(水)

  • 久〜しぶりにC++を使ってる。

[c++] g++でCP932なソースをビルドしたらlexical_cast.hppでエラー

Ubuntu 8.10上でCP932で書かれたC++のソースコードを g++ に「-finput-charset=cp932」オプションを付けてビルドしようとしたら、boost/lexical_cast.hpp を include している個所でエラーになってしまった。

調べると、lexical_cast.hpp 内の最初のコメント内に

// who:   contributed by Kevlin Henney,
//        enhanced with contributions from Terje Sletteb■,

とあって、■の所に0xf8が書かれておりそこで文字コード変換に失敗してしまうようだった。

ひとまず問題の文字を削除してしまうことで対処。

でも、include先のソースの文字コードは不明なケースがあるので、g++(gcc) の -finput-charset を使うのはよいアプローチではない気がしてきた。

[c++] g++ではおかしなフレンド関数がエラーになる

WindowsではビルドできていたソースをUbuntuのg++でビルドしているんだが、フレンド関数の所でエラーになった。

フレンド関数なんて使ったことないので知らなかったのだが、調べると関数に対してクラスのプライベートメンバへのアクセスを許可したいときに使うようだ。

んで、ビルドエラーになる箇所を見ると、そのクラスと無関係なフレンド関数を使おうとするとエラーになるみたい。サンプルを作ってみた。

class A {
    friend void f(A& a); // Aと関係している
    friend void g();     // Aと無関係
private:
    int secret;
};

int main() {
    A a;
    f(a);
    g(); // ここがエラーになる
    return 0;
}

void f(A& a) {
    a.secret = 100;
}

void g() {
}

これをg++でコンパイルすると、g()を呼び出す所でエラーになる。

$ g++ --version
g++ (Ubuntu 4.3.2-1ubuntu12) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ -Wall friend.cpp
friend.cpp: In function ‘int main()’:
friend.cpp:11: error: ‘g’ was not declared in this scope

Windowsのコンパイラだとエラーにならないようだし、別にエラーにしなくてもいい気がするが、実装上の問題なのかな。 どうせなら呼び出し箇所ではなく宣言箇所でエラーになればいいのに。

[book] ジェネラル・ルージュの凱旋 (海堂尊)

読んだ。救命救急センターの「将軍」速水部長はできる男だという話。事件は何も起きなくて、病院内での政治の話が続く。ジェネラル・ルージュの凱旋(海堂尊/著)

現場を率いる速水と対立する規約第一沼田助教授の振る舞いが、ソフトウェア開発現場を改善しようとするISO 9000活動とダブって見えて興味深かった。3.5点。

やること

  • 換金

2011年04月08日(金)

  • 職場の自動販売機、エビアンなくなったと思っていたが、今日よーく見てみたら売っていた。以前と配置場所が変わっただけなのかもしれない。見本が変な衣を着ていて気付かなかった。
  • 今週はRubyで600行くらいのツールを書いていた。1.9は使えないのが辛い。
  • 今日書いたメイル0通。

やること

  • 請求書
  • 請書