2019年やったこと
やったことを書くぞ
身内用クローズドSNS: Sea (作った)
仲間内で使ってたとあるOSSのSNSがメンテされなくなって、使ってるサーバーもそろそろ使えなくなる、となって、じゃあ移行先作ろうとなって作ったやつ。
基本的にチャットみたいな感じ。ただ、WebUIは最低限の操作 (認証周り、アプリ周り、招待周り) と投稿一覧しかなくて、ほとんどの機能はAPIのみなので、別途アプリを用意する必要がある (これも OSS でいくつか公開されている)。
TypeScript + Koa.js 製。
iMast (2017〜)
iMastとは: iOS用のMastodonクライアントの1つ。Apache License 2.0 の OSS。
iOS 13 対応をして、ついでに iOS 13 以上をインストールに必須にした。 iOS 13 対応は早くから取り組んでいて、i(Pad)OS 13自体も beta 1 から利用していた。バグレポもまあまあした。
iOS 13 未満を切り捨てたことで一番良かったのは、タイムラインの実装を Diffable Data Source にできたこと。 あそこらへんは元々地獄のようなコードを書いていたが、それが少しマシになった。
あとダークモード対応で何も考えずに UIColor.system*
に書き換えるだけだったのもよかった ( #available
とか付けなくてよかった) 。
その他にやったことは、Mastodon側の新機能追加にあわせて音声ファイルの再生に対応したり投票に対応したりした。
2019年のコミット一覧はここから見れる。https://github.com/cinderella-project/iMast/compare/master@%7B2019-01-01%7D...master@%7B2020-01-01%7D
npm: itunes-nowplaying-mac (2018〜)
itunes-nowplaying-macとは: Node.js から macOS 版の iTunes で再生している楽曲を取れるライブラリ
元々とあるアプリを作ろうと思って作ったのだが、そのアプリを作らないことにしたので放置していた。 が、TheDeskというMastodonクライアントで使われ出したので、そこ経由のissueにいくつか対応した。
- Catalinaになって Music.app になったのでその対応
- サムネイルが取りたいと言われたので取れるように (AppleScriptは書きたくなかったので Objective-C でApple Eventをしゃべった)
メインブラウザのFirefox移行と、それに共なうアドオンの開発
前はChromeを使っていたが、
- Chromeが同期に使うアカウントと google.com のデフォルトアカウントを無理矢理紐付けてくるようになった
- ブラウザがそんなことするな
- Chromeの新メディアコントロールが気に食わないので
chrome://flags
で無効化していたができなくなった - Firefoxだとニコニコ動画のコメント描画がやたら遅かったが、誤魔化して密集地帯でもなければぬるぬる動くようにするUserScriptが公開された
- 後に公式に同等の処理が組込まれた
ので、Firefoxに移住した。
Firefoxのツリー型タブというアドオンが調べ物をしていて大量にタブを開く時に非常に便利で、もうFirefoxからは移れなくなってしまった。
ただ、調べ物が終わった時などに、ツリー型タブのツリーをマウス中クリックで一気に閉じれるようにしたかった。ので、アドオンを作った。
あと、同じタブを何個も ⌘T→twitter[エンター] みたいなので開いてしまうので、それをちょっとマシにするアドオンを作った。
PTC4Transmitter
プチコン4という、Nintendo Switchで動くBASICがある。 が、そこには公式で外部から何かデータをインポートする、という機能がないので、Raspberry Pi Zero Wをとある(Nintendo Switchが認識してくれる)コントローラーになりすまさせてボタンのON/OFFやスティックを使ってプチコン4にデータを転送する、というプログラムを書いた。
余談だが、実は別のプライベートリポジトリにGoでなりすまし周りを書き直したコードがある。Cを書くよりかはGoのほうが良いので、こちらも今年中にGoに書き換えたいが、そもそもプチコン4より先にやりたいことが山積みなので、いつになるかは不明。
動かし方ガイドも執筆途中のままで、現状で動かすにはエスパー能力が必要になっている。ごめんなさい。
SwapWatcher
Macのスワップ使用量をメニューバーに出すユーティリティーアプリ。
あとアイコンを付ければMac App Storeに出せるというところまで来ているが、アイコンを作る気力が出なくて出せていない。
おまけ
- QuesdonというMastodonアカウントで質問箱が作れるサービスをやっていたが、やめた。https://github.com/rinsuki/quesdon
- Mastodonの自鯖のストレージとしてMinioにくっつけていたHDDが死んでしまい、とりあえず自分の分だけでも復旧するスクリプトを書いた。https://github.com/rinsuki/rescue-local-mastodon-files
- https://github.com/syuilo/misskey のコラボレーターになったので、ちょくちょくIssueとかPullReqとかにレビューしたりコメントしたりタグ付けたりをしている。
さいごに
お前これ作っただろっていうのがあったらなんとかして私に教えてください。コメント欄もあるよ。