SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|

2005-02-16(Wed) グラッときたのを楽しむ

  早朝からグワワンというデカい揺れ。さすがのオイラも起きてしまった。後で聞いたら震度4だったとのコトだが、これだけの地震は初めての経験である。棚の上にあるモノがガンガンと落下する。ドキドキである。

  変人かと思われるかもしれないが、意外とこのドキドキが好きだったりする。地震が起こると、いったいどこまで揺れが大きくなるのか、少し期待してワクワクしまう自分がいるのである。不謹慎かもしれないが、比較的災害に強い場所に住んでいれば、多少の地震で死ぬことはないと思うのだ。つまり完全に安全が保障されているワケではない状況における、ドキドキ感がワクワクして好きという嗜好……それは絶叫マシンに対する嗜好と同じだと思うワケなのだ。惜しむらくは寝ボケ状態で今回の地震を体験したコト。冴えた頭で心ゆくまでドキドキワクワクしたかったのに、残念。

  ちなみにオイラの部屋は、清く正しいエンジニアらしくモノスゴく散らかっているので、多少棚からモノが落ちても気づかないほどの損害(?)であった。しかし、仕事に向かおうと、アパートのドアを開けて驚いた……微妙だがドアの建てつけがシブくなっている……って、んッ!? なんだこの階段の床に散らばっている白いカケラはッ!?

  画像の説明 画像の説明

  なんと階段の壁にケッコウなヒビワレが生じ、そこから落ちたコンクリのカケラが散らばっているのである。うわ、大丈夫なんか、コレ。

  詳しく観察すると、各階の床面の延長部分に沿ってヒビが入っている。つまり、ダルマ落としライクに力が加わったということか? 一方で垂直にヒビが入っている場所もある。むぅ、なんだこのヒビの入り方は。以前に建設関連の仕事をしていたとはいえ、建築は専門外だからよくワカラン。まぁ、そんなにヤバくはないだろうとは思うけど、漠然とした不安を感じる。

  そういえば数年前、カミさんに誕生日プレゼントとしてPS2とグランツーリスモ3を買ってもらったのだが、徹夜で走りこんでいる時、リアルなクラッシュ音と衝撃が走って驚いたことがあった。もう明け方も近かったので頭がモーローとしていて、一瞬ゲームの中の出来事として片付けそうになったが、カミさんが驚いて起きてきたので現実と認識し、ベランダから下を見るとウチのアパートの柱にロードスターが突っ込んでいた。自走できないくらいにボンネットが柱を抱えていたなぁ……このアパートは早々に引き払ったほうがよいかもしれん……。

  話は替わって、今晩は地上波で放送していた映画「呪怨」を観る。一応、CinemaScapeというサイトで、軽く評判をチェックしておいたのだが、まったくもって評判どおり。ストーリーがまるでない。単なるビックリ映像の羅列だ。プロモーションビデオでさえ、もう少しストーリーがないかい? いくら怖がらせたいからって、こんなブツ切りの映像を見せられたって困るよ。伏線らしい部分もチョロチョロと出てくるのに、まったく解決せず。なんだこりゃ。

  例えるなら「辛いけど、まるでウマ味のないカレー」とでも表現できようか。なんでこんなモンがハリウッドでリメイクされるコトになったのだろう。サッパリわからん。オイラ「リング」については「劇辛で、しかも深いコクのあるカレー」だったね、と手放しでホメるけどね。あぁ、時間の無駄だった。無駄無駄無駄無駄無駄無駄無駄。


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。スゲぇイイ声なんだよなぁ。どうでもいいけど。

  画像の説明

  ますます調子がいいので、コンデンサマイクまでテスト。使い方すら知らなかったのだが、単に微電圧をかければいいだけなのか。これまた、あっけなくプチ拡声器(?)が完成。あー、あー、ただいまマイクのテスト中。

  画像の説明

  最後に、今後予定している、PICのインサーキットプログラミング用のゲタ用パーツを見ツクロって終了。今日は近年マレに見る進捗であった。気分よく、おやすみである。

  画像の説明


2012-02-16(Thu) スリープロガー改めレムウォッチャー稼働

  あまり気にしないで作ったので、意外なほど電波が飛ばず、結局、寝室の足元まで親機を持ってきたところ、ちゃんとログがとれた。

  以下は14日と15日の夜のデータをgnuplotでグラフ化したもの。いずれも寝たのは12:30頃。起きたのが6:30頃。いわゆる90分の周期は見えないが、動きと動きの間は決まって60〜90分程度、空いているように見える。

  画像の説明 画像の説明

  改めて、スリープトラッカーという商品について調べたら、やはり加速度計で情報を得ているらしい。


2015-02-16(Mon) 抜くと元に戻るSDカード

  土曜日、もうひとつ帽子を作ってもらおうと、岡崎に向かった。たまたま、近日中に中学の友人と会う機会があるので、愛用のX100Sを持ち出す。オイラは岡崎の中学に通っていたのだよね。いま、学校がどんな様子なのか、写真を眺めて酒の肴にしようって寸法だ。

  予定通り、帽子を注文し、中学校の周りをウロウロしながら写真を撮りまくり、JR岡崎駅を回って、名鉄東岡崎駅へ、毎日のように通った通学ルートを辿る。想像よりも、変わってない印象だ。懐かしい。

  で、家に帰って驚いた……写真がダウンロードされない……最初、自作のスクリプトのバグかと思い、カメラの再生モードで写真を探すが……やっぱりない……えー、まじー!? 先日自作したバッテリ充電器の写真が最後になっている。撮ってない……わけないよな……撮った直後に再生モードでピントチェックとかもしたよな……な、なんで!?

  と、あれこれしているうちに、なんと問題が再現した。撮って、電源を切って、電源を入れて、再生モードにすると、撮ったはずの写真がないのだ。撮った直後、電源を切らないうちは、再生モードで撮った写真が確認できる。なんだこの症状。記録したつもりで記録していないってこと? カメラのバグか?

  X100Sはプロユースの機器とまでは言えないが、準フラッグシップの位置づけだろう。メーカーもさすがに「まぁ、なんていうの、そんなこともあるよね」などとはいわないはず。とりあえず、富士フイルムに依頼を依頼するメールを出してみた。

  で、今日、さらに問題の切り分けを行った。具体的には、問題が起きているSDカードをPCに挿し、その内容を別のSDカードにddでフルコピーする。でもって、フルコピーしたSDカードをカメラに入れて、同様の事象が起こるか確認する。これで問題が再現すれば、SDカード上の記録内容に問題があるという事になり、カメラ被疑の可能性が高くなる……が、同様の事象は起こらなかった。

  そーなると、SDカード側の問題か? PCに挿してある問題のSDカードに書き込み、いったん抜いて、また挿して……げー! 問題が再現するではないか。書き込んだはずのファイルが消失しているッ!

# SD カードを挿す
 
bragza /root # mount /dev/sdb1 /mnt/temp
 
bragza /root # ls -n /mnt/temp
合計 32
drwx------ 3 1000 1000    32768 10月 18 23:00 DCIM/
 
bragza /root # cp google-chrome-38-0-2125-104-64-bits-multi-ubu.deb /mnt/temp
※そこそこの大きさのファイルを書き込む
 
bragza /root # ls -n /mnt/temp
合計 46592
drwx------ 3 1000 1000    32768 10月 18 23:00 DCIM/
-rw-r--r-- 1 1000 1000 47670984 10月 30 23:10 google-chrome-38-0-2125-104-64-bits-multi-ubu.deb
 
bragza /root # echo 3 > /proc/sys/vm/drop_caches 
※キャッシュをドロップ
 
bragza /root # md5sum google-chrome-38-0-2125-104-64-bits-multi-ubu.deb 
a2b61a623da973f12e1cb18674b9fb93  google-chrome-38-0-2125-104-64-bits-multi-ubu.deb
 
bragza /root # md5sum /mnt/temp/google-chrome-38-0-2125-104-64-bits-multi-ubu.deb 
a2b61a623da973f12e1cb18674b9fb93  /mnt/temp/google-chrome-38-0-2125-104-64-bits-multi-ubu.deb
※そこそこ時間を要したことから、キャッシュの影響ではないことが確認できる
 
bragza /root # umount /mnt/temp
 
# SD カードを抜き差しする
 
bragza /root # mount /dev/sdb1 /mnt/temp
 
bragza /root # ls -n /mnt/temp
合計 32
drwx------ 3 1000 1000 32768 10月 18 23:00 DCIM/
※記録されてない……そんなアホな!?
 
bragza /root # 

  これは明らかにSDカードに起因する障害だ。こんな壊れ方あり!?

  ちょっとググると、なんと同様の症状の報告があるではないか。「SDカードが壊れました!コピーや削除してもカードを抜くと元に戻ります!フォーマットもできません!」。マジかよ。

  画像の説明

  ちなみに、オイラのSDカードもTranscend。microSDHC 4GB class6だから、かなり古い。にしても、こんな嫌がらせのような壊れ方はないんじゃないか。しかも、上記の例がSDXCだという事を考えると「現象を知りつつ、長らく改善してない」ってことになる。ふざけんな。記録できてないなら、記録できてない旨を応答するだけのことだろ。フェールセーフ的にありえない設計だ。製品として腐っていると言ってよいのではないか。

  数10MBの書き込みが行われた場合、カメラ上のキャッシュや、SDカード上のキャッシュの影響により「書き込まれたかのように見える」という事はないだろう。それほどの量のデータを保持できるほどのキャッシュ容量を持っているとは思えないからだ。間違いなく、SDカードのフラッシュメモリにまで記録は行われ、カメラはフラッシュメモリからその記録を読んで画像を再生しているはず。PCでmd5を実行した場合に、そこそこ時間を要したこともそれを裏付けている。

  とすれば、考えられるのは、SDカード上のメタデータ管理にまつわる不具合だ。フラッシュメモリは同じ場所に書き込むとメモリセルの疲弊が進むことから、実は上書き動作は行わず「別の場所」に書いて、メタデータを書き換えることで、あたかも上書きしたかのように振る舞う。いわゆるウェアレベリングというやつだ。今回の問題は、そのメタデータ部分のみ、記録しない動作になってしまっているため、電源を切るまでは「別の場所」にアクセスできるが、電源を切ると「別の場所」に書いたこと自体を忘れてしまう、という状態なのではないか。これをやられると、カメラやPC側からそれを検知する術はない。完全にSDカードのファームウェアロジックのバグだといえよう。SuperDoahoカード。

  安物買いするとこういうことになるんだな。勉強になったわ。悪いがこんなことは2度とごめんだ。Transcendのメモリはたくさんあるが、全部ゴミ箱行き。Transcendのメモリは永久保証らしいが、交換してもらうどころか、2度と使う気にならんわ。さらば、大酋長サイクロプロス。

本日のツッコミ(全2件) [ツッコミを入れる]

横須賀のアランプロスト [「元に戻る」ってなんじゃ?と思ってリンク先みたら...なるほど。そんな現象が!! 関係ないけどニコン~マイクロフォ..]

とおりすがり [Windows2000でUSBメモリを停止しないで引っこ抜くとファイルが保存されない、って現象があったのを思い出しま..]


2020-02-16(Sun) 卓上カレンダライアス

  例によって、自作の卓上カレンダを使っているのだが、今期から少し新展開。ダライアスモチーフにしつつ、ダライアスの16ドットフォントを使いつつ、二十四節気、旧暦表示を加えてみた。旧暦表示により、月齢がわかり、星空観察にも有用になるわけだ。

  画像の説明


2024-02-16(Fri) トラディショナルなバックグラウンドの回転技術に思い至る

  例によって、常に何かに取り組んでいないと気がすまない人なので、ドルアーガで遊びながらも、プログラミングを進めている。まぁ、それ以外の細かいネタもいくつか並行しているんだけど。

  というのも、結構なペースでレトロゲーの類似品を作っている人をツイッターで見て、ちょっと触発されてしまったのだ。自分は、ゲームっぽいものを作るのは好きなのだが、ゲームシステムを作った辺りで満足して終わってしまうのだよな。レベルデザインに興味がないと言うか。

  しかし、ちょっと思いついたのだ。せっかく「WebAssemblyでトラディショナルな回転技術を再現」したのだから、それを生かしたゲームができないだろうか。しかも、ほとんどレベルデザインをする必要なしに、だ……あるんだ……あるんだよ。

  画像の説明

  こういう感じのヤツだ。コースを作ることなく、世界中のサーキットでレースをすることができる。通信対戦できるようにしたいなぁ。

  と思いつつ、あまりにユルユルとやっているので、任意の場所を映して、それを回転させた辺りで、着手から1ヶ月も経ってしまい、しかも、重大な問題に気づいてしまった。というのは、オブジェクト(キャラクタ/スプライト)の回転機能とバックグラウンドの回転機能は違うということだ。

  キャラクタの回転機能は、特定の「正方形のパターン」を元に、回転後の「正方形のパターン」を得るものだ。当初、バックグラウンドを表示するなら、それを敷き詰めればいいと思い、アルゴリズムを考えたのだが、「パターンの特定位置を中心に、回転後のパターンの表示位置」を求めようと思うと、どうにもパターン中心までのベクトルを求める必要が生じて、アークタンジェントを計算することが避けられそうにない。

  画像の説明

  これまで、すべて整数演算で済ませていたのに、そこに逆三角関数が出てくるのは美しくなさすぎる。数表で済まそうとしても、済ませられない規模になるし、誤差も出るだろうから、敷き詰めたパターンにスキ間が出ることも予測される。しかし、当時のアーケード(A-JAX, アサルト, スーパーフォーミュラなど)に一切のスキ間は見当たらない。つまり、当時からバックグラウンドの回転機能は、回転パターンを敷き詰めて実装しているワケではないのだ。

  で、気づいた。気づいたら簡単なことだ。たぶん、当時もそうだったのだろうと思える。バックグラウンドの回転機能とは、大きな正方形の領域が用意されていて、そこの回転前のパターンを描画し、それに対する「開始位置、サンプリングベクトル(角度)」を指定することで、画面全面に回転後のパターンを表示するという機能なのだ。それならば整数演算で済む。回転という概念が加わっても、オブジェクトとバックグラウンドは異なる実装になるんだなぁ。

  そういうことになると、以前に作った「WebAssemblyによるトラディショナルな回転技術」はそのまま使えないことになる。まー、最初から作り直しではないものの、作り替えという感じにはなるなぁ。それはそれで、ガッカリ半分、ウキウキ半分だけれども。