Javascript TextDecoder

知らぬ間に Gjs の挙動が変わっていた。
普段は Python ばかりなのでいつからかは解らない。

#!/usr/bin/gjs -m

import GLib from 'gi://GLib';

/**
 * res is Uint8Array
 */
let res =  GLib.spawn_command_line_sync('pwd')[1];
print(res.toString()); //=> Warning

warn

よく見ると実行はされているので警告されているだけですね。
今まで普通に動いた、なんなら toString さえ暗黙実行されていた。

Google translate 等を使えば解るけど TextDecoder 使えってさ。
互換性のために残しているけどはよ移行しろということらしい。
警告メッセージも親切になったもんだ、ということで。

TextDecoder – Web API | MDN

主要ブラウザは全部が既に実装済みなんですね。
Web API なんだが Gjs や JXA でも使えるのだろうか?

#!/usr/bin/gjs -m

import GLib from 'gi://GLib';

let res =  GLib.spawn_command_line_sync('pwd')[1];
// TextDecoder
let dec = new TextDecoder();
let text = dec.decode(res);
print(text.trim());

動くじゃん、Spider Monkey 自体に実装されているのだろうか。
import 何も無しで使えるのって筆者は正直気持ち悪いんですけど。
string に変換されたので trim メソッドで改行を削除しています。
ちなみに。

#!/usr/bin/gjs

/**
 * old gjs
 */

const GLib = imports.gi.GLib;
const ByteArray = imports.byteArray;

let res =  GLib.spawn_command_line_sync('pwd')[1];
let text = ByteArray.toString(res);
print(text.trim());

byteArray モジュールを使う以前の正規な手段もまだ使えます。
というか、imports でのインポートもまだ普通に使えるんだよね。
byteArray も imports も Gjs 独自実装だから排除したかったのだろうけど。
Gjs で新しい手段の import では -m オプションを忘れずに。

jxa

JXA では TextDecoder 等は使えない、やはり実装はバラバラ。
というか JXA の UTF8String って正体は string じゃないか。
普通に string のメソッドが使えるし、まあ Cocoa がそうなのね。
Uint8Array は JXA ではほぼ扱われることが無いということだろう。
Node.js やその他は知らないしどうでもいい。

非推奨の機能、廃止された機能 – JavaScript | MDN

てか escape や unescape は非推奨になっていたのか。
Tips ページをいくつか書き換えなきゃなぁ面倒だなぁ。
え?今日は公園には行きましたよ、察して。

Jyoubitaki

今日の五条川、三連休だ。
いや、昨日は休日出勤でしたけど。

kiji

キジ、稲刈りが終わってやはりみつかるようになった。
寄れない場所だったので草の間からこれが精一杯。

segurosekirei

セグロセキレイ、いやどこにでもいる鳥ですけど。
なるべく水平に撮ればセキレイだって絵になります。

sijyuukara

シジュウカラ、トリム無しでここまで勝手に寄ってきた。
昔は喜んだけど今見るとなんか立体感が無いというか。

jyoubitaki

ジョウビタキ、高い所にしか止まってくれなかった。
でもやっぱりサイズ感はこれくらいが丁度いい感じ。

鳥じゃなくて野鳥がいる風景が撮りたいんですよ。
電車が解りやすいよね、プロは鉄道がある風景を撮っている。
野鳥だって同じ、ただデカく撮っただけの写真はつまんない。

とはいえマンネリ化してきたし明日は公園にでも行ってみるか。
いや目面しい野鳥を求めて遠出しまくるのもいいけどさ。
それってポケモン GO とやってること同じじゃね?
と思ってこんなスタイルでやっているこのブログでした。
いや Linux と Mac プログラミングの(以下略)

KabyLake

カメラの SD カードを UHS-II に、ケチらず最速 v90 な SONY TOUGH を。
プロキャプチャの書き込み速度はたしかに半分以下にはなったけど。
待たされるという感覚は変わらないな、期待がデカすぎただけなんですが。
Macbook を M1 にした時みたいな衝撃的速度 UP は流石に無理か。

ところで、Macbook と併用、というかメイン PC の Fedora デスクトップ。
現状 B250 マザーに Skylake i5 という古い構成のままです。

RAW 現像や動画の切り貼りは全部 M1 Macbook でやっているし。
プログラミングはコンパイル不要のスクリプト言語ばかりだし。
なので CPU パワーは全然いらない、今でもパワーありすぎなくらい。

ただただ、4K や H.265 の動画再生がガクガクなんですよ。
こんなに普及してくるとさすがになんとかしなければとなって。

いっそマシンを新調するか、でもだからパワーはいらないんだよ。
グラボを付けるか、でも構成が古すぎて何が付くのかよくわからん。
で、色々調べていたらこんな記事が。

Intelの新メインストリーム“Kabylake”はどう変わった?「Core i7-7700K」速攻チェック – エルミタージュ秋葉原

Kabylake に換装なら内臓グラフィックのままで解決できるみたい。
マザーが B250 なのでそのまんま入れ替えできるはず。
Kabylake の中古は i7 でも一万円台、グラボを買うより安い。
よしとりあえず近場のハードオフへいってみよう。

cpu

普通に中古の KabyLake が売っていました。
i5 7500 で 8800 円か、パワーが今と同じだけどまあコレでいいか。
CPU ファンについた 8 年分のホコリを掃除して換装。

power

4K の H.265 を再生してコレです、なめらかに再生して嘘みたい。
Skylake の時はコアが代わりばんこで天井張り付き状態だったのに。
mpv の gpu-hq を有効にしても同じ感じ、違いはよくわからんけど。

よし一万円以下で解決、まだまだこの古いマシンでイケますよ。
Fedora という Linux を愛用していて良かった。

いやまさか 6 年前の CPU を中古で買う日がくるなんて思わなかった。
金をかけたくない理由なんだけど次は Mac mini にするかもしれないから。
Fedora のほうをノートに、つまり今の Macbook 併用と逆にしようかと。
大画面が必要なのは Mac のほうだもの、ただストレージが面倒になるのが癌。
まだどう転ぶか決まっていないのでしばらくこのまま延命。

というか CPU 選択で検索するとゲームの話ばかりで。
パソコンでゲームなんて休日は家にずっといる輩しかやらないだろ。

Cosmos

今日の五条川、の大口某所。

cosmos

いきなりウニ光条かよ、だって好きなんだもん。
今回は 12-40 PRO レンズなので普通にウニ形ですね。

cosmos

赤いコスモスとオリンパスブルーは至高の組み合わせだ。
いやまあ iFinish にしないとこの色にはならないけど。

cosmos

まだつぼみがポチポチ残っています。
もう二週間くらいは綺麗に咲いていそうですね。

keri

野鳥はカワセミを十回くらい見かけたけど日陰や枝被りばかり。
唯一綺麗に撮れたケリをご覧ください、川底って目面しい。

tanbo

稲刈りが終わった田圃がやけに綺麗に見えたので風景写真。
初めて自分が撮影した風景が綺麗に見える、不思議。
せっかくカメラがあるんだからガンガン使わないとね。

ということで Kabylake の古い CPU を買ってきました。
なんでじゃい!は次回書く。

Akiakane

本日愛知県岩倉市は名草線を封鎖してディズニーパレード。
いやどうでもいい、ということで毎度の五条川へ。

川沿いのコスモスが満開なので大口某所へ行ってみる。
あらココはコスモスも遅咲きのようで、つぼみばかりヤン。

houjyaku

それでもホウジャクが現れて蜜を吸っていた。
とりあえず絵になったのでヨシ、来週に期待。

akiakane

アキアカネを見つけました、すっかり秋模様ですね。
稲刈りも始まったしキジも見つかるようになるかな。

jyoubitaki

秋なのでジョウビタキがいる、けれど全然寄らせてくれない。
しかたなくトリミングしたけどやっぱりイマイチ。

mozu

モズ、前ボケと逆光を生かしたいい感じに仕上がった。
この角度でしか撮れなかったんだけど結果オーライでした。

カワセミさん、今日は結構寒いのに何故日陰ばかりにいるの?
もう一羽見つけたけどコッチも日陰、ノイズだらけでボツ。
メジロもいたけど撮れず、昆虫を撮っただけの今日でした。

しかし五条川遊歩道、午後から人が全然いない。
そんなに着ぐるみが可愛いのか、野鳥のほうが可愛いだろ。