小池(仮)的非日常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で表示することが多い。○×等で表示するより有利だと思っているからだが,その理由は,

  1. 条件に当てはまるものの数を数えやすい(オートカルクが使用できる)
  2. IMEのオンオフをしなくていい(○とか×とか入力するのだるいよねー)
  3.  

……あれ,あんまり無いな。でも,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ボードは購入したが,増設するのマンドクセ(やる気ゼロ症候群