Qiitaについて

数年ぶりに自分の Qiita のページを見に行ったら普通に残ってたね。まあ当たり前か。 草木深し。 割とずっとアカウント消そうと思ってるんだけど何もせずにそのままになってて、 久しぶりに見に行ったら無事黒歴史が残されていたので、まあ残しといて良かったと思った。 3, 4 年前の自分が今よりも文章力あったというか、真面目に日本語書いてるので感服してしまったな。 というか Qiita に書かなくなった理由が、ゴミ記事を書くことで Qiita の SEO も相まって Web を 汚染してしまうのがやだみたいな理由だったんだけど、こっちに書いててもなんだかんだ検索の上の方に けっこう出るのであんまり意味なかったな、と。 もっと雑に作られたテーマを使うべきだったかもしれない。

GNOMEのスクリーンキャストがTwitterに上げられない問題をなんとかする

ffmpeg で適当に変換すると上げられた (可変フレームレートだと上げられないのか・・・?)。 あと webm はそもそも対応している形式に入ってなかった気がするのでそこも適当に対処してやる。 $ ffmpeg -i in.webm -r 30 out.mp4 -r だと固定フレームレートにはなるっぽいけど厳密にはいろいろおかしいみたいなのをどっかで見た気がするけど そういう動画オタクな世界にはついていけないのであった……。

Socket Activation

systemd の Unit ファイルっぽいものにはいろいろ種類があって、 一番よく見かける .service のやつの他にも .socket とか .mount とかいろいろある。 その中で、ソケット関連を systemd がよしなにやってくれる socket activation というやつが 便利そうだったので適当に触ってみた。 service と socket について socket の方を enable しておくと、systemd が指定したソケットを見ておいて、 必要なときに対応する service の方を起動してくれる。 んで仮に service を止めたとしても、socket の方が残ってればまた 接続があったときによしなに service を起動してくれる。 完璧に Unix ドメインソケットの話してるけど、ソケットのファイルの管理は 地味にめんどい (ファイル残ってると次回起動するときに面倒くさいので消したいとか パーミッションを

CMakeのedit_cacheが使えるという話

CMake で Makefile とか生成したときにできる edit_cache ターゲットが実は便利なやつだったと 気づいた。 edit_cache すると、すでにビルドディレクトリとして CMake を走らせたディレクトリの オプションをいろいろ編集できる。 これまでは適当に CMakeCache.txt を直接編集してたけど、このツールだともっと楽で安全に編集できるっぽい。 make edit_cache とかで起動する。 するとデフォルトだと CMAKE_INSTALL_PREFIX と CMAKE_BUILD_TYPE が出るっぽい。 まあ現実的に変えたそうなやつだし妥当だと思う。 なぜか Boost を find_package のした結果設定された変数が出てるけどなんでなんでしょうね (にっこり)。 あと CMakeLists.txt の中で option(...) コマンドを使ってると、これで設定してる変数も出る。便利。 でカーソルキーとか J/K とかで項目選んで Enter 押すと編集。bool だと ON と OFF が切り替わる

ImageMagickでExif情報からGPS情報を取る

Exif 情報を表示するには: $ identify -verbose image.jpg これで出力される情報のうち、exif:GPS から始まる行が GPS 情報になっている。 exif:GPSLatitude, exif:GPSLongitude は 度, 分, 秒 表記になっているので、 さらにそれぞれ割り算して実際の座標を求める感じになっている。 例えば 31/1, 34/1, 71/25 とかだと、31°34'2.84" になる。 Google マップに持っていって表示したい場合は、検索欄に 度 分 秒N, 度, 分, 秒E といった具合に 打ち込めばその座標にピンが表示される。

CMake on Windows (ライブラリの解決関係)

zlib とか libpng とかをビルドして、適当に C:\usr とかに配置してたら CMake が認識してくれなかった。 -DCMAKE_PREFIX_PATH で C:\usr を指定してやれば解決。 > cmake -DCMAKE_PREFIX_PATH=C:\usr .. このパスが複数ある場合 (例えばライブラリごとにインストールされているパスが違う場合) は CMake のリスト (セミコロン ; で区切る) で渡せばよい。 参考 CMAKE_PREFIX_PATH — CMake 3.20.0-rc1 Documentation

ImageMagick の image stack operator

ImageMagick のコマンドラインオプションはスタックに画像を積み上げていって、 その画像に対してなんかやるみたいな体系になっている。 そのスタックの操作についてメモ。 ( 新しくスタックを作る。 スタック作っただけじゃあんまり意味なくて、何か画像を乗っけることで他のオペレータにも スタックが使われるようになるっぽい (このへんの挙動がよく分からん)。 ) 今いるスタックに乗っかってる画像をメインのスタックに乗っける。複数の画像がいた場合は全部乗る。 -delete スタックから、指定したインデックスの画像を消す。負数を指定すると後ろから。 ハイフンで範囲指定もできる。 -insert スタックの一番上の画像のインデックスを指定したインデックスに変える。 負数だ

lighttpd でローカルでいろいろやる場合のテンプレート

あけましておめでとうございます (社交辞令) ってことで、lighttpd で適当にローカルにサーバ立てたりする場合のテンプレートをメモ (新年とか関係ないけどそのくらいのもの)。 Python の http.server モジュールとかでも静的なファイルを見せるとかとおまけの CGI くらいの機能ならあるんだけど、なんかいろいろ足りなかったりするので。 コマンドラインでいい感じになるように起動する デフォルトだとデーモンになってしまってウザい (は?)。 $ lighttpd -D -f path-to-conf.conf FastCGI server.port = 8000 server.document-root = "<適当>" server.modules += ( "mod_fastcgi" ) server.error-handler-404 = "/" fastcgi.server = ( "/" => ( ( "socket" => "<ソケットへのパス>", ) ) ) WebDAV ずっと立てておくわけではないので認証とかは

readlineの前のリリースとdiff取ってみたり

したけど readline って新機能入ったりしてるのね。 コミュニティが活発な感じは全然しないが……。 ここで見たのは readline-8.0 と readline-8.1 の diff。 見た感じ bracketed paste のサポート強化が目玉機能っぽい。あとはバグ修正とか。 結構修正されてる。 bracketed paste てのは端末が対応してると普通にキーボードから入力されたか クリップボートから貼り付けるられたかを中で動いてるアプリケーションから区別できる機能っぽい。 貼り付け部分の前後にエスケープシーケンスがくっついてくるとかとか……。 最近クリップボードから貼り付けると貼り付けた部分の色が反転する (選択してるみたいになる) なぁ〜と思ってたけど、それはこれが動いてるからな気がする。 最近の端末はリッチだなぁ〜 (なお、

シェルのプロンプトが壊れる

端末が完全に壊れるので困ってる。 数ヶ月この状態が続いていて、僕が .bashrc の中で変なハックをしてるのが悪いのかなとか いろいろ考えていじくり回してたんだけどどうしようもない。 というかこれが vte のバグか readline のバグか分かってなかったんだけど、 termtosvg で録画してもこれになるということは readline のバグである可能性が高いということか。 master ブランチとかを取ってきてビルドすれば直ったりするかな・・・? 追記 この件はこの記事の方法で解決しました。