August 21st, 2016
前提:
今年是第三年參加 COSCUP ,其實也有些時候沒有參加任何的研討會.大概是因為已經給自己立定想法,必須要有想辦法當講者才能參加的信念.
而今年 COSCUP 我覺得議題都很不錯,可惜我因為要顧小孩只能參加第二天的場次(也是因為自己的場次在第二天).
參與場次:
Evan Lin - Project 52 每週一個小專案來學習Golang
Slide:
詳細的 Hackpad 在這裡,不少同學有做了一些筆記 .
影片:
講者心得:
第一次參與大型研討會,加上是 H0 有點大 XD ,說不緊張是不可能的. 一緊張就容易講得快,所以大概在 25 分鐘就把所有 slide 都講完了. 後面的時候還好有 appleboy 的救援與講解一些心得.
以下整理一些心得:
- 盡量準備多一點的 slide ,往往一張 slide 很難講到一分鐘.所以基本上應該要兩倍以上.
- 每張 slide 之間需要讓自己喘一口氣,避免讓台下的人也吸收不良.
- 如果想講一些 “木更” 也請記得慢慢講,讓台下的人有時間笑 (或是不笑 orz )
身為講者,其實都會很希望能跟聽眾互動.如果沒有辦法提問題,就算是結束後,你來講一句話也好.也期勉自己以後參加任何研討會都要想辦法跟講者互動.
Appleboy - 用 Golang 寫 Microservice
slide:
影片:
心得:
這場是我當主持的, Appleboy 幫我把許多 Golang 的概念與基礎介紹都講得相當清楚.如果你想了解如何寫 Golang ,很建議好好的閱讀他的 slide .
Jason Lin, Sas Chen - A High Scale ML Platform Using SPARK and KAFKA
內容:
擷取自 Hackpad (其實不少都是我打的 :p )
Batch Processing
- Recommendation
- Alternating Least Sq
- Log Regression
- GBDT
- Clustering
- Top-k rank
- Text mining
- naive bayes
- latent dirichlet allocation
- word2vec
- Streaming Data
- Original:
- product id -> get inventory -> update inventory
- Using multiple thread:
- Cannot promise the threading ordering.
- Original:
- Kafka also requires key partitioning
- Using product ID hash as key
- How to determine if your Kafka scalable
ML
- Synchronous:
- Get w, update back w’
- Asynchronous
- Get w, update delta w.
Davide Casali / Tammie Lister - Designing Inclusive Open Source Communities
影片:
心得:
兩位來自 WordPress 公司的人來講解如何建立一個開源程式碼社群. 裡面提到很多的概念,都相當的棒. 不過聽的人不太多,真是可惜.
主要內容都是當你的開源專案慢慢受到注意的時候,你該如何的分別主要開發者 (core lead team) 還有貢獻者 (contributors) .
如何參與開源專案的貢獻:
- 先了解每個專案的指南
- 可以試著問 issue 或是直接幫忙寫文件(應該會是最受歡迎的 PR :p)
- 幫忙翻譯
- 對於開源專案的貢獻絕對不僅僅是程式碼.可以是文件,可以是幫忙行銷.幫忙推廣都算是貢獻的一種.
並且如何去鼓勵每個參與者來積極的供獻你的開源專案,關於這部分有提到一些:
- 建立良好的指南,讓每個貢獻者覺得簡單並且受到重視.
- 對於每個貢獻者,絕對不要客氣地提到並且誇獎他們.
- 可以透過 Badge
- 當有任何 Release ,記得提到所有貢獻者.(就算只是問問題,寫個 README 的)
- 針對不同團隊來提到每個貢獻者.(如果有幫忙推廣的,也請記得提到)
- 不論如何,只要有幫助開源專案的人,都得想辦法提到他們讓他們有參與感.
以下部分截自 Hackpad (其實是我寫的)
- Culture Problem
- Timezone
- Power Problem
- Decision problem is in the code
- Decision making
- Personalities
- Diversity
- Kinds of diversity (age, gender …)
- Persona
- Core team growth
- Delegate
- Onboarding
- Feel welcome
- Encourage how to contribute
- Many ways to contribute
- Most easy way : write documentation
- Improve existing ticket (make it more valuable)
- Translation
- Transparency
- Discussion in the open
- Meeting etiqutte
- Call for topic
- Archive whole discussion
- Credit
- Not only commit, but also contribution.
- Profile Badges (coder, translator…)
- Show contribution history.
- Open to Failure
- Admin your failure
- Show people who failure but still can participate
Q&A:
- Q1: Who has the right the apply huge change?
- A:
- Depends on project side, could be project leader.
- Vote could be leading team who has bigger view of project.
- A:
- Q2: How to reject some PR you may not want to (nicely)?
- A:
- Some PR may wrong but come from great institute. Try to understand it.
- Try to understand the PR
- A: