這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

好幾週沒整理文章,其中有去參加 GDGDev Fest Taipei 2016的演講.也有跑去參加 Chatbot Meetup 的演講.

最近有人在問我,還有沒有再寫 Code?

現在大部分的時間都是花在管理團隊跟時程還有產品討論.如果真的需要我寫代碼,其實都是自己想寫啊.名義上可能是說參加社群跟寫代碼都是自己想做的事情.所以都會自己用晚上的時間來做.

不過公司裡面都是社群大大,所以大家都蠻能體諒.加上大伙兒興趣也都一樣,做起事情來也特別的開心啊.就算犧牲晚上睡眠也是開開心心的. XDD



Go

google/gops: A tool to list and diagnose Go processes currently running on your system

gops 可以分析你目前跑的 golang app ,可以分析到所有的記憶體狀況外.甚至是 goroutine 都可以分析.

Go’s alias proposal and all my concerns of Google controlling Go

Go vendor 討論與 google 是否控制 Golang

Encrypted Configuration in Go

透過 Golang module 來講環境設定加密的方法 Kms Golang

grpc-go

在幾天前把使用的版本更新到 #golang 1.7.1 之後,據說有顯著的效能提升.

A note on the version used: significant performance improvements in benchmarks of grpc-go have been seen by upgrading the go version from 1.5 to the latest 1.7.1.

FromXToGo

如果你正從某個語言( java, Python, ruby. …) 想要換到 Golang 卻又害怕嗎?

這邊有一連串文章搜集好相關的故事,可以給你們一切參考。

Go - First Impressions

有人分享他自己對於 #golang 的第一印象

IronFunctions - the serverless microservices platform. http://iron.io

Iron.io 一直以來都是強力推動 Golang 的公司,現在他們提出了新的產品。 iron.io functions 一個基於 Golang 的 serverless 的平台。

How to write your own Go tool by Fatih Arslan

Fatma Arslan (vim-go 的作者) 介紹了如何透過 go/ast go/parser 與 go/printer 來製作 golang 的小工具,並且透過 gofmt 的 use case 來解釋如何透過這些工具來製作.

Introducing Distributed Cheese: Traefik 1.1 Camembert Is Out!

Træfɪk 是一個用 #golang 打造的 HTTP reverse proxy 跟 load balancer 具有高效能與友善的使用介面。 在最新的版本中支援了 docker swarm mode 跟 mesos. 快來看看

Go 1.8 toolchain improvements

Dave Cheney 解釋預計在 2017/01/31 將要釋出的 Go 1.8 主要在 toolchain 上的優化. 其中包含有:

編譯得更快: Go 1.7 就支援了 SSA(Static single assignment) 但是由於相容舊的方式,留了不少舊的架構. 1.8 完成了所有的優化並且拔光舊有的架構. 可以讓你編譯得更快, 雖然比不上 Go 1.4 (因為當時用 C 來做底層 Compiler 1.5 之後換成 Go 原生來編譯 Compiler ) ,但是也有長足的進步.

Code Generation 的優化: 對於 Code 分析與產生 (go gen) 有著些許的優化與速度提升.

Defer 與 cgo 的效能提升: Defer 提升 33% 而 cgo 提升 45%

平台支援: Go 1.7 支援 64-bit mips, Go 1.8 支援 32-bit mips

https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/ 這篇文章敘述了一個從 Haskell 轉到 Golang 的工程師分析對於 GC (Garbage Collection) 的理論與實務上說明.

不僅僅有一段對於 GC 的動態展示,還有相關代碼可以了解 GC 變化的狀況.很推薦大家好好了解一下基本原理.

GDG DevFest Taipei 2016 - In Love with Golang

GDG Dev Fest 是 Google Developer Group Festival Taipei ( Google 開發者群組嘉年華會 ) GDG DevFest 之前在 GTG 有人問我,為何大家投影片不用 Golang Present 來做.所以我為了 GDG Dev Fest 做好了 Golang Talk 的投影片.

這是 GDG DevFest Taipei 2016 的投影片. 我要坦誠我不是使用 GDG DevFest 的官方版面,因為我使用 #Golang 的投影片工具 - “Present”. 週六內容主要圍繞在介紹 Golang 的優點與特性 與分享 Golang 如何改變我對於 Programming 的想法.

希望這些內容能夠改變一些人,也希望能讓大家更了解 Golang 的優點.



Python



Android/JAVA/NODE.JS/Scala



Docker



Kubernetes

In 13 minutes from Kubernetes to a complete application development tool



iOS/Swift



其他程式語言



論文收集



網站文章



Machine Learning

[DSC × TAAI 2016] 李宏毅 / 一天搞懂深度學習

資料者年會的教材,如何一天搞懂深度學習.

[DSC x TAAI 2016] 林守德 / 人工智慧與機器學習在推薦系統上的應用

comma.ai for the people to experiment with

comma.ai 提供一個無人車自動駕駛的 AI 系統,他們開放了他們 AI 方面的原始馬來提供給大家試試看.包括自動跟車等等系統都在裡面.

開放項目還包括了 80 G 的 Dataset (包括七小時十五分的駕駛資料還有其他的) ,系統使用 Anaconda, Tensorflow 與 CV2. 很有趣的專案.

這個專案有以下特性:

  • 不需要建模與圖形函數 (CV2 僅僅拿來比對相片相似度)
  • 適用於小解析度相機 (160 x 320 灰階)
  • 透過 RNN 來分析

Open-sourcing DeepMind Lab

這兩個月最紅的 (ML) 新聞之一,大概就是以 AlphaGo 打敗世界棋王而聞名的 DeepMind .要把他們的 3D 平台的實驗室開源了,這一個 3D 平台中,使用者(玩家)就是擔任裡面的一個浮在空中的攝影鏡頭,並且可以在裡面解開一些謎題.

是不是有點熟悉? 沒錯!就是類似於 OpenAI 的方式.

目前代碼已經開源在 Github
懶得看英文? 這裡有中文

題外話:

此外,其實大家都會想說 DeepMind 下一步是不是要挑戰 3D 遊戲呢?

其實早在三四個月前,就已經有 Data Scientist 研究透過 Reinforcement Learning (Q-Learning) 來玩 DOOM (毀滅戰士) 的 Deadmatch 模式,相關網址

方式是透過兩個邏輯:

  1. 遇敵邏輯: 就是經由 3D 圖像的判斷,透過 Q-Learning 來自我學習如何透過最少的時間找到敵人.

  2. 戰鬥邏輯: 一樣是透過 Q-Learning 的方式來找尋到最好的戰鬥方式.

只是這次 Deepmind 想要挑戰什麼?大家可以猜猜!!

DeepMind AI Reduces Google Data Centre Cooling Bill by 40%

補充一個題外話:

其實 Deepmind 雖然為人所知的就是 AlphaGo 打敗世界棋王,其實前幾個月 ( 2016/07 ) 也公布另外一篇文章.就是講解 Deepmind 透過 AI 的方式來省掉 40% 的冷氣電費.

其實 Google Datacenter 很省電一直都不是秘密,這也是為什麼 GCP 可以比其它同業便宜的原因. ( GCPUG.TW(Google Cloud Platform User Group Taiwan))

這邊有個有趣的舊聞:

https://www.google.com/about/datacenters/efficiency/external/index.html#best-practices

這個鏈結裡面有 Google Datacenter 省電的方式,裡面有

  1. Measure PUE: 仔細分析 PUE 2.Manage airflow: 管理冷氣的通道
  2. Adjust the thermostat: 調整溫度控制
  3. Use free cooling: 使用天然冷氣
  4. Optimize power distribution: 透過 將 UPS 放在主機上,來減少 AC/DC 轉換

其中… 如果你去搜尋 AC/DC 的話就會找到一個知名人士

恩恩… 就是 「智慧城市委員會」顧問 - (翟神)翟本喬

Sega - 人工智慧的現況與未來

Liveouse.in CEO Sega 整理的投影片,其實內容相當的充足而有條理.滿適合不太了解的人閱讀.



有聲書/影片心得




Evan

Attitude is everything