Retro Computing

7行×79文字にテトリスが入っていた|作者が判明するまでの5年

2ちゃんねる発の「七行プログラミング」から生まれた7行テトリス。498バイトに7種のテトリミノ・回転・衝突判定・ライン消去・スコアまで収めたコードと、作者の nanagyou 氏が判明するまでの経緯、Ozy 氏による短縮の記録をまとめました。
WordPress

PDFのサムネイルが真っ白になる。エラーはどこにも出ない

PDFをアップロードするとサムネイルが真っ白になる。エラーはどこにも出ません。原因はGhostscript 9.27以前が描画に失敗しても報告せず、白紙のページを返すことでした。4環境での切り分け、delegates.xmlが読まれていなかった話、そして同一リクエストでの4実装の比較計測をまとめています。
WordPress

WordPress にパスキーでログインするプラグインを作りました|Rapls Passkey

WordPress の管理画面にパスキーでログインできるプラグイン Rapls Passkey を公開しました。既存のログイン画面を置き換えず、パスワードを残したままパスキーを1つ足す設計にした理由と、端末を失くした人をどう戻すかの復旧経路の話をまとめています。無料版はWordPress.orgから。
Retro Computing

酔っ払いが書いた、という話だった|Entombed の謎が訂正されるまで

Entombed の32バイトのテーブルは「酔っ払ったプログラマーが一晩で書いた」と語られてきました。BBC が報じ、Wikipedia の未解決問題に載り、そして2021年に3つのルールで説明され、2022年に本人が別の証言を残すまで。論文と報道から追いかけた記録です。
Retro Computing

32バイトの表が、40年間だれにも説明できなかった|Atari 2600 の迷路生成

1982年の Atari 2600 用ゲーム Entombed は、32バイトのテーブルだけで行き止まりのない迷路を生成していました。128バイトのRAMと4KBのROMという制約、5マスを見て次の1マスを決める仕組み、そしてなぜその32個の数字なのかを誰も説明できなかった経緯をまとめています。
Retro Computing

32バイトのテーブルを JavaScript に移植した|Entombed の迷路をブラウザで動かす

Entombed の迷路生成アルゴリズムを JavaScript に移植しました。32エントリのテーブル、5マスのコンテキストをビット演算で切り出す仕組み、テーブルだけでは防げない閉塞を潰す後処理まで、コードを追いながら解説します。ブラウザで動くデモ付き。
macOS

Local の Intel バイナリを1,285件から217件に減らした。残ったのは毎日使っている PHP だった

Apple Silicon に乗り換えたあと、Local by Flywheel に Intel バイナリが1,285件・6.2GB 残っていました。使っていない26個を退避して217件・1.8GB まで減らした記録と、それでも消えなかった PHP 8.3.23 本体が x86_64 だった話です。
macOS

restic で同じ日の世代が消える|keep-within と launchd の設定

restic を 6 時間ごとに回していたのに、戻せたのは 12 時間前の状態でした。--keep-daily だけでは同じ日の世代が最後の 1 本しか残りません。keep-within 2d の追加、launchd の StartInterval、失敗に気づく仕組みまで、macOS での設定を実行ログつきでまとめます。
WordPress

PS Auto Sitemap の代わりを作った|4年空いていた場所と、そこで決めたこと

HTMLサイトマップの定番だった PS Auto Sitemap が止まって4年、代替が定着していません。移行のコストが理由に見えたので、そこを消すことを設計の中心に置きました。決めた5つと、公開までの記録です。
WordPress

WP-CLI が全部落ちた。原因は自分のプラグインが読み込んでいた Composer だった

Composer を同梱した WordPress プラグインは、PHP のバージョンが足りないと platform_check.php が例外を投げてサイトごと落ちます。Xserver の SSH で WP-CLI が全滅した実例と、PHP_VERSION_ID・admin_notices・Requires PHP でガードを入れるまでの記録です。
タイトルとURLをコピーしました