2021年の振り返り

Rubyist近況 Advent Calendarに触発されたので、私もそういうものを書いてみようと思う。 備忘録的な意味もありそうですし。

なお、記憶が曖昧なので指摘を受け次第、自身の記憶および記事に対して加筆修正を行っている。

更新履歴

2022/01/03 10:50
VTuberに関する記載を追加
2022/01/03 10:58
NKODICEはクリアしてなかったので訂正
2022/01/03 13:10
ゲームの感想にYsについての記載を追加、読み上げソフトに関する記載を追加

仕事

現在の仕事に就いてから丸2年が経過した。ぼちぼち順調にやっている。今年は優秀な仲間との別れがあり戦力的に手痛かった一方、沢山の新しい仲間を迎える年だった。

新しい仲間には経験の浅いエンジニアも少なくなかったのだが、教育というのが久々であり、以前にやっていた時も全然上手く出来た試しがなかったので非常に苦労した。 とはいえ本当にプログラミングやったことないですレベルではない1ので、幾分か簡単ではあった。それでも現代のWebの構成技術が多くてきちんと教えたり道を作ってあげたりというのは難しい。だって私もよく分かっていない。そりゃ無理があるというものだ。

ただ、そろそろプログラマー2を仕事にして7〜8年くらいになるので、あまりそういった泣き言も言っていられない感じがある。チームを見た行動が当たり前でないとおかしいはずで、上長との面談においても意識するよう助言があった。精進していきましょう。

ゲーム

あんまり集中して遊べなかった。ただでさえ積む一方なのに……。

FF2はコロナワクチンの副反応で横になっている時に買ってクリアした。中学生の頃に投げたっきり思うところがあったので、クリアできて満足。皇帝の名言を拝めて良かった。

ソフィーのアトリエDXは公式にネタバレを食らったのでさっさとやるべきであった。そういえば無印版の後日談DLCもやってないし、ソフィー全然プレイしてないのでは。 ソフィー2は予約してしまったが、果たしてプレイするのだろうか。

12月頭にCeVIO AI フィーちゃんを買うついでに (DLsiteの割引適用条件を満たすために) Ys I&II Chroniclesも買った。こちらはIのほうだけノーマルモードでクリア。古いゲームに言うのはナンセンスだが、ボス戦が単調な割にシビアすぎないだろうか。ダルク・ファクトが倒せなくて5〜6時間くらいずっとタイトル画面と戦闘を行き来していた気がする。

クリアしたゲーム

  • FINAL FANTASY 2 ピクセルリマスター
  • Ys I Chronicles (PC版)

買ったけどクリアしていないゲーム

  • サージュ・コンチェルトDX
  • アトリエ 〜不思議の錬金術士 トリロジー〜 DX
  • スーパーマリオ 3Dコレクション
  • Fit Boxing 2
  • Cookie Clicker (Steam版)
  • NKODICE
  • ポケットモンスター ブリリアントダイヤモンド
  • Ys II Chronicles (PC版)

※ お前はNKODICEの実績をまともに回収していないという指摘があったため、初稿から訂正している。

プログラミング

mikutter

今年の前半はプラグインの依存関係の整理をやっていた。何のためかというと、当時mikutterのGUIフロントエンドをGTK以外にできないかと模索していて、それにあたってGTKと不必要に密結合しているプラグインがあると、動くものも動かなくなってしまい都合が悪かったからだった。 この時に書いたものでQt5プラグインがある。C拡張gemを内包しているトンデモプラグインだが、依存関係を整理したおかげでMastodon系の機能がちょっとだけ動く。

年の後半では、放置されていたGTK3対応を引き取って進めていた。Debianのmikutterパッケージメンテナの方がぼやいているのを見かけて、そろそろヤバいかなと思ったのがきっかけ。 ある程度コアの部分はちょっと手直せば動きそうな一方、ちゃんと動くレベルに持っていくにはruby-gnomeへのパッチを含めて対応が必要でけっこう時間を取られてしまった。

また、世間では当たり前に言われている事であり経験則として承知していた事だが、こういうライブラリ更新のような作業をする時はリファクタリングをしてはいけないという事の意味を改めて痛感した。何の変更によって問題が発生したのか、あるいはライブラリ側の仕様変更なのかといったようなトラブルの切り分けに肌感数倍の時間がかかったと思う。 他にも、長期的な作業の記録はいつでも閲覧できる所にあったほうが良いな、gitのコミットメッセージはもっと情報量あっても良いな、など色々考えさせられた。

何とかなったので、これらの成果物は2021/12/25にmikutter 5.0としてリリースされている。 また、筒井さんのブログにはこの件について連載形式でより詳しい記録がある。今年mikutterに何があったのか知りたい人は、そちらも読んでみることをお勧めしたい。

Yukari

今年はYukari 3.0.6, 3.0.7の2バージョンをリリースした。今年は自分のための変更は一切無く、使い続けてくれている友人3のためのちょっとしたバグ修正と機能追加があった。

bintrayのサービス終了の被害が直撃しており、ビルドすらままならない状況になっている。 何とかyukari-exvoiceのバイナリビルドのデプロイ先をbintrayからGitHub Packagesに変更したため、次のbugfixのタイミングで参照を書き換えようと思っている。いつになるかは分からない。

Tissue

今年はタグミュート機能検索クエリ言語を実装した。

検索クエリ言語にはANTLRを使用している。この辺の知識は全然持っておらず、理解するのに時間がかかった。書いた今ではだいぶ忘れてしまっているので、メンテできるか不安がある。

年末滑り込みで年間で最も使ったオカズのランキングを出す機能も入れた。これは単に自分が見てみたかっただけ。

また、PHP 7.4への更新、PostgreSQL 14への更新といった雑用もやった。PHPは早めに8.0以上に上げたいところだが、いつになるやら。

来年はREST APIの公開をやろうと思っている。初期段階の実装はとっくの昔に終わっているのだが、リリースができていない。

自分としてはこのサービスをSNSだとは思っていないので、SNSではない方向で機能を考えていけたらと思う。SNSライクなナイトライフログサービスは後発の競合がいるので、そちらに上手くやってほしい。というか既に上手くやっていらっしゃるので、沢山ユーザーいそう……。

dtvault

https://github.com/shibafu528/dtvault

Rust, Go, TypeScript, gRPC, GraphQLなど滅茶苦茶な構成で積みTSを管理するシステムを作ろうとした。この辺をまとめて勉強することが狙いだった。

結局サーバーサイドの大半を占めるRustコードにおいて、asyncの概念やtonic等のライブラリの事情を考慮したプログラムを書くのが非常に大変なので疲れて投げてしまった。本質として難しいものというのは分かるが、どうにかならないものか。

Cocotodon

https://github.com/shibafu528/Cocotodon

macOS向けのMastodonクライアントも作った。本当に自分はいつまでもツイクラみたいなものばかり書いていて、懲りないな飽きないなと思う。

UIは懐かしのP3: PeraPeraPrvやYoruFukurouあたりの影響を受けており、1行表示が基本となっている。今ではこういうクライアントはすっかり見なくなってしまった。Mastodonでクライアントを書く人は自分より多少若いのか、本当にこのパターンのUIは見ない。 1つの投稿に含まれる情報量が多い時代であり、コンテンツは短文だけではないので分からないこともないが、ちょっと寂しい。

技術的には令和なのにObjective-Cを採用している。これはREADME.mdにも書いているが、Swiftは確実に便利であることが見えている一方、Objective-Cは独特なものを多く持っていて、触るのが面白そうだと思ったから。

実際やってみて、古典的なオブジェクト指向プログラミングの趣きを感じる部分がありながら、Blocksのような現代的な仕組みも持っているとか、あるいはメソッドの名付けの独特さも書いてみると意味が読み取れるのが面白かったりと、悪くはなかった。この体験は悪く言うと似通っている現代言語では出来なさそうだ。

なお、仕事でやりたいとは思わないので、Objective-Cの仕事の話は振らないでいただきたい。

他の趣味

VTuber関連

最近はVTuberの配信を追う体力が無い。名取さなの配信は今でもたまに見ている。

冬に入ってからNIJISANJI ENのライバーの切り抜きを見ることが増えた。あいつら何を言っているんだ……?英語が分からないので字幕で読んで何者たちなんだとビビったり、話の面白さで笑ったりしている。フィナーナ竜宮とか。英語が聞き取れたらもっと面白いんだろうな。

読み上げソフト関連

最近はボイロ実況もソフトウェアトーク実況とか言ったりするらしい。なんかこの流れ数年前のボカロ界隈でも何かあったりなかったりしたような……。

今年はCeVIO AI 小春六花、CeVIO AI さとうささら トークボイス、CeVIO AI フィーちゃん、A.I.VOICE 結月ゆかり、A.I.VOICE 紲星あかりをお迎えした。

CeVIO AIに関しては、この3ライブラリはちゃんと個性が付いていて良いなぁという印象。普段聞くにはこはるりの声が好き。フィーちゃんの声は疲れた身体に良く効く。

A.I.VOICEに関しては、まだ全然触れていない。いずれも期待通り4の声かなという感じだけど、スタイル値を入れると結構変わるらしいと聞いている。2ライブラリ (結月雫、紲星蕾もあるので4ライブラリ?) 集まったのでフュージョンとかも遊んでみなければ。

おわりに

コロナ禍の影響か、数年後に来そうな健康問題が先に来てしまったので、どうしたものかと思っている。2022年は健康度を向上させることをプログラミングより優先したほうが良いのかもしれない。


脚注

1

かつてプログラミングやったこと無いです、パソコンもそんなに触ったこと無いですレベルの人の教育にアサインされたことがあるので、それよりは遥かに楽。

2

自分のことをソフトウェアエンジニアとかシステムエンジニアとか言いたくない。

3

申し訳ないがモチベーションが無く、友人から直接指摘されるかGitHubのissueが書かれた時しか問題を認知していない。Twitter経由での全てのバグ報告は目を通せていない。

4

変わらないのは良いことか悪いことか。キャラ声って印象が固定されちゃうので変わらないのが良いのかも。

コメント

このブログの人気の投稿

診断メーカービューアの今後について

ポインティングデバイスに悩む

Mastodon v3.2.0 アップデートメモ (S3+CloudFront環境)