小池(仮)的非日常2007年4月
4月12日(木)
計算するのもダルい
こいけは毎日万歩計を装備している。平日,普通に仕事をすれば5000〜15000歩程度を歩いている。車通勤なのでこの程度。
さて,昨日帰宅後に万歩計を見たら表示が6666歩だったわけであり,ゾロ目だなぁ2年以上付けてりゃこういうこともたまにはあるかなぁ,と思ったのだが。
今日帰宅後に万歩計を見たら表示が6666歩だったわけであり,流石にびっくりした。2日連続でゾロ目ってなんだろ……
4月14日(土)
壊れた
fripSideの新曲の視聴版が公開された。13cc メーカサイトにて。
……fripSideが壊れた……orz もうだめぽ。メーカの要望なのかもしれないが,fripSideのいいところを殺してまで電波ソングが欲しかったのかと。ave;newにでも頼めってんだ。naoの声が致命的なまでに合っていない。ような気がする。
しかし,fripSide NAO project 「第1弾」らしいので,第2弾以降があるってことだよなぁ……。この路線は正直勘弁だ。
4月26日(木)
えくせる
最近,仕事でexcelを使うことに対する疑問を持たなくなった。
というわけで,性能データ等を読み込ませ,条件に当てはまるものを抽出したりするのに,excelを便利に使用している。簡単なものならオートフィルタで済ませるが,条件が複雑だったり,条件を変えたものと比較したかったりすると,and文やor文を使いまくる羽目になる。その結果は0/1で表示することが多い。○×等で表示するより有利だと思っているからだが,その理由は,
- 条件に当てはまるものの数を数えやすい(オートカルクが使用できる)
- IMEのオンオフをしなくていい(○とか×とか入力するのだるいよねー)
……あれ,あんまり無いな。でも,1のメリットが大きすぎるので個人的には0/1以外あり得ない。
ところで,上のように0/1で現す場合,and文は通常の四則演算で表現できる。例えば,セルA2とA3に0/1で真偽が表現されており,その両方が1かどうかを調べたい場合,
=if(and(A2=1,A3=1),1,0)
と普通は書くところを,
=A2*A3
と書くことが出来る。ちなみに,excelではあんまり使わないかもしれないnot文も,
=1-a2
と表現することが出来る。
こうなると,or文も四則演算で表現したくなるというもの。え,なりませんか? おかしいなぁ。
ま,なるという前提で。
AandBがA*Bだったんだから,AorBはA+Bだ! とか思う人は帰って下さい。当然,A=B=1の時におかしくなってしまう。どうやらorはandやnotのように簡単な式では現すことが出来ないようだ。
ならばどうするか。結論だけ書けば,AorBは
not((notA)and(notB))
と表現することが出来る。したがって,
=if(or(A2=1,A3=1),1,0)
は,
=(1-(1-A2)*(1-A3))
と示すことが出来るわけだ。あんまり簡潔じゃないので,ぱっと見はor文に見えませんな。
さて,ここからが本題である(長い前置きだ)。
=if(or(A2=1,A3=1),1,0)
と
=(1-(1-A2)*(1-A3))
では,処理にかかる時間はどちらが短いのだろう。なんとなく後者のような気もするが,実際,圧倒的に後者である。
ぷれすこCeleron2.66で65535個の処理をさせてみたところ,前者は処理にコンマ数秒かかったが,後者は一瞬だった。遅いマシンで大量に処理する場合,クリティカルに効いてくる可能性がある。メリットデメリットを判断して使い分けるのも一興かと。
ということを,あまりに暇だったので会社で実験していた(ぉぃ)。
4月28日(土)
100Mショック
ちょっと前に,32kから100Mに進化しました。フレッツ光プレミアム。相変わらず進化の過程をすっ飛ばしています。
ってか,とんぷーに繋がらないのは何故ですか……
4月30日(月)
えっちでーでー
ツクモメールで,WDの500Gが限定3で13kという情報をゲットしたため,並ぶことに。
正月の教訓を生かして早めに出発したら,道がやたらとすいていて8時半(開店1時間半前)に到着! 誰もいない! どうやら早く来すぎたようである。うーむ。
結局2人目が来たのはそれから30分後だった。目的の物をゲットできたのだが,気分は敗北者。
ちなみに,ゲットしたHDDは,S-ATAポートが足りなくて繋げません。一応S-ATAボードは購入したが,増設するのマンドクセ(やる気ゼロ症候群