2007年8月分
[an error occurred while processing this directive]
自鯖6周年まであと1ヶ月…それ以外にも卒業研究とか新たなバイトとかサイト再編とかいろいろありすぎ。
●なんでも統計
月初め恒例その1。
「でも解析(Analysis)じゃなくて統計(Statistics)だよな」と先月書いたので名前を変えてみた。
・モバイル通信量
W44T 58190パケット(EZweb 56460、PCSV 1730)通話1033秒(40円)
W-ZERO3 27489パケット 通話2.5秒(12円) PRIN0秒(0円)
W44TはアンテナDASHの他にW-ZERO3故障時のPCサイト閲覧やコナン応募サイトへの接続でかなりパケットが増えている。
でも、やはり主原因はアンテナDASHだろう。無駄なDASHやリロードを減らすように心がけないといけないな。
W-ZERO3は故障による修理が影響してか少ないが、それでも6月に比べると約5400パケット増えている。
・電力
2007年7月(6/19〜7/18)の消費電力(家全体) 752kWh(前月比110.75%、前年同月比96.53%)
エアコン・照明以外(PC、TV、HDDレコーダー等) 399kWh(744時間(7/1 0:08〜8/1 0:00)、平均536.29W、前月比106.12%)
エアコン 3.42kWh(744時間、平均4.60W、前月比5700.0%)@エコワット
4.40kWh(744.0時間)@エアコン内蔵
全体の消費電力は前月比で増加、しかし前年比では減少している。
これは家庭全体での節電の効果が少なからずあるためだと思われる。
ただ、2006/7の非PC消費電力504kWhと2007/7の非自室消費電力353kWhの差151kWhが全て節電によるものであるとはいえないだろう。
(というのも、当時はPCのみの消費電力(他のAV機器や扇風機は除外)であった上に、短時間各PCを個別に計測した平均値を加算して月の時間数をかけることで算出していたため正確ではない)
また、エアコン・照明を除く自室の消費電力は2ヶ月連続で50%を突破した。
8月は自室以外でのエアコン使用が増えるため、50%を割り込むかもしれないが、それは単純に家庭全体で大量に電気を消費するからに他ならない。
そろそろ電気代の一部負担を考えたいところだが、自分の財布も火の車なのでちょっとそれは難しい。
ところで、7/30に停電が発生したため、全ての計測危機がリセットされてしまう事態が発生した(またか)。
これについては、ほぼ一定量を消費し続けているPCなどについては、計測データから平均を算出し…ようとしたが、さすがに2日間の平均だと偏りが大きすぎるのでどうしようかと考えたところ、7/20の中間計測データがあったので、その時点から停電時までを停電後の平均データで埋め、加算することで算出した。
エアコンについては、偶然停電の少し前に見た計測値と、停電後の計測値を単純に加算した。
また、エアコンの内蔵電力係数(「エアコン内蔵電力=エコワット計測電力×α」のα)は1.28だった。
7月はエアコン清掃後に少し使っただけだったが、8月はマシンのためにも使用時間が増えそうである。
●「Miria」再起動ログ7月分
月初め恒例その2。
起動時刻 MTBF 理由
2007/07/05 08:40:06 446:20:36 クラッシュ、画面は乱れ+点滅
2007/07/05 08:48:32 復帰
2007/07/26 20:20:53 515:32:21 クラッシュ、画面は斜めに崩れ(GUI?)
2007/07/26 21:38:15 復帰
2007/07/30 05:10:38 79:32:23 停電
2007/07/30 05:15:24 復帰
7月は非常に安定していた。
しかし、7/30に停電があり、予期せぬ再起動が発生。
停電がなければもっと長く起動していたと思われる。
また、クラッシュ後のファイル消滅(実際にはクラッシュ前に消滅していたらしい)は自分の仕掛けたバックアップの不具合であることが判明し、修正してからは発生していないため、理由のところにファイルの状態を書くのを止めた。
ところで、クラッシュではないが、「Miria」から謎の(おそらく電源かファンに起因するものだろうと思われる)高周波が発生して非常に耳障りである。金をかけずになんとかならないものだろうか…。
あ、年を取れば聴こえなくなるかも…ってそんなに待てるか!
●体力づくり2
4000@30:41
平均2.1727/sec
速度は過去最高。しかしこの辺が限界だな。
●技術者倫理試験
ついに技術者倫理もこれで完結(講義自体は前回で終わってるけど)。
問題は非公開なので詳しく書かないが、600字の記述式問題が2つ。しかし時間はたった50分。
私は両方とも300字ずつぐらい書けた。が、中身は…。
これ、落ちてたらかなりやばいな。何とか単位が取れることを祈ろう。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
うわあぁぁもう8月も2日経ってしまったあぁ!!…というのは大げさすぎるが、それぐらいの気持ちでいないとやばい予感がする今年の夏。
●開発
大学じゃないほうのプロジェクトのバージョンアップ版開発を引き受けることになった。
今日は大体の流れなどを決めた。
うまく予定通りに進むといいのだが…。
●肩が
痛い。ってことで早めに寝y…Zzz。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
無性に「Sephie」アップグレードしたい衝動に駆られている。落ち着け、しっかりと長期計画を立てるんだ…。
●開発
細かく言えないが一部量的制限を突破するための改良に着手。
で、その流れの中で大きめのテストファイルを用意する必要があったので、スパースファイルを作って末尾だけ実データ入れてテストしようとしたのだが…。
次の記事に続く(ぉ)。
●スパースファイルが作れない
何回やっても何回やってもスパースファイル作れないよ
あの関数何回やってもエラーだ
VS2005でコンパイルしてもやっぱりエラーが直らない
うまくいくバイナリ試してみたけどサイズが固定じゃ意味がない
だけど次は絶対作るため僕はGoogle検索ボタンを連打するー
…と、冒頭からニコニコ動画500%な書き出しですが、要約すると
・量的制限突破の改良がうまくいってるか確認するため、約4GiBのテストファイルを用意して読み込んでみることにした。
・しかし、「Fen」のHDDは4GiBも空いてるパーティションがないし、そんな巨大なファイルは作るのも時間がかかる。
・なのでスパースファイル(未使用領域についてはHDDを消費しない、疎らなファイル)を作って末尾に実データをくっつけてテストしようとした。
で、スパースファイルの作り方を調べることになったのだが、作り方はすぐ見つかった(NTFS 2000 に対するプログラマの見方:暗号化、スパース、リパース ポイント、実際にはほぼ同じ説明をしている別ページを見つけたが、ここでは公式を紹介しておく)。
で、早速ためしてみたが、ファイルはできるもののスパースファイルになっていない(1GiBなら1GiB分のHDD領域が消費されている)。
そこで、各関数の戻り値を細かく調べたところ、DeviceIoControlで失敗していることが判明。
GetLastErrorでエラー番号を取得し(1だった)、それをVS6付属のツールで調べると「ファンクションが間違っています」とのこと。
どこかパラメータが違うのかと思い、NULLを0にしてみたり、dwを0で初期化してみたりと思いつく限りのことをやってみるが、やはりうまくいかない。
冒頭の歌?にもあるようにVisual Studio 2005 Express Editionでもコンパイルしてみるが、やはり同じくDeviceIoControlで失敗する。
ここで、以前自分が書いたスパースファイルの記事が検索結果に出ていることに気づき、その記事で紹介していた記事の著者が作ったスパースファイル作成プログラムを試してみたところ、何と成功するではないか。
ということは、PC自体はスパースファイルを作ることができる状況であるということだ。
さらに、XPのコマンドラインからfsutilでスパース設定をしても、やはりスパースファイルにできることが判明。
これでソースレベルでのバグがほぼ確実になったわけだが、考えられる組み合わせはほぼためちつk…試し尽くしていた。
しかし、諦めずにひたすら検索しまくったところ、一筋の光が!
海外の技術系コミュニティサイト?(そのままでは会員にならないと見えないが、Googleキャッシュ(cache:〜で検索する)だと見える)でついに解決法を発見した。
詳細な(くどい)説明を含めたメモを以下に書いておくが、解決法をさくっと見たい人は飛ばしてくれてもかまわない。
↓↓↓メモ開始
winioctl.hを見ると、FSCTL_SET_SPARSEの定義は
#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
のようになっている。
CTL_CODEはマクロで、実体は以下のようになっている。
#define CTL_CODE( DeviceType, Function, Method, Access ) ( \
((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)
bitで言うと
3…11111111110000000000
1…98765432109876543210
--------------------
D…DDDDAA0000FFFFFFFFMM
のような感じだ(DeviceTypeは16bitもない気がするし、Functionは12bitまで拡張可能だがここでは無視(ぉ))。
で、FSCTL_SET_SPARSEの各パラメータを直接見てみると
#define FILE_DEVICE_FILE_SYSTEM 0x00000009
#define METHOD_BUFFERED 0
#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe (これはwinnt.h内にあった。winioctl.hにはntioapi.h内に定義してあると書かれている。)
となっていて、計算すると0x980c4となる。ところがこれだとエラーになってしまう。
一方、上記のサイトだと0x900c4で成功したと書いてある。試してみるとBINGO!確かに成功する。
どうやら0x8000=0x0002(FILE_WRITE_DATA)<<14があるとだめらしい。
成功するパターンだとFILE_ANY_ACCESS(0x0)が指定されていることになるので、どうやら読み込みアクセスが無いのが原因でエラーになっているようだ。
↑↑↑メモ終了
要するに
・DeviceIOControlの第2引数をFSCTL_SET_SPARSEではなく直接0x900c4を指定する
・winioctl.hのFSCTL_SET_SPARSEの定義にあるFILE_WRITE_DATA(2)をFILE_ANY_ACCESS(0)に書き換える
のどちらかで解決する。
ちなみに、開発環境によってはFSCTL_SET_SPARSEの定義でFILE_ANY_ACCESSが使われているかもしれない。その場合は問題なくスパースファイルを作ることができるはずだ。
最後に、Googleの検索履歴を調べて、私が検索した語がこの記事に全部入っていることを確認した。この記事がスパースファイル作成で躓いている人の助けになることを願ってやまない。
…そのうちヘッダが修正されて誰も躓かなくなりそうだが(ぉ)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
下不下不…。
●徹夜で開発
スパースファイル問題の原因究明で思わぬ時間を食ってしまった(実はスパースファイル問題が解決したのは8/4になってから)、その後も開発続行。
細かい調整などを行いつつ、ある程度落ち着いたので報告してFTPでアップロードしようとメールチェック。
…なんか前バージョンで不具合が発覚したらしい。
面倒なバグだといやだなぁと思いつつ調べてみると、なんと単純に実装忘れだった(ぉ)。
で、結局9時?ごろまでかかってしまった。
今後は枝分かれした別プロジェクトで発覚したバグや改良点で本プロジェクトにも適用できそうなものを拾っていくか。
ところで、開発関係の記事を書く時は具体的な情報が分からないように相当ぼかしてるのだが、大丈夫なんだろうか?
もしかしてこの程度でもまずいのだろうか?
数年後にいきなり「守秘義務違反で罰則1億円ね」とか言われたらどうしよう((((((;゜Д゜))))))。
書かなければ(あるいは公開しなければ)いいと言われたらそれまでなのだが…。
●自鯖にウイルスメール
なんか最近来るようになった。
先週のスキャンでは2通、今週は3通発見。
もっとも受信以前に「Sephie」のNorton Antivirusが反応して消してるわけだが、受信時(ファイル書き込み)ではなく定期スキャン(ファイル読み込み)でひっかかってるのが少し気になる。
まあ、「Sephie」はメール鯖の関係で電子メールスキャンはオフなので、そこでは引っかからないわけだが。
●夏祭り
地元で毎年やっている小さな夏祭りが今日だったらしい。
母が祝儀を届けるついでに露店(といっても2、3件ぐらいしかない。しかも所謂露店屋ではなく地元の人がやっている)でたこ焼きとフランクフルトを買ってきてくれたので後で食べよう(これ書いてるの8/4 22:40頃)。コミット時点ではすでに食べた。すごく美味しいわけではない、でもまずいわけでもない、所謂普通(のおn(自主規制))なのだが、そのあたりが露店っぽくて私はいいと思う。
さて、今年もカッパまつりはあるようだが、動作するセガサターンを入手してしまったのでいまいち燃えない。今年はドリームキャストでも狙ってみるか?
もちろん中古GB/SFCソフトも狙っているのだが、いいのがあるかなぁ。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
ああ、そういえば月初めの週末はメンテナンスだった。バックアップ以外に掃除もしておかないと…。
●体力づくり2
4000@30:29
平均2.1870/sec
最速記録更新!
●墓掃除
盆の墓参りに先立って家族で先祖の墓を掃除しに行った。
隣から飛んできたと思われる雑草で埋め尽くされていたので全部撤去。
除草剤のようなものをまけばいいと思うのだが、やはりそれはまずいのだろうか?
ところで、墓があるのは私が通っていた中学校のすぐ近くなので、行く度に体育館に貼ってある卒業制作を見ては懐かしんでいる。
そういえば卒業制作の写真って撮ってなかったな…でも場所が場所だけに、悪いものでなかったとしても心霊写真とか写る可能性もあるのでちょっとためらうなぁ。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
さて、長期計画立て終わったし「Sephie」アップグレードするか。
●W-ZERO3再修理回収
W-ZERO3が2度目の修理に旅立っていった。
今度こそ完全に直ってくるのだろうか?
そして修理費用はいくらかかるのだろうか?同じ症状だし無料か?それとも保障期間すぎてるしやはり有料か…。
とりあえず、私には祈りつつ待つぐらいしかできない。
●1日でできる!「Sephie」アップグレード計画入門
って、某OS自作本っぽいタイトルだな(その本自体は買ったものの全然読んでないのだが(ぉ))。
定期が8/11に切れるので、それまでに行くならば行っておきたいと考え、急遽1日でアップグレード計画の構築・検証を行うことに。
軽く調査した結果以下のような計画になった。
・「Sephie」5th 大規模アップグレード
Athlon X2 BE-2350(2GHz) 11000〜13000
GA-MA69G-S3H 11000〜13000
DDR2 PC6400(800) 8000〜10000/GB
・信頼性増強
300GB HDD 8000〜10000
UPS(APC ES 725) 16797〜16797(Amazon)
・難波遠征恒例+α
本 Max3000
お菓子(難波土産) Max1000
雑品? Max0
CPRM DVD-R 20枚ぐらい 2400〜2600
PS2 メモリーカード
今回はWindows Vistaは見送ることにした。
また、Wii、DS、PS3などのゲーム機も衝動買いしないことにした(当たり前だが)。
今回のアップグレード・増強計画の財源は現在行っている開発のバイト収入を見込んでいる(すでに奨学金50万円以上使いこんで借金状態なのはこの際目をつぶる(ぉ))。
来年には「Naomi」のアップグレード(Phenom X4(45nm、Socket AM3)の予定)が控えているが、それについては予定より規模を縮小し、現在ノートPC用にへそくっていた財源を充てる予定である。
で、「Fen」についてはもう少しがんばってもらい、2010年ぐらいにアップグレードしようかと。
おっと、もう8/7 2:14か…早く寝ておかないと難波遠征の猛暑に耐えられないかもしれないのでこの辺で(上記に書いた以外に減価償却なども考えたのだが、あまりに稚拙なので日記に書くのはやめておく)。
追記:Socket AM2/AM2+にはAM3が載るらしいので、「Naomi」アップグレード時に「Sephie」も中間アップグレードするかも…性能と消費電力次第だが。
●体力づくり1
久しぶりにエアロバイクで30分走ってみた。
…き、きつい。こんなに負荷高かったっけ?
一応負荷調整できるのだが、30分近くになるとほぼ負荷0にしないと足がだるくて動かない状態。
ちなみに走行距離は14.4km(時速30km相当キープ)+0.8km(クールダウン分、完全負荷0で超低速走行)。ウォーキングマシンと違って負荷が一定ではない(厳密にいうとウォーキングマシンでも負荷が変動するのだが、その変動カーブはほぼ一定)ので参考程度にしかならないのだが。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
そうと決まれば早いほうがいい。ってことで早速行ってきました。
●難波遠征
「Sephie」のアップグレードパーツ+αを購入するため難波に行ってきた。
毎度のごとく、行動ログ(8/9にまとめた)をほぼそのまま貼り付け。
09:xx | 自宅発 |
09:30 | 下古沢発 |
10:46 | 難波着 付いてからPiTaPa申込書(minapitaじゃないやつ)探す。 見つからなかったのでminapita窓口で聞いたら駅長室にあるというので取りに行く。 それにしてもなぜ駅長室に? |
11:07 | マクドナルド チキンフィレオセットを自作(ぉ)。ポテトR+ドリンクRの代わりにナゲット+ドリンクS。 でも値段はグリルチキンセット並…orz。 |
11:51 | トイレに行った後、難波駅のビルを出る 途中じゃんぱらとauショップを冷やかし。 ツクモで値段調査。といっても他店と比較するためではなく、予定額との乖離を調べるため。 |
12:56 | ツクモで調査終了 300GBのHDDがなかったので一応ソフマップにもよってみるがやはり存在せず。 旧Maxtor(Seagate)ぐらいしか300GBってないんだよなぁ。 1階の液晶売り場で1400*1050という珍しい解像度(貴重な4:3!)の液晶ディスプレイが約3万円で売っていたが、残念ながら品切れだった。 もし在庫があったら衝動買いしてしまっていたかも…((((((;゜Д゜))))))。 とりあえず型番だけメモしておいた。AcerのAL2017という機種だ。 今年の冬ごろに液晶買いにいこうかなぁ? 本当はEIZOの1600*1200あたりが欲しいのだが、非常に高価なので悩む。 |
13:23 | 隣のソフマップ(ザウルス1、PC関係はザウルス2)でPS2メモリーカード購入。 純正より少し安かった3rdparty製にした。 ちなみに、セーブデータを保存するためではなく、BB Unitのブートローダ?を入れるために購入した。 唯一あった初期付属のメモリーカードを妹が彼氏の家に持っていってしまったのでFFXIが起動できない状態になっていて、しばらく待ってみたが一向に返ってくる気配がないので自腹で買ってしまった。 これでPS2からFFXIができるようになるので、「Naomi」がふさがっている時でもミリオンコーンチェックが可能になる。 |
13:35? | ゲーマーズでコミック購入。 電撃の旅団のFFXIアンソロを買おうかと思ったが、FFXIアンソロばっかりも飽きるので以前から気になっていたあずまんが大王を買った。 あと、同じく気になっていたあずまんがリサイクルも(大王のほうと無関係なのは以前から何度も裏表紙を見て知っていた)。 他にもいくつか買おうかと思ったのがあったが、まだVIVO和歌山の本屋に置いてある(つまりいつでも買える)ので今回は保留。 |
13:33 | 電波ソーラーのGショックで記録した、本とPS2メモリーカードを購入した直後の時刻…のはず。 ゲーマーズのレジ内蔵時計が進んでいたのだろうか? |
14:11 | ツクモでCPU、M/B、RAM(私はコアコンポーネントと呼んでいる)、それにHDDを購入。 HDDは結局HGSTの320GBにした。バックアップディスクに現行の300GBを使うことになるので20GB分は割り当てずに置いておこう(もったいないが)。 もちろんHDDは延長保障に入っておく。 ちなみに私はRAMの相性保障には入ったことがない。 オーバークロックはやらないし、ブランド物(大抵Century、今回はPC6400の512MiBがなかったのでCFD elixir)を買うのでまず相性は起こらないだろうと考えてのことだ。 まあ、「Miria」では相性食らってデュアルチャネル動作不可だったが…。 |
14:15 | RAMガードとファンコン(1チャンネル、ダイヤル式)を購入。 RAMガードは埃対策。以前CPUファンによって吹き付けられる埃でRAMが飛んだ(→REF!)ことがあったので。 CPUヒートシンクのフィン方向によっては不要な場合もある。今回は必要だった@8/9。 これは大抵、M/Bの設計がCPUファンでメモリを冷やすようになっているか、ノースブリッジを冷やすようになっているかによって決まる。 前者の場合RAMガードが必要で、後者なら不要だ。 ところで、私は埃よけに使うためにRAMガードと呼んでいるが、一般的にはメモリ用ヒートシンクというのが普通のはずである。 |
14:19 | CPRM対応のDVD-Rを20枚(10枚スピンドル*2)購入。 BSデジタルのアニメを単発(ここではシリーズ全話の対義語の意味。主に第1話を録り逃して、全話保存を諦めたもの)でがんがん保存していこうかと思ったので。 CPRM非対応のはまだ20枚以上残っているので今回は購入せず。 しかし、なんでCPRM対応のは50枚とかないんだろうか? |
14:20 | ツクモを出る。 |
14:37 | グラスホッパーで体力づくり用のアクアスポーツタオルを購入。 名前からすると本来は水泳用なのだろう。 でも、水泳にも行くつもりなので問題なし。 だが、今年の夏は非常に忙しいため、本当に行けるかは不明…。 |
14:52 | 難波土産購入のために無印良品へ。 かなり疲れていたのでなんばCITY店か難波店か迷ったが、品揃えが全然違うのでやはり難波店に行くことに。 そして難波土産(主に珍味)を購入(左の時刻は迷っている時ではなく購入したレシートの時刻)。 今回はアップグレード関係以外のコストを極力削減しようと思ったのと、体力づくり(≒ダイエット)中なのであまり食べ過ぎるのもまずいということで少なめ。 内訳はポット珍味おつまみするめ、ハバネロカルパス(夏限定らしい)*2、ホワイトチョコがけいちご、アロエ入りヨーグルト風味ドリンク。 …結構なカロリーになってるな。特にいちごあたりが。 ログまとめ時点(2007/8/9 10:20)で残っているのはハバネロカルパス*1、ポット珍味おつまみするめ。(一部) 記事執筆時点(2007/8/12 4:14)では全て食べ終えている。やはりハバネロカルパスが一番良かったな。あぁ、でも本当はかぼちゃの種が欲しい…。 |
15:02 | 同じく無印良品難波店でホワイトボード(商品名はメモボード)セット(ボード本体、字消し、マーカー、詰め替えインク*2)を購入。 以前から買おうと思っていたのだが、なかなか売っている店に行く機会がなかった。 早速使っているが、結構いい感じである。 |
15:24 | 難波発 |
16:36 | 下古沢着 アンテナDASHは初奪取が4本ほどあった(行き3本、帰り1本のはず)。 さすがにもう新発見はなさそうだ。 |
16:xx | 自宅着 |
そして、今回の購入物品はこちら。
主に「Sephie」アップグレード関係。 |
「Sephie」用HDDと、その他いろいろ |
そして恒例の難波土産、それに文鳥。 …文鳥!? いや、もちろんこれは今回買ったわけじゃない。 なんとなく入れてみたかっただけ。 |
合計金額は47,970円。やはりどうしても4万は超えるものか?まあ、今回は大規模アップグレード目的なので無理もないが。
うち、アップグレード関係(CPU、M/B、RAM、HDD)は38,095円。
本や難波土産、衝動買いを最小限に押さえ、ほぼ予定通りのものだけ買ったので、アップグレード関係以外の出費は約1万円とかなり少なめだ(それでも多いが)。
Vistaは今回購入禁止リストに載せて絶対買わない決意で行ったが、今後も当分買わないだろう。
買うとしたら今年冬の液晶遠征か、来年の「Naomi」アップグレード遠征の時だろうが、正直気乗りしないんだよなぁ。
Vistaでしか動かなくてすごく面白いソフト(ゲームに限らず。でもゲーム以外で面白いソフトってあるか?)出れば気が変わるかもしれないが。
そして、かぼちゃの種はやはり消滅したまま。ケンタッキーの海老シリーズのように復活しないかなぁ?
●「Miria」、電気ノイズでクラッシュ?
帰ってきてから気づいたのだが、「Miria」が14:39:56にクラッシュしていた。
「Naomi」のUPS記録によると14:39:55から5秒間、電気ノイズが原因でバッテリ運転したらしい。
もしや今回はこのノイズが原因だったのか?
それどころか、今までのクラッシュも電気ノイズ(「Naomi」のUPSで感知できないほど小さいもの)が原因かもしれない。
しかし、もしそうだとすると、「Miria」の弱点はM/Bではなく電源そのものということか?それはやだなぁ…。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
反動食らってたような気が…?
●「Naomi」クラッシュ
またFFXIで。
3キャラ目(ミリオンコーン売れ行きチェックを4キャラ分行っている)まで大丈夫だったのでこのままいけるかなーと思っていたのだが、4キャラ目で出品中に停止。
やはり夏は少しだけのプレイでもエアコンかけておかないとやばそうだな。でもついついもったいない+体バテるの早くなりそうと思うので躊躇してしまうんだよなぁ。
●トラップ掲示板に書き込み
5件ほどあった。
まだ件数が少ないのでもうしばらく放置しておこう。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
難波遠征後に停滞が起こるのは避けられないが、避けられることは避けるべきだ…よなぁ>全文検索改良の件。
●全文検索改良
UPSかなんか検索しようとして、そういえば単一語検索しか検索できないのは不便だなぁと思い、改良を思い立つ。
…思い立ったが凶日orz。
せっかく早く風呂に入って0〜1時ごろに寝るはずが、バグや脆弱性つぶしをやっていたら徹夜に。
まあ、そのおかげで大幅パワーアップ(複数語検索、正規表現検索、複数行検索を実装)できたのはよかったが。
でも、全文検索なので相変わらず重いなぁ(特に複数行検索は絶望的な重さ)。今度はパフォーマンス面で改良してみるか。
とはいっても、Namazuのようにインデックスを作るということはできないからなぁ(それだと全文検索じゃなくなる)。
まあ、当分現行のまま使ってみるか。
●UPS発注
これで今回のアップグレード・強化計画は完了(まだUPS届いてないけど)。
届いたらそのUPSを「Naomi」の新UPSに、「Naomi」の現UPSを「Sephie」の新UPSにして、「Sephie」の現UPSは「Miria」にでも使おうかと思っている。
●「Sephie」アップグレード
詳細は自作PC日記で。
前回の「Sephie」アップグレードよりは楽だった…のか?
ところで、アップグレード中「Fen」でWebサーバを動かしてトップページにメンテナンス状況を書いていたのだが、最初15:00ぐらいに終わると思ってそう書いていたのが1時間ずつずれていき、最終的に予測不能なのが分かったので時間を書かないようにしていた。
果たして幻のメッセージを見た人はいたのか?まあ、見たいようなメッセージじゃないわけだが。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
アップグレードの影響で下不下不状態。こんな状況で面接に行くとは。
●大学院面接
いよいよ私の進路が決まる重要な日がやってきた。
まあ、進路といっても院進学以外考えてないので落ちたら大問題なのだが。
集合時間が13:00なので、いつものようにケンタッキーで昼食を食べていては時間がないので、海老カツツイスター+クリスピーを買ってバスへ。
大学に着いてから研究室に行き、昼食を食べて時間をつぶす。
そしてその後受付→控え室→面接。
面接はよくあるような志望動機とか入ったらなにしたいとかそういう感じのもので、思っていたより早く終わった。
人によっては結構時間がかかっていたように感じた(面接後はカンニング防止のため控え室に戻ってこないため正確な時間は不明)。
そして、その後学科事務で技術者倫理の教科書を返却し、研究室に行って卒業研究記録簿作成して学科事務に提出。
あらかじめ卒業研究記録簿作ってあれば1回で済んだのだが、「Sephie」アップグレードをしていて時間がなくなったので…。
ところで、研究室でいる時に面接官だった先生(私に何度かバイトを斡旋してくれた)に聞いたのだが、私が今所属している研究室と、所属希望で書いた院のクラスタが違うことが判明。
実は私のいる研究室(物理的な部屋)には論理的な研究室が3つ入っているのだが、そのうち2つは私が所属希望で書いたクラスタで間違いないのだが、私の所属している1つだけはまったく別で、ただ場所を使っているだけらしい。
その先生曰く、院に入ってからでも半年以内ならクラスタは変えられるらしいのだが…手続きが煩雑じゃないといいけど(学部は原則として学科変更は行えないことになっている)。
●五条
「Sephie」アップグレードの疲れと大学院面接(というよりは大学に来ること自体)の疲れが重なって、電車の中で気絶するように眠る。
そして気づいたら五条orz。
幸いすぐに和歌山方面の電車があったのでよかった。
もちろんアンテナDASHは忘れずにやっておいた。これがせめてもの慰めだ。まあ、すぐ奪取されてしまうのだが。
これを書いてる8/12 5:07にはすでに奪取されている。
●UPS届いた
家に帰ったら、9日に注文したUPS「APC ES 725」が届いていた。
とりあえず自室に運び込んだが、やはり相当重い。今(8/12 5:10頃)箱(Amazonの箱からは出した)ごと計測したら8.2kgもあった。ひいぃ。
(2007/8/22)写真撮影したのに掲載するの忘れてた。
ちなみに撮影したのは8/12だが、内容的にここのほうがよさげだったので時間逆行して貼っておく。
設置するには全マシンを止める必要がある(ところてん式にUPSを移行させるので)ため、それはもう少し先になりそうだ。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
うおぉ停滞。あ゛っ、開発もやらないと!あ゛あ゛っ、卒業研究に全く着手できてない!!あ゛あ゛あ゛っ、(略)!!…!!。
●SETI@home最適化クライアントバージョンアップ
本家のMultiBeam対応にあわせるように、KSWN版の最適化クライアントがバージョンアップした。
「Miria」以外は何の問題もなくさくっとバージョンアップ完了。
今までどおりにダウンロードしたファイルをBOINCインストールディレクトリ内のprojects\setiathome.berkeley.eduに入れるだけだ。
しかし「Miria」は一筋縄ではいかなかった。
まず実行ファイルの名前がKWSN〜ではなく、オフィシャル版のような名前(setiathome-5.15.i686-pc-linux-gnu)になっていたのでリネーム。
別にそのままの名前でもいいのだが、私はtopで見たとき確実に最適化版が動いているのが分かるようにしておきたかったので変えた。
このとき、app_info.xmlの中にある2箇所を書き換えないといけないのだが、1箇所だけ書き換えて起動してしまい「ファイルがない」と言われて進まず(この時点では計算エラー連発はしなかった)。
次に2箇所とも書き換えて起動すると、「process exited with code 1」エラーでWUが次々とゴミに。
あわてて通信と計算を止め(アップロードしていなければファイルを消して再度リクエストを出すとサーバがWUを送りなおしてくれるらしい)、ログを調べるとどうやらglibcのバージョンが古いらしい。
lddコマンドで最適化クライアントの要求glibcバージョンを調べると2.3.4。
一方、「Miria」に入っているglibcバージョンは2.3.2だった。
※このときはls /lib/libc-*で調べた(glibcのバージョンがx.y.zの時、/lib/libc-x.y.zが存在すると仮定した方法)が、rpmで入れてある場合はrpm -q glibcのほうが確実かも。
そこで、最初自分でglibcをコンパイルして入れようかと思ったが、glibcインストールにミスってOS(システム)が起動しなくなったという話をいくつか見かけたので、バイナリrpmを入れることに(それなりにコンフィグされてそうで安全だと思ったので)。
Rpmfind mirrorで探して、SuSE Linux用のrpmを発見。
Fedora用でもっと上のバージョンもあったが、とりあえず最適化クライアントさえ動けばいいので最低限のバージョンアップにしておいた。
早速ダウンロードしてrpm -Uvh glibc-(略).rpm。
が、やはり依存関係が出てくるので--nodepsつけてアップグレードインストール。
無事入った(もしここで動かなくなっていたら…((((((;゜Д゜)))))))ので再度BOINC起動…ぎゃぁ〜計算エラー連発!!停止、停止!!!
今度はWU消してあるのにclient_state.xmlに情報が残っていたのが原因。
ってことでclient_state.xmlからも情報を消す。
そしてBOINC起動…今度は無事起動したが、サーバと通信するたびに「you may have an outdated code」というメッセージが。
ぐぐると、どうやらサーバの公開鍵が壊れている時に出るらしい。
しかし、解決方法としては一旦detach(離脱)してからattach(参加)するしかないらしい。
それはあまりやりたくないので、client_state.xmlファイルのキー部分を調べてみると、なんとキーのところだけ改行がCRLF(0x0d、0x0a)になっていた。
あ゛、そういえばclient_state.xmlから失敗したWUの情報消した時にうっかり上書きしてしまった(TeraPadは上書きすると強制的にShift_JIS+CRLFにするバグ?がある)んだった。
ってことでLF改行で保存しなおして解決。キー以外がLFになっていたのは、一度BOINCを動かしたから書き換わったんだろう。
これで全マシンがMultiBeam対応版(本家5.27ベース、KWSNのコードリビジョンだと2.4)になった。
しかし、最適化クライアントサイトのコメントを見ると、近々細かいバージョンアップ(要求クレジットの係数調整、正確には係数を外部から与えることができる機能をつける)がある可能性があるので、もうしばらくは高頻度でチェックを続けることにしよう。
●W-ZER03途中経過
ウィルコムリペアセンターから電話。
なんとまた症状が再現しなかったらしい。
くっ、修理担当の前ではいい子ってか?私の前では冷たいくせに…はっ、もしやツンd…げふんげふん。
それはさておき、症状が再現しないってのは困ったものだ。
とりあえず長時間電源ONしないと発生しにくい旨をシャープの担当者に伝えてもらうことになった(それぐらいしかできない)。
しかし、シャープもお盆休みに入るので修理は17日からになるらしい。
8月中に帰ってくるのだろうか?どうせなら前回の修理でもっと時間をかけてもらったほうがよかったなぁ。
あのとき私が落として液晶を割っていなければ、その時に「症状が再現しません」→「もっと時間をかけてチェックしてくれ」となったかもしれないのに。
●日記停滞解消開始
このままだとずるずる停滞していきそうなので、少し無理してでもやっておくことにした。
しかし、バレー延長で放送時間がずれているMBSが気になってあまり進まず(結局30分遅れが確定した(TVにテロップが流れたのを私が見た)のはアニメシャワー開始時。一応それ以前に大体30分ぐらいだと推定して予約をずらしておいたが。ちなみに私はラブコンは録画してないので仮にアニメシャワー開始時まで遅延時間が分からなかった場合でも問題ない)、結局ここまで書き終えたのは8/12 5:42。
まあ、自作PC日記も書いていたし、他にもいろいろやっていたので、約定期日記だけでそれだけ時間がかかったわけではないけどね。
ってことでかなり遅れ気味(というかこの記事は12日の分なのでは?と思う)だがコミット開始!
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
さて、大学院面接も終わったし、今週から本格的にやっていくか(棒読み(ぉ))。
●帰省
といっても私ではなく母の実家。
同じ町の中なので帰省ラッシュとは無縁だ。
結局私は昼飯食べる→寝る→晩飯食べる…と、食っちゃ寝していた(爆)。
今度正月に行く時は体調を整えておこう。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
「Sephie」アップグレードの影響はまだ続く?
●誰でも割
auの誰でも割、今日から申し込み可能だったのでさっそくやっておいた。
年割と置き換えるような形になるらしい。
これで少しは月額料金減るかな。最近はあまり使ってないのでほぼ底だし(7月分は少し使い込んだので底じゃなかったが)。
●温度計キャプチャツール改良
自宅サーバ稼働状況にある室温のページの温度計撮影画像をキャプチャしているツールを改良した。
HSP3.1の新機能であるHSPCVを使うことで、キャプチャ時にポップアップしなくてもよくなった。
以前から特定アプリ起動時はポップアップしないようにしていたが、IEは都合上指定できないので、動画サイトを閲覧しているときにポップアップしてきてうzeeeeeeeeeee!!!状態だった。
ちなみに画質などは全く弄ってない(JPEGにしようと思ったがやめた)ので、外から見る分には何も変化がない。
●「Fen」やっぱだめだったorz
「Sephie」アップグレードの記事で、「Fen」のブートセクタ(MBR?)を吹っ飛ばしてしまい、バックアップHDDからコピーして修復したと書いたのだが、やはり修復できていなかった。
そんな気はなんとなくしていたのだが、「Sephie」アップグレードなどで遅れていた月初めのバックアップを行うために再起動したら「Error loading operating system」。
あぁぁやっちまった…と思いつつ、修復するために回復コンソールからfixmbr、fixboot(なぜかCドライブパーティションのブートセクタも飛んでいた)をかける。
すると、あっさり復旧(Windows XP起動)。なんだ、たいしたこと無かったな。
…しかし、それは間違いだった。
念のためセーフモードで起動し、無事を確かめようと思ったのだが、なんとログインしてすぐに強制ログアウトされてしまう。
エラーメッセージなどは何も出ず、ログインして「個人設定を読み込んで〜」となった直後に「ログオフしています」と表示される。
こ、これは…そうか、ブートレコードを修復したせいで、パーティションIDのようなものが変わってしまったのか!(以前にも同じようなことがあったので。なぜか日記に書いてないっぽいが)
このとき、後述するMD(MountedDevices)修復法を試せばよかったのだが、焦って修復インストールをかけてしまう。
その結果、なんとか修復はされたが、OSドライブのドライブレターがDになっていた。
他のドライブならまだMD修復法でなんとかなるのだが、OSドライブ(普通はC)の場合はそれ以外にも書き換える部分が多すぎるので、安定稼動にこぎつけるのはほぼ不可能である。
仕方が無いので1ヶ月前のバックアップから書き戻して差分反映させることにした。
もし、修復インストールをかける前にパーティションバックアップを本来のバックアップドライブと別のドライブに取っていればよかったのだが、HDDを取り出すのが面倒でやっていなかったのだ。
しかし、結局差分反映させるために別ドライブにバックアップする必要があったので、「Fen」のHDDを取り出してリムーバブルHDDケースに入れ、「Naomi」を使ってCドライブだけコピー(後のドライブは修復インストールの影響を受けていないので)した。
その後、本来のバックアップ(1ヶ月前)から書き戻したのだが、やはりログイン直後に即ログアウトする現象が発生。
そこで、今度は「Fen」のHDDをUSBケースで「Naomi」に接続し、MD修復法を実行。
ここで、MD修復法について書いておくことにする。
・MountedDevices(MD)修復法 w2k/XP:ディスク管理 ブートドライブのドライブレターを変更できないのですがが元となっている。というかそれの応用。 上記の方法はWindows上から行っているが、レター変更でWindowsが起動できない場合にMD修復法を行う。 1.起動しなくなったPCのHDDを別のマシンに接続 2.レジストリエディタを起動 3.HKEY_LOCAL_MACHINEを選択 4.メニューから「ファイル」→「ハイブの読み込み」を選択 5.作業するマシンのHDDではなく、起動しないマシンのHDD側にあるWindowsディレクトリ(普通はWINDOWS、Win2000からアップグレードしていればWINNTとか)のSystem32\config\system(拡張子なし、system.savではない)を開く キー名を聞かれたら、後でアンロードする時分かりやすいような名前(ここでは「tmphive」とする)をつけておく(なんでもいい) 6.HKEY_LOCAL_MACHINE\tmphive\MountedDevicesを開く 7.右ペインの「\DosDevices\○:」(○はCとかD)をリネームしていく(右クリック→「名前の変更」) このとき、どのレターを何に変えればいいかは経験と勘…? 私はバックアップしてから一旦修復インストールをかけて、ドライブが何に変わるか調べてからバックアップ書き戻すという手を使った ただ、バックアップの方法、あるいは書き戻す時の方法によってはまたレターが変わってしまう可能性もある 8.書き換え終わったらHKEY_LOCAL_MACHINE\tmphiveを選択してメニューから「ファイル」→「ハイブのアンロード」を行う 9.HDDを元のマシンに戻し、セーフモードで起動してレターが戻っているか確かめる とりあえずCドライブさえ戻っていれば成功である。C以外がずれていた場合は上のリンク先にある方法で直せるし、下手に弄って正常なレターまでずれてしまっては意味がないからである |
そして、MD修復法によってドライブレターが戻り、ログイン可能になったので、一時バックアップからお気に入りやメールのデータを書き戻した。
基本的に自分で作ったデータやダウンロードしたデータはCに置かないので、それほど書き戻す量は多くなかった。
そして、ここまでで相当時間を食っていたが、本来の目的であるフルバックアップを実行。
「Naomi」については「Fen」修復中に平行して行い、「Sephie」はアップグレード時にメインHDDをバックアップに転用したので今月は行わないことにした。
しかし、ちょっとしたコマンドミスの影響がこれほど大きくなるとは…。タイプミスや安易なコマンド実行には要注意だな。
そういえば以前にも「Miria」にfsckかけてふっとばしたことがあったな。ディスク操作系のコマンドは要注意100だな。
●UPS導入その1
新しいUPS、APC ES 725をやっと導入。
今までのUPS配分は
APC ES 500:「Naomi」、ルータ、スイッチングハブ、HDDレコーダ、蛍光灯(非バックアップ)
PCM WOW-300S:「Sephie」、BフレッツONU、ディスプレイ、プリンタ(非バックアップ)
となっていて、当初は「Sephie」にES 500を回した際にルータやスイッチングハブも「Sephie」側に回そうかと考えた。
しかし、ES 500のバックアップコンセントは3つしかないので、タップなどを使わない場合「Sephie」、ディスプレイ、ONUで埋まってしまうことが判明。
ディスプレイをES 725に移動しても良かったのだが、結局今までと同じ配分で行くことにした。
一つだけ違う点は蛍光灯をES 725のバックアップコンセントに接続したことだが、これは停電時に使えると便利かもしれないので一応接続してあるだけで、使うことはないかもしれない(PCの起動可能時間が減るので)。
そして、管理用ソフト(ES 725に付いていたものは最新版だった。「Naomi」はES 725到着前に最新版を入れておいた)を入れ、いくつか設定(警告BEEP音を常時に、ランタイム設定をランタイム重視(ぎりぎりまでねばる)にし、シャットダウン開始残量を5分に)を行って導入完了。
どちらもAPCのUPS。しかも同じシリーズのグレード違いなので形も似ている。
(2007/8/22)当初、写真はなかったのだが、一応導入風景ぐらい載せておこうと8/22に撮影。
あとは実際にUPSのプラグを抜いて動作テスト。「Naomi」は休止状態に問題はなかったので省略し、「Sephie」だけ行ったが、無事休止状態になった。
負荷については、バッテリー100%においてES 500がランタイム16分、ES 725がランタイム14分と表示されているので、程よい配分になっているらしい。
ただ、少し気になったのは、ES 725のコンセントが少し変(差し込みづらいわりに接触が外れやすい)ということだ。
動作テスト中にOAタップ(HDDレコーダー、ルータ、スイッチングハブを接続し、まとめてES 725に接続している)に少し触れてしまっただけでHDDレコーダーがリブートしまくっていた(幸いにも録画や再生をしていなかったが、HDDによくないことには変わりない)。
とはいえ、触れなければ特に問題はない(まさに「触らぬ神に祟りなし」だな)ので、気にしないことにしよう。
…はっ、地震のときに僅かな揺れが加わっただけでリブートしてしまうかも…。
コンセントが固すぎたり緩すぎたりといった状態を改善するような小物はないものだろうか?
それはさておき、今回の新UPS導入で今まで使っていたWOW-300Sが余ったのだが、これを「Miria」に使おうと考えた。
UPSなんて相性問題やドライブレターなんてないだろうし、簡単だろうと思っていたのだが…。次回に続く。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
「Fen」修復と「Miria」へのUPS導入の疲れか、一日中寝まくっていた。
●UPS導入その2
余ったUPS、WOW-300Sを「Miria」に導入することにした。
「Miria」をシャットダウンさせ、WOW-300Sに「Miria」とディスプレイを接続し、シリアルケーブルを「Miria」に接続…で、できない!!
なんと「Miria」のM/BにはCOMポート(シリアルポート)が付いていなかったのだ。
だが、「Sephie」5thのM/Bにもシリアルポートは付いていない。
では、アップグレード後UPS入れ替え(ES 500はUSB接続)までどうしていたのかというと、以前別のM/Bに付属していたCOMポートブラケットを接続して使っていたのだ。
そこで、「Miria」にもそのブラケットを接続しようとしたのだが、なんとピンアサインが違う。
「Sephie」のM/B(GIGABYTE GA-MA69G-S3H)の場合、ピン数は10(実際にピンがあるのは9)で、1ピンから順にNDCD-、NSIN、NSOUT、NDTR-、GND、NDSR-、NRTS-、NCTS-、NRI-、ピン無しとなっていて、ブラケットのほうも10ピンの部分は塞がっている。
一方、「Miria」のM/B(Albatron KM51G)の場合、ピン数は14(実際にピンがあるのは12)で、1ピンから順に+12V、+5V、-12V、ピン無し、DCD0-、SIN0、SOUT0、DTR0-、GND、DSR0-、RTS0-、CTS0-、RI0-、RI-となっていた。
仮に+12Vなどの電圧部分を無視したとしても、14ピン(ブラケットでは10ピン)部分が合わないので物理的に接続できないのである。
しかし、それ以外ではNDCD-はDCD0-、NDSR-はDSR0-というように対応していると考えられ、RI-のピンさえなんとかすればうまくいくのではないか?と考えた。
そこで、少し悩んだ挙句、禁断のピン曲げをやってしまった。
-12Vピンが曲がっているのが見える。もうこのM/Bは売れないな。
(2007/8/22)この写真も撮影したのに掲載するの忘れてた。忘れずにデジカメチェックするようにしないと…。
結局RI-だけ曲げただけではだめで、-12Vも曲げる必要があったのだが、うっかり+12Vと接触したまま電源を入れてしまい、保護装置が働いて起動しないというポカをやらかす。
その後、-12Vを修正し、ショートを解消して電源を入れたのだが、/dev/ttyS*のどれにアクセスしてもI/O errorとかNo such device or addressとかになってしまい、UPSに接続できない。
ここで、もしやCOMポートが無効化されているのではないかとBIOSを探るとBINGO。ということでCOMポート有効化。
しかし、Autoではうまくいかなかったので、アドレスとIRQが固定された項目(2F8/IRQ3など)を選択することで有効化を確認。
だが、ポートは生きている(I/O errorなどが出なくなった)ものの、なぜかUPSと接続できない(Linux用UPSMONを使用)。
テスト用にWindows XPとUPSMONを入れて確かめてみるが、やはり接続できない。
RI0-とRI-をショートさせてみるなどいろいろためしたが、結局やはりピンアサインが違うためうまくいかないという結論に達した。
そこで、シリアル→USB変換ポートでも買うか?と思って探すが、Linuxで動作実績のあるものは消費税・送料込みで4000円ぐらいはする。
「Miria」にはこれ以上金をかけたくないので、少し悩んだが、モニタリングソフトなしでいくことにした。
「Miria」はSETI@home専用機で、重要なデータは置いていないし、SETI@homeのデータも1日ごとにバックアップしているので万一停電が長く続いてUPSが保護しきれずにクラッシュしても被害は最小限に抑えられるからである。
…と思ったのだが、やはりUPSの交換時期推測などのためにバッテリ残量などは見ておきたいと考えた。
そこで、なんとUPSのケーブルを「Naomi」に接続するという暴挙に出た。
最初、UPSを「Miria」近くに設置したまま、余っていたシリアルケーブル(ルータに付属していたもの)を継ぎ足して接続したが、ノイズが原因なのか接続できなかったので、UPSを移動させ、「Miria」とディスプレイの電源ケーブルを通路に這わせる(躓いたらやばいが)ことで解決。
あとは「Naomi」にUPSMONを入れ、シャットダウンまでの時間を9999秒、UPS停止までの時間を99分に設定。
「バッテリ電圧低下時シャットダウンまでの時間」だけは普通に入力できなかったので、WinOperator(API Viewer Acceleに付属している、ウィンドウオブジェクト弄りツール。最小化や最大化はもちろん、モーダルダイアログを無理矢理モードレスにしたり、書き込み不能なインプットボックスに書き込んだりできる非常に便利なツールである。ちなみにAPI Viewer Acceleは現在配布が終了(本家サイトもVectorも消えている)していて、Internet Archiveから何とか入手できる状態なので、まだ持ってなければ手に入るうちにぜひ入手しておくべし!)で無理矢理書き換えたが、一応反映されている(設定を閉じて再び開いても初期化されていない)。
実はそんなことしなくても、設定ファイル(V2.8の場合OSドライブのDocuments and Settings\All Users\UPSMON\UPSMON.ini、インストールディレクトリのUserPath.datに書かれている)を直接弄ればOKっぽいことが判明。まあ、WinOperator危機の告知にもなったからいいか。
これで見事「Naomi」からUPSの状態を見ることができるようになった。焦って変換アダプタ買わなくて良かった。
さらに、もし私が自宅にいればバッテリがやばくなってきた時点で手動で「Miria」を落とすこともできるだろう。
(実は自動で落とせないかと思ってコマンド実行機能を使おうとしたが、コマンド実行はシャットダウン開始時にしか使えない(マニュアルにはそもそもサポートしていないと書いてある。だが「Sephie」で使っていたので使えることは知っていた)ので、使おうとすると「Naomi」も落とさなければならないので却下)
そして、やっと今回の「Sephie」アップグレード&信頼性向上計画(信頼性向上の内訳はUPS追加導入による電源強化と、「Sephie」のバックアップHDD容量アップによるデータ保護強化)が完了した。
しかし、資金だけではなく時間と労力もかなり消費してしまったな…。
でも、ゆっくり休んでる時間はないので、明日から必死にやっていかないといけないな。
はっっ!もう4時越えてるっっっ!!うわーやう゛ぁーい!!!ってことで風呂入ってねまs
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
↑の更新コミットしたあと結局徹夜して昼頃まで起きてしまった。
●あがが
やばい、開発進んでない、卒業研究進んでない、体力づくり停滞してる、昼夜逆転してる、約定期blogも停滞してる、MOOPSも停滞してる、自鯖6周年企画決まってない…orz。
あぁぁ、このままdrdrと8月が過ぎてしまうのか。と書いておくとそうならないかもしれない(USO800?)ので書いておく。
とりあえず今日(もう16日だけど)は早く寝て、体調を整えることにしよう。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
ニコニコ動画よりむしろSETI@home/BOINCとSpeedFanばっかりクリックしてしまう。鯖状況はどうなってる?更新はまだか?
まあ、私がやきもきしても状態は良くならないわけだが。
●開発
時間がかかる処理の部分にキャンセル機能付きプログレスバーを入れた。
やはりバーがあるのとないのとでは気分的に随分違う。
また、ループ処理する時はHSPと違ってVC++ではメッセージ処理をしてやらないとGUIがフリーズする(HSPはawait/waitだけやってればメッセージ処理は自動でやってくれる)ので注意だ。
あと、CSV書き出しを行う部分でオンメモリで文字列連結せずに1行ずつファイルに書き出すようにした。
長い文字列処理はHSPでなくても重いんだよなぁ。
自前で終端記憶しつつchar配列を直接弄れば(文字としてではなくバイナリとして扱うということ)速いんだろうけど、アクセス違反とかメモリリークの危険性があるのであまりやりたくない。
●EVEREST
先日の「Sephie」大規模アップグレードで、SpeedFanで温度や電圧が読めなくなってしまった(K8コア温度とHDD SMART温度のみ読めている)。
そこで代替になるソフトを探していたところ、EVERESTというものを発見。
以前から何度か名前は目にしていたのだが、モニタリング以外にベンチマークなどもできるらしい。
昔はフリーソフトのHome Editionがあったらしい(今でも手に入る)が、現在はシェアウェアのUltimate Editionになっている。
しかし、30日間かつ機能限定で試用できるようになっているので入れてみた。
その結果、温度や電圧がばっちり読めている。
そして、SpeedFanで読めない理由も判明。なんとISAバスのアドレスが0x228になっている。
SpeedFanはISAバスの0x290を決め打ちで読んでいるため、0x228という変則的なアドレスに対応できていないらしい。
(SpeedFanは「Sephie」のM/B(GA-MA69G-S3H)に搭載されているセンサーチップ(IT8716F)自体には対応している)
ということで、ひとまずSpeedFanはISAバスアドレス対応待ち。それほど難しいことではないし、すでに要望も上がってるらしいので8月中には対応βでるんじゃないかな。
それはさておき、EVERESTのほうは、なんとレジストリやWMIにも計測結果をエクスポート可能というかなり多機能な外部アプリ連携機能(他に直接共有メモリから読み出すこともできる)を持っていることが判明。
つまり、この機能を使えば自分でログ記録ツールを作ることができるので、バイナリ形式でログを吐き出すようにすればグラフ作成ツールのCPU使用率を減らすことも可能なわけだ。
で、値段は$29.95(Personal License。無期限試用と12ヶ月のサポート、1ライセンス1台)…。
迷うなぁ。Sandra買ってなければ即買い決定なんだけどな。
しかし、買うとなったら全マシン(「Sephie」以外に「Naomi」と「Fen」の合計3台、「Miria」はLinuxなので除外)入れてSpeedFanから乗り換えたくなるかもしれないし(ちなみに、「Fen」のACPI CPU温度もMobileMeter並の精度で読めている)。
とりあえず試用期限内にログ記録ツール作ってテストしてみるか。で、8月以内にSpeedFan対応しなかったら「Sephie」だけ乗り換え、対応したら「Fen」に導入とか。
…でも、そもそも私すら見てないような温度・電圧・ファン回転数ページのために金かけるのって無駄だよなぁ。
いや、なんとなく楽しいからいいの!(ぉ)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
うおぉ、そろそろ夏バテ来たかも…。まだだ、まだ来るんじゃない!!
●大暴落
といっても株や為替のことではない。
SETI@homeのクレジットがかなり落ちている。
しかし、どうやら私だけではなく全体的に落ちているようだ。
やはりMultiBeamに切り替わった影響だろうか?
あと、またSETI@homeの鯖がちょっと不安定になってる気がする…。
そういえば冒頭の為替の話だが、かなり円高になってるらしい。
海外製ソフト買うなら今のうちか?あるいは寄付とかも。
そういえば今気づいたがSpeedFanも寄付できるんだな。考えておくか。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
そういえば自鯖6周年企画何にするか全く決まってない。こうなったらニコニコ組k…うわなにするやめqwsdふじこ!
●体力づくり2
4000@31:09
平均2.1402/sec
ここのところ少し夏バテ気味というか単なる生活乱れというかで停滞していたが、久しぶりに復活。
ところで、体力づくりが停滞していたせいでアニメも溜まっていた。
今回の体力づくりで見たのは8/5放送のななついろドロップスで、まだ8/12の大江戸ロケットとななついろドロップスが残っている。
ちなみに、ハヤテのごとくやきらりんレボリューションなどのBSデジタル放送はなぜかリビング(ウォーキングマシンが設置されている)にあるレコーダーでは表示がおかしくなるので体力づくり用にストックしてない。
●開発!?
バイトで受けてるほうではなく、私的なプログラムを開発。
といってもMOOPSや卒業研究ではなく(おい、卒業研究やれよ)、新しいグラフ化ツールである。
今までのグラフ化ツールはテキストから読み込んでいたため遅かったので、バイナリから読み込むようにする予定。
もちろん、SpeedFanなどはテキストのログを吐くので、それをバイナリに変換するプログラムも作る必要がある。
当然だがこれが遅かったら全く無意味なので、その辺は工夫して高速化・軽量化をする予定。
具体的には最新ログの先頭と末尾の行だけ読んで、先頭行から項目を、末尾行からデータを取り出してバイナリログをシフト(一番古いデータを削除、あとは最大件数-2のデータをコピー(移動)、そして末尾に新しいデータを追加)すればOKのはず。
他に新グラフ化ツールの機能としては、シャットダウンや再起動でログが切れても、グラフ上で正確な位置にプロットできるように日付情報を利用してプロット位置を決めるようにするつもり。
結構いいのができたら公開するかもしれない…マニュアル整備面倒だからAT YOUR OWN RISKでよろwwってことになりそうだが。
●EVERESTの落とし穴
とりあえず起動させてログを取っていたのだが、ふとタスクバーを見ると9時間ほどCPU時間を食っている(起動日数約3日で)。
SpeedFanはわずか20秒程度なのに、である。
どうやら片っ端から出力する(レジストリ、WMI、テキストログ)ようにしたため、負荷が大きすぎたらしい。
そこで、使わないレジストリ出力を止め、WMIとテキストログを5秒間隔から30秒間隔にしたところ、随分負荷が減った。
それでもSpeedFan(こっちは3秒でログ出力をしている)には到底及ばない。やはりEVERESTでログ取りは難しいか?
まあ、もし常用するようになったらテキストログ出力を廃止(あるいはもっと間隔広げる)してもいいかもしれない。
蛇足:EVERESTだけに「落とし穴」じゃなくて「クレバス」かも?
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
らき☆すたのこなたじゃないが、スポーツの延長は面倒でしかたがない。
しかも今使ってるレコーダーはアナログ放送の延長には対応してないし(それどころか番組表も使えない。デジタル(BS、地上、CS)は両方OK)。
●開発
今度はバイトのほうの開発。
制限緩和の影響で使えなくなっていた旧バージョンの機能をほぼ修復。
次は新バージョン固有の機能だが…結構面倒そうだ。
8月中に終わるかなぁ?
●SpeedFanハック
EVERESTでISAアドレスが0x290だと判明したので、なんとかしてSpeedFanのデフォルトISAポートを変えて動かせないかと考えた。
そこで、バイナリエディタでexe(SpeedFan 4.33 beta9)の中身を0x90 0x02(0x290をリトルエンディアン格納した場合の並び)で検索し、片っ端から0x28 0x02に変えては起動を繰り返す。
そして、ついに正解の場所を発見。
0x001DAC76-0x001DAC79の4バイト(I/OアドレスってWORDだっけ?でもプログラム上ではDWORD扱いなのかも)がISAのアドレス(デフォルトの?それとも全環境固定か?)らしい。
その部分を書き換えることで暫定対応版(IT8712Fとして認識、本当はIT8716F)になった。
Fan回転数は取れないが、温度と電圧は取れている。
さらに、EVERESTと比較してTemp1がAux(ケースか?)、Temp2がM/B、Temp3がCPUと判明したのでそのようにラベルを変更した。
これで正式対応までしばらくの間なんとかなるかな。
注意:
これはexeファイルの改造を勧める記事ではありません。あくまで「このようにしたら、こうなった」という事実を書いているだけです。
実行する場合は自己責任で行ってください。
もし、行った結果システムのクラッシュやデータの損失が起こっても私は責任を取れませんし、作者に文句を言うことも絶対に止めてください。
…と、お約束だが書いておく。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
(バイトの)開発の息抜きに…(私的な)プログラミング(ぉ)。
●アニメ消化
体力づくりが減っているため未視聴アニメが減らないので。
8/12の大江戸ロケットとななついろドロップスを視聴した。
内容は省略(ぉ)するが、大江戸ロケットは一瞬録画ミスったかと焦るような演出だった。
だっていきなり駅に電車だからね。ラブ☆コン録画したかと思った。
ところで、体力づくりといえば今年は1回も水泳に行ってないのだが…まあ、9月も休みだから1回ぐらいは行きたいところ。
むしろ、夏休みの子供がいない分9月のほうが狙い目かもしれない。
もっとも、9月は卒業研究や開発(もし8月中に終わらなければ)の追い込みで多忙すぎて行っている暇がなくなりそうだが。
●グラフツール開発
本当は19日も少しやったのだが、同じタイトルの記事を続けたくなかったのと、進捗的には20日がメインだったのでこっちに統合。
一応バイナリログを読み込んでグラフ化するところまではほぼ完成。
あとはgcopyで結合し、hspcvでPNGやJPEGに保存する機能を実装すれば完成。これはさほどかからないだろう。
もっとも、バイナリログを書き出す(変換または直接記録)ツールを作らないと使えないので意味がないのだが。
とりあえず完成したらベンチマークを行って、本当に軽量化されているのか確かめないといけないな。
これで重くなっていたとしたら、私の貴重な時間は無駄だったということに…。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
今日は大学院の合格発表。結果は…記事でどうぞ(この冒頭文書いてる時点ではまだ不明なので)。
●大学院入試結果
入試といっても筆記試験は免除で面接のみだったのだが、21日に発表されるということで行ってきた。
実際には郵送で結果が来るので、ケンタッキーとコミック購入目当ての外出というのが本音(ぉ)。
大学に到着し、システム工学部A棟のロビーに入ると、合格者が貼り出してあった。
…あれ、自分の受験番号何番だっけ?(ぉ)ああ、72104か。
で、結果はというと…
しかし、8/10の記事でも書いたように、私のミスで違うクラスタに入ってしまっているんだよなぁ。
ちなみにこの知能メディアシステムは合格者28人、所属研究室のクラスタである環境社会情報は10人(全クラスタ中最少)である。
うーん、多いほうから少ないほうだから変更可能かなぁ?
まあ、入学書類が来るのは来年2月なので、まだ何もできないわけだが。
●海老カツ終了近い?
帰りにケンタッキーで海老カツツイスターを買ったのだが、帰宅してレシートを見ると「てりやきツイスター」。
だが、買ったのは海老カツツイスターで間違いなかった。一体どういうことだ?
もしかして海老カツが在庫のみになっていて、POSから消されているのだろうか?
しかし、終了間際になると注文カウンターにおいてあるPOPからも消えている(で、旧POPから切り取って貼り付けてある)はずなので、単なる打ち間違いかもしれない。
それにしても、今回は海老カツ長いな(今までもこんなものだったっけ?)。もう3ヶ月は続いてる。このままレギュラー化しないかなぁ?
●桜切断
下古沢駅にある桜の枝が切られていた。
この桜は随分昔からあるらしいので、かなりの樹齢だと思われる。
しかも、父の話では昔枯れかけたので接ぎ木して延命したのだとか。
そのため、枝が痛んでいた可能性もある。
あるいは、メインの枝に栄養を集中させるための思い切った剪定かもしれない。
いずれにしろ、邪魔なので切ったということはないはずだ。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
W-ZERO3まだ連絡来ないなぁ…。
こぼれネタワード:21日に買ったコミック読んだ、ネギパバインダー3発注、楽天の罠であずまんが発注
↑記事にしようと思えばできるけど、面倒なのでキーワードだけ(ぉ)。
●体力づくり1
またエアロバイクで。
30分で14.2kmぐらい負荷あり、その後17kmぐらいまで無負荷でクールダウン。
●グラフツール作成
ほぼ完成。
あとはログ変換・書き出しツールを作るだけだな。
もっとも、そっちのほうが負荷が大きいので、これからが勝負なのだが。
ところで、HSPのメモリノートパッド命令は行が多いと末尾のほうが遅くなってくる(noteget t,20000とか)。
特に、末尾100行を読み出すといった場合は非常に時間がかかってしまう。
このような場合、まずnotegetで取り出し開始行を取得→instrで検索→strmidで別のバッファに底から末尾までをコピー→そのバッファをnoteselして100回noteget(ただ100行取り出すだけならこれは不要、しかし行を解析するためには必要)とやると、驚くほど速くなる。
参考までに、「Fen」でSpeedFanのログ(25998行)を末尾100行と末尾1000行取り出す(+各行にnotegetする)場合で比較すると
100行 | 1000行 | |
普通にnoteget | 1701ms | 14524ms |
上記の方法でコピーしてからnoteget | 33ms | 148ms |
このように差は歴然。
ちなみに、instrではなくpeekで自前行カウントした場合は100行で989ms、1000行で1160msと、取り出す行数が増えてもあまり増加しない一方で取り出し自体にかかる時間はinstrを使う場合よりも多くなってしまっている。
また、strmidの代わりにmemcpyを使うと、ほんの少し速くなるが、あまり変わらない(しかもバッファオーバーフローなどに注意する必要がある)。
とにかく、この方法を使えばテキストログを効率よくバイナリログに変換できそうなので、23日あたりさくっと完成させたいところである。
蛇足:タイトルが同じのが続かないように「開発」から「作成」に変えてみた。まあ、1日開いてるので別にいいんだけど。
そもそもバイトの開発なんかは全部「開発」なわけだし。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
あれ?何やってたかなぁ?(ぉ)いや、ログ変換ツール作成以外で。
●ログ変換ツール作成
SpeedFanのログ(TSV、タブ区切り)から自作グラフツール(nGraph2)の独自ログ(バイナリ、unsigned int64+doubleの配列)に変換するツールのテスト。
22日に調べた方法を応用して時間削減を試す。
とりあえず末尾から100行ほど取り出すところまでやって終了。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
なんか私的開発ばっかりやってるな。
●SpeedFan対応した
GA-MA69G-S3H、というかAMD690G/ATI SB600なM/Bに対応したSpeedFan 4.33 beta18が出た。
ってことで19日の記事は早くも御役御免。ひそかに公開(このサイトでは書いていないが、SpeedFanのバグトラッカに書いた)していた非公式パッチも削除。
しかし、相変わらずセンサーチップがIT8716FではなくIT8712F(表示はIT8712F(J)となっている)と認識されている?
でも、検出ログに「SuperIO Chip=IT8716F」という記述があるので8716の存在は認識しているようだ。
もしかして8716のほうはI/O全般、8712が温度センサー部分ということなのかも。
センサーの割り当てはハックバージョンと変わらず、Temp1がAux(ケースか?)、Temp2がM/B、Temp3がCPUのようである。
しかし、M/Bメーカー純正のEasyTune5はAuxをSystem(M/B)として表示し、Temp2に相当する温度を表示してくれない。一体なぜ?もしや未対応なのか?
●開発打ち合わせ
橋本駅近くの喫茶店で打ち合わせ。
データ検索機能をどうするかといったことについて打ち合わせした。
そういえばここ数日手をつけてないな。8月中には無理っぽい。
そろそろ卒業研究にも手をつけないとまずいことになりそうだし…。
●グラフツール・ログ変換ツール作成
グラフツールはほぼ完成と書いたが、個別グラフの書き出し処理や目盛り文字の表示などの細かい点を実装・修正。
また、ログ変換ツールと組み合わせて、SpeedFanのログから変換してグラフ化する所までテスト。
1日(86400秒)分のログ(SpeedFanは3秒ごとなので約28800秒)を5分ごとに平均して変換するのにだいたい10秒程度かかっているらしい(awaitなし)。
一方、グラフの描画は750ms程度とかなり速い。やはりバイナリログの威力は絶大だな。
あとは、ログ変換ツールが5分ごとにグラフツールから呼ばれた時、全部のログを変換しなおすのではなく、最終5分分だけ変換する処理を追加すれば、常用に耐える負荷になると思われる。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
W-ZERO3連絡来ないなぁ…と思っていたら思わぬ事態に!?
ところで、ミヨリの森放送されたがまた8ch(関西テレビ)かよ。我が家では8chはクオリティがワースト3に入る(というかワースト1じゃないだろうか)劣悪状況なんだよなぁ。
時をかける少女もそうだが、BSデジタル(できればCMのないNHK)で再放送しないかなぁ。
●ついにBINGO
ぜんぜん当たんねーぞInfoseekのBINGO!!と思っていたが、やっと当たった。
ねんがんの BINGO に とうせんしたぞ!(ぉ) |
。 |
Webメール利用でボーナスナンバーがもらえるようになっていたので、実質当選確率に2倍補正がかかっていたことになる。
しかし、以前当選者数3倍キャンペーンの時には全然当たらなかった。
ちなみに、ラッキーサーチと楽天ラッキーくじも当たった。
さすがにInfoseekラッキーくじは当たらなかったが。
しかし、これで夏休み終了(9月末)までの運を使い果たしてしまっていたらどうしよう。
●W-ZERO3修理キャンセル!?
18:40にウィルコム修理センターから電話が。
なんと、W-ZERO3の修理がキャンセルになっているのだという。
一体どういうことなんだ?寝耳に水だぞ!?
とりあえず調べておいてもらうことにした。
もしかして8/11の電話で再調査依頼したのが伝わってなかったのだろうか?
と思っていたのだが、実際には修理完了していたということが8/27に判明。
停滞のせいでネタが台無しだな。録り溜めしてるアニメの最終回ネタバレされるようなものだ。
●グラフツール完成
SpeedFan用ログツールと共にコンパイル(exe化)してテストし、バグ(最小最大の差が極小のときに無限ループするなど)や機能追加(グラフの中央値設定)を行った後実戦投入した。
なんといっても目玉は高速化だが、まだもう少し動かしてみないと分からないが効果は出ているのではないかと思う(処理量が違うので以前とは単純比較できない)。
あとは設定がコマンドラインからiniファイルになったことで、ちょっと設定を変えたくなったときでも作った私ですら難解なコマンドラインを弄る必要はなくなった。
細かいところでは起動中に生成するpidファイル(グラフツールのプロセスID(PID)を記録)を、以前はngraph-1000.pidのようにPIDをファイル名にし、中身をコマンドラインにしていたのを、ngraph-X_graph_ngraph.ini.pidのようにiniファイルのパスを使ったファイル名にし、中身をPIDにした。
これでファイル一覧を見ただけでどの設定ファイルを参照しているグラフツールが起動しているか分かるし、ファイルを読んで「taskkill /PID 中身」を実行するプログラムを作れば一発終了させることもできる。
これでひとまずグラフツールの開発は終了…といきたいところだが、実際にはSpeedFan以外にもグラフ化しているデータ(室温、SETI@home進捗、「Miria」のlm_sensors)はあるので、それらも新グラフ化ツールでグラフ化できるようにしたい。
しかし、それぞれのロガー(全部自作)を作り変えるのは手間がかかるので、SpeedFanのログ変換ツールを応用した共通のログ変換ツールを作ってしばらくそれでしのぐことにする。
ちなみに、自作ロガーのログとSpeedFanのログの相違点は区切りがタブ(TSV)かカンマ(CSV)かというの他には日時部分だけで、SpeedFanが0:00からの経過秒数なのに対し、自作ロガーは「2007/08/26 00:00:00」のような形式になっている。
そのため、SpeedFanのログ変換ツールを少し弄れば対応できそうである。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
なぜかやたら眠かったので7時ごろ起きて朝食食べてから再び寝た。
●体力づくり2
4000@30:48
平均2.1645/sec
8/19のななついろドロップス使用。
うーん、最近休みがちになってる…。
●Impress巡回&リアルタイムネタ投げ
久しぶりにWatch(Internet、PC、ケータイ)を巡回して、約定期blogに何本かエントリを投げた。
本来はこうやってリアルタイムで投げるべきだよなぁ。
積んでおくと、ついつい停滞してしまい、ネタの鮮度が落ちて使い物にならなくなってしまうからね。
さて、これを契機に約定期blogの停滞脱出となるか?
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
今日も眠くて昼まで寝てしまった(寝たのは1:40頃)。
●体力づくり1
30分で14.0kmぐらい負荷あり。
8/26の大江戸ロケット使用。
●W-ZERO3修理完了?
体力づくり中に電話があったのだが、ノイズキャンセリングヘッドホンつけてTV見つつやってたので気づかず(ぉ)。
終わってから気づいてこちらから電話。
勝手にキャンセルされてた件は、向こうの勘違いで、実際には修理完了だったらしい。
しかし、結局症状は再現しなかったらしい。
一応バッテリ端子の掃除とSPC(だったっけ?)FPCケーブルの交換をしたとのこと。
バッテリ端子は関係ないだろうが(そもそも接触不良ならバックライトすら点かないはずだし)、SPCFPCケーブルは液晶と本体を接続しているケーブルらしいので、もしかするとそれが断線していたという可能性はある。
ひとまず今回は修理完了ということで、8/29にこちらに届くように送ってくるという話になった。
頼むからこれで直っていてくれ(もし直っていれば、原因がケーブルにあったということになる)。
●ログ変換ツール完成
自作ツールの吐き出すログ(日時がyyyy/mm/dd hh:nn:ss形式でCSV)の変換ツールが完成。
テストしていくつか問題点を修正し、実戦投入。
追記機能のおかげでそれなりに軽量だが、やはりネイティブでバイナリログ対応(つまり現在テキストログを吐いている自作ツールをバイナリログに対応させる)したいところだ。まあ、それは重要課題が片付いたらということで。
これでひとまず終了…と思いきや、新たなバグが発生。
次回に続く。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
早めに寝ようと思ってたのにグラフツールのバグつぶしで時間食ってもう3:20…まだ日記コミットが残ってるうぅ。
↑これは8/28超早朝の話。そして今は8/29 2:36…まだ日記コミットが残っt(ry
●グラフツールバグ→修正
グラフツールにいくつかバグ発覚。
まず、X軸の最小値側の目盛り線が1本少なくなるバグが発覚。
これは目盛り線の位置を決めてから描画までに1間隔分足してしまっているのが原因だった。
そして、なぜか特定の条件でY軸の目盛り線が全く引かれなくなるバグが発生。
これは原因が分からなかったので、デバッグモードで長時間動かして原因を探ることにした。
他にも(グラフツール以外に変換ツールに起因する問題も含めて)こまごまとした気になる点はあるのだが、バイトの開発や卒業研究のほうがやばいのでそれらについてはちょっと保留ということで。
(日記コミット後、Zzz…。)
起きると「Naomi」と「Fen」でデバッグモードのアサーション(HSPにそんな機能はないので、当然自前で作ったバグ検出処理)に引っかかっていた。
ログを見ると、なんと時間以下を切り捨てた時刻(例えば1:23:45→1:00:00)のほうが切り捨てる前よりも未来になってしまっていた。
正確に言うと、2007/8/28 4:01:27 JSTを切り捨てた場合、切り捨てた時刻は4:00:00なのに、なぜか切り捨てる前の時刻が3:57ぐらいにずれていたのである。
その時刻だと何回やっても再現するので、さまざまな場所で時刻をダンプして調べたところ、原因が発覚。
HSPでは64bit演算ができないので、doubleに変換して大小比較や加減乗除を行っている箇所があるのだが、その変換時に引数をconstとして扱うべきところを下位32bitの最上位ビットを強制的に0にしてしまっていたのだ。
要するに、FILETIMEに変換した時に下位32bitの最上位ビットが1となるような時刻でバグが発生していたことになる。
これを修正したところ、上記の時刻でもバグが発生しなくなった。
ちなみに、「Sephie」でアサーションに引っかかっていなかったのは、ビット損失現象が発生する時間帯が429.5秒ごとに214.7秒(つまり、214.7秒ごとに発生する時刻と発生しない時刻が起きる)であり、かつ、n時0分からn時3分34.7秒までの範囲でしか切り捨てた時刻より過去にならないため、運よく避け続けていたらしい。
ということでメジャーなバグはつぶしたので、当分このままでいけそうだ。
●月食
26日あたりに新聞で月食があるのを知ったのだが、どうも天気が怪しいということで観測できるか不安だった。
当初27日に望遠鏡を物置から探してこようと思っていたが、もしかすると雨になるかもしれなかったので28日になってから探すことに。
本体と三脚はあっさり見つかった(場所を知っていた)のだが、接眼レンズが見つからず焦る。
しかし、最終的に接眼レンズも発見できたので設置開始。
随分前に買ってもらったのだが、数回使ったきり物置の隅に放置されていた。 結構立派なものだが、環境が悪かったせいでかなり傷んでいる。 |
すでにメーカーサイトにはスペックがないのだが、D=80mm f=910mmと書いてある。 たぶんこれ(ビクセン 80M)がそうだと思われる 当時だと10万以上はしただろうか。もっとも、PCにかけた金に比べたら1/30以下なのだが。 |
ところで、私はもちろんこの望遠鏡で撮影するためのオプションパーツなんて持っていないので、接眼レンズにデジカメのレンズを押し付けて無理矢理撮影するしかない。
ということで、性能チェックを兼ねてうまく撮影できるかテスト。
天体用の望遠鏡なので、上下と左右が逆(要するに180度回転)になる。この写真は補正済み。 ※厳密には天頂ミラーを90度回転させて使ったので、上下反転状態になっていた。 |
これは参考までにデジカメ(PENTAX Optio M30)の最大望遠(光学+デジタル、12倍)で撮影したもの。 調べたところ、左の写真はこれのちょうど8倍になるようだ(ただし、望遠鏡を使用する際に少しズームをかけている)。 |
そして、19:30頃から観測開始。
ネットで見つけた京都の観測予測図を元に空を眺めていたが、19:55頃にその位置よりやや右側(南寄り)に出現。
途中、雲によって全く見えなくなることが何度かあったが、なんとかネタにできそうなものが撮れたので厳選して公開。
20:04(皆既食最大から27分、終了まで18分) これが皆既月食中に撮影できた唯一のまともな写真。 月面の模様をなんとか見ることができる。 |
20:07(皆既食最大から30分、終了まで15分) デジカメのみで撮影したもの(最大望遠)。 え?UFO?少なくとも月には見えない。 |
20:28(皆既食終了から5分) 左下のほうが少し白くなってきている。 |
20:55(皆既食終了から32分、部分食終了まで29分) この写真だとなんとなく下弦の月(月齢22.5)っぽく見える。 |
20:55(皆既食終了から32分、部分食終了まで29分) しかし、デジカメのみで撮影すると半分より右上側で内側に向かってへこむように欠けているように見える。手ブレの影響か? |
画像はすべて方向補正済み。 解像度は、望遠鏡使用のものは1600*1200、デジカメのみのものは800*600。 各時刻や観測予測図はAstroArts: 【特集】2007年8月28日 皆既月食:皆既月食の見え方を参考にした。 満月の見え方は画像:Moon.jpg - Wikipediaなどを参考にするといいかもしれない(本当は天気がよければ比較のために撮影したかったのだが)。 |
ところで、月といえばアニメで描写される月はやたら大きかったり変な欠け方をしている。
大きさについてはWikipediaによると視直径0.5度で、目から50cm離れたところにある5円玉の穴程度しかないらしい。
欠け方も、新月〜上限の月と下弦の月〜新月では縁の部分は180度ほどしかないはずなのに、300度以上あるような(つまりえぐったような)異様なものが多い(特に三日月。ちょうどトルコ国旗のような感じだが、あれは新月らしい)。
まあ、アニメで現実的な月を書いたら雰囲気や神秘性が壊れてしまうからなんだろう。あるいは地球に似てるけど別の惑星とか。
と、最後に蛇足を付け足したところでこの辺で終了。あ゛ぁぁもう2時こえてる…。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
11時近くに郵便配達のチャイムで目が覚めた。ここ数日起床時間が昼近くだ…。
●W-ZERO3、2度目の帰還
W-ZERO3が2回目の修理から戻ってきた。
盆休みをはさんだため、1回目と違って随分時間がかかってしまった。
修理受付票を見ると、修理内容はキャンセル(コメントは「修理中止の為、未処理返却」)となっているが、コメント欄には「念の為、バッテリー端子清掃及びFPCケーブル交換?(字が崩されていて読み取れない)しました」と書かれている。それって修理じゃないんだろうか?
ところで、FPCケーブル(27日の記事では聞き間違えてSPCケーブルと書いていた(すでに修正済み))の故障事例は結構あるらしい(w-zero3 "FPCケーブル" - Google 検索)。
多くは「ボタンが効かなくなる」「タッチパネルが反応しない」「電源が入らない」などだが、液晶に線が入って映像が消えることもあるらしい。まさにBINGOな症状だ。
ということは、今回のケーブル交換で直っている可能性は結構高い。
ところで、今回は前回の修理から時間が経っていなかったからか、修理中止扱いだったからか無償というか修理費0円だったのだが、他の人の事例を見ると無償だったり有償(約1万円?)だったりと、対応が分かれているようである。
ということは、もし1回目の修理直前にポカって液晶を割っていなければタダで修理できた可能性もあるわけだ…orz。
しかし、FPCケーブルが切断される原因として考えられるのはキーボードの出し入れぐらいなので、Advanced W-ZERO3(仮称、[es]ではない)が出るまではあまりキーボードを使わないようにしたほうが良いかもしれない(あるいはゆっくり出し入れするようにするとか)…。
残念ながら症状が再発してしまったので、別の原因だったらしい(8/31)…。
●時計の電池交換
2004/6/11に購入した壁掛け電波時計の電池が切れたので交換した。
実に購入から3年以上交換せずに動いていたことになる。
単3電池2本を使用していることを考慮しても、かなり長いように思う。
ちなみに、もう一つの壁掛け時計(もう10年以上昔から使っているミッキーとミニーが描かれている時計)は単3電池1本なのだが、へたっているニカド電池を使っている為か1ヶ月も持たない。
ところで、壁掛け電波時計のほうにはアルカリ電池を使えと書いてあったが、無視して2000mAhのニッケル水素電池を突っ込んだ(ぉ)。
さて、今度の交換は何年後だろうか?
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
時間がないのにdrdrしてしまう…。
●少し開発
前回の打ち合わせで受け取ったバグリストのバグを修正。それだけ。
やばい、ほとんど進捗してない…。
そのため、31日に予定されていた打ち合わせはキャンセル(延期)ということになった。
蛇足:このネタがなかったら8/30の分は休刊にしようかと思っていた(ぉ)。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]
あ゛ぁぁ…悪いことは続くのかorz。
●停電
10:11頃停電。
今回は「Miria」もUPSのおかげで落ちなかった。
が、集計を目前にして計器類がリセットされてしまった。
ただ、直前に起きた私は外で雷鳴が轟いているのを聞いて「あ、これはやばいな」と直感し、エアコンのエコワットを読み取ったので、それだけは無事だった。
あとは飛んでしまったので、室内電力は途中計測から補間し、エアコン電力(内蔵計測)はエコワット*1.2(使用量が十分多い時の係数)で補間することにした。
●「Naoko」吹っ飛んだ
どうも「Naoko」の冷却が悪化している気がしたので、分解してファンを掃除。
その時にケーブルを傷めたのか、HDDアクセスLEDが点かなくなる。
再度キーボードを外し、ケーブルを弄ってなんとかLEDが点くようになったが、その後Norton Windoctorかけてたら突然電源が切れた。
その後、電源を入れようとしても全く無反応。一旦ACケーブルを外して再度取り付けると一瞬だけ電源LEDが点くが、電源は入らない。
…「Naoko」(VAIO PCG-U1)吹っ飛んだorz。
可能性としては、ファン掃除の際にCPUヒートシンクを外したので、再度取り付ける際に取り付けが不十分で焼きCrusoeになってしまったか、どこかがショートしたまま動かしてしまい、焼き切れてしまったかだろう。いずれにしても復活の可能性は低い…。
こうなったら中古を買うか?とヤフオクを見るも、未だにPCG-U1は6万円程度している。さすがにそこまでは出せない。
とりあえず2万円以下のジャンク2つをターゲットにしたが、もし外したら当分サブノートなしでいくことにしよう。W-ZERO3もあることだし。
…と思っていたのだが、そのW-ZERO3にも悲劇が。
●W-ZERO3症状再発
わーい、直ってなかったー♪…なわけないだろ、OгZ!!
恐れていた液晶消え現象が再発してしまった。
ということで明日またウィルコムサポートに電話しよう。
しかし、本当に逆ツンデレ(持ち主にツン)なW-ZERO3だな。今度は症状を録画した動画をCD-Rにでも焼いて添付するか?
●明日は自鯖6周年
今年は時間がなかった(ない)のであまり期待しないように。
あらかじめ言っておくがニコニコ組曲は4294967296%ありえない。
が、FLV配信になりそうな感じではある。
[[an error occurred while processing this directive]][[an error occurred while processing this directive]]