ueliとeverythingの連携

新しいwindowsのマシンを手に入れたので、少しづつ設定している。 今日はueliの設定をした。

インストールはwingetで行った

winget search ueli

でidを探して、見つかったidでインストールする

winget install OliverSchwendener.ueli

ファイル検索も使いたかったので、everythingとの連携も行った。 everything本体は以下でインストールできる。

winget install voidtools.everything

これだけでは足りなくて、コマンドラインインターフェイスのインストールが必要。

Downloads - voidtools

ueliのsettingからeverythingを有効にして、cliツールのパスを設定するという流れになる。 以下の通り設定したが、everything内に配置したcliツールがeverythingに認識されなかった。

Everything Ueli Search Help · Issue #317 · oliverschwendener/ueli · GitHub

おそらくアクセスに必要な権限がなくて動作しなかったので、cliの場所をUser/(自分)の配下に移した。

これでうまく動いた。

Save RSS feed to pocket in Thunderbird

Thunderbirdで取得したRSS feedをpocketに保存する拡張機能を書いた。

以下のスレッドでも議論されているが、同じMozillaグループでもThunderbirdとpocketを連携するアドオンはない

https://connect.mozilla.org/t5/ideas/rss-feature-in-thunderbird-adds-pocket-button/idi-p/16200

ThunderbirdRSS管理機能はほかの端末と同期できないことを除いてかなり満足している。Webアプリだと追跡可能なフィード数など結構すぐに到達できてしまうリミットがあり、セルフホストのツールだとサーバー管理が発生して二の足を踏んでしまう。ただインストールだけすれば自由に操作できるThunderbirdはいいバランスのツールで今更ながら結構感動している。ただ、"後で読む"サービスへの転送はRSS管理ツールだと必須だと思っていて、これが欠けているので拡張機能を書いた。 前置きはここまでで、どのように動作するかをざっくり説明する

動作

  • xpiファイルをThunderbirdのアドオンマネージャーから選択する
  • アドオンマネージャーのオプションからpocketのcousumer_keyとapi_tokenを入力し保存する
    • 内部的にbrowser.storage.localで保存している

こんな感じで有効になる オプションはこんな感じ

正しく設定すると、開いているメッセージにボタンが増える。

Pocket!を押すと記事のURLを取得し、pocketに保存される。実行後に記事はアーカイブに移動する。

もともとの仕様

いくつか調査&実力不足で実装できない機能があったので供養する。

  • pocket保存時のタグ付け
    • メッセージの情報をupdateするAPIがあったが、引数が違うと言われ続けて断念。アーカイブへの移動に変更
  • いらんポップアップの削除
    • Thunderbirdのbookmark機能を見てもわかるが、保存済みかどうかを星マークで示すことができる
    • webextensions-examples/bookmark-it at main · mdn/webextensions-examples · GitHub
    • pocketも保存の状態をもとにボタンの色をグレーアウトさせたりすればいいんじゃないかと思った
    • bookmarkの星の機能は実装が公開されているので、がんばればできると思ったがそのためだけに毎度pocket側に負荷をかけるわけにもいかないのでやめた
  • そもそもポップアップを出す必要がない
    • 出さずに実装する方法が分からなかった

背伸びできた仕様

  • storage.localによるクレデンシャル管理

自分用だからプレーンテキストでもいいかと思っていたが、何かの拍子で公開することになった場合、 クレデンシャル管理が致命的になるので取り組んだ。便利なAPIがありとても簡単に実装ができてよい。

言い訳

正直、JavaScriptなんてほとんど書かないので本当にわからなかった。何度も読んでいるうちにメソッドのチェーンや返り値の記法などが分かってきたが、はじめのうちはエントリーポイントになる関数がどこなのかさえわからなかった(経験的にわかった風になっているだけで今もわかっていない)。

良かったと思う点は、この手法はFirefoxchrome系の拡張機能の作成にも応用が利きそうで次に何か作るときのハードルがかなり下がったことと、JavaScriptのいい練習になったことだ。

実際のところ、人生で一番よくつかうアプリケーションはブラウザだと思っているので、自分で拡張を書けるようになるのはかなり満足感がある。目的がはっきりしていて環境構築やサーバー代の必要がないのがとてもいい。

Release

https://github.com/byeron/thunderbird-to-pocket/releases

メールベースのタスク管理

タスク管理ツールがたくさんある中で、最近はメールにチケットの情報を書いておけばいいんじゃないかと思い始めて 実際に運用し始めました。thunderbirdを使っています。

メリット

  • 作業の時刻を残せる
  • 作業ログをそのまま送ることができる
  • データ移行も楽

メリットとしては、いろんなツールをパチパチ開かなくて良くなってことだと思います。 というより、ブラウザでタスク管理するとちょっと関係ないサイトを覗きに行っちゃうんですよね...。 メールクライアントだと文章を書くのにより集中できています。 あとは周囲の人がメールベースでのやり取りをしているので、 何かの説明をする必要があった時に、taskチケットのメールの文面をそのまま投げつけられるのも良いです。

デメリットは下書き(openなissue)をほかの環境で確認できないことです。 ググるthunderbirdのデータフォルダをdropboxとかに同期させて別クライアントで見る方法が ありましたが、普通にデータ競合が起きそうでやめました。

以上です

最近のタスク管理(2023)

はじめに

タスク管理について、使ったツール・使い続けているもの・やめたものをなんとなくまとめてみる

使ったツール

  • ClickUp(もう使ってない)
    • iOSでリマインダーが使えるのが良かった
    • オートメーション機能もありかなりよい
    • 個人用ならおそらくトップだと思う
    • クローズ済みのissueの振り返りがちょっとめんどくさかった(WebUIがちょっと重い)

ClickUpは見つけた時に結構感動した覚えがあります。主にスマホとの連携と無料プランでできることの 充実さにおいてです。ただし、クローズしたタスクを日付ごとに見たいときにいちいちタスクの詳細を 開く必要があってめんどくさくなって触らなくなりましたね...。でもいいツールだと思います。 他のサービスだと漏れている機能がかなりカバーされているので。

  • habitica(たまに使う)
    • リマインダー、iOSウィジェット、Todoなど使える
    • クローズしたissueを追いかけるのがつらいのでタスク管理には使ってない
    • 習慣の管理にはいいのではないかと思う
    • 体力ゲージが減っても自分の危機感が煽られないのでその点は自分とミスマッチしている

issue管理という文脈であれば、クローズしたissueの閲覧が弱いのでタスク管理には十分使えないが 習慣にしたいものの管理などはhabiticaが一番強いと思っている。機能も十分。 体力ゲージで危機感をあおるのだが、自分はそこまで入り込めなくて結局体力切れを起こすことが多い。 ただ、APIが使えるはずなので 自分が不快になるようなUIを作れば最強になると思うが...そこまでのやる気がでていない。

  • Obsidian(たまに使う)
    • 全文検索がよい
    • 適当なメモを取るのにもよい
    • 動作が軽い(多分相当気を使って実装されている気がする)
    • SaaSではない+mdフォーマットなので、もしもの時が安心
    • 自分の使い方がよくなくて宙に浮いている

Obsidianはいろいろな使い方ができるので、自分は汎用なissue管理に使っていました。 ただ、issueについてメールで外部の人とやり取りすることが多い関係で 最初からメールで書き始めることが多くなり、徐々に使わなくなっています。 あとはObsidianの表現力が高くていいのですが、結局メールで共有する以上リッチな表現があると 送り方を考えないといけないのでうまく使えていないです。

おそらくただのナレッジの倉庫として使うのが自分の場合はよさそうです。 メールで共有する以外の背景の調査のメモと補足をObsidianに記録しておき、 本質的な部分をメールで共有し、質問があればobsidianの情報を引っ張り出す。という感じです。

じゃあ、最近のタスク管理はどうしているのかというとメールベースです。 自分宛てにタスクのメールを送っています。自分宛てのメールはFirefox relayでリレーさせると、検索時にタスクのみを取り出せます。 メールは基本自分より目上の人としか使わないので、 自分がメールを見ているときの集中力はほかのツールより高いような気がしており、 そのすり込みを生かしてタスクを眺めることができるので、いい効果があるのではないかと思います。

おわりに

たまにちょこちょこ書いていたので途中の口調がおかしいです。

wslのpythonのversionを変える試み

初めに

wslのpythonのversionが古いのでそこそこ新しいものにしたかった。

やりたかったこととできなかったこと

  • もろもろのライブラリをbrewで管理したい
  • brew経由でinstallしたpyenvでなぜか任意のversionのpythonがビルドできない

何とかできた方法

  • pyenvをbrewを挟まずにinstall

その他調べたこと

終わりに

なんでこんなことしてたかというと、dependency_injectorのパッケージをpythonに導入しようとしたときにエラーを吐いていて、おそらく型ヒントなりアノテーションに対応していないpythonが使われてるからだろうと思ったから。

でも頭を0にして調べなおすと下のissueが...。3.11なら動くんかな...。なんかいろいろ空回りしてしまった。

github.com

今日のpocket供養

はじめに

pocketに記事を突っ込んで入るけど突っ込みっぱなしになっていることが多いのでアーカイブ作業がてらブログにも何か残しておこうと思う。別にハイライト機能を使って線を引いてコメントを書いてもいいけどなんとなくオンラインの媒体に残しておくのが気が引き締まっていいんじゃないかと勝手に思っている

アーカイブ

https://kumagi.hatenablog.com/entry/write-beautiful-code

  • リポジトリ内にメモ帳としてのマークダウンの断片的なファイルを用意しておいて、コードからドキュメントへのリンクを貼っておく
  • まとまりや関連があるものはまとめるなり参照なりしておく
  • 定期的にビジョンを文書に残しておく
  • 本質的じゃないテストと不要なコードの削除

手法だけ並べるとこんな感じだけど、フォーマットにとらわれずに作業ログを残しておく。それに越したことはないという感じ。

「KubeVirt 1.0」正式リリース。Kubernetesで仮想マシンもコンテナも管理可能に - Publickey

この文脈で言われる仮想マシンが何なのかわかってないけど、QEMUは確か別のアーキテクチャのCPUをエミュレートするものだったよな...libvirtが仮想ハードウェアとゲストOSを管理するESXi的なやつなのか...のようにふわふわしながら読んだ。覚えておこう

運用出来るWebアプリケーションの作り方

  • JSONL...知らんかったな...
  • OpenTelemetry、名前だけは聞いたことがあった。リクエストIDを通過するサービスに付与してリクエストごとのログを紐づけることができるっぽい
  • 自前で大量のリクエストを捌く状況は起きえないけど、リクエストの取り扱いは何かの折に役に立つかもしれない
  • 切り戻しできるようにするには

もともとこういう業界にちょっとだけいて、改めてこういう記事を読むとあのときなんもわかってなかったよなという気持ちになる。そして今もわかっていない。寂しいね。

このブログがFediverseに対応しました

ブログ+RSSの進化版。やりたいね

逆向きに接続する Reverse HTTP Transport の仕様 - ASnoKaze blog

originサーバーって呼ばれるものの意味がよくわかっていない。

rssfeedを作る君を作っていた時に見ていた記事だと思う。

データ分析者の今後のキャリアと経済学の可能性|風音屋(かざねや)

書いてあることは肌感覚と同じ。 なぞにドメイン知識がある数理系の人はマジで強い。

同人ゲーム制作者向け misskey サーバーはじめました - いなずまそふと制作支援部 - Ci-en(シエン)

いい使い方だと思う

GitHub.com で複数アカウントの利用がサポートされ、簡単に切り替えできるようになりました | DevelopersIO

へぇ

終わりに

書いてて思ったけど、普遍的な記事より時事的なやつを中心に書くべきだったかも。 もし続くなら改善していきたい。