昔の最近の出来事(2019.07)

2019/07/31

遅めに帰着。

バイナリファイルエディタ。UNIX系OSで使えるものと言えば beavが最初に思い付くTANEなのですが、世の中的にはそうでも 無くなっているみたい。新しいものはいくつか候補がある ようですが、これって感じのは無いようで、xxdを使って 一旦16進ダンプ表示されたテキストファイルを編集して xxd -r で逆変換するとかが常套手段になってるっぽい。 なんか退化している気も。

2019/07/30

遅めに帰着。

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

2019/07/29

遅めに帰着。

SAI2の新しいのが来てたり。お疲れ様です。先日の不具合は修正されてました。 新規追加された対象定規。プロパティで分割数を増やすと幾何学的な模様が 簡単に描けて良いです。

2019/07/28

起きたら午後もいい時間。

掃除したり洗濯したり。

SAI2の新しいのが来ていたり。お疲れ様です。 いつものようにzipアーカイブを展開して起動してみたのですが、 「指定されたファイルが見つかりません C:\Users\....\スクラッチパッド.saispad」 というダイアログが開いて起動できず。フォルダは2017/10/21付けで 存在しているようですが、空のフォルダだったり。ご参考まで。

「金剛寺さんは面倒臭い(4)」。樺山君の角が折れた理由回収。 でも今巻で未来の樺山君の更にもう片方の角も折れてて理由が気になる。

2019/07/27

休日出勤。

帰りにちょろり本屋に。所望の書籍をやっと捕獲。

肩が痛くて死亡。

2019/07/26

遅めに帰着。

Web巡回して終了。

2019/07/25

遅めに帰着。

調べ事をして終了。

2019/07/24

遅めに帰着。

Web巡回して終了。

2019/07/23

遅めに帰着。

ちょろり調べ事。

2019/07/22

遅めに帰着。

Web巡回して終了。

2019/07/21

AM中に起床。

ちょろり投票。その後本屋に。まだ所望の書籍は入手できず。

掃除したり洗濯したり。

GTS。むー、取れない。

2019/07/20

AM中に起床。

そういやサマーウォーズって、劇場公開が丁度10年前なのかと 思ったり。携帯電話のデザインとかは一昔前という感じですが、 やってることは今とあまり違いが無いような気も。 そういや登場人物の佳主馬(かずま)は格闘ゲームの世界チャンピオン という設定です。今で言う eスポーツのプロゲーマー という感じですが、作中ではeスポーツもプロゲーマーも 単語としては出てきません。eスポーツって単語自体は 2007年頃には使われていたようですが、知名度的にはここ 3~4年くらいという感じかも。

「けだまのゴンじろー」。エンディングの羊毛フェルト人形の コマ撮りアニメがなんかスゲー。

GTS。取れない。

2019/07/19

早めに帰着。

サマーウォーズ観てたらあまりの眠さに急速停止。

2019/07/18

遅めに帰着。

京都アニメーション 第1スタジオ火災。放火殺人事件と いう事になりそうですが、亡くなった人があまりにも多すぎて 言葉が出ません。

2019/07/17

遅めに帰着。

ちょろりGTS。

2019/07/16

遅めに帰着。

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

2019/07/15

AM中に起床。

掃除したり。

「ONE PIECE(93)」。まだ仕込みの最中という展開か。 ところで日和は小紫? となると逃がしたのは.... 居眠り狂死郎??でもそれだとちょっと辻褄が合わない気も。 まだまだ続きます。

ちょろりGTS。やっと一つ取れた。今回のアップデートの 追加イベントはムズい。

2019/07/14

AM中に起床。

buffer-menuが遅くなる件。 ひとまずbuff-menu.el内で定義されている関数 Buffer-menu--pretty-file-nameの中で使用されている abbreviate-file-nameだけを24.5のに置き換える感じにしてみる事に。 具体的には.emacs内に

(defun Buffer-menu--pretty-file-name (file)
  (cond (file
         (abbreviate-file-name-245 file))
        ((bound-and-true-p list-buffers-directory))
        (t "")))

(defun abbreviate-file-name-245 (filename)
  .....24.5のlisp/files.el の中のコードをそのままコピー
 )

てな感じに追加。ちょっと使った所では問題無さげ。 しばらくこれで使ってみる事に。

海外ではRaspberryPi4が発売されているらしい。日本での販売はまだみたい。 USB Type-C給電でやらかしてるみたいですけど、マイクロHDMIが 2ポート付いてるとか、4K/60Hz出力可能とか、メモリも最大4GBとか、 組み込みマイコン よりはPC側に寄ってる感じかも。

ワイドなショーでやってた「グレーと水色 or ピンクと白 スニーカー」 (参考)。 画像のピクセルをGIMPのスポイトで調べてみるもピンクと白の要素は全く無し (紐やライン部分の色相は GreenとBuleの間の色だし、 布地部分もほぼ無彩色(即ちグレー))です。 そういや青黒or白金ドレス(以前の日記) もピクセル色で見るとどちらでもない感じだったような。

雨の止み間にちょろり本屋に。所望の新刊が見つからず。

2019/07/13

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

そういえば、本物お仕事でもEmacsを24.5から26.2に乗り換えた のですが、buffer-menuがやたら遅くなってたり。 具体的には、buffer-menuでバッファ一覧を開くのに1秒~数秒以上を要する ようになりました。 プライベートではあまり大量のファイルを開く事は無いのと、 ローカルマシン内のファイルしか開かないので気づかなかった のですが、本物お仕事ではdesktop-save-modeを必要とする だけのローカルだったりリモートだったりのファイルを開いています。 24.5から26.2に乗り換えた瞬間から遅くなるのが判ったのですが、 どこに原因があるのかは切り分けられていません。

と言う訳で、試しにNAS-HDD上にファイルを置いて再現を試みたところ、 遅くなるのが再現する模様。 254個のファイルをReadOnlyで読み込んだ状態で以下のような 感じ。

Cygwin3.0.7  + Emacs26.2 + buff-menu.el(26.2) : 遅くなる現象が再現。
Cygwin3.0.7  + Emacs26.2 + buff-menu.el(24.5) : 遅くなる現象が再現。
Cygwin3.0.7  + Emacs24.5 + buff-menu.el(24.5) : 遅くはならず。再現せず(./src/emacs.exe -Q で実行)
Cygwin2.10.0 + Emacs24.5 + buff-menu.el(24.5) : 遅くはならず。再現せず(CC2に入れてる環境)

むぐぐ。これだけ見ると、Emacs本体のバージョンの差に原因が ありそうな感じに。

ところで、今回再現させるにあたって、Emacs-26.2をビルドした 時のファイル群をそのままNAS-HDDにコピーしたのですが、 ファイルエクスプローラでプロパティで見てみると、 「サイズ: 708MB; ディスク上のサイズ: 707GB」となって ました。(ファイルの)サイズに対して、ディスク上のサイズが その1000倍食ってるのに驚いたり。このNAS-HDDに小さいファイルを 置くのは効率悪すぎるかも。

buffer-menuが遅くなる件の続き。高々バッファの一覧を生成するのに そんなに時間がかかる訳が無いのでは?と思い、buff-menu.elの中で 使用されている関数を順に調べてみたり。どうやら Buffer-menu--pretty-file-name という関数の中で使用されている abbreviate-file-name という関数が遅くなるケースがあるのが 直接の原因っぽい。以下のような性能測定コードをscratchバッファで 実行してみたり。

(let ((stime (cadr (current-time)))
      etime)
  (dotimes (n 5000)
    (abbreviate-file-name "~/.emacs")) ;;ローカルディスクのファイルを指定
  (setq etime (cadr (current-time)))
  (- etime stime)
  ) ;;Ctrl+jで実行
1   ;;1秒

(let ((stime (cadr (current-time)))
      etime)
  (dotimes (n 5000)
    (abbreviate-file-name "//......")) ;;NAS-HDD上のファイルを指定
  (setq etime (cadr (current-time)))
  (- etime stime)
  ) ;;Ctrl+jで実行
29  ;;29秒

NAS-HDD上のファイルを指定すると30倍ほど遅い感じです。 関数 abbreviate-file-name は lisp/files.el の中にあって、 Emacs 24.5のと26.2のとでは大分変更が加えられているようでした。 ひとまずEmacs24.5での abbreviate-file-name の関数定義を scratchバッファ上で再定義したところ、buffer-menuが 遅い現象が解消しました。因みに、前述性能測定コードを 試したところ29秒かかってたNAS-HDD上のファイル指定でも 0となったので1秒より小さいくらいの感じです。てか、遅くなりすぎ。
abbreviate-file-nameだけを単純に24.5のバージョンに戻して 大丈夫かはまだよくわからず。buffer-menuで使うに当たっては 表示に使っているだけなので問題になる事は無さそうですが。

2019/07/12

遅めに帰着。

そういやWindows10のUWP(Universal Windows Platform)アプリって、 キーボードショートカットってあるんだっけ?と思ったり。 一応、Tabキーによりボタンのフォーカスをカーソルキーで 切り替えられる事はできますがショートカットではない気が。

2019/07/11

遅めに帰着。

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

2019/07/10

遅めに帰着。

昨日のCC2のアップデート後のアップデート。何気に まぁまぁ時間がかかる感じでしたが、これで一旦落ち着いたと思われ。 ひとまずは問題無さげ。

2019/07/09

遅めに帰着。

CC2の方をWindows10の1903にアップデートしてみたり。1.5時間ほど かかって完了。取り合えずアップデートしただけで終了。

2019/07/08

早くも無く遅くも無く。

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

2019/07/07

AM中に起床。

掃除したり洗濯したり。

新しいmagitとwindow-plusとの相性問題の件。 magitの方で対応していたのですが、メニューを制御する transientの方で対応するように変更してみたり。 変更点が少ないのでこっちの方が良さげ。

で、そもそもwindow-plusで対応できないのか?と言う点。 emacs/26.2/lisp/window.el 内に display-buffer という関数が 定義されていて、この関数の中で display-buffer-function という変数に自前のウインドウ制御の関数を 設定していれば、自前制御関数を実行するという仕組みになっています。 ところが、display-bufferには様々な引数が渡されている ようなのですが、display-buffer-functionに設定された関数を実行する 場合は、inhibit-same-window という引数しか渡っていないようです。 この為、display-bufferの引数にactionという新たなウインドウを どこに開くかといった指定を行っても、それが伝わらない自前関数では どうする事もできないという感じになってしまうようです。と言う訳で、 window-plusで対応するのは今のところあまり簡単ではないという感じ。

2019/07/06

昼前起床。

新しいmagitのウインドウ制御の件。先日調べたのはちょっと間違えてたかも。 magitのメニューウインドウはミニバッファ用のウインドウにレンダリング されていると書いたのですが、よく見るとメニュー専用にウインドウを 新しく生成しているようだったり。ただ、開いたウインドウはモードラインが 非表示になっているようで、ぱっと見、ミニバッファ用のウインドウが広がって いるように勘違いしました。また、開いたメニューウインドウではバインドが 限定的なものになっている為、結果的にメニューウインドウだけになって しまうと何もできない状態に陥るという事みたい。なんか難しいなぁ? でも、新たにウインドウを生成するべきか既存のウインドウを選択して良いか の条件を取得する方法が判らないのでwindow-plus側での対応は 今の所できない感じ。因みに、このポップアップメニューの制御は transientっていうmagitに外付けのパッケージで制御されているようです。

メニュー操作でスタックするのを対応した magitを少し使ってみたり。 ん~?なんか微妙に操作が変わっているような。 ステージングした後、コミットしてみたのですが、いきなりpushされている ような気がします。あと、まだ操作不能な状態にスタックするケースが あるようです。一度スタックすると元に戻せない為、magitに関係の無い 他のテキスト編集作業を行ってた場合に影響を及ぼす可能性があります。 やっぱこれは乗り換えられないなぁ.......

いきなりpushされていると思ったのは勘違い。Unmerged infoって 項目に記されるようになってたのですが、Tracked filesの後ろに 表示されていたので気づきませんでした。表示を調節して 一通りの操作を行ってみたり。前よりもっさりしているのを除けば、 普段使いするコマンド操作を行う限りはまぁ大丈夫そうな感じに なった気も。これで少し使ってみる事にしよう......

2019/07/05

気持ち早めに帰着。

Web巡回していてたまたま通った ツイート。 ドローン撮影すげぇ。ラリーとかこういう感じで 走っている所が見られると面白くなるかもなぁと思ったりも。

そういや手持ちのコードの一部はGitで管理しているのですが、 gitを使い始めたと同時にEmacs上で動作するmagitを 使っていたため、 gitの生コマンドをほぼ使った事が無いというのに今頃気づいたり(^^; magitではstagingの実行やunstagingを行うコマンドがあるのですが、 gitの生コマンドでは add とreset HEADで行うというのを今更知りました(^^;;;; コマンドラインでgitを使った事が無くてもstagingを扱えるように なっているmagitスゲーって思う訳ですが、それだけに最新のはウインドウ操作 が妙になって使えない(2019/4/19時点) 感じになっているのは残念に思ったりも。
あと、magitでWeb検索すると使い方のTipsとかは何故か2016年頃の 文書に集中しています。最新のが使えていないので判りませんが、 使い方が大きく変わっていないからかしら?

そんな訳で、放置していた新しいmagitがうまく動かない原因を少し調べてみたり。 如何せん、妙な状態にハマるとバッファ操作が全くできなくなるので、 状態を見る事もできなかったのですが、どうやら拙作のwindow-plusとの 相性に問題がある模様。もう少し正確に言うとdisplay-buffer-functionをnil以外の ものにした場合の相性問題という感じだという事が判りました。 で、まだハッキリはしていませんが、妙な状態に陥ると何故バッファ操作が できなくなるかについて。magitでのlogやdiffのメニューウインドウは 普通のウインドウではなく、ミニバッファに項目を表示しているのですが、 そこでなにやらLISPのエラーになっていて、ミニバッファに普通のバッファを レンダリングした上にフレーム内に全表示してしまっていて、あたかも 普通のバッファをウインドウ表示しているように見えて(実はモードラインが 消えている)、ミニバッファでの操作を行っている状態になってる模様。 ミニバッファではバインドが他のバッファの場合と違うので、普通の 操作が全くできない状態に陥る。というのが全体の流れのようです。

もう少し調べてみた所、正確な現象が明確になった感じ。 まず拙作window-plusを使用する際に、display-buffer-function という変数 に(setq display-buffer-function windowP-display-buffer-function)して windos-plusの制御配下に置いています。magitでメニューウインドウが生成される際、 既存のウインドウが一つ選ばれるのですが、メニューを閉じる際にウインドウを 閉じてしまいます。この為、ウインドウが一つしかない状態でメニューを開くと メニューを閉じた際にウインドウが無くなり、結果ミニバッファのウインドウが 全画面表示されるのですが、ウインドウ操作が他と違う為どうにもできない状態 に陥るという流れでした。display-buffer-functionがnilの場合、 メニュー用に選択するウインドウはミニバッファ用のウインドウ (フレーム内一番下の1行ウインドウ)が選択されます。メニューが終了される 場合でもミニバッファ用のウインドウが消滅する事はありません。
で、どうしたもんかで少し困ったり。対応方法の一つは magitのメニューを 開く場合に、現在のdisplay-buffer-functionの値を別変数に一時保存、 display-buffer-functionにnilをセットした後、magitのメニュー関数を実行、 終わったらdisplay-buffer-functionを元に戻すという感じ。試した所では 良好に動作するのですが、magitのメニューコマンドは沢山あるので 手を入れるのがちょっと面倒臭い感じになりました。 もう一つは window-plusに display-buffer-function がnilの場合と 同じような振る舞いをさせる方法。でもこれ、方法が判らない。 (window-list nil t) とすればミニバッファ向けのウインドウも取得 できるのですが、ミニバッファ向けウインドウを選ぶべきなのか否かの 条件を取得する方法がよく分からない為、今の所やりようが無いと いう感じです。

2019/07/04

遅めに帰着。

はぁ...またWebサイトを引っ越す必要がありそう....

2019/07/03

遅めに帰着。

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

2019/07/02

遅めに帰着。

先日の'+'キー割り当ての件、KC_KP_PLUSというのがあり、 いわゆるキーパッド(テンキー部分)の'+'のキーコードだった 模様。もう別のキーに割り当ててしまったので今回はひとまず 保留。

先日お出かけした際に、何気に目に入った jbstyle. 氏の画集を 買いました。TANE個人としては鉄拳のキャラクターイラストの 人だという認識だったのですが、線の幅が極太から極細まで織り交ぜて 描かれていて、何使って描いてるんだろう?とは思ってました。 で、その答えはAdobe Illustrator。......の、鉛筆ツール"のみ"で 描くというのを最後のインタビュー記事で読んで、「.....どゆこと?」 と思ったり。Webで動画を見つけて こういう事 だと判った訳ですが、変な声が出ます(^^;

鉛筆ツールと言うよりは、フリーハンドの閉図形ツールと いう感じです。Inkscapeでも同じ事ができるのか?と思い調べてみると、 鉛筆ツールの設定で「新規オブジェクトのスタイル」を「最後に使用したスタイル」 にするとことで可能なようです。確かにわざわざ設定しないとできない所を 見ても、想定された使い方ではないのかも知れません。さておき、 これだけで何も無い所から描くのは相当な鍛錬を必要としそうですが、 下描きありきのペン入れ作業の感覚でみた場合、思ったほど変態ツール でもないような気がしました。柔らかい筆圧変化の難しいスタイラスペンで ストロークの長い抜きを表現するよりは、そういう形を描くという のは理にかなっているようにも思いました。

もうひとつ、LIMITSという競技型デジタルアートイベントの 存在も知ったり(参考Wikipedia)。 6月に世界大会があったみたい。LIMITS の公式ページから大会の動画が見られますが、全員どうかしてます(褒め)。

2019/07/01

少し早めに帰着。

Dozen0のキーカスタマイズを変更したり。ワンキーで済むようにしてた のを二個同時押しにバラしたら1つキーが浮いたり。
ハマった(そして解決方法が判らなかった)のが'+'のキーコード。 単純にKC_PLUSというキーコードを使ってみたところ、SHIFT+'=' のaliasらしく、US配列だとそうなのですが日本語配列だとうまく いかなかったり。ならSHIFT+';'なら'+'になるハズと思った 訳ですが、何故かセミコロンのキーコードが見当たらず。 USキーボードだとSHIFT+':'な為か、相当するキーコードが 見当たらず。というか、日本語配列コードではどうやっても出せない 組み合わせになっているような? 結局、別の割り当てで同等のショートカットが可能だったので ひとまず'+'に割り当てようと思ったキーは別のに使える感じ になったり。結果オーライという事で。

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


TOP PREV