今年も参加したので(2回目)
去年のブログ⇩
momoka0122y.hatenablog.com
楽しかった

Twitter実況はこちらから。
https://x.com/hashtag/wakate2024?src=hashtag_click&f=live
参加者数は最多の39人。
夜のセッション1日目 QRコードの誤り訂正の凄さを身をもって感じました。

QRコード危機一髪ゲームとてもおもしろかった。
QRコードが理論的に読み取れるものかどうかと、カメラマンのスマホでの読み込み方によって読み込めるかは別。

発表たち
全部じゃないです。メモ書きです。
JVM は Web フロントエンド開発の夢を見るか?
speakerdeck.com
GPUの実行モデルを理解してうまく使いたい
speakerdeck.com
トヨタにおけるシステムソフトウェア開発の取り組み [スポンサー]
金津 穂
(トヨタ自動車(株))
[感想] 人が乗る車は完全にソフトウェアレベルで完全性、安全性を示したい、けどどても複雑なハードウェアに対しては困難。安全性は要件であって目的ではない。他の目的が安全を超えてはいけないけど、安全以外の目的もあるっぽい。
なぜオープンソースソフトウェアにコントリビュートすべきなのか[招待講演]
須田 瑛大
(日本電信電話株式会社 ソフトウェアイノベーションセンタ)
スライド
github.com
piyolog.hatenadiary.jp
めも:
Linuxは遅れて出てきただ、GNUは技術的に、BSDは法的に難航している間に漁夫の利を得る形で勢力を勝ち取った。
OSSは譲与経済か?譲与論とは→ 贈与論:Essai sur le don
(discord chatの聴講者のコメントたち)
Apache 2.0 は GPLv2 と非互換なので Rust コミュニティでは MIT とのデュアルライセンスを勧めています。デュアルライセンスは、どちらのライセンス条項で使っても良いという意味で、両方に従わないといけないという意味ではないです
佐渡さんはOSS 誕生そのものに関わった VA Linux の日本側法人の設立した人ですね。所属もヤフーではなくて VA Linux の現地法人が死んだあとも OSDN とか Slashdot の日本側のあれこれをずっとやってた方 Shuji Sado – 佐渡秀治, Open Source guy
1998年の2月から4月までの期間がオープンソース元年?
リーガルテックにおける検索・推薦技術[スポンサー]
リーガルテック:自然言語処理、ソフトウェアの力で法務処理をサポート
係り受け解析を用いた法律文書中の略称規定の解析についての報告
speakerdeck.com
解析している答えが文章読解依存なので難しい。
そもそも人間が正しく文章読解できなくて困ってるなら、このプログラムの正答率を検証できないのではないか?
公開されてる。
1400クラスタもあるの多すぎすごい。大企業だから多いって言うのもあるけど、プロダクトにつき1つだけでなく、プロダクト内部のチームで一つのクラスタを持っている場合もあるためらしい。(チームによってk8sへの理解度も違うのでプロダクトで統一しているわけではないっぽい)
アラート処理を短くする自動化すごい。
「認証認可」という体験をデザインする ~NekkoCloud認証認可基盤計画
永見 拓人
(千葉工業大学)
docs.google.com
(from chat) Discordによる認可(サーバー所属とか)、Auth0のHookみたいな機能でスクリプトを書いて対応した記憶がある…
musaprg.hatenablog.com
発表の結論(今後の展望)は、以下のIngress Controller主体しくみを、

SideCar主体でつくりたい。


(from chat) 「実運用上はEnvoyをside-carに入れてJWT Authentication Filterを使っている人が多いのだろうか JWT Authentication — envoy 1.32.0-dev-8cd214 documentation」
「Kubernetes 内部で完結するサービスとかは Bound Service Account Token を使う場合もありそう Bound Service Account Tokenとは何か #kubernetes - Qiita」
「認証認可サーバーは Nekko Cloud 上に立つんでしょうか?そうするとブートストラップ問題が起きそうですが……」「そうです。。。ブートストラップ問題あります」
基礎の言葉の説明から始まり、とてもアツい話でした。logicaさんはすごい。
モノレポのすゝめ[通常]
github.com
Q. リリースのサイクルでgithubのReleasesで複数のコンポーネントが一緒くたにされたくない。
A. tagのprefixでリリース分割。Releaseでコンポーネントごとにリリースして全部リリースしなければいい。
Googleのなぜモノレポへの回答としては以下があるよね。
Why Google Stores Billions of Lines of Code in a Single Repository6
Advantages. Supporting the ultralarge-scale of Google’s codebase while
maintaining good performance for
tens of thousands of users is a challenge, but Google has embraced the
monolithic model due to its compelling advantages.
Most important, it supports:
˲ Unified versioning, one source of
truth;
˲ Extensive code sharing and reuse;
˲ Simplified dependency management;
˲ Atomic changes;
˲ Large-scale refactoring;
˲ Collaboration across teams;
˲ Flexible team boundaries and code
ownership; and
˲ Code visibility and clear tree
structure providing implicit team
namespacing.
speakerdeck.com
(from chat) 「libvirt / virsh を素で叩いてもいい気がするけどやはり GUI の利便性でウケてるのだろうか > Proxmox」
「クラスタリング / スケジューリングを向こうでやってくれるのが良さみなんじゃないかな~とか思ってますけどどうなんですかね」
eBPFはネットワークソフトウェア開発の何を変えたか
speakerdeck.com
スライドの中で紹介されてた、hayakawa-sanのスライド↓
speakerdeck.com
Prism: Proxies without the Pain | USENIX
カーネル自身が検証を行うのが大事。
質疑:(こことても自信がないので間違った書き起こしになっているかも)
Q:「どれくらいVerifierを気にして書いている?」
A:「2019年の論文の話ですね。その頃はVerifierを気にして書いていた。その頃は理不尽にリジェクトされることとかあった。でも今はそんなことはVerifierはしてない。LLVMのコンパイラとeBPFコンパイラを作っているのは同じ人たち。GCCで作っている人たちもいるけど今どうなってるかわからない、Clangが強いですね」
Q: 「WebAssenblyとなんか近い気がするけど、WebAssemblyをカーネル空間で動かしたいというのとかもあった。」
A: 「WebAssemblyとの違いとしては、ランタイムで検査をすると言うアプローチの近い。eBPF for Windows とかでも、動かされるコンテキスト(ネットワークのパケット処理なのかトレーシングの処理なのか)でメモリの安全性の汎用的なセーフティプロパティと別でコンテキストの違いがある。Windownカーネルの中で動くeBPFプログラムとLinuxカーネルで動くプログラムは、コンテキストが違うと言う意味でセーフティプロパティも違うと言える。WebAsseblyでも違うのではないか。」
Q: 「カーネルポインタ、ネットワークでは。アドホックな構造は欲しいか?」
A: 「話はあるがCilliumでは一旦大丈夫そう。」
Q: 「eBPFコードのVerifierと検証にどれくらい時間的制約が高速があるのでしょうか?Verifierとコンパイラがオーバーヘッドにならないのか知りたい。」
A: 「Verifierを通った後にeBPFのプログラムははるかに長い時間動いている。Ataccheして動かしているので。eBPFの検証に制限がかけられているのは制限なくやられて、メモリが使われるのが防ぐため。」
Q: 「つまりVerifierが制限されていると言うことはeBPFの機能が制限されていると言うことではないか?」
A: 「確かにeBPFに新しい機能を入れるのが難しいなど硬直化につながっているかもしれない。」
(from chat) 「The rapid growth of io_uring [LWN.net] io_uring API のようなものとか、Linux の upstream である種の bypass をする汎用のフレームワークが整ってきたのもあるはずで、それはなぜかというと kernel bypass 派の成果が bypass を sandboxing してでも仕組みで提供する意義を示せたからだと思う」
チャットよりこうゆうのもあるのね。
Linux Kernel Exploitation | PAWNYABLE!
github.com
とても面白かった。
ウェアラブルデバイスを用いた長期的な生体信号による概日リズムの推定[ショート]
みんなで見てみた。朝型夜型?
朝型夜型質問紙
Q: 「やりたかったけど、倫理的な理由でできなかった実験はありますか?」
A: 「長い期間でやる実験。倫理というより自分がやり続けるかという問題だが」
Q: 「人が朝方から夜型に変わったりすることはあるがどうなんでしょう?」
A: 「日本語の質問の答えてによってやってて、いつも通りの生活をするようにお願いしている。」
Discordのコメントががとても盛り上がっていた。
プログラム検証入門
speakerdeck.com
playground: jsCoq – The Coq Theorem Prover Online IDE
すいません。全くついていけてなかったです。
Rustはコンパイラを通るだけである程度の検証を通っている。
Rust で形式検証 GitHub - model-checking/kani: Kani Rust Verifier
展望の「実用に基づいた理論を研究したい。Rustの形式検証とOS開発に興味がある。」のところでやっとなぜ検証入門の勉強をして嬉しいのか何を目指しているのかがちょっと雰囲気がわかりました。
まず『言語』から始めるソフトウェア開発
wakate2024_中神悠太_発表資料.pdf - Google ドライブ
コンパイラ(フロントエンド)が好き
字句解析とか構文解析とかがコンパイラ(フロントエンド)で、さっきの発表の意味論とかがバックエンドらしい。
TypedCFG面白い。発表の流れがうますぎて「これ今までなかったの?」という気持ちに。
中神さんはとても楽しそうに、とてもわかりやすいスライドで発表していて、聞いていて楽しかった。
LT会
たくさん面白い発表があって面白かった。
あなたの知らないiOS開発の世界
SwfitとLLVMは親が同じ。
Swift言語の基礎的知識をクイズ形式で。
Automatic Reference Countingの話とか。SwiftUIとか。
餅から米!神エクセルを(ほぼ)全自動再構成して爆速でバス時刻表を作る話 [ショート]
GTFSの話。
時刻表を作るの大変。ありえん周り方のバスとか。
「時刻表を立てる」とか専門用語が出てた。
Q. (名古屋市で)GTFS公開されていないのにGoogle Map載ってるのなぜなのか
A. 名古屋市交通局は乗換案内を含めたWeb構築をジョルダンに委託(随契?)していて、ジョルダンがデータをGoogleに提供してるから(そこまで含めた委託契約なのかは不明)
(が、更新が遅いのでダイヤ改正時期に問題になってます
ちなみに、GTFSは有効期限を設定するパラメータがあるのでその問題は起こりえないです
時刻表の時間が違う! - Google マップ コミュニティ (公共交通利用促進ネットワークさん))
Q: なぜやる?
A: 私がバスが好きだからです。
Q: なぜ公開されてたりしない?GTFS等のオープンデータ作成を通してバス利用者増加に繋げようとしない理由は何かあるのか。
A: わざわざデータを公開するメリットがない。地元の人たちには地方報とかで出してるかもしれないが、オープンにやる金銭的メリットがない。富山県だとGTFSの公開が義務付けられていたりする。
Q: 地図アプリによって使いやすさの違いはあるか?
A: 裏のデータがアプリによってちがう。ジョルダンか(もう一つどこか)。名古屋での乗り換えを使う時はジョルダンを使っている。一般的に使いやすいと感じるのはGoogle MapsやYahoo!乗換案内とか?
最後に自分が作った名古屋市内のバスの時刻表の厚い同人本を一冊売ってた。
楽しかった。
今年も楽しかったです。去年と比べて同じ団体(大学のサークル、会社)からたくさんきていることが多くて賑やかだった。夜の会も楽しかった。また来年も参加したいですね。
去年はLT発表をしたけど今年はネタがなかったので来年来るとしたら何か発表したいですね。
wakate.org
去年のブログ。
momoka0122y.hatenablog.com