ぼくの考えたさいきょうのTwitterクライアント
#ぼくの考えたさいきょうの
sei0oくんとの話で議論しているTwitterクライアント
related
https://mstdn.sublimer.me/@eniehack/108745560648506752 のリプライ
List運用を基本とする
機能
https://pub.o0i.es/Twitter-proxy/ のほしい機能、いらない機能に全面同意
個人的にはTwidere for Androidを想像している
RTボタン長押しでRTするアカウントを選べるなどのマルチアカウントの最適化がほしい
タブ表示は死守
mastodonに対しても使えるとよさそう
差異を吸収するための抽象化が必要
投稿に対しフィルタが書ける
プログラミング言語で書けると表現力が出てよさそう
イテレータに強いのがいい
より
イテレータである必要はないかも……?
単体のTweetに対してTrue/Falseを返す、命題のような関数を定義する方式でもいいかも
その中でhas_images?などの関数がほしいかも
Lua
Ruby
mruby
documentが不足している……
Luaと比べて
Scheme
特徴
evalあるし、組込むのは難しくなさそう
Chicken SchemeだったらFilter部も書けるかも?
よくよく考えたらHTTP/2以降に対応してなかった
イテレータに強い
がんばれば自動生成できそう
Chicken Scheme
Chibi Scheme
GNU Guile
https://github.com/dbohdan/embedded-scripting-languages このへんも参考になりそう
実装
daemonとして
Filterに名前を付け、1つのフィルタごとにfilter_name.socketへアクセスする
UNIX domain socket
Windowsは考えてない
named-pipeがいいかも?
systemdで起動する感じのdaemon
mpdを想像するとよさそう
セキュリティ機構が組込めればremoteマシンのsocketに繋いで……みたいなことも
GTK,Qtのフロントエンドは別途実装する必要
フロントエンドはRPCを介してdaemonにリクエスト
Twitter APIが話せる必要がない
daemonがすべてwrap
すべてはつらそう
一部をclientに移譲する手段があってもいいかも
RPCに?
言語
Rust
Nim?
C言語
Chicken Scheme
SPA、server-lessでの実装は失念してた
フィルタ処理言語にはイテレータの実装されたTweet群が流れてくる
続き
2022/08/02 sei0oへの返信
2022/08/03 sei0oへの返信2
2022/08/04 sei0oへの返信3
2022/08/05 sei0oとの議論4
2022/08/05 sei0oとの議論5
2022/08/07 sei0oとの議論6