[好文導讀] [Dear Product Managers …] 親愛的產品經理- 來自曾經支持你的工程團隊!

(image from original article)

原文鏈結(Dear Product Managers …)

前提:

雖然大家常看到我在 Golang 社群裡面忙碌,但是其實在公司內部好像我又開始忙碌地做著團隊帶領與專案管理的工作(完全碰不到代碼啊).

但是偶然看到這篇文章,深深被文章內文感動.分享給大家!

內容:

這篇文章是由一個資深的 UX Engineer 寫給他們的產品經理,主要是要告訴他們產品經理他們 (指的是 工程團隊) 如何從支持他慢慢轉變成不在支持與在意.

主要原因如下:

PM 會提出沒有根據的評估 (甚至是猜測)

團隊們表示,大家都會猜測.只是猜測的部分需要有許多的相關依據來補充.所有工程團隊也會希望他們的 PM 也是如此做事.

PM 希望讓團隊動起來

工程團隊也希望能夠不斷的前進來幫助產品,進而幫助公司來獲勝,但是絕對不是花時間在開會,寫專案評估報告, 每天花費在哪些專案時間,甚至是 story 跟 feature (意指 scrum meeting) . 工程團隊希望能把時間花在真正的產出上,那些能讓客戶,能讓公司真正能夠獲利(獲勝)的地方上.

PM 經常關起門來自己做專案評估

工程團隊相信許多的 PM 可能曾經都是好的工程師,但是請 PM 要好好相信工程團隊. 讓他們提供他們對於產品的想法,提供他們的時程評估. 工程團隊不是不能提供好的時程評估,只是需要有足夠的討論.

最後…

當然! PM 不需要一定要聽從他們的意見,工程團隊依舊會根據 PM 給予的規格將專案完成.但是工程團隊會失去對於產品的熱情,而這不是公司樂意看到的.

工程團隊最後希望 PM (們) 能夠好好思考,讓大家一起做好彼此該做的部分.交付出最好的產品.

心得:

很令人深思與檢討的好文章. 雖然花不到兩分鐘可以讀完,但是後勁很強!

我們在規劃產品與專案時程的同時,不是不願意找工程團隊來討論,只是常常碰到軟釘子,或許只是那些工程師曾經滿懷期待卻又被傷害吧.

這篇文章會讓我之後做更多團隊領導與專案管理的同時,會更仔細去思考整個團隊究竟需要什麼,這樣能不能夠讓每個人都貢獻他們的能力來幫助產品更好!

[Golang] 來用 Golang Present 製造 Golang 專屬投影片

前提:

很開心聽到有 GDG DevFest Taipei 場的活動,身為 Google 的語言 Golang 的台灣使用者社群共同協辦者,當然也要去參與這個盛會.

不過既然要參與 Google 開發者嘉年華會,當然得用 Golang 的 Present 工具來做投影片,但是其實還真不是那麼的簡單.這裡做一些簡單的筆記.

Golang Present

什麼是 Golang Present ? 特色是什麼?

Golang Present 是 Golang 社群開發出來的簡單的工具,透過簡單的語法可以來製作投影片(語法相似於 Markdown)

Present 也是主要的 Golang Talk 的投影片製作工具,這裡可以看一個範例 State of Go . 你會發現有以下的特色:

  • 簡單,樸素.沒有任何 Theme (特色 :p)
  • 可以顯示,並且跑 Golang 程式碼.
  • 可以在自己的電腦上顯示,當然也有人做好了 GAE 來跑.

如何透過 Golang Present 來製作投影片

以下會簡單的介紹,如何透過 Present 這個工具來製作投影片.

  • 安裝 Golang (恩… 畢竟要透過 Golang 來跑代碼)
  • 安裝 Present go install golang.org/x/tools/cmd/present
  • 參考這個範例
Title of document
Subtitle of document
15:04 2 Jan 2006
Tags: foo, bar, baz

Author Name
Job title, Company
[email protected]
http://url/
@twitter_name
Some Text

* Title of slide or section (must have asterisk)

Some Text
  • 在該目錄執行 present 可以在本地端的 http://127.0.0.1:3999 看到結果.

  • 或者可以 push 到 github 上,透過 GAE 來看. 這裡有個範例 http://go-talks.appspot.com/github.com/.... 就可以跑.

筆記:

實地的透過 Present 來製作投影片.其實有一些麻煩的地方.挺值得記錄一下的.

  • 圖片的大小無法自動縮放,建議使用 600 x 600 左右的大小
  • 如果要放 GAE 上面來跑 Golang code ,記得所有跟 net/http 不太方便 demo server .因為 http port 會被擋(建議使用本地端來跑)
  • GAE 來播放投影片會透過相當程度的 cache ,也就是大概是你今天改好的投影片,大概要一會兒才會看到最新版本.

Reference:

[Chatbots Meetup] 參加 Chatbot Meetup#1

Meetup link

Microsoft - Microsoft Bot Framework x Cognitive Service 快速打造智能聊天機器人

投影片

  • Introduce Bot Framework
  • Cognitive service
  • Bot Service just launch in few days.

Compose.Ai - Introduction to NLP for Chatbots

投影片

NLP Problem: Standford Course Slide

  • 如何獲得最多回饋的 Bot?
    • A: 就罵髒話
  • Entity 個數的專一性
    • A: 不超過 10 個

Ref:

Botimize.io - Messenger Platform’s New Opportunities and Insights

投影片

Zeroth.Ai Asia AI/ML Accelerator.

工人智慧到人工智慧

Linker Networks - Golang

就我的 投影片

Him/Her - Facebook 不想讓你知道的事

投影片

  • PS_ID -> FB_ID
    • 透過 PS_ID 拿 photo
    • 需登入 (token)
  • Facebook-Chat-api
    • 不需拿 token (不用透過 FB Chatbot 登入授權)
    • 當作網址登入
    • 多個機器人,會被踢

aloha.ai 24 小時的品牌互動

客服中心,透過 Rule-based (keyword) 的方式

人工智慧  -> 工人智慧 (如果機器學習出問題的話)

卡米狗

2016/10/21 上線

15 萬人使用

流程

  • A, A –> A
  • 貼圖 –> 貼圖
  • 關鍵字回覆 A–> B
  • 抽籤

一個 Bot 只能加入 1000 群組 (Line Bot 限制)

程式設計週記[2016/11/04]: 西部世界真的是很 HBO 的一部影集

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

寫代碼跟玩 Kubernetes 已經變成是我抒發壓力的一種消遣,也已經沒有時間(也不應該)在上班時候寫代碼,只好半夜在家看看代碼跟玩玩 Kubertes 了.

最近看了 Westworld ,這部影集的人性探討真不少.相當建議大家來看看,結合時下流行的幾個話題: AI ,機器人,道德問題.



Go

Go 1.8 將會加入 graceful close/shutdown for net/http

大家期待很久的功能, gracefully shutdown 給 net/http 的部份總算在 Go 1.8 加入了.

func (s *Server) Shutdown(context.Context) error {}
func (s *Server) Close() error {}

只要有接上這兩個函式接口,並且將 context 做相關處理就好了.

GAE go Image API for GCS

透過 GAE 上面的 Image Go API 來處理各種圖片的處理.

Go for your Organization - Eleanor Deal

這個 talk 的題目相當有趣,就是 #Golang 對於你組織會有哪些影響. 他分別就幾個層面來談:

  1. Go 具有簡易的 Concurrency
  2. Go 設計需求簡單而容易明瞭
  3. Go 具有內建的 testing, benchmark 甚至容易做 Profiling
  4. 當然 DevOps 而言 Kubernetes , Prometheus 甚至 etcd 都是你的好夥伴

最後 Gopher 都是具有分享的精神,而 Golang 不僅僅可以 Scaling 你的機器,更可以 Scale 個人與團隊.

Methods in Go

Methods in Go (part I) 深入探討 Go 的 Method 並且討論 T 與 *T 處理方式,一共有兩篇很值得一看.



Python



Android/JAVA/NODE.JS/Scala



Docker



Kubernetes

How to Easily Install Kubernetes on AWS

這篇文章教導如何在 AWS 架設 Kubernetes ,其實架設 Kubernetes 並沒有那麼的困難.而且,如果你要在 AWS 上面架設,甚至有 KOPS( Kubernetes Operations ) 的工具可以幫助你自動安裝.

官方有另外的文件有建議其他的小工具



iOS/Swift



其他程式語言



論文收集

Scaling Spark in the real world: performance and usability

Databricks (提供 Spark 服務的公司)的論文.



Machine Learning

Microsoft Concept Graph Preview - For Short Text Understanding

微軟開發的針對短字串的理解學習系統,比如說一段 Microsoft 能夠理解成一家公司,軟體公司以及是 OS 系統的供應商.成員都是華人,相當有趣喔.

Fuzzy AI

透過類似 IFTTT 的指令介面,但是提供更模糊 (fuzzy) 的語意分析來讓你的 Rule-based action 變得更有彈性與學習性.



網站文章

一个PHP实现的ID生成器

這裡談到如何透過 PHP 來產生 Unique ID ,但是也引用另外兩篇有趣的文章:

Mirai物联网僵尸攻击深度解析

2016/10/21 已經確認 Dyn 是遭受 Mirai 的 IOT DDOS 攻擊,這邊解析到底如何進行攻擊的. Mrai 有些特色如下:

  • 排他性極強(改變 telnet port ,殺掉其他對手) 來確保執行效能
  • 隱藏自己,並且確保只會感染一次(確保資源足夠)

《西部世界》,披着AI皮毛的糟糕游戏

找了時間把最近很熱門的 Westworld 看了前面幾集,順便也找到這篇有趣的文章.

由線上遊戲的角度來看 Westworld 這部影集. 並且強調如果以一個開放性世界的遊戲來說.他可能是一個不好(不好玩)的遊戲,因為太強調隨性與人性這件事情.可能讓這個開放世界遊戲(?)變成遊戲性不足.

而我個人覺得,這部片倒是有點像是軟體公司的鬥爭電影.從特異獨行的總工程師到幫忙擦屁股的維運團隊,並且與測試團隊的勾心鬥角.

我想,不知道有沒有其他軟體公司的人有跟我一樣的感覺的. XDDD



網站收集



有聲書/影片心得



程式設計週記[2016/10/28]: Dyn 被攻擊的事件,讓我們了解網路有多重要 XD

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

管理的事情越多,忙碌的部分也就更多.加上最近身體不是很舒服,剛剛辦完了 Golang Taipei Gathering 10 月份的聚會後,馬上就生病了.

整理這個禮拜的 twitter ,發現似乎變得有點少,看來得除了讓自己在公司的事情之外,還是得要好好學習東西.才不會讓自己每天忙碌而忘記真的想要學習的事物.



Go

Benchmarking go redis server libraries

Redis (redis.io) 是相當知名的 in-memory data structure store .

這一篇比較了兩個比較知名的 Redis Golang Framework 的效能評比 redcon 跟 redeo 兩個套件在都略遜於 Redis 本身的 throughput ,作者覺得那些的效能問題可能來自於 Golang 的 GC 的處理上.

大家可以參考看看:

Building Blockchain Networks

Chain 是一個 BlockChain 服務的公司,提供透過 blockchain 技術的金流與安全的資訊服務.

相關訊息之前有板友貼過, 不過在這裡增加一些其他資訊:

  1. Chain 公司內部人員有一位是 Keith Rarick 是之前是 Heroku 做出 Go official buildpack 的大大 KR Github

  2. 根據 Reddit 上面的討論,如果你使用這個服務而沒有 AGPL 的話,你就得付企業的 License 費用 Reddit link

GOROUTINE 執行相關討論

上週有人在 Golang.TW 的 Slack 問了一個關於 goroutine 的相關問題.

關於 goroutine 的程式為什麼不會列印在 thread 裡面的傳值部分. 這篇文章有清楚的分析原因與為什麼,感謝 KerkerJ 的紀錄與分析.

digitalocean/go-qemu: Go packages to interact with QEMU using the QEMU Machine Protocol (QMP). Apache 2.0 Licensed.

qemu 是一個虛擬機器的軟體,而這個套件可以使用 Golang 來透過 QMP 來操作 qemu.

Podcasts about Go (golang)

所有跟 #golang 相關的 podcast 列表



Python



Android/JAVA/NODE.JS/Scala

How to build your own Uber-for-X application

介紹如何透過 node.js 跟 一些資料庫語法,來打造自己的 Uber-for-X (也就是類似 Uber 一樣的 Online to Offline )的軟體.



Docker

Selling the C-Suite on Containers - Container JournalContainer Journal

如何向高層推薦 container 技術

从威胁到整合,容器将改变openstack的未来? - OSC源创君的个人空间 - 开源中国社区

Container 是否會



Kubernetes

Learn Kubernetes the Hard Way (the Easy and Cheap Way)

Kelsey Hightower (Google Kubernetes 的傳教士) 的文件 kubernetes-the-hard-way (透過硬派方式來安裝 Kubernetes) 一直都是了解與安裝 Kubernetes 最基本的安裝手冊.但是由於真的太困難而變成許多人望而卻步.(不然就是透過 minikube 或是直接使用 GKE)

這篇文章,透過相同的方式來安裝.但是卻幫你透過 Vagrant 來安裝的方式幫你把 Kubernetes 安裝起來.一鍵可以輕鬆完成,實在相當的方便啊.



iOS/Swift



其他程式語言



論文收集



Machine Learning

Machine Learning is Fun!

很基本的 Machine Learning 的一系列介紹文章,主要就是希望大家能夠有基礎的了解.

並且透過如何估計房屋的價值來做一段簡單的範例程式.一共有五篇相關文章.

Machine Learning in a Week

這篇文章很有趣的敘述了一個對於 Machine Learning 有一點點了解的工程師 (上過 Andrew Ng 一半課程的人) 如何透過一個禮拜的學習來好好搞懂 Machine Learning.

很適合像我這樣的人來好好仿效.



網站文章

StarUML

Mac 上面免費又好用的 UML 工具,也可以話 ER-Diagram 跟 Class Diagram .

Linux进程隐藏的一种实现思路

讓我們土炮 Google Doc: Let’s make own Editor like Google Docs

Fred Chien 很厲害的前端工程師.介紹如何透過 JS 來自幹自己的 Google Doc .

Kontena: an alternative container orchestrator

除了 Docker Swarm, Kubernetes 與 DCOS 之外,另外一套的 Container Orchestrator 的生態套件.不過適用 Ruby 開發的.ㄋ

[請益] 自動化佈署(Chef, Ansible, Salt)

相當精彩的問答,關於自動化佈署工具教學與學習部分.



網站收集



有聲書/影片心得



程式設計週記[2016/10/21]: 優秀的創意到產品間存在著巨大的鴻溝,需要不斷的努力與調整

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

工作上許多事情排擠我學習的時間,時間太少只好犧牲掉睡眠時間來學習與寫代碼.

神是公平的,不論你的種族與性別.他都只給你 24 小時,你要把時間花在哪些地方,成功就在哪些地方. 

(半夜醒來,發現一堆大大已經在努力學習有感)

下週三要有 Golang Taipei 聚會,希望大家都來參加啊. 沒有票的可以來找我拿閃電秀的票(前提是來當講者 :p )



Go

redspread/spread : Docker to Kubernetes in one command https://redspread.com

透過 git-like 的指令能夠部署 Docker 跟 Kubernetes , RedSpread 提供相當方便的指令來部署你的服務.

最近 RedSpread 加入 CoreOS 了…. CoreOS 越來越多 Go 的大專案

Why you should not use iris for your Go projects

Iris 是一個號稱地表上最快的 Web Framework,擁有 5000+ star 的專案,但是想要申請 Awesome-Go 卻被 ban 掉的整個故事. 這篇文章,從多個角度建議你不應該把 Iris 當作你的專案中,故事精彩就直接看內文吧.

懶人包:

  1. Iris 被 Awesome-Go 移除
  2. Iris 的 Kataras 申請重新加入.
  3. 被人發現把 PR 改掉,License 亂寫
  4. 被 Awesome-Go 拒絕並且 Ban 掉
  5. Kataras 把 Iris commit 改成只有兩個 (哪招?)
  6. Kataras 修改自己在 git issue 裡面的發言

參考 : Awesome-Go Github PR

mesosphere/mesos-dns : DNS-based service discovery for Mesos

各種 Cluster Orchestration 軟體 (mesos or kubernetes ) 都會內建一套有用的 DNS . Mesos 用的就是這套的 mesos-dns ,而 Kubernetes 就是會逐漸轉向使用 SkyDNS

有趣的是兩套都是 Golang 寫的.

go-vgo/robotgo : RobotGo,Golang Native cross-platform system automation

這個很實用啊.跨平台的自動化系統.. (滑鼠精靈,自動點擊)都可以用

#### https://github.com/campoy/go-web-workshop Francesc Campoy Google 傳教士帶來一系列的課程關於如何透過 #Golang 來建置 Web Application

ASP.NET Core vs Go data ingestion benchmark

效能評比關於 Go 與 ASP .NET Core (也就是 .Net 跨平台的版本) 在 Data Ingestion 上的比較.

結論: Go 快三倍

rekihattori/awesome-programmers : A list of history’s greatest

傑出程序員(捲舌音) 清單

裡面有四個人跟 Golang 有關係

在作業系統分類中:

  • Ken Thompson: Go 創始人之一,也是 C 語言的共同發明者.
  • Rob Pike: Go 創始人之一,主要管理整體架構與之後發展.
  • Russ Cox: 許多好用的 Go 工具都是他起頭撰寫,不論是 gofmt 還是 goimport .
  • Brian Kernighan: 賣最好的 Go book作者 . 書本的鏈結

還有一個在資料庫的分類:

  • Brad Fitzpatrick: LiveJournal 的創辦人,並且是 OpenID 制定協定的人.目前主要負責 Golang net/http 的相關開發.

Write React Components in Go

如何透過 GopherJS 來撰寫 React Component .



Python



Android/JAVA/NODE.JS/Scala

comdan66/livemaps: LiveMaps

LiveMaps 是一個即時地圖聊天室,城市角落的心情寫照,網站藉由 Google 所提供的 Firebase 的 Realtime Database 以及 Google Maps JavaScript API 免費服務實作。

透過 LBS 的即時聊天系統.



Docker



Kubernetes

Running Socket.IO Applications on Kubernetes

如何在 架設在 AWS 的 Kubernetes 上面建立一個 Socket.IO 的應用服務.

找機會改成給 GCP 的 :)

Red Hat Announced Fully Containerized Red Hat Mobile Application Platform 4.2

Red Hat 許多動作都讓人覺得他們在 Container 架構下會越來越有發展性. 不論是 Windows Container 或是這個 Mobile Application Platform



iOS/Swift



其他程式語言



論文收集



Machine Learning

AI领域,中国人/华人有多牛?

除卻人口比較多外,華人的論文數與影響力都不容小覷.

What is POS (Part of Speech) Tagging? How can I use it?

關於 NLP 裡面如何妥善利用 Part Of Speech .

論文: Using Reinforcement Learning for Autonomic Resource Allocation in Clouds: Towards a Fully Automated Workflow

這篇論文透過 Q-Learning 來做電腦資源的重配置.裡面有談到不少有趣的點子.

主要的點子如下:

  • s: Situation
  • w: Workload
  • u: VM (or Machines)

(s, w, u) \(->_a\) (s, w’, u’)

U' = U + a (action) 

其中 a 指的是新開的機器.

最後就是要談到 Q-Learning 中的 Reward

	R(s', a) = CO(a) + PE(s')

其中:

CO(a): 為開啟機器的動作 a 所造成的成本
PE(s'): 處罰,也就是改變後的情況如果依舊不滿足 SLA .的處罰費用.

感謝同事的指導.



網站文章



網站收集



有聲書/影片心得

Podcast: Netflix Scheduling with Sharma Podila (Mesos)

這篇文章主要訪問了 Netflix - distributed systems software architect 來討論 Netflix 如何來使用 Mesos 做 Scheduling 所有的服務.

並且透過 Matis (reactive stream processing platform)

完整內容可以參考這篇 Netflix 技術文章

Steve Jobs 遺失的訪談

每次看到這段,都會提醒自己不要忘記熱情

公司變得大之後,就容易因循守舊 他們認為只要遵守流程,就能夠再度奇蹟似取得成功 員工很快地… 就把遵守流程與紀律當作是工作本身…

IBM 就是如此… 他們是世界上最完善流程的公司… 員工是最守紀律的,但是他們忘記產品

Apple 也是如此 (接近 20 年前) 我們有很多擅長管理流程的人才 他們卻忽略了產品的本身…

經驗告訴我,優秀的人才是一心想著讓產品更好的人

而光靠流程是做不出好的產品…