2024年2月を振り返る

ブログを書いた

dawn.hateblo.jp

mastodon を fork して、実装を追ったり、スパム対策のパッチを当てたり、絵文字リアクションを表示できるようにしたり、デプロイを高速化したりしていました。

関連して、 puma の hot restart 周りのドキュメントを読んだりしていた。

github.com

大昔に以下の記事を書いたのだが、puma での hot restart は、いずれの方式とも違うやり方をしていることがわかり、unicorn 方式に比べるとイケてねえなと思いました。

qiita.com

葛西臨海公園へ行った

葛西臨海公園|公園へ行こう!

入口正面にあるレストハウス

干潟

水族館入口の天井

淡水生物館の展示

公園自体も海も思った以上に綺麗だった。夏は暑そう。 併設されている水族館も良かった。特に淡水生物館は建物の作りが面白かった。

スプラトゥーンDLC "Side Order" をクリア

www.nintendo.com

正直あまり期待してなかったがものすごく面白かった。一人プレイのゲームは癒やし。 次に癒やしが必要になったらシレンをやろうと思います。

「劇場版ハイキュー!! ゴミ捨て場の決戦」を観た

eiga.com

作品自体のファンというわけでもないのだけど、この映画は面白かった。 スパイク・レシーブ・サーブといった動作の表現が良くて、観てて気持ちよかった。

LeetCode の SQL 50 を完走

leetcode.com

完走した感想ですが...Window function の練習問題としてはよかった。 あと HAVING とかの普段それほど使わないような文法も一通り使えるようになったと思う。 問題自体もパズルみたいで楽しいのでオススメです。

最近の mastodon 事情について諸々

背景

2023年7月頃に mastodon サーバーを立てて、8月頃から Twitter への投稿をやめた。 それから半年ぐらい経過し、現在では私にとっては mastodon がほぼ Twitter の代替となりつつある。

ここ数週間で話題となっていたスパム騒動への対応も含めて、このへんで簡単に振り返っておく。

前史

2017年ごろに mastodon サーバーを立てていたことがあった。

qiita.com

このときは、立てたサーバーを自分自身も使わなくなってしまい、自分以外の利用者もそれほど多くないようだったので、一ヶ月程度で閉じてしまった。

余談だが、記事中で「無料SSL」というキーワードを強調しているのは、当時はまだ Let's Encrypt 等が普及しておらず、暗号通信を利用するには追加料金が必要となることが多かったことによる。

2023年7月頃、X が頻繁に壊れるのに嫌気が差し、逆張り精神も相まって mastodon に移住することを決めた。 所属するサーバーをどれにするか悩んでいたが、Urabe Shohei 氏 が自前でサーバーを立てているのを観測し、自分もこれにしようと思い至った。

mastodon は公式が docker image を公開しているので、これを スポットインスタンスで個人開発 Web サーバーを運用する技術 で構築していた基盤に乗せるだけで問題なく動作した。 設定がうまく行ってなくてたまに意図せず鯖落ちしたりしてたけど、現在では概ね安定して稼働している。

ここからはしばらく平和な mastodon ライフを楽しんでいた。 2017年のときと違って misskey.io もあるし、日本語話者ユーザーもそこそこいたので、見かけた人を片っ端からフォローするようにしていると、SNS欲求が満たせるぐらいのTL流速になった。 大昔、高校生ぐらいのときに Twitter でフォローしていた技術系の人々(mikutter とかやってた人たち)が mastodon に生息していて、「皆さんここにいらっしゃったんですね」という感想になったり、 意外とお一人様インスタンスを運用してる人も多いんだなあと思ったりした。

投稿がちょっとだけバズる & misskey との互換性問題

ある日、適当な投稿をして就寝したところ、朝起きたらそこそこ RT / Like されているということがあった。

23 RT / 69 Like に到達してる。

実はこの投稿を misskey.io から見るとちょっと面白いことになっている。

misskey には リアクション という機能があるのだが、これを mastodon 側から観測すると Like に丸められてしまうのだ*1

このことは以下のページでも解説されている。

絵文字リアクション - ActivityPubまとめwiki

mastodon にもリアクションに使われた絵文字の情報自体は飛んできているので、それを適切にハンドリングしてやれば mastodon 上でも絵文字を表示することができる。

当然のことながら、絵文字リアクションに対応した mastodon fork も存在する。

fedibird.com

ともあれ、mastodon の公式イメージを利用する限り、misskey.io から飛んできた絵文字リアクションを確認することはできないということがわかった。

mastodon を fork

mastodon のコードベースに自分で手をいれて絵文字リアクションを表示させるのは楽しそう、というモチベーションから、公式レポジトリを fork して自前のレポジトリを作った。

https://github.com/genya0407/mastodon

upstream への追従を楽に実施するために、以下のようなポリシーで更新を行っている。

  • upstream の v4.2.7 から trunk というブランチを切り、独自の修正はそこにマージしていく
  • リリースしたくなったら trunk から v4.2.7-genya0407-0 のようなタグを切り、docker image をビルドしてデプロイ
  • upstream に新しいタグが生えたら trunk にマージし、新しくタグを切ってビルド & デプロイ

いまのところは、後述のスパムフィルターと絵文字リアクションの表示機能ぐらいしか差分がないため、upstream への追従も難なく行えている。 メジャーバージョンの更新時など、大きな差分が入るタイミングでコンフリクトが発生し、頓挫する可能性もあるが、それはその時考えればいいと楽観的に考えている。

スパム騒動

techcrunch.com

この記事に取り上げられている通り、2月の上旬頃から ActivityPub 界ではスパムが問題となっていた*2。 私のアカウントにも、謎の mastodon サーバーに作られた謎のアカウントから謎のメンションが一日数件ほど寄せられる事態となった。

ただのメンションではあるのだが、スマホの通知が鳴るのと、mastodon の通知欄がそれで埋まってしまうのも嫌だったので、何らかの対策を打つ必要があると考えていたところ、 rosylilly 氏によって対策パッチが https://best-friends.chat/ に導入されたことを知った*3

これを上述の fork に取り込んだところ、スパムが一通も届かなくなったことを確認した。

その後、スパムを弾いたときにログに出す仕組みを独自に実装し、たまにサーバーのログを眺めて楽しんだりしている。

スパマーはカス!と思う一方で、いにしえの Unix 版のエピソードを追体験しているようで面白かった。

2001年8月25日 - 2ちゃんねる閉鎖の危機 - ニコニコ動画

絵文字リアクションの表示

misskey からの絵文字リアクションが単なる Like に見えてしまうという話はしたが、これを mastodon からも閲覧できるように修正を加えた。

リアクションを「つける」実装はめんどくさそうなのと、自分もそれを求めているわけでもない*4ので割愛した。 超絶雑な実装だが、これによって自鯖から misskey リアクションが閲覧できるようになった。

まとめ

2023年7月ごろから mastodon サーバーを自前で運用して利用している。 今年に入ってからレポジトリを fork して、スパムフィルターや絵文字リアクションの表示機能など、独自の差分を入れて楽しんでいる。 他のサーバー管理者からパッチを拝借したり、コメントしたり、自分で実装した機能が動いたりするのは楽しい。

*1:右端の uwa_xtu... というやつはたぶん、misskey.io 以外から飛んできたカスタム絵文字リアクションの画像がリンク切れしたものと思われる

*2:スパムの発信源等については 2024年2月スパム対処顛末記+α | ドクセル が詳しい

*3:https://best-friends.chat/@rosylilly/111952483410053586

*4:人がつけたリアクションが見れればいい

2024年1月を振り返る

本年もよろしくお願いいたします。

初詣

柴又帝釈天 に初詣に行った。ちなみに帝釈天は寺なので、厳密には初詣ではないです。

そのあと 水元公園 まで歩いて、水元公園を一周した。寒いし距離も長いし死ぬかと思った。綺麗だし景色は良かった。

さんぽ神 at 高井戸周辺

ドロッセルマイヤーさんのさんぽ神アプリ

ドロッセルマイヤーさんのさんぽ神アプリ

  • Kazushi Ikezawa
  • エンターテインメント
  • ¥330

apps.apple.com

↑を使って散歩をした。出発点は高井戸にある自宅。指示に従って一日中歩いた。

蘆花恒春園 が良かったです。あと近所の井戸を発見した。

自転車

メンテナンスのために Y's Road 府中多摩川店 まで自転車を漕いだ。

帰りに多摩川河川敷でどんど焼きの準備を目撃した。
第9回こまえ初春まつり~どんど焼き~ 

写真だと伝わらないかもしれないが、唐突に謎の物体が現れてワクワク感があった。

散歩 at 代々木緑道

town.mec-h.com

新宿駅の近くを散策した後、新宿中央公園の近くから笹塚駅まで続く「代々木緑道」を歩いた。特別面白みのある緑道というわけでもなかったが、、、

長野県は小諸市に旅行した

小諸で働いている知人に誘われて一泊二日の旅行に行った。

レンタカーを借りて、小諸蒸留所 や BOOKS & CAFE NABO にいったり、雪山を登ったり、そばを食べたりした。

 

確定申告をした

確定申告というか還付申告です。寄付金が思った以上に戻ってきた。

e-Tax は初回は面倒だが、2回目からは楽と言われる所以がわかった。様々なやり方があるなかで、自分にとってベストな方法を見つければ楽、ということだと思う。

グノーシア

store-jp.nintendo.com

前から気になっていた「グノーシア」をクリアした。

グノーシアは、人狼を繰り返しプレイすることにより、登場人物の秘密が一つ一つ明らかになるというゲーム。

人狼をやったことは一切なかったのだが、とても楽しめた。このゲームを通じて人狼のルールを学ぶことができた。初心者の人は、対人戦をやるよりもこういう対CPU戦をたくさんやることで学習したほうがいいのかもと思ったりした。

たぶん長くとも10時間ぐらいでクリアできると思う。濃密なプレイ体験ができてよかった。

読んだ本

雑感

年明けから調子が悪かったはずなのに、振り返ってみると妙に活動的でビビる

 

2023年を振り返る

ここ数年を振り返る

今月を振り返るを振り返る

読んだ本

やったゲーム

アクティビティ

趣味プログラミング

その他

  • 引っ越し
    • 聖蹟桜ヶ丘 → 高井戸
    • 都心が近くなったのと、駅まで近くなったので色々と便利にはなった
  •  仕事の変化
    • (去年まで)実装マン → 基盤マン → 実装しつつ基盤するマン
      • 全体的に技術的なチャンレンジを仕事を通じて実践できた年だった
    • 毎日出社している
  • SNS
  • 眠剤
    • ほぼ完全に脱したと言っても過言ではない
    • 後ろでお団子が作れるぐらい伸びた
  • カメラ
    • デジカメを買ったので写真を撮っていきたい

2023年の雑感

2022年を総括すると、地味ではあるが良い変化を得られた年だった、と言えると思う。2023年もそのような年でありますように。 

これは 2022年を振り返る からの引用だが、変化という観点でいうと今年も小さな変化を楽しむことができた年だったと思う。昨年以前からの積み重ねの上で、様々なものにおいてチャンレンジを行い、それが成果として現れた年だったとも言える。今年は、私個人の人生という観点では、総じて様々なものが良い意味で安定していた。

2024年について

安定を保ちつつ、チャンスがあれば様々なことに挑戦していきたい。それができると思えるようになったという点で、2023年はとても良い一年だった。2024年も良い一年でありますように。

2023年12月を振り返る

カメラを買った

My new gear...

RICOH GR III / GR IIIx / デジタルカメラ / 製品 | RICOH IMAGING

カメラを買えなかったを書いてから2ヶ月ぐらい経ってやっとカメラが届いた。

写真を撮った

iPhone のカメラの偉大さを知る日々という話もある。

カメラに関連したソフトウェアをいくつか

① カメラからパソコンに画像を同期する CLI ツール。

スマホアプリはリコー公式で出てるっぽいんだけどパソコン用のがなさそうなので自分で作った。

GitHub - genya0407/grsync: Unofficial image downloader for RICOH GR III

python2 製の化石みたいなスクリプトが出回ってるのを見ると一定の需要はあるのだと思う。 ただ、↑は win 対応させてないので、実際に使われるのかというとなあ...というところ。

リコーGRの写真をパソコン(Windows 10/11とmacOS)にWi-Fiで転送する方法 | ZAKAZUKURI

② 画像を 10MB 以下になるようにいい感じにリサイズする CLI ツール

はてなブログとか mastodon に画像をアップするとき、ファイルサイズが10MBより大きいとアップロードできないので、いい感じにリサイズしてくれるツールを作った。

GitHub - genya0407/resizer

色々と解像度を変えて画像を変換して、10MB に収まる適切な画像サイズを二分探索するという富豪的な作りになっている。 いい感じにギリギリを攻めたサイズにしてくれるので便利ではある。

たのしい。カメラそのものよりも楽しんでいる

善福寺公園に行った

吉祥寺の近くにある公園に行った。

善福寺公園|公園へ行こう!

帰りは家まで歩いて返った。

アドベントカレンダーの記事書いた

新しい展開として、作った gem を会社の org に置いて会社のブログでアドベントカレンダーの記事を書くということをやってみた。

engineering.dena.com

割と読まれたみたいで良かったです。

Rails アプリを最適化した

会社で Rails アプリをガッツリ最適化しようということで、ガッツリ最適化した。 思わぬところに信じられない最適化の余地があったりするので、やってみると案外成果は出るものかもしれんと思いました。

大掃除した

だいたい2人日ぐらい見ておかないと大掃除の完遂は難しいということがわかった。

読んだ本

今月のまとめ