程式設計週記[2017/03/24]: 好好學習 Kubernetes 跟 Tensorflow

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

深刻體驗到時間不夠用的痛苦,又需要準備四月份的一些演講,又需要弄公司的東西,不過相當得充實又有趣啊.

四月一共有一場分享加上一場大型研討會.雖然兩個都會提到 Tensorflow ,但是內容有些不太一樣.



Go

Slide: 簡單介紹 golang 使用的 gc 演算法

介紹 GC 演算法在 stack 的 scan 方式,在 Go 1.7 的時候 stack rescaning 會造成 GC Pause (俗稱的 Stop-The-World).

在 Go 1.9 的 Proposal Eliminate STW stack re-scanning 就是為了要減少這樣的問題. 在 1.8 已經預設打開.

參考: DK 的文章

Automatic Stackdriver Tracing for gRPC

這篇講解了如何透過 Golang 來撰寫一個使用 stackdriver (也就是 Google 之前所併購的線上分散式追蹤 distributed tracing 的工具) 來查看在 gRPC 下問是否有任何問題.

想要試試看 Open Source 的 distributed tracing ? 那麼可以試試看最近進入 CNCF 的 Open Tracing . 官方的部落格有一個範例讓你學習如何用 Golang 透過 Open Tracing 來追蹤 http latency

名詞解釋: CNCF (Cloud Native Computing Foundation) 是由 Google, Intel, CoreOS 與華為 等等各家網路 大公司所組成的協會.主要選取一些優秀的服務來推廣適合作為 Cloud Native Computing 之用.. 目前裡面的軟體有: Kubernetes, Prometheus, Fluentd 與 GPRC .. 等等 Cloud Native 上重要的服務

3.5 Years, 500k Lines of Go (Part 1)

juju 是ubuntu 開源出來使用 Golang 開發的 devops 工具,目前已經開發了超過三年多的過程.他們分享在公司內部如何使用 Golang 的.

不論是如何做 package management (使用 godep) 或是專案的如何組織與分割各種不同的 repo .分享了許多使用 Golang 作為大型專案開發的經驗,很推薦大家一起來學習.



Python

Qix-/better-exceptions: Pretty and useful exceptions in Python, automatically.

可以讓 python 的 exception 顯示得更漂亮.

Android/JAVA/NODE.JS

derhuerst/tcp-over-websockets: Tunnel TCP through WebSockets

透過 websocket 來做 TCP tunnel .



Docker

iOS/Swift



其他程式語言



論文收集



Kubernetes

Lessons Learned: Using Concourse In Production

這篇介紹了 ChatWork 這間公司從 AWS EC2 + Jenkins 移到 Kubernetes Helm + concourse CI 所學習到的一些課程.

有好的部分,也有一些犧牲,挺值得看看的.

https://kubernetes.io/docs/concepts/cluster-administration/access-cluster/ 搞懂 API server ….

  1. token, namespace 只能在 pod 裡面使用…
  2. API server 也建議從 pod 裡面呼叫…
  3. pod 裡面都會有 /var/run/secret ….. 的資料… 裡面就是從 pod 裡面設定的權限…

參考

Monitoring Kubernetes

由 sysdig 寫的技術部落格,主要是講解如何在 Kubernetes 上面做監控( Monitoring ).內容整理得相當好.

一連有五篇,一開始從 Kubernetes 的基本開始介紹.並且介紹大家常用的 cAdvisor, Kubernetes Dashboard, Kube-state-metrics 跟 Probes.並且也有介紹經常遇到的問題與解決方式.

當然.. 最後會廣告一下他們自己的產品 XDD



Machine Learning

GitHub - readbeyond/aeneas: aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)

有人寫出透過 python 與 c 來做自動對聲音跟文字的工具.

GDG-Shanghai 2017 TensorFlow Summit Recap

GDG SH RECAP slide 相當有幫助喔

Neural Networks and Deep Learning: Free online ebook

不錯的電子書關於類神經網路與深度學習.

Index of Best AI/Machine Learning Resources

整理一些不錯的 Machine Learning 的資源.

Practical Deep Learning For Coders, Part 1,

快速學會寫深度學習的程式,免費 18 小時線上課程

Models built with TensorFlow

這邊列出不少透過 Tensorflow 建立出來的有趣 ML Models ,不論是 image to text 或是 NLU 專案都有.

[slide: Stream Programming

with Kafka Streams](https://docs.google.com/presentation/d/1YOFdWrNtXQccKuup8OO-DIARN4V5eft3N9-TwZb4rBw/edit#slide=id.p)

強者我同事在 Flink Meetup 上面討論關於 Kafka Streams

Data Coding 101 – Intro To Bash

許多.. bash 相關技巧,對於做 data coding 的人有很多幫助.



網站文章

Learn how to design large-scale systems. Prep for the system design interview.

[學習如何設計一個具有規模的系統]

這一篇整理了很多大型系統會用到的一些範例,原本作者是準備要作為面試之用,裡面整理了許多關於大型或是分散式系統的設計原理,原則甚至是一些模式.

雖然我們都已經經常在使用,但是這一篇文章相當適合當作大型系統設計的教材.

I’ve been a Web Developer for 17 Years, and this is what I learned - Daniel Khan

很有趣的故事…. 也可以看到這十多年 web developer 的改變

OpenTracing: Towards Turnkey Distributed Tracing

舊聞… 不過看完就知道 opentracing 為何可以進 cncf 了.. dapper 論文發了之後… distributed tracing 就是顯學…

雖然是官方的廣告 blog 不過整個介紹的夠清楚…

網站收集



有聲書/影片心得

[TIL] 分散式系統上的追蹤

Automatic Stackdriver Tracing for gRPC 這篇講解了如何透過 Golang 來撰寫一個使用 stackdriver (也就是 Google 之前所併購的線上分散式追蹤 distributed tracing 的工具) 來查看在 gRPC 下問是否有任何問題.

講到 stackdriver,主要就是為了要解決在大型分散式系統中如何追蹤多個系統間相互溝通的問題. 有幾個很棒的系統,像是 2010 年 Google 發表了論文 ( Dapper, a Large-Scale Distributed Systems Tracing Infrastructure)),還有 Twitter’s Zipkin 也都是佼佼者.

但是最近進入 CNCFOpen Tracing 就相當的優秀,不僅僅是開源的系統,更提供各種語言的連接工具.

Open Tracing 官方的部落格有一個範例讓你學習如何用 Golang 透過 Open Tracing 來追蹤 http latency

名詞解釋:

CNCF (Cloud Native Computing Foundation) 是由 Google, Intel, CoreOS 與華為 等等各家網路 大公司所組成的協會.主要選取一些優秀的服務來推廣適合作為 Cloud Native Computing 之用.. 目前裡面的軟體有: Kubernetes, Prometheus, Fluentd 與 GPRC .. 等等 Cloud Native 上重要的服務

參考:

程式設計週記[2017/03/17]: 想要學習一件技術最好的方式,就是先去報名分享的研討會(誤)

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

最近聽到同事 J 的名言 : “先去報名分享,就會學習到這門新的技術”

挺好的.. 所以我也去報名了一些研討會,於是又欠一堆 slide 要準備.最近加緊在學習 Tensorflow 中.

最後,很久沒有寫小專案了.於是手會癢(剁手) 就跑去刷 HackerRank 的題目(因為裡面有 Go ).很好玩,裡面 easy 的真的太 easy .. 不小心刷到 Hard 的還會要求時間複雜度,真有趣啊.



Go

Fission: Serverless Functions for Kubernetes

fission 是一個透過 Golang 完成的 kubernetes serverless function 的伺服器.

目前 serverless 支援的語言有:

  • dotnet
  • python
  • nodejs
  • php7

Giving dep a try: Using the new Go dependency tool with piladb

Dep 已經越來越重要了,甚至被考慮當成官方套件之一。這篇文章透過使用 dep 來開發 piladb 一個堆疊式資料庫。整個流程可以學習使用 dep. 來看看吧。

Go doesn’t support exception, in syntax. Go has many exceptions, in syntax.

覺得 Go 有很多語法限制嗎? 其實他也是有很多語法例外,來看看這篇的介紹,很多沒想過的語法例外。

這篇文章看了好幾天,終於看完. 透過 #Golang 來介紹 Linux 中與 Kernel 溝通的另外一種方式 “Netlink”

本文的作者原來是在看 Prometheus 的一個工具 node_exporter 的時候發現一個跟 WiFi 的有關的 issue ,看了幾個禮拜後發現是 ioctl 太慢了… 於是就決定要換成 Netlink

[科普] Netlink Socket 是一種在透過 kernel 來傳遞訊息的方式,但是跟一般常用的 ioctl 不同的是 Netlink 透過 udp 來傳遞,不需要像 ioctl 一樣需要有透過 response ,所以他的速度比較快.

Netlink Socket 優點:

  1. 透過 UDP 沒有 ioctl 的 kernel round trip time
  2. 可以一次發給同一個 group 中的 user process

缺點:

  1. UDP 老問題.. 你不確定對方有沒有收到
  2. 由於透過 socket 其實感覺不如 ioctl 那麼的直覺

這篇文章也附上透過 Go 來實作 Netlink 的 github 可以看看

BTW: Prometheus 的 node_exporter 感覺很好用??

Netlink Go package:

關於 Netlink Socket 可以參考

knq/usql: usql is a universal command-line interface for SQL databases

一個很方便的工具,只要輸入 db connect string 就可以透過 cli 操作資料庫

aschagrunert/ccli: Command line parsing in go, with coloring support 🌈

一個撰寫 cli 的套件,類似於 spf13/cobra 只是可以讓他更多顏色



Python

Android/JAVA/NODE.JS

A blockchain in 200 lines of code

使用兩百行代碼來開發簡單的區塊鏈.



Docker

iOS/Swift



其他程式語言



論文收集

Challenges to Adopting Stronger Consistency at Scale

找時間要看…



Kubernetes

Introduce Kubernetes Course

基礎的 Kubernetes 教學… 有興趣的可以上去學學

Getting Started With A Local Kubernetes Environment

想學 Kubernetes 卻不想要開 AWS 或是 GCP?

那就看看這篇網頁吧,裡面把所有本地端可以學習 Kubernetes 的方式都詳列出來.不論是 cluster 或是 single mode

BTW: Corel APP for Mac OSX 跟 Kubernetes Cluster for Mac OSX 很方便啊..

johanhaleby/kubetail: Bash script to tail Kubernetes logs from multiple pods at the same time

一次可以拿 K8S 上多個 POD 的 logs



Machine Learning

A massive dataset of manually annotated audio events

Google 開源他們一些研究的音效資料集.

在TensorFlow 1.0上實現快速圖像生成算法Fast PixelCNN++

伊利諾大學香檳分校的研究者在 GitHub 上發布了一個快速圖像生成算法 Fast PixelCNN++的實現.論文在這裡

[Asgard is deprecated at Netflix. We use Spinnaker ( www.spinnaker.io ).] Web interface for application deployments and cloud management in Amazon Web Services

Netflix 舊版的雲端管理系統,雖然已經被廢棄掉.但是裡面的 wiki 有一些不錯的文章,比如說:

Baidu Deep Voice explained: Part 1 — the Inference Pipeline

百度公佈他們的最新系統 Deep Voice 號稱比 Google 的 WaveNet 還要快速可以產生 TTS (Text To Speech) 並且具有情緒與其他各種可以調整的部分. 這一篇就是來講解 Deep Voice 的方法,第一部分就要探討他的 Inference Pipeline . 關於 Deep Vioce 這裡有中文介紹[engaget]

如何面試資料科學家? (How to Interview Data Scientist?)

這些建議很忠肯… 我當初幫忙面試團隊中的夥伴們也都有依照這個方式.

Moocs: Big Data Analysis with Scala and Spark

雖然也是 Scala 這次的課主要專注在 spark 跟 distributed data parallelism

jostmey/NakedTensor: Bare bone examples of machine learning in TensorFlow

一些簡單的 tensorflow 範例

google/seq2seq: A general-purpose encoder-decoder framework for Tensorflow

Google 開源的 encoder-decoder 工具,本來是使用文字翻譯支用,但是 Google 強調這應該是 tensorflow 上通用的一個工具.



網站文章

vscode-tips-and-tricks: Collection of helpful tips and tricks for VS Code.

搜集 vscode 一堆訣竅與 tips ,由微軟編輯的

JWT (JSON Web Tokens) is a Bad Standard That Everyone Should Avoid

裡面提到 JWT 是不好的標準,還會讓你系統變得脆弱外.

drduh/macOS-Security-and-Privacy-Guide: A practical guide to securing macOS.

Mac OSX SEP: MacOS 的安全和隐私指南



網站收集



有聲書/影片心得

程式設計週記[2017/03/03]: 到新加坡出差,努力學習 Tensorflow

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

本週很榮幸地收到邀請到新加坡去參加 Machine Learning Expert Day 並且跟來自世界的其他學習 Machine Learning 的人一起討論.看到世界各國的人熱心的在社群裡指導著人們學習 Machine Learning 與 Deep Learning 就讓人感受到他們的熱情.



Go

Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)

今年有一個廠商 [GoherCon India 2017] 挺有趣的, TIBCO 這家公司作出了一個類似 Node-RED 但是完全使用 Go 改寫的 IOT 平台 “Flogo”

這一篇官方部落格有 demo 並且指導如何跟 Flogo 來對接.. IDE 用的是 LiteIDE

Github 在這裡

第三届GopherChina大会

GopherChina 2017 的報名網頁,講者很不錯. 除了大家熟知的 Francesc and Dave Cheaney 還有很多大陸的 Gopher .挺值得報名的

lucas-clemente/quic-go: A QUIC implementation in pure go

QUIC 全名是 (Quick UDP Internet Connection) 是 Google 基於 UDP 上面建置的傳輸協定,一開始只有在 Chrome 上面有,並且要透過 chromium 專案才能編譯的出來(並不好準備編譯環境) .

現在不需要那麼痛苦了.. 因為全部都使用 Go 做出來了,你可以全程在 Go 裡面編譯並且試試看 QUIC 這個傳輸協定.

rook/rook: Open, Cloud Native, and Universal Distributed Storage https://rook.io

Rook 是一個倡導是 Cloud Native 開發概念的儲存工具,開發概念完全基於 ceph (一個大型儲存伺服軟體) . 當然完全都是透過 Go



Python

Android/JAVA/NODE.JS



Docker

iOS/Swift



其他程式語言



論文收集



Kubernetes

Autoscaling in Kubernetes

Rule:

  1. Auto-Scale node is support by setup min/max node in Kubernetes
  2. It will auto-scale node when there is pending pod (Important)



Machine Learning

Tensorflow Dev Summit Playlist

Google 日前 (02/24) 舉辦的 Tensorflow Dev Summit 的當天,也正式宣布了 Tensorflow 1.0 . 這個播放清單總共有 19 段影片,很推薦有興趣的人好好的看看,推薦一些重點給大家:

Keynote: 由 Google Brain 的 Leader Jeff Dean 展開的,帶來 Tensorflow 1.0 所有演進的部分: 更快,更有彈性,更寬廣的使用. 沒有太多時間的話,建議看完這篇.

XLA (Accelerated Linear Algebra) : 可以將 Tensorflow 的 Graph 加以編譯使用最快的方式來執行,也就是說不論你的 Tensorflow 使用 Python, Java 還是 Go (對!!有喔) 都可透過 XLA 將 Tensorflow 的 Graph 編譯成相當有效率的 machine instruction 然後在 C++ 寫成的 Executor 上面來執行.

Tensorflow at Deepmind: Deepmind 就是 Google 花了大錢併購的深度學習公司,並且讓他們由原本使用的 Torch 改到了 Tensorflow ( 據說原因是: Flexibility, Usability Scalability 跟 Performance ) 裡面同時也有講解一些 Deepmind 的豐功偉業,包括了節省了 Google IDE 的 60% 冷卻費用 , GORILLA (Google Reinforcement Learning Architecture) ,當然還有大家最熟知的 Alpha Go 裡面的兩個類神經網路的架構都有稍微提到. 很推薦大家看看

先推薦大家三篇… 這幾天應該會陸續推薦 :p

TensorFlow Ecosystem

這一篇影片,很建議 Data Engineer 好好看看 ecosystem 這個 repo ,裡面有很多工具可以幫助到你.分別有:

  • Common Setup Distributed Tensorflow: 完整的步驟,教你如何建置出分散式的 Tensorflow.並且敘述如何在上面使用 Between-Graph 的方式來讓分散式 Tensorflow 運作得更有效率.
  • TFRecords: 可以幫你從 Hadoop (相同方式也可以從 Spark ) 將你讀入或是將寫出的資料轉到 Tensorflow 的 TFRecords 中.這麼一來就可以透過 Tensorflow 的架構來做資料處理的工作,速度將會相當的快.
  • Cluster Manager: 如果你本身有使用 Kubernetes, Marathon/Masos 或是 Hadoop 來管理 cluster ,你也可以透過它提供系的相關工具來部署你的 Tensorflow Distribution Cluster .
  • 關於儲存媒體上: 裡面也推薦使用 GCS(Google Cloud Storage), HDFS 跟 AWS ,尤其在 TensorBoard 與 TensorServing .
  • 兩種 Model 輸出的方式: SaveModel 可以儲存所有變數,GraphDef
  • 其他語言的支援方面,目前僅有 Python 能夠 Train model 其他語言都只能 Build, Execute Model

一篇主要是講解,如果你原來是使用 Hadoop, Spark 可以看看 ecosystem 這個 repo 可以幫助你快速轉換.

[Paper] Benchmarking State-of-the-Art Deep Learning Software Tools

香港大學的論文在這篇論文都很推薦 MSFT 的 CNTK 效能依舊有 5~10 倍的差異.

[TensorFlow 學習資源] Stanford 課程

Stanford 在今年一月有公開他們的 TensorFlow 課程,內容相當的廣泛並且有相當多的資訊可以參考. 這個鏈結中有相關的課堂投影片與筆記.

如果覺得這個太複雜,幾個簡單的資訊分享一下:

  1. Google Codelab - Tensorflow for Poets: 就算你不是資料科學家也可以跑跑這個 codelab ,隨著一步步的指導可以很快速地學會怎麼在本地端透過 docker 來跑跑 Tensorflow 運算一個結果.

  2. Google Tensorflow-Intro Codelab: 今天在 Google 開放比較豐富的內容,這個 codelab 你會學到使用 BigQuery, Google Cloud 跟一些簡單的 Deep Learning 概念.並且透過 Jupyter Notebook 來跑跑看一些 Deep Learning 的範例.

This Machine Turns Trump Tweets into Planned Parenthood Donations

透過美國新任總統 Trump 的 tweet 來分析哪些公司會受到影響而有股市的動盪,目前已經是一門顯學.很有趣的分析.



網站文章

How I Got From 0 to 1 000 Stars on GitHub in Three Months With My Open Source Side Project



網站收集

Why I Don’t Talk to Google Recruiters

這篇文章很有趣,其實是上個禮拜看到的文章.又把它翻出來看.因為最近一堆大神在自己的 Twitter 上面自嘲說即使是像自己工作了那麼多年,寫程式依舊需要 Google 或是依舊不會在白板上面寫出一些演算法考題

以下收集大神自嘲列表:

  1. DHH (Ruby on Rails 發明人、Basecamp 創辦人兼 CTO) 自嘲不會在白板上面寫 Bubble Sort

  2. Tim Dierks 身為 Google Security 的 Lead 並且有三十年的程式經驗也說自己需要 Google 才能拿到 Python String 的長度

歡迎提供其他大神自嘲 Tweet



有聲書/影片心得

[Tensorflow] Google APAC Machine Learning Expert Day

Tensorflow Dev Summit Recap

Keynote:

  • TF Goal:
    • to introduce ML to everyone
  • TF feature:
    • Scalable
    • Performance
  • Widely usage for TF
  • Multiple device for TF
    • TPU
      • ASIC
      • 10x faster
  • TF for everyone
  • TF 1.0
    • Feature:
      • Fast
      • Flexible
      • Product-Ready
    • More ML
      • K-means
      • SVM
      • Random Forest

XLA

  • What is XLA (Accelerated Linear Algebra)
    • JIT Complication
    • JIT
      • Program built at runtime
      • Low-Overhead complication
    • TF-Level Block Diagram
  • Why excited about XLA
    • Server-side speedups
    • XLA’s JIT compilation and specialization
    • Model-shaped benchmark wins up to 60%
    • SyntaxNet from 200us —> 5 us
    • Mobile footprint reduction
    • Cross-compile for AMR, PPC, x86
    • LSTM model for mobile: 2.6 MB —> 600 KB (4x reduction)
    • XLA’s high-leve optimizer
  • Caveats:
    • Not all Ops compile
    • Not everything is faster
  • JIT :
    • Improvement lot in GPU
    • But still WIP in CPU (slower when use CPU)

TensorFlow High-Level API

  • Original Tensorflow:
    • Flexible,
    • Extensible,
    • Maintainable
    • No Out-of-the-bix algorithm
  • Fast Iteration
    • Estimator could train, fit, predict for models.
  • Encodes best practices
  • Deploy with Tensorflow Serving
  • Distribution
  • High Level API
    • Layer
    • Estimator (1.1)
    • Canned Estimator (1.2)
  • Keras
    • tf.keras (1.2) tf.contrib.keras(1.1)
    • tensorflow.layer and keras.layer is the same
    • run keras on tensorflow help keras user
      • Use distribution training
      • Cloud ML
      • Tensor Serving
  • Wide & Deep Learning

Lightening Talks:

  • Rayan Z
    • How to teach machine learning to non-tech people.
    • GDG
    • Women in Tech
  • Sin c
    • How your data could be trusted.
  • Alex B
  • Donghyun Kwak
    • Policy Learning in Sparkse Reward Home Simulation with Introspec
    • Home Robot
    • 26% improvement
  • Tomoyuki Chikanaga:
    • Magellan block
      • Make GCP service as building BLOCKS
    • Inspection of cloud machine learning hyper parameter tuning
  • Sprawit Saengkyongam (James)
  • Sung Kim
    • 70% code are redundant
    • Ongoing:
      • iOS to Android
      • Auto determine copy homework
  • Jeongkyu Shin
  • Luke (freelancer in Australia)
  • Masahiko Adachi (GDE)
    • Robot with Neural Controller
  • Norihiro Shimoda
    • TFUG (300 member per meetup)
  • Mithuhisa Ohta (deep learning team leader)
    • Image classification by car
    • Obejct Detection
    • Anomaly Detection
    • Robot pickup staff by speaking
  • Karthik Muthuswamy(GCPUG)
    • Object Detection
      • Challenge: Need enough resource
  • Thia Kai Xin
    • Data Scientist SG
    • Big data SG
    • Current situation:
      • Lots of requirement (Data Scientsit) in SG, but no supply.
      • Student could not meet market
  • Andrew Stevens (CTO and Architect : two company)
    • (Security Analysis) Anomalies in time series for RNN
    • Challenge:
      • Data –> Build Data As A Service.
    • Passonate about:
      • Kickoff tensorflow user group in SG and AUS
  • Yoshihiro Sugi
  • Martin Andrews
    • A usb flash drive for jupyter tensorflow 1.0
      • Also include notebook
        • CNN
        • RNN
        • Reinforcement learning
    • github
  • “Ta” ex-facebook data scientist
    • News Feed Tanking with Human-in-the-loop
    • Thai Programmer Association
  • Sujoy Roy (SAP)
    • SAP Clea: Lots of machine learning product (CV, Bot, IOT…)
  • Talha Obaid - Samantec Email Security
    • Semantec
      • Scikit Learn, Spark
    • PyData SG meetup
      • 2.1k members
  • Amit Kapoor (Teaching DS)
    • Teach ML
      • Provide learning path, enable sharing
    • Visualization by markdown (model-vis Approach)
  • Nichal & Raghotham (UnnatiData Labs)
    • PyData
    • Music Generation
  • Christin (Master Student in Malasia)
    • Round text detect (also other direction of text detection)

程式設計週記[2017/02/24]: GopherCon India 2017 眾星雲集

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

下週就是 MWC 2017 公司有參加聚會,並且有兩個攤位. 為了要準備這一連串的攤位展示,同事們忙了很久的產品也可以來展示一下.

這兩週小孩子的身體都不太好,好像也感染給大人.連我都不小心得了重感冒,後來才了解重感冒嚴重的時候,其實就跟喝醉酒一樣啊.整個頭根本一整個暈到個不行.



Go

谢孟军:The State of Go | ECUG Con 精粹系列

Beego 的作者分享 The state of Go ,同時他也是 Gopher China 的的創辦人.

FiloSottile/HeartbleedA checker (site and tool) for CVE-2014-0160 http://filippo.io/Heartbleed

Filippo Valsorda 是一個在 Cloudflare (恩.. 最近很出名的公司 XD) 從事加密工作的,他經常發表很多跟資訊安全與加解密有關的專案. 這是一個透過 Golang 來檢查是否有 Heartbleed 也就是檢查系統是否有 OpenSSL Leak 的套件.

You, latency and profiling @ GopherCon India 2017 by Filippo Valsorda

Filippo ValsordaGopherCon India 2017 的講題: 如何透過 pprof 針對減少 latency 的方面來提升你的 golang app 效能. 並且針對這個 talk 他臨時還寫了一個小工作 在這裡

GopherCon India 2017

這兩天跟舉辦完的 GopherCon India 2017 可以說是眾星雲集:

  • Francesc Campoy Flores (也有來過台灣的 Francesc 身為 GCP 的 podcast 主持人也是 Golang 的 Advocator)

  • Daniel Whitenack: Go for Data Science 的作者,不斷地倡導使用 Golang 來做 Machine Learning 的作者

  • Filippo Valsorda: Cloudflare 的加密部門 (話說最近這間公司很紅喔) 他有很多使用 Golang 的資訊安全工具都很方便.

  • Ian Lewis : 另一個 Google Advocate 在台灣算很常看到,因為他都來推廣 Kubernetes 跟 Google Cloud

  • Matthew Campbell: “Microservices in Go” 的作者 (這本書我從 beta 就買了)

接下幾天,我會挑幾個裡面很有趣的議題分享給大家…



Python



Android/JAVA/NODE.JS/Scala



Docker



Kubernetes

Kubernetes now Generally Available on Azure Container Service

K8S already GA on azure, also DC/OS already update to 1.8.8

DeepDive : Kubernetes Article List

在這裡整理一下強者我同事的關於 Kubernetes 的文章列表,歡迎大家一起研究.

  1. 在 AWS 上面使用 Kops 來安裝 (其實不難.. 只是要設定一下 domain)

  2. 如何透過 Kops 來設定 GPU node (本文 focus 在 AWS , GPU 日前才公布,歡迎大家交流心得)

  3. Open AI 有篇文章,講解他們如何透過 Kuberbetes 搭配 AWS 的 EC2 Scaler 來做 Auto-Scale ,這是一篇補充文章

最後補充 OpenAI 的文章在這裡



iOS/Swift



其他程式語言



論文收集

A fistful of Bitcoins: Characterizing payments among men with no names

Morning Paper 開始看 bitcoin 論文,該論文的作者 Arvind Narayanan 是開這門課的講師,上完三四堂,覺得能抓到很多重要觀念。

這邊也有筆記可以參考.



網站文章

My favorite command-line utilities

不論電腦變得多快,身為宅宅大部分工作還是在 command-line 下.這一篇選了很多好用的 command-line (zsh)

How APIs work — An Analogy For Dummies

寫的淺顯易懂… 關於 API 如何運作的.



Machine Learning

Learning to protect communications with adversarial neural cryptography

当机器学习遇上复杂网络:解析微信朋友圈 Lookalike 算法

講解在 Weixin 上面如何計算朋友圈的複雜演算法,其中包含著

  • 點擊量
  • 好友清單
  • 閱讀清單
  • 關注的網路

都是需要注意的,也有提到臉書跟 google 相關演算法,很有趣的內容.

Using Apache Spark for large-scale language model training

daleroberts/itermplot: An awesome iTerm2 backend for Matplotlib, so you can plot directly in your terminal.

可以讓你再 iterm2 上面顯示 Matplot ,這樣做 ML 更方便了.

Image-to-image translation using conditional adversarial nets https://phillipi.github.io/pix2pix/

使用 LUA 開發的工具可以讓你從一個圖片中學會並且做出類似的圖,比如說當她學會貓的圖片,不論你畫甚麼形狀的貓.都會把它變成貓..

你来手绘涂鸦,人工智能生成「猫片」:edges2cats图像转换详解

這一篇詳細解讀 pix2pix 的使用方式,並且透過一些有趣的使用方式(除了畫貓,還可以畫 Hello Kitty ) 來講解他如何訓練與預測.



有聲書/影片心得