5月の開発記録 (2025)

6/1に技術書典18があったこともあって、すっかり月末に書き忘れていたatsushienoです。いやそんな言うほど31日にやることはなかったのですが、時差ボケと天気痛で完全にやられていたり…

MIDI 2.0アーキテクチャガイドブック@技術書典18

5月は前回書いたMIDI 2.0アーキテクチャガイドブックの執筆で最初の1週間を費やしました。これ自体はもう書いたから書くことがないです。

MIDI 2.0について入門的に読める本として用意したこともあって、技術書典18オフライン当日はこれとUMP本とMIDI-CI本の位置付けを明確にして紹介・販売できたので、良い効果があったと思います。どちらかというとMIDI-CI本の特異ぶりが際立ったような気もしなくはないですが…(!?)

今回ブースでお客さんとやり取りしていた範囲では、MIDI 1.0アプリの開発もやってみたけどよくわからなかった、MIDI 1.0は仕様を勉強したけどアプリ開発でやりたかったこととあんまし関係なかった…みたいな感じで、MIDI 1.0での体験がどうだったかをいろいろ教えてもらえたので(どれも「わかる〜」という感じでした)、MIDI 2.0の学習パスの設計が必要な人に指針を示せるようになればと思います。幸い今回の新刊ではクライアントアプリ開発、デバイス開発、オーディオプラグイン開発といった諸方面でMIDI 2.0のユースケースをいろいろ示せているはずなので、それぞれの目的に沿ったコーディングガイドがあれば良いということになるといえるでしょう。

あとこれは完全に失念していたのですが、事前の既刊送付以外はほぼ事前準備なしで参加していたので「これいくらですか?」と訊かれるまで何も価格表示するものがない、というやらかしがありました…さすがに準備しなさすぎた()

package publication migration to sonatype portal

今月はほとんどまともなコード開発作業が出来ていないのですが、最大の原因はMaven Centralにほぼ唯一的にOSSパッケージを発行する出口となっているSonatype PortalがOSSRHを6月に閉鎖するという問題のせいです。われわれは強制的にGradle公式のmaven-publishプラグインがサポートするOSSRHから、非標準で公式サポートが何も存在しないPortal publisher APIに移行させられることになっていて、その移行コストは全面的にパッケージ発行者が負うことになっています。

Sonatype Nexusでのパッケージ発行については去年KotlinFestのセッションで話した内容と重複する部分が多いので、ここで繰り返すことはありません。ただKotlin/multiplatform-library-templateは去年いちど抜本的な修正が加えられた結果、シンプルになったけどきちんとパッケージ発行まで通らなくなってしまったので、修正を適用しないとパッケージ発行はできません。やはりjcenterレベルのものが出て健全な競争が発生してSonatypeがまともなDXを提供するようになってこないとKotlinのエコシステムはそうそう成長しなさそう…

このマイグレーション作業でさらに時間が溶けました。compose-audio-controls, aap-core, libremidi-panama, ktmidi, mugene-ng, missing-dotと、それぞれパッケージ発行設定が(リポジトリとプロジェクトの性格によって)異なるので、全部シンプルに置き換えられるわけではない感じです。

KotlinConf 2025

今年は割とスケジュール的に行けそうだったので、ふらっとコペンハーゲンのKotlinConfに参加してきました。

kotlinconf.com

たまたま…というわけでもないですがJetBrainsのKotlinチームの知人がいて、現地で1人で何も出来ずに過ごすみたいなことにはならないだろう…という公算ありきです。行ってみたら日本人クラスタみたいなものもあったので、そういう意味では困ることはありませんでした。

Kotlinについてはそんなに自分のほうに強いコミットメントがなくて、展示ブースで開発者とダイレクトにやり取りできるといってもそんなに相談することが無かったのですが、Kotlinにフルコミットしている人にはいい機会が提供されているな、と思いました。わたしの場合は、Amperの様子を訊きに行ったりはしていましたが、そもそもカスタムタスク設計機構がこれからという話を聞いて、この分だとGradleの置き換えには(まだ?)ならないだろうなあという感想を得て帰ってきました。ちゃんとパンドラの箱を開けないとGradleの問題を克服できているとは言えないわけで…

そういうのでなければ、テクニカルセッションを聴き倒すことになると思いますが、文法設計でもツールチェインでもディープな内容のセッションが多く、その意味での満足度は非常に高かったです。2024年の動画は1ヶ月以内くらいに出ていたようなので、今年のセッションも近いうちに動画が出はじめると思います。ADCのセッション動画は忘れた頃にしか出てこないのでほとんど紹介しませんが、KotlinConfのほうはいろいろblueskyのほうで言及すると思います。

あとKotlin FoundationがブースでLT大会を企画していたのですが応募が多くなかったので、ちょろっと飛び込んでktmidiやcompose-audio-controlsやmissing-dotの話を10分くらいしてきました(時間は全然足りなかった…)。大した内容ではありませんがスライドは公開してあります:

speakerdeck.com

コペンハーゲンも初めてだったのですが、6月もちょっとカンファレンスで未踏の地に足を運ぶ予定で、今年は妙に外に飛び出す用事が多くて行く前からHPとMPの蓄えが懸念事項です(?)