- さくらインターネット研究所は社外へのアウトプットは継続的かつ分量も大変多くなってきた
- 一方で、社内に対してそれを噛み砕いたり、より文脈を一致させたようなアウトプットはまりしてこなかった
- それはそれで理由があってのことであるが
- そろそろ研究所のアウトプットも安定してきたことと、社内のアウトプットの雰囲気も出てきたことからそれを加速させたい
- ということで社内向けアウトプットを企画していく
- issueにぶち上げた、内容は大体以下の通り
現在さくらインターネット研究所は社外向けへのアウトプットおよびさくらインターネットのプレゼンス向上や技術ブランディングについては、随分と継続的に数多くのアウトプットができるようになってきた。それもあって、各研究員、過去に遡るとたくさんの研究資料などが出揃ってきている。
今、社内でも多くのアウトプットを社内に向けても行っていき、より社内においても会社の透明度を高めていくことで、社内、ひいては、社外に向けてもアウトプットを行っている文化を作っていくという活動が行われ始めている。
当初は、社内向けのアウトプットについても、研究所としても一方的な社内向けアウトプットになってしまわないか、といった懸念もあって、社内向けアウトプットをどのようにしていくか、また、それに引きずられて社外向けのアウトプットも安定しなくなっていくと元も子もないということで、まずは社外への実績を作り上げてきたが、社内のその流れもあることと、研究所内での社外アウトプットは活発かつ安定してきたり、研究員間の連携も密になってきたことから、社内向けにカスタマイズした研究開発共有を行っていくいい時期になってきたのではないかと思える。
そこで、「さくらインターネット研究会(仮)」という社内向け研究会を企画したい。研究所は他のチームよりもアウトプットや技術ブランディングを社外向けてに高めることはより重要度の高い活動として設定しているため、それらを社内に向けてもうまく発信することで、今会社全体で取り組んでいるアウトプットや透明化の文化の醸成に貢献したい。その貢献は、結果として会社全体での社外へのアウトプットを促進し、さくらインターネットの技術広報や技術ブランディング、プロダクトの信頼性にも繋がっていくと思えるので、それは、広義の意味で研究所の仕事であると考えても良いかもしれない。
さらに、研究開発のアウトプットを通じて、創発的にディスカッションが行われ、研究活動はもちろん、さくらインターネットのプロダクトへのアイデアや発展・改善にもうまく寄与していけばより良くなっていくだろう。また、研究所に対するお話のしにくさ、みたいなものもきっとあると思うので、そこも緩和できるようにしたい。
- 研究所内で概ね賛同を得られたのでしっかりやっていく
- そういえば会社入社時に僕への期待の中で、社内への技術展開と底上げというのがあったので、それもしっかりやっていかねばなぁと改めてやる気ができた
- ウェストワールドシーズン1見た
- 面白いし構成がよくできているなという印象
- 昔みたロストをなんとなく思い出した
- 今はシーズン2の半分ぐらい
- 九大MTGで検証環境をどのベンダで作るか検討している
- 科研費をゲットしたのでそれを使いつつ最適な環境を検討
- メールやメッセージングなどのReliability Engineeringなどについて色々ディスカッション
- tcprivの研究背景まとめなどを共有
- プロセスのオーナ情報をTCPオプションヘッダに書き込むに至った背景とアプローチの補足 - 人間とウェブの未来
- 現状eBPFでTCPオプションヘッダはいじれない
- それをいじれるようにする提案の論文はある
- system tapではどこまでいけるかな? → 調べておく
- さて、tcprivのユーザランド実装であるが、/procからデータを見るとして、そのデータをどれだけの期間残しておくか、あるいは、どのタイミングで作って消すかが難しいかも?
- tcprivはsynパケットのヘッダに書かれているので、ユーザランドでセッションをはろうとしたときに、synパケットから関数でtcprivオプションを検知して、/procを見に行くときに、タイミング的にどれだけの期間度のタイミングでtcprivのowner情報ファイルをおいておくかが肝かも
- 普通にsocketのオプションを検知した関数のあとに、/procを見に行けば、カーネルの中でパケットの処理がブロックされていて普通に見れるようになっているのか、非同期で、一瞬でsynパケットの情報が/procに作られた上ですぐ消えちゃうのか、そのへんを確認する必要がある
- うちおさんからのアドバイスを頂いて、最終手段としてはシステムコールを作るというのもありそう
- システムコールの場合は、カーネルモジュールでどこまで実装できるか
- socketのオプションとかであれば、カーネルモジュールで、システムコールの拡張レベルではできそう。オプションの追加とか
/proc/<pid>/fd/<fd>
みたいなpidの領域に使っているsocketから得られるオプションとオーナ情報をぶら下げるようにしておけば使いやすいんじゃないか、と先生からアドバイス頂いて、それはとても良いなと思った- これをすればプロセスがなくなることで消えるし、プロセスがある間は使えると思うので、情報ファイルのライフタイムはコントロールしやすそう
- これって、全てのセッションをどこかで管理しているんだっけ? → 調べる
- iPhoneの下取りを送り返す準備ができた
- 今日もぶつ森で魚をつりにいこう