無料ブログはココログ

2009年7月 9日 (木)

(395)一定時間後に200LXにプロテクトをかける

(395)一定時間後に200LXにプロテクトをかける

「自分が一定時間200LXを操作しなければ、重要なファイルが溶けてなくなってしまうような工夫ができないかなぁ」とということを、(382)「秘密の情報を200LXのどこに隠しておくか」で書きました。

それに対して、「烏賊」さんから、「上手いバッチファイルを書いて ApptBook から | で実行すれば実現できませんかね」というコメントをいただきました。

Scrn0000_2 いろいろ考えたてみたのですが、現状では「烏賊」さんのアイディアが最適だと考えて、そのようなシステムを作りました。(図は午前4時半に起動するバッチファイル)

このシステムは、運用は簡単ですが説明が込み入っています。ちょっと理解しにくいので先に比喩的にお話しします。

私が200LXをどこかに忘れてしまって、それを誰かが拾って中身を見ようとする、ということを想定しています。
そのような状況で、拾った翌日になると、もう見ることができなくなっている、というようにしました。

「見ることができなくなる」ようにするのは、比較的簡単です。c:\_datの[*.env]ファイルを削除してしまえばいいんです。

この時限爆弾は、毎日、朝になると自動的に仕掛けれられています。
そうして、通常の人が眠っている夜中に、毎晩作動するようにセットしてあります。

ですから、持ち主である私は、毎晩、寝る前に時限爆弾を解除する必要があります。(そうじゃないと朝になってみたら、中身のないシスマネアプリが表示されてしまいます。

(もっとも、時限爆弾が作動した場合でも、方法を知っていれば、簡単に復活できます)

        さて、それでは説明します。

------- 具体的なバッチファイルなど -------

Scrn0001 (1) 「ApptBook から | で実行」されるバッチプログラムは、a:\--noon--.bat というファイル名にしています。
 (これは、夜中のうちにc:\をa:\に圧縮バックアップするために作ってあるバッチプログラムです)

(2) [*.env]を消去するプログラムは、c:\bin\-env2ent.bat というファイル名です。

(3) --noon--.bat が実行されると、その中のc:\-env2ent.bat が実行されます。
 時限爆弾によって、[*.env]が消滅してしまっていれば、シスマネアプリのブルーキーを押しても、なにも表示されない空のシスマネアプリが起動します。

Scrn0002(4) つまり、毎日、真夜中の午前4時半を期して、時限爆弾が作動して、私の個人情報が表示されなくなるということです。

(5) でも、私が自分の200LXをなくしたわけでもないのに、毎晩、毎晩、使えなくなるのは具合が悪いです(笑)。
 そうならないように、寝る前にc:\-env2ent.bat を削除しておくというのを「儀式」化しています。
 (時限爆弾そのものがなければ、なにごとも起こりません)

Scrn0003 (6) --noon--.bat のバッチプログラムの二行目では、c:\bin\-env2ent.batからルートディレクトリにコピーして、c:\-env2ent.bat を復活させています。
 (ですから、朝になると、また、時限爆弾が自動的にセットされている)

(7) もし、朝、ブルーキーをおしてシスマネアプリが表示されない場合でも、別の場所に圧縮保存されている[*.env]を解凍すれば、すぐに元通りにできます。

---------------------------------------

 以上のシステムを一週間くらい運用していますが、いまのところ、とくに面倒ではなく200LXで機能していますので、とうぶん、この方法を続けようと思っています。(実際は、もうちょっと複雑なシステムなんですが、簡略化して説明しています)

「烏賊」さん、よいアイディアを教えて下さって、ありがとうございました。

2009年7月 6日 (月)

(394)バックライト200LXの不具合.キーが認識されない。

(394)バックライト200LXの不具合.キーが認識されない。

数ヶ月くらい前から、矢澤さんにあらたにバックライト化してもらった200LXを使っています。

なんの問題もなく使っていたのですが、昨日、突然、[Fn]キーが認識されなくなりました。

ソフト的な不具合かと思って、リセットしたり、システムを入れ替えたりしたのですが、直りません。

Img_1013 200LXで、特定のキーが認識されないのは、キーボードとメインボードの接点の不具合が多いことはわかっていますので、分解してみることにしました。

とりあえず、両者の接点を掃除してみて、直らないようなら矢澤さんに修理をお願いするつもりで、開腹してみました。

フレキシブルケーブルを傷つけないように注意しながら、キーボード側の接点と、メインボード側の接点を綿棒で掃除して、一度くみ上げてみましたが、[Fn]キーは認識されません。

しょうがなく、再度開腹して、キーボード側の接点を強くこすったら、ごく小さなゴミが取れたような気配がしました。

「これで、認識されるかなぁ」と思って組み上げたら、正常に機能するようになりました。\^o^/

結果的には、メインボード側の接点に、極小のゴミが固着していたようです。

Img_1015 さて、せっかく開腹したので、矢澤さんが改造してくれた部分の写真を撮っておきました。(こちらは拡大写真)

私が、トライアル基盤を使って、インバーターを組み込んだのと違って、非常にきれいに工作されています。

もともとの部品配置の空き空間に、インバーター部品がうまい具合に融合しています。さすが名手だと感心しました。

いずれにしても、正常に機能するようになってほっとしました。

2009年6月27日 (土)

(393)200LXで旅行の準備.TrainとWorld Travel

(393)200LXで旅行の準備.TrainとWorld Travel

World Travel というアプリケーションのことは、「(114)旅行と200LX 準備編」でお話ししたことがあります。いま、秋の旅行計画をたてているところなので、もうちょっと詳しくお話ししようと思います。

Scrn0001  World Travel は、200LX内蔵の World Time に似ています。名前も似ているし、Map も似ています(同じ画像を使っているようです)。

200LX内蔵のWorld Time のほうは、各都市の情報が主体であるのに対して、World Travel のほうは、都市間の距離などを調べるアプリケーションです。

私は、秋の旅行の計画を立てているところなんですが、候補としてリスボン(ポルトガル)とシドニー(オーストラリア)とサントペテルスブルク(ロシア)を考えています。

上の図は、東京から、それらの3つの都市に行くのに、飛行機の航路(great-circle course)を表示させたところです。「ああ、こういう経路で飛んでいくのか」と思うと、なにやら楽しいです。

Scrn0002  また、List表示させると、それらの都市への距離が示されます。ジャンボジェットは時速900kmくらいで飛びますから、距離が表示されれば、到着までのおおよその飛行時間を類推できます。図では成田からモスクワまでの距離を示しています。7542Kmです。

Scrn0003_2 こちらは、リスボンまでの距離です。11204Kmですから、けっこう遠いですね。

もちろん、正確な飛行時間は、インターネット航空会社にアクセスして調べる必要がありますが、経過を立てる段階で、おおざっぱに調べるには、World Travel は便利です。

(都市間の距離の計算は、World Time の軽度と緯度から計算する式がマニュアルに載っています)(これを使えば、比較的簡単に距離を調べられます)

さて、国内旅行の時には 200LXのTrain を使うことも、(114)でお話ししました。

Scrn0004 図は、藤沢から盛岡への路線をTrainで調べた画面です。4時間15分で行けるのですから、ずいぶん近くなりました。画面で経過駅も知ることができるのが良いですね。

Train で便利なのは、列車や飛行機の経路を調べるだけではないです。データ集の中には「ロードマップ」という名前の高速道路のインターやサービス(パーキング)エリアを網羅したものがあります。

Scrn0005(114)ではロードマップのことをお話ししなかったので、ちょっとお話ししておきます。データそのものは古くなっていますが、いまでも充分に利用できます。

このロードマップのデータを使うと、高速道路を時速8時間で走行したときの所要時間を調べられます。どこまで何時間で行けるかがわかります。

私は、約1年前に自動車を処分してしまったので、(現在も)将来も、高速道路を使って旅行することはないと思います。しかし、TrainでRoad Map のデータを見てみることで、行き先までの所要時間を手軽に調べることができますから、旅行の計画を立てるのには便利です。

図で示されるように、相模湖インターから金沢までは6時間17分もかかりますね。藤沢からだとさらに1時間以上かかると思います。このように、おおよその所要時間がわかれば、旅行計画を立てやすくなります。

2009年6月22日 (月)

(392)200LXはモンテカルロ行きの切符になるか?(最終回)

(392)200LXはモンテカルロ行きの切符になるか?(最終回)

調子にのって、もう一つ例題を考えました。(笑)

HP200LXのマニュアルにのっている「さいころ投げのシミュレーション」(19-31ページ)を多数回やってみたときに、出目がいくつに収束するかという問題です。

マニュアルの「さいころ投げのシミュレーション」では、さいころを一個投げたときと、2個投げたときの計算式が載っていますが、2個のほうを計算します。

また、総和関数(SIGMA)の説明が19-25ページに載っていますので、これも利用して、MEMOに書き込むと、図のようになります。

Scrn0004まず、2個のさいころ出目は、図の一番上の行のようになります。(マニュアルから転記)

二行目に、総和関数を使った「確率」の式を書きました。HP200LXでは、SOLVER式に日本語を使えるのが楽ですね。とてもわかりやすくなります。

SIGMA関数の「式」は、3行目に書きました。
SIGMA関数で計算できるのは、「総和」ですから、「確率」を出すには、「総和」を「回数」で割り算します。

「総和」÷「回数」=「確率」
ですね。

私は、ちょっと複雑なSOLVER式を作るときに、この図のように、別々に式を書いて、コピー・ペーストで合体させて式を作ることが多いです。

Scrn0003  代入して作ったのが4行目の式です。この式をSOLVERにコピーして、計算します。 

この図では、5000回試行させたときの確率が7.02と計算されています。 

Scrn0000 今回は、グラフを書くのにLOTUS1-2-3の「X-Yグラフ」を使ってみようと思ったので、LOTUS1-2-3に試行回数をあらかじめ記入しておきました。

   

あとは、

「LOTUS1-2-3の試行回数の数字をコピーして、SOLVERに持っていって、SOLVERで「確率」を計算してから、再度、その数字をLOTUS1-2-3にコピーする」

、というシステムマクロを作って実行します。(システムマクロは、実際にやってみたキー入力がそのまま記録されますので、「マクロを作る」っていうほど大げさなことじゃないです)(笑)

そのシステムマクロを何回か実行することで、上の図のように、試行回数の右側のCELLに計算された「確率」の数字が入ります。

Scrn0001 グラフ表示させたものが、この図です。図を見ると、1000回くらいまではけっこうばらつきがありますね。1000回を超えると安定してくるようです。

ちなみに、さいころの出目の平均は、1個のさいころの場合が1~6の平均の3.5ですから、2個のさいころの出目の合計の平均は7のはずです。

私は、100回くらい試行すれば、「7」に収束するように思っていたんですけど、このグラフを見ると、自然現象っていうのは、タレブが「まぐれ」で書いているように、けっこうばらつきがあるものなんですねぇ、、。

2009年6月21日 (日)

(391)200LXはモンテカルロ行きの切符になるか?(5)

(391)200LXはモンテカルロ行きの切符になるか?(5)

ついでなので、私がもっているパソコンや電卓で、同じようなモンテカルロシミュレーションができるかを検討してみました。

モンテカルロシミュレーションをするには、

1.(疑似)乱数を発生させることが必要です。

2. それを集積する必要がありますから、Σの計算式が必要です。

2'. あるいは、[for ~ next]のような「ループ」で何回も繰り返して試行できれば、Σがなくても可能です。

要件は、たぶん、この2つだけだと思います。

やっぱり重要なのは、自分で考えていることを、どのように式に表わすかということだと思います。

EXCEL上でなら、上記の1と2ができますから、普通のWINDOWSパソコンで、モンテカルロシミュレーションができると思います。

また、windows版ロータス1-2-3の上でも、EXCELと同様にできると思います。

HPの電卓では、200/100/95LXでなら、もちろん今回のように可能です。

solverで計算するだけじゃなくて、lotus1-2-3の上でもEXCELと同じようにできると思います。

Sa410600_2 そこで、手持ちの電卓の マニュアルを見てみたら、HP-19BiiとかHP-GX48Gでは、Σもありますし、(疑似)乱数のコマンドもあります。これなら、モンテカルロ・シミュレーションが可能です。

 

 

  

Sa410601  しかし、HP-17Biiのsolverでは「Σ」はありますが、乱数発生のコマンドがありません。

 HP-12Cは純粋な金融電卓で、乱数を発生させることができませんから、このシミュレーションは無理でしょうね。

それやこれや考えると、やっぱり、200LXはHPのビジネス電卓では、最高峰ですねぇ。\^o^/

(390)200LXはモンテカルロ行きの切符になるか?(4)

(390)200LXはモンテカルロ行きの切符になるか?(4)

「はじめての数式処理ソフト」では、計算からの理論値は17/81=約21%と書いてあります。

Scrn0003 これが、200LXで実行してみた結果です。10回~100回だと、0.18%から0.25%と、ばらつきがけっこうありますね。

  

Scrn0002 10000回を超えて50000回まで試行してみたら、0.21%に収束しています。  

  

  

Scrn0005_2 ばらつきを、[Calc]の[Stat]でグラフ化してみると、図のようになります。確かに試行回数が多くなると収束している。

Scrn0006 これは、同じグラフをズームアウトしたものです。

ちなみに、5万回の試行には、約18分かかりました。

Windowsパソコンなら数秒で計算できるだろうと思いますが、200LXの場合は、マクロを組むのが楽ですし、List Statでこういうグラフを描かせたりできることが便利です。

200LXはほんとうに楽しいオモチャです。(笑)

(389)200LXはモンテカルロ行きの切符になるか?(3)

(389)200LXはモンテカルロ行きの切符になるか?(3)

「はじめての数式処理ソフト」の例題は、

Sa410598_2 「10分間のファッションショーで水着モデルが登場するのは1分間。しかも、ショーのどこで登場するかはわからない。カメラマンが会場に入ることのできる時間(撮影時間)も1分間。はたしてカメラマンが水着モデルを撮影できる確率は?」というものです。

解き方も書いてあります。

  

   

  

Sa410590_2 「モデルが登場する時刻をx、カメラ小僧が舞台に向けてカメラを構え始める時刻をyとすると、その差(x-y)が1分以内であればいい」

条件は、
|x-y|<1
0<x<9
0<y<9
の3つだけだということです。グラフは右のようになります。

  

あとは、前項に載せたMaximaのプログラムと同じようなものを、solver式で表現すればいいはずです。

Scrn0007 200LXのsolverに置き換えると、

  

  

  

(sigma(変数,1,試行回数,1,IF(変数*9:rand)<変数,1,0)))/回数

という簡単な式になります。

あとは、このソルバー式で、試行回数を10回とか、100回とか、1000回とか、10000回とかにして実行すればいいだけです。

(388)200LXはモンテカルロ行きの切符になるか?(2)

(388)200LXはモンテカルロ行きの切符になるか?(2)

Sa410587_2 I. 前々項で、HP-Palmtop Paper のバックナンバーを読みなおしていることをお話ししました。古い号を読んでいたら、solverでSIGMAが計算ができることが書いてありました。

そこには、「Σっていうのは、for~nextと同じだ」っていうようなことが書いてあります。

Sa410589_2 で、sigma 関数を使って、y=f(x)の曲線の下の面積の出し方が乗っていました。

「ふ~ん、solverってそういう計算もできるのか」って思っていました。

   

Sa410595ところで、モンテカルロのことは、ず~っとアタマの隅に引っかかっています。それで、ときどき、本屋さんの講談社ブルーバックスの棚の本を見ていました。

II. 先週、たまたま、「はじめての数式処理ソフト」(竹内薫著)の中に、モンテカルロ法で問題を解くプログラムが載っているのを知りました。  

  

  

Sa410598 例題は、2つの独立した乱数を多数発生させて、その2つの数字の組み合わせが、たまたま一定の関係になる確率を計算する、という問題です。

モンテカルロの説明として、「ある条件の組み合わせになる回数を、全試行回数で割った数字が、その現象が起きる『可能性』を示す」というようなことが書いてあったので、やっと、モンテカルロシミュレーションの基本が理解できました。  

  

 

Sa410584_2 私は、このMaximaという集式処理のコマンド作法を知りませんが、じっくり読めば、プログラムの内容を理解できるかも知れないと考えて、本を買いました。この1ページのために1200円というのは高かった。(でも立ち読みでは、この1ページを記憶しきれません)

III. 上に書いたように、200LXのsolverの中にΣの式があることは、わかっていますから、もし、乱数発生の式があれば、簡単なモンテカルロシミュレーションの計算ができるんじゃないかと考えました。

(387)200LXはモンテカルロ行きの切符になるか?(1)

Sa410611(387)200LXはモンテカルロ行きの切符になるか?(1)

昨年の9月ころに、(288)の項で、ナシーム・ニコラス・タレブの「まぐれ」(Fooled by Randomness)のことを書きました。

   

   

   

 

Sa410614 この本の中で、「モンテカルロ・シミュレーション」のことが、あちこちに書いてあります。あるいは「モンテカルロ数学」(Monte Carlo Mathematics)とも書いてあります。

それで、この「モンテカルロ・シミュレーション」って何なんだ?ってず~っと思っていました。

大型本屋さんで、「統計」の棚の本をいろいろ読んでみても、その概念がわかりません。私の数学的頭脳レベルが、中学・高校生レベルなので、しょうがないんですけどね。(^_~;

   

Sa410597 じゃあ、中学・高校生レベルで理解できるような本はないのかと探して、本の中に少しでも「モンテカルロ」のことが書いてある、講談社ブルーバックスを何冊も買って読んでみました。

   

 

Sa410601_2 (1) 昔、買ったことがある「パソコンで挑む円周率」(大野栄一著)にも、「モンテカルロ法でπに迫る」ということで、説明が書いてあります。でも、たんに「説明」だけです。本を読んでも「理解」できるというレベルには達しません。

   

Sa410609 (2) 「パソコンらくらく数学」(新村秀一著)でも、「快刀乱麻のモンテカルロ・シミュレーション」という項がありますが、付属のcd-romのSpeakeasyを使って、本に書かれたとおりに「やってみる」ということしかできません。

「快刀乱麻のモンテカルロ・シミュレーション」って言ったって、書かれたやりかたの、たった一つの方法しかできないよ」

Sa410603_2 (3) 「パソコンで遊ぶ数学実験」(涌井良幸、涌井貞美著)にも、「モンテカルロ法で面積や体積を実際に求めてみましょう」と説明が書いてあるのですが、付属のcd-romのプログラムはjavaで作ってあるようで、応用がききません。

自分で実際に計算するための方法論は書いてないんです。

Sa410615ところで、「まぐれ」にも、「モンテカルロの数学」の項に、「いくらでも正確な計算ができる」と書いてあります。でも、当たり前だけど、「計算できるようになる」道筋は、この本に書いてあるはずもありません。

ヒントになるようなことすらないんです。

私は、「まぐれ」を読んだときに、「モンテカルロ・シュミレーター」のような専用のアプリケーションがあるんじゃないかと思って、googleなどでいろいろ検索してみました。しかし、それらしいアプリケーションを見つけることができませんでした。

もっとも、あまりに高価だったら、買うことができませんけど。

それで、モンテカルロのことが、ず~っとアタマの隅にひっかかったままでいました。

2009年6月20日 (土)

(386)郵便受けを開けずに内容物の有無を知る(内部照明)

(386)郵便受けを開けずに内容物の有無を知る(内部照明)

200LXとまったく関係ない話題です。

私は、集合住宅にすんでいるんですけど、以前から、いちいち郵便受けを開けなくても、内容物の有無がわかる方法はないかなぁ、、と思っていました。

Sa410604  というのは、郵便受けのキーがダイヤルキーになっていて、数字を合わせてから開けるシステムになっているのですが、「開けてみたら空っぽ」ということがたびたびあるからなんです。

ダイヤルキーの数字あわせは面倒だし、空振り(内容物がない)のときは、がっかりしちゃいます。

そこで、投入口から、フラップを開けて内部をのぞくようにしていました。しかし、郵便受けの内部は暗くて、郵便物があるのかないのか、判別がつかないこともけっこうあります。

そこで、フラップを開けたときにだけ、スイッチが入って内部が照明される、冷蔵庫の内部照明のようなる電灯をつけようと考えていました。

Sa410608 「いい、照明方法はないかなぁ、、」と考えていて、携帯電話のストラップにつけるような、小さなライトを郵便箱の内部に設置することを考えつきました。

けっきょく、使ったライトは、カードタイプのポケットライトです。カードを親指と人差し指で挟むようにすると、スイッチが入ってライトがつくようになっています。

それを、郵便受けの内部に両面テープで貼り付けました。なんのことはない。非常に簡便な方法です。

Sa410600_2

郵便受けの外側フラップのところには、目印の赤いシールを貼っておきました。このシールの裏側にスイッチがありますので、指を投入口から入れてスイッチを押すことで、点灯します。

Sa410601これで具合良く内部を照明できます。

  

   

「おっ! 夕刊が配達されています」

«(385)Lotus1-2-3(200LX)で行列の計算ができるんですね。