来てくれ!!!!!!!!!!!!!!!!!
#今日のうなすけ pic.twitter.com/JajEw4JhvU
— 蜘蛛糸まな🕸️ / HolyGrail (@HolyGrail) October 8, 2023
めちゃくちゃ勧誘されたので、ギターを買ってバンドを組むことにしました。メンバーは以下です。
バンド名は「うなばん!」です。ホントに?いい名前が思い浮かんだら変わるかもしれません。
初ライブでオリジナルの新曲があるの正気か?と思うんですが、あるのでしょうがないです。この新曲についてはライブが終わったあとに書こうと思っているふりかえりで色々書くつもりでいます。曲はめちゃくちゃカッコイイので気になってる人はぜひukfesに来てください!!!!!!!!!!!
IETF Meeting参加シリーズも4回目、リモート参加シリーズだと3回目になりますね。2024年3月のIETF Meeting 119はオーストラリアのブリスベンで開催されました。TZはUTC+10なので日本からリモート参加しやすかったです。
オーストラリアといえばカンガルーということで、参加者向けメーリングリストでは「カンガルーに遭遇した場合はどうすればいい?Internet Draftの共著者にならないか誘うべき?」などの会話が行われていました1。
前述したとおりブリスベンのTZはUTC+10なので、各種ミーティングがUTC+9の時間で生活している自分にとっては人道的な時間に開催されるのは助かりました。ただ、それはつまり日々の仕事などの日常生活とバッティングするということでもあり、どのみちフルで参加することはできませんでした。
あとやっぱりリスニングは壊滅的でした。本当にわからない。
それでは以下、常体です。
https://datatracker.ietf.org/meeting/119/session/moq
MoQの6つある(?)実装のうち、5つはversion 3(draft-ietf-moq-transport-03)に対応したとのこと。具体的にどの実装が、みたいな情報が見あたらないけど……
SUBSCRIBE が送信されるとき、実際には何が送信されるのか、subscriptionの重複が存在する場合にオブジェクトが何度送信されるかが不定、などなどの不明瞭および不正な点がissueとして挙げられていて、それを解消するために FETCH
という仕組みを提案するもの。
Fetch is a “StateFul” request, finds out about “non-available objects” in that range.
と述べられている。
そんなわけで今はここで議論が進められているのかな?
Split SUBSCRIBE into SUBSCRIBE and FETCH by ianswett · Pull Request #421 · moq-wg/moq-transport
で、それとは別にdraft-ietf-moq-transport-03でのupdateの報告。いくつかのメッセージがmerge、追加されたり、曖昧な部分の明確化が行われた。今後の課題としては前述のSubscribeの問題の他に、Transmission、Object Model Details、Handshakeがあるとのこと。
CMAFに代わるメディアフォーマットであるLOC(Low Overhead Container)を標準化するもの。WebCodecベースで、CMAFよりもオーバーヘッドが小さい。
03でなんとMLSの仕組みを利用したE2EEへの参照が追加されたり、Audio/Video共に様々なパラメータや拡張が追加された。
“Separate packaging container format from MOQ Streaming Format?” に関して意見が分かれていたようだ。
catalogのupdateにJSON Patchを使うようになったり、トラック名が相対的に、名前空間を継承するようになったりする変更がmergeされている。今openなものとしてIANAにcatalog fieldsを登録したり、trackに共通するfiledsを持てるroot objectを追加したりなどがある。
Call for Adoptionということは近いうちにWG draftになるのかな。
https://datatracker.ietf.org/doc/draft-law-moq-warpstreamingformat/
話されてた?議事録にも特に詳細がないので新しいtopicはなかったのかも。
そしてMoQ Transportのissueについての議論。このへんちょっと議題の認識がごっちゃになってるかもしれない。GroupおよびTrackが終了するのはいつか、優先順位はどうするか、みたいな議論がもりあがっていた。次のIETF Meetingまでにinterim meetingをやろうという意見が投票多数。
サイマルキャスト、優先度、輻輳制御について。回線状況が不安定な場合の挙動について色々課題が出てきていて、FECについての研究やmoq WG以外のWGと連携することも提案されている?(BBRv3の改善とか)。
https://datatracker.ietf.org/meeting/119/materials/slides-119-moq-bandwidth-measurement-for-quic-00 (pptxです)
様々な映像ソースを使って帯域測定をした結果とのこと。Özyeğin University(なんて読むんだ、トルコのオジェギン大学?)の方からの発表。
帯域幅測定はクライアント側で行うことが可能。共有だけで特に議論とかはなかった……のかな?(録画を見てるけどたぶんない)
MoQでE2EEをやるための仕組みの提案。CMAFのほうにはCommon Encryption(cenc)というのがあるんだけど、それの代替というわけではなく、Low overhead containerのほうでcenc的なことを実現するためのもの(そのまま使うことができないので)。
新しい暗号を導入するのではなく既存のHKDFとAEADを使う。MLSやLOCとのeasy integraionを目指している。"Why focus on low bandwidth" に “Lyria is a 3kbps audio codec. Newer ML codecs are use even less bandwidth.”(原文ママ) とあって、Lyra、あったな~~~となった。
Lyra V2 - a better, faster, and more versatile speech codec | Google Open Source Blog
質問でCGM-SSTなるものに言及があったけど、これだろうか。
https://datatracker.ietf.org/doc/draft-mattsson-cfrg-aes-gcm-sst/
そして内容がよく聞きとれなかったけど、議事録には “Maybe use GCM-SST? (Sure)” とあるのでこれを使うということ?
もともとQUICに興味を持ち始めたきっかけがWebTransportだったのに、このWGを追うのを忘れていたな~、と。
WebTransportに関わる標準化はIETFとW3Cの両方で進められていて、W3CのほうはWeb browser APIとかを担当している(という理解をしている)。
W3CのほうでのWebTransportは、6月にAPIを安定させ、8月には複数の実装が存在している状態を予定しているっぽい?
めちゃくちゃ長い名前のオプションが追加されてる。
現時点でSafariのみが未実装。 https://caniuse.com/mdn-api_webtransport
118から 08が出て、CLOSE_WEBTRANSPORT_SESSION
とDRAIN_WEBTRANSPORT_SESSION
がHTTP/3のほうから追加されたり、いくかのcapsuleがrenameされて短くなった。
https://datatracker.ietf.org/doc/draft-ietf-webtrans-http3/
https://datatracker.ietf.org/doc/draft-ietf-quic-reliable-stream-reset/ への参照が追加されたり。Flow controlについてどうするかの議論がさかんだったかな?ただinterimは予定されなかった。
masque wgも追いかけたほうがいいのかなという気持ちもありつつ、もういっぱいいっぱいなので……
FECについては発表だけ、Accurate ECNは時間切れになりました。
Dune: Part Two観てないんですけど、観たほうがいいですかね。
118以降、QPACK関連のイベントが削除されたり、イベント名がちょっと変わったり、Multipathのサポートが入ったりした。今年末にはWGLCしたい、という雰囲気?
もっとMoQ wgと連携していこう(あとでメールしてほしい)、という話が出た。
Path IDをどうするか、interopの結果がどうだったかなど。Path IDについては292で提案されているExplicitなものと現在の06とのPros/Consがそれぞれ挙げられている。MPTCPというのがあるのか。
retire CID on all pathsについては賛否が分かれたのかな?
いくつかの文章と変更と明確化、特に対応せずcloseしたものなど、前回からの変更についての報告。
2度目のWGLCを119が終わったあとにしたい。
QUICに対するリソース枯渇攻撃についての共有。HTTP/2 Rapid Reset Attachに似ている?QUICサーバー側のactiveconnectionidlimitを越えてNEWCONNECTION_IDをはちゃめちゃに送りつけるという攻撃、なのだろうか。
https://seemann.io/posts/2024-03-19-exploiting-quics-connection-id-management/
この記事に詳しく記載されている。
新キャラ。TCPとUDPでの二面待ちをしたり、新しい概念が導入されたときにTCPとUDPの両方に対応する必要があったりするので、TCP上でQUICを話せるようにしようというもの。QUIC on Streamsはあくまでもfallbackであって、TCPで発生し、QUICが解決したHOLBの問題はこっちでも頑張って解消しようとはしていない。……で、あってるのかなあ。
スケジュールだと5分という話だったけどまあ5分で終わるはずがなく。どっちかというとQUICを推し進めていくほうがいいのでは?という反対意見のほうが多かった……のか?
BDPは"Bandwidth Delay Product"の略。輻輳制御に関するパラメータを両者間でやりとりして、Careful Resumeを実現するもの。もしかしたらCCWGでやることになるかも?QUIC WGがこれを進めていくかについては賛否が分かれた。
Chairのところで止まっていて、報告されているエラッタを処理しなければいけない。なんかエラッタを草案のコメントとして使ってる人がいて?全部closeになるかも、という話をしていたかも。
Encryptred Client Helloになってからも、Encrypted Server Name Indication時代の名残で draft-ietf-tls-esni
なの、混乱しますよね。
これも今月いっぱいはIn WGLCという報告。
https://datatracker.ietf.org/meeting/119/materials/slides-119-tls-tls-registry-updates-00
IANAの人からの報告。rejectされたrequestはなし。Extensionがいくつか増える(スライドにあるのは4つ)。ALPNも作業中のものがCoAPの表記について?
https://datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/
大幅には変わっていないが、Hybrid Groupsの数が2つに削減された( X25519Kyber768Draft00
と SecP256r1Kyber768Draft00
)。FIPSの認証と、共有鍵と合体させる(?)方法についてが残っている問題。
“Chrome announced today they are going to release an experimental version.” って言ってて、どれだよ……となっている。
一番「それっぽい」のはDev channel 2023-03-16の 124.0.6356.6
のリリース(上の2つめのリンク)で、"Enable PostQuantumKyber by default on desktop" っていうcommitが入ってる。でもこれAndroid……?3つめのリンクはそのcommitに関連付けられているChromiumのissue trackerにおけるチケット。diffの中身も「っぽい」んだよな。Firefoxのほうは “Firefox is shipping in nightly currently.” とのことで。https://bugzilla.mozilla.org/show_bug.cgi?id=1871629 から辿れそうだけど具体的なcommitまではわからなかった。
これ、 In WG Last CallになってるけどExpiredっていうStatusはアリなのか?(chairの作業で止まってる、とスライドにはある)
FFDHEについて、TLS 1.2では Discouragedに、TLS 1.3ではNot recommended(議事録ではOKとしか書いてないけど、でもrecommendedではないでしょう)となることになりそう。
Static DH Client Certificatesについても非推奨とされる流れ?
https://datatracker.ietf.org/meeting/119/materials/slides-119-tls-formal-analysis-triage-panel-00
個人的には今回のTLS WGのミーティングで最も盛り上がった議題だと思う。8773bisがlast callするにあたり、いくつかのWGのメンバーから「その変更に対するformal analysis(形式的分析)が行なわれていない」という意見があったらしい。
つまりTriage panelを置き、TLS 1.3の標準に変更が入る際にはtriage panelに連絡し、そこで正式にformal analysisを行うかどうか判断するようにしようという提案っぽい。
“Not just Tamarin” というのは標準化界隈でよく使われる(らしい)セキュリテイプロトコルの検証ツールとのこと。
で、not justなのでTamarinに限らず様々なツール、手法で検証をしようじゃないか、という。
賛成の声が多い感じ。学生を巻き込みたいという意見もあった。
SUPER JUMBO
TLSのrecord size limitを RFC 8449にて定められている2^14 バイトから 2^16 バイトまで拡張できるようにするもの。データセンターで有益という意見。性能指標についてどうなるのか、という疑問点が挙げられ、今後識者と協力してやっていく、ということに。
クローラー、Botが「自分は真正なクライアントですよ、ほら証明書がありますよ」をサーバーに知らせるためにmTLS readlyであることを送る仕組み。
実はもうここ https://tls-flags.research.cloudflare.com/ で動いている。CとGoでの実装もあるみたいだけど資料には記載がない。でもGoは多分これ https://github.com/cloudflare/go/pull/151
“I would like to see enthusiasm.” ということは、もっと協力なニーズがないと厳しいのか?
長生きなTLS connectionにおいての鍵更新をなんとかしたいという話。TLS 1.2での再ネゴシエーションが脆弱であるということでTLS 1.3では削除されている仕組み。(ラムダノートさんの「プロフェッショナルTLS&PKI改題第2版」では「8.1 安全でない再ネゴシエーション」として記載があります)
これが、通信インフラやIoT機器などのコネクションが長生きする場面において通信内容をよりセキュアにするために有用であるという提案。仕組みではpost-quantumでも使われるKEMを使う?RFC 9180を参照するとのこと。
設計が複雑になるのでは?という議論になった感じだろうか。
耐量子での鍵確立をやるってことですね。Named Groupに mlkem768(0x0768)
と mlkem1024(0x1024)
を足す。ていうか、耐量子暗号って7年前には既に提案されていたんですね(早すぎるのでは?というFAQ)。
hybridでやるべきでは?という意見、RFCではなくコードポイントの定義だけでいいという意見、強く支持するという意見、これはひどいアイデアだという意見などなどなどがあり、一体どうなっちゃうの~~?
むずかしいですね。mls、httpbis、httpapi、ccwgについてもまとめたかったんですが、ギブです。
これらをご覧ください。ちょこちょこpull reqを投げていたらコミット権をもらえた1ので気付いたときに触っています。
タイトルでは「v3.0.0をリリースしました」と言っていますが、その前段階で v2.0.3 をリリースしているので、ついでにそれにも触れていきます。
この変更で行なったのは以下の2つです。
ioutil.ReadFile
の削除僕はたまにWindows環境でwwwを使いたいことがあったのですが、リポジトリのreleaseにはLinuxとDarwin(macos)向けのビルド済みバイナリしか存在しませんでした。GoなのでWindows版バイナリを用意するのは簡単ですが、用意されているほうがありがたいですよね。
wwwはリリース作業にGoReleaserを使用しているので、.goreleaser.yaml
を用意してWindowsをtargetにしてやるだけで対応完了です。
ちなみにpull requestは1年以上放置していました。よくない。
ioutil.ReadFile
の削除エディタでmain.go
を開いたときに気付いたのですが、内部で使用しているioutil.ReadFile
がdeprecaredとなり警告が発生していました。
これは単純に os.ReadFile
に置き換えるだけで対応完了です。
HTTPSへの対応を追加しました。
これについては、himanoaさんのこの発言を見たのが対応のきっかけです。
そんなわけで、 --cert
と --key
に証明書のpathをそれぞれ指定することでhttpsによるリクエストを送ることができるようになりました。このoptionは、両方を指定しないとエラーになるようにしています。
CHANGELOG.mdとかあったほうがいいのかな、という気もしてきましたが……そこまででもないかな?とにかく、pocke/wwwは便利なのでよろしくお願いします。
結構昔のことなので経緯はうろ覚えです。勝手にリリースしちゃったけどいいのかな…… ↩
「RubyKaigi 2024に向けて泡盛を予習しておきたい」ということになり、今月頭に沖縄に行ってきました。
以下、様子です。
コミックマーケット103 2日目(12/31) 東ヘ17a 「キリンセル」ブースにおいて、「TLS 1.3のRFCを読んでいく本」を頒布します。この本は、Rubyアソシエーション開発助成2022において、aiortc/aioquicをRubyに移植する際の経験をもとに書くことにしたものです。
aioquicには、TLSの実装が含まれています。そのTLSのPython実装をRubyに移植する際になかなかうまくいかず、RFCや実装とにらめっこをするなどの苦労をしたので、TLSのRFCを日本語で解説してくれる資料がないだろうかと思い、書くことにしました。
もちろん既に日本語訳を公開されていらっしゃる方もおられますが1、やはり自分でイチから写経しないといかんなということで本にしてまとめようと思った次第です。
とはいえあまりに文書量が多く、わかりやすくまとめなおすというのは時間的に無理で、ほとんど日本語訳の形になってしました。それでもRFCには記載のない参考資料へのリンクを追加したり、言い回しをやさしくしたり語句の簡単な解説を足したりと、単なる翻訳ではないような本になるようにしたつもりではあります。
この本については、いずれインターネット上で誰でも読めるような形式で公開するつもりです。その際はMITライセンスやCCライセンスなどの、何らかの自由に利用可能なライセンスを適用します。なので、本当に今すぐ読みたい、何らかの理由でお金を払って読みたいという方でない限り、当日お越しいただく必要はないかもしれません。
そうなってしまうと結局RFC 8446を日本語にしただけじゃないか、ということになるので、ナナメさんにお願いして表紙絵とイラスト数点をお願いしました。これは後々公開予定の文書には含まれず、物理本を購入していただいた方限定のお楽しみコンテンツとなる予定です。当日お買いあげいただいた方には、表紙絵のみを印刷したものもおまけとしてお渡しします。
頒布数についてですが、50部を印刷しました。ただし全部を今回のコミケで頒布するつもりはなく2、次回の技術書典でも(もしかしたらその前にRubyKaigi 2024でも)頒布したいと考えており、それぞれで半々ずつくらいで頒布することを考えています。また次回の技術書典で在庫が余るまでは通販もしません。単純に在庫を抱えたくない&発送作業をしたくないという怠惰のアレです。
で、現在「¥?,???」となっている頒布価格についてですが、まだ印刷所からの連絡がなく3決めきれないでいます(決まったら記事およびお品書きを更新します)。ただ、¥3,000~¥4,000くらいにはなるんじゃないかなと見ています。利益を出そうとは思っていませんが、そもそもページ数が多いので印刷費がかさみそうです。
見本はコミケWebカタログで確認することができます。
pixivFANBOXおよびGitHub Sponsorsで支援していただいている方に対しては、連絡をいただければ取り置きをさせていただきます。当日お渡しする際には支援していることの確認となるものを提示していただくかもしれません。準備をお願いします。詳しくは各プラットフォームからの連絡をご参照ください。なお、申し訳ありませんが支援金額を頒布価格から差し引くという対応はしません。まあそんな爆裂に売れていくなんてことはないと思いますが……
最後に、再度コミケWebカタログにおけるキリンセルの詳細ページを貼っておきます。
頒布価格を決定しました。1部¥3,500です。お品書きも更新しています。
なお、すっかり言及を忘れていたんですが、同日東パ03bにて頒布される「桐生あんずファンブック」にて、「Rubyistワカモノ組座談会」で僕が話した内容が本になっています。こちらもよろしくお願いします。
【C103 2日目東パ03b「ひやおろし」】
— 炬燵(kotatsu) (@sakahukamaki) December 28, 2023
桐生あんずという一般女性について、友人同僚先輩同輩教育係に保護者と様々な視点から語った結果10万字を超えた本です。サンプルは引用先をご覧ください。
なお、本人は中身を知りません。
#評論情報系同人誌告知 #C103 #C103新刊 https://t.co/TKFHNldP2Q pic.twitter.com/XEJ5xGNdjY
今年は契約先が変わったのですが、新規契約先を探しているときに、「こういうのがあると非常に助かる」という声を頂いたので今年もやっていきます。
これまではこんな感じでした。
例によって冒頭の画像はwakatimeによる2023年1月1日から12月18日までのプログラミング言語使用率です。2位のOtherですが、内訳を見てみるとRBSやqlogやHamlやJsonnetでした。ReasonとなってるのはReasonでなく、Re:VIEWの .re
がそう判定されているようです。(この統計には仕事で触れた言語は含まれていません)
フリーランスで、主にRailsやAWSを使用しているサービスの運用、開発に関わっています。いくつもの会社を見てきた訳ではなく、数社に深く関わっている都合上、視野が狭いかもしれません。
今年も仕事の成果として公表できるものはありませんでした。仕事ではありませんが、Kaigi on Rails 2023で使っていただいたconference-appはその大部分を書きました。
https://github.com/kaigionrails/conference-app
昨年からのDiffとしては、Goは触った記憶がないので削除しました。TypeScriptとJavaScriptを併記していますが、conference-appのためにStimulusを書いた都合上、TypeScriptよりもJavaScriptを書いた比率のほうが大きいと思います。
昨年と比較して一番変化のある部分だと思います。これは明らかにRubyアソシエーション開発助成2022によるものです。とにかくPythonのQUIC実装をRubyに移植するという作業をしていました。とはいってもPythonを “書いた” ではなく “読んだ” というほうが正しいですね。DjangoやFlaskでWebアプリが書けるようになったとか、そういうわけではありません。
Python同様、イチから移植することで理解が深まったもののひとつです。昨年はここがQUICという表記でしたが、今年は明確にTLSを追加しました。実装の移植で行き詰まりRFC 8446 (TLS 1.3)を何度も読みました。
この活動がきっかけで1、今年3月からIETFに参加しはじめました。これ今年からなんですね……もう3回参加してるのでもっと前からのような気さえしてきます。
日本国外での開催に現地参加するかどうかは……ちょっと悩んでいます。お金がないというのもありますが、まだまだ英語のリスニングが甘いからというのも大きな理由です。
Kaigi on Rails 2023で皆さんに使っていただいたものです。これのおかげで、今年触った技術としてCloudflare、Stimulus、PWAを追加することができました。その後様々な方からのcontributeで、RBS(特にRailsに導入するもの)についてもちょっとわかるようになってきた、かもしれません。
今年はGrantでの移植以降、TLS 1.3をちゃんと学び直さないといけないと思い RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3 をアタマから読み直したり、日本語にしたりしていました。
RFCは、仕様として書かれているのでそういうものかもしれませんが、特にRFC 8446は読みづらかったです。後の章で解説される概念が冒頭で出てくることが何度もあるので、そのままの順序で読むと理解に苦労します。ということで、実装する立場でもうすこしわかりやすいものがあれば、と思いそれらしいものを書いている途中です。
そもそものQUIC実装にしても、RubyKaigi Takeout 2021からもう2年も経ってるのに……という状態であり、来年こそは何らかの成果を出したいところではあります。が、どうなることでしょうね。どうしても趣味でやっていることなので取れる時間が少ないのと、コミュニティ活動もあるのでなかなか進みが遅いですが、頑張りたいです。
QUIC実装、特にaioquicの移植としてそれなりの規模のコードを書いた感想としては、RBSはやっぱりあると便利ですね。なのでOtherが2位に上がってきたのだと思います。個人でgemを書くことがあれば、積極的にRBSは書いていこうと考えています。
コミュニティ活動の筆頭と言えます。これは運営チームのみ見える形で「こんなことがしたい」というのを書いていて、それをやっていきたいですね。Proposalも……出せたらいいですね……
今年は初めてのin-person開催となりましたが、運営側からもそうですし、参加していただいた皆さんからも、成長する余地があることは感じられたかと思います。やっていかねば、いけませんね。
昨年から何もできていないですね。本当に何もできていない。無です。多分来年もあんまりここに割ける時間はないんじゃないかと思いますが、気持ちだけはあります。本当です。
Pythonと同様に書くまではいかなくても、QUICやTLSの実装の参考として読むことは多いのではないかと考えてはいます。
昨年、以下のようなことを書きました。
あと海外カンファレンスにProposalを出せたらいいなとか考えていますが、果たして。
こちらは、出すには出したのですがRejectになってしまいました。
一方で、RubyKaigi 2023での登壇は英語でやることにし、その登壇記も英語で書きました(DeepLにおんぶにだっこではありますが)。
RubyKaigi 2023 participation report
RubyKaigiにおいて英語で話すことの一番のメリットは、同時通訳さんとの打ち合わせのために資料を事前に提出しなくてよくなることです。その代わり、発表練習は日本語で話すとき以上にみっちりやる必要がありますが。ただ、RubyKaigiの僕の発表資料作成は、まず話すことを文章にしたうえでスライドを作っていくというスタイルなので、この点は偶然にもうまくいっています。
そしてIETFに参加するようになり、例年以上に英語に触れる、特にリスニングの時間が増えているのを感じます、が、それに英語力の上達がついていっていない……どうしたものでしょうね。
116が横浜で開催されたという偶然もけっこう大きな要因ではあります ↩
チェコの首都、プラハで開催されたIETF 118にリモートで参加したので、自分なりにまとめます。ただ今回、RubyWorld Conference 2023と日程が被ってしまったため、Meetecho(ライブで会議が行われる場所、Zoomの部屋みたいなイメージ)にはあまり入れずにYouTubeのアーカイブと議事録からのまとめとなります。英語の議論についていけないのでどのみちそうなるのですが……
写真はIETFとは全く関係ない、RubyWorld Conference 2023開催地である島根県は宍道湖の写真です。
例によって正確性の保証は一切いたしません。
https://datatracker.ietf.org/group/quic/about/
STOP_SENDING_AT
はドラフトに含まれなくなりそうhttps://datatracker.ietf.org/group/moq/about/
今回もMedia Over QUICのSessionは2回ありました。議論の内容がメディア転送をやっていないとわからないようなものになってきて、いよいよ追うのに限界を感じています。
https://datatracker.ietf.org/group/tls/about/
https://datatracker.ietf.org/group/mls/about/
RFC 9420: The Messaging Layer Security (MLS) Protocol が7月にRFCになったばかりですが、draft-ietf-mls-architecture-11がRFCになってくれたら、というかdraft-ietf-mls-extensions-03も結構重要な要素なので、要するにまだこれからという雰囲気を勝手に感じています。
そしてどちらかというとリソースがmimi(More Instant Messaging Interoperability)のほうに割かれてるのではないかということらしいです。しかしmimiのほうは追えておらず……
なんというか、mimiと合わせて見ていかないとだめそうです。
https://datatracker.ietf.org/group/ccwg/about/
Freelance
← かっこいいhttps://datatracker.ietf.org/group/httpapi/about/
application/yaml
を追加するものLink-Template: "/{username}"; rel="https://example.org/rel/user"
みたいなheaderを使うことで、 username
に値を挿入してURIを生成できる
application/problem+json
とかで返す/.well-known/api-catalog
で提供するContent-Range
を使うことに対しての懸念、後方互換性は捨てて新しく設計してもいいのでは?という意見application/openapi+yaml;version=3.1
みたいなのの定義https://datatracker.ietf.org/group/httpbis/about/
-d
(例えば br-d
) っていうのがDictionaryを表しているのかな?match
が match-path
と、optionalな match-search
, match-dest
に分割されたDate
を構造化して送信する場合は SF-Date
で送信するとかapplication/octet-stream
なのか application/offset+octet-stream
なのか他の方法かAccept-Events
headerをクライアントが送信するbraid.org
が見れないむずかしいですね。
Kaigi on Rails 2023に参加していただいたみなさま、ありがとうございました。初のオフライン、オンラインのハイブリッド開催となりましたが、登壇者の皆様、Proposalを出してくださった皆様、協賛してくださった企業の皆様、そして一般参加者の皆様のご協力のおかげで無事に今年のKaigi on Rails 2023を終えることができました。
主役は参加者のみなさまということもあり、運営のひとりである僕からのふりかえりは手短かにしようと思います。
もともと会場でのサイネージの役割としてのなにかを用意したいよね、という構想はあったので運営内でのみ使うWeb appを作るつもりではいたのですが、大倉さんがドーンと rails new
をしたリポジトリが爆誕したのでそこに乗っかることにしました。お披露目クオリティに達したのが本当にギリギリだった1こともあり、イベント開催までの周知が全くできておらず当日にアクセスが集中して軽い障害が発生したのは本当に申し訳ないと思っています。でもこれで来年はもっと多くの人が使ってくれそうで嬉しいです。いくつか追加機能のアイデアも頂いています。
これについては他で話すネタになりそうなこともあり、あまり詳細な言及は控えます。とはいえソースは公開されているので何をやったかは全て見れる状況ですね。ドキュメントが少なすぎるのは追々なんとかします……
https://github.com/kaigionrails/conference-app
今年も昨年に引き続き配信関連の担当をしました。とはいっても今回は会場側に配信をやってくれるプランがあるので、それをお願いしました。なので当日は僕自身がなにか操作するということはありませんでした。
会期中は、配信に登壇されている方の姿や声がちゃんと乗っているかの確認のため、YouTubeを2窓して両方の発表を聞く、ということをしていました。冒頭の画像はそのために用意したディスプレイを置いていた、スタッフルームにおける僕の机の写真です。持っててよかったモバイルディスプレイ。ちなみに、手前にあるダンボール箱2つは、直前に僕が買ってきてもらうように頼んだChromebookです。
急にPC必要になって買いに行ったり、荷物が配送遅延で届いてなくてお買物行ったり、Day0からいらいろありましたがなんとかなった(たぶん)のでよかった。明日の起床がんばらねば。まずは風呂🛀
— ぷぽ (@pupupopo88) October 26, 2023
実際に配信のプロの方と組んでなにかをやる、ということは初めての経験だったのでとても勉強になりましたし、楽しかったです。
今年はオフライン開催ということでそこまでしている時間がなさそうな気配があったため、配信のトランジションについては何もするつもりがありませんでした。しかしアイデアが降ってきた&やってみたら案外時間をかけずに作れたために今年も作ってしまいました。これって会場で流れたんでしょうか?もしかしたら配信限定コンテンツだったかもしれません。
果たしていつまで作り続けられるでしょうね。
クロージングでもアナウンスがありましたが、2024年の開催は決定していますが現時点で会場がまだ決まっていません。やばいですね。
レビューしたいと言っていた大倉さんを途中からは完全に無視してCI pass即mergeを連発していました。よろしくないですね。 ↩
クックパッドという会社は、Rubyのコミュニティに関わっている僕にとっては特別な印象がありました。今でこそShopifyやGitHubにその座を譲っているでしょうが、世界最大級のRailsによるモノリシックなアプリケーションによるサービス提供、フルタイムRubyコミッターの登用、優秀なメンバー、技術ブログの豊富なアウトプット……いつだって「いつかこんな会社で働きたい」という会社のうちのひとつでした。
クックパッドが横浜に移転するタイミングで、多くの人が退職していくのを外から眺めていました。その勢いに、このままではいつか一緒に働きたいと思っていた人達がいなくなってしまうと思い、(以前から手が足りていないのでどうですか、という声はかけていただいていた)あそなすさんに連絡をとり、業務委託の立場で関わることになりました。
色々なことをやりました。事業に関わることはどこまで書いていいのかがわからないのであまり触れませんが、新規サービスの立ち上げ、Ruby及びRailsのアップデート、「さわるだけで開発期間が3倍になる優れモノ」とまで言われた1レシピサービス本体への機能追加などを覚えています。
事業に関わらないことでいえば、社内フェスでのDJ、チキチキ、データ指向アプリケーションデザインの読書会、Rubyに関する社内勉強会、そしてRubyKaigi。事業もそうでない部分も、本当に楽しかったです。
一方でいいニュースばかりではなく、度重なる事業の見直しやそれに伴なう人員整理が行われ、その度に寂しい思いで一緒に仕事をした方を見送ることが続きました。
そしてとうとう自分の番も来た、というだけのことです。まあ業務委託の立場で退職推奨に対して「自分の番」というのもおかしな話ですが、とにかく契約の解除ということになりました。僕は撤退作業の手伝いという形で9月末まで稼動していました。稼動初期に立ち上げから深く関わったサービスのクローズ作業をするのは感慨深かったです。
実は、RubyKaigiが終わった直後から、様々な条件付きで正社員として入る交渉をしていました。この交渉は本当に人員整理の直前までやっていたのですが、しかしまあ、白紙になりましたね。この条件に関しては、業務委託で稼動し続けた実績によって交渉していたものなので、そのまますぐ別の会社にこの条件でどうですか、ということはできません。なので本当に、残念な思いです。
職選びの観点で言うなら、たぶん自分はPythonやGoやJavaScriptの案件でもなんとか生活できるくらいのお金はいただけると思っています。それでもRubyの会社を選び続けるのは、Rubyでサービスを開発・運用し、コミュニティに投資している会社であれば、自分がRubyKaigiやKaigi on Railsのために使う時間のことを考慮してくれる(そのことで急に休みを入れることに理解がある)、そういうことへの理解があるからです。その点で、フルタイムRubyコミッタを抱えていたクックパッドは本当にいい会社でした。
個人的な気持ちの問題はどうあれ、クックパッドのサービスと会社のことは引き続き応援しています。残っているメンバーもまた優秀な人達ばかりなので、心配はしていません。
なお、次の稼動についてのお誘いに関しては不要です。
以上、個人の日記でした。
9/30 14時から開催の高専DJ部 #38 に来てください!!!
高専DJ部 #38、 9/30にやります!!!14時から茶箱です!!!!TwiPla登録お願いします!!!!僕は翌日から仕事がありません!!!! #kosendj https://t.co/cwtjZhtnoR pic.twitter.com/4WOwcXkXMp
— うなすけ(9/30は高専DJ部だぞ) (@yu_suke1994) September 7, 2023
上記、高専DJ部の告知を行うために @kosendj にログインし、ユーザー名を変更した後に「あなたが実在の人物であることを確認する必要があります。」という表示になりました。
そして画像認証を行うのですが……これが何回やっても全然終わらない!!!!
15分くらい格闘して一旦あきらめ、@yu_suke1994アカウントのほうで上記ツイートを行いました。そしたら同様の状態に……
ただ、どちらのアカウントも地道に認証をやっていたら突破できました。よかったですね。
どちらの場合も共通しているのは、「https://kosendj-bu.inのURLをツイートしたこと」です。あとハッシュタグでしょうか。いや、これが本当の原因かどうかはわかりませんが……
何かあったら僕はこのあたりにいます。というか、最近は発言の主軸は自分の立てているMastodonに移しているつもりでいます。
たぶんこれですね。
9/7現在、X(旧Twitter)にて名前/プロフィール変更をするとアカウント認証に飛ばされ認証通過しても「技術的な問題が発生したため」とログイン出来なくなるバグが発生中 - Togetter