COSCUP 是由台灣開放原始碼社群聯合推動的年度研討會,起源於 2006 年,是台灣自由軟體運動 (FOSSM) 重要的推動者之一。活動包括有講座、攤位、社團同樂會等,除了邀請國際的重量級演講者之外,台灣本土的自由軟體推動者也經常在此發表演說,會議的發起人、工作人員與講者都是志願參與的志工。
COSCUP 的宗旨在於提供一個聯結開放原始碼開發者、使用者與推廣者的平台。希望藉由每年一度的研討會,來推動自由及開放原始碼軟體 (FLOSS)。
COSCUP 是由台灣開放原始碼社群聯合推動的年度研討會,起源於 2006 年,是台灣自由軟體運動 (FOSSM) 重要的推動者之一。活動包括有講座、攤位、社團同樂會等,除了邀請國際的重量級演講者之外,台灣本土的自由軟體推動者也經常在此發表演說,會議的發起人、工作人員與講者都是志願參與的志工。
COSCUP 的宗旨在於提供一個聯結開放原始碼開發者、使用者與推廣者的平台。希望藉由每年一度的研討會,來推動自由及開放原始碼軟體 (FLOSS)。
透過 AMaCC 來學習可自我編譯的 C 編譯器
Casper FFG 是以太坊權益證明共識演算法之一。其中核心的程式碼是只有一頁的智慧合約撰寫而成。在這個短講中會提到在 2018 年這個程式碼的演進流程,以及怎麼樣透過修改合約內容,讓客戶端少寫許多程式碼
當 block chain 走入大眾眼眶,多數人不是被炒幣給攫住目光,就會馬上想到是不是要去買一把韭菜了。其實在主流的 block chain 應用中都有非常不錯的軟體藏在其中。Ethereum 是一個可以部署 Smart contract 應用的平台,在這個範圍裡,可以看見一個把 smart contract 變成 bytecode 的 solidity compiler 也有一個可以執行 bytecode 的 ethereum virtual machine。
而面對像這樣一個全新的大型專案,看到裡頭洋洋灑灑數千甚至數萬行程式碼,讓人很容易卻步,也不容易在短時間內熟悉內容。
在本次的議程中,我將分享自己是如何快速地從全新的專案中了解內部的架構設計:
In this session, we will go through kubernetes apiserver source code and identify the following main features in apiserver source code:
Language server protocol (LSP) is a protocol for both programming languages and text editors. This session introduces what kind of features LSP offers and how it can be implemented on the IDEs and possibly languages.
Linux Iptables 是一個強大且好用的防火牆工具,透過不同的規則與指令來達成各式各樣的網路功能,本次內容將分享這些功能背後的運作原理,同時也會介紹如何自行實現一個 iptalbes 的模組來客製化功能。
Introduction to the llvm SmallVector
AI or more precisely neural network-based machine learning is getting popular on edge devices. In this talk I'll review important open source NN frameworks, namely TensorFlow Lite + Android NN and Caffe2. Then I'll walk the audience through important source code of TenorFlow Lite and Caffe 2. For TensorFlow Lite, the interpreter and sample command line label_image will be covered. The talk will be a heavily modified one of [1] and [2], a much more code-oriented one.
[1] https://www.slideshare.net/kstan2/introduction-to-tensorflow-lite
[2] https://www.slideshare.net/kstan2/caffe2-on-android
不管是 open source 專案還是工作上,經過長時間開發累積,source code 內可能會殘留許多不再需要的 code,造成維護以及 refactor 的困難,也造成新手 trace code 時的障礙。
對 C/C++ 這類編譯式語言來說,開啟編譯器最佳化能自動清除 dead code,但對於 Python 這類動態語言,則沒有公認完美的方法。
本議程分享一些相關經驗,佐以利用 Python AST 的簡易自製工具,討論如何從較複雜的 python source tree 中,安全的清除不再需要的 code。
Linux 的 Shell 組成批次檔可以很簡單,也可以很複雜,如何寫出較不易出錯批次檔,如何將雜亂的批次檔排整齊
Swift 的 內建 Collection Type (Array, Dictionary) 有許多有趣的特性,
它們是 Value Type,每一個變數的值都是獨立的,所以不會改了一個變數卻害另外一個也一起變。
但是在效能方面,卻又能和普通的 Class Type 一樣能夠被快速的修改和複製。
讓我們一起從程式碼來探索 Swift Dictionary 是如何做到這些實用的特性。
想成為優秀開發者,大量閱讀開源專案程式碼是必要的。本演講將分享講者閱讀開源專案時所發展與實踐之方法及技巧。內容包含降低專案複雜度、修改 module dependency 追 code 工具、專案統計數據分析、深度與廣度走訪專案程式碼。此內容已於 pycontw 2017 年演講過,當時內容僅涵蓋「開放原始碼專案原始碼追蹤分析『心得經驗』分享」。此次投稿,將新增「開放原始碼專案原始碼追蹤分析『相關輔助工具』(tig, git-timemachine) 的介紹」,以及橫 \ 縱向專案走訪心得。希望能將自己歸納之系統性追 code 方法分享給大家。