basyura's blog

あしたになったらほんきだす。

Bluesky の vim クライアント

ちょこちょこ作っては止まるを繰り返し中。tweetvim を作ってるときは謎のモチベーションがあったけど、今回はこれだけ動けばーで終わることが多い。今の主目的は tweetvim が動かなくなった結果、愚痴的なものを垂れ流す場所が無くなったことの代替。

Vim script だけで完結しても良かったのだけど、denops がおもしろそうだったので api 部分に使用。バッファへの書き込みも最初は使ってたけど、そこは Vim script の方が書きやすかったので分離。

今できること

  • タイムラインの表示 (ページめくり不可)
  • 任意のユーザーのタイムライン表示
  • post (テキストのみ)
  • like

ちょこちょこやる。

Inkdrop - sidetoc : サイドバーを常に表示する

サイドバー表示

ヘッダーが無い場合には必要がない (表示するものが無い) ので非表示にしているけど、サイドバーをキー操作で非表示にしてしまっているのか意図的に非表示にしているのか分からないことが割とある (記憶力)。

ちなみにのキーマップ。

"ctrl-l": "sidetoc:sidetoc-toggle"
"ctrl-n": "sidetoc:jump-next"
"ctrl-p": "sidetoc:jump-prev"
"ctrl-x ctrl-e": "sidetoc:wraptext-toggle"
"ctrl-x ctrl-0": "sidetoc:width-reset"
"ctrl-L": "sidetoc:width-decrease"
"ctrl-K": "sidetoc:width-increase"

ctrl-l で表示・非表示を切り替える。

ヘッダーが無くても表示するオプション

表示されてるかされてないか迷うんだったら、ずっと表示するオプションを追加してみる。 ヘッダーが無くても領域が表示されるけど、そもそも一定幅で折り返すようにスタイルを書いているので Distraction Free にしてウインドウ幅を狭くして使いたいときぐらいしか困らない。どちらにしろその場合は ctrl-l で非表示にするし。

まとめ

様子見運用してみる。

ChatGPT - メモリとカスタム指示

違いが分かりづらくフワフワしているので ChatGPT 4o に直接聞いてみた (リリースノートとか読まない)。

いくつか質問と回答を繰り返した結果、メモリは ChatGPT が動的に生成して保存するのに対して、カスタム指示は利用者が設定して保存することのよう。

メモリもカスタム指示も回答内容に同じように影響する。重複した内容は意味が無いようだ。よって、定期的にメモリの内容を確認して必要なものはカスタム指示に移し、メモリをクリアするのが効果的なようだ (と ChatGPT が回答した)。

メモリは ChatGPT 側で生成・削除できるのでこんなことができた。

僕: メモリの一覧を表示して

現在のメモリの内容は以下の通りです。

  1. ユーザーは簡潔な回答を好む。
  2. ユーザーは今後の回答に慎重さを求めている。
  3. ユーザーがメモリを更新してくださいと指示したときだけメモリを更新する。
  4. ユーザーは英語に翻訳する場合、自然なフレーズを優先することを好む。

僕: カスタム指示の一覧を表示して

現在のカスタム指示の一覧は以下の通りです。

  1. 簡潔に答えることを最優先にしてください。
  2. 指示を復唱しないでください。
  3. 半角文字と全角文字の間は前後に半角空白を入れて出力してください。

カスタム指示に変更や追加が必要であればお知らせください。

僕: メモリの中でカスタム指示と重複しているものを上げて

メモリの中でカスタム指示と重複しているものは以下の通りです。

  1. ユーザーは簡潔な回答を好む。

重複しているため、このメモリ項目は削除しても問題ないでしょう。どうしますか?

僕: 消してください

重複するメモリ項目を削除しました。他にご希望やご質問があればお知らせください。

僕: メモリの一覧を再表示

現在のメモリの内容は以下の通りです。

  1. ユーザーは今後の回答に慎重さを求めている。
  2. ユーザーがメモリを更新してくださいと指示したときだけメモリを更新する。
  3. ユーザーは英語に翻訳する場合、自然なフレーズを優先することを好む。

他に変更や追加が必要な場合はお知らせください。

いやぁ・・・未来だなぁ。

ちなみに、

僕: カスタム指示に "ユーザーは今後の回答に慎重さを求めている。" を追加して

としたら追加したような回答をするけど設定には反映されない。新しいセッションでは表示されないので追加を依頼したセッションでは有効なのかも。

あと、 "ユーザーがメモリを更新してくださいと指示したときだけメモリを更新する。" は無視される。指示の仕方が悪そうだが。

Simple Clock App for Windows

タスクバー非表示教なので、時間を確認するのに一手間必要。仕事中はノート PC + 外部ディスプレイ二枚構成なので、そのうちの一つに時計を表示している。時計アプリを探したけどコレというものがなく、https://watch.onl.jp サイトを Vivaldi のアプリケーション機能を使って表示することを長らくやっていた。

特に困ることは無いけど、Vivaldi のアップデートに巻き込まれて再起動した際の位置移動とか、たまに cookie 切れか背景白で上がってくるのでダークモードに変える手間があるぐらい。

ただ、ウインドウサイズが最小にしても大きいとか、タイトルバーが要らないとかが気になっていたので ChatGPT を使って生成してみた。

ChatGPT 4o を使っているが、今回に限らず生成内容は大丈夫なのだけど応答しなくなることが頻発して効率が悪い。そもそもサイトが読み込まれなくなるとか。ブラウザを切り替えたら直後は大丈夫だったりするので頻繁に切り替えながら生成してた。

指示をリスト化して、で出力された内容

  1. アナログ時計を表示する C# のプログラムを生成して
  2. WPF で実装して
  3. namespace を Clock にして
  4. Canvas の usingが不足しています
  5. 実行時のエラー対応
  6. 0 から 11 までの時間を表す文字を表示して
  7. 背景を黒にして
  8. タイトルバーを黒くして
  9. マウス操作でドラッグできるようにして
  10. ウインドウサイズを変えられるようにして
  11. カーソルをウインドウの境界に移動すると、ポインタをドラッグ可能な形に変えて、マウス操作でウインドウサイズが変えられるようにして
  12. ドラッグ中は描画を止めてください
  13. サイズ変更は縦と横が 1:1 になるように制限してください
  14. 時計の外側の背景を透明にして、カーソルが時計の上にあるときだけ黒で表示するように修正して
  15. タイトルバーを非表示にしてください
  16. カーソルがウインドウ内にある場合だけウインドウの枠に色をつけてください。枠の色は今より薄くしてください
  17. カーソルが外れた際に背景を透明にするのは 1s 後にしてください。1s 以内にカーソルがウインドウ内に戻ったときの考慮も入れてください
  18. ウインドウの枠は Brushes.DarkSlateGray に、ウインドウを離れて透明化するまでの時間を 1s から 0.5s に変更してください
  19. 左下をドラッグした場合もサイズが変更できるようにして
  20. 中央に日付を m/d (曜日) のフォーマットで表示して
  21. 日付が表示されません
  22. 日付が見えません(表示されません)
  23. 表示位置を下げてください
  24. Windows + D キーを押した際も最小化されないようにできますか

割と満足だけど、なかなか思うように生成されないというか意図が伝わらない事がちょいちょいある。今の仕事の状況と同じなので慣れているとも言えるが、僕の指示が悪いとも言える (反省はしてない)。

Windows + D したときに最小化されず、定位置に埋め込まれているような振る舞いをさせたいのだけど ChatGPT さんは無理だと言ってる。タイマーで位置をキープするようするとか考えたい。