00:04:48 @azyobuzin@mstdn.maud.io
icon

検証の検証をした結果、最後のループが見てる Compilation が違うじゃねーかボケになりました。おわり

00:07:53 @azyobuzin@mstdn.maud.io
icon

正しい結果に差し替えました

00:17:35 @azyobuzin@mstdn.maud.io
icon

スクリプトモードでコンパイルしたとしても

T F<T>(Func<T> x) => x();
void G()
{
var (foo, bar) = F(() =>
{
return F(() => {
var foo = 0;
var bar = 1;
return (foo, bar);
});
});
}

だとエラーになる。通常のメソッドボディ扱いになるので

00:18:33 @azyobuzin@mstdn.maud.io
icon

スクリプトモードにおける最上位での変数定義は、 async 対応、次のスクリプトへの受け渡しを含むから、ローカルではなくフィールド扱いになり、重複チェックを回避するっぽい

00:41:29 @azyobuzin@mstdn.maud.io
icon

この結果が分かったら、 F を 2 重に使う必要ないじゃんサンプル書き換えよう

01:10:24 @azyobuzin@mstdn.maud.io
icon

SQLITE_LOCKED したらリトライ作戦を決行した結果、なんと SQLiteConnection のコンストラクタですら SQLITE_LOCKED の可能性を持っていることが判明して相手したくない

02:55:26 @azyobuzin@mstdn.maud.io
icon

ご家庭 Docker レジストリ作って Linux マシンにもジョブさせたいな

03:10:15 @azyobuzin@mstdn.maud.io
icon

docker save が終わらない

03:11:32 @azyobuzin@mstdn.maud.io
icon

なぜ終わらないか → 16.7GB ある

04:01:42 @azyobuzin@mstdn.maud.io
icon

あ〜 Docker for Windows はポートエクスポートしても localhost からしか受け付けないんだっけ……

04:02:12 @azyobuzin@mstdn.maud.io
icon

Docker Registry 用に VM 建てるか〜?

04:02:47 @azyobuzin@mstdn.maud.io
icon

VM が乱立しだすと → メモリが足りない

04:34:57 @azyobuzin@mstdn.maud.io
icon

6ワーカー動かしたら SQLite がもたない、 Web UI のレスポンスが返ってこないw

04:37:29 @azyobuzin@mstdn.maud.io
icon

スクリーンショットが激重なので、要求したときだけ返してくれるようにするべきか

04:58:31 @azyobuzin@mstdn.maud.io
icon

気をしっかり持たないと。二次元ガチ恋オタクにはならないと決めたんだ

04:59:01 @azyobuzin@mstdn.maud.io
icon

Debian インストールバトル、無事 DE のチェックを外し忘れて終了しました

05:00:53 @azyobuzin@mstdn.maud.io
icon

方向キーと Enter を押す能しかないので、スペースを押してトグルは out of 眼中

15:30:22 @azyobuzin@mstdn.maud.io
icon

ぽきた

17:16:19 @azyobuzin@mstdn.maud.io
icon

apt install で cc が走ることがあるんか(Debian に Docker 入れてる)

17:18:37 @azyobuzin@mstdn.maud.io
icon

メモリ使わんやろっていって 300MB しか割り当ててないから cc 走ると明らかにスラッシングするし、 VHD が乗ってるの USB 2.0 接続の HDD だから明らかにやばいんだけども

17:40:19 @azyobuzin@mstdn.maud.io
icon

dockerd 動いてるだけでそれなりにメモリ食うなつらい

17:55:36 @azyobuzin@mstdn.maud.io
icon

とりあえずメモリ 300MB だけ割り当てた Docker Registry サーバが走り出した

18:03:19 @azyobuzin@mstdn.maud.io
icon

docker push、 LAN 内のマシンに並列で push するの明らかに悪手でしょ

18:10:04 @azyobuzin@mstdn.maud.io
icon

max-concurrent-uploads を 1 にしたので安心して push できるようになった(?)

Attach image
19:34:04 @azyobuzin@mstdn.maud.io
icon

スクリーンショット保存機能を無効化して SQLite の負荷を減らした結果、サーバー側の負荷は問題なくなり、 Docker for Windows 上からの 2 ワーカーと、クソマシン上からの 3 ワーカーが安定して稼働している

19:38:18 @azyobuzin@mstdn.maud.io
icon

これでバグがなかったとしても、まる 1 日走らせ続けないと全パターン網羅はできない計算に(つらい

19:39:07 @azyobuzin@mstdn.maud.io
icon

並列実行して終わらない終わらないって言ってるの、実質機械学習エンジニア

19:46:08 @azyobuzin@mstdn.maud.io
icon

高速に終わらせるために計算資源を金で買うやつするか~?

19:51:14 @azyobuzin@mstdn.maud.io
icon

GPU 使ってないので、メモリと CPU、あと通常のロード時間よりも極端にならない程度にはストレージの強さが必要

19:52:03 @azyobuzin@mstdn.maud.io
icon

メモリが足りているように見えてもフリーズすることがあることを確認しているので、それなりに余裕がないとダメっぽい

19:53:04 @azyobuzin@mstdn.maud.io
icon

m5.24xlarge いくしかねえな?(?)

19:54:22 @azyobuzin@mstdn.maud.io
icon

実際にやるなら t3.large を 10 個並べたいですね。その前にバックエンドの DB を変えないとログ書き込みで死ぬだろうけど

19:59:26 @azyobuzin@mstdn.maud.io
icon

jitaku .azyobuzi .net の 30416 ポートで進捗状況が見られます(リンクにするとクロールされそうで怖いので)

20:05:27 @azyobuzin@mstdn.maud.io
icon

こんなにワーカーが長生きすることがなかったからログがクソ長くなってきたときにどうするか考えてなかった

20:08:40 @azyobuzin@mstdn.maud.io
icon

ログ、すべて SQLite に書き込まれているので、どちらかというと見せ方の問題

20:09:07 @azyobuzin@mstdn.maud.io
icon

理論上、 3072 回探索を行えばすべて完了する

20:10:39 @azyobuzin@mstdn.maud.io
icon

ログ、最新 100 行見えればええやろという気持ちになってきたし、そうしようかな

20:12:09 @azyobuzin@mstdn.maud.io
icon

理論上 3072 ジョブ存在するけれど、僕が把握していない挙動があるんだとしたら検出したいという思いで、きっちり全部確かめに行く

20:12:50 @azyobuzin@mstdn.maud.io
icon

1ジョブが完了したときに、把握していなかった枝がキューに追加されるので、あのプログレスバーは実は意味がありません

20:15:53 @azyobuzin@mstdn.maud.io
icon

cshtml 以外に変更を加えるにはビルドし直しが必要なので、快調に動いている今コードを書き換えられない

20:21:27 @azyobuzin@mstdn.maud.io
icon

何時間も放置しないといけないのに、なんだかワクドキして他のことやろうって気にならない

20:24:26 @azyobuzin@mstdn.maud.io
icon

自動リカバリもそれなりにちゃんと動いてそうだし、30分くらい目を離しても大丈夫と信じてアニメ見るか

20:28:05 @azyobuzin@mstdn.maud.io
icon

今の途中経過を見ると、1年半前の失敗からかなり進化したって感じがしてうれしくて泣きそう

Attach image
Attach image
20:30:24 @azyobuzin@mstdn.maud.io
icon

mstdn.maud.io/@azyobuzin/10088 の画面は、この探索機能を作るために、各選択肢画面のスクリーンショットを撮影したり、カーソルの座標を調べたりするツールだった

Web site image
あじょだよ (@azyobuzin@mstdn.maud.io)
20:33:04 @azyobuzin@mstdn.maud.io
icon

1年半前は、 Windows 上でカーソルを自動操作してやったけれど、並列に実行できないこと、途中から再開できないことという問題があって、ならば Linux で動くようにしてしまえば Docker 使ってコンテナ化して、どこでもワーカー走らせられるじゃん!っていう計画のもと、 X11 を C# から触るコードを書いたのが去年。そして今年突然やる気が復活して、その続きを書き始めて今に至る

20:37:04 @azyobuzin@mstdn.maud.io
icon

長生きしたワーカー 31 番が 1 時間 15 分で死んでしまった。南無

20:37:51 @azyobuzin@mstdn.maud.io
icon

シラミツブサーの姫

20:39:15 @azyobuzin@mstdn.maud.io
icon

これ実践できるの DRM がないゲームだけですからね。 DRM は悪

20:45:18 @azyobuzin@mstdn.maud.io
icon

Surface も戦力に加えるべきなのかなぁ

20:51:59 @azyobuzin@mstdn.maud.io
icon

「アヘ顔Wピース絵師」は草

20:59:20 @azyobuzin@mstdn.maud.io
icon

いもいも2話見てるんだけど、地獄の作画の上に超キラキラの目の塗りでパワーが強すぎる

21:30:15 @azyobuzin@mstdn.maud.io
icon

いもいも、こんなに体力使って見る価値は → ない

21:40:43 @azyobuzin@mstdn.maud.io
icon

完了済みジョブが 800 に達して、それなりに完走が現実味を帯びてきた

21:44:31 @azyobuzin@mstdn.maud.io
icon

そもそも全探索をしようと思ったきっかけは、適当に選択肢を選ぶと大体未尋ルートに至って、未尋ちょろすぎでは?と思ったことなんですけど、現在 550/821 が未尋

21:46:42 @azyobuzin@mstdn.maud.io
icon

まぁ共通ルートでの懐き方から妥当ですよね

21:52:37 @azyobuzin@mstdn.maud.io
icon

クソマシン(僕の Linux 機の愛称)で 3 ワーカー動かしてるわけだけど、数時間ファンが回りっぱなしで、さすがに想定されてない使い方っぽい気がしてきた

21:55:06 @azyobuzin@mstdn.maud.io
icon

アスース・ジャパンもびっくり

21:56:13 @azyobuzin@mstdn.maud.io
icon

エアスースって公式に言ったあとに買ったマシンなのに電源アダプタかどこかにアスースって書いてあった

21:56:25 @azyobuzin@mstdn.maud.io
icon

エアスースではない

21:56:52 @azyobuzin@mstdn.maud.io
icon

openASUS

22:02:57 @azyobuzin@mstdn.maud.io
icon

僕も探索マシンをクラウドで調達するために寄付募るか

22:07:37 @azyobuzin@mstdn.maud.io
icon

もっと並列実行できるようにバックエンドを整えて、サーバー借りて設定してる間に家の中のマシンだけで探索終わりそうというのはある

22:10:18 @azyobuzin@mstdn.maud.io
icon

条件として、Wine で動くこと、DRM フリーが挙げられます

22:11:35 @azyobuzin@mstdn.maud.io
icon

あと今回は存在する選択肢はすべて事前にスクリーンショットを撮ってあって、そのすでにわかっている選択肢の上で動作しているけれど、それを把握するのが困難な場合はもっと技術的にチャレンジングになってしまう

22:12:52 @azyobuzin@mstdn.maud.io
icon

あと選択肢スキップを使えるようにするために全クリ済みのセーブデータを使ってる

22:15:39 @azyobuzin@mstdn.maud.io
icon

とはいえ選択肢画面はみんな同じデザインだろうから、要所要所の色相見れば行けそうな気もする

22:16:24 @azyobuzin@mstdn.maud.io
icon

完走できたら、探索の戦略とかもまとめてブログに書きたい

22:17:07 @azyobuzin@mstdn.maud.io
icon

進捗状況は、理論値から考えるとまだ 1/3 弱

22:18:57 @azyobuzin@mstdn.maud.io
icon

完了1000👏👏👏

Attach image
22:19:58 @azyobuzin@mstdn.maud.io
icon

放置すれば終わるとわかっていても落ち着かない

22:22:40 @azyobuzin@mstdn.maud.io
icon

選択肢情報はハッシュで持っていて、確認している選択肢画面が全部で 12 個
github.com/azyobuzin/whc/blob/

うち、最初の選択肢で上を選んだときだけしか到達しない選択肢があるので、僕の把握している限りだと、選び方は 2^11 + 2^10 ということです

22:26:24 @azyobuzin@mstdn.maud.io
icon

ついでに、 RouteSpecificSelectionInfo とあるところにあるハッシュは、中出し外出し選択画面のスクリーンショットのハッシュで、この画面に到達した時点で探索ジョブ終了です

22:32:33 @azyobuzin@mstdn.maud.io
icon

僕の PC の中で今 1069 回射精したんだな……

22:34:01 @azyobuzin@mstdn.maud.io
icon

僕はこれをやるためにエロゲ Dockerize バトルしました

22:43:31 @azyobuzin@mstdn.maud.io
icon

かわいいワーカーたちの進捗を眺め続けて 3 時間が経過しました

22:44:38 @azyobuzin@mstdn.maud.io
icon

ワーカーのプロジェクト名が Ashe なので、実質 5 人の桜木アーシェを産んだと言っても過言ではない

22:45:23 @azyobuzin@mstdn.maud.io
icon

進捗管理サーバーの名前が Kaoruko なので、おるこさんを見つめていたと言っても過言ではないですね

22:47:31 @azyobuzin@mstdn.maud.io
icon

X をしゃべるライブラリのプロジェクト名が Toa で、 Ashe の中で使われています。兎亜はアーシェの下僕

22:50:04 @azyobuzin@mstdn.maud.io
icon

長いものにMackerel

23:02:01 @azyobuzin@mstdn.maud.io
icon

レポート……今週は手書きしないといけないんだった……

23:03:52 @azyobuzin@mstdn.maud.io
icon

だんだんワーカーが殉職していき世代交代(Docker で --restart=on-failure)が起こってる

23:05:31 @azyobuzin@mstdn.maud.io
icon

探索のバグではなく、ゲーム本体のバグだったりメモリリークだったりで積もり積もってフリーズすることを想定して、フリーズしていそうだったら自殺させてる

23:08:57 @azyobuzin@mstdn.maud.io
icon

二次元の主人公が射精しても、僕は射精していない(重要)

23:36:59 @azyobuzin@mstdn.maud.io
icon

落ち着かないのでセイク入れてる

23:37:33 @azyobuzin@mstdn.maud.io
icon

セブンプレミアムワイン、甘くてお酒弱者でも飲みやすい

23:49:36 @azyobuzin@mstdn.maud.io
icon

なんであの漫画は18禁ではないのかリスト2018

23:50:50 @azyobuzin@mstdn.maud.io
icon

1年 LaTeX 触らず Word を使ってきたので何もわからない

02:09:10 @azyobuzin@mstdn.maud.io
icon

Surface Book を売り払うことを考えていかねば……