■ 開発日記 巻之七拾四


OSTRA / Takeshi Yoneki


ブラッドボーン (PS4)

 約一年ぶりに再開。デブ相手にパリィと内臓攻撃を訓練。五回に一回程度しか決まらない。下手糞。その後神父に挑むが瞬殺される。攻略サイトを見て、柵の隙間から落ちたところを狙う攻撃を実践。神父が獣になって瞬殺される。結局神父は一番卑怯だと思われる階段柵ハメで倒す。倒してしまうともうこの周回では戦えないので残念ではあるが、俺の実力的に正攻法は無理。

 で、ようやく先に進む。


2021.05.08


 Kobo端末はPDFを読める。つうかKobo Formaを買った理由のひとつは電子ペーパー端末でPDFを読むこと。紙のサイズに縛られたPDFは画面が大きくないと読めない。

 ときどきフォントの関係で読めないPDFとかセキュリティ設定が誤爆してAdobe DRMがどうしたとか言って読ませて貰えないPDFがある。もちろんPCのAdobe Acrobat Reader等では問題なく読める。まぁ、なんとかしてKoboで読みたいのである。

 FirefoxでPDFを表示して、PDFで印刷する。Microsoft Print to PDFを通すとテキスト情報がなくなり、全部ベクターグラフィックになる。Koboで読む分には問題ない。Firefoxの最近の機能の「PDFに保存」だと全部ラスターグラフィックになる。なんだこりゃ。普通にHTMLでPDFの保存をしたら普通にテキスト情報を持つPDFになる。FirefoxのPDFエンジンの出来がショボいのだろう。

 まぁ、ともかくPDFを読むのも単純ではない。


2021.05.08


 新monado君にNetBeans 12.3とEclipse 4.19.0を入れた(どちらも最新版)。HitBitじゃないやVAIO Pro 11君のUbuntuにも入れた。VAIO Pro 11君はUbuntu 20.04の機能である表示倍率設定で150パーセントにしてあるのだが、NetBeansのUIが壊れてしまう。Swingの出来の問題なんだろう。EclipseやVSCodeは問題なく表示される。最初NetBeansはUbuntuのリポジトリで配布されてる10.0とかいうのを入れたんだが、変なエラーが出てコンパイルが成功しない。自力で適当にインストールし直した。

 なんというか、Eclipseはかなり良くなった印象。Googleに見捨てられても全然頑張ってる。むしろ糞重いIntelliJより好感触。


2021.05.18


ブラッドボーン (PS4)

 ガスコイン神父後一気にエリアが広がり、レベルアップが苦になることもなく三匹ボスを倒した。やっぱりガンは神父だよなぁ。これがいくらなんでも強すぎってことかと思う。こんなに面白いゲームなのにここで断念した人は多かろう。昨年の最初の緊急事態宣言中でも中古が残ってた程度には。

 まぁ、またどこかで詰まったら、攻略サイトを参考にするか再度休止するだけ。

 豚への背後からの内臓攻撃は衝撃映像。フロムさんったら。


2021.05.22


 今年の正月に後継機を導入して引退となったタワーマシン旧monado君、Ubuntuでも入れようかと思ったがどうも調子が悪い。で、そのうち起動しなくなった。ボタン電池を交換してもスイッチオンから5秒ほどで落ちてしまう。もう駄目ですな。お陀仏。


2021.06.02


ブラッドボーン (PS4)

 最終面メンシスの悪夢のボスを倒して血の岩が啓蒙取引で売り出される。現在は固定聖杯ダンジョンを端から攻略。深き僻墓の脳喰らいを無事倒してほっとしているところ。


2021.06.15


オブリビオン (PC)

 久しぶりにGPD WIN2でプレイ。インベントリ画面が妙にモタつく。普段もっと性能の高いPCでプレイしてて、それに慣れちゃったということか。そもそもアイテム数で如実に重くなるインベントリ画面の出来が素人臭い仕事なんだけどな。


2021.06.15


 平井卓也デジタル改革担当大臣のような人は、この業界では「筋の悪い客」そのもの。日経コンピュータの動かないコンピュータですかってなネタ。ウチのような中小だと大企業が難題を吹っかけてくることもあるそうだ。まぁ、ウチは独立系なんで、ご縁が無かったということで、とちゃんと社長が判断する。ともかく、平井卓也(ネトサポの親分)とは仕事したくないってことだけは決まった。デジタル庁は発足前から敬遠すべき役所だってことだ。困ったもんだ。


2021.06.15


ブラッドボーン (PS4)

 HPが半分になる冒涜の聖杯ダンジョン。第一層のボス旧主の番人でかなり挑戦してやっと倒す。あぁ、もうこの辺が限界かな。


2021.06.21


オブリビオン (PC)

 帝都の魔法屋にいるオーレンリンウェの買取価格が他と明らかに違って、よくお世話になってた。しかし、どうも最近ウィンドウが開くまで結構重い。どうも売った分単純に溜まってるようだ。調べると追加コンテンツで加わったNPCだった。バグなんだろうなぁ。とりあえずもう使うのはやめとこう。


2021.06.27


高校数学+α (宮腰 忠)

 本人がPDFで公開しており、それを読んでいる。Kobo端末ではオリジナルのPDFのままではAdobe DRMの誤爆で読めないので、Forefoxで別のPDFとして出力したものを読んでる。おかげで電子書籍として使い勝手が悪い。しかし、出版が2004年と微妙に古く、電子書籍は販売されていないようだ。日本の電子書籍元年からもうじき干支が一周するってのに、ガッカリだ。


2021.06.30


RSA暗号の基本原理のフェルマーの小定理。


a^(p - 1) ≡ 1 (mod p)

pを法として合同と読むそうだが、pで割った余りが一致という程度の意味。

これの条件はpが素数であること、aとpが互いに素(pが素数なので、aがpの倍数でないこと)。


a^p ≡ a (mod p)


これの条件はpが素数であること。任意のaで成り立つそうだが、pで割った余りの話なので、a < p でないと話がややこしいし、確認しづらい。

暗号化のための式の変形で、


a^(n * (p - 1) * (q - 1) + 1) ≡ a (mod p * q)

が得られるのだが、pとqが素数なので、pqは素数ではない。


a^(n * (p - 1) * (q - 1)) ≡ 1 (mod p * q)

これは成り立たないようなんだが、私の読んだ解説でははっきり書いてない。そこら辺を実際確かめてみた。

簡単に計算値が巨大化するので、n = 1、p = 7、q = 11 と小さめな値で計算。計算するのは私でなくPCだが。


n * (p - 1) * (q - 1) + 1 = 61
n * (p - 1) * (q - 1) = 60

なので、a^60 と a^61 に注目。


2^60    1152921504606846976     1 (mod 77)
2^61    2305843009213693952     2 (mod 77)
3^60    42391158275216203514294433201   1 (mod 77)
3^61    127173474825648610542883299603  3 (mod 77)
4^60    1329227995784915872903807060280344576   1 (mod 77)
4^61    5316911983139663491615228241121378304   4 (mod 77)
5^60    867361737988403547205962240695953369140625      1 (mod 77)
5^61    4336808689942017736029811203479766845703125     5 (mod 77)
6^60    48873677980689257489322752273774603865660850176 1 (mod 77)
6^61    293242067884135544935936513642647623193965101056        6 (mod 77)
7^60    508021860739623365322188197652216501772434524836001     56 (mod 77)
7^61    3556153025177363557255317383565515512407041673852007    7 (mod 77)
8^60    1532495540865888858358347027150309183618739122183602176 1 (mod 77)
8^61    12259964326927110866866776217202473468949912977468817408        8 (mod 77)
9^60    1797010299914431210413179829509605039731475627537851106401      1 (mod 77)
9^61    16173092699229880893718618465586445357583280647840659957609     9 (mod 77)
10^60   1000000000000000000000000000000000000000000000000000000000000   1 (mod 77)
10^61   10000000000000000000000000000000000000000000000000000000000000  10 (mod 77)
11^60   304481639541418099574449295360278774639038415066698088621947601 22 (mod 77)
11^61   3349298034955599095318942248963066521029422565733678974841423611        11 (mod 77)
12^60   56347514353166785389812313795980500551139163800306781874894667776       1 (mod 77)
12^61   676170172238001424677747765551766006613669965603681382498736013312      12 (mod 77)

≡ 1 となるにはaとpとqが互いに素(aがpとqのどちらの倍数でもない)という条件が必要そうだ。そりゃそうかという条件。


面白いのが56で、


56^60   778541236245864377652959710615019005818000633838242624414896658052220900099172141945224288308537826738176       56 (mod 77)
56^61   43598309229768405148565743794441064325808035494941586967234212850924370405553639948932560145278118297337856     56 (mod 77)

何乗しても56のままで、結果的に61乗も56になる。

さて、これって、素数3個でも成り立つのかな。


a^(n * (p - 1) * (q - 1) * (r - 1) + 1) ≡ a (mod p * q * r)

あるいは任意の整数の素因数分解した数の積の場合とか。


a^(n * (p1 - 1) * (p2 - 1) * ... * (pn - 1) + 1) ≡ a (mod p1 * p2 * ... * pn)

素因数分解した個々の素数が全部違うときはイケてるっぽいんだが、同じ素数が含まれるとダメっぽい。きっとオイラーさんならご存じ。


2021.07.02


群論入門 (芳沢光雄、講談社ブルーバックス)

 Koboのストアで「群論」で探してもブルーバックスの2冊以外に並んだのは野村監督の巨人軍論というナニソレな感じ。Kindleのストアでは代数学やガロア関連の本もたくさん並ぶ。Kindleで探してKoboで買うってすれば良かったか。もうちょっと教科書っぽい本を読もうかと思ってた。まぁ、これが読めなけりゃ教科書はもっと読めない。

 漫画と同じように全部ラスター画像のようで、検索できない(文字情報のない)、なんちゃって電子書籍。何もないよりはマシだが。教科書っぽい本はなんちゃって電子書籍化すらされてないのが多い。


2021.07.09


 Ubuntu 20.04で.mp4ファイルをダブルクリックすると「ビデオ」という身も蓋もない名前のアプリが起動するが、実体はTotemというビデオプレーヤー。これがシークバーでの操作に難があり、やってられないのでVLCメディアプレーヤーを入れた。Windowsにも「映画 & テレビ」というやはり身も蓋もない名前のアプリがあり、以前使ってみたことがあるが、やはりロクにシークができなくて以来MPC-HCを使っている。何故OS付属のビデオプレーヤーはこんなにも出来が悪いのか。


2021.07.30


 VAIO君のEclipseで遊んでるとしばしば固まる。冷却ファンが強く回転し、GUIが全く反応しなくなる。システムモニターとにらめっこしながらEclipseを使ってみたらメモリが足りてない模様。そういえばメモリ4GBで、スワップなしだった。

 ファイルシステム上にスワップを用意してみた。様子見。


2021.07.31


 VAIO君にJavaEEのEclipseとTomcatを入れて遊んでいる。.jspにvar云々と書いたらどうもコンパイルエラーとなってるようだが、イマイチ詳しくわからない。

 Javaはいつからvarが使えるのか調べたらJava10からだった。そんなに新しい機能だったか。Tomcatのバージョン関連の表(https://tomcat.apache.org/whichversion.html)を見ると、Tomcat 10.0.8はJava 8以上とはなっているが、8で書くのが無難ってとこか。

 プロジェクトのコンパイラ設定で11から1.8に変更したら、編集時にvarがエラーとされるようになった。Tomcatのconf/web.xmlでは初期値は1.8のようだ。


2021.08.01


 調べものしててnoteのサイトに辿り着く。VAIO君のファンが唸る。何やってんだか知らないが迷惑なサイトだ。

 JavaScriptの問題点はWebサイトを見ることとプログラムを起動することの境界を曖昧にしたことにある。勝手にマイニングをするなど悪意のあるプログラムの起動を阻止できない。JavaScriptなしではページの遷移どころかそもそもページの表示すらできないサイトも多い。結局のところ、HTMLやJavaScriptを中心としたWebの仕組みが性善説的な技術志向に寄りすぎてるのだろう。かといってどうすべきかのアイデアはまだない。

 別の話。WebサイトがWebアプリ化するのがあたりまえな傾向ならば、もっとデザイン的にSwingやAndroidのように様々なアスペクト比や大きさの画面(ウィンドウ)に対応した記述言語を導入すべき時期に来てるのではなかろうか。

 Webアプリで十分表現できるようなものをスマートフォンアプリにするのはいただけない。LinuxどころかWindowsでも使えない。そもそもWebViewを使ってサイトを表示してるだけなんだろうに。色々とがっかりな方向に進んでしまったなと思う。IT後進国を実感する部分。


2021.08.18


 先日Ubuntuに入れたVLCメディアプレーヤーはちゃんと終了できないという駄目バージョンだった。バグフィックスしたもっと新しいバージョンをPPAで入れ直す。ちゃんと終了できるようになった。


2021.08.18


 VAIO君のUbuntu 20.04にVLCを入れてビデオを見る。全画面にすると画面が乱れて使えたもんじゃない。Totemでも同様。まさかと設定のディスプレイのサイズ調整を150%から100%に変更すると普通に全画面で動く。不具合のでるアプリケーションがあるだろうなぁとは思っていたが、ビデオ関連で事実上全滅。これは痛いな。NetBeansも使えなかったけど、これはNetBeansを使わないってことで決着してた。

 さて、どうしたもんか。


2021.08.20


私がモテないのはどう考えてもお前らが悪い! (谷川ニコ)

 ガンガンONLINEで連載中だが、今まで最新2話読めたのが1話だけに変更されている。「公開終了した話はガンガンONLINEアプリで公開中!」とか「アプリで先行公開中」と、どうもスマホアプリにひたすら誘導するという迷惑な方針に変わったようだ。PCの画面で雑誌サイズで読むという読者の行為を邪魔してどうすんの。これだから作家が逃げるんだよスクエニさん。


2021.08.24


 CygwinのOCaml(WODI)でビルドしたバイナリでUTF-8を出力すると、UTF-8に設定したCygwinの端末(mintty)で文字化けする。Windowsのコマンドプロンプトで出力した場合と同じように化ける。UTF-8テキストをシフトJIS扱いした状態。GPD WIN2に入れてあるちょっと前のCygwinのOCamlでは化けないので、Cygwinの何かがデグレしてる。

 UTF-8のテキストファイルを標準出力に表示するだけのプログラムをCで書いて、i686-w64-mingw32-gccでビルド。文字化けする。同じプログラムをgccでビルドすると文字化けしない。i686-w64-mingw32-gccの仕様が変わったかデグレか?

 WODIはi686-w64-mingw32-gccなどMinGWをインストール時に要求する。ということはOCamlもMinGWのライブラリを使っていると考えられる。おかげで実行時Cygwinには依存しなくなる(cygwin1.dllが必要ない)。

 Windowsのコマンドプロンプトでchcp 65001(コマンドプロンプトでの表示などのコードページをUTF-8に変更)すると、文字化けしない。なんだろう、MinGWとCygwinの相性が悪くなったという意味なんだろうか。例えばcygwin1.dllを使ってない場合、端末への出力をシフトJIS(ANSI)と見做すようになったとか。いや、例えばとか適当なこと考えたが、/cygdrive/c/Windows/system32/fc /? を実行したら化けない。これだ、これが原因だ。余計なことをしてくれたもんだ。こういう機能はオフにできるようになってないんですかね。スイッチがなけりゃ自力では解決できそうにない。

 MinGWとCygwinの相性が、ある意味悪くなったのは事実。

 Cygwinの更新履歴(https://cygwin.com/cygwin-ug-net/ov-new.html)を見たら、『Revamped pseudo console support. Conditionally activating it only when a non-cygwin application is run. 』とある。多分これだな。

 minttyにてプログラムを動かす前にchcp.com 65001を呼び出すと文字化けは解消した。~/.bashrcにでも書く。bashが自動的には.comを実行モジュールと認識しないのか、.comを付けないと呼び出せない。実体は.exeなんだろうけど、なんで.comなんだろう。/cygdrive/c/Windows/system32/fc /? は英語で表示される。Windows付属以外のコマンドで日本語(シフトJIS)を使うものは文字化けするのだろうが、すぐには思いつかないので困るまではこれでいい。


2021.09.06


 WindowsマシンにGIMPをインストールする。GIMPを起動しようとタスクバーの虫眼鏡アイコンの検索機能で「gimp」と入れる。既にインストールされているGIMPに関する情報が一切見当たらない。しかたなく、スタートメニューでGIMPを起動。いったいどうしてこうなった。虫眼鏡アイコンの検索機能は何をするものなの?


2021.10.01


オブリビオン (PC)

 シヴァリング・アイルズで未攻略のダンジョンのアイシャンは牢獄で、どうやらSIのメインクエストを終わってしまってる現在、投獄されることが無くなってるようなので、未達エリア(投獄されないと入れない部屋)が残ってしまった。


2021.10.05


メトロイド ドレッド (Nintendo Switch)

 ママと一緒に街に買い物に出かけ、家電量販店でメトロイドを入手。「この品でよろしいですか」とレジでのお決まりのやり取りのはずが、メトロイドが見知らぬゲームに変わっていた。メトロイドコーナーの山から持ってきたのに何が起きた? 油断も隙もあったもんじゃない。こんなところでステルススキルが発揮されても困る。

 ひっそりとリングフィットアドベンチャーが売られていたのをママが見つけ、それも入手。娘に買ってとねだられてる。ひっそりなのは転売屋対策なんだろうか。

 最初のボスらしいボスのコルピウス。倒せないまま二日過ぎる。まぁ、昔からメトロイドはボスで詰まるもんだしとは思っていたが、ショットとジャンプが遠いと気付く。実はコントローラーを駆使するアクションゲームはなるべく丈夫なホリのスマブラ向けコントローラーで遊んでいたりする。ゼルダの伝説スカイウォードソードはそれで問題なかった。しかし、メトロイドはYがショットでBがジャンプ。スマブラコンではYとBは距離がある。Yに集中するとBは押せない。任天堂のゲームは伝統的にキーコンフィグなんてものはない。AとBを入れ替えられれば良いのに。で、三日目は純正コントローラで始める。YとBが近いので格段に扱いやすい。ボスの変化を幾つか見ることができるようになり、ようやくコルピウスを倒す。またコントーラーが壊れるなぁ。

 

2021.10.14


メトロイド ドレッド (Nintendo Switch)

 純正コントローラーでサムスが勝手に左に走るようになったので、もう一つの左ジョイコンを使って二人目のボス攻略をしていた(ボス戦だけ純正コントローラーを利用)。で、新宿で蟹食った帰りにSwitch向けホリコンNSW-155を入手。今度のはスマブラ向けの特殊なもの(NSW-108)でなく、普通のコントローラー。YとBが近い。まだカウンターのXに指が慣れない。ともかく左ジョイコンを修理に出さなくちゃ。

 多分PS4向けホリコンPS4-025のスティック部分と共通の部品。全般的に作りは似かよってる。PS4-025はPCにつなげてオブリビオンで活用中。


2021.10.18


 USB接続のSwitch向けゲームコントローラー、ホリコンNSW-155(NSW-001の色違い)をWindows 10 PCの新monado君に接続、普通にコントローラーとして認識。<Home> + <->の長押しでモードが変わり、Xbox360コントローラー、すなわちXInputになった。でもパッケージでもWebサイトでもPCで使えるとは書かれていない。なんでだろう。

 Yahoo!知恵袋に、「繋げただけではコントローラーとして認識されずまったくうごきませんでした」という質問がある。認識できない相性の悪いUSBコントローラーでもあるんだろうか。

 USB接続のスマブラ向けホリコンNSW-108はPCに対応しているとされており、PCに接続するとXInputで動くので、何らかの改良が行われたのかもしれない。


2021.10.25


 Acrobat Readerの誤爆を誘うUIは気分が悪い。できれば使いたくないが、PDFにとって純正のビューワーなので、仕事上外すわけにもいかない。


2021.10.25


 Kobo端末のファームウエアの強制更新後の不具合の報告を楽天にしてから大分経つが連絡なし。栞が全部変な文字になるだけだから致命的ではないけれど、栞を見るたびに気分が悪くなるのは避けられない。報告時に、ファームウエアを元に戻せるようにしてくれって書いたら、「出来ない仕様です」だそうで、「その仕様を変えろって意味ですよ」とさらに返事を返したんで、まぁ、クレーマー扱いでしょうな。バグレポーターを大切にしましょうよ。タダどころか金払ってバグレポートしてくれるんですから。


2021.10.29


 NFTは詐欺師発見器である。馬鹿発見器で有名なTwitterのCEOがNFTで詐欺師と判明。技術的にどうこうはどうでもいい。そこに群がってる人間が全員どうかしてる。関わりたくないってだけ。暗号通貨も同じ。


2021.10.29


「ホーム」へ戻る


OSTRACISM CO.

OSTRA / Takeshi Yoneki