壊れたポットの代わりに炊飯器を茶釜に

今日はこれまでで一番冷え込みがきつい.特別給付金が振り込まれたら灯油を追加購入しようと思っているのだが,市役所からは何の応答もない.ポットも壊れてしまったので,炊飯器を茶釜代わりに使っている.まぁ,これもそれなりに「優雅」な気がしないでもないが…

IMG_20220220_225526  IMG_20220220_225651

それよりも,床が沈んで冷蔵庫が傾いている方が問題だ.わたし自身が,身体的に傾きかけていることの象徴のように見える.もう,終わりも近いのかな?つまり,いよいよ末期に突入ということだろうか?

コラッツ高速道路系はプログラム的にはほぼ完成し,マニュアルを書くだけという段階に達しているが,ここに来て,「完全正則コラッツ木を構成するためのもう一つの方法」というのが見つかってしまったため,急遽方向転換を図る必要性が出てきた.もう一つの方法というのは至って単純なもので「3の倍数ノードを一律除去する」というだけだ.コラッツ核木ないしコラッツ長子木と呼ばれるこれまでの方式は,あるノードの子ノード,つまり兄弟ノードを一括して長子ノードに代表させるという方法だが,この方法にはいくつか問題点がある.

一つは,1と5が直結しているため,この状態では完全正則木とは呼べないという点がある.これはある意味で1と5という2つの整数の特殊関係を示すものとも考えられるので,一概に退けるべきものではないが,完全正則木として扱うためには5をルートとしなくてはならないということを一々説明しなくてはならないというのもかなり厄介な話だ.

梶井基次郎の「櫻の樹の下には」ではないが,コラッツ木の根本には小さな有向サイクルが埋まっている.つまり,(1, 2, 4)という有向閉路だ.これはコラッツ予想問題の鍵とも言うべき急所だが,1ではなく5をルートとして議論を進めるというのはあまりわかり易いストーリィではない.(1は地中に埋まっていると言って納得する人はいるだろうか?)また,本来なら行き止まりであるはずの3の倍数ノードが処々に出現するというのも分かりづらい点かもしれない.また,この構成では素数の一部が完全正則木に含まれないという状況も発生する.これらの難点は,3の倍数を正則木から除去することで一挙に解決する.

この意味では明らかに後者の方式に分があるように思われる.実際,以前コラッツバスケット上で問題を考えていたときにも,3の倍数を除外するというスキームを試みたことがある.このときは,それによっても問題がほとんど易しくならないので一旦は放棄されたコースではあるが,むしろこちらこそ本線なのではないだろうか?

コラッツ銀河高速道路系には,一般道路と高速道路という2つの系統の区分があり,その「相互乗り入れ」つまり,インターチェンジというのが計算上の難所になっていた.このような問題はすでに全面解決しているのだが,それらの成果をすべて捨ててまた振り出しに戻るというのもかなりきついものがある.しかし,シンプルイズベストというオッカムの剃刀の原理に従うとすれば,選択の余地はない.

ここで方向転換すると「コラッツ銀河高速銀河系」はまったく使われないことになる.なぜなら,3の倍数ノードを除去したコラッツ木には一般道路と高速路という区別は存在しないからだ.しかし,せっかくここまで練り上げたものをただ捨てるというのももったいないので,ともかく,完全に仕上げてからお蔵入りさせるということにしたい.というか,すでにその水準に達していると思われるので,いまここで「コラッツ銀河高速道路系」を恒久的に凍結するというのでよいのではないか?これまで使ってきた「仮想木」という概念も破棄されることになる.

銀河高速道路系というイメージを放棄するとしたら,3倍数を除去したコラッツ木のイメージをなんと表現すればよいだろう?この道路網の特徴は中心点から全方向に放射状に道路が伸びているという点にあるので,コラッツ放射線道路システムとでも言うことになるのではないか?この道路網の特徴はノードを水平に接続する環状線がまったく存在しないという点にある.つまり,合流点以外の交差点は存在しないという道路網だ.英訳すれば,Roads radiating in all directionであり,Radial Roads と呼ぶこともできる.

direction-choices-and-career-decisions-with-a-businessman-standing-E1E27J

このイメージを採用するとすれば,プロジェクト名はコラッツ放射線道路系,Collatz Radial Roads Systemということになる.ちょっと膨らみのない名前になってしまうが,もっと直截に表現するとすれば,Collatz Complete Regular Treeということになるので,これまで使ってきたCollatz Tree GeneratorをCollatz Complete Tree Generatorとすればよいのではないだろうか?少し長くなるが,これが状況を一番よく表現しているような気がする.あるいは,Collataz Complete Treeでもよいかもしれない.これが一番わかり易いのではないか?

Collatz Complete Treeというのは正しいネーミングであると思われるが,むしろ,これまで使ってきた,Core Treeという方が直感的かもしれない.Complete Treeというと,正則であることを説明し,それが完全正則であることを付け加えなくてはならないが,Core Treeと呼べば必要かつ最小限の核に該当するということは理解され易いのではないか?従って,製品名はCollratz Core Tree つまり,コラッツ中核木ということになる.これでゆくことにしよう.

ゼルコバの木の開発用フォルダが5GBを超えている.本来このプロジェクトは高々2MBくらいだったと思われるので※,5GBもあるというのは異常だ.この原因は.vsというフォルダにある.このフォルダ一つだけで5GBを超えている.このフォルダはテキスト入力補完のための使用頻度の高い語句を収納した一種の辞書のようなものだが,このようなものがプロジェクトフォルダの内部にあるというのは問題だ.以前は外部に置いていたような気がするのだが…しかし,どこで調整すればよいのだろう?⇒方法が見つかった.

※2MBというのはさすがに過小評価だ.ゼルコバの木アルファ版のころはそのくらいだったかもしれないが,現在は開発用フォルダ全体で730MBくらいはある.

https://stackoverflow.com/questions/19398287/ipch-files-on-a-visual-studio-project/41138541

ツール→オプション→テキストエディタ→C/C++→詳細設定→フォールバック位置で「つねにフォールバック位置を使用」をオンにすると,システムの固定の場所を使うようになる..vsフォルダをまるごと削除してみよう.ソリューションを開くとこのフォルダは再生してしまうが,ipchフォルダは消えて,以下のようなメッセージが表示される.

image

上記のフォルダに既存のipchフォルダをコピーしてやろう.⇒うまくいったようだ.これで個別フォルダに入っているipchは不用になったので,削除しておこう.1個が5GBもあるので相当な量になる.⇒いや,こういう状態になったのはつい最近,つまりOSを再インストールしてからのようだ.それまでは「適切な場所」に保管されていたようだ.

画面レイアウトは基本的に従来通りだが,ラベルの付け替えを行った.

  1. Virtual tree → Core tree
  2. Degree → Max-branches
  3. Get branch position → Branch Location
  4. Verify → Verification test
  5. Get the sequence → Get Collatz sequence
  6. Get the number → Address to number
  7. Enter a branch order sequence separated by comma → separated by period

グラフ理論で一般的に定義されているdegreeと我々の用語の食い違いを調整するため,Degreeという名称を廃止してBranchに統一した.Sequenceという用語はコラッツ数列と枝番号列として使われているが,枝番号列はBranch Locationを指定するためのアドレスとして用いるということを明確にするために,Get the numberはAddress to numberに変更した.Branchという語は支店という意味で使われるのでBranch locationというと「支店所在地」のような意味になってしまうが,このコンテキストでは「木の枝」を扱っていることは明白なので多分誤解を招くことはないのではないかと思う.

コラッツ数列というのは,13→40→20→10→5→16→8→4→2→1のような「コラッツ写像」から導かれる数列で,コラッツ予想問題をやっている人には一番わかり易い表現ではないかと思う.コラッツ数列→コラッツ木アドレス→奇数→コラッツ数列の変換がもっとも重要なポイントであり,そこの点を飲み込んでもらう必要がある.

ゼルコバの木を改造して隣接リストをインポートできるようになれば,外部出力は隣接リストだけで済むことになるので,まずそれを決めてしまうことにする.コラッツ問題を解析する上でゼルコバの木の重要性は増しているので,コラッツ中核木生成ツールのリリースと前後してゼルコバの木コラッツ特注版をリリースすることに決めた.

コラッツ木はもっともシンプルな系図木であり,この図面が描画できないようでは話にならないというところから考えても,一度原点に戻って論理を洗い直す必要があると考えている.既存ゼルコバの木は高度な機能/パフォーマンスを求めるあまり,やや偏極する方向に逸れてきたのではないかと思う.このバイアス(歪曲)を戻してオーソドックスに戻る必要がある.このためには,まず,このコラッツ特注版が安定かつ高速に動作するところから始めなくてはならない.

現行ゼルコバの木のメニューでは「一覧表のインポート」でCSVファイルを読み込んでいるが,隣接リストは一覧表データではないので,独立のメニューコマンドとして「隣接リストのインポート」を追加することにする.⇒大体できた.いい感じだ.ファイルをインポートしたときには,デフォルトで画面に合わせてズームで開くようにした.実用的に使えるようにするためには,①テーマの登録と選択,②部分図登録の部分がきちんと動くようにしておく必要がある.現行では標準画面設定は枠線なしになっているが,枠線ありで最小幅とした方がよい.⇒登録しようとしたら,エラーが発生して異常終了してしまった.「パスへのアクセスは拒否されました」となっている.

IO.File.Move(selectname, newname)というコマンドを実行しようとして拒否されている.このコマンドはファイルの移動ないしリネームを実行するためのものだ.オリジナルファイルを退避させる目的で実施されているものと思われる.フォルダは一部読み取り専用になっていたので,解除してみたが動作は変わらない.エクスプローラで手動で変更することはできる.プログラムからの変更はできないようになっているのだろうか?このファイルはProgram Files (x86)/Common Filesに入っているので,アクセス制限が掛かっている可能性はある.⇒ファイルの所有者がTrustedInstallerになっている.これはかなり厄介だ.いつからこんなことになったのだろう?

設定ファイル類をここに置いているのは,ドキュメントなどに置くとそのユーザしかアクセスできなくなることを避けるためだったのだが…そうしないと,インストール時のオプションで「誰でも使える」とする意味がなくなってしまう.⇒VSを管理者モードで起動すれば変更できる.多分一般ユーザも管理者としてログインしていればプログラムから変更できるのではないかと思う.これは確認する必要があるが…

▲画面設定を変更して保存→終了しようとして,PAGESETUP::GetPageCountで停止した.(treeview()->validcard && !NearZero(wholeH % GH))という状態になっている.全体高=1005でGH=190から,1005/190=5…55となり,余りが出てしまっているためだ.この理由は後日調べるということにしておく.⇒上記で再登録した標準設定は動作しているようだ.

▲TruncatedTree 14を206307でソートしようとしてGetGenerationで停止した.(_generation < 0 && !showUnderWear)で_generationの値が-4になっている.絶対座標系では世代番号は負にはならないことになっているのだが…かなり始末が悪い.シューティングが必要だ.

要対処項目リスト:2022-02-17

要対処項目:125件:2022-02-19

外部項目:31件

  1. zelkova-treeとayanetのアカウントから送信できない.ayanetではコマンドがrejectされ,zelkova-treeでは送信中のままになる
  2. WPOSTファイルのテキスト検索はGoogleのサイト検索を使って行う
  3. XOOPSでlocalhostのパスワードが流出している
  4. nasu@zelkova-tree.net のパスワードが流出している
  5. AYAネットへのFTPアクセスとメール送受信が可能になった
  6. Open Live Writerの画面レイアウトが平常に戻った
  7. Open Live Writerのデフォルトフォントが設定できない
  8. AYANETのメールサーバー設定では,送受信ともSTARTTLS, 通常のパスワード認証として通った.メールサーバはpop.aya.or.jpとsmtp.aya.or.jp
  9. AYAネットから送信したメールがoutlookで迷惑メールに落ちてしまう.zelkova-treeから送信したメールも同様だ
  10. 外部接続ポリシーを変更して,開発機を常時ネット接続することにした
  11. OSのクリーンインストールをルーチン化する VS2017ではInstaller Projectという拡張機能のインストールが必要
  12. 開発機・FF機の2台のOSをクリーンインストールした 2022/02/14
  13. 「暗号化された通信で接続しましたが,接続したサイトの信頼性を確認できません」に対処する
  14. コラッツ木生成ツールをリリースしてownCloudにアップロードした
  15. AYANETにメール送信時,GmailアカウントにCCしたが入ってこない.
  16. テストメールというタイトルの不審メール4通を着信した
  17. Outlook.jpのパスワードを変更しても,メールを受信できてしまうのはおかしい.
  18. Outlook.jpのパスワードはマイクロソフトアカウントと連動しているが,「お使いのアカウントの一部に注意が必要です」という警告が出るだけで,サインインできてしまう.
  19. 2022/01/31 AYANETにパスワード変更依頼を送信した時期に複数の不審事案が起きている⇒いくつかの対処策を実行した
  20. カスペルスキーの「Microsoft Windows Operating Systemの保護されたトラフィックは監視されていません」という警告⇒以下の方法で対処 カスペルスキーのルート証明書を Mozilla Firefox 及び Thunderbird に追加する方法(個人向け製品)Kaspersky / カスペルスキー 総合176 https://support.kaspersky.co.jp/14620#block4
  21. カスペルスキーはownCloudとWordPressのログインIDを区別できない⇒ownCloudに別ユーザを登録してそのIDでログインするようにする ⇒ この措置はあまりうまく行っていない
  22. ownCloudにアップロードしたファイルがフォルダごと消える ローカルフォルダには残っているが,同期できない さらにファイル2つが消える
  23. カスペルスキー通知センターからの警告が入る ⇒ EXEを削除して完全スキャン
  24. 予備機に黒い画面が出現「ZZZZZ…」のような不明テキストが表示されている
  25. カスペルスキーから奇妙なメッセージが入った.「It’s lonely here! Your sensitive PDFs are waiting to get into the vault.」⇒カスペルスキーのVaultには任意のファイルを暗号化して保存できる.ここにパスワードリストを置くことは考えられる.
  26. Acrobat Readerはデフォルトで「起動時に保護モードを有効にする」がオンになっているため,印刷できない
  27. LibreOfficeの作業は開発機で行う
  28. LibreOfficeの日本語ヘルプをダウンロードする
  29. LibreはWindowsのメタファイルへエクスポートできる 読み込みも可能?
  30. 外付けHDをFF機に接続しようとすると落ちる
  31. 2021-12-25 VAIO機がネットアクセス不能となり,2 in 1に切り替え

改修履歴:1件

  1. 2^12までの検証テスト結果をエクスポートしてゼルコバの木で描画できるようになった.最大カード数は暫定的に7000点に設定している.デフォルトズーム倍率を1%として運用している

解決済項目:3件

  1. VS2019 .NET 5.0ではEXEとともに随伴するDLLを生成しているが,ソースコードに大幅な修正を入れてもどちらもほとんどファイルサイズに変化が見られない
  2. 検証テスト中枝番号リストを更新していたため過大な時間ロスが生じていた
  3. 仮想木⇔一般木の切り替えでRoot numberを変えないようにした

仕様/マニュアル/テスト項目 29件

  1. コラッツ銀河高速系ではスタックサイズを400000H,ゼルコバの木ではスタックとヒープをそれぞれ400000Hに設定している
  2. GetTheSequenceは1を与えられたときに返す値がないので無出力となる 枝番号リストを指定してコラッツ数列の逆演算を実行する場合,「空」が与えられた場合には1が出力される
  3. 検証テストの対象奇数領域を拡大した場合,コラッツ亡霊木の形状はどのように変化するか?
  4. B面で検証テスト以外の機能を実行したとき,メール送信ボタンがアクティブになっている⇒特に実害はないようにも思われる
  5. 一般木:N(k)=(M(k)-1) / 3 = (4^(k-1)N*2^c – 1) / 3
    仮想木:Nの長子をFとして,N(k) = ((3F+1)4^(k-1) – 1) / 3
  6. ノードNの子ノードの数列で3の倍数になるノードは3つ置きに出現する
  7. Odd numberの最大テキスト長を2147483647にしてみたが,表示が消えてしまう.ただし,中身は入っているように思われる.⇒数字が表示されていない場合でも保持されている内容は正しいことを確認する ⇒スクロールバーを付ける?
  8. Get the Sequenceにはまだ高速化の余地があるのではないか?
  9. 検証テストでNまでのコラッツ数がパスしたとして,N以下のすべての奇数がテストをパスしたと言えるか?⇒言えない.テスト範囲に含まれない奇数は存在し得る.ただし,非コラッツ数はすべていずれかのコラッツ数に接続すると言えるから,検証テストは不用ということは言える.⇒同一設定のとき,仮想木と一般木でDとHは等しい,と言えるか?⇒Dは異なる場合があるが,Hは一致しているように見える.⇒非コラッツ数をMとする.(M-1)/4は奇数M’でM'<M.M→M’→M”…M°となるようなコラッツ数が存在するから,M<Nであるとすれば,M°<NでNまでの検証テストに含まれる.従って,検証済みと言ってよい
  10. コラッツ数列取得で仮想木モードのとき,先頭行の右と左の値が等しい場合は,コラッツ数である しかし,一般路と高速路で同じ経路になるとは限らない
  11. 無量大数X=10^68Xコラッツ仮想木のどの位置に現れるか.D=5,H=549にX+1が配置されている.ポジションリストは{1, 3, 1, 1, 2,….1, 1, 1, }のようになる.これが無量大数+1の仮想木上の位置だ.いや,この数字は間違っている.これは10^64+1だ.いずれにせよ,無量大数の位置を確定することは可能だ.
  12. 一般木をCSV出力したとき,コラッツ数と非コラッツ数を色分け表示する
  13. ビルドで生成されるnet5.0-windowsフォルダには実行には不用なファイルが含まれている.これらは配布パッケージからは取り除くべきだ.
  14. 仮想木モードでRoot numberに非コラッツ数を指定したときの動作を確認する⇒ルートノードは非コラッツ数でそれ以外はすべてコラッツ数になる?「与えられた数字がコラッツ数でないときには,メッセージを出してコラッツ数に切り替えることを通知する」という記述もあるが廃止されたようだ 出力を比較してみた方がよい
  15. コラッツ木構造図に含まれていた漸化式の間違いに関する修正を入れる ①N(k) = 4N(k-1)+1,②N(k)=(M(k)-1)/3 : M(k+1)=4M(k) ①と②が等価であることの証明を与えた
  16. MilkyHiwayのアイコンをデザインする
  17. 隣接リストファイルをゼルコバの木で直接読み込めるようにする
  18. 出力枠のテキストを切り詰めるとき,行単位としていた仕様を廃止
  19. 枝番号リストは「郵便番号」Postal Codeとして表記することにする いや,Address Codeの方がよい ないし,Branch Codeとする DegreeはNumber of Branchesとする
  20. 正則コラッツ木のPDFサンプルを同梱する 3-8-766
  21. ダンプ出力は切り詰められているため,最初の一行は正しくない可能性がある
  22. 用語の調整・統一
  23. ゼルコバの木で隣接リストCSVを直接読み込めるようにする.これができれば,ゼルコバの木CSV出力はなくてもよい
  24. 3の倍数ノードの個数は正確に有効ノード数の1/3
  25. ノード番号を基準番号として用いる場合にはInt32を超える値を設定できない⇒現行ではノード番号を直接基準番号とするのではなく,通番を与えている⇒コラッツ木生成ではそうなっているが,それ以外ではノード番号が使われている.
  26. 完全正則木を生成するもう一つの方法として,3の倍数ノードを除去するという方法もある
  27. Val(str) で文字列を数値に変換するとき,Integerの上限よりも大きいがUlongの上限よりは小さいような奇数文字列を変換しようとすると,偶数に化けてしまう
  28. Parseという関数はテキストが空文字列の場合には例外を発生する
  29. ノード数は奇数になる場合も偶数になる場合もある.必要な条件はノード数-1が3で割り切れるかどうか?だ

ゼルコバの木項目:47件

  1. コラッツ専用版で行った暫定修正をフィックスする必要がある.①デフォルトズーム倍率,②重婚検定のパス,③MakePariListCleanのパスなど
  2. 系図ファイルのアイコンをダブルクリックしてアプリ起動するとエラーになる
  3. テーマが登録できない.テーマ登録は実行されているが,メニューに表示されないので選択できない
  4. 参照番号とテーブルのインデックスが一致しているという標準仕様を廃止
  5. デバッグ時のダンプはすべて止めたが,”CenteringCard Refnum=0”が残っている
  6. 登録カード数1631はゼルコバの木的には特大だが,単系列の単純な木で描画までに3分掛かるというのはおかしい
  7. 「インデックスが配列の境界外です」というエラーとBobject::originateのエラー,「結婚点一致検定ループカウントオーバー」は関係しているものと見られる
  8. 部分図の属するノードをカラー表示する
  9. 部分図を設定したのに保存しないで閉じてしまう 部分図を設定しても全体図で直ちにカラーが出ない 一度部分図に移動して戻ると着色されている
  10. 保存しますか?でライセンスキーが未生成だったので,キャンセルで抜けて正常終了のはずだが,EXEがロック状態になったまま開発環境で実行できない.タスクマネージャではプロセスは走っていない.
  11. どこかでハングしてしまった.父欄ダブルクリックで白紙カードが2枚できているが,画面上には1枚しか表示されていない.⇒選択状態がおかしくなっていたようだ.領域選択したら,その後は問題なく動作するようになった.
  12. 入力欄にカーソルを置いた状態でどこかカードをクリックすると,そのカードにリンクできるようにしたい.
  13. 既存カード氏名を父欄に入力→登録したはずだが,別カードが作られてしまった.⇒現行の暫定版(特注版)ではUNDOを止めてあるので,戻る操作ができない.⇒性別を見ているためだ.このカードは女子なので父にはなれない.
  14. あいまい選択でカード巡回パネルが出ているとき,パネルを移動できない.
  15. 一覧表をクリックしたとき,数字は辞書順ではなく,数値の大きさで比較して欲しい.
  16. 既存カード369を母欄に記入して,既存カラー表示されない.⇒やはり,新規カードが作られてしまっている.⇒性別が間違っている.
  17. 部分図に移動しようとして,PARTIALNAME::ExtractPartialCardのエラーになった.
  18. 現行では確定選択したあと,登録ボタンを押さないと登録が実行されない仕様になっているが,忘れることが多い.プロンプトを出すべきではないか?
  19. 部分図を生成しても,明示的に登録しないと保存できない.アプリ終了時にプロンプトを出すべきだ.
  20. 部分図画面を開いていて,部分図に登録して画面が更新されない.
  21. 実子と養子の違いはあるが,配偶者のいない結婚でページが2つに分かれてしまっている.
  22. どうも,かなり動作が悪い.803に父1205を登録して登録が消えてしまう.この状態でファイルをCollatzCoreTree 3-5-94 – BADとして保全した.親子関係の登録で親の親との関係が切れてしまうようなことが起こっているように見える.
  23. 純血統図というのは養親子関係を完全に無視するというのではなかっただろうか?多重カードが発生している.純血統図を解いたあとも図式が戻らない.多重カードを出して開きっぱなし.
  24. CollatzTreeCoreをダブルクリックで開いてフォントサイズゼロエラーになった.Collatz Tree 3-8-766.zelでも起きている
  25. コラッツ木構造.zelを保存しようとして,PAGESETUP::GetPageCountのエラーになった.
  26. Collatz 3-5-94.zelを開き,画面に合わせてズームしようとして,PAGESETUP::GetPageCountのエラーが出た.また,親子連結垂線が途切れている.人名枠幅を小さくしても変化しない.氏名だけが右にずれてゆく.人名枠ギャップは調整可能だが,結婚枠ギャップは変更できない.⇒独立に変更できないとしても,人名枠ギャップに連動して小さくできるようにすべきだ.⇒写真枠幅をゼロにしたら,人名枠幅が狭まった.⇒CubePDFに出力しようとしたら,ハングしてしまった.⇒VS2017を2つ立ち上げていたのが影響していたかもしれない.一つ落として出力できた.
  27. CheckCommitChargeでエラーが起きている
  28. 画面設定でチャンネル数をゼロに設定して例外が発生した.⇒一般のサンプルではエラーになっていないが,33点のチェーンではGENEBOX:findSameGeneで例外が起きる.GENELIST:AddSameChainで世代枠が空になっている.このサンプルをCollatzChain 32769-32.zelで保存して後日デバッグすることにする.
  29. 軸線図の動作を確認する
  30. Collatz Tree 3-8-766.zelを人名枠幅を調整してから印刷しようとして,GetPageCountのエラーになる.
  31. tamo2氏から預かった「保家系図4代まで」を開いてエラーが続出する.「セグメント値ゼロ」エラーが発生している.最終的には描画できる.このサンプルは外付けHDのVAIO2 BACKUP 2021-12-27…デスクトップ/新しいフォルダー/077保家に入っている.ファイルを閉じるときにもエラーが発生する
  32. 下図のような設定で,垂直親子連結線が兄弟連結水平線を突き出ている.サンプルはCollatz Tree 3-10-990.zel.
  33. 白紙で起動して最初にインポートしたとき,イレギュラーなフェーズ遷移エラーが起きる.いや,起動直後ではなく,すでにインポートを実施したあとだろう.
  34. CollatzChain.csvをインポートしてエラーが発生する.内容はCollatzNumber.csvとまったく同じ.ただし,カード並びが一方が昇順,他方が降順という違いがある.読み込み後は正常に描画できる.エラーはTRIBEBOX::CheckAbsoluteGenerationで起きている.理由は系列優先ノードのbreakupがオフという理由にある.breakupという変数は「重婚クラスタ検定で除去された結婚枝の当事者ノード」というものだが,それと「系列優先ノードの絶対世代番号不一致」がどう関係するのか飲み込めない.この関数は「系列優先ノードの物理世代番号を基準に絶対世代番号を振り直す.系列優先借りノードがbreakupノード(重婚クラスタ検定でパージされた結婚当事者)の場合,そのノードが本人ノードであっても,絶対世代番号と異なる位置に配置される場合がある得る このような場合,「系列優先ノードの物理世代番号を基準にその系列に属するすべてのノードの絶対世代番号を振り直す.」のように説明されているが,このサンプルでそのようなことが起きるとは考えづらい.⇒「コラッツ対応版応急措置@20211223」で止めておくことにする.
  35. ゼルコバの木の最新版とR20210317版で実施した修正の同期
  36. コラッツ1000.zelを開くのにかなりの時間が掛かり,マネージド・デバッグ・アシスタントが作動して停止する.
  37. サンプルは単純な木であるのに,ZTYW処理が作動している.暫定的にgoodsonを空としているため,例外が発生する.
  38. 人名枠高の計算がかなりおかしい.フォントサイズを大きくすると枠が伸びて世代境界を超えてしまう.しかも,人名が消えてしまう.系図画面設定でパラメータを変更しても画面に反映しない.⇒系統並び替えで正常に戻った.
  39. 親の垂線が兄弟連結線から突き出ている.⇒系統並び替えで戻る.
  40. 氏名欄で左右カーソルキーを押すと入力された文字が消えてしまう.おそらくこれは,カーソルキーに「カード移動」機能を持たせているためではないかと思う.⇒いや,違うようだ.上下カーソルキーでカード移動になっているが,左右カーソルはそういう動作にはなっていない.既存サンプルでは左カーソルで入力欄の左端にカーソルが移動してしまうが,文字は消えない…
  41. カード画面上部ツールバーの氏名欄に表示されている名前の後ろに余分なスペースが入っている.
  42. カード選択時に表示される赤枠は主選択カードを示すものだが,常時表示されているため,スクリーンショットを取るときには邪魔になる.
  43. コラッツ木データをゼルコバの木にて入力してエラーが発生する
  44. 系図画面上で選択判定が残ってしまっている.他のカードを選択しても選択が消えない.
  45. ページ設定を開こうとしたら,エラーが発生してパネルが開けない.プリンタの電源を入れてみたが効果なし.それどころか,印刷コマンドではエラーさえ表示しないで,無応答だ.印刷プレビューは開くことができる.
  46. 並び替えするとき,数字は文字列としてではなく,数として比較できるようにしたい…
  47. 先祖並び替えが動作しない.ボタンが効かない.また,ドラッグ移動もできない.↑キーでは移動できるが,適用で戻ってしまう.系統が異なるときは移動できないのだろうか?先祖リストには表示されているのだが…

コラッツ木項目:12件

  1. CSVをエクスポートしたときには,完了時にパネルを出してユーザに保存ファイル名を伝えた方がよい.ゼルコバの木と連動して系図画面を表示できるようにするとさらによいが…
  2. A面で検定中に仮想木モードに切り替えができてしまう ⇒ 対処した
  3. メール送信ボタンはつねにアクティブになっているが,検証テスト以外では送信される情報が少な過ぎて意味がない⇒意味がないということもないとは思われるが,とりあえず,使用しないことにする
  4. コラッツ正則木の有効ノード数を事前に計算し,残り時間を計算する
  5. Get the SequenceのCSV出力は倒立木として出力する
  6. 日数の表示をDD.HH:MM:SSではなく,DD,HH:MM:SSとする.ピリオドの代わりにカンマを使う書式はどこかで見たのだが,どこで見たのかは忘れた.⇒対処した.
  7. 検証テストで2^32を仕掛けると70日という予定工期が出る.2ヶ月と10日だ.当初より5倍遅くなっている
  8. 再帰関数内で使用している変数の大域化
  9. 巨大数を表示するテキストボックスにはスクロールバーを設置する
  10. 有効ノード数を事前に計算する公式を求める
  11. ゼルコバの木CSVを出力している論理で,最大カード数を超えた場合は打ち切る⇒正則コラッツ木生成ではCollatzTreeStructureで対処した 検証テストではMakeuAdjacencyListで対処した.ExportZelkovaCsvで上限を見るようにした
  12. 枝番号リストの区切り文字をカンマからピリオドに変える ⇒ IPv6ではコロンを区切り文字に使用している,電話番号はや地番はハイフォンで区切っている ⇒ ピリオドがよいのではないか?実際に出力して比較してみる

開発用に使っているDドライブの空き容量が逼迫している

開発機で開発用に使っているDドライブの空き容量が逼迫している.1月分のバックアップはEドライブに移動したが,まだ赤いままだ.CとEはそれぞれ100GB程度の空き容量があるので,余裕だが… リリースバージョンをEドライブの公式リリースに移動した.まず,ともかくログの読み直しを片付けてしまうことにする.開発を再開した去年の12月まで戻る必要がある.それ以前のログも整理する必要はあるが,そこまでは手が回らないので後日とするしかない.

昨日の「キーワード『秘』でエクスプローラ検索」したときの結果に関しては,マイクロソフトの検閲というより,単純な誤動作(読み間違い)の可能性もある.エクスプローラ検索でファイルコンテンツ検索するときは,プレーンテキストとして読み込んでいる様子で,アプリケーションで生成された複合文書ではデコードに失敗して誤読する可能性は高い.つまり,意味のない結果が表示されているものと見られる.

なぜだろう.要対処項目の入った記事を更新して余分な改行がすべての段落に入ってしまった.要対処項目リストはこのあとも編集が必要なのでその部分だけ切り取って別記事として投稿しておくことにしよう.

一応2021-12-11まで読み戻った.要対処項目は125件ある.これらを対処済みを除いてゼルコバの木関係とコラッツ関係に分類し,さらに,直ちに対処,後日などの対処法によって再区分して今後の作業の段取りを組み立てなくてはならない.当面の目標は「コラッツ銀河高速道路系」のリリースであり,そのためのマニュアル編集だが,その前に片付けなくてはならないことを整理しておく必要がある.⇒要対処項目125件を以下のように整理した.

  1. 外部項目 31件
  2. 改修履歴 1件
  3. 解決済項目 3件
  4. 仕様/マニュアル/テスト項目 29件
  5. ゼルコバの木項目 47件
  6. コラッツ木項目 12件

今後の方針としては,①コラッツ銀河高速道路系を仕上げる,②マニュアルを仕上げる,③ゼルコバの木コラッツ特注版をリリースする,のような展開を予定.着手し易いところから片付けてゆくことにする.

A面で検定中に仮想木モードに切り替えができてしまう⇒B面ではEnableDisableという関数で一括操作しているが,A面はそのようなものを持っていない.⇒対処した.

A面で仮想木を生成中にStopを押して,GoonFlagが落ちていたため,CollatzStreaming ONという理由で停止した.⇒実行中に入力ボックスの内容を変更したためだ.パラメータを変更すると本来停止するようになっているはずだが,停止せずにフラグだけ落としているためと思われる.実行中は入力できないようにした方がよい.⇒対処した.

A面でHideを押して実行が停止してしまう.⇒この動作はかなりおかしい.Hideでは出力枠を不可視にしているだけなのだが…⇒いや,動作はしているが,画面が更新されないため動作していないように見えているだけだ.⇒対処した.

日数の表示をDD.HH:MM:SSではなく,DD,HH:MM:SSとする.ピリオドの代わりにカンマを使う書式はどこかで見たのだが,どこで見たのかは忘れた.ちなみに,検証テストで2^32を仕掛けると70日という予定工期が出る.2ヶ月と10日だ.⇒日付文字列を生成する関数を作って呼び出すようにした.2^32では70日ではなく,170日という数字が出ている.「検証テストが当初より5倍遅くなっている」というのは70日と2週間を比較したものだが,170日だとすれば10倍以上遅くなったということになるのだが…⇒検証テストが遅いという問題は別途調査する.

▲VerifyTest.csvがロック状態になっている.

枝番号リストにInt16を超える数値を入力できてしまう.⇒処理中にチェックして,範囲外の場合はメッセージを出して処理を中断する.実際,そこまで大きい枝番号を与えられても処理しきれない(時間がかかり過ぎる).

▲大きい枝番号を入力すると処理の進行が見えない.カーソルに砂時計を出すという手もあるが…⇒なんらかの方法で処理が続行中であることが見えるようにする必要がある.


「秘」のキーワードでエクスプローラ検索してヒットするドキュメント

あちこち仕掛りになっているが,ともかくログの読み直しを始めた.要対処項目60件を拾い出したところでパスワードリストを秘匿するために仕掛けた検索でヒットしたPDFを読み始めたのはよいが,長文で最後まで読み切る前に眠ってしまった.パスワードリストをPCに残しておくのはよい考えではないが,逆にパスワードリストを紛失すると目も当てられないこともあるので,安全のためにあちこち分散させておくという考え方もある.一応この件に関しては完全に整理がついたのではないかと思うが,その過程で奇妙なことに気づいた.

エクスプローラの検索で「社内秘」ないし「秘」のキーワードで検索すると,ファイル名にもファイルのコンテンツにもそのような文字列が含まれていないドキュメントがヒットする.どうもこれらのドキュメントをマイクロソフトはある種の「機密文書」と推定しているのではないかという懸念だ.つまり,MSは文書を検閲しているのではないか??必ずしもすべてではないが,このようなファイルは別の安全な場所に移動した.ログの読み直しを続けることにしよう.⇒要対処項目のリストアップは分散を避けて昨日のリストで続けることにする.

▲開発機にゼルコバの木をインストールして起動したところ,エラーが発生した.TribeBox::ComopleteTribeBoxで発生するエラーが止まらない.⇒開発環境では発生していない.サンプルはCollatzTree  1-3-7 382.ZELだ.⇒この間ずっとデバッグモードでテストしていて,リリース版を一度も起こしたことがなかったのだろう.バージョンを上げてインストーラを作っておこう.Version 2.2.1.004 Release 2022-02-19 とした.⇒新しいバージョンをインストールしたが,アイコンをダブルクリックして起動すると古いバージョンが立ち上がってきた.プログラムと機能で見るとアプリの重複登録は発生していない.⇒一度アンインストールして再インストールで正常動作するようになった.

作業用にOpen Live Writerを2つ立ち上げていたが,気付かないうちにもう一つ開いていた.しかも「真っ赤」だ.

image

このパネルのタイトルバーをつかもうとすると,以下のパネルが出てマイクロソフトにレポートを送ろうとする…

image

タスクマネージャで見ると,確かに同じアプリが3つ走っている.明らかにマイクロソフトからの「警告」であるように見受けられる.他に何ができる訳でもないので,とりあえず閉じておいた.

▲CollatzChain.csvを読み込んでエラーが発生する.Get the Sequenceに129という値を与えたときの出力だ.エラーを無視して描画は可能.とりあえず,シューティングしてみよう.

image

エラーはCheckAtypicalMarriage→AddSameChainで起きている.この関数には「基本世代枠リストの世代別人名リストに登録する」という説明が付いている.⇒デバッグモードではエラーが収まらない…どうもフェーズ操作で誤っているように思われる.いや,ここの論理はかなりおかしい.GENEBOXに空を代入した直後にそのオブジェクトを使っている.しかし,修正を入れてもまだエラーは収まらない.これはちょっと精査が必要なので明日ということにしよう.⇒このエラーは要対処項目の#80に出てくる「GENELIST:AddSameChainで世代枠が空」というエラーとまったく同じだ.ここには「後日デバッグ」と書いてある.

▲検証テストで一般木と仮想木のダンプの内容がまったく異なる.一般木ではダンプしていないのに,仮想木では大量のダンプを出力している.なぜか?また,以前の記録(2022/01/19)では2^32で2週間を要するとなっていて,70日よりも大幅に小さい.5倍遅くなっている…


zelkova-treeとayanetのアカウントでメール送信できないという不具合

昨日はカスペルスキーの「このパスワードは流出しています」に対処するために丸一日潰れてしまった.というか,まだ一部片付いていない,と言うより,新たな問題が発生してしまった.これまで読み書きできていたメールアカウントが使えなくなっている.zelkova-treeとayanetのアカウントだ.どちらも受信はできているようなので,アカウント登録上の問題ではないように思われる.zelkova-tree.netのアカウントからメールを送信すると,「送信しています」の状態のままタイムアウトすらできないという事象が起きている.

ayanetのアカウントからの送信では送信サーバの認証方式の違いによっていろいろな応答が返ってくるが,典型的なものは「コマンドがrejectされました」というものだ.外部接続用に使っているフロントエンド機のOSをクリーンインストールしてThunderBirdを再インストールしているので,なにか見落としがある可能性も考えられるのだが…ayanetのアカウントを復活させたのはつい最近なので,先にzelkova-treeの方を調べてみよう.zelkova-treeのアカウントを復活させた時期のログを再読しようとしてエクスプローラで「検索」を試みたが,ヒットしない.

ログをアップロードするのにOpen Live Writerを使っている最大の理由はファイル検索ができるという点にある.以前は,ファイル名ではなくファイルの内容で検索できたのだが,ある時点からそれができなくなっている.いまでもコンテンツを検索するオプションは存続しているのだが,実質的に動作していない.検索インデックスもフォルダを指定して作り直ししてみたが,結果はCドライブの空き容量がゼロになっただけで何の効果もなかった.Cドライブの空き容量ゼロというのはかなりまずい.というか,これでは何もできない…まず,この問題から解決するしかないのではないか?

ファイル検索ユーティリティというのがある.手始めにGlarysoftというところのQuick Searchを導入してみよう.⇒しかし,そのためにはまずCドライブを空ける必要がある.OneDriveをアンインストールしてインストールできた.このツールはどうもフランス製のようでしかも,追加のソフトウェアを黙ってインストールしようとしたりするので,止めておこう.⇒エクスプローラのファイル検索機能を再確認するために以下のURLをチェックしたところ,どうも外付けドライブ(SDG)ではコンテンツ検索はできないようだ.

https://www.partitionwizard.jp/partitionmagic/file-explorer-search-not-working.html

検索が必要なのはOpen Live WriterのMy Weblog Postsだけだが,2.40GBある.これをCドライブに移すには相当なファイルを削らなくてはならない.OneDriveをアンインストールして場所を空けた.Draftだけをコピーしてテストしてみた.結果はNo Goodだ.最初だけ少し全文検索をしているように見えたが,そのあとはファイル名の検索に戻ってしまっている.エクスプローラの検索ではフォルダ(ないしドライブ,ないしファイル種別)ごとにコンテンツ検索を指定することができるが,実際の動作は「プレーンテキスト検索」になってしまっているようだ.昔は,ファイルの拡張子とデフォルトアプリを結合させてやると,そのドキュメントをきちんと検索できていたのだが,現在の仕様は完全にその位置から撤退してしまっているように思われる.

全文検索とはUNIXのGREPに相当する機能だが,①エンコード特に日本語のエンコードの解析が難しい,②内部にテキストを含む拡張子を持つファイルはデフォルトアプリでしか読めないため,一般にリリースされている全文検索ツールでは,ごく一部の代表的な拡張子しかサポートされていない.残念ながらOpen Live Writerの*.wpostをサポートしているツールを見つけることはできなかった.Open Live Writerはオープンソースのはずなので,こうなったらソースコードをダウンロードして自前で検索ルーチンを作るしかない.

それ以外の選択肢としては辛うじて,Googleのサイト検索が残っている.昨日試したときはあまり思わしい結果でなかったのだが,見落としていたい可能性もある.Googleのサイト検索はインデックスが生成されていないとヒットしないと言われているが,今日テストしたところでは昨日の投稿をピックアップすることができたので,多分使い物になると思う.2018年末から現在までのログはすべてテント村にあるので,この範囲ならGoogleで検索できるのではないだろうか?⇒この件に関してはそういうこととして,先に進もう.

ちょっと時間つぶしになってしまうが,直近のログを一度読み直しておいた方がよいのではないだろうか?バックログの拾い出しというのは基本ルーチンであるし,12月に作業再開してからもかなりの時間が経過している.その前に無駄な領域を消費しているエクスプローラの検索インデックスを削除しておこう.コントロールパネル→異インデックスのオプションで操作できる.⇒「13個のインデックスが作成されました」に変わった.これ以下にはできないようだ.Cドライブの空き容量は1.23GBになった.不十分だが仕方ない.

余分な情報が飛び込んでくる

ポリシーを変更して,開発機を常時ネット接続しておくようにしているので,いろんな余分な情報が飛び込んでくるようになった.まず,Windows 11がインストールできるようになったという勧奨がマイクロソフトから入ってきた.とりあえずパスしておく.カスペルスキーは103個のパスワードが弱いという点を指摘している.強度の低いパスワードは基本的捨てパスワードなので問題ないとは思うが,それ以外に,セキュリティ上の問題があるパスワード9件というのがある.これらのパスワードは不正流出しているということなので調べてみよう.

  1. entry.uqmobile.jp Yahooメールアカウント ⇒ 回線が混み合って…
  2. My Uqmobile B205011433 ⇒ 現在,回線が混み合っております
  3. bizhint.jp Gmailアカウント ⇒ 退会
  4. Ja-Jp Facebook zekova-treeアカウント ⇒ アカウント不存在
  5. localhost xoops ⇒ 自家サーバが立ち上がっていない
  6. www.parasol.anser.ne.jp Kanimal0522 ⇒ しばらくして,…
  7. com.facebook.katana  Gmailアカウント
  8. com.faceboook.orca   Gmailアカウント
  9. www.parasol.anser.ne.jp Yahooメールアカウント ⇒ しばらく…

UQモバイルに関連するものが2つ,Facebookに関係するものが3つ,parasolに関係するものが2つ,あとは,XOOPSとBizHintだ.BIZHINTからは退会した.XOOPSは自家サーバをインストールしていないためアクセスできないので,当面放置.UQモバイルは現在使っているスマホの最初の契約だと思うが,すでに契約解除してSIMも廃棄しているので実害はないと思われる.UQモバイルの上記2つのサイトにアクセスしてみたが,どちらも「現在混み合っておりますので…」という表示になった.コールセンターならわかるが,ネット接続でアクセス不可能なほど混み合うということがあるのだろうか?あるいは,もしかするとこの流出が原因で問い合わせが殺到している可能性もある.だとしたら,多分ニュースになっていなくてはならないはずだが…

parasol.anserとは何だろう?こんなサービス使ったことがないような気がするが…サイトにアクセスするとこちらも「調整のためお取引の連絡ができなくなりました.しばらくして,あらためてお取引願います.」という表示になった.⇒AnserParaSOLというのはNTTデータの個人向けインターネットバンキングのようだが,使った記憶がない.このURLはフィッシングによく使われているようなので,その可能性もある.このパスワードはすでに廃止して使っていないとは思うが…

残ったのはFacebookの3件だけだ.項目3のzelkova-treeのメールアカウントの流出は前から出ていたような気がする.パスワードはすでに変更してあるはずだが…いや,このメールアカウントは使った記憶がない.Facebookで使うために作ったものだろうか?まず,もう一度このメールアカウントを復活させるところからやらなくてはならない.

com.facebook.katanaというのはFacebookのモバイルアプリのようだ.com.facebook.orcaというのはやはりモバイルアプリでfacebookのメッセンジャーに相当するもののように思われる.スマホにはこのパスワードが残っている.使われているのだろうか?FacebookアプリとMessengerアプリを再インストールしてみよう.多分コンテンツは削除されずに復活できたはずだ.⇒削除ではアンインストールにならないのだろうか?アプリストアでは更新と表示された.⇒更新ボタンを押したが,保留中から抜けてこない.povo1.0で24時間使い放題を購入したが状態変化なしだ.通常は即座にスピードアップしていたのだが…⇒アンインストールして再インストールしたが,やはり保留中の状態が続いている…スマホでFacebookが使えないとかなり痛い.

不要なアプリや動画,巨大ファイルなどを削除して空き容量6GBを確保したが,まだ「保留中」から抜け出せない.⇒このアプリはWiFi接続がないとダウンロードできないのではないだろうか?Facebook Liteというのも試みてみたが,同じだ.⇒インストールできた.Google で設定→ネットワーク設定→アプリのダウンロード設定→ネットワークの指定なしに設定,同様に,アプリの自動更新もネットワークの指定なし,動画の自動再生もいつでも動画を自動再生に切り替え.⇒これで保留中のダウンロードが一掃された.Facebookに関しては2つのアプリを再インストールしたのでパスワード上の問題は存在しないはずだ.もう一つ,zekova-treeのメールアカウントが流出している件に関しては,このアカウントをもう一度復活させて確認しておこう.存在しないアカウントを悪用することは原理的に不可能だとは思うが…

2^11コラッツ亡霊木をインポートできない

2^11の検証テストを実施して出力したCSVをゼルコバの木にインポートできない.リリースモードではエラーを無視して最終的にShowUnderWearまで進むが,画面は真っ白で何も見えない.デバッグモードではそれ以前にほとんどハング状態になってしまう.昨夜デバッグモードで走らせた状態で放置しておいた開発機では,衝突検定ループカウントオーバーを長時間反復したあと,三極検定レッドラインオーバーで停止している.ゼルコバの木の標準仕様では最大カード数1000点というところを6000点まで増量しているので,キャパ的にすでに限界という感じではあるが,なんとかこのくらいまではクリアしておきたい.

描画に要する作業域のサイズには制限がある.この制限はおおむねInt32の上限程度と見られるが,それを超える場合には生描画に切り替わることになっている.もう一つの対処法としてズーム倍率を下げることが考えられる.実際,「このサンプルはxx%以上に拡大することができません」のような表示が出る場合もある.xx%というのは100%より小さい数字だ.コラッツ亡霊木のような巨大木を描画するための特例として最初からズーム倍率を下げておくということも考えられる.それによって動作に変化が見られるかどうかは未定だが,効果を確認しておきたい.

デフォルトズーム倍率を導入して1.0以下のズーム倍率で初期表示できるようにしてみたが,これまで開けていた2^10が開けなくなった.衝突検定でループしている.⇒CheckMargPointでエラーを無視していた.⇒動作するようになった.2^10ではD=6, H=66だが,2^11ではD=6, H=87になる.現在ズーム倍率1%に設定しているので,十分開けるサイズだ.結婚点不一致のエラーはまだ出てこない.この不良は描画領域サイズに関係していた可能性もある.BuildSameGeneMarriageGraphで時間を空費しているようだ.まだ描画フェーズまで達していない.

サンプルは単純な木なのだから,重婚検定などはパスできるのではないか?少なくともこのサンプルには重婚者は存在しないのだから,重婚グラフ検定自体無用と思われる…⇒すでにメインループは抜けて出口検査にかかっているようだ.これがあとどのくらい続くのかはわからない…プロセスメモリは500MBを使い切っている.再起実行される部分もあるので,スタックもぎりぎりで動いているようだ.⇒いや,スタックオーバーフローが出ている.⇒スタックサイズを1GBまで増加させたが,またスタックオーバーフローになった.⇒描画できた.

コラッツ亡霊 3236

お化け柳と呼ぶに相応しい風情だ.このサンプルはD=8, H=96,3236点だ.もう一つ上の2^12に挑戦してみたところ,また「インデックスが配列の境界外です」になった.⇒データ数が6510になっている.カード数上限を7000まで上げてみよう.


AYANETの冷たい森へのアクセスが復活した

Open Live Writer の編集画面のレイアウトが以前の状態に戻ったことは喜ばしい.もとの状態というのはタイトル入力がページの最上部にあるという当たり前の状態だが,なぜか1ブロック下がったところに表示されていた.タイトル行を囲む枠も消えて,ブラウザに表示されるのと同じ体裁に見えるようになっている.

ことのついでに,デフォルトフォントを変えておきたい.Open Live Writerのオプションでは既定フォントを設定する項目は見当たらないが,これまであまり気にしたことがないのはなぜなのか?よくわからない.現在使っている版のデフォルトフォントCalibriが常用しているメイリオと違い過ぎるため目立つようになったのだろうか?

Writer(WindowsLiveEssentials)の既定のフォントを変更する

上記URLの記事によると,テンプレートフォルダにあるStyle.css を変更することで可能になるということなので試してみよう.⇒以下のテンプレートフォルダには小さなフォントの見本画像しか入っていない.

C:\Users\babalabo\AppData\Roaming\OpenLiveWriter\blogtemplates\0d331aae-b391-475d-b40e-8c6213e76f4b

解説記事の書き方ではこのビットマップがフォルダになっているように読めるのだが…サイトのテーマが読み込まれていないのだろうか?確か,インストール時に読み込むようになっていたはずだが,手順をパスしてしまったのかもしれない…Update themeで読み込みはできたが,状況は変わっていない…どうもよくわからないが,この件は後回し.

AYANETからFTPとメールアカウントのパスワード再発行の返信が届いている.AYANETでは自分でパスワードを変更することができない.平文でパスワードを送信しないとパスワード変更ができないというのははなはだ不都合だが,AYANET自体すでに更新が完全に止まって過去の遺物化しているのでいまさら仕様変更も無理だろう.

PHPが使えていればもう少し使っていたかもしれないが,脱皮しない蛇は亡びるとニーチェが言っている.AYANETのメールアカウントを復活させたのは,古い友人たち(数学圏)とのコンタクトを復活させる必要が出てきたためだ.何人と連絡が付くか?いや,一人でも残っていたらおんの字かも知れない.「パスワード再発行のお願い」を出したのが1月30日で,2月2日には応答が返っているのでAYANETとしては最速の応答と言えるが,こちらが対応できる体勢でなかったので今日まで遅延してしまった.ともかく返信しておこう.

AYANETのメールアカウトをSSLなしに設定してエラーは出なくなったはずだが,まだ続いている.いや,おかしい.今度はエラーが出ない.送信サーバーではSTARTTLS, 暗号化されたパスワード認証になっている.受信の方は,接続の保護:なし,認証方式:平文のパスワード認証になっている.暗号化されたパスワード認証で受信できるかどうかやってみよう.⇒問題なく通った.受信をSTARTTLSとするとエラーになる.受信サーバー設定をSSL/TLSにすると送信ファイルを送信済ファイルに保存できなかったというエラーになる.なしにしても同じだ.送信と受信の方式が違うというのはおかしいので,同じ設定で試してみる.STARTTLS 通常のパスワード認証は通った.パスワードの暗号化はできない.これでゆくしかないだろう.

AYANETから送信したメールが迷惑メールに落ちてしまう.これを防止するようにするにはどうしたらよいか?⇒確か,個人用アドレス帳に登録されているアカウントは迷惑メールにしないようになっていたはずだ.やってみよう.⇒動作しない.Outlookではサーバーで迷惑メールに振り分けているのだろう.これは避けることができないような気がする.outlookの設定で操作できる可能性はあるが…

開発機とサブ機の主要2機のOSを再インストールして,今後はクリーン度9…9を維持しようというつもりではいるのだが,ここで一旦ネット接続に関するポリシーを完全に逆転させることを考えてみたい.これまでは,ネット接続はもっぱらサブ機の任務で開発機は箱入り娘のように外部との接触を禁じるというポリシーで運用してきたが,この機会にむしろ開発機をしばらく外部にさらしてみようか?と考えている.OSのクリーンインストールはやり慣れてしまえばそれほどのものではなく(とは言っても,最小丸一日がつぶれることは覚悟しなくてはならない)日常的なハウスクリーニンの一貫として完全にルーチン化できる可能性が見えてきたということもある.

開発機を常時ネットから遮断しておくというのはかなりのストレスで,たとえば,F1でMSDNのオンラインヘルプにジャンプすることもできない.サブ機と開発機は頻繁な情報交換を必要とするが(たとえば,開発機のスクショをログに投稿など),そのたびにLANを切り替えるというのも相当な時間ロスになる.開発機を常時オンライン状態にしておくということは完全に下着で街に出ることに等しいが,それを試してみる必要があるのではないか?まだしばらくは公式リリースの日は遠いと思われるので,所内的には何が起こっても対応できるようにしておくというのがもっとも肝心なポイントだ.早速この新体制に移行してみよう.これが通れば作業のストレスが著しく緩和されることは確かであり,ある意味で理想の開発環境に近いものになると言っても過言ではない.

さて,今日の作業のポイントはゼルコバの木のデバッグだ.大きいCSVをインポートしたときに出るエラーを片付けておきたい.系図ファイルのアイコンをダブルクリックしたときの動作不良も見ておく必要がある.

検証テスト完了後,GetTheNumber,TruncatedTreeなどのボタンを押して異常終了してしまう.いや,GetTheNumberは正常動作している.枝番号リストに有効なデータが入っていないので,エラーパネルが出る.⇒対処した.

▲テーマが登録できない.テーマ登録は実行されているが,メニューに表示されないので選択できない.

検証テストで2^4まではエラーなしでインポートできる.カード数は170で,最大奇数は13121だ.2^5になると,CARDTABLE::makelinkのエラーが出るようになる.何度か同じエラーが出したあとは,描画可能になる.⇒なぜだろう?エラーが出なくなってしまった.デバッグモードではエラーが無視されているようだ.⇒STOP文が効かなくなっている.いつからだろう?多分VS2017に移行してからと思われるが,気付かなかった.STOP文は我々のデバッグ用ツールセットの中でも最強のツールなのだが…__debugbreakというのがあるようだ.多分代替物になると思う.<intrin.h>が必要だ

いや,どうも「一時的にStopを抑制する@20201026」というマクロが効いているのではないか?⇒止まるようになった!

(nod->getpnum() != nod->cardbase.carddata.refnum && nod->cardbase.carddata.refnum <= tablesize)

という理由で停止している.tablesize=6000でrefnum=11だ.

これは,参照番号とテーブルのインデックスが一致しているという標準仕様に基づく動作ではないかと思う.テーブルのインデックス0は使われていないので参照番号が#1のとき,テーブルサイズは2になっているはずだ.しかし,現在読み込んでいるCSVデータでは通番ではなく,ノード番号を直接ノード番号として使っているため,このようなことは当然発生する.どちらでも動作するようになっているのだから,ここでこの検査を実施することは無意味と考えられる.⇒対処した.

ダンプが大量に出ているので,一部を除きほとんど止めてみたが,”CenteringCard Refnum=0” という1行が残ってしまった.おそらくOCXで出しているものと思われるが,切り替えることができない.これについてはあとで見ることにする.

▲ロード後修正されたファイルは保存のプロンプトが出るが,インポートされただけのものは保存プロンプトが出ない.

▲登録カード数1631というのはゼルコバの木的には特大サンプルだが,単系列の単純な木で描画までに3分掛かるというのはおかしいのではないか?

検証テストで2^11を超えるCSVをインポートすると,「インデックスが配列の境界外です」というエラーになる.

image

エラーが発生した時点で抜けるようにすると,今度は描画領域空というエラーになる.⇒エラーの根本原因はVBの最大カード数が古い値のままになっていたという点にあるが,処理を打ち切っても描画できないというのは問題だ.デバッグモードでは重婚グラフ検定に嵌って抜けてこない.リリースモードでは先に進んでいるようだが,Bobject::originateでエラーが発生する.このエラーからは回復できない.

エラーを無視して走らせたら,「結婚点一致検定ループカウントオーバー」で停止した.続行するとShowUnderWearになるが,画面は真っ白のままだ.ゼルコバの木の限界が露呈したという感じになっているが,なにか打つ手はあるだろうか?⇒デバッグでヒープサイズに1GBを割り当ててみたが変化は見られない.コミットサイズも増量してみたが影響しない.CheckMargPointのエラーを無視するようにしたら,今度はheapBranchで停止するようになった.

マシーン2台のOSをクリーンインストール

2日続けてマシーン2台でOSをクリーンインストールした.有償のウィルスチェッカーが使えない時期にはOSの再インストールは日常茶飯事だった.最近はしばらくやっていなかったのでかなりのストレスを覚えたが,なんとかこなして作業完了した.ゼロトラストの時代,OSの再インストールは完全ルーチン化して,毎日の部屋掃除の感覚で片付けられるようにしなくてはならない.開発機と予備機は用途も性格も異なるので,再配置するアプリもほとんど重複しない.開発機では個人データは温存したが,サブ機では累積していたゴミを一掃することを目的に完全にサラの状態に戻した.何点かつまづいたところを書き留めておこう.

  1. 開発機にはVS2017とVS2019をインストールした.VS2017はゼルコバの木開発用,VS2019は銀河高速開発用だ.VS2017にはインストーラ開発用の拡張機能を別途インストールする必要がある.また,Visual C++ MFCも追加インストールが必要になった.
  2. サブ機のインストールでは英語キーボードになってしまって,日本語キーボードがしばらく使えなかった.これを切り替えるためには,設定→時刻と言語→言語→日本語→オプション→ハードウェア キーボードレイアウト→レイアウトを変更するで日本語キーボード(106/109キー)を選択する ここで,日本語→オプションが出てこないので苦労した.
  3. サブ機ではデバイスマネージャ→キーボードにHIDキーボードデバイスというのが5つ入っている.また,ほかのデバイスというところにも不明なデバイスが5つ出ているのも気になる
  4. ThunderBirdの登録アカウントをあらかじめエクスポートしておくべきだった.⇒エクスポートという手続きはないが,C\Users\<ユーザー名>\AppData\Roaming\Thunderbird\profilesにあるファイルをバックアップ→復元で移行できる.
  5. AYANETのメールサーバーへの接続でエラーが出る.SSLはしないとなっているが,証明書は発行されているようだ.STARTTLSとなっていたので,SSL/TLSにしてみよう.⇒通ったようだ.⇒いや,通っていない.やはり「なし」にしないとダメなようだ.しかし…
  6. zelkova-tree.netの2つのアカウントの登録でエラーが出ていた.実際受信でタイムアウトになる.これまで動作していたし,設定には間違いはないと思うのだが…⇒漏れがあった.認証方式が設定されていなかった.⇒受信できるようになった.
  7. Yahooから過去メールが2千通くらい入ってきた⇒Yahooはpopで取っているが,ダウンロード後2週間はサーバーに残すという設定になっているため,2週間分のメールが入ってきたものと思われる.
  8. アプリ20本以上をダウンロード→インストールしているが,ダウンロードしたセットアップファイルを保存しておいて次回使い回すことができる.更新はアプリを導入してからでもできる.
  9. CCleanerをインストールしたついでに,CCleaner Browserもインストールしてみた.かなり速そうな感触はあるが…
  10. プリンタ周りはまだインストールしていない.
  11. Open Live Writer 最初のころのレイアウトが復活した.前回はもしかしたらマイクロソフトサイトからダウンロードしていたのかもしれない.
  12. サブ機のドライブの空き領域は現在2.13GBしかない.結局,大して拡げることはできなかった.多分これ以上アプリをインストールなどのことはないとは思われるが…かなり窮屈だ.


image

「証明書の表示」をクリックすると,https://sectigo.com/legal にジャンプする.


image

ある範囲の奇数ノードを含む極小のコラッツ木を生成できるようになった

昨日開発機に仕掛けた2^24の検証テストはすでに完了しているが,制御が戻ってこない状態が続いている.多分ゼルコバの木にエクスポートするためのファイルの整形に時間が掛かっているためと思われるが,少しかかり過ぎのような気もする.テスト自体は7時間10分掛かっている.⇒デバッグ用のダンプ出力を止めることでほぼ妥当な時間で完了できるようになっていたはずなのだが,その前の版を使っているのだろうか?いや,開発環境から直接走らせているのでこれが最新版だ.

デバッグの一時停止も効かない状態だ.「デバッガー操作に予想以上に時間が掛かっています」を表示したままのハング状態だ.デバッグ中止ボタンも効かない.アプリを強制終了するしかなさそうだ.パネルが隠れていてOKボタンを押せなかったためかもしれない.すでにアプリを落としてしまったのでどうしようもないが…エクスポートファイルのサイズが大き過ぎる.22.9GBもある.これでは時間が掛かっても当然だ.VerifyTest.CSVは読めないので一旦捨てるしかない.

コラッツ銀河高速道路系に含まれる5機能すべてで隣接リストのCSV出力とゼルコバの木へのエクスポートができるようになった.特に,検証テストの結果をゼルコバの木にインポートできるようになったというのが目玉だ.これまでの出力はすべて正則木だったが,検証テストではある範囲の奇数ノードを含む極小のコラッツ木を生成できる.たとえば,1~511までの奇数を含むコラッツ木は以下のようなものになる.

ゼルコバの木最新版をリリースしてインストールしたが,起動時に「パラメータが間違っています」のエラーが出る.最大カード数を6000に増量した版なのだが…とりあえず,アンインストールしてインストールし直してみる.⇒タスクバーに古いバージョンのアイコンが残っていたためと思われる.再インストールして起動するようになった.しかし,動作が少しおかしい.タスクバーのアイコンが白くなっている.アプリのタイトルバーのアイコンやデスクトップ上のアイコンは問題ないのだが…⇒古いアイコンがリンク切れになっためだろう.

image   image   image

もう少し小さいサンプルを取ってみよう.小さいと言ってもこんなものになってしまう.これは1~127までの113点サンプルだ.一番右のサンプルは1~31の53点サンプルで,長い鎖の終端は27という奇数だ.一番左の図などは,「コラッツというゴースト」がどのように見えるかをもっともよく示すものと言える.下図は1-3-4 仮想正則コラッツ木だ.

image

仮想木の場合は,完全正則木を出力することができる.上のコラッツゴースト図と比較するとその差が鮮明にわかると思う.つまり,「コラッツ木というかつて人々を悩ました亡霊」はいまや完全にアンダーコントロール状態にあると言える.

現在ゼルコバの木は最大カード数6000という設定で運用しているが大きいCSVファイルをインポートしようとするとエラーが発生する.まず,これを見ておこう.