SVX日記
2008-02-02(Sat) 買い物
大方の予想を裏切って、帰りは自由席、ちょうど飛び込んできた700系に飛び乗った……のはいいが、なんと喫煙車。以前は吸ってたオイラだし、座った当初はさほど気にならなかったのだが、あちらこちらで噴煙が吹き上がると苦痛になってきた。アカン。2時間は持たん。例によって、ずっと前にレンタル(?)した「ゆれる」を観始めたトコだったのだが、席を立ってしまった。隣の車両の自由席の空きに賭ける。よかった。どうにかスベり込めた。
2008-02-03(Sun) ハイビジョンをマウントする
先週、リサイクルショップに取り置いてもらっていたテレビ台が届いた。今度のテレビは「超厚型」なので、以前に使っていたテレビ台に載らないのだ。だが、中古のテレビのために、テレビ台の買い換えが必要になって、それに数万円というのでは、いかにもバカバカしい。安い台を探して数軒のリサイクルショップを巡ったが、どうにか値段の割に悪くない台を見つけた。
狭い選択肢の幅の中で買ったテレビ台だが、コードを納める穴が上面にも空いているし、中の容積は大きいしで、結構いい買い物だった。また、これを機に、HDDレコーダとテレビをD端子ケーブルでつなぎ、プログレッシブ出力を有効にしてみた。劇的な変化は感じられないが、違うのはわかる。しばらくして戻せば、改善度合いに気づくかな。
さて、テレビ台が変わっても、イッペイは何事もなかったかのようにDVDを入れ替えている……のはいいが、何を思ったか、DVD数枚をテレビ台の下のスキマに押し込んでしまった。しかも、止める間もないほどに素早く……な、なんでぇッ!?
2008-02-05(Tue) 500系を我が手に
一発目の講習会は、昼前に早々に終了。午後の二発目までかなり時間があるので、秋葉にでも行こうかと思ったが、往復の金がもったいないので(どうせ帰りにまた通る)、田町で時間をツブそうと駅前の地図を見ると、三田の図書館を発見。寄ることに。
三田の図書館はごくフツーの図書館。とりあえず、SFマガジンが置いてあったので、ザッとバックナンバを流すと雪風の載っている号を発見。ジャムの機を鹵獲したという内容だ。フムン。しかし、いい意味で予想を裏切り続ける展開だなぁ。常に新展開の連続には驚愕だ。すげぇ。これは早く単行本で読みたい。以前に買ったハードカバーがグッドラック、そして次に買うハードカバーも雪風になりそうな感じだ。
最近、連投しているが、またもや秋月。なんとなく、PIC16F887(250円)x2、直径10mmとやたらデカいオレンジ色のLED(3つで200円)x1、オーディオアンプTA7368P(100円)x1、ロータリーエンコーダ(200円)x2、高速コンパレータLM319M(5個で100円)x1、ハーフピッチの蛇の目基板と低いピンヘッダ、つまみ各色(40円)x4、8ピンのICソケットx10。千石でハーフピッチ変換基板ICB-010(3連で340円)x2。
そして、サンコーレアモノショップで骨伝導ヘッドホン(9,800円)。ちょっと値は張るが、ちょっとした目的のために思い切って購入。ちなみに、以前にコイツを試聴した時はちょっとした感動だった。期待しすぎなければ、骨伝導ってスゲェぞ。
最後は、ヨドバシで500系のプラレール入門セット(2,180円)。前回、500系で帰省した時、オイラの親に「これでイッペイにお土産を買ってあげて」と、金を渡されたのだが、どうせなら土産の適当なオモチャではなくガツンとしたモノを、というワケで購入。
2008-02-09(Sat) パルスを数えまくる
長らくチマチマと作業を進めてきた、家庭用電源の50Hzで時計を作るプロジェクトであるが、とりあえず50Hzをカウントして時刻を表示する、というところまできた。ずっと疑問に思っていた電源の50Hzの精度であるが、脇に腕時計を置き、秒単位のズレを目視で確認した限りでは、1時間で0.5秒程度のズレが生じるようだ。
しかし、1時間で0.5秒ということは、24時間で12秒、5日で1分、1ヶ月で6分……うーむ、100円で売っている腕時計でも、平均月差は30秒程度だろうから、ちょっとイマドキの時計としては使い物にならない感じだ。でも、敢えてコレで行ってみようかな、と思う。日や季節によっても多少は違ってくるかもしれず、それを体感してみたいという気持ちもあり……
その「コレ」とは、ロータリーエンコーダ。ふたつのパルスを読み取ることで、回転方向と速度を検出するセンサだ。かなり前にアルカノイドのパドルコントローラを作ろうと思って実験用に購入しつつ、放置してあったパーツだ。
RotaryDecode
SWAP (GPIO)>A
AND A, 0000_0011b
LD (BUF), A
RR (BUF)>A ; 観測値を正規化
AND A, 0000_0001b
XOR (BUF), A>A
SUB (LAST), A ; 前回 - 今回
BIT 0, (LAST)
JP Z, RotaryDecode1 ; 不動 or 無効
SKIPRES 1, (LAST)
INC (VAL) ; 正転
SKIPSET 1, (LAST)
DEC (VAL) ; 逆転
RotaryDecode1
LD (LAST), A
messagesをみると、OOM-Killerが動いているので、何かのプロセスのリークか何かだろうと判断し、たいして気にもせず強制再起動で回避してきたが、最近、落ちる頻度が増してきて、リセットボタンを押すのがうっとおしくなってきた。特に設定をイジっていないのに頻度が増すということは、内部要因ではない可能性が高いということだ。どうにかせねばなるまい。
それ以前に、お客のLinuxサーバをどうにかすることで飯を食っているのに、自分のサーバをボコボコと落としているというのは、カッコ悪い。まさに医者の不養生なので、どうにかするコトにする。まずは、ロギングツールを稼動……した途端、都合よく、すぐ再現した。どれどれ。
なんと、バカみたいにhttp要求を連続(秒間20とか)で投げ続けるアホがいた。rubyのcgiプロセスが溢れかえっていて、落ちる寸前にはロードアベレージは数百に達している。tdiaryはかなり重く、メモリも食うので、秒間1アクセス程度にしてもらわないと困るんだがなぁ。どうしようかなぁ。いくつか案を考える。
- アホのIPをハジく
- Apacheに負荷制御モジュールを入れる
- ユーザの同時プロセス起動数を制限する
- iptablesに連続アクセス防御ルールを書く
1はアホが複数現れるとイチイチ面倒。2はモジュールを入れるのが面倒。4は画像が多いウチのサイトには適応しづらい。というわけで、3がいい。連続でCGIにアクセスされた場合、CGIの起動を故意に失敗させ、Apacheには内部エラーとして処理させる。結果としては負荷制御になるワケだ。
ユーザの同時プロセス起動数といえばulimit -uのmax user processesなのだが、これは環境変数みたいなものなので、CGIが起動してから設定しても遅い。そもそも、CGIの起動を抑制するという目的に合わない。Apacheの起動時に指定してしまう手もあるが、Apache自身に制限が加わるのは困る。
print `/bin/bash -c 'ulimit -a'`.gsub(/\n/, "<BR>\n")
RLimitNPROC 20
max user processes (-u) 20
2008-02-15(Fri) 味見回路を試作
手持ちにはosziFoxがあるのだが、完全には壊れてはいないものの、非常に不安定で使い物にならない。挙動は日によってバラバラだが、平均的な故障モードとしては、液晶画面が表示されず、PCへのシリアル出力はある、という状態。使いづらいったらありゃしない。
秋月のアナログオシロは魅力的だがデカすぎる。デジタルのヤツもまだデカい。USBオシロも悪くないが、専用ソフトが必要という点で萎える。まだLinuxで使えればいいけど、どうせWindowsのみ対応だろ? 壊れるまで使えるはずのハードウェアが、OSの載せ替えと心中だなんて、個人的にはありえねぇ。以前、気に入っていたシートフィードスキャナ、PAPERPORTのWin2kドライバが出ないのにショックを受けてからというもの、心底、懲りた。
つーわけで自作である。PICで作るので、絶対性能は出ないだろうが、大抵は4MHzで動かすPICのデジタル回路が測定対象だから、2us、0.5MS/secも出れば実用的だろう。そのための20MHz水晶、そのためのAD7820である。
2008-02-16(Sat) ゴリゴリと進捗
先日から家庭用電源の周波数を使った時計を試作しているが、せっかくだから実用品にしたい。わざわざ家庭用電源を使うのだから、ダブルミーニング(ふたつの意味を持たせる)を狙おう。目覚まし時計にするのである。
ビジネスホテルのベッドに備え付けの時計は、コンセントから電力を得て動いている(ハズ)。時計が乾電池駆動だと、いつ切れるかわからないので、どうしても「目覚ましのベルが鳴らない」という事故発生の可能性がつきまとう。よって、マトモなホテルではそうなっているのである。そういえば、ラブホテルの時計もベッドに備え付けのような気がするが……あれは延長事故を防ぐため……かな?
八潮の100円ショップでラジオを物色する。100円じゃなくても、300円であると噂に聞いたのだが……ない。マトモなメーカだと千円は下らないしなぁ……と、八潮の秋月に行ったら、中国製のゲルマラジオキットがあった。350円。コイルとかバリコンとかを個別に買うより安い。すかさずゲット。
なお、一応、最終形では、アンプをくっつけてスピーカで鳴らし、アンテナもコンセントにつないで電力線アンテナにするつもりである。こうなると、家庭用電源を使うことがトリプルミーニングになって、より気分がいい。
さて、オシロの件も進める。オシロのサンプリングスピードは速いに超したコトはないワケで、当然PICは最高の20MHzで稼働するのである。先日、20MHzの水晶を購入したが、あれは失敗だった。設計段階で、かなりI/Oピンがキビしいことが判明しているのと、複数のPICを「同期動作したい」という要求があるので、単独で発振する20MHzのオシレータを購入する必要があったのだ。
と、ここで約2年前に取り置いておいた在野のジャンクがリングに上がるのである。なんと、同時に4つもゲットだ。いやー、正直、ホントに役に立つ日がくるとは思わなかったなぁ。
水晶の出力ではココロモトないのと、別途ANDゲートが必要になる計画もあるので、今度は2003年の後半に購入したと思われる秋月ジャンク袋から取り分けてあったLS7408を取り出す。ANDゲートだが、実際はオシレータの出力を両方の入力に接続して、単にバッファとして使うのだ。そういえば、先日の7segも同じジャンク袋に入っていたヤツだっけ……と思いながら、ブレッドボード上でテスト。キチンと20MHzで(たぶん)同期動作に成功した。
調子がいいので、もうひとつテスト。先日、秋月で購入したTA7368という100円のアンプICを試す……と、あっけなくスピーカが駆動した。テスト用の音源はiPodShuffle内の、最近かなり気に入っている後藤真希のGIVE ME LOVE。スゲぇイイ声なんだよなぁ。どうでもいいけど。
2008-02-17(Sun) 箱入りでアートっぽく
2008-02-19(Tue) またもACアダプタをぶっ壊す
先日ぶっ壊したACアダプタは、目覚ましラジオに持って行かれたので、オシロ用の電源としてもうひとつ確保すべく、破壊活動にいそしむ。
次の獲物は9V300mA。ちょっと容量が心細いが……ん、んん? コイツは珍しくネジ止めだ。しかし結局は、片方しか外れず力ずくで破壊。しかし、コイツはコンセントの差し込みが天高くソビえてしまう仕様。相手がモノだけに、外したり切ったりは無理そう。まぁ、いいや。笑えるし。
そういえば、このふたつのアダプタには、前回の獲物みたいに3端子レギュレータはついていなかった。やっぱそうだよな。なんか納得。一方で、ダイオードはすべてバラ。ダイオードブリッジのパーツって高いのかな。
2008-02-24(Sun) トランスを基板上にトランスファ
昨日、取り出したトランスを電源に仕立て上げるため、まずは基板に載せる。天高くソビえるコンセントの差し込みがチャームポイントだ。ついでに、先日用意したゲッターパーツ(ゲタ)をケーブルにハンダ付けして、PICのインサーキットプログラミング用のケーブルとして仕上げる。ピンアサインはこんな感じにした。秋月のライタに8pinのPICとして挿して使う。
2008-02-25(Mon) 電解コンデンサ圧力臨界ッ!!
2008-02-26(Tue) オペアンプまでぶっ壊す
ブレッドボード上でオペアンプの動作をあーだこーだしているウチに、単一電源でなく、実際に正負の電源を与えてみたくなって、昨日、完成したばかりの電源から「ICクリップ⇔ワニグチケーブル」で電源を引いてみることにした。