はてなブログ記事の作成をVSCodeからObsidianに移行した。

はてなブログ記事を各環境を、VSCodeからObsidianに移動してみた。
といっても、下書きの投稿や記事の更新は blogsync を使っていたので、記事を保存していたディレクトリをObsidian配下に移動しただけ。

移動した理由としては、「管理するレポジトリ・ディレクトリを減らしたかった」ということと、「プライベートの文章管理はObsidianにまとめたかった」という2点。
VSCodeでもMDはかけるが、個人的な体験としてObsidianのほうが快適なので移行した。

しばらくはこの環境でやっていく。

Wezterm 日本語変換時のCTRL-hを修正する

weztermを使い始めた。
早速問題にぶつかる。
日本語変換時、CTRL-hを押すと変換中の文字ではなく確定された文字が消える。

https://x.com/piruty_/status/1735909905427816514?s=20

困った。
Backspaceを使えば正しく変換中の文字を消してくれるので、こっちを使えば良い
が、癖でCTRL-hを押してしまうので、可能なら対応したかった。

Key設定を色々弄り倒したがうまく行かず...
諦めていたが、Xで検索したらあっさり答えが見つかった

https://github.com/wez/wezterm/blob/abc92e56e0565b6221935762ee0856318dbc7a34/docs/config/lua/config/macos_forward_to_ime_modifier_mask.md?plain=1#L5

以下の設定を追加すると解決した。

return {
    ...
    use_ime = true,
    macos_forward_to_ime_modifier_mask = "SHIFT|CTRL",
    ...
}

これでうまくいく。
ただ、上記のサイトにも書かれているが、これを設定するとCTRLとの組み合わせが意図しない挙動になる可能性があるらしい。
自分の環境では今のトロコなんともないが、ちょっと気にしておく。

2024年の開発ツールを考える

2024年の開発ツールを考えてみた。

2023年

  • エディタ: NeoVim
  • ターミナル: iTerm
  • シェル: fish
  • ドキュメント: Obsidian / Notion

2024年

  • エディタ: NeoVim or Emacs
  • ターミナル: Wezterm
  • シェル: zsh
  • ドキュメント: Obsidian / Notion

変更点

エディタはまだNeoVim使ってますが、Emacsを使おうか悩んでる。
NeoVim自体に不満はないし、Vimキーバインドは気に入っているので、単純な興味として使いたい
とはいえ、素のEmacsは辛そうなので、Spacemacsのようなフレームワークは導入したい

ターミナルは、Weztermを使っていきたい。というか、すでに使っている。
luaで設定がかけて開発が活発であるのがポイント。
また、CodeWhispererがWeztermに対応したというのを聞いたので、早速乗り換えている。

シェルはzshを使う
fishの問題点として、「多くの人がzshを使っており、文法が異なるfishで実行する場合に翻訳する必要がある」という難点がある。
fishの文法は直感的なのでそこまで難しくはないし、GPT-4もいるので以前ほど翻訳はめんどくさくなくなっている。
が、CodeWhispererも使えるようになって保管もかなり賢くなったので、いい機会と思い乗り換えを検討している。

映画「グランツーリスモ」を見てきた

見てきました。
映画『グランツーリスモ』オフィシャルサイト | ソニー・ピクチャーズ

事前情報は全く入れず、「GTアカデミーが開催され、そこからプロレーサーになった人がいる。これはその人についての映画」というぐらいしか知らない状態で見に行きました。

個人的にはとても楽しめました。
ストーリーはとてもわかり易く、「あぁきっとこのあとはこうなるよな...」という感じるままに進んでいきます。
それでも、始まりから終わりまでが良いテンポで進んでいき、2時間の映画はあっという間に感じられました。

何よりも、車から発せられる音の出来がとても良く、レースも臨場感を感じることができました。
レースシーンも社内・空撮・フロント位置のカメラなど、色々な角度からスピードを感じさせる演出がされていました。
今回は通常のシアターで見ましたが、ドルビーなど音響設備の整った環境で見るとなお良いかも。

正直、どこまでが史実通りかわからないが、この映画のとおりだったとしたらすごい人生だと思う。
ドキュメンタリ映画としても、カーレース映画としても、楽しめる映画になっていると思います。

水墨画【白樺】

今日は水墨画教室でした。

水墨画教室にはコロナが始まったぐらいから行っています。
月1回。
自分は元々絵を学んだこともなく、教室に通い始めてから描くようになりました。

今日のテーマは白樺でした。
墨汁で木の幹と枝を描き、幹には上から白い絵の具で表皮の感じを出します。
後は葉っぱと周辺の草を描く。
こんな流れです。

tigを使うか、lazygitを使うか

gitを使う際のクライアントツールを色々試している。
その中の候補として、tigとlazygitを検討中。

どちらも良いツールで、ターミナル上で簡単にgitの操作ができる
また、この2つはどちらもNeovim上で動かすためのプラグインも存在している

どちらも試しているのだが、個人的に解決できない問題がある
Neovimのターミナル上でツールを起動するため、自分の環境上ではESCを押したときの挙動が意図しない場合がある。(ツールごと閉じてしまう、TERMINALモードから抜けてしまい再度TERMINALモードに入った際に操作できなくなる など)

Neovim上で完結する必要はないので、ツールはneovimを閉じてから起動するで良いのだが...
まだまだ色々試してみよう

Taskを使ってみる

Makefileを使うのが個人的に辛かったので、Taskというツールを試している

Goで実装されているタスクランナーツールで、yamlファイルで設定を書くことができる。
yamlファイル自体はGithub Actionsなどでも書いているので、自分は違和感なく入ることができた。

ドキュメントもしっかり作られているものの、まだ参考になるブログ記事などが少なく、使いこなすにはそれなりに苦労する。

brewでインストールする際は go-task となっているので注意。

brew install go-task

現在ははてなブログ関連の処理を自動化するために使っている。

version: 3

tasks:
  pull:
    cmds:
      - blogsync pull piruty2.hatenablog.jp
  push:
    cmds:
      - task: check_args
      - blogsync push {{.CLI_ARGS}}
  draft:
    cmds:
      - task: check_args
      - blogsync post --draft --custom-path={{now | date "2006/01/02"}}/{{.CLI_ARGS}} piruty2.hatenablog.jp < draft.md
  check_args:
    preconditions:
      - sh: (! {{empty .CLI_ARGS}})
        msg: 引数がありません

pull/push/draftという3つのタスクが実装されており、blogsyncコマンドを使ってはてなブログとやり取りする
cmdsに記述されたコマンドが順番に実行される

引数が必要なタスクについては、 check_argsタスクを実行して引数をチェックする。
preconditionsを使うことで、コマンドが実行される前に確認を行う
引数自体は .CLI_ARGS で参照できる

また、emptynow, dateなど、Go関連のコマンドを直接実行できるようになっている

個人的にはGo言語も嫌いではないので、これを気にGo言語に再入門しようかとも考えている