昔の最近の出来事(2021.03)

2021/03/31

テレワーク。早めに終了。

東京都コロナ感染者。新規は414人。大阪がダメだ。
野球選手のコロナ感染。それにしても毎度思うのですが、定期的にPCR検査で確認しているにも関わらず、 クリーンな状態を維持できないのはなんで? 野球の場合だと関係者も含めて1000人くらい居るという話を 聞いたことがあるのですが、職業や年齢の偏差が小さい高々1000人程度の大人の集団が、 自制も含めて行動をコントロールできていないのだとすれば、一体どうなってるんだよ?と思う事があります。

Emacs-27.2にはorg-modeの9.4.4が入っていますが、org-mode単体では別途9.4.5が バグフィックス版としてリリースされているようです。ただ、急遽リリースしたためか(?) バックアップファイル(*~ファイル)がアーカイブされてたりするようです😅

2021/03/30

テレワーク。早めに終了。

東京都コロナ感染者。新規は364人。

厚生労働省職員が都内の飲食店で深夜まで送別会を開いていた話。 定期的にこういう どんくさい理由で取り沙汰されるのはなんなんだろうなぁとは思うのですが、 そちらよりも 人事異動したり上司が給料自主返納したりした点が、民間でも迂闊な事をしたら それを理由に首を切られたりする可能性はあり得るのかねぇ?とは思ったりも。 もし仮に、実際にコロナのクラスター感染が発生してた場合は、どういう対応を取る事になっていたかは 興味のあるところ。同じように更迭や給料減額しようものなら、それを前例として民間でも そういう対応が正しいやり方だとまかり通ってしまう恐れはあるのかも知れません。 その方が引き締めにはなるかも知れませんが😐

フォントの一覧表示。ELISP側の問題では無さそうなので放流してみます (dispfonts_210330a.tar.xz)。御興味ありましたら遊んでみてください。 ただし、X-Windowsを使用するビルドのEmacsではワークアラウンドとして以下のようなパッチを当てて 再ビルドしなくてはダメかも知れません(先日調べた通り、Segfaultします)。

--- emacs-27.2/src/fontset.c.orig	2021-01-29 02:52:38.000000000 +0900
+++ emacs-27.2/src/fontset.c	2021-03-28 23:36:44.102539100 +0900
@@ -970,6 +970,9 @@
 #endif
     }

+  if (face->fontset == -1)
+    return 0;
+
   fontset = FONTSET_FROM_ID (face->fontset);
   eassert (!BASE_FONTSET_P (fontset));


繰り返しになりますが、修正ではなくてあくまでワークアラウンドなので、 X-Windowやフォント制御に詳しい方に対応して貰えたらなぁと思います。 普段使いがw32なので個人的には全く困っていないですが😅

2021/03/29

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は234人。月曜だけどダメだな。

フォント一覧表示で X-Windowを使用するビルドの場合にSegfaultする件。 どのフォントかを絞り込んでみたところ、ひとつは「EmojiOne Color」が指定されていた時にダメなようです。 いかにも何かあるのだろうなぁ?という予感。 w32では同じく「EmojiOne Color」の場合でもSegfaultしない所を見ると、 フォントの扱いの違いに何かあるのだろうという気も。

「EmojiOne Color」の他にも「Hershey-なんとか-かんとか」(なんとかはGothicやScriptなど、かんとかはEnglishやGermanなど) ってフォントもダメみたい。で、どうやらこれらのフォントファミリを 関数 set-frame-font に食わせると「Font not available」でエラーする事が判ったり。 即ち、set-frame-fontではチェックされているけど、関数 propertize でテキストプロパティ指定で使うと チェック無しで食ってSegfaultになるという感じみたい。えー? てか、関数 font-family-list で返って来たフォントファミリを指定しているだけなのですが 無効な場合があるって....この関数は一体何を返してるんだ??🤔

2021/03/28

AM中に起床。

掃除したり洗濯したり。

東京都コロナ感染者。新規は313人。

Cygwinパッケージに Emacs-27.2が来てたので、 Emacsの雑記を更新しました。 パッチについてはIME関係以外にも色々直したり変えたりしてますが、 もしお役に立てる事がありましたら幸いです。

先日のフォント一覧表示のELISPを emacs-X11 で動かしてみると何故かSegfaultしたり。うーむ?

少しSegfaultの原因を調べてみるもよく判らず。無効なfaceのデータを参照しているっぽいのですが それがどれだかすぐ判らず。無効なデータの時に参照される前に何もせずに戻る(つまる所スキップ的な動き) ようにすればとりあえずSegfaultしなくはなったのですが(Segfaultしないようにしたのだから当然ですけど)、 そもそも無効なデータを参照するハメになっているのはなんでだ?という所までは追及できず。

FedoraのEmacs-27.1で試してもSegfaultするので、Xに関連する何かがどこかでマズっているのだろうと思われます。

2021/03/27

起きたら午後もいい時間。寝すぎ。

東京都コロナ感染者。新規は430人。ダメだな。
ここでは何度か書いていますが、動いたなりに感染者数が増えるっていうのは、 感染対策ができていないからと考えられます。 もう少し正確に言うと、動き方に対応する対策が間違っているという事です。 例えば、カラオケの場合でも 「外で換気も十分に静かに少人数で距離を取ってマスクをして飲食を伴わずに短時間で」であれば 感染リスクは相当低いと考えられます。ここで「そんなのカラオケじゃ無理だろ」 と言うのであれば、それは動き方に対して対策ができないって言っているのと同じなので 「これらの対策ができないのならカラオケ自体をやるな」とも言えます。 やっぱり感染対策を実践する事に対して「我慢感覚」を持っていてはダメだろうと思います。 恐らく「緩む」というのは「我慢に対して抱く感覚」だと考えられます。 「徹底的に対策している事が普通の状態(我慢でもなんでもない習慣化した状態)」に対しては 緩むという感覚にはならないと思います。 ただ、いまだに我慢感覚でやっている人とそうでない人とでは話が食い違ってしまいそうな場面がありそうですが。

Emacsでフォント表示。propertizeって関数を使うと、文字列に対して表示するフォントを 指定できます。これを利用してフォントの一覧表示を行ってみたり。

dispfontsテスト

ただこれ、以前の方法で 日本語文字にフォントを指定してしまうと、 日本語文字だけ propertizeでのフォントの指定よりも優先されてしまいます。えー? あと、とても重いです😓

CygwinパッケージにEmacs-27.2が来た模様。

2021/03/26

テレワーク。早めに終了。

東京都コロナ感染者。新規は376人。ダメだねぇ。全国的に。

最近見ていなかった PouetLovebyte 2021というオンラインの デモイベントの結果 が出ているのに気づいたり。256B以下のデモ限定という感じみたいです。 どれもどうかしている(褒め)のですが、個人的に combined 128bで1位の Gyroid がヤベェと思いました😲

2021/03/25

テレワーク。早めに終了。

東京都コロナ感染者。新規は394人。

やまなしグリーン・ゾーン認証。 個人的にはQRコードが付いていて、タレコミできるって所が良いと思います。 恐らく実地によるチェックを1回クリアしている事よりも、 対策が継続されている事の方が重要だと思います。QRコードからタレコミされる可能性があると 手を抜く事は難しくなるだろうと考えられます。
東京都の「感染防止徹底宣言ステッカー」 も今からタレコミQRコードを付けても良いかもよ?と思ったりも。 勿論「東京都感染拡大防止徹底宣言 登録店舗マップ」の方は タレコミQRコード付きを再取得しているか否かが判るようにして。 逆にタレコミ件数が多すぎて対応できなくなる可能性はあるかも知れませんが、 QRコード付きのに積極的に更新するような店は恐らく感染対策がバッチリできているのだろうと 想像できますのであまり問題にはならないかも知れません。 もし「チョロいと思って取得したが、対策が全然できていない店」の場合は、 恐らくなかなか更新されない(理由は推して知るべし)ので地図上でも目立つようになったりするかも。 前述タレコミシステムで得られたデータを表示すれば奇しくも、以前記した 「感染対策の出来ていない店を集めるようなサイト」になるかも知れません。

予定通り Emacs 27.2がリリースされた模様。 emacs-27.2-rc2.tar.xzがリネームされてemacs-27.2.tar.xzになっただけみたい (diffをとったら同じファイルでした)。一応ビルドして起動してみるもRC2と変わらないので 特に変化や問題は無さげ。という訳でCygwinパケージでリリースされるの待ち。

そういや本日でへっぽこページは21周年を迎えました。 毎度みてくださっている方々に感謝いたします。ふにゃふにゃしたページですが これからもよろしくお願い致しますm(_'_)m

2021/03/24

テレワーク。早めに終了。

東京都コロナ感染者。新規は420人。ダメな兆候か。てか全国的に全然ダメだな。 こんだけ長い期間やってて、どういう場面でリスクが高いってのも判ってて、 それにも関わらず 今感染するってやっぱりどういう生活様式の人なのか謎。 何も分かっていない 1年前とは話が違うと思います。

以前、Emacs 27系での 「Package cl is deprecated」駆逐対応を行ったのですが、org-modeを使ってて よく見るとまだ出ていたり。起動時に出るのではなくorg-modeで特定の操作を 行った時に一回だけ出て別のメッセージで直ぐ見えなくなるので、表示されている のに気づいていませんでした(^^; どうやら htmlize.el ってELISPが原因だった のですが、/usr/share/emacs/site-lisp に置かれていただけだったので、 どういう経緯で入れたのか全く思い出せず。ちょっと書き換えればイケるだろう と思ったのですが、結構本気で clパッケージを使っていたため直しきれず。 パッケージインストールしても良いのかも知れませんが、 emacs-htmlize のGitHub から取り寄せて、古いファイルと入れ替えで対応。

2021/03/23

テレワーク。早めに終了。

東京都コロナ感染者。新規は337人。

今頃気づいたのですが emacs-27.2-rc2 が 出ていたり。 一応ビルドを試したり。27.1.91のパッチでひとまず問題無さそう。 ところで、27.2には Org-modeの最新9.4.4が入るのか。

2021/03/22

AM中に起床。本日はお休み。

掃除したり。

東京都コロナ感染者。新規は187人。

時短命令に対して都を提訴 (参考)。 今日の昼時点でグローバルダイニングのページにアクセスできなかったのでどういう会社なのかは よく判りませんでした。しばらくしたらアクセスできたのですが、 社長の考え方ってページがあって、 まぁ 今の御時世では同調はされないであろう持論だなぁとは思いました。 多分、この文書を読んでいるか否かで ニュースを見る人の心象は変わると思われます。 それこそ「鼻出しマスクの注意に応じず退場を言い渡された後トイレに立てこもった大学受験生が、 いい年のおっさんだと判った後のTwitterでの擁護意見の減少反応」のように。

先日作ったggltr-modeで翻訳して遊んでいて、なんかこれ過去に翻訳内容に校正でも入った事あるの? と思う翻訳結果になってるなぁ?と思ったり。例えば

In Lisp, ‘car’, ‘cdr’, and ‘cons’ are fundamental functions.  The ‘cons’
function is used to construct lists, and the ‘car’ and ‘cdr’ functions
are used to take them apart.

が、

Lispでは、「car」、「cdr」、および「cons」が基本的な機能です。
「cons」関数はリストを作成するために使用され、「car」および「cdr」
関数はそれらを分解するために使用されます。

って翻訳されたのですが、 「Lispでは、「車」、「cdr」、および「短所」が基本的な機能です。」 とならないのは、「Lispでは」の文脈からは「car」は車ではないし、「cons」は短所の事でもないというのを 知っていないと無理だよなぁ?と思ったり。 因みに、excite翻訳では「根本的な機能が、Lisp、『車』、『cdr』、および『コン』にある。」 ってちゃんと(?)なりました。

2021/03/21

AM中に起床。

東京都コロナ感染者。新規は256人。

EmacsのELISPで矩形選択された領域の文字列を buffer-substring-no-properties 的なもので 取得する方法は無いのかしら?と思って調べてみるも(無いのかも知れないけど)見つけられず。 例えばソースコード内のコメントが複数行にまたがっている場合、行コメントの開始を示す 「//」や「;」を省いて翻訳したくなることがあります。 この場合、矩形選択した領域を翻訳したいなぁ?と思う訳ですが まぁまぁ面倒臭いです (矩形でコピー、scratchバッファとかに貼り付け、貼り付けた文字列を選択しなおして、翻訳実行)。 矩形範囲を繋げた1次元の文字列として取得できれば良いだけなのですが....

Google翻訳マイナーモード。矩形選択の件は一旦保留。翻訳言語の選択とか少し使い勝手を 直したり、Wikipediaの色んな言語を eww で表示してテストしたり。 ちょっと表示の怪しい時がありますが、ひとまず放流してみます (ggltr-mode_210321a.tar.xz)。 google-translate と popup のパッケージが使える状態になっている必要があります。 ファイルはじめのコメントにうっすら使い方を記してあります。興味がありましたら 遊んでみてください。ご参考まで。

2021/03/20

AM中に起床。生活備品を調達にお出かけ。

東京都コロナ感染者。新規は342人。
結局、緊急事態宣言期間を伸ばしても統計的には変わらなさそう。 ただ、今の状況を分析できていないとこれから違う要因で増えた時に また何が原因か判らないって言いそう。 ダメ出ししてもらう為にどういう風にデータを集めてどういう分析の仕方をしているのか公開した方が良くね? 素人目で見てもやり方がなってなくて愕然とする可能性はありそうですが。

Emacsでたまにgoogle-translateを 使うのですが、元のテキストを選択して翻訳起動のバインドを押して、別ウインドウ で開いて翻訳結果を見るという感じです。Emacs上でinfoとかを読むときに 翻訳する契機を与える必要があるのがちょっと面倒に思う事がありました。 で、テキストを選択したらそのまま翻訳結果を得られないだろうかと思って 試してみてました。

ggltrテスト

インストール済の google-translate にUIをラップしたマイナーモードに仕立ててみました。 文書やログなど読む専を想定した感じです。普段使いでテストしてみよう。

そういや C-SPC(やC-@)で set-mark-command が実行されますが、 TANEは昔からの挙動である「'(transient-mark-mode nil)」として 初回のC-SPCでは選択領域のハイライトは行われない(C-SPC C-SPC でハイライト選択)モードで使用しています。 -Q起動でのデフォルトだと transient-mark-mode は t になっているみたいなので、 ハイライト選択で使っている人って結構多かったりするのかなぁ?と少し思ったりも。

たまたま emacsの gitリポジトリの ChangeLog.3 ってファイルを見たら 3月25日に 27.2がリリースされる予定になっているみたい。まだ予定通り来るのかは判りませんが、 もっとゆっくり来るかと思ったけどそうでも無かった(^^; でも、バグ修正リリースのようなので、ドキュメントの修正が大半を占めていて 機能的には27.1とほとんど差が無いかも。

2021/03/19

テレワーク早めに終了。

東京都コロナ感染者。新規は303人。
結局、今新規感染している人ってどういう生活様式の人達なの? 本当に感染予防できている人が感染する事はほぼ無いように思えます。

ちょろり調べ事。うまくいきそうなそうでもないような。

Webを散策していてアニメーターの 大塚康生氏 が亡くなったというのを知ったり。

え? はめふらの二期ってTBSのスーパーアニメイズム枠なの?

2021/03/18

テレワーク早めに終了。

東京都コロナ感染者。新規は323人。

医療体制の強化は感染予防の取り組みではないというのと、感染してもなんとかなるという 誤った認識を持たれる可能性がある点から、感染したら死ぬ(可能性が高い)って事にした 方が良いのではないかと思うのは個人的な感想。

時短に応じているか否かよりも、感染対策ができているか否かで見ていないのは何故だ?とは思ったりも。 ただ、映像が切り取られているのかも知れませんが、時短に応じていない店は感染対策もできてなさそうに 見えるのは気のせいか。

調べ事をしていて、/dev/random や /dev/urandom というデバイスファイルの存在を 知ったり。/dev/zero の仲間という感じで以下のようにランダム値で埋められたファイル を作ったりするのに使えるみたい。

$ cat /dev/urandom | head -c 64 | hexdump -C
00000000  27 9c 72 34 69 f5 00 d9  fd ff 61 f8 43 e9 fc 95  |'.r4i.....a.C...|
00000010  dd d2 2a 5a 44 74 0a 7c  9d 0c 95 c8 5c 6c fc 5c  |..*ZDt.|....\l.\|
00000020  f8 55 3f 5e e3 5b d7 61  a5 9c 04 88 3f 05 09 9b  |.U?^.[.a....?...|
00000030  50 11 b3 c4 f7 ee 9d 2b  a9 46 7c f9 d5 2f 70 91  |P......+.F|../p.|
00000040

実用的にはディスクのデータ消去の手段として「ランダム値で埋める」みたいなのに 使うっぽい。ほぅ.....

2021/03/17

テレワーク早めに終了。

東京都コロナ感染者。新規は409人。なんかダメだね。
結局、人出が増えたのに連動した結果になってるって事なんですかね? 即ち、今感染している人は、対策意識が低くて実践できていない人か、対策しているつもりでできていないか、 という所なのだと考えます。 所詮「対策していたけど感染した」は自己診断だと考えられます。第三者チェックで本当か?を 疑いを持って本気で確認しないとダメなんじゃね?と思う訳です。 今なら感染対策の知識はおおかたの人が持っているでしょう。それを踏まえて、例えば 「対策やってました って本人が言ってました」みたいな確認結果を報告されたとき、 「そうか...本人がそう言っているのか....」って思ったならば、 全然チェックになっていないと感じるのではないでしょうか。 脇の甘い事をして感染した事を隠そうしたり、本当は重要だけど勝手に些細な事だと 自己判断して情報として伝えなかったりする可能性がある事は想定できると思うので、 なおさら尋問レベルで問い詰めるとか、現場検証レベルで行動を確認するとかしないと、 本当の事は判らないように思えます。 「気が緩んでいる」みたいな、気分のせいにしている場合でもなかろうと思うのです。 だって、「いろんな人が居るのでしょうがないな」で済ませられるんなら、 そもそも感染者数が多いのを問題視する訳無いですよね?

そういや、時短要請に応じない店舗に「命令」を出すとか出さないとか。 以前書きましたが、 東京都感染拡大防止徹底宣言 登録店舗マップ を使えば良いのに。その後にも書きましたが 「対策できていない」とか「命令に応じない」を表示するだけなのに。 重要なのは「登録抹消は絶対やってはダメ」。「取得のちょろいステッカー」と 敷居の低いものと思われているうちに掴んで離さないのはデータ活用の常套手段。 とは言え、今や店の方じゃないとも思うので、やっぱりダメな客を追い出す権限も与えないと ダメなのかも知れません。「お客様は神様です? はぁ? 神は死んだ、お前は何様でもない」 と、ちゃんと言い返せるように。

2021/03/16

テレワーク気持ち早めに終了。

東京都コロナ感染者。新規は300人。

あまりの眠さに急速停止。

2021/03/15

今日はお休み。AM中に起床。

東京都コロナ感染者。新規は175人。

宮城県で感染者急増 (参考)。 そういや増えてるなぁとは思ってましたが、脇があまい所に 3.11関連で 外から持ち込まれた感じだと推測していました。飲食での感染割合が多いというのであれば、 今や「まだそんな理由で感染しているの?バカじゃねーの?」と思わざるを得ません。

栃木県の山火事鎮火。数日で全くニュースで取り上げられなくなったので消えたのかと 思っていたらそうじゃ無かったらしい。

Emacs起動時のスプラッシュ画面。個人的には色々なバージョンをテストしていると 起動したEmacsのどれがどれだかを区別するのに、表示する方が便利なので 変数 inhibit-startup-screen (前は inhibit-startup-message だったような) は設定していません。先日述べた通り、ファイル名を指定して立ち上げる事が 無くなっていたので気にした事がありませんでしたが、ファイル名を指定すると ウインドウが2分割されてスプラッシュ画面と指定したファイルが表示される 感じになるようです。これが人によっては毎回 delete-other-windows (C-x 1) するのが面倒といった理由でスプラッシュ画面を表示したくないという事情が 出てくるみたいです(--no-splash って起動オプションもあるのですが、 それも指定するのが面倒臭いという感じなのでしょう)。
で、思ったのは、ファイル名が指定されていたらスプラッシュ画面は表示せず、 指定されていなければ表示するって感じにすれば良くね?と思った訳ですが、 command-line-args って変数は引数がリストで入ってて、何の加工もされていない (C言語の char* argv[]相当)のでオプションを自力でパースしなくてはならないのが面倒臭そうです。 開きたいファイル指定(visit FILE)の有無を知りたいだけなので、 その条件に特化すれば簡単にパースできるのか?と思ったのですが、 何故か指定方法が色々あるのを知りました。

$ emacs-w32 --help
Usage: emacs-w32 [OPTION-OR-FILENAME]...
 :
Action options:

FILE                    visit FILE
--file FILE             visit FILE
--find-file FILE        visit FILE
--visit FILE            visit FILE

なんか面倒臭い.....。それにしても、なぜ こんなにとっちらかってんだ?

ところで、--no-splashを加えた上で引数として ファイルを 2つ以上指定した場合はどうなるんだ? と思ったところ、どうやら、2つの場合は ウインドウ分割されて両方が表示 される形で起動、3つ以上の場合は ウインドウ分割されて片方はファイル、 もう片方は buffer-menu を実行したバッファリストが表示されるという 動きになるようです。ディレクトリ名を指定した場合はdiredで開くみたい。 ほぅ......

2021/03/14

AM中に起床。

東京都コロナ感染者。新規は239人。

普段使いのEmacsではアクセサリ類を起動した状態で使っています。 ただ、.emacsにウインドウ分割やアクセサリ起動を書いても、 起動時にフレームサイズが確定されていない為かうまく起動できなかったので、 Emacs起動後に手動でアクセサリ類を起動していました (参考)。 で、何気にWebを散策しているとウインドウ分割とかアプリの起動を行う術があるらしい というのを知り、試してみたところうまく動くのが判りました。そんな訳で以下のようなのを .emacsに足してみたり。

;; アクセサリ類を自動起動するとかしないとか
(setq my-init-autoexec (getenv "EMACS_AUTOEXEC"))
(if my-init-autoexec
    (add-hook 'after-init-hook
              (lambda()
                (when (eq 'w32 (window-system))
                  (set-frame-size (selected-frame) 152 86)
                  )
                (when (eq 'x (window-system))
                  (set-frame-size (selected-frame) 112 40)
                  (sleep-for 1)
                  )
                (start-my-accessories) ;;アクセサリ類起動
                ))
  ;; not autoexec
  (when (eq 'w32 (window-system))
    (setq initial-frame-alist '((width . 112) (height . 40)))
    )
  (when (eq 'x (window-system))
    (setq initial-frame-alist '((width . 112) (height . 40)))
    )
  )

個人的な使い方の都合もあって、以下のような感じになっています。


いちいち 環境変数 EMACS_AUTOEXEC の有無で切り替えているのは、立ち上げるEmacsが 常にアクセサリを自動起動するのは所望の動きでは無かった為です。 なので、常時使う用に立ち上げる場合(起動後すぐに閉じない)はアクセサリを自動起動して、 テストとかで立ち上げる場合(ちょろっと起動して直ぐ終了)は通常起動するという感じにしてみました。 これは bashのaliasとかで適当に対応するという感じです。
とは言え、常時使い用は 一度立ち上げたらそのまま使い続けるという使い方なので、最初に一回だけ アクセサリ起動関数を実行するのがそんなに手間か?と聞かれると、正直「そうでも無い」です(^^; 身も蓋もありませんが。

そういえば、ここ何年もファイル名を指定してEmacsを起動するって事は無かったのですが、 ふと「画像ファイルを指定して起動すると表示できるの?」と思って「emacs-w32 -Q foo.jpg」 とかやってみると普通に表示されたり。何気に画像ビュアとして使えるという事実。

WindowsUpdate失敗。失敗(0x800f0922)を繰り返しているうちに別のアップデートが落ちてきたりして、 どれが失敗しているのかよく判らん状態になっていたり。加えて新しいアップデートにも 不具合が報告されていたりして、入れない方が良い感じだったりするのも 訳の分からなさに 輪をかけているように思えます。

2021/03/13

昼頃起床。

なんか午後になったら大荒れの空模様。掃除したり。

東京都コロナ感染者。新規は330人。

ふとWebで USキーボードのキー配列を見ていて、一部のキーは位置が決まっている訳 では無いらしいというのに気づいたり。 TANE自身、大分前にSunのType4 Keyboard を使っていた事があります。その時は特に入力が困るようなキーは無かったように思ったのですが、 一般的なUS配列を見ていると場合によっては「なんか面倒臭くね?」という配列に なっているように思ったりもします。 例えば「~ `」のキーは、PCやMac向けだとTABキーの上、「1 !」の左隣となっています。 US配列では「半角/全角」キーが無いので、日本語切り替えの代替キー 「ALT + 「~ `」」を押すという場合があるそうなのですが、どうやら位置的な理由から そういう割り当てになっているっぽい。また、いわゆる65% キーボードと呼ばれるコンパクト サイズのキーボードでは、「~ `」キーが見当たらないものもあるようです。 で、思ったのは 「bashとかのコマンドラインシェルで 「ls ~/ 」とか「ls -l `find . -type f -iname '*.[ch]'` 」とかどうやって入力するんだ?」 という所。意外とどのシステムにもなじむキー配列というのは無いのかも?と思ったりも。

そういや全く気づいていなかったのですが、今使っている日本語配列キーボードで 「| ¥」キーと「_ \」キーがあるなぁ?と思ったり。「¥」も「\」も ASCIIコード的には「0x5c」で、「¥」か「\」かはフォントによって どちらで表示されるかが決まるので 個別の文字が入れられる訳ではありません。 ところで、「_ (アンダースコア)」はShiftキーを押しながら「_」キーを押すのですが、 X68kの時ってShiftキーを押さない場合、何の文字が出たっけ?っていうのが全く 思い出せなかったり。どうやら何も文字が入れられないが正解っぽかったです。 なんか、久しぶりに通った道で 全く気にしていなかった建物が取り壊されているのを見たとき 「何があったっけ?」ってのが思い出せなかった感覚です(^^;

2021/03/12

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は304人。

緊急事態宣言を解除できるかできないか、そんな話しかしてない気がします。 結局、今の状況を分析できてないのか? 原因に対して対策を講じなければ変わる訳ないじゃん。 どうにも感染症の専門家という人達「も」単に感染者数の変動を見ているだけなのじゃなかろうか。 それではTANEも含めた素人と同じレベルに思えるというのは個人的な感想です。 なんか実は「要因を分析をする」という観点で見て、専門とする分野が違うという話だったりするのだろうか。 「感染の原因や要因を追及して対策を考える(数字を見るのは対策の効果を確認するのが目的)」という行為は 感染症という分野の範疇ではありません というのなら、そもそもできない人にやらせてるのが問題だという事に なってしまいますが。

そういや今もずっと気になっているのですが、北海道はずっと新規感染者が 多い状態が続いているように思っているのですが、何故か?ってのは分析できていないのだろうか? 以前にも感染者が薄っすら出続けるという状況が 長く続くというのはどういう状況なのか?と書いたのですが、今の東京都がこの状況 に似ているとは思ったりも。この状況への対処が行えなくてはダメなように思われます。 「勝負のなんとか」とか「ギアを上げる」のような精神論的なものでは 対処になっていないという事なのでしょう。

2021/03/11

テレワーク。早くもなく遅くも無く終了。

東京都コロナ感染者。新規は335人。なんかダメだねぇ。

WindowsUpdateが来ていたのでアップデートを実行してみたのですが失敗(0x800f0922)して入れられず。 少し前にオプションのアップデートで失敗を 繰り返す状況が、違うアップデートでも発症しているという状況でしょうか。 ダウンロードし直しているだけ「KB4601382」のアップデート失敗(0x800f0922)よりもマシな 感じがするのですがそれでもダメ。どうしたもんか。

2021/03/10

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は340人。横ばいは変わらず。

調べ事をして終了。

2021/03/09

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は290人。結局横ばいは変わらず。

そういやここ数週間「下げ止まり」という言葉を使うだけで、原因となる要因や 傾向については全く触れられなくなっているように思います。 去年末は 飲食での感染が多いのでそこに人が移動しないように飲食店への時短要請をした という感じで、少しは傾向的なものに対して対策を行っているように思ったのですが、 今は全くそういうのが無いように感じます。報道も「人出が多い」とは言うものの "だから何?"という所は何も無し。言ってみただけという感じに思います。 例えば仮に、「新規感染者の傾向を見ると 普段はテレワークで一切外出していないが、 週末に出かけた時に感染した という事例が多いようだ」みたいな根拠があって、 休日に人が多い所は避けろと言うのならば理解できるのですが、 「なんとなく人が多くて心配」のように下げ止まりとの因果関係が有るとも無いとも 言えないような情報発信の方法ではダメだろうと思う訳です。

ここでは何度か書いていますが、「今感染する奴はアホ」っていう風潮を植え付けた方が 良いんじゃないかと思います。日本人は自責の傾向が強いのをなんだか悪い事の ように言われる場合があるようですが、欧米と比べての話だというのが続くと なんだ 結局グローバルコンプレックスかよと思ってしまいます。 自分事として考える事ができているという点で、日本人のこの性質は別に悪い事 では無いように思うのは個人的な意見です。

Webを散策していたら、 「世界絵文字デー(参考Wikipedia)」 なる記念日があるのを知ったり。2014年より始まったようです。ほぅ....

2021/03/08

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は116人。先週に続き月曜のカウントが少なすぎない?

先日のフォント設定関数。ファミリ名の補完の為に一覧を取得しているのですが、 Cygwinパッケージの emacs-X11 で動かしてみたら何故かマルチバイト文字のファミリ名が 表示化けしてたり。ん?なんでだ? FedoraのEmacsでも試してみたところやっぱり マルチバイト文字が化けて表示されてたり。んん?なんでだ??わからん。 文字自体は UTF-8のようですが、それをUTF-8として表示できていないようだ?

ファミリ名化け on Fedora Emacs

なんか設定が必要なんだっけ?

再びCygwinのemacs-X11の scratchバッファで「(format "%s" (delete-dups (font-family-list)))」 を実行してみると、この時点で既に化けている模様。化けてる要素を multibyte-string-p って関数で調べてみるとnilが返ってきてて、どうやら マルチバイト文字列と認識されていないっぽい。で、decode-coding-string って 関数で utf-8にデコードしてみたところ表示可能な文字列になったので、 なんか釈然としませんがそういう事みたい。 という訳で補完リストの文字列をutf-8に変換するようにしたのが以下。

(defun my-set-frame-japanese-font-family (&optional fontfamily)
  "日本語文字だけフレームのフォントファミリを再設定する"
  (interactive)
  (unless fontfamily
    (let ((utf8list '()))
      (dolist (f (delete-dups (font-family-list)))
        (add-to-list 'utf8list (decode-coding-string f 'utf-8)))
      (setq fontfamily (completing-read "family: " utf8list))))

  (let ((familyname (replace-regexp-in-string "-[1-9]+[0-9]*$" "" fontfamily)))
    (dolist (target '(jisx0201
                      latin-jisx0201
                      japanese-jisx0208
                      japanese-jisx0208-1978
                      japanese-jisx0212
                      japanese-jisx0213-1
                      japanese-jisx0213-2
                      japanese-jisx0213-a
                      japanese-jisx0213.2004-1
                      katakana-sjis
                      katakana-jisx0201
                      cp932-2-byte
                      cp932
                      (#x3040 . #x309f)
                      (#x30a0 . #x30ff)
                      (#xff00 . #xffef)
                      (#x0370 . #x03ff)))
      (set-fontset-font (frame-parameter nil 'font) target
                        (font-spec :family familyname)))
  ))

(defun my-set-frame-font-family (&optional fontfamily)
  "フレームのフォントファミリを再設定する"
  (interactive)
  (unless fontfamily
    (let ((utf8list '()))
      (dolist (f (delete-dups (font-family-list)))
        (add-to-list 'utf8list (decode-coding-string f 'utf-8)))
      (setq fontfamily (completing-read "family: " utf8list))))

  (let ((familyname (replace-regexp-in-string "-[1-9]+[0-9]*$" "" fontfamily)))
    (set-face-attribute 'default nil :family familyname)
    (set-frame-font fontfamily nil t)
    (dolist (target '(jisx0201
                      latin-jisx0201
                      japanese-jisx0208
                      japanese-jisx0208-1978
                      japanese-jisx0212
                      japanese-jisx0213-1
                      japanese-jisx0213-2
                      japanese-jisx0213-a
                      japanese-jisx0213.2004-1
                      katakana-sjis
                      katakana-jisx0201
                      cp932-2-byte
                      cp932
                      (#x3040 . #x309f)
                      (#x30a0 . #x30ff)
                      (#xff00 . #xffef)
                      (#x0370 . #x03ff)))
      (set-fontset-font (frame-parameter nil 'font) target
                        (font-spec :family familyname)))
    ))

Fedoraの Emacsと Cygwinの emacs-X11 はこれで候補の表示も実際の設定もイケるようになりました。 多分、変数 locale-coding-system が 「cp932」に設定されているMinGWビルドの Emacsは元々ので問題無かったかも知れません。Cygwinの emacs-w32 で locale-coding-system が utf-8とかに設定されていると、そもそも SJISで返って来る文字列をutf-8とみなして 変換してしまうので本当に文字列が化ける問題があります(以前の日記)。 これについてはフォント名の取得に W系Win32APIを使うようにした野良パッチ (こちら)で大丈夫にしたつもりです (現在普段使いでテスト中。その結果が昨日のコードだった訳ですが(^^;))。 ただでさえ面倒臭いフォント設定に加えて、文字コードの変換が必要とか 面倒臭さが増している気がしたりも。

2021/03/07

AM中に起床。

掃除したり洗濯したり。

東京都コロナ感染者。新規は237人。

Emacsのフォント設定。どんなフォント表示になるかを見るのにメニューバーからの Option→SetDefaultFont でフォントセレクタにより選択するのが簡単なのですが、 例えば「Courier New」とかはセレクタに出てきません (以前の日記)。 設定できないのかと言うとそういう訳では無く一応設定は可能です。また、 日本語文字を持たないフォントの場合 フォントフォールバックにより表示可能な 適当なフォントが選択されて日本語文字は表示されます。適当に選ばれるのが個人的にはイマイチな感じです (以前の日記)。という訳で、もう少し上手く設定する方法は無いか? と思って次のような関数を作ってみました(.emacsとかに適当に定義してます)。

(defun my-set-frame-japanese-font-family (&optional fontfamily)
  "日本語文字だけフレームのフォントファミリを再設定する"
  (interactive)
  (unless fontfamily
    (setq fontfamily (completing-read "family: " (delete-dups (font-family-list)))))

  (let ((familyname (replace-regexp-in-string "-[1-9]+[0-9]*$" "" fontfamily)))
    (dolist (target '(jisx0201
                      latin-jisx0201
                      japanese-jisx0208
                      japanese-jisx0208-1978
                      japanese-jisx0212
                      japanese-jisx0213-1
                      japanese-jisx0213-2
                      japanese-jisx0213-a
                      japanese-jisx0213.2004-1
                      katakana-sjis
                      katakana-jisx0201
                      cp932-2-byte
                      cp932
                      (#x3040 . #x309f)
                      (#x30a0 . #x30ff)
                      (#xff00 . #xffef)
                      (#x0370 . #x03ff)))
      (set-fontset-font (frame-parameter nil 'font) target
                        (font-spec :family familyname)))
  ))

(defun my-set-frame-font-family (&optional fontfamily)
  "フレームのフォントファミリを再設定する"
  (interactive)
  (unless fontfamily
    (setq fontfamily (completing-read "family: " (delete-dups (font-family-list)))))

  (let ((familyname (replace-regexp-in-string "-[1-9]+[0-9]*$" "" fontfamily)))
    (set-face-attribute 'default nil :family familyname)
    (set-frame-font fontfamily nil t)
    (dolist (target '(jisx0201
                      latin-jisx0201
                      japanese-jisx0208
                      japanese-jisx0208-1978
                      japanese-jisx0212
                      japanese-jisx0213-1
                      japanese-jisx0213-2
                      japanese-jisx0213-a
                      japanese-jisx0213.2004-1
                      katakana-sjis
                      katakana-jisx0201
                      cp932-2-byte
                      cp932
                      (#x3040 . #x309f)
                      (#x30a0 . #x30ff)
                      (#xff00 . #xffef)
                      (#x0370 . #x03ff)))
      (set-fontset-font (frame-parameter nil 'font) target
                        (font-spec :family familyname)))
    ))

どちらも一応 interactive になっているので、M-x .... で実行できます。 まず、my-set-frame-font-family の方ですが、こちらはメニューからの フォント設定とできる事はほぼ同じです。「family: 」でTABを入力すると フォントファミリの一覧が表示されるので この中から選択します。 ダイアログでは選択できなかったフォントも一覧に含まれています。 「Courier New-10」のように後ろにフォントサイズを指定する事も 可能です。
日本語文字を持たないフォントの場合、所望の日本語フォントではない 表示になる場合があると思います。これについて my-set-frame-japanese-font-family で 日本語文字に適用するフォントを指定します。my-set-frame-font-familyと合わせて 実行すればASCII文字と日本語文字に別のフォントを指定できるという感じになります。 日本語文字を含んだフォントや混在が不要ならば、my-set-frame-font-family だけで 良いかと思います。M-x ... や scratchバッファで設定して表示の様子を 確認してから .emacs に設定を反映する感じにするのが良いかなと思います。
起動時のフォント指定もこれらの関数を使って変更する事は可能なのですが ひとつ問題点があります。default-frame-alist に 「(add-to-list 'default-frame-alist `(font . "MS Gothic-9"))」 みたいな感じでフォントを指定していた場合、この設定が一番最後に反映されてしまう ようです。この為、default-frame-alistでのフォント指定は外した上で、

      (my-set-frame-font-family "Inconsolata-9")
      (my-set-frame-japanese-font-family "源柔ゴシック Normal")

とか .emacsに記せば、起動時のフォント設定が一応できます。 ただ、マルチフレームの場合、my-set-frame-font-familyは全フレームに反映されるのに my-set-frame-japanese-font-familyはフレーム毎の設定になってしまうのが 人によっては所望の動作ではないかも知れません。

日本語文字のフォント設定はこちらの 記事の方法を拝借させていただきました。

2021/03/06

AM中に起床。

東京都コロナ感染者。新規は293人。

キーボードの配列。普段は日本語配列のキーボードを使っているのですが、 新しく出るメカニカルキーボードを見ていると、良さげな感じのするのは大体US配列です。 ある意味日本語配列キーボードもガラパゴス化していると言えるのかも知れません。 さておき、US配列だと日本語入力の切り替えを行う為のキー(半角/全角、変換、無変換) が無いので、「Ctrl + SPACE」とかに割り当てて使うようです。 でも、Emacsでは「Ctrl + SPACE」を取られると死ぬの確定なので(個人的な意見です)、 マイナーなバインドなのじゃないかと勝手に思ったりも。 で、日本語配列キーボードで 何気に「CapsLock」を押してみると IMEのON/OFFをトグルできているように思ったり。ん?なんだこれで良くないか? と思ったりも。
ところで、Emacsの set-mark-command は「C-SPC」の他に「C-@」も 割当たっているのですが、US配列では「C-@」って死ぬほど入力しにくいと思います。 「C-@」って日本語配列キーボード向けに日本の先人がデフォルト割り当てしたのかしら? と今頃ですが何故かと不思議に思ったりも。

電卓の代わりに簡単な計算をEmacsのscratchバッファ上で行う事があるのですが、たまに 浮動小数点数の精度の問題で一瞬戸惑う結果が出る事があります。

(+ 12.8 4.4)  ;; and press C-j
17.200000000000003

乗除算の場合はよくある事なので気にならないのですが、加減算でこういう結果になるのは あまり想定していないかも(^^;
因みに元に戻らないだろうなと思った以下の計算で

(* (/ 1.0 3.0) 3.0)  ;; and press C-j
1.0

1.0に戻ったのはむしろ意外に思ったりも。

2021/03/05

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は301人。
緊急事態宣言延長。ここでは何度も書いていますが、今、新規に感染している人達はどういう 理由によるものなのか、分析できているのだろうか? 栃木県でのモリタニング検査では陽性者がゼロだったようです。 結局のところ大方の人は感染していない(無症状感染ですらない)という事なのであれば、 感染した人の生活様式とか感染対策意識/知識/行動(例えば"知ってはいる"が"やってはいない"的な) とかから、感染可能性のある何かしらの 傾向が見えないものなのだろうかとは思います。ここでは何度も記していますが、 今や「誰でも感染する可能性がある」ではなくて「感染予防ができていない場合に感染する可能性が高い」 だと思います。

SAI2向けにテクスチャを追加しようと思いGIMP(2.10.22)を使ってグレースケールBMPを生成 したのですが何故か変なBMPが生成されたり。しかたないのでGIMPでグレースケールPNGを 生成した後「ペイント」で読み込んで、ファイル→名前を付けて保存→BMP画像 で ファイル種を 256色ビットマップ にしてなんとか変換できたり。うーむ、面倒臭い。

2021/03/04

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は279人。週の中で木曜が一番多いパターンが多かったように思うのですが、 集計タイミングが変わったのかなぁ?

ニュースとかでキャスターが「これ以上の対策は難しい」とか すぐ言うように 思うのですが、そう言いながら「人出が増えている」話とかもしてて、 結局まだやれる事はあるって自分で言ってんじゃん、訳が判らんと思う事があります。

テストで使うレベルですが、VMware上のFedoraの EmacsのGUIモードでのリモート起動や Cygwinの emacs-X11 をGUIモードで起動するにあたって、Xサーバーには 大分前からVcXsrvを使用しているのですが、 GTKのバージョンが原因で(?) 以前から立ち上がるEmacsのフレームの高さ が小さくなり過ぎる現象があります。Cygwinの emacs-X11 をテストとかで立ち上げる 時は、必ずフレームの高さが小さくなるので .emacsにフレームサイズを変更するような 設定を記しています。Fedoraの方はGNOMEで起動する分には変にならなかったので 特にフレームサイズを設定するような事はしていなかったのですが、何気に VcXsrvでリモート表示するとフレームの高さが小さくなり過ぎる現象が発生するのに 気づきました。Webで検索してみると、同様の現象に遭遇している例が見られる のですが、.emacsとかにフレームサイズを変更する設定を記す事で対応している感じみたい。 gimpを起動するとVcXsrvが落ちたりと何かしら不安定な所があるようです。 TANEは使っていないのですがWSLを使っている人とかは用事になるように使えている のかしら?

2021/03/03

テレワーク。早くも無く遅くも無く終了。

東京都コロナ感染者。新規は316人。イマイチだなぁ。

緊急事態宣言延長か。延長しようがしまいが何か言われるのには変わりないのでしょうけど、 関東圏の横ばい感から考えると妥当か。どちらかと言うと横ばいになっている原因がハッキリ していない所が問題に思えます。結局、感染防御できていない人が居るのが問題なのでしょうけど。 減少が鈍化している原因が判らない状況で解除すると、拡大する要素しか増えないから まぁリバウンドするだろうね。ほんと、今感染する人ってどんな生活様式なの?

あまりの眠さに急速停止。

2021/03/02

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は232人。昨日との差が大きい。でも今日の方が平均に近いのか? それじゃダメだろうけど。

以前より、Twitterとかで「PUI PUI モルカー」っていうアニメがあるらしいというのを 知ってはいたのですが、全く調べる事も無く今に至っていました。 「モルモットのキャラクターのアニメらしい」「1話が短いらしい」「車に関する何からしい」 というくらいの情報しか知らなかったので、とっとこハム太郎的なキャラクターが マリオカート的な世界で何かするアニメという想像をしていたのですが、 検索してみたら全然違ってた(^^; で、テレ東で毎週火曜の朝7:30から放送している 「きんだーてれび」内の番組らしい事を知って、今日初めて見ました。なるほどそういう感じでしたか。
動きがスゲーなと思って、監督である見里朝希氏の Wikipedia を見てみると、作品に「けだまのゴンじろー」のエンディングアニメーションが挙がっていて、 そういやなんかスゲーって思った事があったのを 思い出しました。

2021/03/01

テレワーク。気持ち早めに終了。

東京都コロナ感染者。新規は121人。月曜だけどなんだか数に波があるな。

SAI2の新しいのが来ていたり。おつかれ様です。細かなバグ修正がメインみたい。


TOP PREV