■ パラメトロンの理屈たち -2004年7月16日(金)06時09分
パラメトロンは、フェライトコアに巻いた巻線のインダクタンスを変化させることによって発振するのだが、これは透磁率を見かけ上周期的変化させることによって達成される。どうやるかというと単純で、別の巻線でコアの磁束を消費して、残りの磁束しか使えないようにするというもの。
パラメトロン素子への入力は、その固有振動の最初期に、非線形振動への初期値というかたちで与えられる。具体的には、よその振動の位相を、コアに一回巻きのコイルで伝達すると、その影響を受けて同じ位相になるというのである。
つまり、ゲート入力の為に、いちいち励振を停止して、パラメトロンの固有振動をゼロにしてやる必要があるのだ。もしくは、入力振動が固有振動を打ち消せるレベルまで。
この励振停止と開始の周期が、パラメトロン計算機のクロックとなる。大抵のパラメトロンコンピュータの設計では、元となる断続した励振を3パターン用意しているようだが、2つで何故いけないのか、現在のところよくわからない。別に2つでも良さそうなのだが。このクロックは、過去の設計では励振周期2Mhzに対して30kHz程度だったらしい。
パラメトロン素子での演算の基礎は、多数決と否定である。
多数決は、入力振動を入れたいだけ単一のコアに一回巻きして絡めて、そのコアから出力を一回巻きで取り出して固有振動の種に使う、という構成を想像して欲しい。三本の入力があった場合、入力の電流がそれぞれ同程度ならば、コアに流れる磁束の向きは互いに打ち消しあった結果として多数決な方向へ決定される。
多数決論理なのにandやorはどうするかというと、例えばandなら入力線2本に、常に正論理位相の入力を入れて三本にするのである。orは負論理の入力を入れて三本に。基本的に、多数決論理入力は、必ず多数決が決するように奇数入力とするべきである。
否定は単純である。コアに絡ませる巻線を巻く向きを変えるのである。
これを応用して初期入力が構成できる。単独パラメトロン素子で作る固有振動を種として、その位相そのままを0、逆巻きで伝達したほうを1として用いるのである。
これで、パラメトロンコンピュータを構成するのに必要な要素は揃ったと思う。
■ パラメトロン自作に向けて -2004年7月13日(火)21時02分
パラメトロン、コモンモードチョークコイルで作れるかな。
もし作れるなら、最小で1.25×1.0mmなんてサイズの素子が使えます。
例えば、鈴商で売っている12uHのコモンモードチョークコイルを二つ、0.01uFのセラミックコンデンサを一つ使ってパラメトロン素子を構成したとします。共振周波数は以下の式から求める事ができます。
f = 1/(2π×sqrt(合成インダクタンス×コンデンサ容量))
これより、共振周波数fは650kHzと求まります。つまり、励振側にこの二倍の周波数、1.3MHzを与えれば良いことがわかります。どうにかして1.3MHz正弦波を作って流してやれば、パラメトロン素子は受動素子のカタマリのくせに発振し始める筈、です。
問題は入出力用のトランスです。多入力トランスは手巻きしか無いだろうなぁ。
■ 今作るパラメトロン -2004年7月12日(月)02時57分
SETUNを調べていて、パラメトロンについても調べてみた。
パラメトロンって、名前は知っていたが、あとは日本独自(この言葉はどうも政治的胡散臭さがあって嫌だ)で遅い、ということ位しか知識がありませんでした。
調べてみると、SETUNの磁気論理回路とパラメトロンの論理回路は、同じ磁気を用いていながら、まったく違うもののようです。
パラメトロンは共振周波数の位相というかたちで値を保持します。素子は見てとおり、インダクタとコンデンサと磁心、要するに全て受動素子です。
で、思いついたのですが、ある種のフィルタ、デカップリング素子の類いを使って、今の材料でパラメトロンコンピュータを作れないかというアイディア。
0608くらいのちっちゃなチップフィルタとチップコンデンサを、プリント基板の上にずらっと表面実装して論理回路を作ります。みんな受動素子なのにコンピュータ、ってトコロがミソ、要するに受けが取れればOK。
でも、耐環境性が良さそうだから、宇宙機の構体表面にみっちり表面実装してコンピュータを作る、ってのも面白そうである。
関連リンク
パラメトロンに関する昔の雑誌記事のスキャン画像あり。まとまった資料として貴重です。
■ 三値論理コンピュータ -2004年7月1日(木)01時59分
三値論理コンピュータSETUN(Сетунь)は、1958年にNikolai P. Brusentsov(Брусенцов Николай Петрович)によって、モスクワ大学で開発された。
三値論理の採用は、磁気コアによるフリップフロップを用いた論理回路の特性からのものだった。真空管の寿命と信頼性の低さを嫌っての設計だったが、代償として、性能は著しく低下した。わずか4800命令/秒という処理能力だったが、アーキテクチャの工夫によって、想像以上のパフォーマンスを発揮した。
SETUN用に開発されたプログラム言語は、逆ポーランド記法で記述するスタイルだった。SETUNはカザンの工場で50台が生産された。
その後、1968年に構造化プログラミングをアーキテクチャレベルでサポートした近代型、SETUN-70が開発された。
The European Virtual Computer Museum
ウクライナのサイト。ウクライナのキエフはモスクワと並んで、旧ソ連のコンピュータ開発の中心であった。旧ソ連最初のコンピュータMESMはキエフで開発されたのである。
ウクライナのコンピュータ開発の歴史を紐解くのに最適。英語、ロシア語、ウクライナ語に対応。
■ 人間に固有番号を割り当てる -2004年6月28日(月)21時24分
いわゆる総背番号制とかいうものを、ちょっと考えてみる。
所詮、名前もコードである。
現在、個人を特定する為に、様々なコードが用いられている。基本は名前、姓と名による単純な構造化データである。問題点は、これだけでは例えば日本人の中からその個人を特定する事ができない、という点である。名はかなり多様な命名が可能で、同姓同名の衝突は思ったよりも少ないが、それでも問題になる程度には存在する。そもそも衝突回避機構が備わっていない。
従って名前は普通、ある程度の集団の中で、ローカルに使用される。更にローカルになると姓だけ、もしくは名だけが使用される。こういう短縮名称をサポートする点で、構造化データは利便性を持つ。
近代以前の日本では、名と土地の組み合わせによって、大抵の日本人が明瞭に個人特定可能だった。何々の国の何々村の何某、だったのである。
封建社会では人間の土地からの移動は少なく、これで問題は無かった。土地の名称については古くから階層構造化されており、国土の大半が特定可能であったことが大きい。
近代以後、人間の移動は多くなり、そういう意味では姓名制への切り替えは当を得たものであった。が、姓名だけでは個人特定ができない。戸籍の併用は必然だった。
しかし、結局戸籍も、土地との結びつきをベースとしている。将来的には、土地との関連を持たず、名前の衝突回避機能を備え、構造化された名前の採用が望ましい。
総背番号制、固有番号というものは構造化されていない、という点で、日常の採用には全く適していない。それは勿論、使う側、行政の利便の為にあるからである。
通常、個人特定には様々な個人情報コードを組み合わせる必要がある。電話番号やIPアドレスから個人を特定するには、途中に通常ではアクセスの比較的難しい幾つかのテーブル変換を必要とするし、免許や公共料金の領収書といった個人特定の裏打ちが必要となる場面も多い。
固有番号は、こういう場面に大きな利便性を提供するが、あらゆる人間に利便性を提供してしまう。ストーカーに固有番号を握られるとどうなるか、考えてみればいい。従って固有番号は容易に安全に付け替え可能でなくてはならない。
同時に固有番号は、誤って、また悪意の元に操作されてはならない。固有番号を、身元を騙って付け替えることが可能であってはならない。バグで身元を書き換えられたら悲惨な事になりかねない。また、様々なフィクションに描かれた”支配者による社会的抹殺”の悪夢を実行可能としてしまう。
これを回避するには、固有番号を管理する変換テーブルの管理団体を民営とし、複数に内容を多重化して分散することが必要であろう。また、変換テーブルの書き換えの履歴を保存し、不正な書き換えを相互監視するべきである。
ここまでやって固有番号システムは初めて導入可能である。これら問題回避要件を満たさないシステムには欠陥が存在する。
せっかく固有番号システムを導入するなら、国別コードを追加して、国際規格とするべきである。また、時間にたいしても固有性を保証すべきであろう。
そして勿論、固有番号は構造化したい。構造化は大半の局面での個人特定の高速化を促進するし、ある程度のプライバシーの保護にも繋がる。プライバシー保護のためには、身分保障には固有番号のハッシュ値を用いるなどの工夫をしたい。これもシステムに組み込みたい。あと、利便の為に、別名の利用も標準でサポートしたい。
……さて、どうやって構造化したものか。
最後に残る問題が一つ。それは、固有番号を採用したら最後、固有番号こそが本名となる、という事である。社会的に信用があるのがどちらになるか、別名ではないかとの疑いに晒され易いのはどちらか、考えてみると良い。
これは覚悟しなければならない。
他の問題?大丈夫、No.6なんてユニークコードが廻ってくる可能性なんて無いから。
■ 「資本論」読書ノート#3 -2004年6月27日(日)23時42分
第一篇第三章を最後まで読んだ。
が、感想を述べるのは難しい。言うとすれば、なんだか同じ事を何度も何度も(主観では4回から10回)言っているように思える。もしかすると途中で違う事を言っているかも知らない、と思うと不安になる。読んでいて非常に疲れる。「ユリシ-ズ」の三倍くらい疲れる。しかも得るものが無いと来た。
……という塩梅。
しかしマルクス、他の経済学者に対する悪口頻発です。まぁ時代がアレだからよくある奴といえばそうなのですが。
■ 旧ソ連のコンピュータ # オペレーティングシステム -2004年6月25日(金)02時28分
オペレーティングシステムDispetcher-68(Диспетчер-68)は1967年、BESM-6用に作られ、ソ連における本格的なOSの基礎となった。
その後、Dubna(Дубна)や НД-70 ("Новый диспетчер-70")が開発され、特にНД-70は宇宙開発の現場でフライトコントロールの用途に使用された。
その後、特にНД-70 の影響下にV.F.TurchinがDispak(Диспак)を開発した。Turchinはプログラミング言語Refalの作者でもある。Dispakは1980年代終わりまで使用されたらしい。
■ 新スクリプトエンジンのスタックマシン -2004年6月25日(金)00時56分
数A たす B をこういう風に表すこととする。
[(Push,A) (Push,B) (+,) (=,C)]
命令先頭は(Push,A)。命令をひとつづつとって行き、取ったものに応じた処理をおこなう。
まずスタックにA,Bを積み、+はそのスタックから二つ取って右辺と左辺に値を入れて計算し、答えをスタックに積む。
問題は=、代入である。代入はCの指すグローバル変数配列中の位置への書き込みとなる。
Push命令は、実際には即値をPushするPUSH_N,グローバル変数中の位置を示す値をPushするPUSH_V,シナリオ制御単位の管理番号をPushするPUSH_SCの三種を持つ。しかし一度スタックに乗っかってしまえば、元が即値だろうが変数だろうが、ただの数である。
[(Push,A) (Push,B) (+,) (Eval,D)]
文を処理していてEval命令に到達した場合、文は評価のための文であり、スタック先頭の値が真か偽かで条件を評価する。条件を満たしていなければDの示す命令へ分岐する。満たしていれば次の命令を実行する。
制御単位であるシーンの後端にたどり着くと、以下のようなリストが存在する。
[(EOC,E)]
EOCはシーン後端を明示する。この命令はタスクの動作状態構造体中のシーン終了フラグを立てて、Eの示す命令へ無条件分岐する。Eは実際にはシーン先頭になる。
命令は全て連結されて、実際には一つのリストとなる。リストはタスクにつき一本づつとなる。
[(Push,A) (Push,B) (+,) (Eval,8) (Push,C) (Push,D) (+,) (=,E) (EOC,0)]
例えばこのリストは、先頭番号を0として、Eval命令に来たところでAとBの和が正であるならばリスト後端までジャンプし、正でなければ次の(Push,A)を実行する。リスト後端ではEOC命令がリスト先頭へのジャンプを指示している。
このリストは実際には以下のような構文の反映である。
scene NAME { if (A+B) { E=C+D } }
■ プログラミング言語Refal(РЕФАЛ) -2004年6月23日(水)02時39分
どうも先日のサイトの内容は、プログラミング言語Refal関係の内容だったらしい。
プログラミング言語Refalは、理論物理学者だったValentin F. Turchin(В.Ф.Турчиным)が1960年代にモスクワで開発したものである。Refalは(РЕкурсивных Функций АЛгоритмический язык:再帰的アルゴリズムの言語)の略で、通常の言語とはかなり様子の違うものとなっている。
Refalの振る舞いはPrologのように自動証明をするものである。データ表現はLispに似ているが、ツリー構造をパターンマッチングの為に使う。Refalの最初のインタプリタは1968年に書かれた。
その後Turchinは旧ソ連国内における人権活動に関わるようになる。1974年にアムネスティ・インターナショナルソ連支部を共同で設立した後、やがて1977年に西側に移住した。現在Turchinはニューヨーク市立大にてスーパーコンパイラの研究を行っている。また、この技術はSupercompilers社においてJavaのコード最適化技術の基礎となっている。
Refalは現在、ロシアとアメリカの双方にユーザとサポートメンバーを抱えている。現在実装としてRefal/2,Refal-5とRefal+,そしてRefal-6が存在している。
Refal/2はDOSとWiundows,Refal-5はDOS,Windows,Unixで無償で利用可能な実装が公開されている。
Refal/2はБЭСМ-6とЕС ЭВМ(IBM/360のコピー)上で動作している。
Refalのソースコードは.refの拡張子を付けることが通例となっている。
コメントは行頭に*を付ける。
ソースコードの一例(z_p.ref)
ソースコード例:refal.ref
注:文字コードはCP-866
以下に一部を引用する。
**F2SP S1'('E3=K/F2SP/S1K/F2S/('(')E3.. F2SP S1'('E3=K/F2SP/S1k/F2S_0/('(')E3.. S1S2E3=(S1S2)K/F2/E3. S1(ES)S2E3=(S1S2ES)K/F2/E3. F2E S('SsEeЕеVvWw')0S((''' ().,;+-=/'))1E2=(K/SR/S0.S1)K/F2E/E2. ' 'EPS((' '))1E2=K/F2E/S1E2. ''''E2=K/F2E0/()E2. * '('E2=K/F2E/K/F2S0/('(')E2.. * '/'E1'/'E2=k/m4/E1.K/F2E/E2. '/'E1'/'E2=('4'E1)K/F2E/E2. * ('('E1)E2=('(')K/F2E_K/K/F2E/E1..(')')K/F2E/E2. s('KkКк')kE2='K'K/F2E/E2. s('.()')sE2=ssK/F2E/E2. * ('K'E1)E2=('K')K/F2E/E1.('.')K/F2E/E2. = ' 'E2=K/F2E/E2. e2=k/P/'***** Ошибка! Неизвестный первый символ в выражении: 'e2.+ k/abort/('F2E')e2. m4 v('0123456789')1=('4'v1) v1=('2'v1) =
■ 「資本論」読書ノート#2 -2004年6月21日(月)02時29分
商品が交換可能であるのは、それぞれ比較可能なもの、労働によって生じる価値を内包しているためである。商品AとB、全然違うものを交換可能にしているのは、内部に同じ物差しを内蔵しているからである。
>商品Aの交換価値=商品Bの交換価値の場合、Aは相対的価値形態、Bは等価形態である。
この秘密も判明。この詭弁類似物は貨幣の特別な位置を説明するためのものらしい。
価値は交換価値と使用価値に大別され、交換価値は相対的価値形態と等価形態に分けられる。等価形態のうち、一般的等価価値が貨幣にヘンシンする。
ダイヤや真珠の価値は交換価値らしい。
……正直に白状しよう。さっぱりわからん。
自分の考えでは、価値とは、人間が各々持っている世界認識に等しい。人は世界の何かに名前を付けるとき、それに何らかの価値を見出しているのだ。
貨幣について考えるべきは、各商品の交換の難しさである。そもそも、違うものは等価ではありえない。本当に等価なら交換は有り得ない。等価なら交換の必要が無いからだ。
交換で相互に得をするような状態で無いと、一般に交換は成立しない。つまり交換とは、相互の価値観の違いがなければ実現しない。
ものの取引を考える際には、等価交換という考え方を捨てるのが第一だと思う。
■ 旧ソ連のコンピュータ # リンク追加 -2004年6月20日(日)00時37分
旧ソ連の独自アーキテクシャマシン用のあるソフトウェア開発プロジェクトについてのページ。ロシア語。
BESM-6のアセンブラ、もしくはプログラミング言語Алмоのものと思しきソースの一部を含んでいる。
■ 旧ソ連のコンピュータ # 文字コードについて -2004年6月18日(金)19時40分
コンピュータが人間の理解できる文章を出力するためには、出力装置に対してどういう文字を出すのか指示をしなければならない。
一般的なレミントンタイプライタのキーは48、これを表現するには少なくとも5bitは必要である。初期のバイナリ化符号であるモールス符号は原理的に不定長符号であり、自動化には不向きだった。1875年にフランスのボドーが5bitのコードを考案し、これは後に国際標準ITA#2となる。この符号化規格は文字通信であるテレプリンタ/テレックスのネットワークで広く使用された。
テレプリンタは機械、特にコンピュータの出力には最適であった。コンピュータは内部の文字表現をテレプリンタの符号化規格に合わせ、それをオン/オフのシリアル信号にしてテレプリンタに送ってやるだけで文字が出力できるのだ。
1962年に8bit文字コードであるEBCDICがIBMによって、1963年に7bit文字コードであるASCII (American Standard Code for Information Interchange)が、ASA(American Standard Association)によって定めれられた。ASCIIは当時小文字をサポートしておらず、制御コードにも差異が見られた。現在の姿になるのは1967年である。ちなみに小文字はASCIIをたたき台とした1964年段階のISO文字コード案には含まれており、同じく1967年には国際規格ISO 646としてASCIIと同じものが制定されることとなった。
ロシアにおいては1850年代にキリル文字版のモールス符号が考案され、1920年代にはテレプリンタのキリル語版があったようである。
1964年に、GOST(全ソ国家規格委員会)は7bitの文字符号化規格GOST 10859を制定した。ITA#2とは違い、キリル文字のキャラクターがアルファベット順に並んだ、ASCIIのキリル文字版というところであった。集合や下添字のような数学記号も含まれているのが面白い。同時に4,5,6bitのサブセットも定義されている。
その後ASCIIに制御文字が追加されたのに合わせてGOST 13052が制定された。下位ビットにASCII互換の制御文字が追加され、アルファベットを除く記号類もASCII/ISO 646準拠となった。アルファベットはキリル文字の小文字も含まれ、並びがアルファベット順ではなくなっている。
1974年、8bit文字コードGOST 19768/74が制定された。これは8bit拡張されたASCIIの上位互換の規格である。つまりこの規格に準拠するとASCIIで書かれたデータ/テキストが文字化け無くそのまま読めるのである。キリル文字のアルファベットは並びもそのままに、0xc0から0xffの領域へと追いやられた。
この規格は1980年代に2文字を加え、ウクライナ語用の別バージョンが現れて、koi8(8-bitnyi Kod dlya Obmena i obrabotki Informatsii : 情報交換・処理のための 8 ビット・コード)と呼ばれるようになった。このコードセットはUNIX系のマシンで現在も使用されており、ロシアにおけるISO-2022-JPやEUC-JPに相当する存在となっている。
ロシア語版文字セットKoi8-r は1993年にRFC-1489という形でインターネット標準のひとつとなった。
■ ネットワーク上の旧ソ連コンピュータに関する情報源 -2004年6月17日(木)22時40分
Russian Virtual Computer Museum
旧ソ連のコンピュータ開発について最も網羅的なページ。内容は英語、ロシア語双方ともに用意されているが、ロシア語のほうが数段詳しい。
旧ソ連のコンピュータ開発についてのページ。内容はロシア語。
歴史的側面に力点を置く。
Computing in the Soviet Space Program
Buran用コンピュータなどが目新しい他は、Russian Virtual Computer Museumの内容とほぼコンパチ。
旧ソ連を代表するコンピュータ、BESM-6(БЭСМ-6)についてのページ。内容は英語、ロシア語の双方が用意されている。
インストラクションセットの解説やエミュレータソースの配布も含む。エミュレータは文字コード(KOI-8)に気をつけないと動かすのは難しい。
これもBESM-6に関するページ。内容はロシア語。
アーキテクチャ図などが興味深い。
HCM: East-European Home-Computer
所謂東側諸国のパーソナルコンピュータのページ。内容は英語。
旧ソ連の独自マイコン、Радио-86РК系のエミュレータのページ。内容はロシア語。
旧ソ連の独自マイコン、Радио-86РК系のページ。内容はロシア語。
旧ソ連で普及したシンクレアクローン、Hobbitのページ。内容は英語。
The First Soviet Semiconductors
旧ソ連初期の半導体製品と技術について。内容はロシア語。
電卓のコレクション。内容は英語。
内容は非常に興味深い。旧ソ連において電卓はその技術的完成度を高め、安価なものや高度なもの、プログラマブルなものなどバリエーションを広げながら、ついにパーソナルコンピュータへと繋がることは無かったのである。
機械式計算機を含む卓上計算機のコレクション。内容は英語。
モールス符号などのいわゆるテレグラフについてのページ。内容は英語。
ロシア版モールスについての記述あり。
旧ソ連製ICチップについてのページ。内容は英語。
型番解説が有り難い。144、145系はもうロシアでも手に入らないようです。西側のTTL,CMOSコピー品の型番変換表もあります。
Изучение и исследование микропроцессора КР580ВМ80А
旧ソ連製8080クローン、КР580ВМ80Аについてのページです。内容はロシア語。
各種CPUについてのページ。内容は英語。
旧ソ連製CPUについての記載あり。
旧ソ連の教育現場でのコンピュータ使用事例。内容は英語。
ユーザー側の視点からの貴重な資料。
Shema.ru - Анатомия электроники
大量の回路図があります。内容はロシア語。
旧ソ連最初期のマイコン、Микро-80 のものらしき回路図もアリ。
抵抗、スイッチ等について。内容はロシア語。
MSXマイコンのハードウェアに関する情報集積。内容は英語。
ロシア向けMSXの資料あり。
文字コード基準各種とその変遷について。内容は英語。
GOST規格文字コードについての記載あり。
ロシア語用文字コードKOI8-Rについてのページ。内容は日本語。
RC "Module" - RISC/DSP Processors and Cores, Video-Image Processing Systems, Embedded Computers
ロシアのコンピュータメーカ。
DSPなどのデバイス開発力もあるが、軍用/宇宙用コンピュータ製造も行なっている。MBC186/3081 シリーズのCPUは80186らしい。
Early History of Soviet Cybernetics
旧ソ連のサイバネティクス史について。内容は英語。
The Ershov Archive for the History of Computing
まだよく中身をチェックしていないが、貴重な内容かもしれない。
Любимский Э.З., Поттосин И.В., Шура-Бура М.Р.
まだよく中身をチェックしていない。運がよければソフトウェア系。
■ 「資本論」読書ノート -2004年6月16日(水)22時58分
「資本論」を読み始めたきっかけは、旧ソ連のコンピュータについて調べた中にあります。
旧ソ連のコンピュータ開発は、アメリカに遅れる事およそ3年から4年という時点から出発し、独自のハードウェア及びソフトウェア、理論とアーキテクチャの発達をみながら、1960年代後期にはアメリカにほぼ追いつきました。
しかし、ブレジネフの時代と時を同じくするように、旧ソ連におけるコンピュータの進歩は停滞します。旧ソ連の崩壊まで、西側の水準からおよそ7年遅れという状況が続く事になるのです。
停滞の原因は1950年代まで遡って、政治的な要素によるものでした。サイバネティクスという学問分野全体が攻撃を、弾圧を受けたのです。
どうやら”サイバネティクスは唯物論に反する”らしいのです。当時はルイセンコが幅を利かせていた時代で、他にも”相対論は唯物論に反する”なんて言いがかりもあったようです。
更に裏には、恐らくポーランドの計量経済学者主導の経済改革の失敗の影響があるという推測も可能である。
という訳で、ポーランドと計量経済学が興味の対象となった訳です。
問題は”サイバネティクスは唯物論に反する”という奴です。唯物論は知識としては知っているけど、どこが反しているのかさっぱり。ウィーナーの「サイバネティクス 第二版」は昔読んだけど、どういう内容だったかは忘れたし。調べると「サイバネティクス 第二版」は未だに岩波の箱入りハードカバーしか存在しないらしい。こいつは近所の古本屋にて保護。
問題は唯物論の総本山こと「資本論」です。最近「マルクスと技術論」という本を手に入れたのですが、これがもうさっぱり。原点に当たるしかないと覚悟しましたが、相手は岩波の文庫で十分冊。古本屋でも見つかりません。観念して最初の三巻を本屋にて購入。
ここまでが前振りです。
序文は全てすっ飛ばし。
第一篇 商品と貨幣
第一章 商品
使用価値は交換価値と違う。独立である。交換価値は相対的だが、根底には人間の労働の成果という価値が潜在している。
……交換価値は時と場所で可変なので、場合によっては商品の真の価値なるものはゼロになってしまう。場合によっては負の値を取るが、商品から労働の成果が失われた結果、マイナスになってしまう、なんてことが有り得そうで恐ろしい。
労働力の質と量についてはそれなりの考察があるが、しつこい。
商品Aの交換価値=商品Bの交換価値の場合、Aは相対的価値形態、Bは等価形態である。
……等価ではないのかよ。
交換価値は技術の進歩による労働時間の短縮などにより、その短くなった分価値を比例して減らす。
……シーズン当たりに仕入れることのできる原材料が限られている場合、技術の進歩は製品を安価にするだろうか。いや、市場価格は変化しない。
この辺りで、共産社会の秘密が幾つかわかった気がする。
■ ケロシン -2004年6月14日(月)22時47分
宇宙開発史の桜木さんに指摘されたが、R-7の構造重量比は、推進剤が液酸ケロシン系だから、だった。ちなみに日本のN-IIやH-Iの一段目で20いってるし。気が付かなかった。
というか、20って凄い。ケロシンと液体水素では、これほど密度が違うのか。
これから、ロケットの構造をコストで考えてみたい。
■ R-7の構造重量比 -2004年6月14日(月)02時11分
Soyuz 11A511諸元
一段目
構造重量 3.80ton
全重量 43.4ton
構造重量比 11.42
比推力 262(海上)s
二段目
構造重量 6.55
全重量 99.5
構造重量比 15.19
比推力 262(海上)s~319(真空中)s
三段目
構造重量 2.41
全重量 25.2
構造重量比 10.46
比推力 325(真空中)s
特筆すべきは二段目の構造重量比である。H-IIA一段目で9.15、半世紀前のロケットの一段目にすら大敗しているのであるが、二段目と来たらもう。これに勝てるのはシャトルの外部燃料タンク(構造重量比21)くらいだが、あれにはエンジンも制御系も付いていない。
半世紀前の、世界最初の宇宙ロケットである。特別な素材が使われている訳ではない。構造は飛行機と同じセミモノコックだ。つまり、設計そのものが違うのだ。
で、話題になるのが、いわゆる”宙吊り疑惑”である。
R-7は射点に、半ば宙吊りで固定されている。チューリップ型の支持構造に、一段目先端近くの留め金が引っかかっているだけで、一段目と二段目の下半分は、そこからぶら下がる格好となる。
この構造では一段目が二段目の重量を支える必要が無い。但しこれは射点を離れるまでのことである。性能には関係しない。
この構造の真の利点は、二段目が自重の大半を支える必要が無いことによるのではないか、というのが宙吊り疑惑のキモである。その仮説によれば、四本の一段目は、中央の二段目の重心近くで結合して支えるために、二段目の下半分は、自重以上のものを支えずに済んでいるのである。
この仮説は、一段目と二段目の接合部を、一段目がボールジョイントで二段目を下から支えているだけに過ぎない、と予想している。
■ バリテクノロジーEXPO -2004年6月12日(土)10時01分
バリ取り、エッジ仕上げ、表面仕上げの最新技術が、東京ビッグサイトにて一堂に会します!
期間は2004年6月16日~18日の三日間。この間、ビッグサイトはバリ取りの殿堂となります!!
……他の見本市と併設で、多分西館でしょうけど。しかし、バリテクノロジーEXPO、すごいなぁ。
■ 全体主義の採用とコントロール -2004年6月11日(金)03時34分
全体主義は、軍隊や団体スポーツ等では普通に採用され、効果を挙げている。これら全体主義システムが停止可能であるのは、勝敗が付いた時点で維持が不経済なものになるからである。
いわゆる”有事”の全体主義を期限付きで有効なものにするには、この手の自動解除機能は必須だと思われる。問題は、普通その手の全体主義は指導機構にとって経済的なものになるために、なかなか解除されない点にある。
まず、資源の分配権限が権力の源泉となる。これによって利益を得る層がこの権力を支持して、これが経済的に全体主義を支える。
これを防ぐには、資源の分配を自動化する、資源の総量を限定する、等の方法があると思う。これら対策が取られない有事体制というものは危険であろう。
全体主義は、軍隊や団体スポーツ等で必須だろうか。例えばサッカーでは必須ではない。サッカーではメンバーが自己判断で行動作業を行なう。勿論、サッカーでも全体主義による戦術は可能である。いわゆるフォーメーション、事前に指導者の指示で手順を組み、状況に応じて複数の手順を使い分ける戦術が存在する。
自己判断によるプレイでは、メンバー間の素早い通信によってタイミング等の情報が伝達されて、集団作業を実現する。フォーメーションでは通信が不要であるため、素早い集団作業が実現できる。
では、自己判断によるプレイはフォーメーションに劣るかといえばそうではない。まず、フォーメーションは事前に想定した状況以外では有効ではない。また、メンバー間通信は、メンバーが互いにメンバーの行動予測をすることによってその大半を省く事ができる。
野球では全体主義のほうがローコストである。ゲームはサッカーのようなパラレルな展開ではなく、シーケンシャルな、シリアルな展開であり、メンバー間通信の必要は少ない。
戦争は基本的にパラレルに展開する。軍隊でもメンバー間通信がローコストになれば、全体主義よりも強いシステムを作る事が可能となるかもしれない。軍隊において命令が絶対であるのは、コストのかかるメンバー間通信を不要にするためである。
■ 文体の揺れ -2004年6月11日(金)02時20分
面白い、というか、面白くないので、このままで行こうかと思う。
文体、色々と試してみるべきじゃろ。うん。
■ ブログ化検討 -2004年6月11日(金)02時13分
ブログにしちまおうか、と検討はしてみる。
Weblogとは、いわゆる日記システムにRSS吐きとTrackback対応を行なうことで構成される、と認識している。
個人的には、ブログとかそんな言葉は激しくもにょってしまう。旧来のWeb日記系、すなわち段落アンカー対応のページを生成する日記システム(と、アンテナ)に羨望のまなざしを抱きつづけていた身には、今更の感が強い。
こいつのコードは、大昔に野田さんが書いたBBSスクリプトがベースで、宇宙作家クラブニュース掲示板とはその起源を同じくしている。更に起源はどこかのフリーのスクリプトだと思うのだが、この簡易日記システム用にほぼ跡形も無く改変してしまった。
RSSを吐かせるのは簡単である。XMLパーザは必要用件ではない。
Trackbackは面倒そうである。というか利点がわからない。リンクの実体が無いのにTrackback Pingが打てるという時点で、段落アンカー+リファラログに劣ると思うし。
という訳で、ブログにはしない。そのうちRSSは吐かせよう。
現在のスクリプトの問題は、書き込み後の訂正編集機能と、組込みの表現能力の向上である。つまり、Wikiの勉強が必要である。
■ コンピュータの定義 -2004年6月8日(火)21時44分
あ、やっぱ、みんな適当に定義してるんだ。
五番目は疑問形、六番目はそれ満たせばコンピュータかよ、って内容だし、七番目にいたっては説明を放棄しているし。
二番目は自信たっぷりだけど、”電気で動くもの”と断言しているのはこれだけ。一番と三番は定義がいまいち曖昧です。
四番には、騙されるな、と警告しておきます。よく考えてみればプログラム可変内蔵方式でなくても有限チューリングマシンは構成できます。ライフゲームが計算万能であるのと同じ理屈で、ワイヤードハードウェアでも、メモリ上にチューリングマシンのエミュレータは作れます。
私の”コンピュータの定義”は、チューリングの停止問題に対して、決定不能であるように振舞わせる事が可能な装置です。
停止問題とは、噛み砕いて言えば、任意の記号列を食わせたときにチューリングマシンが停止するかどうか判定する万能アルゴリズムは存在しない、という事です。
即物的な証明としては、記号列入力を判定アルゴリズムというブラックボックスに繋いで、その出力で予測の逆に、無限ループか停止アドレスかに制御を飛ばせば良いと言う理屈があります。
何故停止問題が大事かといえば、要するに不完全性定理の一部だから、ですね。このくらいハッタリが効いていた方が”コンピュータの定義”に相応しいでしょう。
で、前述の即物的な証明を実現するには、アルゴリズムを走らせる事ができないといけません。あと条件分岐。
つまり、現実的なコンピュータの定義は以下のようなものになります。
演算命令と条件分岐命令を含む命令列を受理する装置
■ 教訓 -2004年6月7日(月)20時28分
問題の原因として複数の個所が疑われる場合、例え問題個所が明白と思われても、コストが最も安い個所の交換からスタートするべきである。
例えば、既に同じような機能を持つ部品があるなら、それと交換してみるのが最もコストが安くなる。交換用部品の調達の必要がある場合は、交換の順番はコスト順でないと、後で泣きを見ることになる。
……録画PCの不調の原因の一つは、アンテナケーブルでしたとさ。
ありとあらゆる不具合の原因の半分は、インタフェイスにある。問題があるなら、まずコネクタを疑え。
この、骨の髄まで染み込んだ筈の教訓を忘れていたのも問題だ。
■ IDEコントローラ -2004年6月5日(土)12時32分
ドライブが何故かSCSIと認識されていて、何故かと思ったらIDEコントローラの所為らしい。
正常な振る舞いをするIDEコントローラそのものはドライバとして存在していて、インストール可能なのだが、異常なIDEコントローラがリソースを握っているので変える事が出来ない。
対処としては、まずプライマリかセカンダリのIDEドライブを外してブート、片側のコントローラを正常なものと交換する。これなら握るべきリソースが存在しないために成功するのである。
その後IDEコネクタの挿す位置を変えて再びブート。残りのコントローラも入れ替える。
これだけの事を思いつくのに数時間も費やしてしまった。
■ BigDrive対応 -2004年6月3日(木)23時25分
WindowsOSで137Gbyte以上の単一領域をパーティーションとして確保したかったら、まずBIOSの48bitLBA対応が必要である。次にWindows2000ではSP3、WindowsXPではSP1以降の対応で実現されるので、この適用が必要である。
Windows2000の場合は、更に以下のようはレジストリへの追加が必要となる。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters
に追加:EnableBigLba:DWORD 0x00000001
WindowsXP SP1適用済みのOEMパッケージでは、インストール時からBigDriveに対応している。
Windows2000でも、SP4適用済みCD-ROMなど作れるが、レジストリまでどうやったら手が廻るか判らない。Windows2000でBigDriveへのインストールは可能なのだろうか。また、修復セットアップなどの必要な事態が発生した場合の対応も考えねばならない。
BigDriveを運用するWindows2000ユーザはSP4適用済みCD-ROMを用意する価値はあるとみていいだろう。
■ ウヨと憲法改正 -2004年6月1日(火)22時33分
中曽根康弘が戦後昭和30年代に提案した憲法改正試案について、どのくらいの人間が知っているのでしょうか。
自分が知っているのは、手元の本に第一条から十条までと、七十七条から九十三条までを引用されたものです。ちなみに第一条から十条まで天皇の事で占められています。当時は特に右翼の間で知られたものだったらしいです。
ちなみに手元の本というのは「大右翼史」荒原朴水著、昭和38年出版、表紙に金文字をあしらい、とんでもない分厚さで、巻頭に力作のポエムをあしらった大著です。
内容は……まぁアレですな。この時代のモノホンの右翼がどんなDQNだったかよく判る内容です。合理的思考が少しでも出来る人間が読めば間違いなく悶絶します。私は悶絶しながら読み切りました。だって面白いし。アカとか中共とか連呼するものの、目指すものが国家社会主義というか共産諸国とどう違うのかわからない全体主義だったりするのが、当時の時代の空気を反映していて興味深かったです。
この本は私の宝物です。スゲェよこれ。ウヨってみんなこんなに頭がおかしいのだろうか。つうかおかしいよな。
■ 空気を読む -2004年5月31日(月)01時13分
空気を読む、とはどういうものなのであろうか。また、どうすべきであろうか。
BBS等で、空気を読んでいない発言というものは、以下のいづれかの問題を持っている。
話題は、タイミングによっては受け入れられる場合もあるが、全てのタイミングで共通して受け入れられない話題というものもある。多くのBBSでは政治や宗教がこれに当たる。また、BBSの多くは話題の傾向を持っており、これから大きく逸脱するものは歓迎されない。
タイミングは、話題の連鎖が望ましい、つまり話題に関して結論などの不足情報があり、話題に関連性が求められる状況で特に問題となる。発言が提議から結論まで一貫して含み、過不足が無いような、そんな発言ばかりならば、タイミングは問題にならない。逆に、発言の長さに厳しい制限があるような場合、発言は単独で成立し難く、話題の流れを必要とする。こういう場合、タイミングは重要な概念となる。
文体は、敬語や改行位置などの技術的制約を含む。またこれにはローカルルールなども含まれる。
空気を自動的に読もうとするなら、文体のチェックがまず最初に実現できるであろう。次は話題であるが、過去ログから、歓迎されなかった話題について調べるのは有意義であろうと思われる。タイミングを計るのは最も難しい。
■ 初等801数論 -2004年5月29日(土)00時55分
801数とは、所謂やおい、スラッシュ等と呼ばれるキャラクター描写において、その関係を定義するのに用いられる数体系である。
キャラクターAと、キャラクターBの関係が”やおい”である場合、その関係はA×B、またはB×Aという具合に、二項の積算で表される。スラッシュでは関係式はA/B、もしくはB/Aと表現される。
関係式A×BとB×Aは違う値を持つ。スラッシュも同じように項の順番によって関係式は違う値を持つ。801数のは交換法則を満たさないのだ。また、801数は加減演算を持たない。従って801数においては、分配法則を満たすことは不可能である。
関係式A×BとA/Bの意味はほぼ等しい。つまり、
A×B = A/B
この関係を満たす実数は0,1,そして-1しかない。恐らく、801数は0と、1の絶対値を持つ値しか存在しないのだろう。勿論801数は実数ではない。複素数でも4元数でもない。
積算と除算の二つの演算しか許さず、交換法則と分配法則を満たさず、0と、1の絶対値を持つ値しか持たないこの数体系、一体どこから来たのであろうか?
■ 体制破綻の典型プロセス -2004年5月27日(木)08時04分
1:現場と上層部のノルマ達成要求の板ばさみとなり、中間管理層が上層部に何も報告しなくなる(もしくは報告を粉飾する)。
2:上層部は適切な判断を下せなくなり、権威を失う。
3:上層部は失った権威を回復すべく、リソース分配の権限を権力の道具として使い始める。
4:そして破綻へ。
破綻へのプロセスは一定ではなく、気付かないような緩慢な進行を示すものも多いのですが、特徴として管理層が現場の人数に比して膨れ上がる傾向を示します。これは上層部が中間管理層に取り入るために基本的に飴を、たまに鞭を振るうようになるため、飴玉に虫が群がるようになるからです。
この飴は体制にお上品に組み込まれることも多く、一見それとは気付かないようになっています。
恐ろしいのは破綻で終わりじゃないという事で、組織が余りに腐敗、硬直化してしまうと、破綻を人事改造の道具として待望するようになり、破綻もシステムとして組み込まれるようになります。
■ 全体主義という語の定義 -2004年5月25日(火)21時11分
「ポーランド社会の弁証法」は面白い。全体主義社会の安定化システムについて、数字と実例を挙げて説得力のある説明があり、極めて読ませます。
で、気が付いたのですが、全体主義という単語の意味は現在極めて限られた範囲でしか用いられていないのですが、これは大幅に一般化可能です。全体主義というシステムの理解のためにもこれは必須だと考えます。
単純に言えば、全体主義とは、個人主義の対語であるべきです。政治という単語と同じく、国家のレベルでしか適用されないという考え方は、システムの理解を阻害するものだと考えます。
だから、私は全体主義をこう定義します。
全体主義:目標の為に全体が一致協力すべきであり、一致は部分の意思や利害に優先するという考え方。
全体主義の安定化システムは極めて単純です。
まず、”目標の為に全体が一致協力すべきだ”という概念が先行します。
意思の一致が必要とされるために、これに反対するものは、意思表明の段階で攻撃されます。
最後に体制は、”全員(少なくとも大多数)の意思の一致ゆえに正しい”と正当化されます。
これだけです。
全体主義は、現在多くの組織で有用とされています。例えば軍隊。例えばスポーツのチーム。そこでは命令は絶対です。戦闘やプレー中に命令の正当性などを考え始めたら、勝てるものも勝てなくなるでしょう。
勝てるチームは、勝利という報酬があるために安定システムのお世話になることは少ないでしょう。しかし、負けているチームはどうでしょうか。一致協力が更に強調され、分裂や脱退が暗黙の罰則によって禁止しされることになります。暴走族の掟です。
チーム指導者に負ける原因がある場合、一致協力の原則から内部からの改善は極めて難しくなります。従って、外部によるトップすげ替えが問題解決の定石となります。プロ野球で監督の交代にあれほどの意味が与えられるのもこれが原因ですし、トップの首を挿げ替える責任という考え方が一般的なのもこれによります。
問題になるのは、上位権威の無い、外圧の弱い階層、例えば国家で全体主義が蔓延した場合でしょう。システムには問題解決の手段が働くまで暴走が許されます。この場合は戦争や暗殺といった手段がそれに当たります。
従って、国家のレベルでの全体主義の導入は、絶対に許してはなりません。これは有事を言い訳にするものも含まれます。一度全体主義で動いたシステムは、外乱でしか停止できない事を改めて強調します。
さて、本当に面白いのは、全体主義とは、実際には独裁者を必要とはしないという点です。全体主義は独裁者を持つと極めて効率的に動作し、独裁者に好まれますが、前述の安定化システムを眺めれば判る通り、全体主義そのものは独裁者を必ずしも必要とはしません。
独裁者を持たない全体主義は、実は社会のどこにでも蔓延しています。空気を読め、右に倣え、ぐだぐだ抜かすな。こうして多くの集団が、外乱を待ちつづける非効率の塊となっていくのです。
日本において外圧が有効であるのは、この理由によります。
■ 善意と行動の許容される範囲 -2004年5月24日(月)23時16分
日本社会において、善意の許容される範囲は極端に小さい。というのも、善意の行動というものは大抵他人への作用であるからだ。例え対象者に対する行動が善いものであっても、日本では第三者が極めて近い範囲におり、全体を通してみると決して善い行動であったとは言えなくなる。
また、何らかの行動そのものも許容される範囲は小さい。日本における道徳と慣習は、他人に対する影響をトータルでマイナスにしないよう構築されており、通常行動からの逸脱は極めて小さいものしか許容されない。一般に、行動するというだけで社会からの逸脱とみなされる。
日本人は、人で溢れ返る花見の酒席に詰め込まれている。そこでは行動は極めてコストの高いものとなる。もしくは極めて無神経なものと。我々は、誰かの足を踏まないか、何かを跨ぎ越していないか、誰かの会話の邪魔をしていないか、そういう様々な絶え間ない心配無しには生存できないのだ。
■ 人工衛星のプラモデル -2004年5月24日(月)23時05分
「ひまわり」や「GPS」という名前で売る。これらの名前は極端に認知度が高く、マーケティング的に特異な存在ではないだろうか。
ものを”売る”とは、結局のところマーケティングの問題である。探せば、こういう認知のされ方をしたものは多く見つかるだろう。
■ どっかんムービー -2004年5月24日(月)22時50分
■ アニメ感想から学ぶ事 -2004年5月24日(月)19時52分
杉の木アンテナから各アニメ感想ページを眺めるのは、様々な点で面白い。
とにかく、同一の作品に対しての様々な感想を眺める事ができるというのは、同時に様々なものの見方というものを浮き彫りにする。ここで得た考察は、本の感想というものはどうあるべきか、自分自身にもフィードバックできる。
感じた事、思った事などを以下に列挙する。
対象を類型に分類するのは、大抵の場合大ハズレに見える。
類型から予想した”最善の”展開から外れていると批評するのは、痛々しい。
アニメの鑑賞眼=演出について語ること。
外部の話題と連携しているほうが、概して興味深く読める。
特に第二項についてはよく考えるべきだろう。”ボクの考えた展開よりヘボいよ!”なんて書くのは最悪だと戒めるべし。……でも考えるのは楽しいよなぁ。
さて、自分の書き方はどうだろうか。
アニメ批評系では、粗筋を書かれてもちーとも参考にはならない(前日あたりに既に観た作品である場合が大半である)が、本の場合は別だろう。
重箱の隅を突付くのは、見逃して欲しい。特にSFの場合、重箱の隅には応力が集中しているので、破綻の検証には突付くに限る。
感情論を述べる際は、自分の感情という特殊例であることを明示したい。
何が面白かったか、というのは読んで面白い。
何がつまらなかったか、というのは大抵面白くない。書きたいなら、面白く書くべきである。
もちっと、演出みたいなものについて語っても良いのではなかろうか。
歴史的、政治的な位置付けを無視することは、重要であると認識している。歴史的価値で評価せず、今日の視点で論じる事を再確認したい。これは今読んでいる「ポーランド社会の弁証法」の影響である。
■ 音声時計。 -2004年5月23日(日)21時07分
http://strawberry-linux.com/mp3/
フィンランドVLSI社VS1001チップとマイコン、CFカードを接続して、CFカードの中のmp3データを、一緒に置いておいたスクリプトに従って制御する。
適当な、バスが出ているマイコンにSRAMを接続してコントロールする。電圧は全3.3V系。EAGLEフリー版で作れるサイズだという気がする。問題はマイコン。H8系は5V(3.3V系ってあるのだろうか)だし。
秋月で売っている奴リスト。
H8/3069F = 5V
H8/3052F = 5V
H8/3048F = 5V,3.3V(3.3V=13MHz)
SH/7045F(SH-2) = 3.3Vしかしピン数が多い。
3048Fは流石に今更使う気にはなれない。しかし……
時計として働かせるには、電波時計でも繋ぐか。インタフェイス注意。
-何故スクリプトか-
決まった時間/決まった日時/条件に合致した日時というものを設定し易い。n回目の振る舞いを変えたりもできる。あと……
■ R-7ペーパーモデルを作るに当たって -2004年5月23日(日)21時05分
当然、高精度で良いものを作りたい。
紙としてインクジェット用ホワイトフィルムを想定。プラペーパ的な使い方をしたい。
発想の転換=>塗装済み精密キット。
エッチングパーツを使う。段間部トラスに採用したい。エッチングパーツ製作はプリント基板製作技術の延長線上にある。
問題はスケールである。以下のような縮尺を案として挙げる。(商用Soyuz-Uで全長42.5m)
1/144:316mm
1/160:265mm
1/220:193mm
1/288:147mm
一線級のロケットのサイズは大体40から60メートルの範囲に分布している。日本のH-Iで40m、M-3Sで28m、あんまし大きいのは嫌だし、R-7を貨車に載せたいという夢もあるし。……そもそもロシアのあの引込み線ってどういう仕様なんだろ。
■ 自作基板 -2004年5月22日(土)23時28分
どっかに書いたのをそのまま載せる。
EAGLE使って、AN2131SC載っけた汎用USB-IOを作ろうと思ったのです。
回路構成はCQ出版のTechI(8)にあったものをそのまんま。これを片面基板に載せます。
抵抗やコンデンサ類はチップ部品を使用して穴を空けるのを極力避けます。
リード付きの部品は全て、基板の裏側から挿入して表でハンダ付けするので、そういう部品のパターンは裏返しにしておく必要があります。
あとはネットにある親切な方の解説に従ってパターンを製作。とりあえずCutePDF Writerでpdfファイルに落としておきます。なんだかベクトルデータになっているようでした。
これをプリントアウト時に、インクジェットフィルムをケチる為にフィルム左上隅に追いやります。拡大縮小無しの実寸で印刷します。
あと、印刷面を感光基板側に密着させるために、ここで更にイメージを裏返します。プリンタの左右反転オプションを使いました。プリンタドライバにこのオプションがあるか、確かめておいた方が良いと思います。
仕事場に、もうかれこれ数年使っていないROMイレーサが転がっていたので、紫外線ランプだったよなぁ……と、コイツを使ってみましたが、惨敗。
波長が違うと駄目なんですね。普通にブラックライトを使いましょう。蛍光管を買ってきて、入れ替えて使いました。露光は10分でやってみましたが、問題無し。9分でも問題無し。
現像剤、他のヤツでも良いかもと思って、Kodakの安いヤツでまず試してみましたが、何にも反応しません。サンハヤトのやつが安全です。
エッチングは根性が必要でした。サンハヤトの最小サイズの感光基板でも大幅に余るようなサイズのパターンだったんです。エッチング前に、不要部分をレジストペンでベタ塗りしておくとエッチング面積が減って良いかも、と思いました。
紙フェノール、加工性悪いです。切断は要根性。穴あけは急ぐと裏面が割れます。ドリルはひとまわり細いものを使うと良いようです。あと、穴のまわりのパターン、今度はもっと太くしようと思いました。
その後、新しいパターンを作成した。そのうちドキュメントを整備して公開したい。ちなみに基板はちゃんと動作した。あとはEEPROM(24LC16)の入手のみ。
■ 新スクリプトエンジンについて。 -2004年5月22日(土)23時06分
”宇宙機打ち上げシミュレーションロールプレイシステム”に使ったエンジン、”種子島スクリプト”は、正直言って「オイラにもスクリプト言語作れたよー」というレベル止まりのものだった。
しかし、世の中見渡してもあんまし見かけない特徴を幾つか持っていた。
1:状態遷移マシン記述に特化したスクリプト
2:リアルタイム運用を指向。
3:テレメトリ/コマンドのインタフェイス概念
付随して
4:日本語による変数名記述の許容
そして更に、これに幾つかの特徴を付加しようと思う。今回の開発目標は以下の3つである。
1:マルチタスク/スレッド能力の付加。
組込みの世界ではマルチタスクであるが、PCの世界ではスレッド(メモリ共有してるから)に当たる。この作業そのものは極めて簡単である。
これがあると、例えばロケットのシーケンサーと、ロケットの振る舞いの物理シミュレータを分離できる。
優先順位に基づくスケジューラは今回は実装を見送る。が、極めて近い時期に実装したい。最終目標は、リアルタイムOSの代替、リプレースである。
2:浮動少数点演算のサポート
まず、上記のロケットの振る舞いの物理シミュレータの精度を向上できる。また、様々な物理シミュレータ(軌道、姿勢、地磁気、太陽などなど)をバックエンドで走らせる事ができると、自律ロボット制御の冶具として極めて有用である。また、仕事関連であるが、テレメトリ解析系への採用を目論むなら必須の機能である。
問題は、テレメトリ/コマンドのインタフェイス概念との適合性である。現在、種子島スクリプトでは変数は全てグローバルで、しかもそれを全てテレメトリとして外部に垂れ流す。物理シミュレーションで使う様々な変数を全て垂れ流すのは愚かしいし、全てを64ビットで垂れ流すのも愚かしい。
実装の方針として、まずは愚かしいタイプを実装し、次にローカル/サブローカル変数の実装によって全ての問題を解決するものとする。
3:文法の改善
現行の基本構文は、以下の通りである。
scene シーン名(条件){
条件一致時に実行される。
次のシーンへの遷移が含まれなければ、ここの内容を実行し続ける。
}else{
条件に一致しない場合に実行される。
次のシーンへの遷移が含まれなければ、ここの内容を実行し続ける。
}
sceneブロックは一定の時間間隔で実行されるループの一種である。この構文は条件分岐を含むが、実際のところ二分岐でしかない。
これではあんまりである。
これを
scene シーン名{
if(条件){
条件一致時に実行される。
}
}
とする。sceneブロックがループというのは変わらない。if文が追加される。文法はC準拠を目指す。
問題はやはり実装側、内部のスタックマシンにどういう命令列を与えれば良いかという問題がある。現行のスタックマシンの設計は、現在のscene構文の特徴に合致した設計となっている。
つまり、新しいスタックマシンの設計は必須である。
:その他の問題。
状態遷移で、retuen文をサポートすべきか。=すべきである。=スタックが必要。
ローカル変数/サブローカル変数の実装。
サブローカル変数というのは、グローバル変数だが、テレメトリとしてブロードキャストされない、スクリプトエンジンローカルな変数のことである。
サブローカルはグローバルと同じように記述し、但しブロードキャストしないというフラグを付けて管理する。
ローカル変数は……最初にスクリプトを舐めた時に、最大同時使用メモリを計算し、内部的に予約して共同利用する。メモリ使用量に対する上限管理は、組込みを考えたら必要だと思うし。
■ まず最初に。 -2004年5月22日(土)00時30分
目的:メモ等の永続的な記録
ここはWeb日記ではない。ましてやブログであったりはしない。定期的な書き込みの為に使う事を想定しておらず、アイディア等思いついた事をとにかくメモる事を主目的とする。