這是什麼?
程式週記主要內容如下:
Gihub project 介紹:
- 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢
網路文章心得:
- 會寫些心得,強迫自己閱讀.
“程式週記”並且定期週期性更新.
大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.
本週摘要
本週是認真做事週,可以好好的把許多事情規劃並且處理一下.也更有時間可以把過去一些東西拿回來學學. 把 MOOC 繳費開始要學習,並且也要認真學習看一些機器學習的論文,看不懂就可以跟強者同事們討論看看.
Go
xtaci/kcptun: A Simple UDP Tunnel Based On KCP
kcptun 是一個透過 KCP (A Fast and Reliable ARQ Protocol) 來達成的 tunnel 的方式.
會注意到這個專案是因為以前的公司曾經為了 firewall penetration 而使用 UDT ( http://udt.sourceforge.net/ ) .但是 UDT 這個專案已經多年沒人維護,並且支援的程式語言相當的少 (C++) 要跟其他語言來結合就很麻煩.
快速整理: 在做 firewall penetration 由於封包特性,不使用 ICE protocol 下,最簡單方式就是將 TCP 封包改成 UDP 來做到資料傳遞到 stub. 但是 UDP 又沒有 TCP 的相關優點,所以有 UDT 這個將 TCP 的機制做在 UDP protocol 上面的專案.
KCP 看起來有不少優點: (https://github.com/skywind3000/kcp)
- 支援語言比較多 (Go, C#, Lua…)
- 沒有修改 socket 部分,完全透過演算法來用 (所以封包會大 10~20%)
- Header file 24 byte include control and data sync
- 近幾個月都還有在維護
UDT 比較麻煩點: (http://udt.sourceforge.net/)
- 只有 C++
- 一套完整的 UDP 解決方式,但是有不少雷可以踩
- Header file 16 byte, separate control and data sync
KCP 畢竟是強國人開發,中文文件不少可能是一個優點.
相關鏈結:
Ross Cox:My Go Resolutions for 2017
Python
Android/JAVA/NODE.JS/Scala
Building the TensorFlow android example app on Mac OS
讓 Tensorflow 跑在你的 Android 手機上面直接做 prediction .透過這樣的方式,就算你沒有網路也能讓手機跑已經學習好的機器學習模型.
不過這個範例需要的手機配備還蠻高規的,
Docker
Kubernetes
iOS/Swift
其他程式語言
論文收集
網站文章
AirBnB original deck in 2008
原本 AirBnB 在 2008 年的 pitch
The Infrastructure Behind Twitter: Scale
Twitter 在 2017 新的一年談到
另外可以看看 Uber Scale 的方式
RUNNING ONLINE SERVICES AT RIOT: PART II
Riot Game 介紹了他們的 Container Orchestration 架構 rcluster 是主要透過 Go 來完成的 ADMIRAL 來寫自己的 Resource Scheduler . 文章是寫在兩個月前,而這個系統其實是在目前的接近一年前開始探討與開發,當然他們也是有觀察過其他架構的:
- Mesos + Marathon (後來的 DCOS )
- 不容易架設
- 不支援 Container Group
- 當時尚未支援 Docker Container ( Mesos 一開始只支援自己的 Container 架構)
- Kubernetes (一開始的 LMCTFY )
- 當時還沒有 Constraint
- 之後有支援各種 constraint 或是 node select 甚至是之後的 1.5 要支援的 Taint
- Fleet
- 剛剛才 Open Source ,還不夠成熟
- 比較適合建置系統服務,而不像是給一般應用程式部署而用.
所以他們在半年前建置了自己的 Resource Scheduler (Admiral) 結合了 Docker Container 的概念與 Mesos Constraint 的概念來建置,讓整個系統其實很像… 目前的 DCOS (笑) .
最後的結論也提到,他們正在思考將 Admiral 慢慢轉移到 DCOS 上面來處理.
Machine Learning
谷歌云首席科学家李飞飞:人工智能 极客公园 2017 年 大会演讲
新智元:2016年全球AI巨头开源深度学习库Top 50
Gigaom对话吴恩达:迁移学习是未来五年的重要研究方向
Andrew Ng 談到他在百度的相關工作內容,並且提到 Transfer Learning 與 Multi-Tasking Learning 將會是未來 AI 的趨勢.
Multi-task learning(多任务学习)简介
創造AlphaGo的台灣「土博士」,他們眼中的黃士傑
黃博士的故事,這篇專注在他進到 DeepMind 之前的事情
A guideline from Google - Best Practices for ML Engineering from Google [pdf]
有聲書/影片心得
ATP 205: PEOPLE DON’T USE THE WEIRD PARTS
最近剛離開 Apple 到 Tesla 的 Chris Lattner 接受 ATP (ACCIDENTAL TECH PODCAST) 的邀請來談談 LLVM 跟其他相關科技. 記錄一下一些重點摘錄:
- 關於職涯轉換:
- 當然有談一下關於 Apple 跟 Tesla 在職業生涯上面的轉換. 對於 Chris Lattner 從工程師到管理階層的轉換,他自嘲不是一個所謂的 People person 但是他喜歡這方面的轉換.
- 有討論到 Apple 對於 Objective C 想要改善的想法,一直到了 ARC 甚至談到了 Swift 誕生的起因.
- 關於 Swift 的開源 (Open Source):
- Lattner 提到原本在他心中就覺得會發生,但是礙於公司政策無法來運作.
- 其實從一開始的 Commit 到相關工具的開發,都有顯示出來 Lattner 是從 Open Source 的角色來思考.
- 但是 Swift 2 Open Source 後, 公司無法規劃到說會得到那麼多的回饋.
其實有更多的部分,對於 LLVM GC 有興趣的人都很歡迎好好聽聽.整段訪問有兩個多小時.
從 HN 找到一些,關於 Chris Lattner 的八卦:
- 他一直都是一個實務派的人,所以小木屋與木工也都自己做. 照片在此:
備註一下: Chris Lattner 是 LLVM 跟 Swift 的發明者跟主要維護人.
參考:
- Swift creator Chris Lattner talks developer tools and career after recent jump from Apple to Tesla
- HN: Interview with Chris Lattner [audio] (atp.fm)
Meetup
GDG#32 《Tensor What? AI and Mobile - 行動應用與人工智慧》
昨天晚上 GDG Tensorflow on Android 的投影片:
心得:
雖然前一天已經把範例跑過了(需要 Nexus 5 以上手機) 但是這次演講對於 Machine Learning 由淺入深並且很有趣的介紹.