■ Ruby 日記 2001/6

     June 2001      
Su Mo Tu We Th Fr Sa
                1  2 
 3  4  5  6  7  8  9 
10 11 12 13 14 15 16 
17 18 19 20 21 22 23 
24 25 26 27 28 29 30 
2001/6/1 Fri

6 月って連休ないですね。 ruby-1.7.1 ですよ。

これ、

print CGI::tag('pre') { msg }, "\n"
対応していただいちゃいました。 るんるん。 いくつかスクリプト中にあるのでした。

STREAMS の kernel mode の調査。 私は実装部分には関わらなくてもよくなりました。 うーん、助かったというか。 試してみるだけの情報は集めましたけれど、実際に使うための実装となるといろいろありますから。 実験的なことはしてみたいと思っています。

先月は書く量がすくなかったですね。 ゲームのためかな?


2001/6/2 Sat

本日は、秋葉原へいってから高田馬場です。 OD のメンバーで集まって、あれこれ。

楽しかったです。 ミーティング? いろいろ話題がありましたけれど、「ライセンスがどうなるか?」みなさん気にしていました。 ややこしいのは大変ですから...

このミーティングの前に秋葉原へ。 なんで秋葉原へいったのか? 実は N64 の連射パッドを買いにいったのでした。 情けないことに、いまやっている「どうぶつの森」というゲームのちょっとしたイベントで、連射が必要なのでした。 私は何度かトライしているのですが、一度も成功しないのでした。 しばらく新宿とか行動範囲を探したのですがみつからなくて。 で、けっきょく秋葉原。 ありました。 けれど、これもいろいろありました。 実は 3D スティックが左右の情報を伝えられなくて... 日曜日に交換となったのでした。

高田馬場ですこし。 時間があったので、駅近くの本屋さんへ。 星里もちるさんのデビュー作「危険がウォーキング」が復刻されていたので買ってしまいました。 懐かしいな。

一週間ぶりに髭そり。 ここしばらく髭そっていませんでした。 変な仕事が飛込んできたから? というのもあったりしますけれど??? その仕事が一段落したということもあって、また長くなってきてうるさくなったのもあって。 髪も長くなったのでうるさいから切りたい、ぞ。


2001/6/3 Sun

今日も秋葉原。

交換してきました。 店員さんの対応もよくて助かりました。 ただ、交換のためだけにでかけるのは...

STREAMS の記述があるカーネル本を買ってきました。 STREAMS の情報は、手持ちのカーネル本でカバーできていたんですが、一応資料として。 STREAMS をプログラミングレベルで扱っている本って、いいのあるのかな? カーネル本の場合、プログラミングでの注意事項がわからないのです。 いい本あるといいなと思いつつ、私が自分で STREAMS で書くことはないといままで思っていたんです。 今回も直接は書かなくていいようですが、勉強ついでに試してみたいとは思っています。

あと XP 本。 でているのはしっていたのですが、まだ買っていなかったのです。 いいことも悪いこともちゃんとオープンにできる環境が大切ですよね。 悪いことを隠そうとするような組織などでは、打つ手がなくなりますから。

話はずれちゃいますが、同じことを経営者レベルでちゃんと考えて対応しているところもあって、そういう会社はいいなと思ったりします。 組織が大きくなると、うまく情報伝達できないのが普通なんですけど... 身近な? も情報伝達が悪いのが普通?


2001/6/4 Mon

もう月曜日。 早いなぁ。

昨日の秋葉原。 やっぱりここはにぎわっていますね。 Panasonic CF-B5ER を買っている人をみかけました。 この時期、新しい機種がでたために値段がかなり下がっているので、チャンスかも。 トラックボールは、カーソル飛びもないしいい感じですし。 US キーボードのサポートがあればいいのにな。

もう真夏日。 「平年より早い」というのはよく聞きますね。 夏の東京は、かなり「暑い」地域と同じようなものなので、服装を見直したりしてほしいのですが... ネクタイ嫌いなんです。 冷房も嫌い... でもこの暑さは...

病院の予約確認。 平日の 13:00 - 17:00 だけにしかつながらない電話なので、会社から連絡。 自分の PHS を使っているとはいえ、オフィスから電話するのはちょっと周囲が気になるのでした。 予約の変更があってから、時間のメモがどこかへいってしまって電話したのでした。 いまは、ID がわかれば本人の名前の確認もなく情報を確認できちゃうのが怖いと思いました。 もうすこし認証の手順を考えた方がいいかなと。

会社で使っている携帯電話などで使うマイク付へッドフォン。 これいい感じです。 どこかに売っているのかな? 商品名は「GN エクスプレス M100」でした。 http://www.gnnetcom.co.jp/goods_YM.htm で扱っています。 個別販売もするようなのですが、どこかの店頭では売っていないのかな? これのいいところは耳に挿入するわけではなく、おおい被せるわけでもなく、耳への負担がすくなそうだということです。 家族のもほしいのですが。 Web から注文できますけど、直接売っているお店はないのかな? (秋葉原辺りに) 自宅の電話機にもとりつけたいのですけどね。 一番やりたいのは、電話の子機にへッドセットをつけること。 イヤホンマイク端子サポートの子機ってあるのかな? なければ、PHS を子機にできる電話機を買う? (けっこう高いはず...) なんか、探したけれどみつからないです。 もう流行らないからなくなってしまったのかな? うーん、普通の電話にへッドセットつなぐ? (子機につなぎたい...)

Web での情報。 やっぱりグラフィックがおおいと遅いですね。 そんなに回線速度は遅くないはずなんですが、混雑しているのかな?

そういえば? 6 月には連休などはないですけれど、通院日と検査日があったので、二回ほどお休みする予定でした。 どちらも午後からなので、これはいいかも。 朝ゆっくりできるし。

会社で Kernel の本を読んでいますけれど。 STREAMS のために。 なんか、頭に入らないです。 集中するためにへッドフォンでもするかな? 準備だけはしてあるんですが...

zsh-4.0.1 リリースです。

電話帳検索。 Web ベースの電話帳があって、これをコマンドラインから使っています。 Ruby で作成した自作のものです。 http でキーワードをなげて、リプライの HTML から必要なものだけ抜きだすというタイプです。 けっこう手軽で便利なので、重宝しています。 この電話帳検索に機能が追加されたので、そのための修正が必要になりました。 直接の影響は相手側の表示形式変更なんですけど。 項目が追加されただけだったので、項目をずらすために Array#shift して終わっちゃいました。 このサービス、機能拡張のために、検索時のパフォーマンスが落ちてしまったような気がします。 情報を提供するサーバ側であれこれやるというのも、ある程度の範囲でやめておいた方がいいと思うのは私の勘違いかな? 機能はシンプルにして、検索がサクサクできた方がいいと思うのでした。 もしも、ちょっと複雑なことをしたいようなユーザに対応したかったら、別システムを立ち上げるのはダメなのかな? それにしても、簡単な修正だけですんでよかったです。

暑いですね。 髪がじゃまなので自分で切ってしまいました。 すっきりして髪を洗うのも楽でいい感じ。


2001/6/5 Tue

そろそろ梅雨入りかな? ムシムシするのはいやですね。

ruby-1.6.4 リリースです。

体重。 いきなりですが? 私の場合今年の正月がピークでした。 もともと、健康診断の血液検査の値で、コレステロール値が高いなどいろいろあって、よろしくない状態でした。 症状がでてくるという形ではありませんでしたけれど。 で、正月に 77kg あった体重をすこしずつ下げるようにしています。 食事量もそうですけど、どちらかというとすこし体を動かすことで。 現在 73kg くらいです。 すぐ 1kg は上下しますけれど。 動かすのも、通勤で歩く以外はダンベル 2kg を使って、テレビをみながら体を動かしている程度です。 腕の筋肉痛はけっこう好きなんですが? (おいおい)、すぐに 2kg では負荷が不足して、いま片手で 2kg x 2 でやっています。 本当は 4kg のダンベルを買いたいと思いつつ、持って帰ってくるのが重くていやなので... 血流量が増えることと、基礎代謝量が増えることが、私の体には必要のようです。 すこし改善したためか、会社のオフィスでの空調での影響が減りました。 もしかすると単純にオフィスの風の吹きだし口が別の方向へ移動したのもしれませんけれど。 ということで、すこしは体を動かすことができると、ちょっとはいい感じになるんだなということが、すこしは結果にでてきたのでした。 目標体重は 65kg くらいなのですが、ゆっくり減らせるといいな。 そうそう、オフィスは 4F ですが、最近駆け足で上っていたりします。 こういうのも、全然しないよりはいいかも? この手の話、むかしと考え方がまったく変わりました。 以前は、基礎代謝量がすくなければかえっていいのではないか? と思っていたんですけれど。 食べることのコントロールが難しいこと。 ホルモン分泌がコントロールできないことでの薬を飲み続けなければならないこと。 これらもあって、体は動かさないと? 腹筋をすこし鍛えたいのですが、腹筋って筋肉痛にする前に腰が危なそうなので、いい方法を探さないと...

ある会社の話。 Win ベッタリ環境で提供する Web サービス。 Web は、あらゆる環境からのアクセスが考えられますけれど、Win の IE.5 だけが対象になるような「つくり」をしていたりします。 ユーザサポートやユーザの意見を聞くようなページでこれを実施されると、普段 Mac を使っている人や Unix 系の人たちは... また、メールなどでも漢字コードの問題を起こしたりします。 対外的なことを実施する部署は、もっと勉強すべきだと思うのです。 これではお客様を不快にするだけです。 こういうのは、製品の問題でもないのに、お客様を減らしている結果になっていると思うのです。 だれでも、印象がいい対応だとうれしいですよね。

ゲームのある生活。 もう、同じゲームを一か月以上続けています。 いいゲームなのです。 でも、私に? 時間的制約があるので、そろそろ... まだまだ、ゲーム中でいろんなイベントがあるんですが。


2001/6/6 Wed

雨ですね...

足のかゆみ。 左足のふくらはぎの辺りに、湿疹ができていてかゆかったです。 これと同時に左足の甲もかゆかったです。 左足の甲は、まったく外傷がなく、とっても変な感じでした。 以前、ちょっと傷付けたことがあって、その関係かなと思っていたんですが。 ふくらはぎの湿疹が治まったら、甲のかゆみも治まって。 こういうこともあるんですね。 道理でかゆみ止をいくら左足の甲に塗っても影響ないわけです。 湿疹の方は、局所的ですがけっこう長く続いていたので、こちらが治まったのもよかったです。

う、朝から認識率落ちている。 ちらっと、ソースコードを読んでいたら、探しているキーワードがみつからないのです。 grep でキーワードが引っかかっているのでここなのに? と、よくよくみればありました。 うーん、まずいなぁ。 ゆっくり休んだ方がいいかな? 昨日はよく寝たはずなんですが...

「復刻」?「復刊」? 星里もちるさんのデビュー作「危険がウォーキング」ですが、出版社はエンターブレインです。 「ファミ通」をだしている出版社です。 ゆっくり読んでいるんですが、ホントいい感じです。 最初読んだときもよかったけれど、こういうの好きだなぁ。 サイズは青年誌のコミック(「頭文字 D」とか「バカボンド」)と同じサイズです。 情報は http://www.enterbrain.co.jp/comic/comix-new/03/beamcomix03.htm へどうぞ。 3 月末にはでていたんですね。 私もしらなかったです。 ちょっと検索してみましたけれど、この作品好きな人が多いみたいですね。 読み終わりました。 いいな、ホント。 会社の机の上に常備しようかな...(おいおい)

夏休みとリフレッシュ休暇。 今年、いまの会社に入って 10 年になるんです。 なので、リフレッシュ休暇 7 日間もらえたりします。 それと夏休み。 夏休みの日付は本人の希望に合わせてもらえるので、二つを続けるとけっこう休めそうです。 いつにしようかと思いますが、田舎のお祭りの時期がいいかなと思ったりするので、8 月末くらいかな。 まだまだ遠いなぁ。 7 月のりきれるかな?

仕事での情報提供 Web ページ。 たいてい片手間にやっていたりしますよね。 そうすると、「ユーザが必要としている情報をみつけやすくする」というようなことはなかなかおこなわれません。 でも、提供している側は「情報を提供している」と思っていたりするわけです。 こういうのがうまく回るように、ちゃんと考えないとまずいと思いますけど? あ、私がいまの部署でやることがなくなったら、そちら方面をやらせてもらおうかな。 専任で? (無理かな)

すごい。 http://plaza28.mbn.or.jp/~kitaj/

オフィス。 私の席のは、会議室がとなりにあるのだけれど、この会議室の入り口は袋小路になっています。 会議中に電話があったりすると、この袋小路にでてきて電話に対応したりするんだけれど、これがなかなかすごいです。 なにがすごいかというと、袋小路的構造なので声が拡大して? ガンガンオフィスに響いてしまうのです。 そう、理科室にあった音叉の下の共鳴箱? のような感じです。 まったくできがよくないのでした。 そのほかにもいろいろ人の動きを考えてないところや、まったくの無駄とかがあったり...

最近? Ruby のコンパイルはしていますが、「新規になにかつくる」っていういい課題がみつからないでいます。 なにかいい課題がないかな。 日常作業にはあまり困っていないですし。 業務用の Web での予約管理とかほしい(既存のものがすごすぎるので)のですけど、私が使うものではないのでいまいち動機付けが弱いです。 つくるとしたら、簡単なワークフロー関係かな。 定義が楽で、状態がだれでもわかって、本人にちゃんと通知ができて。 普段使うスケジュールシステムとリンクできるといいのですけどね。 これも動機付けは弱いな。 個人用の Todo とスケジュール関係とワークフロー的なものがほしいかも。 あ、ワークフローだと、一人で使っても意味ないですね。 うむむ。


2001/6/7 Thu

う、もう暑そう...

朝、ラジオで雨は降らないといっていたんですが... 天気予報って、もっとリアルタイムで予報をだしてくれるといいんですけど。 警報はだしているけれど、予報は定時にしかでてこないとか? TTNet の雨量表示が個人的な予測に役立つので好きなのですが、これも拡大するかどうか? などは、他の情報がないので不明です。 むかしは、某テレビ局が 3 時間後の予想をだしていたので、便利だったのですが。 いまは、かなり情報も減ったしリンク情報もおかしくなっていて... 帰り道は、わりと小降りでしたので、とりあえずは大丈夫でした。

あれ? Ruby で作成した POP でアクセスしてファイルへセーブするスクリプト。 POP で受けとるときに CPU をガンガン使って終わらない状態になっていました。 プロセスのサイズも大きくなって... ファイルは MIME の 4MB くらい。 一部コーディングを変更するとこの現象が起きなくなってしまったのです。 システムコール的には mmap(2) とかが、繰り返されるような状態で変ですね。 コーディングを変更した部分については、単純なテストをしたのですが再現しませんでした。 ネットワーク的には POP サーバはデータを渡してしまって、レスポンスがないので POP サーバからタイムアウトで切ってしまうようです。 単純なモデルで再現するようなものをつくれるかな? いくつかトライしたんですが、再現できていないのでした。 あらら。

ちょっと会社休みたい感じ...


2001/6/8 Fri

週末ですね。

最上位機種。 なんとかの最上位機種登場! とかいっても、あまりパッとしないような気がするのは私だけでしょうか? 世の中、けっこういい感じになってきているので、すごく大きいとかすごく速いというだけでは売れないと思うのです。 「やりたいことができる」これがポイントですよね。 やりたいことをするために必要なものが CPU パワーなら速い CPU を購入することにはなると思いますけれど。 CPU パワーだけではどうしようもないことも多いですし。 さて、不況ですがボーナス時期ですね。 どこへ投資しますか? 温存ですか? 私はやっぱり買うものがない感じ。 ノート PC の US キーボードでいいものが「あれば」ほしいけれど、いま使っているのでも困らないし。 DVD 鑑賞関係は、すこしほしいかも? でも DVD ソフトを買うのも大変そうだし... US みたいにもっと DVD ソフトが安ければいいのですけどね。

STREAMS の話。 私が読んだカーネル本は次の二冊です。 UNIX カーネルの魔法 最前線 UNIX のカーネル どちらも、ちょっと高いですが内容的にはいい感じでした。 STREMAS 以外のところは、まだ読んでいないのですけど...

Web 読み。 「羊のページ」の掲示板とか読んでいるといいなとか思ったりします。 「スラッシュドット」もおもしろいですよね。 参加したいな。 すればいいんですけどね。 自分で参加できるのっていいなと思うのですが、書いちゃうとついつい愚痴になっちゃうし。 社内だと、愚痴っちゃったときに「前向きにとか」「提案型で」とかいわれちゃうのでした。 でも、いままでマネージャさんたちが「前向き」? に「現状維持」してきた結果がこれなんでしょ? 疑問に思わないのかな? と、やっぱり愚痴っちゃうのでした。 あれまぁ。 よくやっている人たちには「がんばったね」って書くのは悪くないか。 ごくろうさま。

ちょっとしたお題。 本日 ruby-list で数字の三桁ごとに「,」を入れたいというお題がありました。 こういう細かな話題も集めるといい感じになりますよね。 クックブックがそういうものになると思います。 「Ruby クックブック」はほしい本の一つです。

首が痛いです。 寝違えちゃって。 とほほ。

6/29 に Kondara でますね。 買ってきて入れたいなと思っています。 いま、使用頻度がすくないノート PC (VAIO XR 1G)がありますし。 あれこれ試してみたいなと思うのでした。 そうそう、VAIO で XR シリーズなくなってしまうのですね。

雑誌。 買っていないな。 買っても読んでいないな。 まずぅ。

ポイント質問。 質問の相手が答えられないと終りですね。 となりの人がしっているかもしれないのに...

身につけてほしい感覚。 UNIX Magazine 2001/6 の特集「UNIX の基礎知識 1」での話題です。 この記事の中に「身につけてほしい感覚」というページがあります。 「あれ?」って思うようなことをまとめているのです。 Unix 使いとしても、共同作業を行うとしても、考えてほしいかなと思う内容でした。 こういうことを新人さんにいうと、古いとか年よりとかいわれるんですかね? まあ、私は old type ですけれど。 ちょっと笑えるというか、困ったことの例が LaTeX と MS-Word です。 「印刷したページを挟めばいいと思った」という考え方がすごいですね。 普段そういうことしているためと思いますが。 LaTeX を使って、目次や索引を作成するとか、便利な機能の存在などをしらないのでしょうか? MS-Word にもこの程度の機能はありますけど、使ってなさそうな話ですね。 この記事を読んで「なにが悪いの?」って思う人たちとは、いっしょに仕事したくないなと思うのでした。

また悲しい事件が。 「どうして?」と思うようなことが多すぎます。


2001/6/9 Sat

さて、のんびりしますか。

Air H" っていいかも? Web ブラウザで読んでいたりすると、でるときに 64K でそうでないときは 32K なのは全然問題ない感じ。 買ってきてみたい気もするんだけれど、対応しているプロバイダが「ない」のが問題。 全然ないというわけではないですが...

Linus さんの本。 まだ途中ですけど、なかなか楽しい本ですね。 私も高校とか中学のときに好きなだけコンピュータに触れたらよかったのにな。 PC-8001 がでたころは高校生でしたが... ポンと買えるお金はないのでした。 ナイコンで雑誌を読みながら 2 年くらい頑張って、PC-8801 を手に入れてからは、プログラミングの毎日? ちなみに、当時は学校にいかないで PC ばかりやっていたので、いまの自分があるのかも。

昨日から喉が痛いのです。 ちょっとだけ体調が悪い感じなんですが、なんでしょう? 風邪なのかな。 鼻水もでるし。 喉と鼻水だけなんですが...

買いものへ。 一回りしてきましたけれど、ほとんど収穫なし。 雑誌もでているのは確認したのですが買ってきませんでした。 雑誌の記事とかは、記事単位に読みたいときに読めるようなサービスとかあるといいのにな。 もっともっとあるべき姿? (読者の立場で?) として、「ほしい情報」をだれかにお願いすると「リスト」がでてきて、必要なものをピックアップして、読みたいものが読めたりするといいですね。 本を積んでおくだけだと、必要な情報を検索することも難しいですし、使いたいときに、使いたい場所で使えないですから。

久しぶりに生活パターンがおかしくなったのでした。 睡眠不足解消もあるんですが、いろいろあったりして。 まだ寝足りないかも...


2001/6/10 Sun

噛み合わないこといろいろ。 すこしは進めないと? それともゆっくり?

BE-PAL が 20 周年。 創刊号とか読んでいたんですが、もう 20 年ですか。 すごいです。 アウトドア関係のグッズっていい感じのが多いですね。 ほしいものがあるんですが、問題はどこで売っているかよくわからないこと。 そのうち探してみますか。

夕立ち? 寒気が入り込んで雨を降らせているようなので、夏の夕立とは違うようですが、でも梅雨前線でもないようです。 ちょっと感じからは、夕立ちみたい。 あ、マイペディアによると、寒気団が南下して起きる場合もあるらしいので、これも夕立ちか。 やっぱり夏的な感じ。 自然のことなのですが、気象現象が普通が通じない感じですね。 ああ、暑い夏はやだなと思いつつ、温暖化関係などで暑くて大変なんでしょうね...

Ruby doc/NEWS っていいですね。 ときたま読み直した方がいいですよ。

ひどい鼻づまり。 頭も重くなってきたので(私って大きいんです頭のサイズ)、本格的に風邪かもしれません。 明日会社に行きたくないので調子悪いのかと思いつつ、はじまったのは金曜日からだし?

ノート PC の熱の問題。 けっこう暖かくなりますよね。 これが、ほとんど熱をださなくなるようには、将来的には可能なのでしょうか? 冬場はいいですけど、夏は大変な感じ。 ある人が、ノート PC は薄い方がいいといっていました。 私は重量さえ軽ければ厚さは気にしないです。 使い方の違いでしょうか? テーブルに置いてイスに座って使う場合は薄い方がいいかもしれませんね。 私の場合は、適当な場所に転がって使うので、作りはしっかりしていてある程度厚くてもいいです。 トラックボールなので、その厚さもありますけれど。 持ち運びを考えると軽いというのが、とても重要ですね。 いま使っている Panasonic CF-B5R は 1.5kg ですが、これもできれば持ち歩きたくない感じです。 普段持ち歩いていませんけれど。


2001/6/11 Mon

月曜日。 やっぱり、ブルー。 課題がないから? 張り合いがないとか... 風邪の症状が治まらないので、無理せずお休み。

一日ゴロゴロ。 食事のための買いだしのついでに PS2 Linux Kit の払い込み。 これで一安心? 症状はあまり改善しない感じ。 そんなに急にはよくならないかな。 胸の辺りが変な感じで。

Linus さんの本。 いい感じ。 まだ読み終わらない(時間はあるんですが集中力はなくて)ですけど、読んでいておもしろいです。 私が、「だから Linux を使っている」っていう理由にやっぱりなる感じ。


2001/6/12 Tue

まだ喉がゴロゴロ。 さて、どうしようか悩みますが... また休むのもなんですし、ここで無理するのものなんですし。 微妙。 咳が止まればいいんですけどね。

文字種統一。 検索するような場合、文字種の統一って必要ですよね。 日本語の場合は、アルファベットも全角文字と半角文字(って書くと「おいおい」かもしれませんが)があります。 同じ意味を持ち違うコードになっている場合があるということです。。 これを簡単に解決するには、必要なキーワードとの比較の前に、キーワードも検索対象も同じ文字種に変換することになります。 大変ですけど必要ですよね。 なぜこんなことを書いているかというと、社内文書などは、一つのドキュメントの中にも混在しているよう場合がけっこうあるためです。 かな漢字変換を行うときに、文字種の指定を設定できることをしらないためだとは思いますが、意識がないのが大きいでしょうね。 一度書いたものを機械的に検索したり、再活用しようとする人ならこの辺に気がつくと思いますけれど? (違うかな) 最低限、一つの文章の中で統一されていれば、ちょっとした間違えを検索しながら変換するようなことが可能になるんです。 Ruby を使えば、けっこうこういう検索は nkf モジュールが便利に使えるのでいいのですね。 でも、全角の場合テキストへ変換した場合「単語」の途中で改行されたりすることもあるので、この辺は注意が必要です。 「テキストを扱う」っていろいろ応用ができると思うのです。 情報は Web などでも多いですし。 なにか「こういうのあればいいな」をやってみませんか?

一応出社。 自宅にいても暇なので?

IT 投資? いや IT 投資というよりは物欲ですね。

  1. PS2 (家族の初代 PS2 と交換のため)
  2. PS2 Linux Kit のためのディスプレイ
  3. CD (ディスクマンタイプ)
  4. テレビ番組も聞くことができるラジオ
  5. DVD プレイヤ (コンパクトタイプ)
    • DVD ソフト (たくさんでているんだけど...)
  6. ノート PC (たぶん買わないですけど)
  7. 住宅関係 (広いところへ引っ越したい)
安いものでも、ずいぶん前からほしいと思いつつ買っていない「ラジオ」とか「CD」とかがあったりします。 踏ん切りが悪いというか、「買おう」と思って買いにいっていいのがないとしばらく棚上げ。 結局いまにいたっています。 ラジオは、ゲームしながらテレビのニュース系の番組を聞きたいためです。 CD は、前使っていたのが壊れてしまったので、寝ているときに CD を聞けなくなってしまったので(もうかなり前から)。 以前は、ノート PC のディスクが調子悪く電源を止めると回らなくなるので、電源を入れたままにしていました。 これで MP3 をズーっと再生していたんです。 このディスクを入れ替えたのでいまは音がなくてさびしいです。 ま、ぼちぼち必要なものは買うことになると思うのですが。

フリーアドレス? (というのが一般用語かは私にはわかりません) 固定席がないオフィスが増えてきているようですね。 ちゃんと成功しているところでは、オンラインのツールが有効活用されているようです。 場所に関係ないようにいろいろ工夫されているようです。 うまくいっていないところは、席だけが固定されていない(自由)で、あとのサポートがお粗末な場合です。 同じ組織内での人と人の関係と仕事の関係が密に必要のない営業さんのような場合は、ある程度うまく実施できそうです。 チームの連携を必要とするような部署の場合は、どうすればうまくいくのでしょう? 別に席が近くなくても、集中できる場所とコミュニケーションできるツールなどがあれば、うまくやる方法はあると思います。 でも、「考え方」なども含めて、うまくメンバーに伝えないとだめでしょうね。 いろいろな人がいますし。

そういえば edd は、どこ? 以前お世話になった edd なんですが、検索してみたらみつかりません。 最近はデバイスが速くなったので使われないのでしょうか? 普通 dd は、

「読み込み」「書き込み」「読み込み」「書き込み」
と処理するので、IO が連続しておこなわれません。 edd では、
「読み込み」「読み込み」
まちまちまち「書き込み」「書き込み」
のように、プロセスを二つにして読み込みまたは書き込みがなるべく連続になるようにします。 読み込みか書き込みの遅い方が連続になります。 これは、デバイスにとってありがたいことなので、以前は使っていたりしたのですが。 たぶんソースは、いま停止中のシステムでディスクの内容をリカバリすればでてくるのです。 とりあえず探してみようということでネット上を検索してみたのです。 私が検索が下手なのか「用語辞典」にでている edd はあるのですが、ソースはみつかりませんでした。 ちょっち残念。 インプリメントは pipe(2) を使って IPC を行っていたように思います。 自分で書いてみるというのもあるんですけど... tar コマンドなども「ディスクを読む」と「テープに書く」はプロセスを分けるなどの方法を使うと、よさそうですね。

賢いプリンタ? ネットワークに接続されたプリンタなのですが、SNMP はもちろんのこと HTTP でも返事をしますね。 プリンタのステータスを確認したいときに使えたりします。 普通は、プリンタを管理するサーバへ問い合わせることになると思うのですが、プリンタに直接確認できます。 SNMP で .1.3.6.1.4.1.11.2.4.3.1.2.0 に確認していたりしました。 これ機種固有かな? このほかにもいろいろ情報を持っているみたいなので、紙切れとかトナーが不足したらどこかへメールするとかも可能ですね。 私がオフィスの設備管理担当なら、こういうツールをうまく使うかも。 printer 用の MIB を入手していないので、詳しい情報はわかりませんが、紙が切れる前に給紙することも可能だと思うのです。 たぶん。 あ、本当の? 管理者宛てになら syslog も送れるようになっているみたいです、このプリンタ。

マウスクリックの音。 あんまりオフィスでクリクリしていると、Web みているだけってのがバレバレですね。 まあ、いいのですけれど。 でも w3m なら気がつかれませんよ? なに書いているのかな...

LCD の輝度。 久しぶり? に会社へいったら、液晶ディスプレイの明るさが明るすぎる感じ。 最大で 100% ですが 25% で使っていました。 これを 20% とか 15% にしてちょうどいい感じ。 すっごく明るくしている人がいますが、認識率は上がりますけれど、目が疲れないのかな? と思ったりします。 周囲の明るさにも関係しますが、暗すぎるのも明るすぎるのもよくないかと思います。 私は暗すぎるのかな?

風邪。 感染力があるみたい。 私の同じチームの人もすこし前になっていました。 治りかけの私がオフィスに行くのはよくないかも。 明日は通院日なのでさらによくないかも。 まあ、MRI の検査だけだから大丈夫とは思うのですが。 咳がでないといいな。

Linus さんの本。 この手の楽しい本を読むと読むスピードが遅くなります。 あれこれ考えてしまうから。 小説とかとは違い、ストレートの受けとるだけではなくて、あれこれ考えちゃいます。 現実と比較しちゃうし。 オープンであること、意思決定などもオープンであることが大切という話を読んでいて思うのですが。 実際会社関係の話ですが、自分の周りではこういうことがオープンになっていたりしません。 意思決定もそうですし、機会もオープンに提示されていません。 決定者がいて、決定理由も不明。 ときにはその決定が、「なぜ?」ということとか。 やりたがらない人たちには、それでもいいのかもしれませんけれど、自分の能力を発揮したいと思っている人にはよくないと思うのです。 情報(依頼も含む)が集まってくるマネジメント系の人はそれをオープンにしてくれればいいと思うのですが。 いろいろなレベルでオープンになることが重要だと思うのです。 自分から動こうと思っている人に情報を伝えるために。 こういうことができると、いいと思うのですけどね。 まあ、チャンスを自分でつかむために、日頃の行ないが大切ってことかも? むかしから、私は仕事を選んでいたし。


2001/6/13 Wed

通院日。 MRI の検査なんです。 それと PS2 Linux Kit の代金、支払期限。 もう払っちゃったので OK なんですけど。

朝変な時間に起きだしてしまって、眠れずに本を読んだりしています。 この時間帯、たまに起きていたりするんですが、なにかに集中するにはいいのでした。 本日は会社もお休みだし、通院も午後からなので。

持ち歩くノート PC? 実際問題として、「いつでもどこでも Ruby」が実現できるので、持ち歩きたいのです。 でも、現実問題としては、持って歩けていません。 1.5kg でさえ、持ち歩くには重いと感じるのでした。 電源も考えちゃいますし。 これらをクリアする、バッテリーだけでほぼ一日 OK で 1kg くらいのものがでるといいんですけどね。

久しぶりに NIFTY を読んで。 FGALTS が、あらららら。 ついついリプライしてしまいそうになるのですが、やめておいた方がいいんでしょうね。 「どうして?」 思うのですが、そういう人なのかな。 ねらいがあるのかな? と思ってしまったりするのですが。 状況説明をすこし書くと、よくわからないことをたくさん書いている方がいるんです。 いままで、いくつかのフォーラムでみかけた方なのです。 閉鎖的にするのもよくないのですが、よくわからないことをたくさん書かれても...

楽しむために。 Linus さんの本「Just for fun」タイトルそのままなんですよね。 大切なのは自分が楽しむこと。 それでだれかと楽しみが共有できればもっといいし。 仕事などでも「楽しくやろうよ」ということをよく聞いたりします。 人によって楽しみが違うことに、いっている人が早く気がつけばいいんですけどね。 Ruby でプログラムを書くのが楽しみ! 私は、それでいいんですけどね。

久しぶりの MRI でした。


2001/6/14 Thu

雨ですね。

午後の病院。 昨日の通院の話です。 いつもより長めの MRI で、でてきたら一時間経過していました。 「うとうと」していたので、あまり長くは感じなかったのですが。 待っている時間の方が長く感じたりして。 MRI ってどういう感じか書いた方がいいかな? 狭い筒の間に入って、けっこう騒音がするんですが、磁力線で情報を集めるだけなので、体への変化は特にありません。 騒音も、パターンを持っているものなのでなれてくると「うとうと」できちゃいます。 これで体内の情報を集めて、3D 化したりフイルムに焼き付けたりできるものです。 個人的には、この自分のデータがほしかったりするのですが、けっこうな容量になるとか。 PC でも、最近の機種なら 3D データをけっこう扱えるはずですし。 ごごに通院するのは久しぶりでした。 大学病院系のためか、私がみた午後三時で 3000 人くらい患者さんがきているようです。 もう診療時間は終わりそうなので、一日 3000 人くらいということでしょうか。 薬の待ち時間は 50 分くらい(今回は薬の受取りはなかったので実時間ではありません)。 診察終了後、お金を払うことができる計算が完了するまでは 30 分くらい待たされました。 午後の病院は、けっこう大変だということがわかったので、急いでいるときの予約は朝早い方がよさそうです。 私の場合は、朝ゆっくり起きることができるので、午後でもいいかなと思ったんですけど。 通院の次の日の今日は、ちょっと朝つらかったです。 早めに寝たんですけど、疲れていたのかな? 注射した造影剤? って影響あるのかな?

書泉グランデ。 昨日の病院の帰り道、秋葉原へ行くのではなく今回は書泉グランデだけにいってきました。 やっぱりここはいいなと思いつつ、買った本は一冊だけでした。 読みたいのはいろいろあるんですけれど... 一つとりあげると「ビル ジョイ」というタイトルの本。 タイトルにはビル ジョイさんの名前がありましたが、内容的にはネットワークとか Java まわりの歴史の本? みたいな感じでした。 ビルジョイさんが書いたものではないのですが、技術的な視点として、ビルジョイさんの周囲の話をまとめた感じです。 値段が 4,000 円だったので買わなかったのですが、ちょっと読んでみたかったです。

Vine と Kondara どちらも楽しみ。 Vine Linux 2.2CR が 7 月末くらい? Kondara MUN/Linux 2.0 が 6 月末(リリース済です)くらいですね。 どっちも購入してしまいそう...

IBM の ThinkPad の US キーボード。 ThinkPad は US キーボードをだしたりするようですね。 一応アピールするために希望を Web ページ経由でだしておきました。 でてきたら、買わなきゃダメかな? s30 は、いい感じなのでほしいです。

最近の悩み。 Ruby の課題をみつけられないのです。 プログラミングからすこし距離ができてしまったというか。 仕事的に変わったとかそういうのではないのですが。 プログラミングに集中してというのが、いま、ちょっと...


2001/6/15 Fri

週末ですね。 金曜日なので早く帰ってきたいのですが、月に一度の組織のミーティング。 金曜日なのに? 朝まで飲みにいくような人たちには、いいのかもしれませんけれど。 ちなみに、誘われれば私もいくのですけど、朝までは飲みませんです。 いや、メンバーによっては...

都市熱と豪雨。 コンクリートが多すぎて、都市はそれだけで温暖化してしまいます。 それは、集中豪雨を産みだす原因になっているようです。 どうにかできればいいんですが... 夏の夜暑くて眠れないのも困りますし。

香り。 電車で、となりに座った女性。 とてもいい香りでした。 花系の香りかなと思うのですが、気がつく程度の強さなのに全然嫌みがなくて。 世の中には、気がつくと「うっ」というタイプが多くて困ったもんだなと思っていたんです。 こういう感じのものが増えるといいなと思ったのでした。 まあ、香りについての好感度は個人差が大きいのですけれど。

ハッピーマンデーの追加。 実施は 2003 年からということでした。 もう、カレンダー印刷はじめているところもあるのかな? http://spin.asahi.com/national/update/0615/011.html

「 首相が不思議な踊りを踊った。 官僚は混乱している。 部門より. 」 笑っちゃいました...

久しぶりにプログラム。 ランダム IO するプログラムなんですが、IOPS の計測のために。 Ruby でも以前書いていますし、今回もプロトタイピングは Ruby で、さっさと実施。 その後に C で書いて pthread して、一つのプロセスで IOPS がどれだけ上がっていくかの確認です。 動かしてみると、なかなかおもしろいです。 一つのプロセスでスレッドなしでは IO 待ちになれば、そのプロセスが待ちになってしまいます。 スレッドだと待ち以外のスレッドが処理をリクエストできるので、IO queue にためられるだけためれる感じ。 まだ、ギンギンにブン回すようなテストまではしていませんが、いい感じにおもしろいです。 これから、「ランダム」でアクセスしていますが、ある程度キャッシュを利用しているようなので傾向の確認などをしたいです。 つくったプログラムがどう動いているかわからないで、計測もありませんから。 ハードウェア上にも OS 上にも、いくつかキャッシュがありますから、これらを全然使わないというのも実現的ではありません。 どの程度キャッシュ上のデータが再利用されたかがわかると、いいのですけど。 今回、スレッド対応を簡単にしてしまうため、データ構造は配列で逃げちゃいました。 Ruby のようにインスタンスを生成できれば便利なのですが、使っているのは C なのです。 C++ は、私には使えませんし。 次のステップは C++ で書いてみる? なにが目的なのかな、これ?

ある社内用アプリケーション。 使い勝手が悪くてあれこれ。 改修について、プライオリティもつけないままにただひたすら改修していたりするのが怖いところ。 ユーザ不在というか、要求の確認もなしというか、勝手に提供する側が動いているのはやっぱりまずいですよね? 人の手間を増やすためのアプリケーションとか、やめません? ソフトウェアって、できる人がちゃんとつくればすんなりいくんですけどね。 そういう人を評価すればいいのに...

あ、「カリオストロの城」。 そういえば、本日なのでした。 ワイドクリアビジョンなので、きれいにみえていい感じ。 久しぶりに観たのですが、やっぱりおもしろいです。 最近テレビ放送のコナンもみていますが、こちらも毎週楽しみです。


2001/6/16 Sat

のんびり...

日常的な。 ちょっとした必要なものに Ruby でスクリプトを書くということが Ruby している人の日常ですよね。 「こういうのあればいいな」からはじまって。 「だれかつくっていないかな?」と、とりあえず探してみたりして、なければつくりはじめる。 私の場合、ややこしそうでなければ探しはじめる前につくりはじめてしまいます。 再発明になってしまうかもしれませんが、つくるの好きですから。 まあ、目的を達成するということだけ考えれば、大抵の目的に対してはすでにだれかがつくっているだろうといわれています。

くもりの中を買いものへ。 雑誌とコミックをすこし買ってきた程度です。 雑誌は、買ったような気がするのですが読んだ記憶がないので購入。 最近買っても読まずに置いておくこともあるので、そのなかの一つだったりして? まずいなぁ。 コミックは「はじめの一歩」の 57 巻と「魔人」、それに「BASTARD!! 未使用 改訂版」を。 社会人っていいですよね。 この手のコミックや雑誌を買ってしまえるというか...

問題提示? 相手に意味がちゃんと伝わるように質問するのって難しいですよね。

人とペット。 ペットっていいですよね。 アメリカではペット同伴で出社することを認めていることがあるそうです。 ペットのために人間関係がよくなって、仕事もスムーズに進んでいるそうです。 こういうのいいなと思います。 日本だと難しそうですけど。 通勤も含めて...


2001/6/17 Sun

今日は?

今年の夏は雨が降らなくて大変? 東京が渇水したら... こういうテレビ番組やっていると、「どうしよう?」とか思いますが、実際問題としてなにもできないです。 水不足は困ります。 コンピュータも直接的にせよ間接的にせよ空調が必要なので水を使います。 都市機能が麻痺してしまいます。 もう一つ、都市は局地的な集中豪雨に弱いです。 予定されている排水量しかありませんから、その排水量以上の雨が降れば、これも都市機能を麻痺させてしまいます。 近年、気象関係の極端な現象が起きていたりするので、どちらも起きそうで怖いですね。 都市の問題が自然現象にも影響しているのが現実なので、緩く分散するようなことを考えた方がいいのではないでしょうか? 通信回線も早くなってきていますし。

休日のプログラミング。 と、休みの前は思っていたのですが、けっきょくプログラムをつくることはないのでした。 ゆっくりしたので明日にでも試してみようかなと思っています。 なにをするかは、「C++ と pthread で IOPS の測定のための負荷生成ツールの作成」という感じでしょうか。 C++ は、ちょっと試してみたいというだけなのですが、ぜんぜんなれていないので、さて書けるかどうか? 入門書を片手に... ロジック的なところは Ruby で確認してしまえるので、かなり楽だと思います。 あ、あと Ruby で OO 的な考え方と用語もなれてきているし? ややこしいことはするつもりはないので、目的は達成できると思うのですが...


2001/6/18 Mon

今週も通院日(6/20)ありで、ちょっとうれしいのでした。 会社お休みできるので? 天気がよければ秋葉原を回ってこようかな。

気象関係。 アメダスの情報などテキストで入手できるところがあるとおもしろいと思いませんか? おもしろくないかな? 雨が近づいてくるとか、風がひどくなってきているとか、変化をうまくレポートできるように。 公開されているような画像関係だと、処理するのがめんどうですし。 あ、東京ガスなどが独自で持っている情報などもいいと思うのです。 将来的にでも、加工したデータだけではなくて、生のデータなどが利用できるといいなと思うのでした。 コンピュータが賢くなってくると、自分で処理する人が増えるでしょうし? ずいぶん先の話かな。

最初の C プログラム。 そういえば、C で最初に自分で作成したものは hex dump でした。 ファイルの内容を 16 進数で表示するものです。 当時パソコン(PC-8801)になれていたので、16 進表示が普通でした。 Unix には 8 進数で表示する od コマンドはありますが、16 進数表示がなかったのです。 ちなみに、いまの od コマンドは -x オプションで 16 進数表示ありますね。 雑誌にでているようなダンプ形式のものがほしかったので 16 進数表示と ASCII キャラクタでの表示を行うものを作りました。

00000000 00 00 01 ba 21 00 01 00 01 80 08 af 00 00 01 bb  ....!...........
00000010 00 0c 80 08 af 0a e1 ff e0 e0 28 c0 c0 20 00 00  ..........(.. ..
00000020 01 be 07 dc 0f ff ff ff ff ff ff ff ff ff ff ff  ................
00000030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
なぜか最初から make も使ったり。 この前にすこし書籍にでていたようなプログラムは触っていたんです。 「自分が必要なものを作る」というのが一番勉強になったのでした。

C++ でのプログラム。 単純なのでとりあえず目的を達成。 プリントアウトすると紙三枚程度。 Ruby なら紙一枚ですね。 Thread をたくさん生成しても、インスタンス変数が勝手に対応してくれるので便利。 という使い方程度なのです。 私には、ややこしいことはできませんから。 C で書くよりは、この辺とても便利ですね。 ちなみに私の C++ の参考書は「はじめての C++」塚越一雄著 技術評論社 ISBN4-7741-0843-X です。 GNU C++ と Unix で書かれているので、環境的に楽なのと、「入門」というレベルにはちょうどいい感じなのです。 このほかにも C++ の本は何冊か持っているんですけど、古いものばかりで... 簡単な使い方ですが、便利なところだけ使うなら C++ もそれなりにいいかも? プログラムができたのでちょっとあれこれ試してみています。 やっぱり生成する Thread が多いと、オーバーへッドも多いですね。 処理は IO が中心なので、Thread の数はこの IO の処理能力から判断すればよさそうです。 それにしても CPU がたくさんあるシステムっていいですよね。 実時間よりも CPU 時間のほうが多いので 11.57s user 25.90s system 323% cpu 11.572 total とかレポートでてきますから。 Linux でも CPU がたくさんあるシステムを使ってみたいです。 普段は必要ないですけど...

セリエ A ローマ優勝。 眠れなくてみていたんですが、あの観客の人たちすごいですね。

デジカメ。 いまごろですが、ほしいかなと思うのでした。 電池で動いて、すごい枚数とっても平気みたいなのがでてきたので。 「きれいな」というよりは「メモ」的な使い方をしたいので、気になるのは携帯性と電池くらい。 使用経験がないので画素数とか絵のきれいさは、一度使ってみてからがいいかなと思うのでした。 なので、安いので試したいと思っています。 ズームってあると使うかな? 人に聞いてもしかたがないけどね。


2001/6/19 Tue

今日も明日も明後日も雨かぁ。

オープンじゃない職場。 けっこうつらいですよね? (違うかな?) だれがなにやっているか? も、そうですけれど、どういう要求があるか? も、不明... 自分がやりたい仕事があるかもしれないのに... なにをやろうとしているのか伝わらない... これはよくないと思うのですけど。

体重。 またちょっと上下しています。 運動量が不足しているからかな。 食べる量が増えちゃった? 体動かさないと... で、最近誘惑があるのです。 食べものもそうなんですが、食べものではなくて。 近くに鉄棒がないので、懸垂をしてみたいのですが試せません。 電車に乗るとちょうどいい吊革を支える鉄棒? があるのです。 これにつかまって懸垂してみたいのです。 これって、とっても恥ずかしいことですよね。 危ない人にもみえるし。 懸垂ができるならまだいいのですが? (よくないって!) きっとできないですし。 うーん、こっそり? やりたい感じ。 どこかに鉄棒みつける方がいいかな。

ちょっと長いかも。 私が書いた C++ で Thread を使ったランダム IO するものです。 イマイチな感じ? 自分ではわからないところがイマイチかも...

//  Created: June 18,2001 Monday 11:52:07
//  hpux: aCC +DD64 t2.C -o t2 -lpthread

#include <pthread.h>
#include <stdio.h>
#include <fcntl.h>              /* open(2) */
#include <stdlib.h>             /* lrand48(3) */
#include <sys/time.h>           /* gettimeofday(2) */
#include <unistd.h>             /* lseek(2) */

class Gettimeofday {
  struct timeval start_tv;
  struct timeval stop_tv;
  struct timezone dummy_timezone;

public:
  Gettimeofday();
  void start(void);
  void stop(void);
  void print(void);
};

Gettimeofday::Gettimeofday()
{
  start_tv.tv_sec = 0L;
  start_tv.tv_usec = 0L;
  stop_tv.tv_sec = 0L;
  stop_tv.tv_usec = 0L;
  dummy_timezone.tz_minuteswest = 0;
  dummy_timezone.tz_dsttime = 0;
}

void Gettimeofday::start(void)
{
  if (gettimeofday(&start_tv, &dummy_timezone) == -1) {
    perror("gettimeofday(2) start");
    exit(1);
  }
}

void Gettimeofday::stop(void)
{
  if (gettimeofday(&stop_tv, &dummy_timezone) == -1) {
    perror("gettimeofday(2) stop");
    exit(1);
  }
}

void Gettimeofday::print(void)
{
  long d_sec = stop_tv.tv_sec - start_tv.tv_sec;
  long d_usec = stop_tv.tv_usec - start_tv.tv_usec;
  double d_msec = d_sec * 1000.0 + d_usec / 1000.0;

  fprintf(stderr, "%.3f\n", d_msec);
}

#ifdef __hpux
#define DEV "/w0/4GB"
#else
#ifdef __linux
#define DEV "/dev/hda"
#endif
#endif

#define TH_CNT 4

class IOrand {
  int range;
  int size;
  int start;
  int fd;
  const char *dev;
public:
  IOrand(const char *);
  void Seek(void);
  void Read(void);
};

IOrand::IOrand(const char *devname)
{
  range = 100 * 1024 * 1024;
  size = 8 * 1024;
  start = 0;
  fd = -1;
  dev = NULL;
  dev = devname;
  if ((fd = open(dev, O_RDONLY)) == -1) {
    perror("open(2)");
    exit(1);
  }
}

void
IOrand::Seek(void)
{
  off_t pos;

  pos = lrand48() % (range / size) * size + start;

  if (lseek(fd, pos, SEEK_SET) == (off_t)-1) {
    perror("lseek(2)");
    exit(1);
  }
}

void
IOrand::Read(void)
{
  char buf[1024 * 10];          /* BAD: magic number (no check) */

  if (read(fd, buf, size) == -1) {
    perror("read(2)");
    exit(1);
  }
}

pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER;
int total = 0;

void *
th_f(void *arg)
{
  int i;
  int t = *(int *)arg;

  if (t >= TH_CNT) {
    fprintf(stderr, "over TH_CNT(%d)\n", TH_CNT);
    return NULL;
  }

  IOrand iorand(DEV);

  for (i = 0; i < 10000 / TH_CNT; i++) {
    pthread_mutex_lock(&mu);
    total++;
    pthread_mutex_unlock(&mu);
    iorand.Seek();
    iorand.Read();
  }
}

int
main()
{
  pthread_t th[TH_CNT];
  int i;
  int uniq[TH_CNT];

  srand48(getpid());

  Gettimeofday tv;
  tv.start();

  for (i = 0; i < TH_CNT; i++) {
    uniq[i] = i;
    if (pthread_create(&th[i], NULL, th_f, &uniq[i])) {
      perror("thread_create");
      exit(1);
    }
  }

  for (i = 0; i < TH_CNT; i++) {
    if (pthread_join(th[i], NULL)) {
      perror("thread_join");
      exit(1);
    }
  }

  tv.stop();
  tv.print();

  printf("%d\n", total);

  return 0;
}

Ruby でも同様に。

#! /usr/local/bin/ruby
# /home/tetsu/src/ruby/io/rand/t2.rb
# Created: June 18,2001 Monday 11:13:55
# Author: tetsu(WATANABE Tetsuya)

class IO_rand
  def initialize(dev)
    @th = 1
    @range = 100 * 1024 * 1024  # 100MB
    @size = 1024 * 8            # 8KB
    @start = 0                  #
    @dev = dev
    @fp = File.open(@dev)
  end

  def seek
    $mutex.synchronize {
      $count += 1
    }
    @fp.pos = rand(@range / @size) * @size + @start
  end

  def read
    j = @fp.read(@size)
    raize "BAD size" if j.size != @size
  end
end

require 'thread'
require 'benchmark'

b1 = Benchmark.new
b1.start

CNT = 4
th_arr = []
$mutex = Mutex.new
$count = 0

CNT.times do
  th_arr << Thread.start do
    randio = IO_rand.new('/dev/hda')
    (100 / CNT).times do
      randio.seek
      randio.read
    end
  end
end

th_arr.each do |th|
  th.join
end

b1.stop
puts b1
puts $count
もっと違うインプリメントがあると思うのですが、とりあえずテスト用にサクって書いたのでした。 ロジックの確認が簡単にできるのでいいですね Ruby って。


2001/6/20 Wed

今日は通院日。 検査結果とかよりも、秋葉原へ行く方が気になっていたりして?

rg コマンド ruby grep に以前追加したコメントをそのまま引用?

grep(1) コマンドの grep って「g/re/p」なのはご存じですよね? って、ed(1) はしりません?

「global」に「/regular expression(正規表現)/」を検索して「print」する
という感じです。

こんな感じで使ったりするんです。

$ ed ChangeLog 
303885
g/Ruby/p
        * eval.c (rb_eval): the value from RTEST() is not valid Ruby
        * regex.c (re_match): now understands interrupts under Ruby.
n
3927            * regex.c (re_match): now understands interrupts under Ruby.
ファイル名を指定すると、そのサイズが最初に表示されます(303885)。 コマンドとして「g/Ruby/p」を入力します。 「g」全体を「/Ruby/」Ruby で検索して、結果を「p」表示する指定です。 「p」がなければ、表示はありません。 「n」コマンドを使っていますが、これは行番号付で行を表示するということです。 終了は「q」です。 書き込むときは「w」をお忘れなく。 オンラインマニュアルにコマンドの説明などがありますので、ちょっとだけ試してみるのもおもしろいと思います。 vi(1) が使えないときに役立つかもしれませんよ?

ラインエディタ(ed)って、普通使わないですよね。 これでプログラム書いたんですよ。 すごいですね。 また、スクリプトとしてファイルの編集に ed(1) も使っていました。 いまは Ruby などの便利なスクリプト言語があるので、ほとんどみませんけど。

昔々は、ターミナルがテレタイプ(キーボードとプリンタ用紙)だったんですよ。 そういう環境では、スクリーンエディタなんて使えませんよね。 ed(1) なら、キーボードから入力して、プリンタに出力されるだけでも使えます。 ちなみにいまのプリンタと違って、これも一行一行文字を出力するくらいしかできないものですけど。 こういう環境だったので、ls(1) みたいなコマンド名使っていたりしたんですよ。 しばらくして、ターミナルがキャラクタベースのものになってきて、ようやく vi(1) のようなスクリーンエディタがでてきました。 BSD で Bill Joy さんが作ったものです。 このとき、遅いモデム(300bps とか)でも動くように表示領域を小さくするとかいろいろ工夫していたりするんです。

私が UNIX を使いはじめたときは vi(1) はありましたので、ed(1) だけを使うということはありませんでした。 でも、learn(1) という自己学習コマンド(CAI)があって、それで勉強しました。 ファイルを編集するようなスクリプトを作成する場合にも使えたことと、vi(1) が動かなくなったときのために勉強したものです。 vi(1) がいつでも動くとは限らないですから。

追加したいオプションとしては

  • -C 数字 前後の行を表示する
  • -c ヒットした件数だけ表示する
というのがあります。 件数表示のほうは、そんなにややこしくなさそうですね。 前後の行については、保存しておいて必要なタイミングで表示すればできるかな。 「前」はいいですけど「後」はややこしい?

ネタに困ったわけではないのですが、追加したコメントって目に触れない方が多そうなので...

HTML の書き方。 私の書き方ってまずい部分けっこうあります。 「見た目」だけで書いている部分もあるので。 p タグの中で blockquote しないのですね。 HTML 本探さなくては... この辺にあったはずなんですが...

検査の結果。 なんと腫瘍が消えていたそうです。 もともと良性の腫瘍だったのですが、場所的な問題があって手術や放射線治療を受けていたのですが。 とりあえず一年後にもう一度 MRI ということでした。 残るは高脂血症かな。 今回血液検査したのですこしは改善しているといいのですが。 一応ちょっとはあれこれやっていますので。

書泉ブックタワー。 「Ruby を 256 倍使うための本 網道編」買ってきました。 これ、発売日いつでしたっけ? 変に感じたのは、一冊しかなかったことです。 他の 256 本は平積みなのに。 書泉って見本で入ってきた本をそのまま売っちゃうことがあるようですし(書いちゃまずかったかな)。 http://www.ascii.co.jp/books/books/ によると 6/27 発売ですね。 普通に本屋さんに入るとしたらもうすこし後でしょうか? で、やっぱり Ruby はネットで使うのがとてもいいなと思うような本ですね。 いい感じです。 スクリプト言語として、ネットワークを手に入れると応用範囲が広がります。 Ruby の場合とっても手軽にネットワークも使えます。 それにいろいろ応用が紹介されています。 まとまってこの手の話題を読めるという点でもすっごくいい感じです。 買ってこれてよかったです。 みなさんもぜひどうぞ! 私も分散するようなシステムをつくってみたいと思っていたので、読みながらなにか課題がないか考えてみようと思うのです。 それと、この辺のページに Ruby とネットワークの基本的なスクリプトみたいなものを紹介したいなと思うのでした。 ネットにある情報も、ディスクにある情報も有効活用しましょう! というか、したいですね。

子供と病院。 医者が子供に対してその場しのぎの対応をしてしまって、子供が治療に非協力的なってしまうことがあるそうです。 「痛くないよ」といわれてめちゃくちゃ痛かったら「ウソつき!」になってしまいますから。 子供に対してちゃんとしたステップを踏もうとすると、それなりの人と時間が必要になります。 いまの現場はそういうことがほとんどできていないようです。 子供自身が治療に協力的になればどれほど効果が上がるでしょう。 病院というシステムの中にも、もっと改革が必要に感じました。 クローズアップ現代の話題です。 この番組をみていて泣いてしまいました。 子供たちにもっと優しい医療ができるといいのですが...

買ってきた本。 スラムダンク #7 と #8 も買ってきました。 おもしろいですね。

危ない事件が、また... なんで子供たちなの?


2001/6/21 Thu

いろいろ物欲はあるんですが、けっきょくほとんど買わないかも?

UNIX? Unix? unix? fj.questions.unix などで void さんが質問を書いていました。 「 日本だと UNIX という表記をみるけれど、最近の US では Unix みたい。 さて? 」 という話題です。 私の表記もけっこう悩んで書いていて最近入り乱れているのですが、Unix かなと思っていたりします。 どこかでもともとの Unix の開発メンバーが「Unix だよ!」的発言を読んだような... でもついつい UNIX って書いてしまったり。 以前は UNIX だけだったんですが...

マネージャは海の向こうで仕事する? 海の向こうへお伺いに行くことが大切なんだよね? きっと...

スレッド。 プログラミングのときに、スレッドが使えないのと使えるのでは大きな違いがありますね。 ロジック的な意味で「一つの処理に集中することができる」というのがあると思うのです。 実際には複数の処理が平行して行なわれるときに、複数の相手に一つ一つ対応する処理を記述するするのが容易になります。 手軽に試せる Ruby は、ホントいい感じです。 いま考えているのは、データベース用のダミーデータを作成するものです。 レコード中の項目をインスタンスにして、パラレルローディング用に複数のデータファイルを生成できそうです。 スレッドで実装すれば複数の出力でも ID などをユニークに生成できそうですし。 ロックは必要ですけど... Ruby で試して、C++ と pthreads で実装して複数の CPU と複数の出力ファイルをうまく扱えるといいなと思うのです。 とりあえず、ロジックの検証で Ruby です。 うまくできるかどうかの判断を、C++ でやってしまうと私には時間がかかり過ぎます。 ダメだった場合は再検討にも時間がかかりそうですし、手軽に試せることはとっても重要ですね。 できれば Ruby で書いたものがそのまま使えればいいんですけど。 たぶん、一晩動かしておくというレベルでは Ruby でもかなりのことができると思います。 二時間で結果が必要となるときには、複数の CPU を使える方が絶対的有利になります。 この辺の差? かな。 よくわからないかな? 単純にプログラムを書きたいので OO 的に書けるのは私にはありがたいのです。 C++ と pthreads の組合わせはすこし勉強しておこうと思うのでした。

まだ発売していないかも? そろそろかな? Ruby 256 本の「網道編」ですが、いい感じですよ。 この Ruby の 256 本シリーズは、一つ一つの題材をとりあげてまとめて書いています。 こういうのいいですね。 なにかはじめようというときに、ガイドラインになり、さらに深く試すことができるってすばらしいですね。 ちなみに、書く題材を持っている人は Ruby 256 本シリーズはどんどん書ける人を求めているのでチャンスですよ!


2001/6/22 Fri

週末ですね。 うーん、気になるデジカメ。 全部で三万円で OK なので、買ってしまいそうなんですが... 三万円くらいなら買えば? と思うと思いますが、買った後に使うのか? が問題なんですよね。 あれば使うとは思いますが。

質問のとき。 初心者の方は、質問するときに相手に自分がやろうとしていることをうまく伝えられないことがありますね。 仕事でも新人さんが入ってきたときに、「なにをやりたいの?」ということがあったりするのですけど。 「自分でなにをやりたいか」ということを相手にうまく伝えるというところが最初の一歩でしょうか。 まあ、ベテランでも相手に伝わらない人がいたりしますけど...

行革。 当たり前のことを当然のようにやってほしいです。 税金の無駄はほかにもたくさんあると思うし。 もう経済は右肩上がりじゃ進みません。 はあ、私の給与も? 既得権を持っている人は、それの保護が第一で、これからの人たちのことを考えていないような...

人名。 ダミーデータを作成するのに、人名辞書がほしいと思って探したのですが、フリーでいいものがみつかりませんでした。 i-dic (アイドル辞書) がいいなと思ったのですが、現在の入手先が不明で。 手もとには、以前のものはどこかにあると思うのですが、それもみつからず。 古くてもいいので、みつかるといいんですけどね。 なにをするかというと、データベース用のダミーデータを作成する場合に「姓」と「名」のデータを利用したかったのです。 住所の自動生成は、郵便番号データから作成しようと思うのでした。 出現の傾向までは対応するつもりはないのですが、統計的情報があるものは、その傾向を示すようにするとおもしろいかも? i-dic は、加工されたものはみつかるんですが Mac の binhex 形式? のものだったりします。 私にはこのファイルのフォーマットがわからないのでお手上げです。 適当につくるかな...

課題。 配列中の要素で、同じ値があるものをとりだす。 値が一つしかないものをとりのぞき、重複したものは一つだけにする。 乱数で発生したデータなどで、重複しているものを確認するのにいいなと思いました。 ちょっと書いてみたんですが、あんまりきれいに書けないのでした。 こんなものなのかな?

#! /usr/local/bin/ruby

class Array
  def dupget
    b = nil
    ret = []
    self.sort.each do |v|
      if b == v and ret.last != v
        ret.push(v)
      else
        b = v   
      end
    end
    ret
  end
end

arr1 = [1, 2, 3, 4, 7, 8, 7, 8, 5, 6, 7, 8, 9, 0, 3, 4, 5, 3, 4, 5]
p arr1.dupget

arr2 = []
1000.times do
  arr2.push(rand(100))
end
j = arr2.dupget
p j.size


2001/6/23 Sat

本でも?

天気予報。 かさマークなんですが、すごい雨が降るときでも小雨でも同じですよね。 警報や注意報がでていてもマークは同じ。 夕立ちのような雨の場合、予報的にはくもりだったり。 あの予報、気象庁? (いまは別の名前かな) がだしているものと思いますが、もうすこしなんとかならないのでしょうか? 言葉では補足的に説明していても、マークが同じなのは、それなりに問題だと思ったりします。 与える印象や、画面しか認識できない場合もありますし。 現在の天気予報って、「自分の生活」にあっていないので、個人の移動範囲と移動時間に合わせた情報がほしいものですね。

気になる HDD 新しいの。 新しい軸受けを使ったタイプの HDD が出回っているようですね。 Web ですこし読んだだけなので、詳しくはわかりませんが「流体軸受け?」とか。 URL はあとで... いままでは金属ベアリングだけの軸受けだったので、熱の問題もあるし、摩擦もあるので経年劣化もします。 そのため、使用していると異音がしてきたり。 寿命という考え方もあるんですが、新しい軸受けは「液体とベアリング」の組み合わせとのことです。 これで熱も発生しにくくなるし、劣化もいままでよりいいそうです。 まだすこし値段が高いようですが、ノート PC にはいいですよね。 ほんの数か月前にディスクを入れ替えたばかりですが、試してみたい感じです。 音が静というのがいいですよね。 いま使っているものも問題はないのですけど。 ただ、熱的にはちょっと使っていると熱くなってくるので、これが改善されるとうれしいです。 実際に使ってみないとわかりませんが、どの程度の効果があるのか...

最近音がなくて。 音楽を聴くだけのためにノート PC の電源を入れるのもなんだし、CD は壊れたままだし。 音がない世界です。 テレビは流れていたりしますが、どうでもいいようなものばかりだし? 自分の好きなジュークボックス的に使えるという意味で CD-R を利用できる MP3 の再生機能を持った CD があるといいな。 プレイヤー? プレーヤー? やっぱり後者かな。

本を読むのにじゃまにならない音楽を聴きたいのでした。

いつもならでかける土曜日ですが。 今日はごろごろ。 なにをするではなく、ほんとごろごろ。 よろしくない傾向ですね。 わざわざ重い本を会社から持って帰ってきているんですけど、読まないまま。 また持っていったときと同じく会社に重い本を持っていくことになるのかな。 会社でもまともに読む時間はないのですけどね。 本を読むようなことだと、集中できないし。 プログラムをつくるときにはけっこう集中できるのですが... この手の専門書などは、自宅の方が読むのに集中できて好きです。 最近なら自宅でも試せる環境もあるし。 むかしむかしは、試せる環境が会社にしかなかったから土曜日とか日曜日も会社にいましたけれど、いまはそういうことはできません。 自分でもすごかったなと思うのですが、休日でも昼食と夕食は会社の近くで食べていたのです。 コンピュータを触っているという時間やプログラムをつくっているという時間がどれだけ長かったか... ただ、自宅に帰ってくればコンピュータがなったので、はっきりわかれていてかえってよかった? とか。 必要ならいつでも使えるいまの方がいいんですけどね。 Unix 系のシステムが、自宅で使えるんですからありがたいです。

ノート PC のキーボード。 もっと自然な形で使えるものがでてこないでしょうか? 「ハ」の字に開いて。 トラックボールであってほしいし。 需要と供給を考えると、だれもつくらないかもしれませんけど、いまのキーボードって窮屈ですよね。 むかしのタイプライタは、機構的なものもあってキーの配置に制約があるのでしょうけれど、いまは場所的問題だけですよね。 B5 ノートでももうすこしなんとかならないものでしょうか? ナチュラルキーボード系は、ノート PC では無理かな?


2001/6/24 Sun

都議会議員選挙。 だれがなにを「やる」のかよくわかりません。

選挙。 うちの地区では自民党っていないようなのですが、無所属の人が現職自民党の人の後見というのをあとからしりました。 ふーん、自民党的なことをするなら、自民党としてでればいいのに。 本当に無所属なのかな? どちらにしても私は入れないですけど。 結果として、自民党が勝ったようですが、これから都議会はうまく運営されるのでしょうか?

ちょっと買いもの。 本は収穫なし。 通勤用のカバンというか、背負うタイプでノート PC も OK なものを買ってきました。 なかなかよくできている感じ。 Jack Wolfskin のものなんです。 できるだけコンパクトなものをと考えていて、いい感じのものがありました。 私は普段、あれこれ荷物を多くしてしまうタイプなのですが、収納能力があまり大きくないので、かえっていいかも...

本を読んで。 押井守さんの「Avalon 灰色の貴婦人」読んでました。 まだ、最後がすこし残っていたりして、続きが読みたいです。 押井守さんの本って、けっこう好きです。 以前読んだことがあるのは、劇場版のパトレーバーの本ですけど(古い)。 このほかになにかでていないか調べて、本屋さんで探して... 会社から持って帰ってきた本、読まなかったです。 あらまぁ。


2001/6/25 Mon

今日は勉強会があったりします。 さてさて?

新しいタイプの HDD の話。 Web は、http://www.watch.impress.co.jp/pc/docs/article/20010619/mobile105.htm です。 本田雅一の週刊モバイル通信、 第105回:ディスククローニングツールを使ったHDDの入れ替え、 ここででてくる機種は「IC25N030ATDA04」でした。 あ、この話ですが、詳しいことが DOS/V magazine 7/1 に「荻窪圭が訊く 74」にもあります。 興味がある方はどうぞ!

Ruby 256 本 網道編 6/26 発売! http://www.watch.impress.co.jp/pc/docs/article/market/i_nbook.htm の情報です。 やっぱり私が 6/20 に買ったのはフライングですね。 あれまぁ。

だれか情報ありませんか? ということを、手段として組織が持っているかどうか? って、けっこう大きなことだと思うのですが。 みなさんのところでは社内で「こういう事例はありませんか?」的なことをどうやってやっていますか? なにかいいツールを導入しているでしょうか? それとも全員宛てにメール? 組織内のインフラをちゃんとつくって、メンバーのみなさんに使ってもらえるような動機付けを行うことが大切と思ったりしていたりします。

戦闘機の機関砲の暴発? 怖いですね。 本当はどうなのかわかりませんが、演習用といっても 20mm 弾を打ってしまっているんですから。 機械系か電気系かの故障かもしれませんが、簡単に故障ではすまされないです。

勉強会、楽しかったです。 情報交換の機会って大切です。 お客様の要求やそれを実現する方法について、いろいろ話を聞いて、意見交換もできました。 こういう機会と同時に、「その場」を共有できなかった人にも参加できるオンラインなどの場があるといいなと思ったりもしました。 帰りが遅くなったので、寝る時間がそのまま遅くなったので、朝が...


2001/6/26 Tue

眠い朝です...

え? http://www.zdnet.co.jp/news/0106/25/e_viralsoft.html ZDNet からですが、

Microsoftが同社の開発ツールのライセンス規定の中で、このツールと「ウイルス性ソフト」の併用を禁じている。 同社が言うところの「ウイルス性ソフト」とは,GPLなどオープンソースライセンスを採用しているソフト。
なんですって。 あれまぁ。

/.jp での話。 アセンブラが話題になっていますね。 経験した方がいいかどうかですが、普通に C でバリバリ書ける人なら別にやってもやらなくてもいいと思うのですけど。 アセンブラは、CPU のアーキテクチャをそのままという感じで、いい部分もありますけれど、いまの CPU はややこしいから。 ただ、やっていることがわかる程度にアセンブラの出力をある程度読めるといいなと思うのでした。 まあ、読めなくても困らないかと思いますが... 私は古いタイプの人なので Z80 とか 68000 とかアセンブラしていました。 以前 PA-RISC もアセンブラの出力を読む羽目になって、コンパイラのだすコードの問題を回避するなんてこともしたことがあります。 いまは、こういうことはぜんぜんしていませんけれど。

不思議。 人員不足などの組織的な問題なのに、自分のところのマネージャではなくて、直接他の部署のマネージャに人の要求をしていたり。 うーん、自分のマネージャにみえない形で実施するのは、評価のため? その人のマネージャさんは、なにしているんでしょうね。 最近変だなと思うのは、マネジメント関係かな。 一人でできないことをやるには、人と人とのつながりが大切ですよね。 マネジメントが介入しないで解決できるならいいのですが、無理な場合が多いはず。 で、マネジメントも自分から介入しないので、けっきょく一人でできないことはできないまま... もともとチームで作業するという文化的なことが弱いためかな。 私はチームで動くことを前提にここ何年かあれこれしていたんですが、けっこう疲れて現状ではけっきょく一人で... ちなみに、うちの部署は人員派遣ではないはずです... それにしても、要求する側の問題もけっこうあって、ちゃんとやることの切り分けができていないのでした。 裏を返せば、ちゃんと情報を整理しないから自分でできないのかも? できないことをできるっていってしまうのは...

会社のプリンタ。 出力は速いけど、ユーザが多いのでマニュアルなどをだされちゃったりするとかなりの待ち時間になってしまうのです。 ネットワーク上には、複数のプリンタがあるので、リクエストが「ない」方を選択して出力するといいかも? とか思うのです。 lpr の前に確認してデバイスを選ぶか、それとも lpr の中で処理する? プリンタの状態はネットワーク経由で入手可能(HTTP, SNMP)なので、現状の状態はわかるのでした。 私は Win 系のプリンタサーバ経由でださないので、サーバがため込んでいる情報はわからないのですけど。 ちなみに、むかしはマニュアルを出力するという長時間専有する場合は、夜間に出力するとかマナーがあったんですけど... いまは、マナーよりも自分のアプトプットが大切ということでしょうか?

CPU を使いきってしまうプログラム。 なんらかの待ちで、変化を確認するのにループする場合、休み休みではなく力一杯ループしていたりすると、CPU を使い果たしてしまいます。 たまにこういうプログラムがあったりします。 このような場合、CPU リソースがいくらあっても無駄に使われてしまうことになります。 作成している間に、気がつけばいいのですが。 アプリケーションのテスト実行などのときに、システムへの影響を確認しましょう! こういうのは、ノウハウとはいわないレベルかもしれないですが、気が付いていない人もいたりするので、どこかにまとまっているといいかも?

Ruby なら簡単なのに。 Pthreads で書くときに、Queue がほしかったのでちょっと書いてみました。 C++ で抽象化だけして、扱いやすくしたのですが、エラーが起きたら exit(2) で落しちゃいます。 Ruby なら簡単なことでも、そこそこの記述量になるようです。 たぶん、私がわかっていない部分もあったりすると思いますけど。 探せばどこかに便利なサンプルがあったりするかも? あ、STL は本を買ってきて、すこし使えるようにしたいな... Queue とかも STL のテンプレートを使えば... (Pthreads 対応って簡単かな?)

ディスクのパーティションを分ける? 業務で使うシステムなら分けてください。 テスト用なら分けなくてもいいでしょう。 ちゃんと考えてほしいなと思うのですが... だれがなんのために使うシステムなのか...

暑いですね。 こんなに暑くなってくると、ネクタイきついです。 ネクタイって、形式だけで人に優しくないと思うのですけどね。 ま、社会は形式的なものを重視していたりする部分もあるのですが、人を大切にするなら違う方向もあるのでは? 通勤時にははずして、オフィスだけでネクタイする?


2001/6/27 Wed

もう、すぐ 7 月ですね。 いつのまにか夏至も過ぎていたし... 私が気がつかなかっただけですが。

食生活。 独り暮らしが長いので、なかなか。 むかし普通に食べていた食生活が体によかったんだというのが最近の健康番組をみていての結果。 はぁ。

朝からショックなおしらせ。 うちの部署は人員派遣になるそうです... だれか、さっさとおもしろい仕事ください?

オフィスの床。 揺れるんです。 けっこう。 これ、地震対策用に揺れるようにつくっているのかわからないですけど、揺れるんです。 精神的にちょっと影響があって、いやな感じです。 身構えちゃったりします。 大きな地震を体験した人などは、たぶんこういうところでは...

いつものように急な仕事。 短期間で結果を求めてもいいことはないと思いますが... ちょっと「あれ?」な、ソースコードを読んだりしているんです。 基本機能は動いているようですが、システムコールのエラー処理などを勘違いしている部分や、符号の反転をなぜか bit 演算でやっていたり。 一人で書き続けて、レビューとか受けたことがないとか、よくできたソースコードをあまり読んだことがないとかかな? 極端な「あれ?」という感じではないので、それなりに経験はあるように思うのですが。 まあ、私が人のことをいえるか? というのは、微妙ですけどね。

帰宅が遅くなると。 寝るのが遅くなるのに、朝はいつもの時間に目が覚めたりします。 睡眠不足が次の日に影響して...


2001/6/28 Thu

朝、腹痛で目が覚めて最悪。 とりあえずは大丈夫みたいですが... 会社休みたいからかな?

暑いですね。 ノート PC をじかに体にのせているとかなりきますね。 私は、木でできた格子のようなものをノート PC の下に入れています。 ノート PC への熱的なものは、空気が流れる程度にしか効果がありません。 普段使っているところが、直接的に熱を逃がせるものの上ならいいですが、そういうものはないので、とりあえず空気が流れるくらいに。 ファンのついた台があるようですが、電源的にうれしくなさそうなのが...

プログラムのロジック。 ソースコードだけで仕様がありません。 概略の仕様だけでもほしいと思っています。 なぜなら、ソースコードからは意図したことが伝わってこないからです。 ところどころミスらしいコードがあって、「なぜ、こういう書き方をしているのかな?」と思ってしまうからです。 pthreads 関係なので、処理の規模を大きくするための工夫があるのですが、実際にはロジックミスがあって、使えない状態だったり。 できれば、一から自分で書きたいところではあるのですが、時間もないのでした。 問題が起きてから「あーだこーだ」しているのですが、ちゃんとできる人がちゃんとつくればいいのに。 こういうタイプの仕事ではよくあることなのですが... さて、どうアプローチしたものかな。 ちゃんと動かないと話にならないのはたしかなので、それなりの時間をかけるべきだと思うのですが... ちなみに、すっごくひどいプログラムというわけではないのですが、「あれ?」があれこれあるのでした。 あ、根本的な設計思想が私と違うので、ここも大変かな。 読みにくさの一番は、条件の記述が私にはわかりにくいことです。 if 文や while 文などの条件の記述が「==」などで書くのではなく、「!変数」で書いていることが多いです。 人によって直感的な書き方は違うとは思いますが、「==」のほうがよりわかりやすいです。 それと、正常処理とエラー処理(例外)の記述の一貫性がないのでした。 なので、どこが例外的な処理なのかわかりにくいのです。 「言語のシンタックスだけ勉強してしまうと、こうなってしまうのかな?」とか、「協調してプログラミングしたことがないのかな?」とか考えながら読んでいたりします。 ソースコードの独自性がちょっと目立つのでした。 つまり、「読みにくいな」って感じです。 あんまり人のことをとやかくいえませんけどね... ちなみに、このプログラムについて、いろいろな要求をだす人がいるんです。 時間との関係があるので、落しどころをはっきりしないと結果がでないのではないかなと心配になるのでした。

帰りが遅くて。 食事も遅くなってしまうので、あまりまともなものは食べれないし。 睡眠時間も減っているのに、朝は逆に早く起きてしまったり。 すこし high になっているのかな? さて、どのくらいもつでしょう...

失敗。 なにを思ったのか、ゴミをだす日を間違っていました。 昨日帰りが遅かったから? 不燃物は水曜日なのですが、水曜日の夜寝る前にだしてしまったのです。 つまり、木曜日のゴミとして。 朝、自分がやった失敗に気がついて、あれれ? 出勤時に回収したのでした。 それにしても、だしたときはぜんぜん気がついていなかったのですが、危ない兆候かな?

変に忙しいので、なにかやらなければならないことを忘れていそうで、怖いな。 こういう変に忙しい? 急に忙しくなるときって...


2001/6/29 Fri

6 月も終りですね。 あれまぁ...

イース I.II 買ってきました。 木曜日なのですが、朝、新宿ヨドバシにいって買ってきたのでした。 ちょうど Kondara もあったのでいっしょに! どっちもしばらくは試す時間がなさそうなのですが...

Wnn7 の案内が送られてきました。 とりあえずは使ってみたいなと思いつつ、みかけたら買ってしまうかも。 使ってみて期待ハズレだったら困るかな...

プログラム。 朝、出社してからつくりはじめて、夕方には動くようになっていました。 とりあえずは、目的を最低限達成できる程度のものですが、コメントを除くと 1,200 行くらい。 20 時には帰宅して、自宅に帰宅後テレビを観ながら状態をトレースできるような仕組みを入れて... なにを書いたかというと、C のプログラムで、サーバクライアント? (クライアント、サーバかな) ものです。 単機能のサーバになるものが三つあり、それとやりとりするユーザのフロント相手をするサーバ。 これの簡単なモデルでの、ネットワークパフォーマンスの計測用のプログラムなんです。 A, B, C というプログラムは、リクエストに答えてサービスします。 A, B, C にアクセスするプログラムは、D だけです。 D は、ユーザプログラムからのアクセスを受け付けて、A, B, C に問い合わせるという感じです。 インプリメントの方法はいろいろあると思います。 私が選んだ方法は Pthreads で、そのスレッド単位にポートを開けておいて、コネクションしたままタイプです。 ハードウェアの能力でスレッドの数を決めればいいと思うのでした。 ダイナミックにその度にコネクションするのでは、コストが高いですから。 さて、思ったような処理になっているか? と、パフォーマンスが心配。 切ったり張ったりするよりは、速いと思いますが...

久しぶりにまともな夕食。 普通に食べただけですが、今週はおにぎりとかばかりだったので...

明日本屋さんへ行けるかな? 会社に行っていそうな感じ...


2001/6/30 Sat

7 月かぁ。

ミス。 C のプログラムで修正していてミスが入ってしまって、気がつくのに... 最初 read(2) で受けとるのに char *buf と書いていました。 これをデータタイプがはっきりしたので、struct arekore *buf に修正したのでした。 で、要求した大きさまで read(2) を繰り返すように書いたのですが、そのとき読み込み位置をポインタで演算していました。 char *buf と書いていれば、バイト数で計算なのですが... 動作がおもしろかったのは、socket(2) での通信でした。 localhost 宛てにやりとりするときは、間違って struct arekore *buf の buf + 10 としても平気だったのです。 ネットワークを越えてテストしようとしたときに、EFAULT(Bad address) がでたのでした。 30 秒くらい考えて、「あっ」と気がついたのでした。 なかなか不思議な経験でした。

100BaseT 使っています? スイッチが貧弱というか、システム合わないネットワークだったりします。 テストがイマイチな結果。 それともプログラムが悪いのかな? 別のテストプログラムで確認しないと... 普段からネットワークの環境にも注意しておけばよかったと...

お休みのはずですが、テクテク会社へ。 自宅でもいいとは思いつつ、コンピュータリソースは会社の方がいいので。 でも、ネットワークスピードがイマイチ。 もうひとつ、会社で作業していたら休みで静かかなと思っていたらけっこうハードディスクの異音が... 私のシステムではないのですが、なかなかいい音をさせていました。 へッドフォンをして音楽を聴いていたんですが、それでも気になるくらい大きいのでした。 ディスク大丈夫なのかな?

プログラムをつくっていると時間は早いですね。 会社にいるときもそうですが、帰宅してからも。 昨日は、ちょっと手直しのつもりというか、ネットに流れるデータに時間を入れる処理を組み込んでいていました。 気がついたら朝の四時を過ぎていて... 朝? 目が覚めたのが九時くらいで、あれこれ休みの日にしなければならないことをして、会社へ。 会社でもネットワークであれこれして時間が。 時間の経過が早い早い。

Kondara のインストール。 さくさくインストールは終わってしまったのですが、「音」関係がだめです。 試しのインストールなので、影響はないのですが、以前 ALSA で動いていたので、Kondara には入っているし大丈夫かなと思ったのですが。 音をだそうとすると固まってしまうのでした。 なにかの設定か? どこかリソースがぶつかっているのか? 余計なものが動いているのか? Kondara の内容はなかなかいい感じですね。 自分なりに使えるようにするのにどのくらいかかるかわかりませんが、ちょっと設定してみようと思っています。 普段使っている必要なものが、あるといいのですが。 このインストール、会社から帰宅後、すこしあれこれして、深夜回ってからはじめて、また朝の四時。 あれれ。


渡辺哲也(WATANABE Tetsuya): Tetsuya.WATANABE atmark nifty.com