2025年振り返り; 仕事・旅行・イベント・OSS開発など
Overview
キャリア的にはそんなに変化はなかった。引き続きHugging Faceで働いている。今までメインで進めていたプロジェクトが打ち切りになり別チームに入った。
今年もテックカンファレンスドリブンの旅行をいくつかした。海外はフィリピン(マニラ)、アメリカ、チェコ、台湾。国内だと今年はPyCon JPで広島、PyCon mini Shizuokaで静岡、PyCon mini 東海で名古屋。会社の用事でパリにも行った。
何度かイベントで発表する機会があった。今まで同様技術的な話もしたが、ちょっとソフトスキル的な内容によったかもしれない。
OSS開発は引き続き同じような状況。Slidevを使い始めたのでそれ関連の開発が少し増えた。
年末の1ヶ月で、別々に知り合った別の国の友人がトータル5名日本を訪れて飲みにいった。訪日人気のラッシュなのかな。
仕事
引き続きHugging Face所属。 GradioチームでGradio-Liteを作っていたが、プロジェクトが打ち切りになった。↑でリンクしたGradio-Liteのリポジトリは、メインのGradioリポジトリから分離されてpublic archiveになったもの。 弊社では実験フェーズのプロジェクトをしばらくやってみてトラクションが十分ではなかったら投資対効果の観点から打ち切られることがよくある。残念ではあるがこういうこともある。 次はTransformers.jsを手伝っている。
イベント・旅行
詳細は長くなったので別記事。
相変わらずテックカンファレンス・イベントにかこつけて色々な場所に行った:
- PyCon mini Shizuoka/静岡
- PyCon APAC 2025/マニラ
- 初マニラ、初フィリピン。
- Hugging Face Gradio Team Retreat/パリ
- このパリから以下のサンフランシスコまでは一連の旅行。複数の要件がたまたま1ヶ月程度に収まったので帰国せずに周遊した。
- シアトル
- アメリカ周遊のスタート。友人に会うためにシアトルへ。
- PyCon US 2025/ピッツバーグ
- シカゴ
- PyConの友人グループの車旅に入れてもらってシカゴへ。
- マイアミ
- Snowflake Summitまでの時間潰しでマイアミへ。
- Snowflake Summit/サンフランシスコ
- Streamlitで色々やっている関係で招待してもらった。
- EuroPython 2025/プラハ、チェコ
- 初チェコ。
- PyCon TW 2025/台北
- 2年ぶりのPyCon TW。PyCon TWの人たちとはどこかで会うたびに飲んでいる。
- PyCon JP 2025/広島
- PyCon JP初の東京以外での開催。
- 万博/大阪
- PyCon mini 東海/名古屋
- (ほぼ)初名古屋。オンラインで見かけるCV系のすごい人たちが結構東海地方にいる。
また、イベントへの参加や発表もいくつか:
- 99th Machine Learning 15minutes!, W3C Japan 勉強会: In-browser AI and its standardization
- 去年参加した厦門のFEDAYでW3Cの人と知り合い、そのつながりを通じてW3C Japanの勉強会で話す機会をもらった。ML15も同じ資料で発表。
- Tokyo Python Meetup: You share, you gain: OSS, community, and reward
- 東京のイベントだけど主催者のBenとなぜかEuroPythonで初めて会って誘ってもらった。
- OSS貢献やっていきましょうみたいな内容を個人の経験を交えて話した。
- 英語がベースで日本語も通じるかもくらいのイベント。参加者層を見るに、同じ東京に住んでいてPythonなどの共通の話題があっても、言語のせいで交われないコミュニティがあるような気がする。
- Mistral AI Meetup in Tokyo
- Hugging Faceの元同僚が今はMistralにいて、東京に行くからせっかくなのでMeetupをやりたいとのことで、手伝った。おそらく彼のネットワークの中で日本語が話せる同業界の人ということで声をかけてもらったと思うが、イベントの主催はやったことがなかったため、経験のある知人にさらにお願いして手伝ってもらいながら進めた。
- 主催者サイドの日本語話者・非日本語話者比率が半々で、特にそれぞれ東京のAIコミュニティに顔が広い人がいてくれたので、情報がリーチしたのも大体半々くらいだったのではと思う。日本語・英語両方が聞こえてくるイベントになった(発表は全て英語になってしまった)。Tokyo Python Meetupでも思ったが、話す言語が違うせいで交わらない同業界のテックコミュニティが同じ東京の中にある。
- LeWagon Workshop: “Open Source 101: practice your first OSS contribution”
- LinkedInで連絡をもらって、LeWagonというプログラミングスクール(?)で何か発表を、ということで、OSS貢献を始めてみようという内容でワークショップをやった。
- 全くの偶然だが、なんかフランスの企業と縁がある。Hugging Face, LeWagon, Mistral… (MistralはHFの元同僚の転職先なので自然ではあるが)
- (PyCon APAC 2025|PyCon US 2025|EuroPython & PHPers Day 2025)参加報告会
- 海外のPyConに参加した人で参加報告会という形のイベントをやる流れがちょっと前にできたようで、自分が参加したものについて発表者or運営として誘っていただいた。
- PyCon APAC 2025 参加報告会
- PyCon US 2025 参加報告会: 登壇しなくてもPyCon US楽しめたよ: SummitとSprintの話
- EuroPython & PHPers Day 2025 参加報告会: トーク2日前に繰り上げ当選した話
Tokyo Python Meetupで話したYou share, you gain: OSS, community, and rewardや、LeWagon Workshopでやった”Open Source 101: practice your first OSS contribution”というワークショップは個人的にチャレンジだった。 技術的な内容を英語で発表するのは以前からやっていたし、そういう発表だと普段から慣れている語彙ばかりだし、話す内容に集中できるので割とできる。一方、Tokyo Python Meetupの発表はストーリーテリングみたいな要素もありつつ最終的に聞いた人をOSS貢献に対してモチベートしたい発表だったし、LeWagonのワークショップは90分でハンズオンも交えた形式で進行して参加者に学びを持ち帰ってもらう必要がある。母語でも簡単ではない気がするし、英語でやるのはさらに難しい。とりあえず頑張ったと思う。
OSS
個人的にホストしている or 主導していたOSSプロジェクトはこんな感じ。
継続:
停止:
新規:
ご寄付
今年も複数の法人、個人からご寄付をいただきました。どうもありがとうございます。 下記のチャンネルからご寄付を受け付けております。
今年はDatabutton社からのスポンサーが終わり(彼らのプロダクトがStreamlitベースではなくなったので自然な決定。これまでスポンサーいただきどうもありがとうございました。)、新たにLambdaTestが彼らのOSS支援プログラムを通してスポンサーになってくれました。
また全員をここでメンションできなくて心苦しいのですが、昨年から引き続き数多くの法人・個人の方々から多大なご寄付をいただいております。どうもありがとうございます。
スポンサーをお断りした話
ある会社からスポンサーのお申し出をいただいたものの、これは条件が折り合わず断念した。とあるリポジトリのREADMEのトップに広告をつけるようお願いされたものの、実際にプレビューを確認したところ、既存のスポンサーの方々との公平性を明らかに損なうのと、そもそもREADMEとしてユーザへの情報提供の邪魔になるという理由からお断りした。こういった判断をするのは初めてだったが、こういうこともあるんだなと思うなどした。
GMO Flatt Security オープンソース開発者応援プログラム
XでGMO Flatt Securityさんのオープンソース開発者応援プログラムの広告が流れてきたので、応募した。どのみち無料なのでOSS開発者の方は応募してみると良いと思う。
採択していただいた。
GMOオープンソース開発者応援プログラムによる新規支援を開始しました!セキュリティ診断AIエージェント・Takumi byGMOの無料提供を通じてOSSの堅牢化を支援します。
— GMO Flatt Security株式会社 (@flatt_security) October 29, 2025
▼ 支援するOSShttps://t.co/2CZNplqhs9https://t.co/tARUEor1no@whitphx
▼ プログラム応募はこちらhttps://t.co/6iTDztr7wG pic.twitter.com/yGSEdnJ92K
Awesome Emacs Keymap
6年経つのか。 正直自分が使う機能はもうできていて、自分で使っていく分には特に新しく何かをする必要はないのだが、bug reportやfeature requestへの対応をちびちび続けている。OSS盆栽。 とはいえ1年で見ると結構いろいろやった。今年マージしたPRは154件。 新コマンドの追加・特定環境への対応・バグ修正・リリースフロー改善など。
Stlite
引き続きやっている。
Cogniteが自社のプラットフォーム上でStreamlitアプリを作れる機能を提供しており、それにStliteを使っている。 当初はforkして彼ら独自の拡張をしていたようだが、それらをupstreamに取り込むPRを送ってくれた。一般的なユースケースで価値のある拡張だったのでありがたく取り込んだ。 最初はDiscussionで方向性のすり合わせをし、その後PRを受け取った。
- https://github.com/whitphx/stlite/pull/1326
- https://github.com/whitphx/stlite/pull/1338
- https://github.com/whitphx/stlite/pull/1345
- https://github.com/whitphx/stlite/pull/1355
彼らとしてもこういった機能はforkで維持するよりupstreamに入れてしまった方が楽だろう。この辺はOSSエコシステムの面白い点の一つだと思う。オープンにすることで自由にforkできて作者の思いもよらないところで機能拡張に時間と労働力の投下が起きる。そしてそれがupstreamに還元される。そしてそれらは、今回のケースでは、Cogniteにとってまったく経済合理的な判断として行われたように見えるし、それが結果としてupstreamにも価値をもたらしている。
ところでStliteとStreamlitにも同様の関係がある。Stliteは内部でforkして少し手直ししたStreamlitを使っていて、このforkの維持にもコストがかかるため、差分は極力upstreamにPRとして送って取り込んでもらえるようにしている。それらは結果的に現状は軽微なバグや古い設計の修正にとどまっているものの、Streamlit自体に少しは貢献しているのは間違いない。 まあ究極的には全部取り込んでもらえれば最高なのだが、現状そうもなっていない。
Streamlit-WebRTC
引き続きやっている…が今年はあまり動きがなかった。 盆栽系タスクをちびちびやっていた感じ。 バージョニングフローやリリースフローをモダン化したり、やっとドキュメントページを作ったり。
Slidev関連
去年末、廈門(中国)のフロントエンドのイベントでSlidev作者が登壇していて、その資料がまさにSlidevでできていてとてもカッコよかったのにインスパイアされ、発表ツールをSlidevに切り替えた。 とはいえ自分がスライドでよく使う視覚表現を全てカバーしてはいなかったので、そこを埋めるためにSlidevのアドオンを自作し始めたのが上記の新規3件。2つは純粋なSlidevアドオン、1つは単体でも動作するプレゼンツールとして作っているが、Slidevに埋め込めるようになっているし、現状の自分のメインの使い方はそれ。
Slidev でこんなスライドを作れるやつを作っていますhttps://t.co/ccUdVPH5UL pic.twitter.com/JrR0hEmcDV
— yuichiro (@whitphx_ja) December 5, 2025
Slidev、特にソフトウェア技術者向けの発表に使える機能が豊富で気に入っているものの、
— yuichiro (@whitphx_ja) December 5, 2025
複雑な図を書いたりアニメーションさせたりが辛いのでそこを埋める拡張を作っていますhttps://t.co/v1tO3Evtlm https://t.co/RUvjHgiiI2
@Slidevjs is really fantastic to create impressive tech slides, but I still have feelings for WYSIWYG editing to create animated figures.
— Yuichiro (@whitphx) August 28, 2025
So I started to develop what fills the gap.
Anipres can be embedded in Slidev presentations seamlessly and gives such missing pieces. pic.twitter.com/TrsYEaPq4l
For arrow-lovers using @Slidevjs including me, I created slidev-addon-fancy-arrow 💘
— Yuichiro (@whitphx) August 12, 2025
It's something like arrow-shaped `v-mark`,
with more features than the built-in <Arrow> such as
* Hand-drawn style
* Snapping to other elements
* Animation
* Contents overlay pic.twitter.com/NvooFbDPiC
これらの実装に必要でSlidevやVitestにちょっとパッチを送ったりした。
実際これらは全て自分の発表資料で使って、上述したようなイベントの発表機会で実戦投入している。 現状、FancyArrowが一番starが多くてポジティブな意見もいただいている。Anipresはまだ自分以外が使える状態ではない(ドキュメント不足、貧弱なUI、etc)が、自分にとっては必要なツールなので今後も開発するし、なるべく早く他の人にも使ってもらえるようにしたい。
買ってよかったもの
Able Carry Max EDC
この記事で書いた通り、今のところ、調べた限りでは、自分の用途に最も合うバックパック。容量、デザイン、使い勝手のバランスが良い。 この記事で書いた通り、外付けボトルホルダーと自立性向上のためのクリップを追加して運用中。
ちょっと重いがそれ以外はほぼベスト。毎日使っている。
W(ダブリュー)のワイングラス
https://wineac.jp/?mode=cate&cbid=2033180&csid=33
薄い、軽い、丈夫。
- 店頭でリーデルや、なんかもっと高い1万円とかするグラスとかと比べてみたがこれを選んだ。薄い、軽い。
- 以前は木村硝子のピッコロを使っていたが、それより割れる頻度が格段に減った。たまにグラスを倒してしまってピッコロなら絶対割れたと思うような時に無事だったことが何度もある。値段が高くてもその分割れにくければ元は取れているのでは。割れる時は割れるが。
Drinkmateの炭酸水メーカー
元々Drinkmateの炭酸水メーカーを使っていたが壊れたので買い替えた。
なるべく強い炭酸水を作れて、なるべくメンテナンス頻度を下げられる製品が欲しかった。
マイベストなどのランキングではSodaStreamが上位で、炭酸強度の面でも上らしいが、実際にSodaStream TERRA(上記サイトで1位)を買ってみたら全然弱かった。もしかしたら何かのセンサーで定量的に炭酸ガス量を測定したらそうなるのかもしれないが、少なくとも自分の感覚ではDrinkmateの方が圧倒的に強い。元々使っていた古いDrinkmateでもSodaStreamより強い。というかSodaStreamが弱すぎる。コンビニの炭酸水と張り合えないと買う意味がない。
SodaStreamは返金保証キャンペーンで返品して、最終的にDrinkmate 650を買って運用中。満足している。
炭酸の調節機能があるが常に最強の設定。 どうせ調節しないので調節機能のない640と迷ったが、640の強度が650の最強相当か情報がなかったので一応650にした。
