daglog

2023-12-18 | ミス・マープル christie

pyspa Advent Calendar 2023 の17日目です。17日目は ○○棒を振り回す torufurukawaでした。 ミス・マープル アガサ・クリスティの探偵といえばエルキュール・ポワロが一番有名だろうがミス・マープルもBBCでドラマになってたりして負けず劣らず有名である。 2023に読んだマープルもの そういえばマープルものってそんなに読んだことなかったなということで今年はマープルものを意識的に選んで読んだ。 火曜クラブ 牧師館の殺人 予告殺人 パディントン発4時50分 スリーピングマーダー 短編1本と長編4本。まあクイーンとかディクスン・カーとかの読み直しもしてたしね。 安楽椅子探偵 マープルはお婆さんだし田舎住まいだし、安楽椅子探偵のイメージがある。実際「火曜クラブ」はほとんどそういう形式で火曜クラブの参加者がいろんな謎の話を持ち込んでみんなで真相を考える中でマープルが最後に謎を解き明かす。もちこまれた話は過去の事件とかなので正解も用意されているという親切設計。とはいえ「牧師館の殺人」とか「予告殺人」とかはセント・メアリ・ミードで発生してて持ち前の情報網を活用したり聞き込みみたいなこともしたりと、意外と活動的。 推理手法 推理というか、やたらと感の鋭い婆さんである。近所のお婆さんとかで、なんでそんなことわかるの?というののすごいバージョン。アリバイ崩しとかトリックとかそういうことしない。証拠品も物的証拠を探すのは警察の仕事で、それの意味に気づくのがマープル。警察もマープルの推理を聞いて証拠を集めて逮捕なりなんなりする。きちんと手順を踏んで捜査してくれるわけで警察は優秀なのです。(探偵を持ち上げるために警察をことさらアホに描く探偵漫画ってよくありますよね。) 作品ごとの主人公たち 長編だと主人公がだいたいマープルじゃないのだけど、そこが小説として魅力をましている部分なのかと思う。「パディントン発4時50分」のルーシーを射止めたのは誰だったんでしょうね? マープル 今年はマープルものを制覇しようと思ってましたがまだ半分程度しか読めてないです。というかクリスティってストーリーのほうがおもしろいのでマープルじゃなくても全然問題ないぜ。次読むものはすでに買って来ていて「魔術の殺人」です。ついでにトミーとタペンスの「秘密機関」も買ってきた。 pyspa Advent Calendar 2023、明日はtaichi satoが宇宙船の話。

2023-12-09 | emacs設定棚卸し

年末なので emacsの設定棚卸ししておこうと思います。 ビルド emacs29.1が最新です。debian unstableでパッケージあるんでそれでもいいんですが、最近若干話題な気がするnixで管理することにします。 emacs-overlayが用意されてるのでそちらを使ってunstable-pgtk版をビルド。(waylandなのでpgtk版がうれしい) nix home-managerのprograms.emacsで設定ごと管理します。 programs.emacs = { enable = true; package = pkgs.emacsWithPackagesFromUsePackage { package = pkgs.emacs-unstable-pgtk; config = ./config/emacs/config.org; alwaysTangle = true; }; extraConfig = ''(org-babel-load-file "${./config/emacs/config.org}")''; }; orgで設定ファイルを書く orgのコードブロックを使って文芸的プログラミングみたいな感じで書きます。 文芸的プログラミングって複数ファイルを取り扱ったりとかLSPとどう折り合いつけるかとか現代的にはなかなかうまい使い方がなさそうですが、設定ファイルを扱う分には結構あり。 emacs lispのコードブロックならorg-babel-load-fileで一発なので上記のnix設定でもorgファイル読み込むだけの設定追加(extraConfig)してあります。 パッケージ管理 nixのemacsWithPackagesFromUsePackageではなんとemacs lispをパースしてuse-packageで管理しているモジュールをnixパッケージで読み込んでくれます。 しかもorgファイルのコードブロックもパース対象。 ,(´_>∀<)_バカじゃないの 退役モジュールとか projectileはそれほど多くの機能を使いこなしてるわけでもないし標準のproject.elを使うことにしました。 ivy/councel/swiperは後述のvertico/consultに変えます。ついでにmarginaliaとかも追加設定。 eglotを試していましたがflymakeとエラー情報が同期してくれない(解消してるのにずっとエラーが表示され続ける)ことが多く、lsp-modeに戻します。 treemacsはまあなんかすごいなぁと思いつつも手に馴染むことはなかったのでもういいかなと。dired-toggleに変えてみることにします。 company-modeはcorfuに変更してみることに。まあどっちがいいかそれほど吟味したわけでもないですが。 コマンド補完 anything/helmには手を出さなかったもののidoからivyという感じでとりあえず入れとくといった使い方をしていましたが、今回vertico/consultにしてみます。どっちかというとmarginaliaとembark使いたかったのでついでに変えたというところ。 embarkのアクションはもっと使いこなせるようにしたい。今の所はwdiredとかlinesの結果を一括編集するとかそういったわかりやすい使い方をしている。 プログラミング eglotは軽いし既存の仕組みとうまくやりとりする作りってのが好みではあるのですがflymakeとの同期がうまくいかないことが何度も発生してしまい断念。 lsp-modeに戻しています。 lsp-modeの補完はcompany-modeが標準っぽいけど補完方法をcapfではなくnoneにするとcorfuでも問題なく動くという不思議。 あとはdockerでコンテナ起動するとかcontainer-trampが標準で使えるのでdevcontainerで開発できないかと考えましたがlsp-modeだとリモート設定がなかなか面倒そうです。来年はここらへん強化したい。 メール それほど出番ないけどemacsからさっと見るくらいする分のことはできると便利なので設定。今はmu4eが有名っぽいので、mbsyncと一緒に設定する。 なんかメール送信については標準のメール関連設定でやるとか、メールごとの表示設定がgnusと共通だったりして、構成がよくわからないのでとりあえず入れただけという状況。 org roam 1ファイルでがんばるつもりでしたがなんとなくorg-roamを入れてみることにしました。まだそれほど使ってないのでひとまずというところ。 org-roam-uiでグラフを見ているだけでもそれなりに楽しめます。 試そうと思ってるもの shackle, popper ウィンドウ管理するやつ。popwinよりもわかりやすいとか特化してるとかで使いやすそう。 elfeed RSSリーダーだが、feedlyと既読管理してくれるなら使いたいところだった。検討中。 emms mpdクライアントとして使いたい。id3タグが文字化け状態だとemacs閉じるときにバッファの文字コードが不明みたいに言われてうっとおしいのでそこらへん解消できたら常用したい。 まとめ あんまり大きな変化はない

2023-08-12 | そろそろemacs29にしてみるか

emacs29.1がリリースされたしdebian sidもemacs29となったので設定見直しつつ乗り換え。 use-packageが標準入り 最初から入ってるのでブートストラップするとこは削除する。が、straight使ってる場合はそれほど変わらなかったりする。 docker-tramp -> tramp-container docker-tramp でコンテナ内に入っていたが標準でtramp-containerが使えるようになったのでこちらも削除。 csharp-mode これも標準で入ってくる。 pgtk 真にgtk3ネイティブなpgtkコンパイルでwaylandに対応した。透過背景とかちゃんと効くようになった eglot emacsのlspクライアントでlsp-modeと両翼をなすeglotが標準に。 eglotのほうが仕組みが簡素なイメージなのだが、そのせいかtramp下で使うのはなんかeglotのほうがうまく動いてる気がする。ただエラー情報がflymakeと同期してくれないのか修正済みのエラーが表示され続けることが度々。

2022-12-28 | PDFを埋め込んでみる ox hugo

hugo-embed-pdf-shortcode を使って PDF.js を埋め込んでみた pycon jp 2022 資料 PDFダウンロード #the-canvas { border: 1px solid black; direction: ltr; width: 100%; height: auto; display: none; } #paginator { display: none; text-align: center; margin-bottom: 10px; } #loadingWrapper { display: none; justify-content: center; align-items: center; width: 100%; height: 350px; } #loading { display: inline-block; width: 50px; height: 50px; border: 3px solid #d2d0d0;; border-radius: 50%; border-top-color: #383838; animation: spin 1s ease-in-out infinite; -webkit-animation: spin 1s ease-in-out infinite; } @keyframes spin { to { -webkit-transform: rotate(360deg); } } @-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); } } Previous Next     Page: / window.

2022-12-27 | 2022年の私のLinuxデスクトップ状況

Linuxデスクトップを常用してイキっているので現在の状況をまとめておく。 コンポジターとか ここらへんの話は去年の swayでwayland で設定した内容からほとんど変わっていない。 waylandを使うことにして、コンポジターとしては sway を採用している。タイル型にも慣れてきた。 ランチャーには wofi を使っているのはそのままで、デスクトップ通知も mako で続投。タスクバーはi3blockを使ってみたかったのでwaybarからsway標準のswaybarに戻している。 swayを使っていて不便というかwaylandかwlroots、desktop-portal-wlr あたりがまだ機能足りないのがミラーリング。普段使っているときは気にならないのだが登壇のタイミングでミラーリングできないことに気づいた。あと地味に面倒なのは画面共有でウィンドウ選択ができないところ。 greetd ディスプレイマネージャーには greetd を使うことにしている。 sidにgreetdのdebianパッケージが入ってきたので移行してみたが、wlgreeterとかgtkgreeterはまだパッケージにきていないので、そちらは自前でビルド。 wlgreeterはwlrootsを使っているようなのだが、以前ビルドしていたのがabi互換性で動かなくなっていた。ふとしたアップグレードでgreeterが立ち上がらないのはいやなんで、gtkgreeterに変更。なんとなくgtkのほうがabi互換性に強そうな気がする。 pam設定はdebianパッケージに入っていないが、デフォルトで greetd, login をみて存在する方を使うらしい。 /etc/pam.d/login をコピーして /etc/pam.d/greetd を作成。gnome-keyringを有効にする設定を追加してある。 ブラウザ waylandで困っているのはブラウザである。どうもxwaylandだとどのウィンドウもアクティブになっている扱いらしく、chromeをxwaylandで動かすとウィンドウが複数になったときにとても重い。 ozone platformでwaylandを指定するとchromeもwaylandネイティブで動くのだが、今度は日本語入力ができない。 waylandの日本語入力はまだなんか色々やってるみたいだけど、基本的には text-input-unstable-v3 をみんな実装している流れみたいだけど chromeは話進めている途中 のようだ。 以外にもfirefoxはwaylandネイティブにしても日本語入力可能だった。多分 gtk im module がそのまま有効になっているっぽい。環境変数で GTK_IM_MODULE=fcitx5 と設定するだけで良かった。またgtkとfcitxどちらも text-input-unstable-v3 に対応しているようで GTK_IM_MODULE の設定なくても日本語変換自体は可能。でもこの場合は変換候補ウィンドウのポップアップの処理はコンポジターがやることになっていて、swayはまだ対応していないので変換候補を見れない。 gtk im module を使った方法に寄せておくのが良さそう。 ターミナルエミュレーター wezterm が機能豊富でなんかいけてるから最近導入してみた。 kittyの画像表示プロトコルにも対応しているので、後述の ranger で画像プレビューできてしまうのもポイント高い。まだdebianのパッケージがないけどflatpakにあったのでお試し利用中。 気になる点というかあとあと対処しないといけないと思ってるのがいくつか。 flatpakで入れたことで環境変数やネットワークアクセスで制限がかかってる weztermは text-input-unstable-v3 を実装しているようで日本語変換できるけどswayの変換候補ポップアップの対応待ちということでもある OSC133とか便利なものを設定しておきたい ファイラー ranger がターミナル上で結構使いやすい。ターミナルもrangerの画像プレビューが安定していた rxvt から wezterm に変えたが、それなりに安定している。でも偶にボーダーラインとかの描画が変。すぐに直るけど。 rangerから起動するアプリケーションは軽いものにしたいので sxiv とか mpv とか mupdf とかで設定している。