AM中に起床。
掃除したり洗濯したり。
そういえば、ラッコって日本では 鳥羽水族館のメス2頭だけになっているらしい。
海外から輸入する事もできなくなっているようなので、このままだと日本で見られなくなるのは時間の問題のようです。
ところで、Windows11の Fluent Emoji では カワウソに相当する OTTER の絵文字のデザインは
ラッコのように描かれています(🦦)。ラッコは英語で Sea otter なのだそうな。
カワウソと兼用でも良いのかも知れませんが、背泳ぎで手に何か持っていると ラッコにしか見えない不思議。
Google検索でAIの回答に「ラッコの絵文字は、一般的に「🦭」で表されます。」って記されていたのですが、
それはアザラシだろ?とは思ったりも。AIは絵文字を絵として認識していないのだろうか?🤔
MSのCopilotに「🦦は何の絵文字ですか?」って聞いたら「ラッコの絵文字です」って答えが返ってきました。
ラッコと認識しているのもあるかも知れませんが「この絵文字を元に絵を描けますか?」って聞いたら、
って絵が描かれました。器用なもんです。結局 絵文字の絵を見てラッコと判断しているのか、文字コードに
ラッコが紐づけられているのかは判断できません...
そうだ、それも聞いてみればいいじゃん?と思い
「Microsoft Copilotは絵文字のテキストを絵として認識しているのですか?それとも文字コードに対応した意味として認識しているのですか?」と聞いてみたら
「Copilotは🦦のような絵文字を、画像そのものではなく「Unicodeで定義された文字コード」として処理します。その上でコンテキストや学習データに基づき、ある種の“意味”や“概念”として理解しています。」
という回答でした。文字コードにラッコが紐づけられているということらしい。どうも OTTER の絵文字は
ラッコっぽく描かれた絵の方が多いようなので、人類も ラッコとカワウソの区別が付いていないようには思ったりも。
AM中に起床。
何気に調べごとをしていて、node.jsは CygwinでビルドできるというAI回答が出てきたので、
マジで?と思って試してみたらダメでした🥺。大分古いバージョンでビルドできていた事があったようですが
今はできそうに無いです。検索してみてもWindowsのバイナリを使用する....みたいな方向に向いているのですが、
Cygwinからだとファイルパスの問題が解決できない場合があるので、結局用事にならない事の方が多い気がします。
テレワーク。早めに終了。
そういえば「ASSEMBLY SUMMER'25」が
始まっているもよう。メインのCOMPOは日本時間の深夜から早朝という感じだと思うので、
Pouetで結果を見る感じになるかも知れませんが。
テレワーク。早めに終了。
そういえば、Emacsの pretest 30.1.90が5月18日頃に出たのですが
(以前のメモ)、約2.5ヵ月ほど経過しました。
次(30.1.91?)は出るのだろうか? 30.1は今年の2月23日頃のリリースだったので、
8月で約6ヵ月になる所を鑑みると、時期的にはそろそろ 30.2に向けて動きがあるか?と
勝手に予想したりも。
masterブランチの状況はあまりよく分からず。ただ、盛大に変更が加わっているようなので
30系から31系の移行では色々面倒な対応が必要になりそうな予感はします。
特に使用する側の観点で、lexical-binding のワーニングメッセージが出るのは目ざわり
(そして対応も面倒; 以前のメモ; やりよう無い場合あり)なので
(既に存在しているのかも知れませんが)30系以前の動きに戻す設定を用意してくれないだろうか?
とは思う所です。
テレワーク。早めに終了。
津波。いつから津波警報が出ていたのかは判りませんが、夕方時点で都心では電車が運休になってて、
そんなに?と思ったりも。
東京MXのTVCMで
「銀河特急 ミルキー☆サブウェイ 銀河の果てまでいってきました!展」
てのが流れていますが、そもそもこれって何?と思って調べてみたり。
亀山陽平氏の個人製作のショートアニメーション作品「ミルキー☆ハイウェイ」の続編にあたるのが
「銀河特急 ミルキー☆サブウェイ」という事らしい。
公式ページはこちらのようですが、
それよりも 東京MXで本編放送中というのを知りました😅。PARCOでのイベントのCMは目にするのですが、
番組のCMは見たこと無いのと、6分の枠なので地デジの番組表では文字が表示できる高さになっておらず、
番組の存在が見た目では判りませんでした😓。YouTubeでも観られるようだったので
見逃した分を観てみたのですが、ほとんど一人で制作!?ってマジっすか....そんな感じ。
テレワーク。早めに終了。
NHK総合で放送されているドラマ
「舟を編む 〜私、辞書つくります〜」
を何気に観ています。劇中で「セレンディピティ」
(参考Wikipedia)
という言葉が出てきたのですが、こういう状況を表す言葉があるのかというのを知りました。
そういえば、2016年にノイタミナ枠でアニメ放送もされていましたが
(以前のメモ;情報無し😓)、内容をすっかり忘れてしまっていました。
アニメ版で紙の話をこんなにしてたっけ?と思っていたのですが、
こちらのアニメ版のあらすじから、
ドラマは13年経った時点の話を膨らませているようです。
ドラマは新たな感じで観ています。
kotlinというかSwing。マウスのホイールイベントの中に 修飾キー(Ctrl,Shift,ALT)の状態を示す
メンバー変数があるという事で、試しにprintln()で表示するようにしてみたのですが、
以下のようなワーニングメッセージが出ました。
$ make imgview_test.jar kotlinc -Wextra -include-runtime imgview_test.kt -d imgview_test.jar imgview_test.kt:131:54: warning: 'val modifiers: Int' is deprecated. Deprecated in Java. println("Wheel ${e.x} ${e.y} ${e.modifiers}") ^^^^^^^^^
テレワーク。早めに終了。
宇宙兄弟(45)。ストーリー的に成功する事は想像できるのですが、実際にこういう事故が起こったら
今の人類は うまく対応できるだろうか?とは思ったりも。宇宙兄弟の物語上は2029年7月30日の出来事ですが、
現実世界の4年後だとしても、月面への探査機投入も思い通りにいかない現実の現状を鑑みますに、
月軌道上で人を回収するなんて事は大分難しいミッションには違い無いと想像します。
次巻で完結ですが発売は約1年先になるみたい。
AM中に起床。
掃除したり洗濯したり。
kotlinというかSwing。ある JPanelコンポーネントにスクロールバーを付けたいとき、
JScrollPane に JPanelコンポーネントをはめ込むイメージで使うようですが、
JPanelコンポーネント内の処理の結果に従って、スクロール位置を補正したいと思ったとき、
どうやってやるんだ?というのがイマイチよく解らなかったり。
Win32APIだと スクロールバーのついたウインドウという考え方なので、
スクロールバーの付いたJPanelコンポーネントのスクロール位置を再設定するみたいに
できないのか?と考えてしまいます。
仕方ないので、「val scpane = JScrollPane(mypanel)」のように自前パネルをJScrollPane
にはめ込んだ後に、「mypanel.parentscpane = scpane」のように相互参照できるようにした上で、
mypanel内から parentscpane を介して JViewportを取得したり設定したりすれば
イケるっちゃイケそうなのですが、Swing的に一般的な方法なのだろうか?🤔
AM中に起床。
お出かけ。風が熱風🥵。
Emacs起動時の引数にファイルやディレクトリを指定すればそれを開いて起動できますが、
Tramp経由のリモートファイルを指定して開くこともできるというのを知りました。
よく考えれば そりゃできるよね という感じですが😅。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。気持ち早めに終了。
Emacsハングの件。先日 Cygwin 3.6.4に戻して様子見していたのですが、やっぱりEmacsのハングが発生します。
困るのは明確な操作トリガーがはっきりしていない事と操作不能な状態に陥る事。
デバッガを使って調べる事もできません。
というか、Cygwin本体の問題だと ほとんどの場合 デバッガがうまく機能しません🥺。
と言うわけで、当面は Cygwin 3.6.2に戻して使うしかありません。Emacsでなくても良いので誰かに
同じ事象が発見されて修正されるのを期待するか.....
テレワーク。気持ち早めに終了。
Emacsを起動してほったらかしておくとハング状態に陥る件。3.6.3から最新のCygwin 3.6.4-1にすると症状が
悪化している感じだったので、バージョンを3.6.2まで下げて様子見してましたが、
ここ数日でハングする事はありませんでした。見かけ上は 3.6.2を 3.6.3にするとハング現象が発現する感じですが、
cygwin 3.6.3-1の
変更点でそんな事になるのか?はよくわかりません。
Cygwinを3.6.4に戻して、Emacsをビルドし直した実行ファイルでどうなるか?を様子見してみることに。
テレワーク。早めに終了。
田宮俊作氏死去。90歳だったそうな。
調べごと。掴めず。
AM中に起床。
山手線内でのバッテリー発火。スマホ本体のバッテリーなのかモバイルバッテリーなのか、
TVの報道はどっちにも取れる場合があってよくわからす。スマホ本体のバッテリーだと問題視される箇所が
変わってくるかも? ところで、そもそもモバイルバッテリーって必要か?🤔
スマホデビューして半年くらいで言うのもなんですが、1日もたない状況なんてあるわけないと思えるのですが。
flymakeのkotlin対応。少し使ってみた範囲では大丈夫そうな感じなので放流してみます
(kotlincfm_250721a.tar.xz)。
使い方は kotlincfm.pl というperlスクリプトの最初の方にutf-8の日本語で記してあります。
Cygwinで使用する為のスクリプトなので、他のプラットフォームでは用事にならないと思います。
ご参考まで。
AM中に起床。
掃除したり洗濯したり。
先日椅子の下に敷いていたラグマットを交換したのですが、ラグマットだけではなくフローリングワックスが
ダメージを受けて剥がれていたためワックスがけを実施。掃除したり乾かしたり時間がかかりましたがひとまず完了。
他にもワックスが剥がれている所はあるのですが、水場との動線がややこしい部屋構造で
ルートを間違えると動けなくなってしまうのもあり 腰がなかなか上がりません😓。
投票へ。部屋を出て戻るまでピッタリ14分。時間とタイミングが良かったのか待ち行列無しでラッキー。
目を離すとEmacsがハングしている件。昨日Cygwinを最新の3.6.4-1にアップデートしてWindows11も
再起動してみたのですが、何やら少し起こりやすくなっているような? Cygwinを3.6.2まで下げてみる事に。
また様子見。
そういえば、以前、Web散策しているとディスプレイが
ブラックアウトするという現象があったのですが、
その後にディスプレイが故障してしまいました。
新しいディスプレイになったりゴタゴタしていてすっかり忘れていたのですが、
そういやブラックアウトしなくなったような?と思ったりも。NVIDIAドライバのアップデートは行っていませんが、
ディスプレイ交換とWindowsUpdateがあったので何が原因だったのか判りませんが、
今思うに ディスプレイ故障の予兆だったのだろうか?と思い返したりも。
今頃なのですが、gcc-15.1には gcobolという COBOLのフロントエンドが実装されているらしい
(GCC 15 Release Series Changes, New Features, and Fixes)。
どういう経緯で実装されることになったのかはよく分からず。そういえば Rustは gcc-14.1で
gcc-rustが実験的に入っていましたが(以前のメモ)
15.1では正式に入っているっぽい。Cygwinネイティブターゲットへの移植はまだ行われていないようですが、
イケそうな感じになりつつあるようです
(Experimental cygwin host support #137819)。
kotlin。ワーニングの直し方がよく分からない場合があります。
Swingで ファイル名のドラッグ&ドロップ処理を調べると、AI回答のコードが動きそうだったので
使用してみる事にしたのですが、以下のようなコードでワーニングが出ました。
val files = transferable.getTransferData(DataFlavor.javaFileListFlavor) as List<File>
@Suppress("UNCHECKED_CAST") val files = transferable.getTransferData(DataFlavor.javaFileListFlavor) as List<File>
AM中に起床。
kotlinのflymake対応。Makefile内でコンパイルに使用する一時ファイル名を元に、
出力するjarファイル名の生成と削除を行う事でゴミを手動で消さなくても良いように考えてみたり。
flymakeに連携の取れたMakefileを書かなくてはならないのは面倒かもなぁとは思ったりも。
まぁ、一度書けば終わりではありますが。
libGDXのプロジェクトでflymakeを使う。まだ使えてませんが🥺。
ひとまず単一 .ktファイルをチェックできるのですが、libGDX由来のクラスなどの場所が不明なので
コンパイルエラーになります。何かしら kotlincにライブラリパスを指定すれば良いのだろうと
思った訳ですが、gradle でのビルドでkotlincにどういう引数を与えているのかがよく判りません。
--infoなどで実行しているコマンドラインなどが調べられるかと思ったのですが、コンパイラへの引数はおろか
kotlincを実行しているか否かすら判りません。なにこれ?🤔
結局 gradleから情報を引き出す事はできませんでしたが、
kotlinc のコマンドラインに -classpath で.jarファイルを指定すれば良いらしいのが判ったり。
ただし、何も無い状態からはチェックできないので、gradleで一度ビルドした後に
「find . -iname '*.jar'」とかでファイルの位置を調べて
例えば gdx-1.13.1.jar を -classpathに指定するように Makefileを書き換えるという感じで、
libGDXのサンプルコードをflymakeでチェックする事ができるようにはなりました。
1テンポ待たされる感じはありますが、ちょろっと変えては「./gradlew run」で確認するよりは
遥かにマシになったように思います。
少しテストをしていたのですが、エラーメッセージに改行が含まれる場合にうまく動きませんでした。
Emacsのflymakeの表示でもエラーメッセージの最初の改行までしか表示されなくて、
エラーはしているが肝心の 原因を指す部分が表示されていない事があったため、
結局フィルタースクリプト側で 改行を空白文字に変換して対応したり。面倒臭すぎる。
kotlinc のオプションに -Wextra という細かいチェックを行うオプションがあるようだったので
試しに指定してみたところ なにやら色々指摘されたり。その中に直し方がよくわからないのがありました。
exitmenuitem.addActionListener { kotlin.system.exitProcess(0) }
本日休業。
通院。めっちゃ待つ事になると言われてたけど めっちゃ待たされた😅。
kotlin。先日のFloatのようなのはflymakeで編集しながら確認できないのだっけ?と思ったのですが、
LSPを使う面倒臭い方法しか出てこないなぁ?と思ったり。また、kotlincには gccで言うところの
-fsyntax-only みたいなオプションも付いていなさげ。
それ以前に kotlincもgradleも実行速度が遅すぎるように思います。
Google検索のAI回答によると、「./gradlew classes」でコンパイルだけ実行する代用になるらしい。
でも 9秒かかる。遅い。「./gradlew compile」もイケるっぽい。こちらは 6秒。やっぱり遅い。
そしてターゲットとなるソースコードだけをコンパイルする方法が判らず。
更にGoogle検索のAI回答に --include-buildオプションを使って
「gradle classes --include-build=path/to/your/file.java」みたいにするという、
「そうだよそういうので良いんだよ」と思えるのが出てきたのですが、
実際に実行してみると「path/to/your/file.javaは ディレクトリじゃない」と怒られました。ガッカリ🥺。
ターゲットとなるソースファイルのコンパイル結果を機械的に取得したいだけなのに、
なんでこんなに面倒臭いんだ?🤔 理解に苦しむ。
単一の .ktコードに限り flymakeを使えるようにしてみたり。
Cygwinの Emacsで使う都合もあって、DMDの時の様にエラーメッセージのファイルパスをCygwinパスに変換する
外付けのフィルタースクリプトは必要です(以前のメモ)。
加えて、kotlincは ファイルをフルパスで指定しても、エラーメッセージでは 勝手にディレクトリパスの表示が無くなる為、
Emacs上で開いているファイルバッファと紐づけができなくなってました。エラーメッセージのファイルパスは
フルパスになるように加工する必要もありました。ただ、コンパイルだけを行う事ができない為、
Foo_XXXXXXXXXXXXXXX_flymakeKt.class といった感じファイルなどをチェックの度に生成されます。
ソースファイルの中身をパースしないと関連付けられないファイルを生成する為、自動で消す事ができなくて
手動で消すしかない感じになってます....
それにしても、こんな面倒臭いコンパイラの挙動に世の中のIDEは頑張って対応しているのだろうか?🤔
コンパイラのメッセージ書式や文法チェックだけを行う場合の挙動を標準化すれば良いのにと思わなくはありません。
テレワーク。早めに終了。
kotlin。libGDXのサンプルをちょろっと弄ったり。SpriteBatch.draw(img,x,y)の
xとyはFloat型で指定する必要があったので、「var x: Float = 0」のように変数xの初期値を
設定して使おうとしたところコンパイルエラー。「var x: Float = 0f」のように書く必要があるらしく、
暗黙に型変換されないみたい。「var x: Float = 0.0」とすると、0.0は Doubleと解釈されるようで、
Floatの場合は何をやるにも fを付けないとダメっぽい。面倒くせぇ....🥺。
Float型の変数との演算「x + 1」みたいなのは fを付けなくても大丈夫そうなので、
型推論が行われる場面はあるようですが。
kotlinには三項演算子が無いみたい。代わりに if式で「x = if(条件) a else b」のように記すらしい。
テレワーク。早めに終了。
随分前に買ったラグマットですが、
椅子のキャスターで轢き続けた結果、椅子の足で描く円形に布地に穴が空き始めたので
チェアマットをネット購入していました。それが届いたので敷き替え。
前のラグマットはタタミ一畳分だったのですが、それよりは少し小さいものの
丁度収まるサイズで良い感じ。
kotlin向けにlibGDXのプロジェクト生成。ADD-ONSの LANGUAGESに Kotlinを追加し、
TEMPLATEに Kotlin Logoか Kotlinを選べば良いみたい。ビルドは「./gradlew run」で良さそう。
libGDXの作法なのか、ApplicationAdapterってクラスを継承した Mainってクラスの中に書いていくのは
Javaの場合と同じようです。
テレワーク。早めに終了。
kotlinというかjava? libGDXというゲームフレームワークがあるのを知ったので
試しに使ってみたり。
何かしらインストーラーでインストールするのかと思いきや、プロジェクトのセットアッププログラムを実行して
指定したディレクトリ下にひな形となるファイル群を生成し、生成されたプロジェクトのディレクトリ下で
ビルドするというものらしい。何やらIDEにいちいちインポートしないとビルドできないのか?とも思ったのですが、
コマンドラインでのビルドも可能みたいなのでひとまずそれで試してみたり。
公式ドキュメントを見ずに別のページに「./gradlew desktop:run」と実行すればPC用にビルドして実行できる
っぽかったので試してみたら何やらエラー。desktopが無いという事だったのですが、そういうことではなくて、
公式ドキュメントにあるように
プロジェクトの構成に合わせて指定しなくてはならないという事みたい。
あと単純に「./gradlew run」でもよしなにビルド&実行されるようですが、良しなになるようになっているから
(勝手に)期待した風に実行されるという事みたい。
「A Simple Game」のページを見たところ、
奥まった所に置かれている Main.java が本体コードのようで、同ページの最後の「Full Example Code」に
差し替えて(packageを自分のに合わせる事と、画像ファイルやmp3ファイルを所定のアセット置き場に置く必要がありました)
みたところ ビルド&実行に成功したので、ひとまず Main.javaを弄れば良さげという事が判りました。
kotlin向けやAndroid向けを選んでプロジェクト生成を行えば、それらをターゲットとしたプロジェクトに
なるようですが まだそこまでは試せず。
テレワーク。早めに終了。
調べごとをして終了。
AM中に起床。
掃除したり洗濯したり。
kotlin。特に進展なし。kotlinよりも Swingの方がよく分かっていないのを調べる時間が長い気も。
AM中に起床。
生活備品を調達にお出かけ。洗剤を調達しようとしたのですが、一番近い店ではなぜかほとんどが液体洗剤
に置き換わってて、いつもの粉洗剤が見当たらず。少し遠くの店で調達できたのですが、今ってそういう感じに
なっているのだろうか?🤔 帰ってから我が家の洗濯機って液体洗剤イケるんだっけ?と思い
取扱説明書を見てみたら、粉洗剤と同じ投入口に入れれば良い模様。知らんかった。
粉洗剤に特化してるのかと勝手に思ってました😓。
kotlin。まだ要領つかめず。クラスをインスタンス化するのに new を使わないようなのですが、
(人間が)関数と区別がつかないような?と思ったりも。あとUnicodeの扱いがイマイチよくわからず。
ボタンのテキストに絵文字を使ったら表示されなかったり、ソースコードはutf8で書いてても
println()での表示はSJISになってるようだったりと、D言語でもDMDやldc2を使った時と同じく
よくわからない所で文字コードの変換が行われているようにも思えたり。
ボタンのテキストもprintln()も、chcpコマンドで 65001を指定すれば大丈夫そうだったりするものの、
それってアプリでは制御できないじゃん?と思ったりも。謎。
getComponents()で得たコンポーネントから .getClass().getName() で元のクラス名を取得しようとしたら
何故か getClass()など無いと怒られました。インスタンスの構造(?)が kotlinか javaかで違うようで
kotlinの場合は .javaClass.getName()に読み替える必要があるみたい。
kotlinで Swingを使うからハマるのか?🤔
テレワーク。早めに終了。
今日のGoogle検索のトップページのDoodleはラーメンを称えてって事らしいのですが、
なんで今日?と思ったら7月11日はラーメンの日らしい
(参考ページ)。
2017年に正式制定されたようです。ほぅ....
唐突に「Android Studio」をインストールしてみたり。ひとまず
こちら
を見ながら動かしてみているのですが、イマイチ要領が得られない感じです🥺。
そもそも kotlinがよく分かっていないので、
kotlincを使ってコード単体で実験してみたり。どうやらJavaのコードを置き換え可能な感じで書けるらしいと
いう事でJavaコードと見比べながら試してみているのですが、なんか見た目が大分違うので対応が付けられない
感じです。今のところkotlinではその文法になっているのに合理性をあまり感じられません。
D言語のときは合理性しか感じなかったような気がするのですが。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
少し前にタスクバーのボタンにマウスカーソルをかざすと
ファイルエクスプローラのアイコンが何故か表示される現象があったのですが、
WindowsUpdate後に再起動したら再現しなくなっていたり。何か変な状態に陥っていたのだろうか?🤔
テレワーク。早めに終了。
Web巡回して終了。
本日休業。AM中に起床。
色々用事を済ませて一日終了。
AM中に起床。
掃除したり洗濯したり。
スマホに ICカードの読み取り機能があるのを知ったり。何故かスマホの説明書には書かれていないようですが。
調べごとをして終了。
AM中に起床。
買い物にお出かけ。先週くらいからサイドテーブルを探していたのですが、
丁度良さげなサイズのを見つけたので購入。ギリギリ持ち帰り可能と判断したのですが、
流石に腕が死ぬかと思った😓。新PCで液晶タブレットを使えるようにケーブルを延長しましたが
(以前のメモ)、ローテーブルでは配置や姿勢に無理がありました。
今回買ったサイドテーブルは椅子に座って丁度良い高さのテーブルなので、
長時間作業だったり作業机としても使えそう。よき。
Windows11のタスクバーのどれかのタスクボタンにマウスカーソルをかざすと、
それまで表示されていなかったファイルエクスプローラのアイコンが表示されます。
「タスクバーのボタンをまとめラベルを非表示にする」の設定を「なし」にして
タスクボタンをバラしているのですが、アイコン表示が割り込んでくるのでボタンの幅が変わってしまうため、
場合によっては 一つ右隣のボタンの上にカーソルが乗ってしまう場合があります。
なんか邪魔に感じるのですが、挙動を変えるスイッチは見当たらず。
そういや新しいディスプレイは HDMIポートの方はHDRに対応しているらしいという事で、
1年以上ぶりくらいにPS4の電源を入れて確かめてみたり。因みにPS4はスタンバイにしてると夜中に静電スイッチが
雄叫びを上げるようになったため電源を抜いたままにしていました。
システムウェアのアップデートが必要だったり、PSplusもウォレットの残高不足で自動更新されず
期限切れになってました。ところで、システムウェアのアップデート内容がQRコードで示されるようになっていて、
その場では詳細の確認ができないようになっていました。単純になんで?🤔とは思ったりも。
で、GTsportを起動してみたのですが、アップデートを先に行う必要があったり。
しばらく待って終わったので起動してみたところ、オンラインサービスは終わってました😅。
一旦そこは良しとして HDRの方ですが、光の輝度がまぶしい感じに表示されていてHDRになっているようでした。
壊れたひとつ前のディスプレイもHDR対応だったのですが、まぶしいと感じた記憶は無かったので、
7~8年ほど前とは様子が違うのか?と思ったりも。ただ、HDRがONになっているとPS4のファンが高速回転になりました。
GTsportを終了すれば通常回転に戻る感じです。
また、前のディスプレイでは HDMI2.0で接続すると 数分後に映像が出なくなるという現象がありました
(以前のメモ)。
今回はちょろっと確認しただけなので、また後で確かめてみようかと。
テレワーク。早めに終了。
調べ事をして終了。
テレワーク。早めに終了。
ディスプレイ。昼過ぎに届きました。サイズもデザインも前のに似た感じの
「Dell 27 Plus 4Kモニター - S2725QS」というのにしてみました。約35000円也。
色味の第一印象は「ちょっと黄色寄り」だなぁと思いました。
因みに 壊れたのはDell製のUP2718Qという製品でしたが、これはどの色にも寄っていなかったので
ハイエンドディスプレイってこういう事なのか?と思った所でした。
これまでの感じだと、EIZOのは緑寄り、テレビですがREGZAは青寄りといった感じだったので、
製品やメーカーによって何かしら特性はあるのかな?と思ったりも。
今回購入したディスプレイは 120Hz対応なので、違いを見比べられないか?と思ったのですが、
YouTubeって120fps対応はしていないのか。
手持ちのアプリでは一応120fpsになってるなぁ?くらいの確認はできるのですが、倍速で描画されてるので
スムーズかどうかを見比べる感じでは無い気も。
そういえば、ディスプレイにHDMIケーブルが付属していたのですが「ULTRA HIGH SPEED」というタグが付いていました。
「ウルトラハイスピード」ってなんぞ?と思って調べてみたところ、
HDMI2.1の 8K60Hzや 4K120Hzに対応する 48Gbps伝送可能なケーブルみたいです。
因みに、「プレミアムハイスピード」は4K60HzやHDRに対応する 18Gbps伝送可能なケーブルで、
我が家では色々と4K対応するのに HDMIケーブルのほとんどを交換しました😓。
フルHD(1920x1080)解像度ならば120Hzだとしても、プレミアムハイスピードで十分だと思います。
新PCはDisplayPort接続なのですが幸い 8K60Hz/4K120Hz対応のケーブルになっています。
古いデスクトップPCのときに NVIDIAドライバをアップデートしたらDP出力が映らなくなってしまったのですが
(以前のメモ)、
その後もアップデートで直る気配が無さそうだったので、ケーブルを変えてどうにかなるとも思えないけど
オーバースペック気味のケーブルでダメだったらドライバが直るのを待つしかないと、
ダメ元で交換したら映るようになってしまって、ケーブルって関係あるの?!と思った事がありました。
よもやそのケーブルを4K120Hz対応で使う事になるとは想像もしていませんでしたけれども。
テレワーク。早めに終了。
先日発注したディスプレイは出荷済みになってるようですが、今日届く予定になってて本当か?
と思ったりも。少なくともまだ配送業者ではトラッキングが始まっていないと思われ(18:30時点)。
その後、結局21:30頃に営業所に集荷されたようなので やっぱり届くのは明日。
昼までには届くんじゃなかろうかと思ったりも。
テレワーク。早めに終了。
普段使いしているディスプレイが突然死。普通に使っていたところ 突然画面の下半分がインターレース
のように偶数(奇数かも)ラインだけが映らない感じに。むぅ。
ひとまず液タブで対応してみてるのですが 流石に無理があるので、新しいのをWebで調達してみる事に。
壊れたディスプレイは27インチ/4Kで 入力ポートが DP×2, HDMI×2 あるのですが、
同じ感じのは無さそうだったので、27インチ/4Kで DP×1, HDMI×2 のを選んでみました。
最近のはベゼルが細くなっているので32インチもギリギリイケるか?と思ったのですが、
入力ポート要件が合うものが無かったので見送り。
故障したディスプレイを買った2017年頃は、
4k/60Hzに対応しているかどうかを見分けるのが難しくて、安いと思ったら30Hzまでしか
対応していないとか、スペック表からHDMI2.0対応かどうかが判らないとか
色々罠があったように思います。
それにしても液晶ディスプレイが壊れるとは想定外だったなぁ....🥺
テレワーク。早めに終了。
org-modeでの LaTeX式のレンダリング。previewした場合とHTMLにエクスポートした場合との違いを
調べてみたところ、previewの場合はテーマに連動していると思われる背景色と文字色でレンダリングされ、
PNGフォーマット的には256色PNGになっているようですが、HTMLエクスポートした場合は文字色は黒固定で
背景は透明(ただし色は白だったり黒だったり不確定)でレンダリングされ、
PNGフォーマット的には8bit Grayscale PNGになっているようです。この為、
AM中に起床。
掃除したり洗濯したり。
Emacs31系でewwを使用すると、
⛔ Warning (files): Missing ‘lexical-binding’ cookie in "~/.emacs.d/url/cookies". You can add one with ‘M-x elisp-enable-lexical-binding RET’. See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’ for more information.
AM中に起床。
ちょろりお出かけ。
カッターナイフの替え刃を購入したのですが買う時に迷いました。
欲しかったのは19mm幅のタイプだったのですが、パッケージには「大」や「小」と記されていました。
ところが、パッケージの見た目が「小」の方が大きく「大」の方が小さいという感じになっていて、
これはどういう事だ....としばし迷いました。「大」が所望の19mm幅のタイプだったのですが、
買い慣れていないと判らんなぁとは思ったりも。
そういや新PCでBlenderでのレンダリングを試していなかったなぁ?と思いちょろっと試したのですが、
使い方をすっかり忘れてしまっていて レンダリングパラメータもどれが何だかさっぱり記憶から消え去っていたり🥺。
GTX1080よりも大分速いハズですがベンチマークの記録が無いため正確な比較はできず。
テレワーク。気持ち早めに終了。
ちょろりコーディング。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
自作の d-ts-modeを Emacs31系で動かしていたところ、
「apply: Symbol’s function definition is void: c-ts-mode--anchor-prev-sibling」
というエラーメッセージが出たり。30系では再現しなかったので調べてみたり。
どうやら lisp/progmodes/c-ts-mode.el で定義されている関数が
30系では c-ts-mode--anchor-prev-sibling だったのが 31系では c-ts-mode--prev-sibling に
なっているようだったり。c-ts-mode内でしか使われない想定の関数を外で使っているヲレが悪いのか?🤔
仕方がないのでバージョン判定分岐を入れて対応。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
調べごとをして終了。
AM中に起床。
掃除したり洗濯したり。
以前、手持ちのD言語コードで dmdコンパイラが ICE落ちしている
と思われるものがあったのですが、どこで落ちているのかを調べてみたり。
と言っても、コンパイラをデバッガに食わせて調べる訳では無く、手持ちコードの どの行を含んでいると
ずっこけるのか?というのを調べた感じです。結果として、構造体の動的配列を .lengthプロパティで
初期サイズを決定するだけのコードがダメそう。その行をコメントアウトするとコンパイルは通る
(ただし意図した動きにはならない)のが判ったのですが、
「Point[] pl; pl.length=10;」みたいなのを含んだだけでダメなのでどうしたもんか。
因みにPointは構造体ですが「struct Point{double x,y;}」という単純なものです。
単一コードで再現するか試してみたのですが再現せず。というか他の手持ちコードでも似たような事を
そこらじゅうで行っているし、ldc2では大丈夫なので 何故これだけ?という感じです🤔。
そういやと思い、-Oによるオプティマイズをやめてみたところ ずっこけないようです。
どうしてもdmdを使う必要がある場合は、ワークアラウンドとして使えるかも知れません。
AM中に起床。
通院。
以前、Cygwinに screenコマンド の5.0.0のテスト版が来ていた
のですが、正式リリースとして5.0.1-2が来てました
(アナウンス)。
以前5.0.0を野良ビルドしてみた時に
日付表示は組み込み機能になっているのを知ったので、.screenrcのhardstatus設定は次のように移行してみました。
#for4.x.x #hardstatus alwayslastline "%{= kw}%-w%{= rw}% %t%{= kw}%+w %=%H %c %Y/%m/%d" #for5.0.0 truecolor on hardstatus alwayslastline "%{= #bfbfbf;#000000}%-w%{= #bfbfbf;#800000}%n %t%{= #bfbfbf;#000000}%+w %=%H %c %Y/%m/%d"
テレワーク。早めに終了。
全く気付いていなかったのですが、Emacsのtrampメソッドに podmancp というのがあるのを知ったり。
scpやpscpと同じ外部転送メソッドの仲間のようです。多段接続では使えないので、コンテナが動作している
ホストでEmacs起動した場合に使えるようですが、VirtualBox上の Fedoraで emacs-gtk+x11 を起動して
使ってみた感じ、podmanメソッドに比べてなんか遅くないか?とは思ったりも。
テレワーク。早めに終了。
Emacs31。VirtualBox上のFedoraの上で起動したpodmanコンテナに多段接続
(「/plink:user@host|podman:containerID:/tmp」とか)でdiredで開いてファイルコピーを
試したところ、大きすぎた為なかなか終わらなかったので C-gでキャンセル。
その後そのまま小さなファイルのコピーを試したらそれもコピーができず。
どうもセッションがダメになっているようで、一度「*tramp/podman ...*」のバッファを削除して
再度開き直して小さなファイルのコピーを試したらOKでした。これは30.xでも、コンテナじゃなくても
同じだったので、リカバリ操作として対応するしかないかもなと思ったりも。
うーむ、どうも大きいファイルは転送がうまくできない予感🤔。
多段接続では scp/pscpなどの外部転送メソッドは使えないので、何かしらの手段で分割して送った後に結合するとか、
手動でscpとか podman cp を使ってコンテナの中に送り込むしか無いか.....?
それにしても読み出し方向の速度は気にならないくらいなのに、書き込み方向が遅いのはやっぱり納得できない。
テレワーク。早めに終了。
Emacs31。そういえば30系までは JPEG画像表示は256色に減色されていたのですが、
31系ではフルカラー表示になってます。
commit 8cd4ab7abde87ac04e05442196b4646ab46df9a7 Author: Manuel Giraud <manuel@ledu-giraud.fr> Date: Thu Nov 21 17:19:59 2024 +0100 Do not use libjpeg quantization (bug#74476) * src/image.c (jpeg_load_body): Remove libjpeg quantization. src/image.c | 80 +++++++++++++++++++++++++++++++------------------------------------------------- 1 file changed, 31 insertions(+), 49 deletions(-)
テレワーク。早めに終了。
Emacs31系でzlc-modeがうまく動かなくなっている件。以下の二つの不具合が生じました。
⛔ Warning (files): Missing ‘lexical-binding’ cookie in "~/develop/emacs_lisp/emacs_msgprint/msgprint.el". You can add one with ‘M-x elisp-enable-lexical-binding RET’. See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’ for more information.
テレワーク。早めに終了。
Emacs31系。コマンドなどの補完候補一覧を表示する「*Completions*」バッファが、なにやらウインドウ表示
の外に出ている分がバッファにも記されなくなっているようです。続きを見るには何やらボタンを押せ
みたいな事になっていて なんだこれ?と思ったり。
一番困るのは zlc-modeがこの変更の影響を受けて
動きがおかしくなってしまう点。
今年の2月頃に lisp/minibuffer.elに加えられた変更の様です。そして以前のように振る舞う設定も無さげ🥺。
Emacs31系でzlc-modeの候補補完がうまく動かなくなっているのを調べてみたり。
zlc-modeでは途中まで一致する文字列を補完した後、残りの文字列を候補から選ぶといった動きを行うのですが、
残りの文字列の区切りが認識されずに全文字列を足すような動きになっています。
違いのある文字位置はテキストプロパティの有無で判断しているのですが、Emacs31系ではテキストプロパティが
全部剥がれた文字列が伝わってきている為、区切り位置の判断ができなくなっているようです。
前述のminibuffer.elの変更とは別の変更の影響を受けている模様。うーむ🤔
AM中に起床。
yank-mediaの件。先日の生成されたPNGファイルが妙な件は、試しにGdipCreateBitmapFromScan0()
に指定しているフォーマットを PixelFormat32bppARGBから PixelFormat24bppRGBに変更してみたら
所望の絵になったり。でも、こんなの実際に動かせば気づくんじゃないか?と思うので、
32bitARGBか24bitRGBを見分ける必要がある(けど今はそれが無い)のだろうか?🤔
元のデータは BITMAPV5HEADER として固定解釈しているので、bV5BitCountフィールドを見て
24だったらPixelFormat24bppRGB、そうでなければ PixelFormat32bppARGB と雑に分岐してみたり。
しかし、32bitARGBになるようなケース(「Win+Shift+S」およびGIMPで透明度付きレイヤーの領域コピーデータなど)
は BITMAPV5HEADER のデータではなくて直接PNGフォーマットでクリップボードに入るようなので、
事実上24bitの方しか通らないかも知れません。
また、以前自作したクリップボード画像をPNG保存するプログラム
でもあったように、Officeスイートでクリップボードに入れた 32bit画像は、
透明度がデタラメになる場合があるので万事OKとはいかない
(自作プログラムでは透明度の除去をlibpng側で行ってましたが GDI+にはそれらしいスイッチが無い)かもしれません。
Emacs31系で plink接続できない件。
tramp-process-connection-typeを tにして sshや scpでのアクセスは可能、
tramp-process-connection-typeを nilにして plinkではなくて sshxにしてもアクセス可能なので、
plinkだけが何故かダメになっているように見えます。謎🤔
どうやら、以前遭遇した
Cygwinの場合はカスタム変数 tramp-use-connection-share を nilにしなくてはならない件の話が変わったみたい。
カスタム変数 tramp-use-connection-share に suppress というシンボルを指定すればイケました。
30.1でも suppress指定で大丈夫そうなので、
.emacsで「(setq tramp-use-connection-share nil)」としていたのを
「(setq tramp-use-connection-share 'suppress)」に変えてしまった方が良さげ。
Emacs31系でのパッチの確認を行っていたのですが、
以前追加したイタリック体のフェイスを持たないフォントファミリーで
斜体表示をする機能が動いてないなぁと思ったり。自前のカラー絵文字パッチでは現在のHDCからLOGFONTを
取得してDirectWriteに渡してるのですが、公式のカラー絵文字対応ではそういう事はやっていなさげ。
斜体にする事はあらかじめHDCに仕込んであるので、それを反映すればDirectWrite描画に対しても斜体変形が
機能するのですがどうしようかなぁ?🤔
HDCからフォントフェイスを生成する CreateFontFaceFromHdc()というのがあるのですが、
公式の w32dwrite.cでは定義されていないようだったので追加して、GLYPH_RUNの fontFaceに
反映してみるように試したところ、あっさり所望のものに対応できたのでこれで良いじゃんという事にしたり。
一応、絵文字にも作用するのですが合字はダメです(例では🍄🟫)。異体字セレクタが入る場合もダメです。
あと、描画が欠ける場合があるのも同じです。
「UDEV Gothic HSJPDOC」はイタリック体のフェイスを持っていますが、このようなフォントの場合は
斜体での表示は行われないため 描画が欠ける事はありません。オプショナルな機能ということでよしなに。
AM中に起床。
散髪にお出かけ。
Emacsの gitリポジトリの masterブランチ(31系になる予定)に IMEパッチ&その他パッチをあててみたり。
自前のカラー絵文字対応は関係コードがうまくリジェクトされたので、それ以外でパッチがうまく当たらなかった所
を直してひとまずコンパイルだけは通してみたり。とりあえず使える感じではあるのですが、
コンパイルメッセージ(warning/info)が山ほど出るようになってます🥺。
こんなの出るんだと思ったのをいくつか挙げてみます。
int func(int a); int func(int a);のような場合、特に何も言われなかったのが言われるようになってました。
int func(a, b) int a; char *b; { .... }の書き方が警告されます。変数名を冗長に記述する必要があるので面倒臭い書き方と思いますが、 IMEパッチはこの形式で関数定義されているものがそこそこありました。
/* a=10; /* 初期値を10とする */のように、コードを潰すような目的のコメントアウトが警告されます。
x = a==b && b==c || x==y && y==z ;のようなのを
x = (a==b && b==c) || (x==y && y==z) ;のように直しました。
テレワーク。早めに終了。
Web巡回して終了。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
FreeDOS。VirtualBoxのFreeDOS環境 で描画速度が遅い256byteデモ
(Puls)を
Windows10のVMwareに構築してあったFreeDOS環境でも再確認してみたのですが、
やっぱりVMwareでは描画速度に問題は無い感じだったり。
命令セットのエミュレーションはしていないハズなので、見かけ上 VirtualBoxの VGAはめちゃくちゃ遅い
という事になりそうですが、いくらなんでもVMwareとの速度差があり過ぎないか?とは思ったりも。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
おもむろに VirtualBox上に FreeDOS環境を構築してみたり。
ダウンロードページにリンクの張られているインストール動画を参考に入れてみました。
ひとまず 256byteの デモをいくつか動かしてみたのですが、描画速度が遅いものがあったり。
VMwareの時は大丈夫だったと思いますが、VirtualBoxではダメな場合がある?🤔
AM中に起床。
掃除したり洗濯したり。
ゲゲゲの鬼太郎のセレクション放送。今回は1985年11月30日に放送された「だるま妖怪相談所」って回でしたが、
内容はさておき、鬼太郎の声を戸田恵子があててたのかと今になって思ったり。
戸田恵子と言えばアンパンマンの中の人と連想するのですが、アンパンマンのアニメ放送開始は
1988年10月3日だったらしい(参考Wikipedia)ので、
今回の鬼太郎の放送よりも少し後って事になります。
ウマ娘のアニメ。耳の位置が正確に設定されていると電話の受話器はそうなるか。
AM中に起床。
アパートのケーブルTV設備の工事に立ち合い。
全然関係無い流れから「MFゴースト」の原作連載って終了してるのを知ったり。
最終巻は6月6日に発売された模様。そして「昴と彗星」という「頭文字D」「MFゴースト」に続く
物語の新連載が始まるらしい。ほぅ...
手持ちD言語のコードメンテナンス。一通り対応し終えたのですが、
コンパイラ(dmd/ldc2/gdc)の違いによってコンパイラが落ちたり、生成された実行ファイルが
ずっこける場合があったり。今のところ原因調査まで手が付かず。
そういえば Emacsの pretest 30.1.90が 5月にリリースされていますが
(以前のメモ)、30.2としてリリースするのはいつ頃の
予定なのだろうか?
テレワーク。気持ち早めに終了。
手持ちD言語のコードメンテナンス。
テレワーク。早めに終了。
Web巡回して終了。
テレワーク。早めに終了。
調べごとをして終了。
テレワーク。早めに終了。
手持ちD言語のコードをメンテナンス。捗らない。
テレワーク。早めに終了。
調べごとをして終了。
AM中に起床。
掃除したり洗濯したり。
ゲゲゲの鬼太郎のセレクション放送。今回は1968年1月24日に放送された「吸血鬼ラ・セーヌ」って回だったのですが、
まだ白黒なんだっけ?と思ったりも。
日本でのカラーテレビ本放送開始は1960年9月10日とされているようです(参考Wikipedia)。
フジテレビのカラー本放送開始は1964年9月7日とされているようなので(参考Wikipedia)、
鬼太郎の第1期テレビ放送時点では放送局の都合で白黒というよりは製作の都合で白黒だったのかしら?
と思ったりも。さておき、1968年1月だと 人類が月面に立つ1年半ほど前ですが、
1970年前後の数年って急速に色々進歩しているのを感じられたのではないかなぁ?と思います。
ギリギリまだ生まれていませんけど😓。
手持ちD言語のコードをメンテナンス。なにやらdmdでのコンパイルで落ちる場合があったり。
$ dmd -m64 -O -I. -version=Unicode -version=Windows10 -version=IE5 -c GameFrame.d -of=GameFrame.obj tym = x14 Illegal instruction