如何在 Windows 安裝 OpenPose 跟使用 Python API 來偵測人體姿態

前言 OpenPose 是 Carnegie Mellon University(CMU)論文實作的開源函式庫,提供的功能主要就是可以偵測人體的各部位在什麼地方,例如可以在影像中找到臉、身體、手等等地方的特徵點。但他厲害的地方在於可以一次偵測很多人,看看下面這張圖就知道: 這個 repository 仍然相當地 active,有兩個 CMU 的學生常常在 Github 上面解 issue。這次因為筆者需要在 Windows 上面安裝

Read More...

一起探討 Micro Frontends 的世界

前言大概三個月前,忘了在哪看到 Micro Frontends 這個詞,當時沒有仔細去了解(畢竟聽起來就像是另一個 Buzzword XD),只是從名字大概猜測是想讓前端頁面更加模組化,讓不同團隊能更有效率的開發共同的站。稍微 Google 了一下這個 term,發現文章多數在 2018 的五六月出現,之後就鮮少人提起,我也就淡忘了他。 直到最近工作上接觸到的框架,似乎也想讓頁面上的元件更加低耦合,甚至是希望能支援運行不同版本或是 te

Read More...

當一個 Scrum Master 是一個怎樣的體驗?

前言Scrum 是一個以團隊為基礎來開發複雜系統和產品的敏捷開發框架和方法論。相信很多軟體開發人員都聽過 Scrum,而且也把它運用在產品開發中,然而每個團隊在使用 Scrum 時都會遇到不同的問題,有些是共通性的問題,有些是個別團隊所遇到的問題。過去一段時間在筆者的職業生涯中因緣際會地經歷了開發者、產品負責人以及 Scrum Master 等角色,對於不同角色的特性和所應具備的特質和能力以及 Scrum 的能與不能都有些許的認識。接

Read More...

兩年過後,我能夠被稱為資深工程師了嗎?

前言在兩年前我寫了這篇一個資淺工程師年末的自我省視,內文主要是檢視自己那年學到的東西以及抒發心得感想,並提出一些對於自己職涯發展上的疑問。 標題之所以是打「資淺」工程師,是因為那時覺得連資深的邊都沾不上,所以用了資淺這個字來形容自己。 兩年過去了,職稱從工程師變成資深工程師,甚至還再往上變成了 Front-end Team Lead。雖然職稱本來就不代表一切,但我認為它至少「代表著什麼」,你到了那個位子就必須負起責任,如果覺得自己能力未

Read More...

Markov Decision Process 的程式範例

前言之前跟大家介紹過 Markov Decision Process(MDP) 的原理跟數學推導 還有 在 Human-Robot Interaction 上的應用,今天我們就帶大家透過一個程式來體驗實作上的細節。有興趣的讀者可以透過這個例子將這個程式應用到機器人上! 快速複習 MDP 的基本概念在進入問題之前,我們先簡單複習一下 MDP,首先是 MDP 的定義: 然後,假設已經知道在每個 state 會獲得多少 reward,我們就

Read More...

用 Google Calendar 與 nivo 製作自己的年終檢討報告

前言從 2017 年開始,我每天都會用 Google Calendar 紀錄生活,也在年底的時候利用 D3.js 與 Google api 將紀錄的資料視覺化出來做個年終回顧。(沒看過的讀者可以往這裡走:一起用 Google Calendar 與 D3.js 進行年終回顧吧!) 2018 當然也不例外,我依然持續記錄每天的日常,透過每週回顧自己的時間花費來調整目標與心理狀態。 而既然我有了兩年的資料,不拿來比較看看就太可惜了,因此決定在

Read More...

所有的函式都是閉包:談 JS 中的作用域與 Closure

在正文開始前先幫自己小小工商一下,前陣子把自己以前寫過的文章都放到了 GitHub 上面,那邊比較方便整理文章以及回應,如果有想討論的可以在這篇文章的 GitHub 版本下面留言,想收到新文章通知的也可以按個 watch,感謝。 前言請先原諒我用了一個比較聳動的標題,因為實在是想不到還有什麼標題好下,最後選擇了一個可能比較有爭議的標題,但能利用這樣的標題激起討論也是滿有趣的,何況我說這話也是有根據的。 在觀看此篇文章之前請先看過上一篇:

Read More...

Kubernetes 與 minikube 入門教學

前言Kubernetes(又稱 K8s,類似於 i18n/l10n,取中間字母的長度的簡寫命名)是一個協助我們自動化部署(automating deployment)、自動擴展(scaling)和管理容器應用程式(containerized applications)的指揮調度(Orchestration)工具。相比於傳統的手動部屬容器應用程式的方式,Kubernetes 主要有幾個好處: Automated rollouts a

Read More...

如何用 Markov Decision Process 描述 Human-Robot Interaction 問題

前言上次我們介紹了 Markov Decision Process 的基本概念,雖然上次有簡單提到 MDP 的應用,但並不是很詳細,所以今天我們想嘗試把 MDP 跟 Human-Robot Interaction 問題連結起來,一起來看怎麼從一個簡單的 insight 出發,加上 MDP 的數學基礎,最後形成一篇嚴謹的論文 ( Human-Robot Interactive Planning using Cross-Training:

Read More...

用 CSS Grid 創造蒙德里安藝術

前言前陣子 netflix 上了最新一季的夜魔俠,其中的反派角色很愛在家中擺設畫作,有了藝術品襯托,壞人在我的腦海裡突然就變成看似很有深度的角色。這讓我覺得應該也該擺點畫作在家裡,看看能不能提高自己的層次。 而宅宅如我當然無法做如此的投資,不過如果能夠自己用 Web 技術產生一些藝術作品,然後投影在家中呢?應該很酷吧!然後就在 codepen 上發現了一個有趣的東西: See the Pen Randomly generate Mond

Read More...