はい、始まりました。tsunagimefmの第164回です。
tsunagimefmは、IT勉強会コミュニティ繋がりの方々をゲストに迎えて雑談するポッドキャストです。
まずは、Xのハッシュタグについてお知らせです。
ハッシュタグはカタカナで、tsunagimefmです。投稿待ちでいます。
今回のゲストは、nagachikaさんです。それではまずは自己紹介をお願いします。
はい、よろしくお願いします。nagachikaと申します。
OSS活動としては、C-Rubyというプログラミング言語の開発者、コミッターをやっていまして、
特に安定版ブランチのメンテナーという仕事をしています。
それから、日々Rubyのコミットを読んで日記を書くという活動、
Rubyトランクチェンジというブログを書くという活動をしています。
はい、以上です。
はい、よろしくお願いします。
よろしくお願いします。
よろしくお願いします。
はい、今回はnagachikaさんをお迎えして、
nagachikaさんというとRubyという印象があるので、
Rubyのコミッターの活動だったりとか、Rubyのコミュニティとの関わりとかですね、
その辺りについてお話を伺っていこうかなと思っています。
はい、よろしくお願いします。
で、nagachikaさんと私の出会いの話をしたいなと思っているんですけど、
だいぶ時間を遡るんですが、
僕一方的に存じ上げていまして、最初。
で、覚えているかちょっと定かじゃないんですが、
2014年にFITSという福岡で開催されたイベントがあってですね、
そちらにnagachikaさんがパネルディスカッションのコーナーがあって、
そちらに出られていて、
僕は一参加者として拝見してまして、
こんな方がいるんだなと思って、
その時に多分最初じゃないかな、拝見した記憶があります。
はい、ありがとうございます。
何か覚えてます?
はい、覚えてます。
前職グループノーツで会社で働いていたんですけど、
前職の会長、元会長の佐々木久美子会長が、
このFITSの運営の主催というのかな、やられていたと思います。
それでお声掛けいただいて、
当時宇津良さんとか大山さんとかとパネルディスカッションをして、
オープンソース開発者ってどんなことをしているのかみたいな、
そんな話をしたような記憶がちょっとあります。
確かに確かに。
いや、懐かしいですね。
懐かしいですよね。
もう10年以上前ですね。
そうですね。
この時に一方的に中塚さんのことを私が知っていて、
その後、ちょっとだいぶ時間流れるんですけど、
福岡.LTというイベントを私が2018年に企画開催していて、
これ福岡の勉強会のコミュニティー、
すごいたくさん集めてLTしてやろうっていうイベントを企画をして、
その時にいろんなコミュニティー出てもらって、
その中の一つに中塚さんが登壇枠として参加してもらっていて、
そこで登壇をしてもらい、挨拶をしたっていう記憶があります。
これ覚えてます?
はい、覚えてます。
お声掛けいただいたのもこの時最初かなっていうのはなんとなく覚えています。
私はT-FUG福岡っていうTensorFlowのユーザーグループの福岡ブランチっていうのをやっていたので、
それの紹介ということで登壇したんですけれども、
他にも福岡.rpっていうのをやっていたので、
これは多分確か宇寅さんが発表されてたのかな。
ですね、確かそうですね。
この時LTの数は尋常じゃない本数あって、
今回こんなに勉強会あるんだなっていうのに本当に驚いた記憶がありますね。
最初言語系のドット何々っていう言語系の勉強会を最初集めるつもりで始めたんですよ、企画を。
そしたらうちも出たいみたいなところがいろいろ僕の方に連絡があり、
言語系だけじゃなくていろんな勉強会をごったにでやるみたいな雰囲気になってですね。
TensorFlowもそうですけど、フレームワークとか、
データモデリング、データ分析とかをやられているユーザーグループみたいなのもあって、
そんなのあったんだっていうのにその時初めてリーチして、
非常にいろんな人と交流できたいいイベントだったなっていう記憶があります。
これ2年ぐらいやってですね、1年目は我々福岡.phpのホストとしてやり、
2年目に福岡.goの方々にやっていただくみたいな形でやったんですよね。
2年間続けてやったんですけど非常に面白くてですね、
これは本当にいいイベントだったなと記憶しています。
ここでお会いをしてですね、またちょっと時間が流れるんですけど、
福岡ロビースト会議の04だったかな、
03か04に私が行って足を運んでですね、
お会いしたのがずいぶん前だったので時間が経っていて、
記憶が僕はうっすらなっていてですね、
その時に初めましてですっけっていうことを言っちゃったんです、僕が。
本当ですか、私覚えてないです。
っていうことを僕は言って、長塚さんが、いえ、あってますって言っていただいて、
それで謝ったんですよ。
覚えてたんだ、いえいえ、とんでもないです。
でも僕も結構そこを忘れがちなので、その時覚えてたっていうのはかなり自分としては優秀ですね。
ひら謝りしましたね。
いやいやいや、大丈夫です。
っていうのを覚えてますね。
そして去年ですね、福岡ロビースト会議05でパネルディスカッションに出してもらうっていう。
いや、今年ですね。
今年か。
2月なので、はい。
そっかそっか、今年か。去年はやってないんですね。
そうですね、1年ちょっとぐらいの期間なので。
そっかそっか、そうでした。
なんか急遽パネルディスカッションに呼ばれるという無茶ぶりがされていたのは、
宇津田さんと陣禄さんが当てられてる、つなぎメイフェインでも聞いていましたが、はい。
あの収録をしたタイミングで、もしかしたら出てもらうかもしれませんみたいなことを脱信を受けていて、
それは決まりですかって聞いたら、ちょっと当日までわからなくてみたいなことを言われて。
了解ですみたいな。
肩温めておいてくださいみたいな。
いや、本当に。
ひどいですよね。
頑張りますみたいな、頑丈した記憶があります。
はい、どうもありがとうございました。
いやいや、とんでもないですよ。
っていう感じですね。
それでちょっと前に開催された、ロード2SRE NEXTっていうイベントが各地で開催されてるんですけど、
それの福岡開催の時に長地派さんにお会いをして、
ポッドキャスト出てくださいねって改めて念押しのお願いをして、
リリース会議の時にも言ってたんですけど、このイベントの時にお願いをして、
いいですよってお返事いただいてたんで、今日迎えてる感じですね。
憧れのつなぎメイフェインなので、ぜひぜひお願いします。
憧れなんですか?
マッツも聞いている、つなぎメイフェイン。
っていうのは確か福岡ロビス島会議04の時かな。
その直前にマッツがつなぎメイフェインで生活発表会だというのを聞いたので、値段を変えましたっていうことを言っていて。
そうそうそう、それセッションの途中に言われてて本当にびっくりしたんですね。
僕会場にいたんで。
そうですよね。
震えてましたよ。
いや、あれはいい経験でしたね、僕は。
という感じで、長塚さんとお会いをして今日に至るんですけど、経歴的なところの話をちょっと伺いたいなと思ってまして、
最初にエンジニアになったきっかけみたいなところとかをちょっとお話ししていただきたいなと思ってます。
はい、私学生時代大学では卒業卒論の時は生物系の教室にいて遺伝学やってたんですけれども、
ただ私の同期はみんな大腸菌のバイオとかをやっていたんですけれども、私は実験やってなくて、
当時大腸菌のゲノムって全部解析されてたので、
そこからトランスファーRNAっていうタンパク質作るための部品があるんですけど、
大腸菌のDNAのどこにトランスファーRNAがあるんだろうっていうのを識別するものをニューラルネットワークで作ろうっていうのを卒論で書いてました。
なので一応大学研究の一環としてニューラルネットワークを書く、プログラムを書くっていうことをやっていたので、
プログラミングは一応大学生の時にもやっていました。
なんですけど、職業エンジニアとしては院に行かないで就職しようって決めたときに何にしようかなっていうところで、
プログラム書いてたからエンジニアになろうかなっていうので就職したっていうすごいふんわりした時ですけど。
大学の時はバイオみたいな方向でやられてたと思うんですけど、
職業エンジニアの時は何系だったんですか?
1社目に入ったのは会社全体的には自宅開発のソフトウェア会社だったんですけど、
1年間実際そういうプロジェクトやってました。
自社開発のプロダクトがある会社で半導体製造周りの設計じゃないんですけれども、
半導体を作るための装置というかプロセスっていっぱいあって、
そのうちの一部のデータを用意する、前処理をするみたいなのに非常に大量の計算機能力が必要なので、
当初専用のチップでハードウェアを作ってシステムを作るっていうことをその会社はしてたんですけど、
私が入社した頃からLinuxでクラスターを組んで分散処理してやるみたいな方向に舵を切ってたので、
そこのチームに入って何年くらいかな、結構長いことそこで仕事をしてました。
大面だったんですね。
そうですね。半導体って本当にすごいプロセスにたくさんのレイヤーがあって、
ソフトウェア絡みで半導体っていうとやっぱり設計であるとか、
レイヤーとどうやって回路を配置するかとか、そういう方面が有名というか一番頭が浮かぶかなと思うんですけど、
それをしてたのは半導体作るリソグラフィっていって光ビームでシリコンの上にパターンを描くんですけど、
そのためにはマスクっていってその光を一部分遮るものを作るんですけど、
そのマスクを作る装置っていうのがまた前段にあるんですね。
そのマスクを作る装置に設計データを入れるためにはデータを変換しないといけなくて、
それをやるっていうすごいニッチなシステムを開発する会社でした。
多分日本でそこしかないかったんじゃないかなと思います。
説明を聞いてほぼほぼ理解ができてないです。
半導体作るのに非常にたくさんの手順があって、その中のごく一部をやっている。
だけれども他にやっている会社がないのでほぼ独占状態というようなプロダクトに関しては会社でした。
めちゃくちゃ聴いていると専門的な内容に聞こえるんですけど、
大学の専攻とは多分違う方向性の内容だったと思うんですけど、
最初ってお仕事の内容についていけるもんだったんですか?
主にC言語で開発してたんですけど、プログラミングはどこで学んだんだろう。
大学でも一応プログラムの講座というかあったんですけど、あんまりそこで学んだ記憶がなくて、
C言語とか相当アルゴリズムのオーダーがいくつでみたいな、そんなの学んでて、
でもその時はあんまりそこの重要性はよく分かってなかったんですけど、
後の方でも話するかもしれないですけど、Rubyに触れたのが多分大学生の時で、
当時CGIとかを書くのにPerlを大体使うのが普通だった時代かなと思うんですけど、
そこで一応Rubyの先輩に最近Rubyっていうのがあるらしいよって聞いて、
触ってみたらすごく書き心地のいい言語で好きになったんですけど、
ある時Rubyのソースコードを読むっていうことを始めて、
そこからC言語の勉強は割と真面目にしたかなと思いますね。
そこで勉強してるうちにプログラミング自体が好きになっていったので、
それで大学4年生ぐらいの時に結構プログラム独学でやってたっていう感じですね。
じゃあ学生の頃からRubyのソースを読んでたんですか?
そうですね。
じゃあ今に繋がる伏跡は大学の頃に培われたというか、
きっかけがあったみたいなところはあるんですね?
はい、そうですね。
最初そんな専門的なところをやられてたのかっていうのと、
学生の頃からRubyに触れてたのかっていうのがちょっと分かって面白いですね。
時は流れなんですけど、最近ってどんなことをやってるのかっていうのを軽く教えてもらえると嬉しいです。
はい、2025年にアンドパッドっていう会社に転職しまして、
今そこでAIを開発した、
アンドパッドっていうのは建築・建設業界向けのサービスをやっている会社なので、
そういった業界に向けてAIを活用したプロダクト開発というのを基本としてやっています。
なんかそのパッド聞くと全然違うところに行ったなっていう雰囲気を感じてるんですけど、
ご自身ではそういう感覚はあるんですか?
前職でGソースで入った会社から、
1回福岡に引っ越す際にグルーブノーツという会社に転職してるんですけども、
そこではいろいろその時々に新しい技術を採用してやっていたんですけれども、
特に機械学習を使ったサービスの開発っていうのをしていたので、
そこの繋がりでAIを活用したプロダクト作りっていうのは結構繋がりがあるかなと思いますし、
卒論、大学生の時にニューラルネットワークを使ったプログラムを卒論として書いていたので、
そこもあって結構機械学習、AIっていうワードは自分の中では結構常にやっているなっていう印象ですね。
学生の頃ニューラルネットワークの話だと機械学習に繋がるんですね。
面白いなと。
自分の中では一貫性がある感じなんですね。
そうですね。今もアカデミックにやるっていうよりも、
プロダクトとして活用する側に実装者としてやるっていうところにはずっと同じかなと思っています。
ありがとうございます。
経歴的なところのお話が聞けたので、
先ほどもちょっとお話がありましたけど、
学生の頃にRubyのソースをもうちょっと見ていたっていうお話があったんですが、
Rubyのコミッターの活動について聞いていきたくてですね、
どういうかけでそういう風になったのかなっていうところなんですけど、
Rubyはいつから利用されているのかっていうのは先ほど聞いた通り、
学生の頃からっていうことだったんですけど、
どういう変遷でそのコミッターにつながるのかっていうところをお聞きしたいです。
学生の頃まずRuby使ってたんですけども、
就職してしばらくはあんまり触らない時期があったんですけれども、
その後ハンドタイマスク関係のプロダクトをやっているときに、
クラスターシステムを組んでいて、
今でいうオーケストレーションみたいなものをする、
ジョブ管理するみたいなシステムを作りそうだって、
そのときにそれを制御するための独自のコマンド言語みたいなものを作ろうっていうことになったんですね。
そのときに私がCで書くのちょっと辛いからRubyで書こうかなって言って、
Rubyで書き始めて、
それで仕事でもRubyが使えるようになったっていうのが、
どうだろう、2000年後半、大後半くらいかな。
そうするとRubyを仕事で使うことになるので、
例えば不具合を見つけたりすることも増えたりしたので、
それで時々パッチ送ったりはしていました。
パッチ送ってるんだけれども、
それを社内で早く適用したいので、
社内でメンテナンスしてるブランチみたいなものがあって、
そこで自分がメンテナンスしたりをしていました、野良で。
日々どういう変更があるみたいなのは、
今みたいに毎日じゃないんですけど見てたので、
Rubyのコミットを読むっていうことに対するモチベーションというか、
メリットみたいなものを感じていたんですね。
2010年だと思うんですけど、
コミッターの一人であるうささんという方が、
もともとこのRubyのコミットを毎日読むっていう、
毎日じゃないかな、たまに読んで日記に書くっていう活動をされてて、
これ誰かやりませんかみたいなことを語り、
呼びかけてるのを見かけて、じゃあやってみようと。
どうせ仕事でも読む必要があるしというので、
初めてこのRubyドラッグチェンジというのを始めたと。
これが先ですね。
これやってると、毎日のコミット読んでると、
リードミーとかニュースとかのファイルのタイプあるなとか、
そういうちょっとした修正を見つけることが多々あるわけです。
そうするとその都度メーリングリストとか、
当時はバグ管理何使ってたかな、
そういうところで報告とかをして、
直してくださいってやってたんですけど、
そのうち自分で直せと言われて、
コミット券やるかというのでコミット券もらってたというのが最初ですね。
これ多分2012年くらいか。
今お話しいただいたRubyドラッグチェンジの活動って、
僕はコミッターになってからだと思ってたんですけど、
そうじゃないんですね、逆なんですね。
逆ですね、はい。
なるほど、そうなんだ。
最初にこの活動をやっていて、読んでたら、
なんかタイプあるぞとか、
そうですね。
っていうところがあって、
なるほど、なるほど。
なのでパッチをちょいちょい送ってると、
もう面倒くさいから自分でやってくれって言われるというルートでした。
多分この頃は割とそういうルートがあったかなと思いますね。
最近だとGitHubでプルリク投げるっていうことができるので、
コミット券わざとそういった細かい変更で与える必要もないなっていう。
そういうことか。
なので今はそういうルートでコミット券もらうってことはあんまりないかなと。
問わずの状況もあってってことですね。
そうですね。
今って新規のコミッターになるっていう方ってあんまりないんですかね。
毎年何名か、2、3名とか新規のコミッターの方っていうのがいらっしゃって、
例えば最近だと、
SocketのライブラリにHappy Eyeballっていう使用というかAPIというか、
これを実装された主要依産というか、
そういうコミッターの方がコミッターになられてるとか。
今年Ruby会議で議論されてましたけれども、
Rubyの名前空間の分離するRubyboxっていう機能を実装されたタオル・モリスさん。
モリスさんもコミッターになられてました。
っていう感じで、
最近は比較的大きな塊の機能を実装してこれを入れたいとか、
そういう動機というかきっかけがある方がコミッターになることが多いかなと思います。
長塚さんは現在はどういった活動というか、
コミッターとしてどういったことをやられてるんですか。
私は安定版ブランチメンテナーっていう役割をしています。
Rubyっていうのは毎年メジャーというか、
例えば去年4.0が出ました。
来年は4.1が出ますっていう形で、
バージョンアップしたリリースが行われるんですけれども、
そのリリースされたバージョンっていうのは、
2年間メンテナンスがされて、
不具合の修正とかはマスターブランチからバックポートされるという形でメンテナンスがされます。
さらにあとプラス1年間、
セキュリティフィックス、脆弱性の修正のみしますよというステータスでメンテナンスが続けられるので、
1つのバージョンのシリーズで約3年間メンテナンスされます。
多いとき3本の安定版ブランチがメンテナンスされているという状態が多いときはあります。
安定版ブランチメンテナーっていうのは、
それを不具合修正をマスターブランチから探してきて、
安定版ブランチに当てて不具合修正をして、
いわゆるバックポートっていう作業をするのと、
あとリリース作業ですね。
リリースパッケージを作って公開する、
リリースノードを書くという仕事が安定版ブランチメンテナーの主な仕事になります。
ありがとうございます。
長柴さんが担当されているブランチっていうのは1つなんですか?
はい、私は今3.4のバージョンのシリーズをメンテナンスしています。
他のブランチは他のブランチで担当の方がいらっしゃる?
はい、今3人のブランチメンテナーがいて、
一番新しい4.0を国分さんというかと、
3.3と今セキュリティフィックスの3.2かな?
3.2のセキュリティフィックスはもう全く知らない。
これを柴田さんがメンテナンスされているという3人体制でやっています。
アクティブブランチ的なものは3本ないし4本走ることがあるんですね?
はい、そうです。
コミッターのお仕事ってお時間的にどれぐらい時間を割いているものなんですか?
私の場合で言うと、
私は安定版ブランチメンテナンスが主な仕事なので、
そのバックポートの作業というのは大体週末とかに時間を取ってやっていて、
月に2回とかぐらいかな?
時間を見つけてはバックポートしてCIが取るかなというのを見るというようなことをしています。
リリースに関しては、これはバージョン、ブランチによっても違うんですけども、
これは3ヶ月に1回ぐらい定期的にリリースしたいなと思っていまして、
これは大体平日の夜とかにやっています。
数年前までだとリリース作業って本当にすごい大変な作業だったんですけど、
今は関係者の皆さんがいろいろ自動化に尽力していただいたおかげで、
平日の夜に今日リリースしようと思っても、
普通にやって夜寝れるという状態になっているので、
非常に簡単にリリースできるようになっているような感じです。
その件についてはアンドパッドさんの記事で僕は拝見しましたね。
結構詳しく書かれていたので、当時はめちゃくちゃ大変そうでしたね。
特にセキュリティリリースの時は、最近はそれ自体も少なくなるように、
ライブラリを外出しにするとかで対応されているんですけど、
本体のセキュリティフィックスの場合は、
アンテナブランチ全部いっぺんに出さないといけないので、
まず全員の予定が合う日を見つけるというところからが大変で、
さらに全員のパッケージができるまで足並みを整えないといけないので、
数年前とかは本当に夜中日付変わるぐらいまでずっとやっているみたいなこともありましたね。
なるほど、それは大変だ。生活をかなり圧迫しますね。
ブランチメンテナーというお仕事で、
永塚さん的にはリリースのタイミングを決められているということをお話いただいたんですけど、
それはブランチメンテナーの方ごとに違うということですか?
リリースのタイミングというのは。スパンというか。
スパンですね。国分さん4.0今、
安定版のブランチメンテナーされている国分さんとかだと、
2ヶ月に1回ぐらいのペースを目指しているというふうにおっしゃっていたと思います。
そこは各安定版ブランチのメンテナーの方に任されているということ?
そうですね。
なるほど、そうなった。面白いな、そういう形になっているんですね。
あと先ほど、いつやられているかみたいな話をお聞きしたんですけど、
お仕事中は業務としては業務は業務、
コミッターの作業としては個人の時間というか、
分けてやられているという感じなんですかね。
はい。私は会社は普通の会社員というか、
OSS作業を業務としてやっているわけではないので、
業間の時間で。
なるほど、分かりました。ありがとうございます。
聞こうと思っていたRubyトランクチェンジズの話も先に聞けたので、
Rubyトランクチェンジズの話ですけど、これ毎日やっているんですか?
毎日ですね、だいたい。コミットがあれば。
ということですね。
はい。コミットがないというのは、あるときは年に数回ある。
2回とかあるときもあるというぐらいで、ほぼだいたい毎日ありますね。
このページのアーカイブのところを見たらですね、ほぼほぼ365日に使うんですよ。
そうですね。だいたいあります。
いや、すさまじいなと思っていて。
よく覚えているのが、初めて最初の冬ぐらいだったと思うんですけど、
だから2010年か2011年ぐらいだと思うんですけど、大雪が降ったときに、
当時はですね、NACLさん、島根にある松本さんが所属されている会社のところに
サーバーが置いてあって、そこにリポジトリの本体がサブバージョンになったと思うんですけど、
その時は大雪で停電したのかな、か何かで、そこのサーバーに2つ普通になってしまって、
コミットができないってなって、1日ぐらい誰もコミットができないのでコミットがなかった。
取りにもいけないんですけど。
私の記憶では、それが初めて途切れた日だったと思います、確か。
なるほど。すごいな、その話も。
コミットがあれば、このRubyトランクチェーン実は書いてるけど、
コミットができなかったので書けてないってことですね。
そうですね。なので、大体毎日あります。
あとは、メモを書いたけど、投稿ボタンをポチッと押すのを忘れてて、
次の日に昨日投稿するのを忘れてたなっていって、まとめて書くこともたまにありますけど。
いやもう誤差じゃないですか、ここまで来れば。
それも大体読んでないんじゃなくて、読んで下書きまで書いてるんだけど投稿しない状態なので、
読むっていう意味だとほぼ毎日ですね。
だからもう16年ぐらいですか?2010年からですね。
そうですね。2010年に始めたので、もうすぐまる16年になります。
これはなぜ続けてると思いますか?
これ結構よく聞かれる質問ではあるんですけど。
いや絶対聞かれると思うんですけど。
一つは仕組み化というか、自分自身をサポートするツールを作ったりっていうのはあるかなと思います。
最初1月ぐらいからは本当に夜に家に帰って、当時はハテナダイヤリーを使ってたんですが、
ハテナダイヤリーを開いてコメントを読んで全部いちいち書いていくっていうことをやってたんですけど、
これは到底できないなって思いまして。
ある日、夜中の3時とかにパッと目が覚めて、
しまった、今日日記書いてないかもしれないと思って、パソコンを開いたら書いてたみたいなことがあってですね。
これはやばいなと。このままやっていると精神がおかしくなると思って。
当時は確かHerokuを使ってたと思うんですけど、自分でアプリケーションを書いて、
その時はまだサブバージョンだったんですけど、リポジトリから変更を取ってきて、
テンプレートに当時はリビジョン番号と誰が編集したコミッターのアカウント名とかを書いて、
日付とかを書いてっていうテンプレートを作っておいて、
メモだけ書けば後でハテナダイヤリー用の記事のテンプレートを作るっていうツールを作って、
そこに一個一個コメントを読んで保存しておけば、後でまとめて記事にできるというのを作ってたんですね。
今はHerokuからGoogle Cloudの自分で使っているCloud Runのアプリに移植してますけれども、
そういうものを作って、それでも読んで絵も書くっていうところは変わらないんですけど、
でもその体裁を整えるみたいなところは省力化できるようにしていて、
それを最初に作ったっていうのは一つ大きいかなと思います。
あともう一つはコミット用語にあたって、分かんなかったら諦めるというか、
よく分かんないことはよく分かんないのでしょうがないですと、
よく分かんないけど多分こんなこと書いてると思いますみたいな、
そういう割り切りというか、できることしかしないという感じですかね。
しかしやっぱり続けるってなかなか人間難しいよね。
そうですね。毎日っていうのはやっぱりちょっと自分でもよく続いてるなと思いますし、
毎日○○してますみたいな人を見かけるとすごい親近感が湧きます。
あなたも毎日やってるんですねみたいな。
本当毎日って難しいですよね。
B会議とかのカンファレンスに行って懇親会とかに行ってても懇親会の会場で書いてたりとか、
その後ホテルに帰って書いてたりとか、
インフルエンザにかかって寝込んでてもこの一瞬だけはちょっと目を覚まして書くみたいな感じなんで。
体調非常に重要じゃないですか。毎日やってると。
そうなんですよ。
幸いなことに今までそんなにすごく寝込むことが多くなかったっていうのもありますけど、
だいたい風邪ひいてとかインフルエンザとかでっていう時はたまたま今日は本当すごく少ないみたいな感じで、
たまたまうまくいってるので続いてるっていう感じなんです。
これのために健康管理したくなりそうな気がしますけどね。
もしかしたらそれでうまくいってるのかもしれない。
気を張ってるとかあるんじゃないですか。
気を張って、あんまり頑張っちゃうと続かなくなるみたいなのもあると思うので、
そういう意味ではあんまり気を張らないようにはしてるんですけど、
でも深酒をしないとか、そもそもあんまりお酒飲まないんですけど、
そういうところは気を張ってるかもしれないですね。
今日も帰って飲まなきゃいけないからみたいな。
いや確かにお酒入ってるところの活動は難しいんじゃないかなと思いますね。
そうですね。
これ始めてからってことでもないんですけど、
最近は全然お酒飲まないですね。
ありがとうございます。
続いて聞きたいのは、
コミュニティの活動の話について伺いたい。
まさひの方でちょっと話が出たかもですけど、
福岡RBの運営について聞きたいのがありまして、
今って運営メンバーという形で良いんですかね、理解的に。
今は、
今ってどういう感じになってるんですか。
メンバーですね。
メンバーって感じですね。
コンバットの管理者、
メンバーです。
コンパスの運営者から外れていて、
1メンバーとしてやってます。
1メンバーってことなんですね。
ただ、福岡Rubyist会議の時とかだと、
スタッフとして参加されてるんですよね。
スタッフとして関わってレポート役とかをやったりしています。
そうですね。
福岡に引っ越されてきたタイミングで、
この福岡Rubyと関わりってあるんですか。
はい。
引っ越した時に、
当時、晴山さんっていう方が福岡Rubyっていうのを始めようって、
ちょうどそうやってた頃だったかなと確か思うんですけど、
それで、福岡にもRubyのコミュニティあるんだなと思って参加していて、
そうこうしていったら、
晴山さんは東京の方に引っ越されたので、
一旦その福岡Rubyは終結、
閉じちゃったっていう状態かなと思うんですけど、
どれくらいかな、
その後しばらくして、
瑞良さんが福岡に来られたぐらいのタイミングで、
また福岡Ruby、福岡のRubyコミュニティ、
ユーザークループやりたいねということで、
福岡Rubyもう一回始めましょうって言って始めたのが、
いわゆる第2期の福岡Ruby。
その時、私と宇寅さんとで主なオーカナイザーとして始めたっていう感じかなと思います。
ずっとやってたんですけれども、
コロナ経緯にですね、
オフラインのミュートアップっていうのができなくなったので、
それで一旦集まりっていうのがなくなって、
その後オンラインで今は主に開催しているんですけれども、
そこ私はあまり参加できていないので、
実態としてあまり参加できていないしということで、
運営としてオーカナイザーとしてはバッジを返上しますということで、
今はいつ参加するかという形になっています。
そういう感じなんですね。
その辺りの入れ替わりというのがよく分かっていなかったので、
改めてお聞きした次第です。
はい。今は神録さんが以前、つまりAFMでもお話されていましたけれども、
メインオーカナイザーとして毎週水曜日にオフラインで開催されています。
ありがとうございます。
ありがとうございます。
次の話題なんですけど、
登壇とかのお話を聞こうかなと思うんですけど、
Ruby会議の話を聞きたいなと思っていて、
Ruby会議の登壇は全部で4回ですかね、過去。
はい。普通のセッションおよびキーノートが4回、
あと実は2011年にLTで1回登壇しています。
そうなんですね。ちょっとそこが把握できていなくて申し訳ないです。
いえ、とんでもないです。
Ruby会議って、私全然よく分かっていないんですけど、
プロポーザルって通りにくいんですか?
えっとなんだろう。
これは答えにくいかもしれないですけど、
ハードル高そうなイメージ。
倍率どれぐらいかって、
今倍率どれぐらいとかって公表されてるのかな、
ちょっと存じ上げないんですけど、
でもそうだな、サブモテされた数は確か募集してるサイトに書かれてたと思うので、
数百とかはあった気がするので、
そうですね。倍率とかはそうな気はします。
Ruby会議っていつからやってるんですっけ?
2006年からですね。2006年が初回で、
せっかくにはその時は日本Ruby会議ではなく、
日本Rubyカンファレンスだったかな。
名前が違うんでしたね。
日本Rubyカンファレンスで、
翌年からRuby会議っていうブランド名になったかなと思います。
それも何か記事で見たな。
私一応2006年の一番最初のやつから参加してて。
これも毎年参加されてるんですか?
えっとですね、2017、8、どっちだったかな。
どっちかだってなくて、
あと2020以降のテイクアウトという形でオフライン開催になった会とか、
あと長野で行われた松本の会とかは行ってないですね。
最近行き始めたのが那覇の会からですね、2024かな。
長塚さんは2019年にキーノートスピーカーとして出られていますけど、
このキーノートスピーカーってどういった形で選出されるんですか?
はい、この時はオーガナイザーの方に声をかけていただいて、
キーノートやってみませんかっていう風に声をかけていただいて、
じゃあ声繋がれらせていただきますという感じで引き受けたという感じですね。
2019年の時ってどういったお話をされたんでしょうか。
はい、All bug fixes are incompatibilityというタイトルで、
Rubyの安定版メンテナンスをやってるという経験から、
安定版のメンテナンスってどういうことをしていて、
先ほど説明したような話をして、
過去にどういうバックボート不具合の修正を入れて、
その結果失敗したみたいなものを紹介して、
安定版のメンテナンスっていうのは安定性を目指すものなので、
こういうことをすると失敗するよみたいな、
そういうことを紹介するっていうお話をさせていただきました。
なので、安易にバグ修正をしたと思っても、
実はそれが新しいバグのきっかけになったりとか、
パフォーマンスの劣化を招いてしまうとか、
そういうことがあるんだよっていう曲をお話させていただきました。
これも記事になっていて、私も拝見したんですけど、
すごい苦労が垣間見えるなと思って。
自分でもこれを見て思うんですけど、
誰も使っていない機能の修正のために、
バックポートしちゃいけないとか書いてて、
割と強い断定をしているなと思いつつ。
でもそうですね、ここで言っている教訓みたいなのは、
結構今でもそうだなと思いますし、
何だったらこれを見て、
最近びっくりバックポートしちゃったかもしれないなって、
むしろ反省するとありますね。
昔こんなこと言ってたのに、ちゃんとできてないじゃんみたいな。
この記事の中にも書いてありますけど、
メンテナーとしてのモチベーションで、
安定したRubyを届けたいっていうことが書かれていて、
この気持ちっていうのは今も変わらずっていう感じですかね。
そうですね。
やっぱり安定版を使っていただいているユーザーの方々っていうのは、
風合いは修正されるけれども、
今まで動いていたプロダクションで動いているものが動き続けるっていうことは、
一番の期待だと思うので、
それを壊さないようにしたいっていうのは一番大事にしてます。
なのでやっぱりこれは風合い修正です。
バックポートしてくださいっていうリクエストがあっても、
たまに本当にこれっているのかなとか、
これ入れることでもしかしたら壊れる可能性があるんじゃないかなみたいなときは、
バックポートしませんっていう判断をすることもあります。
その判断っていうのは長近さんに委ねられているんですか。
そうですね。
プラグマティックに言うと、
例えば4.0ではバックポートしました。
3.3でもしました。
3.4はしませんっていう決断はやっぱりしにくいと思うので、
周りの人の決断っていうのも尊重します。
けど、4.0入れたけど、
3.4は、
例えばこれはパフォーマンスの大きなリグレッションが改善になるか、
っていうのがあるんだっていうので、
4.0は入れました。
でも3.4はパフォーマンスが上がるだけのものっていうのは入れませんよっていう
ポリシーで入れないっていうことはあり得ると思います。
そういう判断はあるんですね。
そうですね。
それでリグレッションしないっていう、
その確信が持てないような変更であった場合は、
やらないっていう決断もあると思います。
そういう判断も面白いというか、
バージョンごとによって考え方が違うというか、
そういうのがあるんだなって分かりました。
はい。
あと直近のRuby会議で登壇された内容について、
ちょっとお聞きしたいんですけど、
どういったことを話されたんですか。
はい。ありがとうございます。
2026年発行立てで行われたRuby会議では、
Rubyのコミッターとしての活動も全く関係なくて、
Rubyで、RubyWazっていう技術で、
ブラウザ上で動くシンセサイザーとシーケンサーっていうのを
開発していたので、
それの紹介をするというセッションをしました。
これは完全に趣味ですか。
はい。完全に趣味です。
いいですね。
これちょっと変わった音楽理論、
純正律を基にした音楽理論を基にしたものなので、
ちょっと変わったシンセサイザーというかシーケンサーになっていて、
なので話の半分ぐらいはその音楽理論の紹介をするっていう内容で、
Rubyの話もあんまない。
後半、RubyWazでこういう苦労をしましたとか、
こういうふうに使ってますみたいな話をしたので、
全然Rubyの行動がないわけじゃないんですけど、
半分ぐらいは音楽理論の話をしていたという、
かなり異例のセッションになったかなと思います。
本当に振り切ってますね。
もともとこういった音楽の話って、
すごい興味がもともとあったんですか。
はい。
Rubyで音を鳴らす関係のことをするっていうのは、
実は2000年代後半のRubyKaigiとかで、
同じことをやられている方が実はいたんですね。
タプカウさんという方がいて、
RubyKaigiでお会いして、
音のことをやっている人がいるという、
音回りのことはその頃から私も興味あったので、
それで一緒にシンセサイザーだったりとか、
あとPureDataっていう音を操作するためのシステムがあるので、
それをRubyで操作するとか、
そういうライブラリ作ったりして遊んでたりをしたんですね。
なんですけど、当時だとシンセサイザーをRubyで作るっていうのは、
かなり厳しくて、
なぜかというと不動小数点数の演算が、
その当時だとRubyでは非常に重かったんですね。
数値一個作るごとにオブジェクト作っちゃうので、
GCの負荷がパンパンになってしまった。
しばらく遠ざかってたんですけれども、
2025年のRuby会議で音回りの発表っていうのがいくつかあって、
気づいたんですけど、
まずGCの性能自体良くなってますし、
今ってRubyの実装で不動小数点数って、
ヒープにオブジェクトを作らないように即値っていうんですけど、
なっていて、
セスを作ってもオブジェクトスペースを食いつぶして、
GCがすぐに回るってことはなくなってるんですね。
なので、実はRubyでシンササイザー普通に書いて動くんじゃないかなって気がついて、
またRubyで音楽、音回りのことやってみたいなと思ってたんですね。
そこと、あとはランプライトさんっていう方が独自の音楽理論を発表されてるのを、
去年、一昨年かな、一昨年の年末ぐらいに触れてですね、
これすごく面白いのでやってみたいなということで、
開発を始めたのが去年のこれぐらいっていう感じです。
すごい偶然なんですけど、偶然っていうわけでもないですが、
先月ですね、僕ラベルライブジャパンっていうイベントが東京であって、
それに行ってきたんですけど、そちらのセッションで、
PHPで音楽を作るっていう登壇を外国人のエンジニアの方がされていて、
今回の会場になった場所がですね、
足立川ステージガーデンっていう場所で、
ライブみたいなこともできるような会場なんですよ。
だから元々音響がすごい良くて、
その登壇された方もここは最高だみたいな言いながら音を出していて、
めちゃくちゃかっこよかったですね。
ドラム音みたいなのをドゥンドゥンみたいなのをPHPで鳴らすっていうのをやっていて、
めっちゃいい登壇でした。
そういう登壇がありました。
っていうのを思い出しました。
いいですね。
シンセサイザー。
めちゃくちゃぶっ飛んでるなと思って。
さらにそのシンセサイザーとペアで使うために、
MIDIのコントローラーも同じくRubyWasmでブラウザで動くやつを使って、
それを今月6月の6日に松山の方でまた松江ルビー会議っていうのがあったので、
そこでも発表していきました。
全然こういう音楽系のことに興味があるって全然知らなかったんで、
僕としては意外だなと思って。
そうですね。長らくやってこなかったのが、
RubyWasmは去年末ぐらいから再開して非常に楽しいですね。
Rubyトランプチェンジをやっていて、
ポイント読みっていう活動をしていたものの、
自分で作るソフトウェアみたいな代表作みたいなのは特にないなってずっと思ってたんですけど、
音周りを再開してみるとすごい楽しくて、
やりたいことがどんどん今湧いてくる感じなので、
久しぶりにプログラマーとして楽しくもの作れてるなっていう気がしてます。
それちなみにご自身で書かれてるんですか?
っていうのがAIのサポートはどうなのかなと思って。
はい、使ってます。
特にJavaScriptとかHTML、ブラウザで動かすのでその部分をUIとか書くんですけど、
その部分はほとんど丸々書いてますね。
いいですね。趣味活動はとてもいいなと思います。
今後もやっていきたいと思います。
いいですね。
それでは次の話題にいこうと思うんですけど、
ちょっと話題が変わるんですが、
Ruby Prizeっていうのは何でしょう?
Ruby Prizeとは新人賞みたいなことで始まった賞だったと思います。
思いますっていうのが、
その年、Rubyに対して大きな貢献をした、
Rubyのコミュニティとか開発に対して大きな貢献をした人を表彰するっていうもので、
毎年松江で行われてるRuby World Conferenceっていうところで、
最終ノミネーティからの最優秀のピカと表彰するっていうことが行われてる。
その中で表彰みたいなのがあるって感じなんですね。
毎年Ruby Prizeに自選多選問わず、
誰にも貢献を受けられないような、
誰を推薦しますかっていうのが公募されて、
そこで票を集めた方々をノミネーティとして、候補者として挙げて、
その最終候補者3人ぐらいが発表されて、
そのうちの1人がRuby World Conferenceの中で表彰されるという感じですね。
長塚さんもちょっと前ですけどね、2013年に受賞されてるなっていうのを拝見して、
どういったものなのかなと思って伺った次第です。
多分これコミッタになった後かなと思うんですけど、
内容としてはRuby Trunk Changesっていうのを書いてて、
この当時だから3年目に、
そっかそっか。
丸3年になったぐらいかな、多分。
だと思うので、それを理由として表彰していただいたと思います。
なるほど、そういうことなんですね。
3年なんですけどね、この時点ではまだ。
いやでも、3年ってすごいですよ。
だって365日続けてるわけですから。
そうですけど。
続けるっていう話で言うと、長塚さんからもちょっと僕の方に質問をいただいていて、
このポッドキャストの話なんですが、
そうですね、僕も何で続けてるのかなっていうところを聞かれてはいて、
何でですかね。
今何年目くらいになるんですか。
始めたのが2022年ですね、多分。
なので4年渡ってますね、丸4年渡ってますね。
結構頻度高く更新されてますよね。
そうですね、最近ほぼ毎週撮ってますね。
もともとこのポッドキャストをやる前にもポッドキャストをやっていて、
それは僕音楽すごい好きなんで、いろんな音楽聞くので、
音楽の話をエンジニアの人に聞こうと思って、
どんなのを聞いてるんですかっていう、
エンジニアの知り合いを呼んで音楽の話をするっていうのをやってたんですよ。
それも結構長いことやっていて、
でも一年きり音楽の話したので、もういいかなと思って一区切りしたんですね。
でも雑談はしたいなと思ってこれを始めたっていう感じです。
聞いていると私が普段会わないというか、
存じ上げない人たちもいっぱいいて、
どうやってゲストの方を決めてるというか、声掛けをしてるんですか?
最初はやっぱりもともとPHPのコミュニティを僕がやってるっていうのは
PHPコミュニティの近しい人たちを呼んでお話を聞くみたいなことをやってたりとか、
福岡の勉強会コミュニティで知ってる人を呼んでお話を聞くとかっていうのは、
基本はそれが多かったんですよね。
ゲストが一人の時はその人のパーソナルな話、
どんなエンジニアのキャリアを得てきたのかとか、
そんな話を聞いたりとか、
あとはとある会社さんの人に2人とか3人とか出てもらって、
その会社の話を聞くとか、
その会社ではどんな事業をやっていて、
自分たちはどんな開発をやっていて、
みたいなチーム体制はどんなんで、
話せる範囲で開発の内容とかをちょっと話してもらったりとか、
そういうことを聞いたり。
一番メインというか多いパターンは、
勉強会とかカンフォレンスのオーガナイザーの人を呼んで、
どんな勉強会をやってるんですかとか、
今度開催されるカンフォレンスはどんな内容なんですか、
みたいなのを聞くようにすると楽しいかなと思ってやってるんですけど、
最近ですね、
いろんな勉強会とかカンフォレンスに行くと、
ゲストになりそうな人を探す自分がいて、
そういう活動を常に頭に置きながらしているかもしれないですね。
なるほど。
狩り場ですね。
狩り場って言われるんですけど。
勉強会ほんとすごい行かれてますよね、あちこちに。
もともと好きで、勉強会参加するのは好きで行ってはいるんですけど、
コンパスとかだと、参加される方がリストで見えるじゃないですか、
その時に、この人久しぶりだなとか、しばらく会ってないなっていう人がいると、
積極的に行って声をかけて、みたいなことをやってるかもしれないですね。
あと偶然もありますけど、大きいカンフォレンスとかで紹介してもらったりとかして、
もしよかったらみたいな感じでPodcastのゲストに。
今後どうですかね、みたいな話をしたりとかはしてますね。
感じですかね。
はい。非常に呼んでいただいて光栄でした。
いえいえ、どんなもんないですよ。何を言ってるんですか。
やっぱりね、福岡でいらっしゃるコミュニティ繋がりの方を呼びたいですよね。
お話いろいろ聞きたいなと思っていて。
いろんなバックグラウンドを持たれている方が多い中、
さっき言った勉強会とか懇親会とかでお話をしたとしても、
そんな深い話ってなかなかできないので、
ゆっくり時間をかけてお話しする場っていうのはなかなかないので、
このPodcastはすごくいいツールだなと思っていて、
僕の欲望を満たせるとてもいいツールになっているっていうのを感じています。
あと非常にこれは打算的かもしれないですけど、
続けているといいことあるんですよ。
なるほど。
うん、わかる気がします。
続けていると自分にとって何かしらいいことが起きるかもしれないなっていうのを何となく思っていて、
そういう面も一部あったりしますね、続けられている理由としては。
Rubyトラックチェンジでもそうですけど、
ある種名刺を作っているみたいな、
私こういうものですっていう、
今は代表作みたいなものになるじゃないですか。
そういうところはやっぱりいいですよね。
あの人はあれをやっている人だみたいな、
こういうふうに認知してみたいっていう。
僕のことを全然知らない人でも、
Podcastのロゴを見せたときに、
僕これやってるんですって実際は、
それ見たことありますって言われることもあるので、
それは非常にありがたいなと思っていて、
そういうところは非常にいいかなと思っていますね。
っていう感じですかね。
ありがとうございます。
長く続けていらっしゃる方の話は、
どうしても親近感を持って聞いているので、
聞いてよかったです。