2009-07 << 2009-08 >> 2009-09

2009-08-31 (月)

雨だけど会社に行く.付いた頃にはびしょ濡れ.

日記を見たら,2009-07#29で「なんだか腹痛が続いている」とか書いている.この時点で虫垂炎になっていた可能性が高いなぁ.

2009-08-30 (日)

投票してきたり髪を切ったりした.

2009-08-29 (土)

日記書いてたけど,気づいたら昨日の某勉強会の話になっている気がしたので,書き直し.

*病院行ってきた

順調っぽいので,病理診断の結果とか話だけ聞いて帰ってきた.

疲れた.

*Winny

昨日はちょっとWinnyの話をした気がするので,何か書いてみる.

高木先生とかは,Winnyのネットワークを監視して統計データとか取ってますが,私もなにかやっておけば良かったかも.

結構早くからWinnyのプロトコルを解析してどんなものが流通していて,どんな検索クエリが飛び交っているのかを見ていたけど,統計的な何かが出せるほどのデータを集めていなかったのが惜しい.HDD内を探せば多少のログが出てくるかもしれないけど,なんだか置いておくのが嫌なのですぐに消していたし.

Winnyのような,数万台規模のアドホックなネットワークには興味があるのだけど,いくつかのノードに接続して観測しているだけだと全体の動きは分かりませんでした.そんな規模の実験を自前でできればいいのだけど.しかも,シミュレーションでどうにかできるほどネットワークに詳しくないし.

2009-08-28 (金)

最近調子が良かったのに,再び無線LANがつながりにくくなった.

*趣味と仕事

趣味と仕事は分けた方が良いという人がよくいて,似たような説明をするけど,聞いてもちょっと納得いかなかった.

社会人になってみて,やっぱり趣味と仕事はイコールで良いような気がする.大抵の職業なら,仕事に多くの時間を費やすことになると思うけど,好きでも無いことにそんなに時間を費やすなんて嫌だと思います.嫌なことをするのも仕事だという人もいるけど,わざわざ嫌なことを仕事にする理由は分かりません.

好きなときに好きなことをやって,それが誰かのためになればお金がもらえるというので良いと思います.誰かのためになるように,好きなことをするのは少し工夫が必要ですが.そのお金で満足できないなら,少しはやりたくない仕事をするというのは私も仕方が無いと思います.

とは言っても,平日の昼過ぎに自宅でWebを巡回しながら,そろそろ仕事に行こうかと思ってたり,仕事中はニコニコ動画見てたりしても特に問題なくやっていける環境は恵まれていると思います.これは正直感謝してます.

というわけで,もうすぐ13時だし出勤の準備をするか.

*ああああ

とりあえず出社したけど,仕事をしないうちに日付が変わってしまった!

いや,ちゃんと許可を取った上で予定外のことをしていただけなんですが.とても書きたくなるようなことがあったのだけど,なんか書いたりしちゃいけない雰囲気.

他にも某SNSの人とか,某ラボの人とかと話せてよかった.SkeedCastの技術顧問の人とか,産総研のセキュリティの人とも話をした.

なんか,会社でとても優遇されている気がするのは病み上がりだからだろうか.

2009-08-27 (木)

*お金もらえるらしい

ビルのエントランスで人事の人に出くわしたら,会社からの見舞金と,高額療養費のことを教えてもらった.そして,診断書を出すように言われた.

そのような制度があることは,入社時に聞いていたので,いつか調べようと思っていたのでとても助かった.そして,教えてもらわなければ,そのいつかは永遠に来なかった可能性が高いことに気づいた.

高額療養費については自動的に紙が送られてくるらしいけど,案の定,見舞金は書類の提出が必要らしい.

そもそも,お金に困っていないときに,お金をもらうための行動を起こすのってとても面倒くさい.じゃあ,仕事をするのは何なのか気になるけど,趣味の一環くらいにしか考えてないのかも.

2009-08-26 (水)

*PHP

なんでPHPでプログラムを書くことが苦痛なのか考えてみた.

名前空間が定義できない

これはひどい.一時期入ったみたいだけど,何か問題があって消えたらしい.

5.3では復活してるみたいだけど,世の中にあるライブラリがすでに名前空間無しで書かれているので浸透するのにしばらくかかりそう.

標準の関数が使いにくい

便利な関数をたくさん用意してくれたのはうれしいのだけど,引数の指定の仕方とかに統一感が無い.

isset,is_null,emptyあたりの関数の動作も難しすぎるんじゃないかなぁ.そもそもなぜis_setやis_emptyじゃないだろうか.

preg系の関数の実装が微妙すぎる

Perl互換と言いながら,実装がとても中途半端.

preg_replaceで「/e」を付けると,後方参照文字列内のダブルクォートとかを勝手にエスケープしてくれるのだけど,「$」とかを放置するので脆弱性を作りやすくなる.変なコードを挿入されないために,参照時にシングルクォート使うと,今度はダブルクォート前の「\」が消えてくれなくて困るので,結局自分でエスケープをやり直さないといけない.

正規表現のエスケープのための\Q~\Eの処理も不完全.

実行時間のオーダーが予想できない

たとえば,巨大な連想配列の要素に対するissetは一瞬だけど,array_key_existsはとても時間がかかるとか,マニュアル見ても関数の説明からは予想できない.array_key_existsが連想配列のサイズに対してO(n)な気がするのですが,なんでそんなことになってるのかなぁ.

パフォーマンスを保障しなければいけないときは,PHPのソース見てその関数がどういう実装されているか確認して使わないと危険かもしれない.

文字列リテラルのエスケープが気持ち悪い

エスケープできない文字をエスケープしてしまうと何も言わずに「\」を残したままにするとか,他の言語には無い稀有な動作をします.

そして「\b」とかの一般的なエスケープにも対応していないので,タブや改行以外のコントロールコードを埋め込むのに苦労する.

「a\b\n」と書いて,画面に「a\b」と出たときは目を疑いました.

Web上の情報が不安

私はPHP初心者なのでWebの情報とかも参考にしながらプログラムを書くのですが,なんだか不安な気持ちになることが多い.

最初はサンプルコードがたくさんあってうれしいとか思っていたのですが,複数のサンプルを見比べていると,違うコードなのに同じ処理の部分に同じ問題を含んでいることがあって不思議に思ったし,どうも,「これをしたいときは,こう書く」みたいな何も考えずに使うことを推奨しているようなコードがたくさんあります.

もしかして,多くのPHPプログラマは,Web上の情報をコピペに近い形で切り貼りしてアプリケーションを作っているのでは無いかと不安になりました.

Web関係以外の機能が乏しい

まぁ,これは仕方ないのかもしれませんが.

こんな便利な機能があるんだから,これくらいのことはもっと簡単にできるだろう,と思っていたりすると,実際は難しかったりするのが残念.

他にも色々

なんか,まだ使い始めたばかりなのに,きりが無いです.

逆に良いことも

  • Webに特化した機能はたくさんある
  • 言語自体は単純で覚えやすい
  • 比較的シンプルでまともなオブジェクト指向

使うだけなら簡単でよい言語な気もするし,PHPプログラマは安く大量に雇えるというのが流行っている原因かも.

PHPプログラマになりつつある自分の未来が不安になってきます.

2009-08-25 (火)

眠い.

*Perl

なんで,自分はPerlを使うのかなーと思って考えてみた.

欲しい機能を一番多く持っているのがPerlだった.

多くの環境で動く

Perlが動かない環境はほとんど無い.極端にメモリの少ない組み込みLinuxとかだと無理だけど.

演算子がオーバーロードできる

演算子のオーバーロードできないとかなり不便.

行列や多倍長整数を自作して使ったりする人は,無いときついでしょう.

無名関数が定義できる

いまどき,無名関数とクロージャが使えないと.

オブジェクト指向で書ける

これはかなり怪しい.

もちろんPerlでもオブジェクト指向で書けるけど,あからさまに後付の機能は使いにくい.もう,いっそのことクラスを定義できるようにならないかな.

正規表現が強力

なんていっても,これが一番大きい.PHPとかでもPerl互換の正規表現が使えるけど,あれはとても使いにくい.

Perlじゃだめなところ

  • 言語自体が意味不明
  • ネイティブコード生成できない
  • オブジェクトの定義が分かりにくい
  • 静的な型チェック機構が無い

このあたりを補うためにC++が必要になってしまいます.

というか,C++0xには,正規表現とlambdaが入るらしいので,Perlの出番が多少減ることを期待していたり.

2009-08-24 (月)

久しぶりに会社.

とりあえず現状把握とか.

2009-08-23 (日)

とりあえず寝る.念のため痛み止めとか貰ってきたけどこれなら大丈夫そう.

2009-08-22 (土)

*退院した

おなかに刺さってたホチキスの針みたいなのを抜いてもらう.ニッパみたいなので引っ張ってブチブチ抜くんですね.見ててなんか,ショック.一旦切ったりして,もう少しやさしく抜いてくれるのかと思った.

もう大丈夫そうということなので,ならば今日退院しますということにした.

1週間後にまた行かないといけないらしいけど.

2009-08-21 (金)

お腹が張って少し痛い以外は問題なし.プログラム書いたりして過ごす.

2009-08-20 (木)

*シャワー

抗生物質の点滴も今日で終わりらしい.というわけで,腕に刺さりっぱなしだった点滴用の管も外れた.

これでシャワーもOKということなので,早速お願いする.

一気に健康になった気分.

2009-08-19 (水)

*ドレーン抜けた

先生がやってきて,「ドレーン今から抜くから」とか言われたので,思わず「本当に今ですか?」と聞き返してしまった.

食事の真っ最中なんですが….

忙しいらしいので了承すると,テープを剥がして,糸を切って,チューブを抜いて,またテープを貼るまで,たぶん,10数秒.

食事を食べている体勢のまま,しばらく固まってしまった.

邪魔なチューブが無くなってすっきり(?)したとろこで食事再開.

2009-08-18 (火)

点滴無くなった.っと思ったけど,今後も1日3回の抗生物質の点滴は残るのか.

2009-08-17 (月)

*久しぶりの

やっと食事が出た.……ただ,食べるとすごく痛いです.ちょっと心配になってくる痛みだったけど,とりあえず久しぶりの食べ物を胃に収める.

で,なんか,背中に入れていた痛み止めが抜けかかっていて,ちゃんと入っていなかったことが判明.いつからだ.これ無かったら,もっと痛いんだろうなとか思ってたのに.

2009-08-16 (日)

痛い一日.とにかく痛かった.

体から出ていたケーブルとチューブは大分少なくなった.

なんとか,一人で歩いてみたりする.自力で起き上がったりするのは無理.

痛み止めを点滴してもらってなんとか動く.

2009-08-15 (土)

*入院した

やっぱり痛いので病院行きました.なんか,わけも分からぬまま検査とかして手術室へ.

全身麻酔だったので,気づいたら終わってました.麻酔って良い気分で眠れますね.

さっきまで自分が載っていたはずの手術台の上に血のついた手術着が置いてあるのを見るまでは,終わったと言われても何が終わったのかよく分かりませんでした.

とりあえず,切ったモノを見せてもらえないか聞いてみたけど,ちょうど検査のために持っていってしまったところらしかった.残念.

予定より大変なことになってたみたいで,だいぶお腹を切ったようですが,このときは麻酔が効いていたので自分がどんな状態なのかも分からず.

2009-08-14 (金)

*急性虫垂炎

昨日あたりから腹痛.

仕事の途中で何か痛みがおかしい気がしてきたので,病院行ったら急性虫垂炎とか言われた.ビル内に病院があるのには気づいていたけど,薬局もあった.東京って便利なんですね(違)

帰って寝るか迷ったけど,とりあえず冷房きいいてて快適なオフィスで痛みに耐える方針で.

2009-08-13 (木)

起きたら14時.とりあえず出社したけど気分的には遅刻だなー.

タスクマネージャーでプロセスを終了するときに,終了するプロセスのウインドウがどれなのか表示してほしいなぁ.同じ実行ファイル名のプロセスが複数あると不便.

大抵はCPU使用率やメモリの使用量から分かるけど,たまに,応答なしのプロセスを強制終了したつもりが,生きている方のウインドウが消えてしまったりして焦る.

2009-08-11 (火)

明け方ごろ,地震で目が覚めた.なんか本棚がいい具合に揺れてて危険を感じた.本棚が倒れても下敷きにならない位置に移動して寝る.

14時出社.だんだん遅くなってるなぁ.

重役出勤とか言われた気がする.

2009-08-09 (日)

うなぎを食べに行った.

夕食は秋葉原.

地震.

2009-08-08 (土)

買い物に行くとき,橋の上にたくさん人がいた.何をしているのかと思ったら,花火見てた.

X200の無線LANでの名前解決に失敗するのは,DNS問い合わせに対する返答のパケットが大きいときに多発するっぽい.

なんか,X200使っている人で同じような症状の人が結構周りにいるみたい.

問題がUDPパケットだけかので,名前解決をSSHプロキシ経由で行うようにして

www.google.co.jpとかラウンドロビンでIPアドレスが多いホストだと絶望的だったのだけど,今日見たら,なぜか返答に含まれるアドレス数が減っていた.で,試しに普通にnslookupしたけど大丈夫になった.

2009-08-07 (金)

*PHPな日々

最近は,仕事でひたすらPHPでコードを書いています.

thisを付け忘れることも減ってきたし,実行時のコストもなんとなく分かってきたので普通にプログラムが書けるようになってきました.そしてテキスト処理に正規表現を多用しなくなってきました.

言語として良いかはともかく,Perlよりは実開発に向いているような気がします.今のバージョンだとまだ名前空間が使えないのがとても残念な感じになってますが.

ただ,たまにPHP流儀の書き方を調べたりもするのですが,WebにあるPHP関係の情報を見ると不安になってきます.

何が不安って,「これをしたいときはこう書く」というサンプルがとてもたくさんあるのに,それ以上深く書かれた資料がとても少ないことです.さらに悪いのが,似たようなサンプルがたくさん出てくるのに,どれも同じような問題を含んでいるコードだったりすることです.

もしかして,PHPって流行っているように見えるけれど,PHPのプログラムを真面目に生成している人は思ったより少数で,他の人はそれを参考にしたりして組み合わせてアプリケーションを作っているのでは無いかなぁ……考えすぎでしょうか.

そして設計といわれる物が皆無なWebアプリケーションが大量に作られて,そのあたりがセキュリティの問題にも関係しているんじゃないかなぁ.

それにしても,絶対になれないと思っていたPHPプログラマになりつつあるのが怖い.

2009-08-05 (水)

*winnyview.exe

twitterに一言書いただけなのに.

高木浩光さんにブックマークされたことが大きそう.

Winnyのキャッシュが読めて変換できてしまうバグがある気がしてきた.単なる処理の消し忘れなのだけど….

もしかしたらキャッシュからのアップロードも出来てしまうかもしれない.くれぐれもバグを突いてファイルを公開したりはしないで欲しい.まぁ,ダウンロードできないし,ほっとくとどこにも繋がらなくなるのでこれを使って何かする人はいないと思いますが.

2009-08-04 (火)

無線LANが調子悪い原因はX200にあるっぽいぞ.

*ファイル名に潜むウイルス

関連付けされたアプリケーションで開くと,ファイル名処理部分でスタックオーバーフローして,ファイル名をコードとして実行.ファイル名に巧妙に埋め込まれたコードは,リムーバブルメディアにある同種のファイルのファイル名に感染する.

というウイルスに対する対策も市販のセキュリティソフトはちゃんとしてるんでしょうか?チェックするのはファイルの中だけでは不十分だと思います.

きっとCode golfの上位の人がウイルス作者と疑われますね(笑)

2009-08-03 (月)

*

日清オイリオ前にある植え込みの柵に,夜になると鎖が巻かれているのが気になっている.

いったい何のために巻いているのかなぁ.ぐるぐる巻いてあるのですが,柵が盗まれないようにでしょうか….確かに少しお金がかかっていそうな柵ですが…柵を持ち去ろうと思う人なら鎖くらい切る用意をしているはずなのでそれは無さそう.

そして今日の夜久しぶりに通ったら巻かれていなかった.

もう数ヶ月間気になって仕方が無いことなので,もしかしたら前にも書いたかも.

*最近無線LANルータのDNSがおかしい

原因不明.特定のドメインがよく解決に失敗する.

これはまたファームウェアの中身見るしかないのか?

2009-08-01 (土)

二度寝しておきたら夕方だった.

*Firefox 3.5.1

FirefoxをアップデートしたらFirefox3.5になった.いくつかのアドオン正式対応してなかったので,3.5はまだ見送っていたのに.

自動スペルチェックとかついてますが,赤線だらけになるのでオフにする.

*VC++ Express Edition 2008 の登録キー

久しぶりに起動したら,登録しろとか言われた.そういえば,このPCなってから登録してなかった.

なぜか,前の登録キーが通らなかったので再び登録.もしかして環境が変わると登録キーって使えなくなるんでしょうか.