nDiki : 2005年05月中旬

2005年5月11日 (水)

WiKicker 0.26 と ActivePerl 5.8.6.811 (Win32)

0.26 での依存モジュールの再確認。 ActivePerl 5.8.6.811では、追加で

  • Algorithm::Diff
  • Jcode
  • Log::Log4perl
  • TimeDate (Time::Zone)
  • MIME::Base32

が必要。 それから RCS。動作確認は Apache で。

ロックまわりがうまく動いているかちょっと不安なのでテストが必要だが、一人でメモ用に使う分には問題なく使えるようになったかな。

スポンサード リンク
[ 5月11日全て ]

2005年5月12日 (木)

スティラコサウルス完成

naney:13564386 昼休みを利用して、月曜日から組み立てはじめたスティラコサウルスが完成。

ボードの型抜きは比較的きれいにされており、パーツを抜くのは簡単であった。 型自体はちょっとゆがんでいるようで、組みはかなりきつめ。 ゆるいよりかはいいのだろうけど。 後の片足だけちょっとゆるかった。すぐとれる。

RRでしっぽをふりふりしながら歩行する。 なかなか可愛いぞ。

鳴き声は普通に恐竜っぽかった。 恐竜の声聞いたことないけど。

プレゼントしてくれた松下君、Thanks!

iモード向けの簡単なCGI プログラムCGI::Session を使う

簡単なユーザ認証のある、iモード向けデータ入力CGI プログラムを作成。

当初ホスティングサービスのサーバ上に置くつもりだったので CGI.pm だけでちまちまと書いてみた。データは hidden で持ち歩けばいいかと思ったが、コーディングしているうちにiモード端末の制約などもあって面倒になってきた。

ということで融通のきくサーバを前提として CGI::Session を利用するように作成変更。セッションオブジェクトにデータを置くようにしたら、急に楽になった。 やっぱり hidden は無理があるな。

[ 5月12日全て ]

2005年5月13日 (金)

汐留定番「古奈屋 + LAVAZZA」コース

帰りにと落ち合って、カレッタ汐留で夕食。 さすがに金曜日だと、人も少し多め。

古奈屋でバナナカレーうどんを食べたあと、LAVAZZAジェラートを食べるという定番パターンで。 古奈屋は圧倒的に女性客が多いようだ。

[ 5月13日全て ]

2005年5月14日 (土)

富士通ゼネラル冷蔵庫の機械部分は壊れてなかった?

午後、実家冷蔵庫修理に立ちあう。 バケツと雑巾(と工具と交換部品)を持った業者の人は、まるで水道屋のようだった。

コールセンターとの話ではまず見積ってくれるといっていたが、そんなのはお構いなしなのかがんがん冷蔵庫をバラしはじめた。

冷却関連は内側中段にあるようで、庫内からの作業。 スチームクリーナーで、ガンガン霜を蒸発させている。白い煙がもわもわと。 その後、サーミスタ等いつか部品交換。 冷蔵庫裏側から、背面にある基板も交換。

「霜の付き具合も普通ですし、特に何も壊れてないようですね。 とりあえず部品交換しましたので、しばらく様子をみてもらえますか」

壊れていないのにエラー表示が出たということは、エラー検出まわりが壊れている(あるいは誤動作している)ということだと思うのだが、まあ保証の範囲で無償修理だったのでよしとしよう。

「15年ぐらいは(部品保有されていて修理可能だと思うので)使い続けられるますよ」とか言っていたけれど、冷蔵庫事業から撤退してしまったメーカーだし、代行店の言うことだしということで差し引いて聞いておくことにする。

「(保証が切れる直前にエラー表示を出すなんて)利口な冷蔵庫ね」

TWINBIRD 2電源式コンパクト電子保冷保温ボックス


[ 家電 ]

富澤商店 そごう横浜

横浜三越閉店にともない富澤商店閉店となったのだが、今日からそごう横浜店としてオープンしたらしい。

[ 5月14日全て ]

2005年5月15日 (日)

ほぐせ! 鷄そぼろ

naney:13956097 初めて鷄そぼろを作ってみた。 レシピにあった「ひたすら混ぜに混ぜる」の意味がよくわかった。 鷄ひき肉は豚のそれとは結構違うのね。

次回はもっとポロポロにしたい。

  • 鷄ひき肉 300g
  • ショウガ 半片
  • しょうゆ大さじ4 + みりん大さじ4 + 砂糖大さじ2 + 水1/2カップ
  1. ショウガをひと炒め
  2. 鷄ひき肉を入れてほぐれるまで炒める
  3. 調味料を入れて弱火で煮汁が大さじ1〜2杯ぐらいになるまで煮る

プリプリはかせ KUBRICK

naney:13956111 ヴィレッジヴァンガードで、ウゴウゴルーガキューブリックを発見。

思わずプリプリはかせを購入。腕以外はキューブリックぽくないが、その分テレビに近い。

他に

あり。

会社用靴べら

naney:13956109 スーツ+革靴で出勤した日、席を立つときに靴を履きなおすのに難儀していた。 裏紙を折って靴べらがわりにしてみたり。

これまたヴィレッジヴァンガードでコンパクトで良さそうなのがあったので購入。

追記

使いはじめてすぐミシミシっていった後じょじょにヒビがはいって、ついに今日折れた (2005年08月17日)

お天気雨が降ったり止んだりのお台場

naney:13956092 霧雨が降ったり止んだりするのでどうしようか迷ったが、結局カメラを下げてお台場散歩に出かけることにした。

お台場でも小雨が降ったり止んだり。

  1. Smith (ヴィーナスフォート)
    • 先月中旬に来た時Lomo LC-A があったのでのぞいてみたが、案の定売り切れ。入荷待ちなので詳しくは店員に、と書かれていた。
  2. ヴィレッジヴァンガード (SUNWALK)
  3. ウエストパークブリッジ
    1. 次にどう廻ろうかと思案しながら歩いていたところ、急に声をかけられた。ぱっと声の方を向くと、会社の同僚。これは奇遇。突然の事だったし向こうも一人ではなかったので、そのまま挨拶してすれ違う。うーん、お台場では、やはりだらしない格好をしてられないな。
  4. 雨の中ビッグマック
    • 雨が降るかどうか微妙だったが混雑もいやだったし一か八か、アクアシティお台場マクドナルドでセットをテイクアウト。お台場海浜公園へ。座ってビッグマックを手にしたらお天気雨。アウチ。しかし置いたらもはや原形をとどめることなく崩れるであろうバーガーを手離すこともできず、そのまま味わう時間もなくガツガツと。食べ終わった頃に雨は止んだ……。
  5. デックス東京ビーチ
    • ちょっとのぞいただけ。
  6. 土砂降り
    • ホームタウンに戻り西友で買い物を終えると、土砂降り・落雷。折畳み傘をさして帰るも家につく頃にはびしょびしょ。濡れたもの処理したりした後、コーヒーで一息ついていたら窓の外から明るい日差しが……。
[ 5月15日全て ]

2005年5月16日 (月)

どうみても、そのままでは失敗しそうなプロジェクト

欲しい機能と完成予定日とを考えると、どう考えても無理なプロジェクトの話が出ているようだ。

真実10. 見積もりは、上層部か、マーケティング部門が実施する場合がほとんどだ。実際にプログラムを開発したり、開発プロジェクトの直接のマネジャーが見積もることはない。結局適切な人が見積もっていないのだ。-- ソフトウエア開発 55の真実と10のウソ p.51

(Fact 10. Software estimation is usuall done by the wrong people.)

まだきちんと見積もりが行われていない。もちろんきちんと見積もるべきである。 きちんとした見積もりを見れば現状の予定は無理すぎ(というか不可能)で、期間をのばして段階的に機能を提供していくべきだということを理解してもらえるであろう。 ……理解してもらえるよね? 不可能がわかっていて無理やり走っていつか闇に葬られるよりいいよね……。

真実9. ソフトウェア開発見積もりは、プロジェクトの開発時に実施する場合が非常に多い。これだと、要求定義が固まる前に見積もることになり、どんな問題がどこにあるかを理解する以前に予測するので、意味がない。従って、見積もり時期として適切ではない。-- ソフトウエア開発 55の真実と10のウソ p.48

(Fact 9. Software estimation usually occurs at the wrong time.)


[ ソフトウェアプロジェクトマネジメント ]

自分が個人で開発したフリーソフトウェアを自社製品に組み込むとき

tito 氏より、記事「WiKicker と GNU GPL」にコメントをいただいた。

ご承知とは思いますが「本体が GNU GPL だから、配布する場合はその部分も GNU GPL を適用」というのはGPLの条件で配布を受けた人がさらに別の人に配布する場合です。著作者本人はGPLに縛られずに別の条件でライセンスできます。 MySQLではGPLとコマーシャルライセンスの二つのライセンスを顧客の要求に応じて選べるようにしています。だからWiKicker の場合どうしようか? というのが「MySQLGPL」のお話ですよね。

コメントをいただいた通りである。 WiKicker は(バグレポート等ありがたいコメントをいただだきつつも)コーディングは一人で行ってきている状態なので、幸いライセンスの設定は自由がきく状態である。

今回いろいろ気にしているのは、自分がフリーソフトウェアの作者であると同時に、(組織の一員として)利用の判断、およびもし利用したとしてそれをベースに製品開発を行う立場にあるということ。

フリーソフトウェア作者として

組織の一員として

どれにする?

Perl と同じライセンス」にして、かつ「業務時間内にフリーソフトウェア部分のメンテ作業に対する『著作権放棄声明』獲得」がベストか?

フリーソフトウェアを個人で開発しつつ、それを商用ソフトウェアに組む込んでいる他の方々はどうされているのかぜひ知りたいところ。

Perl プログラムと必要なモジュールの配布

tito 氏より、記事「WiKicker と GNU GPL」にいただいたコメントの話

別の話になりますがあるperlプログラムをGPLでもなくartisticでも無いライセンスで配布したいとして、動作にperlのモジュールが必要な場合そのモジュールと一緒に配れるか? というのは興味深い問題な気がします。

CPAN にあがっている多くのモジュールが Perl と同じライセンスを適用しているので、それを前提とすると

aggregation して配布

CD-ROM 等にモジュールのソース tarball を同梱するのは

ということで、どちらを選択してもOK (The Artistic License を選択する場合は、パッケージを自分のプロダクトだと宣伝してはいけない等の制約あり)。

combine / embeded して配布

ということで

The Artistic License を選択できる Perl モジュールを使っているだけならば、一緒に配れるんではないでしょうか。

間違えていたらご指摘ください。

mixi 飽きた」

「なんか mixi 飽きてきました」と言いつつ毎日巡回している同僚。

PDL の bad value と計算速度

PDL は bad value を扱うことができるのだが、どの程度速度に影響がでるであろうか。 ベンチマークを取ってみた。 環境は Debian GNU/Linux sid + pdl 2.4.2-2 + 2672-PHJ

 #!/usr/bin/perl -w
 use strict;

 use PDL;
 use Benchmark;
 my $a = sequence(1000, 1000);
 my $b = sequence(1000, 1000);
 #$a->badflag(1);
 #$b->badflag(1);
 timethis(10, sub { my $c = matmult($a, $b)});

badflag(0)

 timethis 10: 203 wallclock secs
 (198.90 usr +  0.46 sys = 199.36 CPU) @  0.05/s (n=10)

badflag(1)

 timethis 10: 416 wallclock secs
 (400.87 usr +  0.92 sys = 401.79 CPU) @  0.02/s (n=10)

ほぼ半分の速度。 ちなみに bad value サポート無しで PDL をリビルドして試してみたが、bad value 無しの計算では(matmult においては)特に差がなかった。

bad value の必要がないならば、PDL をリビルドした方がいいのかと思ってみたけれど実験した範囲ではかわらないようだ。

はてなブックマーク上の最新ブックマークnDiki

自分でタグ付けできないのでどうなのかと思っていたはてなブックマークであるが、気がつけば登録したブックマークももうすぐ1500。

タグ付けできない部分は、検索機能である程度カバー。 お気に入り機能のおかげで旬のネタ収集もできる。 なんだかんだいっても、さすが「はてな」という感じ。

日々登録しているブックマークを活用したいということで RSS を利用して、nDiki に表示してみることにした。 出勤前のちょっとした時間で Perl スクリプトとしてささっと実装

  • ローカルPCで以下の作業を行うスクリプトを書く
    1. LWP::Simple を使用して RSS を取得
    2. XML::RSS で parse() したあと、items から HTMLフラグメントを生成
    3. nDiki のフッタに挿入
  • cron で1時間毎に
    1. 上記スクリプトを走らせ、フッタファイルを書き換え
    2. フッタファイルを UnisonWeb サーバアップロード

という形で実現。

  • DiKicker にはフッタファイルに別のファイルをインクルードする機能がないので、フッタを書き換えてしまえ。
  • サーバに XML::RSS を入れるのが面倒なので、ローカルPCでやってしまえ。どうせブックマークが更新されるのは、そのPCを使っている時だけだから。

という手ぬきであっさり実装

[ 5月16日全て ]

2005年5月17日 (火)

オハフ33 2555

naney:14322341 松下君と1つづつ買ってみたけれど、2人そろって客車ってどうよ。 どっちかSLあてないとねぇ。

国鉄型車両ファイル - 一般型客車/オハ35系 (Part2)」によればオハフ33 2555 は車体形状が半切形になり、台車がコロ軸受けのTR34に変更されたタイプで電気暖房付のようだ。

線路といえば、小学生の頃に買った食玩(たぶん)を思い出す。 似たような感じの列車のオモチャで、切手か何かを同封して申し込んでレールセットのようなもらった記憶がある。 でレールが届いたときには、既に列車の方がどっかへいってしまっていたか興味を失なっていたかであまり遊ばなかったような。いや遊んだような。

子供の頃の記憶って曖昧で断片的に呼び覚まされる。

はてな」のDB運用の裏側すべて見せます

月刊DBマガジン 2005年4月号に、伊藤直也氏による特集記事があるということをWebで知って書泉ブックタワーでバックナンバーを購入。

トランザクション数の多いアプリケーションをMySQL を使用してどのように構築しているかが書かれていてとても参考になる。

  • MySQL を採用した理由
  • 参照・更新についてよく考えられたテーブル設計
  • レプリケーション、データベースのオンメモリ展開(tmpfs 上に置く)、等々

エッセンスがぎっしり。

[ 5月17日全て ]

2005年5月18日 (水)

FOMA F700i 用に 128MB miniSDカードを購入

naney:14479441

秋葉原で購入。 無難に Panasonic の RP-SS128BJ1K にしておく。2999円(税込)。

用。128MB あれば、まず一杯になることはなかろう。

消防訓練

naney:14479148 入社してはじめて4年たつが、今回が初めて。

目覚し時計のような「アレッ? 一応鳴ってるね」って感じの非常ベルを聞いた後、緊急脱出。 うちのオフィスは玄関フロア直結なので、つづがなく脱出。 その後、消化器水鉄砲体験などが実施された。

気分転換もかねてなかなか楽し。

Inline::Pdlpp で 手軽に PDL::PP のコードを書く

PDL を使用しているプログラムの高速化のため、再び PDL::PP でコードを書こうとマニュアルを見直したりしている。

PDL::PP にも Inline 系の Inline::Pdlpp モジュールが用意されているのか。 PDL::PP仕様は結構わかりにくくて(かなり)慣れないと大変。 何度も書いてはテストしてみることになるので、そういった意味でも Inline できるのはすごい便利。

Inline::pdlpp で関数ができあがったら 整理して PDL::Core::Dev のサポートのもとで Makefile.PL を書くようにすれば、いっちょあがり。

[ 5月18日全て ]

2005年5月19日 (木)

DBD::Oracle 1.16 を Debian GNU/Linux sid に入れる

インストール方法は「Instant Client10g」を参考にした。

Oracle クライアントライブラリを取得

Oracle Technology Network License のもとで配布されている、Oracle Database 10g の instant client を利用する。 30日間試用可能。

  • instantclient-basic-linux32-10.1.0.3.zip
  • instantclient-sdk-linux32-10.1.0.3.zip
  • instantclient-sqlplus-linux32-10.1.0.3.zip

をダウンロード。

Oracle クライアントライブラリを展開

/usr/local/oracle の下に展開。シンボリックリンクをいくつか設定する。

 mkdir /usr/local/oracle
 cd /usr/local/oracle
 unzip /tmp/instantclient-basic-linux32-10.1.0.3.zip
 unzip /tmp/instantclient-sdk-linux32-10.1.0.3.zip
 unzip /tmp/instantclient-sqlplus-linux32-10.1.0.3.zip
 cd instantclient10_1
 ln -s . lib
 ln -s libclntsh.so.10.1 libclntsh.so
 ln -s libocci.so.10.1 libocci.so

ビルド環境を設定

環境変数を設定する

 export ORACLE_HOME=/usr/local/oracle/instantclient10_1
 export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH

DBD::Oracle を deb パッケージ化

まずはソースアーカイブを展開。

 tar ztvf DBD-Oracle-1.16.tar.gz
 cd DBD-Oracle-1.16

次に Makefile.PL を編集

 5a6,7
 > push(@ARGV, '-l');
 >
 279c281
 <     my @h_dirs = find_headers();
 ---
 >     #my @h_dirs = find_headers();
 283c285
 <         push @h_dirs, 'network/public';
 ---
 >         #push @h_dirs, 'network/public';
 289c291,292
 <     my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
 ---
 >     #my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
 >     my $inc ="-I/usr/local/oracle/instantclient10_1/sdk/include";
 725c728
 < exit 0;
 ---
 > #exit 0;
 1606a1610
 > 1;

ヘッダファイルディレクトリ自動取得を止めて決め打ちにし、また Makefile.PL 実行時に -l を指定するようにする。 それから dh-make-perl がモジュール依存関係取得するため Makefile.PL を require した際に真を返さないでエラーになってしまうようなので、これも修正。

でパッケージ化。

 rm META.yml # あると dh-make-perl が deb パッケージ名をつけ間違える?
 dh-make-perl --build --notest

deb パッケージ

 libdbd-oracle-perl_1.16-1_i386.deb

ができあがるので、これを dpkg でインストール

実行時

とりあえず、手近のサーバに接続して、簡単な select が動くことを確認。

いまのところ DBD::Oracle を使用するPerlプログラム実行時にも LD_LIBRARY_PATH を同様に設定しておく必要あり。

Makefile.PL 書き換え時に、

 $opts{dynamic_lib}->{OTHERLDFLAGS} .=
   '-Wl,-rpath -Wl,/usr/local/oracle/instantclient10_1';

-rpath を指定してみたが、

 DBI connect('host=192.168.x.x;sid=dbsid','usr',...) failed: ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 3
 ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 5.

というエラーが出て駄目。

[ 5月19日全て ]

2005年5月20日 (金)

el patine MONOCHROME A4パイプファイル (3cm) PAM-1473BK

naney:14836379 最近プロジェクトのミッションドキュメントを書くようにしている。 文書化することでプロジェクトの見通しが良くなり、チーム内でミッションの共有やチーム外の人とのコミュニケーションのツールとしても役立っている。

で、何だかんだいって印刷しておいた方が便利。そうこうしている間に整理していなかった、紙の資料とあわせてごちゃごちゃしてきたので、ちょっとファイリングしてみることにした。 保存資料やらとかは会社にあるパイプフォルダでいいが、アクティブなプロジェクトのものは、どうせなら洒落たものがいい。

ということで、手始めに1冊ファイルを買ってみた。 出勤前に、秋葉原昭和通り沿いにあるこじんまりした(メッセージカードなどが充実している)文具屋で、エル・クラッセのモノクロームシリーズファイルを購入。

株式会社エル・クラッセは 2001年に KING JIM 関連企業と設立されたが、2003年10月21日付けで株式会社合同と合併し、現在株式会社Gクラッセとなっている。

商品についていたシールはエル・クラッセのものだったので、このお店では入荷したっきり売れてなかったのかな?

金具は KING JIM 製。左右どちらからでも開くことができるので、一般的なパイプフォルダより書類の出し入れがしやすいのが特徴。


[ 製品レポート ]

[ 5月20日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィの SNS の企画開発を行うグループでマネージャー・プロダクトオーナーをしています。CS 向上・ユーザーサポート・健全化などにも取り組んでいます。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.047035s / load averages: 1.30, 1.20, 0.92
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker