Not only is the Internet dead, it's starting to smell really bad.:2021年08月分

2021/08/10(Tue)

[漫画] 久米田康治/かくしごと(その1)

前回の続き 、劣化と暑さで文章力壊滅状態なので筆進まねえから一気に書き下ろさずに何回かに分割してな。

@なぜ姫は江ノ電に乗ったのか

姫が父親である可久士の隠し事を知るために乗った電車は 撮り鉄の醜態で話題となってる江ノ島電鉄300形だけれども、これは「さよなら絶望先生」第十六集 第百六十話「最後の、そして始まりのエノデン」のセルフオマージュ。

まぁでも「エノデン」というのは、 とあるウェブ小説のタイトルのもじりでしかなく「エデン→エノデン」という言葉遊びでしかない。 そもそもこの回に登場するのは江ノ電ではなく南満州鉄道の「特急あじあ」だしね。

それでも「かくしごと」という作品に「江ノ電」が登場したとなれば、古くからの久米田作品ファンは「エノデン」を思い出すわけでこれは意図的なものだと思う。

このエノデンという話は「さよなら絶望先生」という作品の 中だるみほぼ中盤に位置するのだけど、最終回へ向けての伏線というか「この作品の終着点はどこなのか」を暗示した重要な話である、 まぁギャグは百見様「ん、いつも通り」のしょーもないオチ(誉め言葉)なのだけど

この回が異質なのはいつもの教室が舞台ではなく、風浦可符香以外の生徒が一切登場しないこと(これは第一話の冒頭を除いて初のはず)。

異国情緒どころかどこか異世界じみた *1駅ターミナルそして列車の中で繰り広げられる、望と可符香のふたりきり(望を常時ストーキングする常月まといすら登場しない)の会話劇だ(唯一の例外は最終回で重要なネタバラしの役を担う新井智恵先生だけ)。

勘のいいひとは、これが宮沢賢治「 銀河鉄道の夜」のオマージュであり、ここは銀河ステーションと銀河鉄道であって、望はジョバンニであり可符香はカンパネルラであることに気づく。 そして現実世界に戻った時、可符香はカンパネルラと同じ運命をむかえるのではと疑念を持ったに違いない(まぁ未読の読者のためにこれ以上のネタバレは止めておこう)。

そう18歳編で姫が江ノ電に乗る決意をしたということは *2、「かくしごと」という物語の終着駅へ向けて出発することを決意し、そこには何らかの悲劇が待ち受けていることが暗示されているわけだ。

@中目黒と鎌倉のお家

この物語の舞台は10歳編は中目黒そして18歳編は鎌倉の、どちらもちょっとオンボロなお家となっていて、なぜ中目黒と鎌倉にまったく同じ作りの家が建っているかについては原作の最終回まで引っ張られた謎になっている *3

しかしメタ的な意味での中目黒と鎌倉のふたつの我が家というのは、もう古くからの久米田作品ファンにとっては笑っちゃうほどに明らかなんですわ。

久米田先生はかつて小学館「週刊少年サンデー」に連載を持っていたけれども、新編集長の方針により突如として連載途中の「かってに改蔵」が打ち切りとなってしまったのだよね *4。 そして 大人のキッザニア送り無職となった先生は当時としてはあまり前例のない講談社「週刊少年マガジン」への移籍を決め、 改蔵のキャラだけ入れかえた焼き直しといえる「さよなら絶望先生」の連載を開始することになる。

そう、メタ的には「鎌倉の家=週刊少年サンデー」、「中目黒の家=週刊少年マガジン」なんだよね。 どっちも同じ曜日に発売される中身もたいして変わらない、そんで集英社「週刊少年ジャンプ」には部数でかなわないオンボロ雑誌ということなのだ。

ちなみに「かくしごと」と同じように漫画家のキャリアを我が家に例えるというネタは、「さよなら絶望先生」第十六集おまけ漫画「罪期の家」ですでにやっているネタでもある。 これは「 つみきのいえ」という短編アニメーションのパロディ。 J.G.バラード「沈む世界」のように海面が上昇し続け家を建て増しし続けないとおぼれ死んでしまうという世界で、ある日海面下に沈んだ家に潜ってみたら懐かしい家族との思い出が蘇ったという話。

なお久米田先生の場合、潜れば潜るほど楽しい思い出どころか過去の恥ずかしい漫画が出てきて羞恥のあまりどこまでも沈んでいくという、いつもの 小学館への恨み言自虐漫画。

ということでこの頃から漠然と「かくしごと」のアイデアの土台はもうこの時期からあったことが判る。

そこに気づくと、可久士は久米田先生の自己投影 *5であるのは当然として、鎌倉の家に帰ってくることができなかった妻は打ち切りの「かってに改蔵」であるし、中目黒の家ですこやかに育った姫は「さよなら絶望先生」という作品のメタファーでもあることに気づくわけだ。

そんでもうひとつ、「かくしごと」と同時期に久米田先生が白泉社「楽園~La Paradis」で連載していた 「かってに改蔵2」「スタジオパルプ」で、鎌倉のお家に結婚した改蔵と羽美そしてふたりの娘(髪型が姫そっくり)が暮らすという、もし「かってに改蔵」が打ち切られなかったらというIFがあるのでそちらもどうぞ。 なお単行本既刊分には未収録かつ続刊は絶望的なので、本誌バックナンバーを揃えんとならんけどな!

@姫とは誰なのか

ここまで理解すると、なぜ姫のクラスメートが皆「さよなら絶望先生」に登場した生徒たちの流用であるのかの理由がわかる、とどのつまり姫が「さよなら絶望先生」という作品の擬人化だからだ。 久米田先生はインタビューでしれっと「(絶望先生で)ネギま!に対抗すべくキャラを粗製濫造したらネタが切れた、才能の無い漫画家がキャラ再利用するくらいは許してよ」などと自虐にふって煙に巻いてたけど、必然性があっての再利用なのよね。

ちなみに姫のクラスメートで例外的に絶望先生のキャラ再利用でないのは、お誕生日会お呼ばれ回(5巻第52号「残念記念組」)の主人公であるアユだけなのだが、これは後に遠くに引っ越して離れ離れになってしまうからの例外案件ってこと。

なおアニメの方では姫11歳誕生日(11話)にアユを再登場させる改変してしまっとるので、監督と脚本はまったく話を読み取れてないあるいは意図的に無視したんだろう、去年アニメほんとここで萎えてしまった。 そもそも「(大事な人はいつか目の前からいなくなってしまうかもしれないのだから)祝える時に祝っておけ」っていう物語のテーマというか最終回へ向けての伏線が消し飛んでんだよな、ほんとひで。

原作では他にも姫が「さよなら絶望先生」でという作品の擬人化であることがわかるエピソードはいくつもあるし、姫を通じて読者に伝えたかった事がみえてくるのだけど、それはまた後の回にて。

@次回

次がいつになるかは判らんけど、生きてればまぁぼちぼちと最終回まで書きたいですね、いつものごとくいきあたりばったり人生ですが。

*1:アニメだと原作絵を完全に無視してヤン・シュヴァンクマイエルらの東欧ロシア風シュールレアリスムアニメ調になってる。
*2:ちなみに10歳編のプチ家出回(7巻第38号「家出にちんぷんかんぷん」)では途中で引き返してしまっている。
*3:これアニメだとカット、そんで映画での補足でようやっと判明するので、作品の評価が下がるポイントになってるのほんとアレ。
*4:まぁ26巻まで続いてれば円満終了でも不思議ではなく、打ち切りそして小学館追放というのはプロレスネタの可能性はある。
*5:インタビューで散々「(可久士の)モデルは自分じゃない」と否定し続けてたのだけど、最後に舞台挨拶で可久士のコスプレしてきたのはそういうことよね。

2021/08/15(Sun)

[タッパーウェア] xargs(1)実装における非互換性

xargs(1)の-Iオプション、これって Issue6以前は255byte制限だったのですわ、以下引用。

Constructed arguments cannot grow larger than 255 bytes.

そんで 最近(Issue7)になってGNU findutils実装の挙動を正当化すべく

constructed arguments cannot grow larger than an implementation-defined limit greater than or equal to 255 bytes.

と書き換えられたばかり(2018年なんてつい一昨日だろ)なのよね、まぁいまやOpenGroup/Austin Groupという場所はSingle UNIX(TM) SpecどころかOnly GNU/Linux Specだからな。 もうベンダはどこもUNIX(TM)などというコンコルドやスペースシャトルのような埋没費用に関わりたくもないだろうしな。

まぁ結論としてはリンク先の記事の最後の通りGNU findutilsのxargsを使えということ、なぜならPOSIX縛りなら255以上は実装依存で移植性を考えたら使うべきでないから。

ちなみに歴史を紐解くとxargs(1)は PWB UNIX 1.0で導入された、困ったことにUnix Archiveにはソースが見当たらないので マニュアルを読んでみよう。

Constructed args may not grow larger than 255 characters,

ちゅーことで上で引用したIssue6の文章とほぼ一緒ですやね。

うーんソースも読みてえなということで、多分同じものだと思われる V10 UNIXのやつから該当部分を抜粋してみよう。

#define MAXSBUF 255
...
char *
insert(pattern, subst)
char *pattern, *subst;
{
static char buffer[MAXSBUF+1];
int len, ipatlen;
register char *pat;
register char *bufend;
register char *pbuf;

len = strlen(subst);
ipatlen = strlen(INSPAT)-1;
pat = pattern-1;
pbuf = buffer;
bufend = &buffer[MAXSBUF];

while ( *++pat ) {
	if( xindex(pat,INSPAT) == 0 ) {
		if ( pbuf+len >= bufend ) break;
		else {
			strcpy(pbuf, subst);
			pat += ipatlen;
			pbuf += len;
			}
		}
	else {
		*pbuf++ = *pat;
		if (pbuf >= bufend ) break;
		}
	}

if ( ! *pat ) {
	*pbuf = '\0';
	return (buffer);
	}
else {
	sprintf(Errstr, "max arg size with insertion via %s's exceeded\n", INSPAT);
	ermsg(Errstr);
	ERR = TRUE;
	return 0;
	}
}
...

そんんでxargs(1)が*BSDに導入されたのは 4.3BSD-Renoからなんだけど、そもそも当時は-i/-Iオプション無かったのですわ、ということで*BSD(Mac) vs GNUというわけではなく、あくまでPOSIX vs GNUの齟齬だったということですな。

つーか*BSDで最初に実装したのは FreeBSDで、これは2002年とUNIXおじいちゃん的にはつい最近の出来事なんだよね。

ひとつだけ残った疑問なのだが、Issue6からIssue7の間に「larger than」が「greater than or equal」に改められてるので、どっかに

buf[255+1]

でなく

buf[255]

な実装が存在する可能性なんだよな、前述の通り*BSDではないので謎なのである。

2021/08/17(Tue)

[音楽] E-MU Emulator X3がWindows10 21H1以降でライセンスのアクティベーションに失敗する

そいや2018年頃に KORG Collectionを旧バージョンから有償アップグレードしたのだけど、動作環境がWindows 10以降になっとったので当時まだ音楽マシンがWindows 7だったワイは製品登録すらせずそのまま積んで完全に忘れてたことに気づいたゾ。

せっかく ARP Oddyseyプラグインが増えたことだし、ハービー・ハンコックのカメレオンごっこ演らないの勿体無さ過ぎる(以前はMono/Polyでやってたがどうもレゾナンスが綺麗過ぎて似ないのだ)。

その後、音楽マシンはWindows 10にアップデートはしたんだけども、大型アップデートによってサウンドカードの E-MU 1820/0404/1616m がWindows10 19H1(1903)以降で動作しないというドライバ非互換性問題を踏んだりしたので、もうWindows 10はゴミ箱ポイーして7か8.1に巻き戻したいくらいなんだよねぇ。

でも気軽にどこも10以前切り捨てやがるのでほんと困る、ハードウェアインストゥルメントなんて 4万年前のものでも演奏できるのに、これがソフトウェアとなると怠惰なプログラマにより10年も経たずにゴミと化するのだ。

そんでそれとは別件で、21H1の更新で E-MU Emulator X3というソフトウェアサンプラーが動かなくなっとることに気づいてしまった。 新規インストールなどでアクティベーションが失敗してライセンス認証ができんようになってしまっとる、またかよクソァ!

まーとっととE-MU製品なんぞ窓から投げ捨てて KontaktHALionでも買えよこの貧乏人という話なのだが、返す言葉もない貧乏人のワイはKill The Poorされるその日まで使い続けるしかないのですわね。

そもそも当時日本で取り扱い無かったのをわざわざドイツの楽器屋から航空便でパッケージ取り寄せたり、クッソ円高だったとはいえ今ならKontaktふつーに買えるくらいの金額費やしとるしな。 コンコルドだろうがスペースシャトルだろうが飛ばし続けなければならない( 埋没費用)。

旧バージョンは起動時にE-MU製のサウンドカードが刺さってるかチェックする実質ハードウェアドングル方式だったのだが、X3になってライセンスサーバーによるアクティベーション方式に変わったのよね。

そんで当初はオフラインでのアクティベーション(コードはメールで受け取る)も可能だったのだけど、ディスコンと前後してオンラインのみになってしまった、寝耳に水だったのでワイも申請間に合わず。 なもんでCreativeがライセンスサーバーをシャットダウンしたらそこで終了のゾンビウェアになってしまったのだ。

まー最悪の場合ワイはX2のライセンスも持ってるのでそれ使えばいいやとも思ってるのだが、こいつはこいつでまだ64bit化されとらん時代のものなのでVSTプラグインとして使う場合ブリッジ必要になってめんどいのよね。

なんかこれ対策あるんかなと思ってググったのだが、どこの海外系フォーラムのぞいても最新のアップデートを使えって答えばかり。 ん?E-MUって一度たりとX3にはアップデートパッチ配信してねえよなぁと思ったら、どうやら認証回避パッチすなわち海賊版が出回っとってこれが最新版と呼ばれとるもよう、ほんとインターネットは正直者が馬鹿をみる地獄なんやな。 ドーモ購入厨デス。

ワイは幼少時に読んだディック・フランシスの競馬シリーズで、世の中悪人だらけでも清廉潔白に騎士道精神を持って生きるべきと学んだので、海賊行為なんぞするわけにはいかんので正攻法でWindows 10/11でアクティベーションを通す方法を考えないとならん。 よって自分でまじめに原因調査してみた。

最初はエラーメッセージに「サーバーに接続できません」的なメッセージが出やがったのでついにアクティベーションサーバーが撤去されたのかと思ったのだが、Windows 7からだと問題なく2021年現在ライセンスサーバーはいまだ稼働中ということが判った。

とりあえずファイアウォールの問題を疑ってライセンス管理してるFNPLicensingService64.exe( FlexNet Publisherという製品らしい)を例外に入れたりファイアウォール自体止めたりしてみたけど症状変わらず。

しゃーないので久しぶりにWireSharkなぞ引っ張り出してパケット眺めたてみたのだが、わりとすんなり原因らしき部分に行き当たった。

このFNPLicensingService64.exeはTLSv1.0でライセンスサーバーとの通信を暗号化するのだけど、自前でTLSの実装は持ってるわけではないようでOSの実装(schannel.dll)を使ってるっぽい。 そんで最近のWindows 10では古い安全ではない暗号が削除されとるのだが、その結果Client Helloで送る利用可能な暗号化スイート一覧の中にサーバーが利用可能なものがないく、ネゴシエーション失敗になっとんのな。

以下がClient Helloで利用可能もなものとしてサーバに送られる暗号化スイート、左がWindows7で右がWindows 11での実行結果。

そんでWindows 7でアクティベーション成功した場合、サーバーはServer HelloでTLS_RSA_WITH_3DES_EDE_CBC_SHAを選んだで!ネゴシエーション成功な!って返してきとる、でもWindows 10/11だとこいつ有効になってない暗号なんだよねぇ。なぜ無効になったかというと SWEET32という佐野元春×2みたいな名前の脆弱性があってだな…

本来であればライセンスサーバー側でTLS1.2以降と安全な暗号化スイートに対応して貰うべきなんだろうけど、下手にサポートにメール送ってクリエイティブリニンサン対応してくだち!とかすると面倒だしライセンスサーバーの運用止めるいいタイミングだわとか言われかねない諸刃の剣。 ということでクライアント側で対処すべく、Windows10/11でなんとかTLS_RSA_WITH_3DES_EDE_CBC_SHAを使う方法を考えんとならんのだなこりゃ。

ということでいつになるかは知らんがその辺を調査しようかと思う、それまではサポート切れとるけどWindows 10 18H2(1809)で動かすんですかねこれ…

2021/08/23(Mon)

[音楽] 続・E-MU Emulator X3がWindows10 21H1以降でライセンスのアクティベーションに失敗する

前回の続き。

Windows 10 21H1でSWEET32脆弱性対策のためにTLSで使用する暗号化スイートからTLS_RSA_WITH_3DES_EDE_CBC_SHAを無効にしたってのは ここのドキュメントに記載がある。

そんでschannel.dllで使用する暗号化アルゴリズムをカスタマイズする方法は ここにドキュメントがあるので、Triple DES 168あたりの設定をすればいいはず。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168]
"Enabled"=dword:ffffffff

あとグループポリシーで「コンピューターの構成 → 管理用テンプレート → ネットワーク → SSL 構成設定 → SSL 暗号の順位」を有効にして、リストにTLS_RSA_WITH_3DES_EDE_CBC_SHAを追加する。

ちなみにレジストリエディタやグループポリシー使わずにここいらの設定をGUIで一括管理できるツールとして IIS Cryptoというフリーウェアがある、めんどくさい人はそれ使えばいい。なおワイは安全性について一切保証しないが。

ところがどうもこれ設定してもダメなんやな、相変わらずClient HelloでのCipher SuiteにTLS_RSA_WITH_3DES_EDE_CBC_SHAが出てこずに、ネゴシエーションに失敗してしまう。 さっきの表にある SCH_USE_STRONG_CRYPTOというフラグが立ってたらレジストリ設定関係なく無効ってことかぁ。

これ.Net FrameworkならSCH_USE_STRONG_CRYPTOの既定値をレジストリで変更できるみたいなんだけど、FlexNet PublisherはC/C++でハードコードだろうから変更できないので無理ってことか。

ということでおそらく詰みである、E-MU Emulator X3使いたいならおとなしく古いバージョンのWindows 10使おうね(しろめ)。

ちなみに同じFlexNet Publisherを使ってたCS4以前のAdobe製品だけど、こっちは2018年にライセンスサーバーを停止して永久ライセンス版と新シリアルを配ってたんだな(今は例のDolby訴訟もあって取りやめ)。 Creative/E-MUはこのままサーバー動かし続けるのかどうすんのかね、まぁ止めたところでパッチなんか配らんだろうけど。

2021/08/25(Wed)

[音楽] The Rolling Stones/Jig-Saw Puzzle

Charlie Watts死去、だいぶ前に喉頭がんやってたけど再発したんだろうか。

彼のドラムで一番好きだったのはマイナーな曲だけどJig-Saw Puzzleになるのかなやっぱり、ワイの葬式で流してもらおうと思ってる曲リストにも入ってるくらい好き。

この曲の歌詞もストーンズの曲の中で上位で好きなんだけど割愛、でもこの当時絶頂期を迎えてるにも関わらずバンドの内部は今にも崩壊しかかってることを皮肉った歌詞の部分だけ訳す。

ああボーカルの男、彼は激怒してる
ライオンの群れの前に放り出されたから
そしてベースの男、彼は浮足立ってる
外で待ち構えてるグルーピーの女達が気になるから
そしてドラムの男、彼はもうヨロヨロだ
どうにかリズムをキープしようとしている
そしてギタリスト連中はとっくにぶっ壊れちまってる
彼らもずっと世間からのけ者にされた人生だった

そして僕はじっと我慢して待ってる
床に寝ころびながら
このジグソーパズルを解こうとしてる
せめて雨が酷くならない前に

そうチャーリーはただずっとこの今にも崩れてしまいそうなバンドのリズムをキープしようとしてたんだよ。