LANDISKのファームをアップデート(impress.co.jp)してみた。単にファイル(まんまtar.gzだった)を解凍してウェブベースの管理インタフェースからアップロードしてOKするだけだ。Linuxから普通にできた。 一見LD-120U(120GB)、160U、250Uで別々のページで別々のドライバがあるように見えるけど、全部同じものだ。HDDが違うだけだから。変更履歴(iodata.jp)を見ると、やっぱ時刻が狂うのはうちだけじゃなかったんだ(!)とか、1.01なんて出てたんだとか、いろいろわかる。 アクセス速度が速くなってくれているといいんだけど、装置のWindowsネットワーク用バッファサイズを最適化の影響が出てるといいな。これ、smb.confのsocket optionsの欄のことかな?
Amazon.co.jpで買うときに、「あーついでにこれも買っときゃよかった」と思ってまた注文して、「まとめて発送」してもらおうと思ったら間に合わなかった、というのがよくある。というかいまだに一度もまとめられたためしがない。 今回は何分も経ってないはずなのにダメだった。運送屋さんにはハタ迷惑な話なんだかお得意様なんだかよくわからない話だが、まあ放っておいて待つとしよう。 (追記) 2004-02-26 24:28 そうだ、今回妙な思いをしたのだが、Rioを買ってもらったギフト券の残りを使うのを自動的にやってくれたのはいいんだけど(やっと使い切ることができた)、最初に注文しようと思ったCDはギフトオプションをつけようとして選択するときにオフにしてみたらカード決済は20円くらい(たぶんギフトオプションの追加料金の消費税になっちゃっていた)と表示された。なんかおかしいなーと思ってまたやってみたらギフトの有無の選択は全くできず、カード決済ぶんは140円くらい(CDアルバムの消費税ぶん)になった。Amazonのシステム、ちょっとアレなんじゃないかなと少し思った。 いま見たら/.-jで値段の誤表記が話題になっていたので追記してみたんだけど、前に住んでた綱島のダイクマがヤマダ電機になってまた半分ダイクマとして復活した頃に、POSに入ってる値段と値札の値段が間違っていることが非常に頻繁にあった。レジの人が迷ったら安いほうを採用してもらっていたのだが、そのうちあまりに多いので値札を見てレジ側で値段を修正するようになってそういう旨みはなくなった。まあいつまでもあの問題が修正されなかったらレジも遅くなって混むし店として成立しなくなっていただろう。 そのとき、値札づけシステムとPOSシステムって一体化すべきなんじゃないかな、と思った。値札づけマシンとバーコード読み取り器が一体化されていて、バーコードを読ませてガチャガチャつけていくという。それで誤記は減る…というかもともと誤記なんて少ないし、スーパーの肉や魚だと普通に一体化してるか(大きめの値札シールに品名等とバーコードが印刷されている)。 (追記) 2004-02-27 20:14 けっきょくCD2枚は別々に発送されたがどこかでまとまったらしく、同時に届いた。
PHPで性能を無視して書いたプログラムをどうにか高速化しようというのがあって(切実な問題?)、いろいろ調べてみようと思い立った男がいたとして下さい。やっていることは、文字列処理が多いと思う。どう書いたら速くなるのか。 いろいろ調べようと思っているが、まずは少しやってみてわかったことを書く。 文字列の連結についてはいくつかの方法がある。ぱっと思いつくものでも以下の4つである。
- .=演算子(
$var.=val
) - .演算子(
$var=$var.val
) - ““の展開(
$var="{$var}val"
) - sprintf(
$var=sprintf("%sval", $var)
) - join(
$var=join("", array($var, val))
)
このうち、1.の.=が一番速いということがわかった。試行を10万回繰り返して平均を取ると、一回の演算にかかるコストは「$var.=val
」が約2.6us、「$var=$var.val
」は約40us、「$var="{$var}val"
」が約42us、「$var=join("", array($var, val))
」が約44us、「$var=sprintf("%sval", $var)
」が約82usだった。つまり「.=」が圧倒的に速い。sprintfが遅いのは当然としても、それ以外のやつも全部オブジェクトを生成してしまうような感じだ。「.」でつなげるのと「""」で展開していくのはほとんどコストが変わらない。ただし高速化したいのなら「.=」をいくつも書いてつなげたほうがよいということがわかる。
では文字列はどう表現したら速いのか。「"(ダブルクオート)」よりも「’(シングルクオート)」が高速なのは想像できるが、変数に入れて使い回すと速くなったりするのだろうか?
結論を言うと、“と’の差は3〜4%程度までである(“は何も展開されない場合)。10万回のループを何度か試行してみると、ときどき"のほうが’よりも若干高速になることすらあるので、“と’の違いは誤差の範囲であろう。しかし、変数に文字列を入れて参照すると、10%ほど遅くなる。これは常にそうだった。
$a=“test”;
$b=$a;
$c=$a;
よりも
$a=“test”;
$b=”{$a}”;
$c=”{$a}”;
は40〜50%遅くなる。まあこれはいいだろう。しかし、
$a=“test”;
$b=“test”;
$c=“test”;
にすると最初のものよりも10%高速になるのである。ただしこれは1回の演算につき1us程度の部分なので、最適化という点でこの10%を利用するのは無理があると思う。変数を手動で展開すれば1回走るごとに約0.1us速くなる、と覚えよう。ループの中なら意外と変わるかもしれない。展開してメンテナンスがやりにくくなるよりは最初の、文字列の連結の実験でわかったように、生成されるオブジェクトの数を減らすように書き方を工夫するのがよいだろう。
こういう傾向はPHPのバージョンによるのかもしれない。みなさんも実験してみてほしい。私が試しているバージョンはLinux(Kernel 2.4.x)のPHP-4.2.2(Red Hat Linux 8.0のphp-4.2.2-8.0.8)である。
テストプログラムはtest2.php(文字列連結)、test3.php(文字列代入)に置いておく。test2.php、test3.phpとして保存して、
bash# php test2.php | awk '{a[$1]+=$2;b[$1]++;}END{for(i in a){if(b[i]!=0 & a[i]!=0){print i, a[i],a[i]/b[i],a[i]/b[i]/10000;}}}' | sort -n +1
などのように実行するとよいだろうと思う。
Shift_JISは「\」が入るから(「表」問題)プログラム中では使わないほうがよく、EUC-JPを使うべし、とは思っていたが、なぜかJISコード(ISO-2022-JP)に問題があるとは思っていなかった。まあ無意識に使ってなかったんだけど、ISO-2022-JPって「\」とか「%」入るのな。考えてみれば当然なんだが。 Unicode化gccとかって作ったら偉いのかな? 多言語混合変数名。別にISO-2022-JP化でもSJIS化でもいいけど。
ちらっと見たPVの映像も含めて、なぜかずっと頭の中で鳴り響いてます。 今年は卒業はしないけど、入学はするつもりなんだ、実は(謎)。
記事として一番手間のかからない、それでいて一応の体裁が整うための方法は、自分が見ていったウェブページのリストであろうと思う。ただタイトルとURLが並んでいるサイトもあるがあまりおもしろいとは思えなかった。というわけで自分がおもしろくないと思っていることをやるのは気がひけるので、それらしいRSSを出力したり、管理者側の更新を異様にラクにしたりと、いくつかのプログラムを作ってみた。 とりあえずいろいろ試行していこうと思う。自分では何も文章を書かないし、おもしろくない場合は見なかったことにして下さい(笑)。気になったけど文章を書くほどでもないと思ったページを気軽にクリップしていこうと思う。 書いた部分は、DBに現在のURLを放り込むbookmarkletと、各種ページからタイトルの部分を抜き出すPythonのスクリプトと、ブラウザにデータを返すときにDBの内容を展開する部分。タイトルを抜き出すのが一番面倒だった。サイトごとにタイトル文字列であるはずの部分が異なるのだが、Pythonでクラス階層を使って実装してみた。このへんは遊び半分だ。データだけはためてたんだけどね。 ウェブを見なかった場合にその記事を削除する機能はいずれつけるつもりだけどまだ書いていない。このログ自体のRSSには入れないほうがいいかな…
ハンガー考で考えたハンガーを自作しようと考えた。で、やってみた(右図)。
買ったものは以下の通り。作っている最中に思い直したので、上の2つしか使っていない。全て100円ショップにて購入。しめて525円。だから、使ったのは210円ぶんくらいかな。
- アームがのびるセーター用ハンガー(x2)
- ステンレス線
- W回転フック
- エルコキャッチ(?)
まずはセーター用ハンガーの片方の腕の中央を切り取る(左図)。ここを物干し竿の棒が通るので、それなりのサイズを。ただし切りすぎると強度がなくなるので注意。アームが充分かぶさる程度に切る。私はどの家庭にもある(?)普通のノコギリを使って切り落とした。今回はハンガーに元からついている上の「?」の部分も取ったが、ついたままでも構わないと思う。
次に、どの家庭にもある物干し竿用の洗濯ばさみ(今回はすでに持っているものを使いました)をステンレス線でギチギチにくっつける。ステンレス線にしたのは、錆びにくそうだから、という理由なので、別に他のものでも構わない。この時注意すべきは、ステンレス線を洗濯バサミの左右両方に巻くと洗濯バサミが開かなくなってしまうので、片方にだけつける、ということ。とにかく、ブレないようにペンチ等を使ってギッチリ締める。
で、できあがり。物干し竿につけてみた(右図)。まさに完璧だ。
不安点としては、
今日はこれの日かー。緊急報道ドラマスペシャル オウムVS警察 史上最大の作戦(ntv.co.jp)。
1995年、日本は、
地下鉄サリン事件など、一連のオウム事件に明け暮れた。
まさにそうだった。あれから9年も経つのだなぁ。というわけで「私とオウム事件」の作文。 松本サリン事件のとき私は高校時代で、「こいつ100%死刑だよ」と冤罪のあの人を言う友人がいたが私は死刑はないなーと思っていた。冤罪とまでは思わなかったので情報に疎かったのだろう。後から思えば、報道だけでも冤罪を示唆する奇妙な情報がたくさんあったように思う。この時にして初めて、報道を見るときは隠されているかもしれない本質を見抜く目が必要不可欠なのである、ということを私は思い知った(油断できねー)。冤罪説に1万円くらい賭けてたらけっこう儲けることができたはずだ(なんだそりゃ)。 オウムは奇妙な脚光を浴びていて、うちの学校(高校及び大学)からもオウムの幹部を出していたので、高校の先生は「あいつどうなんだ」と心配していた。卒業後に高校に行く用事があって、その時に話したんだったかな。まあ、そんなこんなで。このころ、秋葉でマハーポーシャのビラをもらって店にちょっと入ったこともあるよ。なんだか回路で超速い! 安い!とかっていう。当時あのビラ配りは名物の一つになっていた。駅前のハクション大魔王おじさんと、このビラ配りが二大名物ね。当時は秋葉原によく行っていて、そこ(ビラ配りの場所)はたいてい通るルートだったんだ。私はあまりもらわなかったけど、たまにもらうと「おもしろ怪しい」の(笑)。なんかの宗教だっていう噂は当時からあった。他の店もビラを配っているところが増えてきて、学校で友達とそういうPC屋のビラを見せ合って、カネもないし、うんうん唸っていた。 それと秋葉原と言えばちょっと恐い思いをしたことがあって、というのは当時秋葉原ではピンク色のひらひらの服を着て赤いランドセルを背負ったオッサンが濶歩していたんだけど、実際店員と話す声とか聞くとまさにオッサンなんだよね。で、その人とSofmapの狭いエレベーターで2人きりになってしまったことがあって、かなり恐かった。私のこれまでの半生における三大恐怖の一つに数えられている。ピンクひらひら服+赤ランドセル+オッサン。これに狭いエレベーター+二人きりときたらさすがに震えが止まらない。今となっては秋葉原に行くことも滅多になくなったけど、「一生懸命バイトしたお金をもらった足ですぐにノートPCを買ったときの店」とか、いろいろ思い出のある場所であることは間違いない。 脱線してしまった。話を元に戻そう。 そして地下鉄サリン事件が起きたとき私は大学時代で、合宿のため上九一色村の隣村にいた。みんなで食事している最中にテレビの報道で事件を知り、霞ヶ関に通う官僚を親に持つ先輩が心配して電話しまくっていたのを覚えている。合宿中は上九一色村が舞台になるとは思っていなかったのだが、意外とタイムリーな場所にいたのだなと思う。 それと選挙だの葬儀だのがあって、奇妙な踊りを踊っていたんだよね。たしか高田馬場でもやってたんだけど、直には見なかった。あと大学時代にオウムがまた事件を起こすとかっていう風説が流れて、家族に「今日は大学に行くな」などと言われたことがある。講義があったので一応行ったけれども2限の開始時間を間違えて、1時間くらい早く着いてしまった(笑)。たぶん、私も普通の状態ではなかったのだろう。 その後大学院に進んでオウムが摘発されてきた頃、市ケ谷にあるビルに出入りすることが多くなったのだが、そこで一時期カラスだかフクロウの人形が使われていた。これは警察が使っていたマークで、人形が向いているビルは怪しい人が出入りしてるけど関係ない、という感じで使っていたらしい。社員が気味悪がって取り除いてどうの…とかって話があった。実際私が出入りしていたビルはオウムとは関係なかったものの、修行してそうな雰囲気の人は出入りしていたのだ(徹夜が多いので)。 まあ、そんなところだ。 (追記) 2004-02-24 23:20 で、番組を見た。松本サリン事件は大学入ってからだな。勘違いか。でも事件について高校の友達と話した記憶があるんだよな。
職場に「グリコ」100円箱 食べたいときに好きな菓子(yahoo.co.jp)。これ21世紀の常識。
江崎グリコ(大阪市)は二十三日から、菓子箱を企業の職場などに設置し、なくなった分の代金回収と商品補充をする「オフィスグリコ」サービスを福岡市で始めた。
ぜひ本州上陸、関東進出を。しかし健康管理部門から睨まれることは間違いない。
こんな親の子、就職はムリ!(asahi.com) いつもそうだが、やはり親には事後報告だろう。私は理工学部だったので正規のルートで就職してしまったがやはり推薦が出て内々定のお知らせが学科に届いた時点で報告した。いろんな事情があって、報告しないというのはありえないシチュエーションだったのだが、かなり省略して済ませた。文句は言わせん。父親はだいたいの状況は分かっていたと思うが、母親はよくわかってなかった。仕事から離れて長いとそれもしょうがない。 親には、転居などは保証人を頼むことになるわけだが、それも不動産屋さんを回って決めた後に「ここに実印、よろしく!」と頼んでいる。そういうものだ。 不動産屋と言えばココ(cocolog-nifty.com)が非常におもしろい(無理矢理つなげるなよ!>おれ)。 ところで記事中の言葉で「就職活動」を「就活」と略しているのはどうかと思った。就職活動をそこまで省略してうれしいか? 「ネクタイ」を「ネタ」と言うようなもんだよあんた? SKKの標準辞書にも「しゅうかつ」で登録されてしまっている。しゅうかつ? シュウマイとトンカツの食い合わせか? と思ってしまう。あるいは「松岡修造が食いしん坊万歳でカツ丼を食ったときのリアクション」のことか。そう言えば友人の家で「100円均一」を「ヒャッキン」と略して普通の会話として通っていたのにタマげて腰を抜かしたことがある。あれからしばらく立ち直れなかった。「100斤」は約60kg。しかし100斤で買い物することはできないはずだ。あと「24金」までしかないはず。だって24金は24/24=純金のことなので、100金にはならない。18金や24金で買い物は可能だがしかし…買ってるものがむちゃくちゃ安いぞ! じゃあ何だ!? という。 ちなみに金を示すときに「カラット(karat)」を使うと純度(24カラット=純金)を示す。しかし宝石を示すときに「カラット(carat)」を使うと重さ(1カラット=0.2g)を示す。なので区別するため、宝石を示すときに「キャラット」と発音する人もいる。らしい。 (追記) 2004-02-24 11:46 実はkaratとcaratは厳密な区別ではないらしい。調べてから使おうと思いました。