今年餘弦杯兩天都去了,紀錄一下雜感。
8/3 Day 1
- 向 Linux 核心上游提交更動 by 蔡鎮宇
講 kernel patch submission SOP。我覺得跟 reviewer 的互動永遠都是最難的部份。
關於 git clone linux kernel: kernel.org 有提供每週更新的 bundle file,比從頭跑 git clone 更有效率。 - Refining Data Structure & Algorithm Implementations in the Linux Kernel for Improved Performance by Kuan-Wei Chiu
對 Heap sort 再做改進,想辦法減少比較運算的次數,即使是能少 traverse 一邊 subtree 或是一個 level 也是很顯著的改進。我覺得敢動這種教科書等級的演算法實做很需要勇氣,尤其是講者提到某個 ACPI module 把 sorting function 用在奇怪的地方就爛掉了,牽一髮而動全身。
話說想找 commit 出來朝聖的時候發現了某位名人的影子,我才意識到自己踏進了 system track 的場子… :p - Packet Party: Getting Down and Dirty with PcapPlusPlus by Anchi Liu
介紹 PcapPlusPlus 這套 C++ Library,可以當作 libpcap wrapper,也可以接 dpdk, pf_ring 等等常聽到的封包處理架構。 - Getting Started with MySQL on Kubernetes: Challenges and Solutions for Beginners by Shizuka Yasukochi
NTT Data 來的講者,有點意外像這種大公司也會做 k8s + MySQL cluster 從零自幹這種事。架設 MySQL server 會遇到的所有問題,塞進 k8s pod 一樣會遇到。 - Catching up trends in audio app development by Atsushi Eno
介紹音效軟體開發趨勢,常見 Audio C++ Libraries、已知 AI 應用場景、Audio Plugin 格式大亂鬥、最後是還是沒什麼人用的 MIDI 2.0 現況。不是搞音樂的,只能走馬看花。 - The Next Revolution in Open Source Operating Systems and Systems Software by George Neville-Neil
FreeBSD 的大人,講下一代開源作業系統的變革,回顧過去發展的東西都是基於 50 年前的舊架構,然後鼓勵大家多試新的程式語言、新的工具等等。
8/4 Day 2
- Advancing Hardware Enablement for Ubuntu: A Canonical Strategy by Rex Tsai
講 Ubuntu 如何跟 Silicon/ODM/OEM 合作,在新晶片新硬體上市的時候 Ubuntu 就有支援的各種努力。我覺得最大的難處應該是如何掛勾商業利益、讓合作夥伴能派人力,想想就很不容易。
有一張展示南部上千台 Notebook 的 Test Lab 照片很壯觀。:p - Hermes – A Time-series Profiling Tool by Chengendu
介紹 Ubuntu 硬體團隊自己開發的時序效能分析工具。裡頭提到許多透過 Linux 監測系統與硬體狀態的資源,我想對有在用 Prometheus/Grafana collector 做某些監控的情境很有參考價值。 - 如何抽取出 XZ 後門的惡意程式酬載 by 林博仁(Buo-ren Lin)
九成的內容介紹如何準備環境,xz 事件的技術細節只介紹從 sample test file 解出 malware payload 的部份。雖然是入門議程,但我猜大家想看的其實是藏在細節裡的所有魔鬼。:p - Rapidly Deploy NFV with VyOS on Kubernetes by 黃宇強 Date Huang
講 k8s 佈署 VyOS 提供 NFV 服務(IPsec tunnel, …)的應用場景。本來想說 k8s 已經有 CNI 在管網路,裡頭又塞路由軟體是否會有疊床架屋的感覺,但若是用在跨雲建虛擬網路通道之類的應用的話就可以理解這種用法了。那個 Juniper-like CLI 很有親切感。:p - D-Bus Usage and Debug Introduction by Jian-Hong Pan (StarNight)
方便有系統性的做 Inter-process communication 的函式庫與協定,取代自幹 UNIX domain socket 或是 FIFO… 做通訊。也增進不同軟體之間走 D-Bus 做 IPC 的互通性。看起來就是 freedesktop.org 生態系自己的軟體用最多。 - Optimizing On-Premise Kubernetes Networking with BGP by 葉家郡
地端 k8s + BGP ECMP 負載平衡,主要在介紹幾套 k8s CNI 跑 BGP mode 的比較。以前我也有想要做,但需要考慮的細節太多、當時跑 BGP ECMP 的 fault tolerance 效果沒有弄到很滿意,就沒有做成😭。會眾問到 BFD 支援的問題我覺得也有騷到痛點,在這情境 BFD 的責任不只要負責路由的通透性、是否也要負責後端服務的 health check?服務倒掉是要 BGP 這邊把路砍掉還是 k8s 透過什麼機制來退機器?傷腦筋啊。 - Linux user namespaces: a blessing and a curse by Ignat Korchagin
Cloudflare 來的大人,介紹 Linux namespace 的用法、使用情境、以及這幾年帶來的災難跟 CVE。自從 container 大行其道瘋狂用 namespace 切資源切權限,管系統的又要多學很多東西… 很不錯的介紹。
⚡Lightning talk / 閃電秀⚡
- emfont 中文 webfont 服務:「客家級壓縮」
- 關於我如何失去 100 萬用戶這件事 – Ben Lau: chrome manifest v2 deprecation 受害者
- 如何做一個好用的開源 SwiftUI Toast Library: 學到新詞「Toast of Tardiness」
- 你各位的 Open Source Project 建立在多脆弱的 Infrastructure 上? – Seadog007:
介紹 mirror.twds.com.tw 鏡像站,以及抱怨國內機構的鏡像品質不好、上游窗口很難找、跟主要 ISP peering 費用太貴沒對接以至於路由時常繞道國外… 我覺得架鏡像站這種事,只要把目標客群想清楚、把服務做到位就很棒了。至於做公益的部份就是量力而為,我猜國內的鏡像站八成也都是做公益不算業務績效,所以講到 Ubuntu/Debian 國內各鏡像怎樣怎樣… 我是覺得不必這麼義憤填膺啦。「生命自己會找到出路」:)