2019年やったこと

やったことを書くぞ

身内用クローズドSNS: Sea (作った)

仲間内で使ってたとあるOSSSNSがメンテされなくなって、使ってるサーバーもそろそろ使えなくなる、となって、じゃあ移行先作ろうとなって作ったやつ。

基本的にチャットみたいな感じ。ただ、WebUIは最低限の操作 (認証周り、アプリ周り、招待周り) と投稿一覧しかなくて、ほとんどの機能はAPIのみなので、別途アプリを用意する必要がある (これも OSS でいくつか公開されている)。

TypeScript + Koa.js 製。

github.com

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側の新機能追加にあわせて音声ファイルの再生に対応したり投票に対応したりした。

github.com

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-CApple Eventをしゃべった)

github.com

メインブラウザのFirefox移行と、それに共なうアドオンの開発

前はChromeを使っていたが、

  • Chromeが同期に使うアカウントと google.com のデフォルトアカウントを無理矢理紐付けてくるようになった
    • ブラウザがそんなことするな
  • Chromeの新メディアコントロールが気に食わないので chrome://flags で無効化していたができなくなった
  • Firefoxだとニコニコ動画のコメント描画がやたら遅かったが、誤魔化して密集地帯でもなければぬるぬる動くようにするUserScriptが公開された
    • 後に公式に同等の処理が組込まれた

ので、Firefoxに移住した。

Firefoxのツリー型タブというアドオンが調べ物をしていて大量にタブを開く時に非常に便利で、もうFirefoxからは移れなくなってしまった。

addons.mozilla.org

ただ、調べ物が終わった時などに、ツリー型タブのツリーをマウス中クリックで一気に閉じれるようにしたかった。ので、アドオンを作った。

addons.mozilla.org

あと、同じタブを何個も ⌘T→twitter[エンター] みたいなので開いてしまうので、それをちょっとマシにするアドオンを作った。

addons.mozilla.org

PTC4Transmitter

プチコン4という、Nintendo Switchで動くBASICがある。 が、そこには公式で外部から何かデータをインポートする、という機能がないので、Raspberry Pi Zero Wをとある(Nintendo Switchが認識してくれる)コントローラーになりすまさせてボタンのON/OFFやスティックを使ってプチコン4にデータを転送する、というプログラムを書いた。

余談だが、実は別のプライベートリポジトリにGoでなりすまし周りを書き直したコードがある。Cを書くよりかはGoのほうが良いので、こちらも今年中にGoに書き換えたいが、そもそもプチコン4より先にやりたいことが山積みなので、いつになるかは不明。

動かし方ガイドも執筆途中のままで、現状で動かすにはエスパー能力が必要になっている。ごめんなさい。

github.com

SwapWatcher

Macスワップ使用量をメニューバーに出すユーティリティーアプリ。

あとアイコンを付ければMac App Storeに出せるというところまで来ているが、アイコンを作る気力が出なくて出せていない。

github.com

おまけ

さいごに

お前これ作っただろっていうのがあったらなんとかして私に教えてください。コメント欄もあるよ。