■ 開発日記 巻之七拾六


OSTRA / Takeshi Yoneki


 仕事でM1 Macのセットアップをしていて残念に思うこと。Python 2.7が存在しないのでSubversionのGUIツールがなくなった。AppleがXcodeでSubversionを止めるのは開発ツールの提供元としてどうなんだという行動で、結局はその余波。コマンドラインのSubversionすら提供されておらず、homebrew頼り。Unixって名乗るんじゃねぇよ。VSCodeではSubversion使えるのにって、MacにVSCode入れればいいのかな。

 SubversionクライアントとしてVSCode使えるじゃん。とりあえず解決。エディタとしても使えるしVSCodeさまさまじゃんか。


2022.05.11


 「[スマホ連携リンク]」の浅ましさが腹立だしい。Windows 10の21H2に更新されてメニューを開いて驚く、「[スマホ連携リンク]」なんつーアイテムがあるぞ、と。何が浅ましいかというと、メニューの先頭に表示させるために名前を記号で始めていること。これが「[スマホ連携リンク]」でなく「スマホ連携リンク」だったら文句は言いません。私はメニューにアイテムを入れて活用しており、数字で始まるディレクトリで分類してたりする。なぜ数字かというとメニューでトップに並ぶからだ。そこを勝手に荒らして、しかも正規にはアンインストールの方法がない。リネームの方法も見つかってない。見つかったのは強制削除の方法だけ。

PowerShellで

Get-AppxPackage Microsoft.YourPhone | Remove-AppxPackage

 出しゃばってこなけりゃ削除されることもなかったのに。


2022.05.13


 Xcode 13のiOSシミュレータにはiOS 12.4以降しか用意されてない。プログラムを動かすと、iOS 12.4ではレスポンスヘッダからクッキーが得られなくなっていた。まさかとWKWebsiteDataStoreを使うと、ちゃんと動いてるようだ。iOS 12でバグ対処したってことかな。そもそもiOS 11でバグが解消できなかったから、レスポンスヘッダ直接を許可してたってオチなんですかね。


2022.05.13


注:

 ちゃんと動いていなかった。後述のようにWKWebsiteDataStore問題はiOS 13まで確認できる。


 Koboストアで5冊ほど漫画を買う。Kobo Forma端末にダウンロードしようとしたらアップデートが要求される。素直に受け入れる。アップデート後確認するも、しおりの表示は直ってない。それどころか、今までしおりが設定できない本はなかったのだが、AozoraEpub3で作った本などでしおりが設定できなくなってしまった。技評から買った本はできるものとできないものがある。しおりが設定できる条件などは当然ながら非公開なんでしょ。

 細かいバグフィックスはあるんだろうけど、報告済みのバグが潰れてないとか、新しいバグとか、いいかげんファームウェアのロールバックをさせろっての。


2022.05.13


 iOSのWKWebsiteDataStore問題はiOS 13まで確認できる。iOS 14で解消されたようだ。あやふやな言い方しかできないのは、Appleはこのバグについて公式には何も言ってないので、対策されたかどうかも不明だからだ。動かないバージョンでの回避方法は https://developer.apple.com/forums/thread/132031 にあるように、

1. processPoolを独自のインスタンスにする。

2. websiteDataStoreをnonPersistentDataStoreにする。

3. 1と2を渡してプログラムでWKWebViewを作る(storyboardでは対処できない)。

4. 2で得たインスタンスに対してgetAllCookiesをする。

 nonPersistentDataStoreは呼ぶたびに別のポインタを貰えるので、毎回新しい独立のデータストアを返すのだと思う。この動きを知れば2~4はまだ想像できるが、1は想像の範疇外。APIリファレンスの貧弱な説明から到達できるものではない。加えて、サンプルコードもないし、そもそもちゃんと動かないことも書いてない。


2022.05.20


ダークソウル3 (PS4)

 無名の王で心が折れそうなので、大書庫のボス見物に行って(倒すとは言ってない)終わりにしようかな。


2022.05.20


マインクラフト (Java Edition, PC)

 2件目の遺跡発見。私のマインクラフトは基本的にピースフルモードでの遺跡探検プレイです。敵との戦闘はドロップアイテムが必要になってから考えます。ようはエンドポータルを見つけるまでは戦闘はないってこと。


2022.05.20


 MacのSafariで表示メニューを出して、オプションキーを押したら「拡大」が「文字の拡大」になる。知ってる人にしか使えないって意味じゃん。メニューに一覧されることの意味を放棄してるし、マウスだけでは絶対に辿り着けない。UIとして完全に壊れてるぞ。これが今のAppleの品質か。


2022.05.24


マインクラフト (Java Edition, PC)

 Java版のマインクラフトにはセーブデータのバックアップはあるがリストアはない。単に.zipで固めるだけなんで、必要なら勝手に展開しろということらしい。テレビに接続してるPCとモバイルゲーミングPCの間でセーブデータのやりとりをするのにスクリプト一発みたいなことをしようと久々にPythonを使ってみる。え~、zipの展開で更新日付の面倒は見てくれないのかよ。萎える。コマンドのunzipは古すぎて、おそらくUTF-8を使ってるマインクラフトの.zipはファイル名が化ける。しょうがないのでPythonで全部エントリー単位で展開して更新日付を直す。しかもzipエントリーの日時がそのままPythonの日時として使えないとか、割とうんざり。


2022.05.25


 現在、レム作品の日本語訳で電子書籍で入手できるのは6冊。そのうち5冊が元々国書刊行会の本。国書刊行会だからって電子化をあきらめてたが、昨年刊行の本から全部(現在のところ3冊)紙と同時に電子書籍でも発売されている。驚きの展開(なんで? 新型コロナのせい?)。電子化されている早川書房の「ソラリス」と河出書房の「完全なる真空」も元が国書刊行会。最初から早川書房だったのは「泰平ヨンの未来学会議」だけ。

 早川さん、泰平ヨン様のもう一冊とかピルクスとかちゃんと電子化してくださいな。


2022.05.26


 実際のところ、PCでちょっとしたこと(例えば上にも書いたマインクラフトのバックアップの共有とかリストアなど)をするのにスクリプトをちょろっと書く。こういうときに使えるスクリプト言語は機能(ライブラリ)の充実度などから事実上PythonとRubyとPerlからの選択だってのはこの15年くらい変わってないんじゃなかろうか。RubyはまだしもPerlの現状は全く分かってないけど。

 ようはPythonにがっかりしても、現実的な代替はそんなにはないよねってコト。OCamlもRustも身構えてプロジェクトを作る言語。Rustはちょっとライブラリを加えるととたんにプロジェクトが数百MBとかGB単位に膨れるのがなんだかなと思う。


2022.05.26


偽unzip


 WindowsにおいてMinecraftのバックアップファイルをコマンド一発unzipで展開するとディレクトリ名が化ける。私がWindows機に入れてるunzipは GnuWin32とかいう古いプロダクトのもので、2005年で止まっている(http://gnuwin32.sourceforge.net/packages/unzip.htm)。Minecraftのバックアップファイルは内部のパスがUTF-8の.zipだが、古いunzipは当然UTF-8フラグなんて気にしてないので、全てのパスをAnsiとして、日本語Windowsではコードページ932、いわゆるシフトJISとして扱う。で、化ける。

 コマンド一発で動く、UTF-8に対応したWindows用の偽unzipをでっちあげるのが目標。以下の話は全てWindows 10。


OCaml


 OCamlの文字列は8bitデータの配列としてしか定義されていない。それをどう使うかは基本的に環境やプログラマに依存する。Windows(cygwin)版のOCamlの起動時パラメタやopen_in_binやUnix.mkdirでのファイル名の扱いは、最終的にWin32APIのAnsiを使っている。なので、少なくとも UTF-8からCP932に変換する必要がある。ところが、標準ライブラリのFilename.dirnameなどは、文字列末からディレクトリセパレータを探すというアルゴリズムを使っているようで、CP932はアルゴリズム安全ではない。いわゆる「\」問題がある。よって関数によってはUTF-8を通す必要もあり(UTF-8には「\」問題はないためなので、別にEUC-JPでもいいのだが、まぁ、今更EUC-JPではない)CP932からUTF-8への変換も必要になる。どちらにせよOCamlには文字エンコード変換の解りやすく使いやすいライブラリがないので、そこはCで書く。つうか以前書いた。MultiByteToWideCharとWideCharToMultiByteを通すだけ。CとOCamlの混在環境でのomakeの使い方はまだ把握していない(可能かどうか不明)。

 camlzipライブラリのZip.copy_entry_to_file関数はちゃんとファイル更新日時を合わせてくれる。これはどちらかというと珍しい。UTF-8かどうかのフラグを得る方法は用意されていないので、.zipファイル先頭から6バイトシークして1ワード読む。


Rust


 Rustの文字列はUTF-8と決まっている。起動時パラメタもstd::fs::File::openもUTF-8。最終的にWin32APIのWideを使っているのだろう。zipクレイトでは.zipファイル内のパスを文字列としても8bitのデータの配列としても扱える。Rustの文字エンコード変換関連のライブラリはあまり調べてない。必要なのはCP932からUTF-8への変換。winapiクレイトを使って、上記のMultiByteToWideCharとWideCharToMultiByteを通す。RustではCで書いてブリッジする必要はない、つうかそれがwinapiクレイト。

 ZipArchive::extractではファイル更新日時が現在時刻のまま。自力で何とかしないといけないが、どうやらRustの標準ライブラリにはファイルの日時変更の機能がない。標準ライブラリは最低限にという思想の結果なんだろうからしかたがない。winapiクレイトを使ってSetFileTimeを呼ぶ。UTF-8かどうかのフラグを得る方法は用意されていないので、.zipファイル先頭から6バイトシークして1ワード読む。


Python3


 Python2は起動時パラメタやファイル名の扱いはおそらく最終的にWin32APIのAnsiだったようだが、Python3ではWin32APIのWideになったようで、全般的にUnicodeになっている。なので標準ライブラリのzipfileもUTF-8の.zipファイルの扱いは問題ない。問題はAnsiの.zipファイルである。

 Ansiのファイル名がどうにも扱えない。数字に変換して見てみるとおかしな値になっている。まさかと(DuckDuckGoで)ググってみると、CP437というキーワードが見つかった。なんと、UTF-8フラグが立ってない場合、コードページ437とみなしてUTF-8に変換しているそうだ。

 Python2にはこんなコードはなかった。素直にAnsi文字列がそのまま入っていた。

 slaveとかblack listの言葉狩りをしてる場合じゃないよ。「今ここにある解決すべき本物の差別」をどうにかしろよ。21世紀になってから新たに、米国での大昔のDOSファイルにしか通用しないコードページを固定値で入れるとか、頭おかしいよ。迷惑かつ極めて不快。

 シフトJISをOEM-USとしてUTF-8に変換って、オマエはiTunesか。

 Pythonはシェルスクリプトよりは便利なスクリプト言語として扱う程度に付き合うのが吉。使えば使うほどライブラリの手抜き感や仕組みのやっつけ仕事感が半端なく感じられるようになる。他に代替となるものもあまりないのが問題。

 UTF-8かどうかのフラグを得る方法が用意されているのは珍しい。展開しただけではファイルの更新日時は現在時刻。


 UTF-8かどうかのフラグは.zipファイルのヘッダにあるが、アーカイブされた各ファイルのヘッダにもある。.zipは安全のためある程度情報を冗長に持っていたりする。複数あるとそれらの情報の間で矛盾も生じたりするのだが、それをどうするかは処理系にお任せ。古いAnsiの.zipに新しくUTF-8で追加とかも原理的に可能だが、普通はしない。多分。


2022.06.02


 黒田日銀総裁の「日本の家計の値上げ許容度も高まってきている」の家計とか許容度ってマーケティング業界のシャブ漬けと同じような業界用語なんじゃなかろうか。金融業界の用語には全くもって素人なので想像ですが。ま、シャブ漬け言った吉野家の人は解任になっちゃったけど(問題はシャブでなく生娘だったのかもしれない)。


2022.06.09


 スラドでAphex Twinを教養呼ばわりしてる人がいたので、久しぶりに聴いてみる。俺のWALKMANに入っているのは、ウィキペディアによると最初のアルバムの「Selected Ambient Works 85-92」だけ。素人丸出しの宅録臭漂う、ある意味(宅録やってた人には)懐かしいサウンド。普通こんな作品の次の作品は買わないよな、ってことでこれしかない。LFOは2枚分入ってるので、当時俺にとってはLFO > Aphex Twinだったってことなんだろう。まぁ、結局は808 StateとUnderworld以外は続けては買ってない。


2022.06.23


「プログラミング言語別の平均年収ランキング トップ10にPythonやJSなど入らず 1位は? パーソル調査」(https://www.itmedia.co.jp/news/articles/2206/07/news065.html)

 リンク先記事が消えた場合のために1位を書いておく。曰く『1位は「ABAP」』。すみません、初耳です。検索するとERPがどうしたとかあるんで、対象企業が狭すぎたんですかね。それとも、パーソルがABAP人材を増やして各企業に売りたいのかね。Javaの次はABAPだ、とかいう話なんですかね。

「IEEE Spectrumの人気プログラミング言語ランキングでPythonが1位に」(https://developers.srad.jp/story/17/07/22/1910233/)

 2017年のIEEE Spectrumでの調査でABAPは38位に入っているのでプログラミング言語に分類されているのは適切なんだろう。とはいえ、こんなほぼドメイン限定言語、他には全く応用が効かなそう(印象)。現代版COBOLなのかね。家のWindowsやLinuxで遊んでみることもできそうにない。

「世界中のIT技術者から愛されているプログラミング言語 3位は「Clojure」、2位は「Elixir」 1位は? Stack Overflow調べ」(https://www.itmedia.co.jp/news/articles/2206/24/news128.html)

 リンク先記事が消えた場合のために1位を書いておく。7年連続でRustが1位だそうだ。ある意味順当。愛されているって仕事で使いたいけど使えないって意味になるのかね。


2022.06.24


 Kobo Formaのバグレポートをしてから2度目のファームウェア更新が来た。私の報告したバグの修正はなかった。


2022.06.24


 だんだんインボイス制度反対を表明する団体などの記事が増えてきた。スラドではどうも財務省の方からやってきた人達が火消しに奔走してたようだが(最初のコメントのタイトルが「はい解散」)、スラドごときで世論はどうにかできませんてばよ。どこかのタイミングで財務省は制度設計の間違いを認めることになっちまうんじゃないかな(官僚はそう思ってなくても、政治家による判断がどこかで行われそう)。


2022.07.07


 VSCodeの拡張機能のRustが非推奨になって、rust-analayzerにしろとある(「この拡張機能は非推奨です。代わりに rust-analyzer 拡張機能を使用してください。」と表示される)。rust-analayzerを入れてみる。もう、なんというか色々と余計なもの(ヒントって言うらしい)が表示されて滅茶苦茶煩い。


settings.json
"rust-analyzer.inlayHints.parameterHints.enable": false,
"rust-analyzer.inlayHints.closingBraceHints.enable": false,
"rust-analyzer.inlayHints.typeHints.enable": false

これで大抵は消える。


2022.07.07


 VSCodeのスクロールバー周りが残念なことは以前に書いたが、いまだに改善はない。キーリピートしない問題はあるにせよソース編集ではページ移動ができるようにはなったが、設定画面では相変わらずクリックした場所に移動する。こんな大量の設定項目を持っているのに、どうしろっていうの。ノートPCではVSCodeを使うなってことですかいな。キーワードで絞れって? そのキーワードのあたりを付けるためにも全体的にザッと見たいってのがわかんないかなぁ。なんでこうUIをブッ壊すかね。


2022.07.07


 なんのニュース記事だったか、おそらく安倍ちゃん殺害関連だと思うが、民主党政権時代のGDPの低さを民主党の失政としているヤフコメ(ネトサポ?)オヤジの書き込みがあった。もう皆忘れてるとでも思ったんか? リーマンショックで自民党の麻生内閣が倒れ、民主党の鳩山内閣ができたんであって、結果でなく原因。因果関係は逆。こういう嘘をシレッと吐く人達の親玉が安倍ちゃんではあった。


2022.07.12


 あぁ、今、自民党は安倍ちゃんと統一教会との関係はないですよキャンペーンの真っ最中なのか。政治家ってのは大変だ。


2022.07.12


 自民党と統一教会の繋がりが選挙前に報道されていれば、結果はそれなりに変わっただろうね。悪意を感じる。


2022.07.14


 レム作品、特に国書刊行会のものは、お前は夏目漱石の猫かってくらい、パラグラフ(段落、pタグ)が長い。ところで、KoboのEPUBは各パラグラフにIDを振り、それを現在位置として記録しているようで、自動電源オフ後、再開するとパラグラフの先頭に戻ってしまう。うっかりそこから続きを読むので、ときどき何度も繰り返し読んでしまう箇所が生じる。ちょっとなんというか、イケてない仕様だ。


2022.07.14


 DuckDuckGoで「OCaml 例外を表示する」で検索するが、それっぽいページは見つからない。Googleで「OCaml 例外を表示する」で検索すると2件目にModule Printexcのページが表示される。OCamlの標準ライブラリのページだ。OCamlで例外発生時に例外を表示するけど処理は続行するとしたい場合、どうしたらいいのかということで探してた。標準ライブラリに例外を文字列に変換する機能が用意されていた。こういうことがあるからGoogleは捨てられない。


2022.07.14


 iPhone/iPadのUUIDの確認方法を文章で伝えた。


macOS Monterey (12.4)での確認方法。


MacとiPhone/iPadを(Lightningなどの)ケーブルで接続する。

ファインダを起動。

左のペインの「場所」に一覧されているiPhone/iPadのデバイス名を選択。

デバイスの内容が表示されたら、大きく表示されているデバイス名の下の小さく表示されている機種名をクリックする。

シリアルとUUIDが表示される。


 改めてやってみて、現在のAppleのUIの駄目なところが浮かび上がった。「デバイス名の下の小さく表示されている機種名をクリック」は一見さんには無理。どう見てもクリックできそうな何かではない。マカフィーの「押せるグレーのボタン」並みの詐欺レベルの駄目なUI。判りやすくしたら負けとか思ってませんか?


2022.07.19


 岸田さん、「民主主義を守り抜く」は当然「カルト教団である旧統一教会から」ですよね。えぇ、期待してますよ。まずはカルト教団から政治を取り戻さなくちゃ。でなくちゃ民主主義どころではない。


2022.07.22


 たとえKobo Formaでも固定レイアウトで字が小さいものはなるべく大きくして読みたいわけで、試しに横画面表示してみた。見開きになった。見開きでなく横いっぱいに広げてくれないかなと思うのだが、どうやらそういう機能はなさげ。


2022.07.27


 Windows 10のExplorerのフォントが老眼には小さすぎるのに変更する設定がないので、[設定 - 簡単操作 - 文字を大きくする]を125パーセントに指定して利用している。ところが、Firefox 103でどうやらこの設定を反映させることになったようで、文字ばかりか画像まで大きくなった。Mozillaさん趣旨を理解してますか? [設定 - 簡単操作 - 全体を大きくする]でなく[設定 - 簡単操作 - 文字を大きくする]ですよ。そもそもフォント設定ができるアプリは対応する必要すらないんですけどね。


2022.07.29


 WindowsでGIMPを使おうとして、タスクバー左の虫眼鏡アイコンから検索した。俺がインストールしたGIMPは出てこなかった。インストールした直後も出てこなかったが、しばらくすると出てくるようになった。しかし、久しぶりに使おうとすると結局出てこない。このタスクバー左の虫眼鏡アイコンの機能はいったい何なのでしょう。アプリタブを選ぶとダウンロードディレクトリのインストーラーが出てくる。俺はそれでインストールしたし、コンパネのプログラムと機能ではちゃんとGIMPがインストールされている。俺のインストールしたGIMPがなんで出てこないの?


2022.08.02


 PictureSetViewLiteを.NET 6に移植。VS2022インストール後、upgrade-assistantを使って.NETバージョンを上げる。ビルドするが当然のようにエラーになる。文句を言われている箇所はIpcServerChannelなど。.NET 6に移植されてない? 調べると、

https://docs.microsoft.com/en-us/dotnet/core/porting/net-framework-tech-unavailable#remoting

「.NET remoting was identified as a problematic architecture.」などと抜かす。プロブレマチックすか。二重起動時パラメタを先に起動してるプロセスに渡しているだけでたいした機能じゃないので、別の方法を探るのは後回しにして関連部分をコメント化。ビルドが通る。

 .NET 6版PictureSetViewLiteを動かす。明らかに遅い。おそらく画像処理が重い。GDI+のラッパーでしかないはずが、どういうわけかパフォーマンスが悪い。プロファイリング取らなくちゃ。


using System;
using System.Collections.Generic;
using System.IO;
using System.Drawing;

namespace sample {
    internal class Program {
        public static bool HasImageExt(String name) {
            String nm = name.ToLower();
            return nm.EndsWith(".jpg") || nm.EndsWith(".jpeg") || nm.EndsWith(".png") || nm.EndsWith(".gif") || nm.EndsWith(".bmp") || nm.EndsWith(".tiff") || nm.EndsWith(".tif");
        }
        static void Main(string[] args) {
            var inPath = "C:\\work\\images";
            var files = new List();
            foreach (String path in Directory.GetFiles(inPath)) {
                if (HasImageExt(path)) {
                    files.Add(path);
                }
            }
            var t0 = DateTime.Now;
            var bmps1 = new List();
            foreach (String path in files) {
                bmps1.Add(new Bitmap(path));
            }
            var t1 = DateTime.Now;
            var bmps2 = new List();
            foreach (Bitmap b in bmps1) {
                var h = 1080;
                var w = b.Width * h / b.Height;
                bmps2.Add(new Bitmap(b, w, h));
            }
            var t2 = DateTime.Now;
            System.Console.WriteLine((t1.Ticks - t0.Ticks).ToString());
            System.Console.WriteLine((t2.Ticks - t1.Ticks).ToString());
        }
    }
}

.NET Framework 4.8
4791100
12062750

.NET 6.0
4753438
62043719

 画像ファイルの読み込みはほぼ同等。イメージの拡大処理に5倍時間が掛かっている。これは、使えない。


2022.08.07


素数に憑かれた人たち(ジョン・ダービーシャー著)

 第9章に、『1/xの積分はlog xなので。1/(1-x)の積分は、-log(1-x)となると証明抜きで言っても、信じられないほどの飛躍ではないだろう。』と唐突に突き放される。そういうもんだと飲み込んで続きを読み進めたがなんとも気掛かり。

 1/xの積分はlog xのxを単純に(1-x)にしたらlog(1-x)なわけで、-log(1-x)の頭の「-」はどこから来たんだってのが気掛かりの中心課題。

 積分は面倒なので、-log(1-x)を微分してみる。


-log(1-x)
関数を合成関数にする。
u = 1-x = h(x)
v = log u = g(u)
w = -w = f(v)
-log(1-x)
= f(g(h(x)))

微分する。
(-log(1-x))'
= (f(g(h(x))))'
= du/dx * dv/du * dw/dv

du/dx
= (1-x)'
= -1
dv/du
= (log u)
= 1/u
= 1/(1-x)
dw/dv
= (-w)'
= -1

du/dx * dv/du * dw/dv
= -1 * 1/(1-x) * -1
= 1/(1-x)

 頭の「-」は1-xの-xの持つ符号を相殺するためのものっぽい。


2022.08.10


アオイホノオ(漫画、島本和彦)

 Kobo Formaで本を一覧させると、アオイホノオには「炎尾燃シリーズ」という別名が付いている。本編(漫画のデータ)の方には一切記載が無い。紙でも見てみたが無い。もしかして帯にはあったのかもしれないが、ともかく「炎尾燃」という名前は奥付など漫画の方には一切記載が無い。

 ウィキペディアの「アオイホノオ」で『両作の主人公は同一人物であることをうかがわせており』などと遠回しな表現をされているが、おそらくアオイホノオが「炎尾燃シリーズ」に分類されている事実が知られていない。

 Kindleで一覧させると、アオイホノオには「炎尾燃シリーズ」という記載は無い。紙の本のストアでは、Amazonも楽天も紀伊國屋書店も「炎尾燃シリーズ」の記載は無い。しかし、電子書籍ストアで見ると、「炎尾燃シリーズ」の記載は、Kindleには無い、紀伊國屋書店には無い、Koboには有る、BookLiveには有る、とばらけてるが統一性はある。となると、ストアが勝手にやってるものでなく、小学館が決めたシリーズ名であろうと考えられる。単に現行作品の人気で旧作を売るための方便なのかもしれないとは思うが、アオイホノオは正式に「炎尾燃シリーズ」である。


2022.08.31


 1か月ぶりにKindle PW 10で調べようと思いたつ。電源ボタンを押しても起動しない。まず充電しなくてはいけない。Kindle PW 10には電源を切るという機能がない。電源を切る機能のないマシンはKindleの前にも後にも使ったことはない。普通に欠陥製品である。数週間放置するとバッテリーが切れる。たまに使うという使い方は全く想定されていない。

 1か月ぶりにSony Readerを起動する。普通に起動する。バッテリーもほとんど残っている。Sony ReaderとPS Vitaは放置してもバッテリがあまり減らないと実感している。もちろん電源は切ってある。


2022.09.04


 自民党が選挙のときに配ってた共産党攻撃の気違いパンフレットが勝共連合由来のものだったすれば、統一教会だったという意味では気違いなのは当然。安倍派は解体するしかないんじゃねぇの?


2022.09.06


 英語版Wikipediaの『Green Thred』のページ(https://en.wikipedia.org/wiki/Green_thread)。

 Green threads in other languages の項に、occamが挙げられている。追加の解説に『Ocaml is unusual in this list because its original implementation was made for the Transputer』と書かれているが、Transputerの話なのでこれはoccamのこと。

 英語版Wikipediaの『occam』のページ(https://en.wikipedia.org/wiki/Occam_(programming_language))の先頭に、『Not to be confused with OCaml.』とある。混同されやすい。日本版でも『「OCaml」とは異なります。』とある。occamについては遠い昔共立出版の雑誌bitで読んだことがあるようなないような。実物のTransputerは見たこともありません。当時マルチタスク関連ではOS/2とかDOSをコンカレントにするナニカを開発で触った程度。


2022.09.08


 なんとなく元ビックロ(ユニクロがいなくなったので、現在はビックロではなくビックカメラ新宿東口店)にてリプレース用のWi-Fiルータを買ってきた。当然のように導入でトラブる。

 買ってきたのはバッファローのWSR-3200AX4S。

 まずはPCをケーブルで接続して192.168.11.1の設定画面にログイン。LANのIPアドレスを家庭内ネットワークに合わせて192.168.1.25に変更。再起動後再接続、ログイン。インターネット向けに[Internet - PPPoE]の設定をする。インターネットに接続できない。

 試行錯誤した結果、192.168.11.1に戻して、設定画面の上に並ぶ左から2番目の地球儀型のアイコン(名称不明、PDFのマニュアルにもアイコンそのもので表現されており、名称不明)、を押すと数分間「Internet回線判別中」となり適切にステータスが移行し、「インターネット接続設定」画面に移行する。どうも「インターネット接続設定」画面へは「Internet回線判別中」を経由しないと到達できないようだ。困ったもんだ。この設定で適切に、私の場合はasahi-netの設定を行うことで接続に成功する。ただしFirefoxを使ってるせいか、「接続成功です!」の画像は表示されない。

 この状態でWebブラウザで他のサイトにアクセスできる。

 LANの設定でルーターを192.168.11.1から192.168.1.25に変更すると、インターネットへの接続に失敗する。

 192.168.1.25の状態で地球儀型のアイコンを押して「Internet回線判別中」画面を表示させて数分待つと、LANのアドレスがぶつかってるとかなんとかの変なエラーが発生する。何かがおかしい。

 さらに試行錯誤した結果、「Internet回線判別中」を経由してのみ到達できる「インターネット接続設定」で行った設定が「インターネット@スタート」になるようで、PPPoE接続先リストの名称がInternet@Startになる。

 さらにさらに試行錯誤し、背面のスイッチをAutoからManualに変更すると、設定に[Internet - Internet - IPアドレス取得方法]が出現する。Autoでは同じ個所に「IPアドレス取得方法は「インターネット@スタートを行う」が設定されています。」と表示されているだけで、ここが背面のスイッチで切り替わるとは気付かない。つうかここに書いておけよって思う。マニュアルを探したら104ページに書いてあった。初期値は「インターネット@スタートを行う」で、Autoのときはこれ一択。ここで私の場合は「PPPoEクライアント機能を使用する」を選ぶことで、192.168.1.25でも適切にインターネットに接続できるようになった。

 おそらく、「インターネット@スタートを行う」は「Internet回線判別中」を経由してインターネットへの自動接続をすると考えられるが、そこに192.168.11.xとか192.168.1.xに依存する記述があるのではないかと思う。リプレース前のルーターWZR-600DHP2はインターネット@スタートで特に問題はなかった。「Internet回線判別中」の自動判別に時間が掛かる上で失敗しているのだろう。明示的に「PPPoEクライアント機能を使用する」を指定することで自動判別させないのが解決方法。

 罠はインターネット回線の自動判別が特定のIPアドレスに依存する変なコードになっちゃってるバグ。ちゃんとテストしろよ。


2022.09.11


 先週、元ビックロでKobo clara HDを買ってきた。後継機種Kobo clara 2Eが既にアナウンスされており、下位機種のKobo Niaと似たような値段で売っていた。おそらく現在底値。楽天の通販では強気の値段のままのようだが。

 セットアップ後一週間放置してた。筒井康隆の「ジャックポット」を読もうとスイッチを入れたが起動しない。長押しとかUSB端子に刺激を与えたりとかして一度は起動したが、翌朝にはもう起動しない。60分で自動電源オフにしているのだが、自動電源オフ後起動できなくなっているようだ。

 元ビックロで初期不良交換をして貰う。次は交換できませんとか言われたが、初期不良の責任はメーカーと販売店にあるので承服できない、と伝える。まぁ、現実には交換した製品で起動できなくなったら個体の不良でなく製品の不良と考えられるので、楽天とのやりとりになるだろうと思うが、それはそうなってから考えるとも伝える。

 交換品をセットアップした翌日、無事起動する。個体の不良だったようだ。交換前の製品も最初は起動してセットアップはできたので、ファームウェアの更新で文鎮化されたんだろう。ファームウェアの更新は強制なので避けようがない。

 家電販売店の皆さん、初期不良は普通にあるし、個体でなくロットの問題の場合もあるので、変な制限はやめていただきたい。ひたすら返品する変な客がいるんだろうが、それを他の客への制限の理由にしちゃ駄目。初期不良ではいやな思いをすることがたまにある。大抵は経験の浅い若い店員が相手。同じビックカメラでもPSP 3000のときは何も言わずサクっと交換してくれた。おそらく不良率が高かったんだろう。


2022.09.15


Epitaph (King Crimson)

 買った当時、イマイチ馴染めず、ず~っとWALKMANには入れてなかったKing Crimsonの「Epitaph」をWALKMANに入れて聴いている。1997年発売で、1969年のライブを収録している。買った当時に比べ、以降初期作品も何度も聴いて馴染んでいるので、結構いい感じ。ELPの「展覧会の絵」もわりと聴くので、ボーカルのグレッグ・レイクもお馴染み。

 The Beatlesがホワイトアルバムの「The Continuing Story of Bungalow Bill」のイントロで使ったメロトロンのプリセットのスパニッシュギターのフレーズサンプリングのサウンドを、10曲目のインプロビゼーションのイントロで使っている。多分わざと収録したんだろう。

 ホルストの親族からタイトル使用の許可が降りなかったことで「The Devil's Triangle」と改題された「Mars」がそのままのタイトルで収録されている。Devil'sではメロディも微妙に変えられているのだが、「In The Wake Of Poseidon」(1970年)リリース前のライブ演奏は本人たちも火星のつもりで火星を演奏してた訳で、メロディもそのまま。ウィキペディアの「惑星 (組曲)」を見ると冨田(1976年)とELP(1986年)で許可されてかなり緩くなってたようだ。平原綾香の木星(2003年)が不思議だったんだが、もう冨田のタイミングで緩くなってたんだと気付く。

 Donovanの作品のカバーも収録されている。加藤和彦のニックネームがトノバンだったという程度しか知らない音楽家だが、カバー演奏が家にあるCDに収録されてたと、今回ようやく気付く。

 全部四半世紀遅れての認識。


2022.09.26


Epitaph (King Crimson)

 「Drop In」は聞き覚えはあるんだが、どうもそういう名前の曲がない。DuckDuckGoでググるとウィキペディアのアイランズが出てくる。見るとThe Lettersと改題されてIslandsに収録されている。聴くと、あぁ、確かにこの曲だ。


2022.09.28


The Return Of The Crimson King (King Crimson)

 ブートレグCD。いわゆる海賊盤。ググって適当に見つけたサイト(https://rateyourmusic.com/release/unauth/king-crimson/the-return-of-the-crimson-king-a-live-performance-by/)の情報によると、1969年9月8日の演奏。ライブアルバムEpitaphに収録されているのは1969年5月~12月の演奏だが、後に通販で?追加されたディスク3と4のうち4が1969年9月6日の演奏とされている。私は普通に発売当時お店で売ってるものを買ったので、家にあるEpitaphは2枚組、ディスク4と「The Return Of The Crimson King」が同じなのか違うのかは不明(まぁ、違うんだろうな)。

 4曲目が「Cascade (including the Devil's Triangle)」とされているが、Epitaphではそういうのは全部「Improv」とされている。また、Epitaphでは「the Devil's Triangle」ではなく「Mars」とされているので、「Improv (including Mars)」とでもすべきなのだろうが、そもそもこの海賊盤が出たのはEpitaphリリースより古く、火星を火星と名乗ってなかった頃で、まぁ仕方がないかとは思う。そもそもEpitaphはこういった海賊盤を一掃するための企画CDであり、日本語のウィキペディア(https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%94%E3%82%BF%E3%83%95_-1969%E5%B9%B4%E3%81%AE%E8%BF%BD%E6%86%B6-)によると最初に発売された時点では「Epitaph Official Bootleg : Live in 1969」というタイトルだったようだ。英語版のウィキペディア(https://en.wikipedia.org/wiki/Epitaph_(King_Crimson_album))ではそういった記述はないのだが、もしかして以降リリースされたライブ盤にOfficial Bootlegってシリーズ名っぽく付けてるから省略されてるのか?

 4曲目には例のメロトロンのフレーズサンプリングが入ってる。

 ってかなんで俺、よりにもよってこのCD持ってるんだ? 自分で買った? 誰かに押し付けられた?


2022.09.29


 Yahoo!ニュースのうち共同通信と47NEWSの【関連記事】のリンクが全部nordot.appってサイト経由になっている。nordot.appの信頼性が一切担保されてない。


2022.10.03


 Yahoo!の記事で、マイナンバーカード関連。コメントに必ず「一元化できるなら色々できるようになるわけですから」とか「調べようともせずただ反対だけするのは簡単」など、推進派(ネトサポ)による一切具体的なことを書かない揶揄が並ぶ。いいから具体的なメリットを書けよ。その色々を書いてみろよ。書いても損しないぞ。


2022.10.13


 Slackのスクロールバー、サムの外を押すと消える。まだスクロールできるのにスクロールさせて貰えない。最近のUIはもう頭おかしいよ。なんだって? ホイールを使えって? ノートPCにはそういうのはないよ。そもそもサムを消す意味ないじゃん。


2022.10.14


 Kobo Formaのバグレポートのメールがサイズ制限で送られてなかったことに気付き、内容を改修して再送。


2022.10.20


Subject: 飯マズ

From: Takeshi Yoneki

To: Niigata

Date: Fri, 21 Oct 2022 10:25:18 +0900 (JST)


8月の検診で、肺に影が見つかり、総合東京病院で肺癌と診断される。

MRIやPETの検査を受けて、転移がないので手術の方向で決まる。

10月初頭、順天堂医院に入院。左の肺の上葉を切除。

背中の脇がガッツリ切られてる。

昨日無事退院(2週)。

ママは、椎名林檎で注目されたヘルプマークを都営線の地下鉄駅で入手。

病院の飯のマズさはもう、なんというか。

退院してまず食ったのは街そば屋の天ぷらそば。


 Edgeにてamazon.co.jpでミュージックを指定して「キングクリムゾン リザード」を検索すると『「ミュージック」に「キングクリムゾン リザードン」の結果は見つかりませんでした』とか言いつつポケモン商品が並ぶ。誰も「リザードン」なんぞ探してないぞ。荒木センセだけでなくポケモンにまで汚染されてるとは。

 『キングクリムゾン リザード のすべての結果を表示します』というリンクもあるが、順番がおかしいだろう。勝手に補完した「リザードン」の結果はそもそも見つかってないんだからさ。頭おかしい。

 なぜかFirefoxではこうならない。MSとAmazonの合わせ技? 最近Android関連で協業してるしなぁ。迷惑。


2022.10.21


 ファイルサーバのalephのOSをUbuntu 20.04から22.04にアップグレード。アップグレード自体は問題なく終了。CPUパワー的にもう限界(Intel Celeron G1840 2.8GHz, メモリ 4GB)だとは思うが様子見。Haswellだぜ。

 IEEE 1394でのビデオキャプチャーが動いてない。/dev/fw0と/dev/fw1の権限を緩める。

 メールを受信すると色々言われる。メールフィルター向けPythonスクリプトの#!/usr/bin/pythonを#!/usr/bin/python2に変更。

 Apache2が動いてない。プラグインのphp7.4をphp8.1に変更する。

 Calibreを中心としたニュースペーパーシステムがちゃんと動いてない。Pythonスクリプトの#!/usr/bin/pythonを#!/usr/bin/python2に変更。


2022.10.26


 家のプリンタをHP Office Jet Pro 8600からHP Office Jet Pro 9010にリプレース。8600の液晶が死んでHPに修理を拒否されてからから長いこと放置していたが、ママが思い切ってリプレース。

 プリンタのホスト名を変更したらHP SmartとかいうWindows向け設定アプリの[プリンタの設定 - 詳細設定]で失敗する。ホスト名を変更するときになにやら警告されるが、どうやらこのことらしい。プリンタの組み込みWebサーバにアクセスできない。

 AirPrintとかいう設定の名前をそれっぽく変更してアクセスできるようになったが、しばらくするとダメになる。

 ホスト名を元に戻して様子見することにする。ホスト名も自由に決められないとは、HPの技術力はどこへ行っちまったんだ。


2022.10.31


「ホーム」へ戻る


OSTRACISM CO.

OSTRA / Takeshi Yoneki