Kakashi's Notes

修其本而末自應

透過 loop invariant 學習怎麼寫正確的 binary search

不容易,怎麼多年後才懂

PrefaceBinary search 記得是我剛入門寫程式的時候,前幾個回家作業,當時寫出來時,覺得整個程式就很直覺,對這個也不太有什麼疑問,直到最近看到 Programming Pearls 這本書裡面,有寫到大概 90% 的 binary search 都是錯誤的,甚至第一版的 binary search (1946 的版本),直到 1962 年才發現有 Bug。 I’ve ass......

AWS Shuffle Sharding

PrefaceColm MacCárthaigh 是 AWS 的 Senior Principal Engineer,如果常在追他的 Twitter 帳號會看到很多有趣的 AWS 內部的 architecture 設計,像是最近有人在 og-aws.slack.com 的討論區問到為什麼 AWS 的 status alert 不一定會影響到該 region 的全部 customer 呢? 我......

利用 Helm 在 EKS 上安裝 Prometheus

一些踩雷經驗

Preface最近把玩了 EKS 一陣子,基本上 EKS 就是 AWS 提供的 Managed Kubernetes,主要是幫你管理 Kubernetes 的 master node,我們只需要管理 worker node 就好了,所以很多的服務還是可以用原本的 helm chart 裝起來,這篇文章會介紹怎麼在 EKS 上面利用 helm 安裝 Prometheus 相關的套件,還有一些簡......

Deploy Prometheus Operator With Thanos

Solve HA and long term storage of Prometheus

PrefacePrometheus is widely adopted as a standard monitoring tool with Kubernetes because it provides many useful features such as dynamic service discovery, powerful queries, and seamless alert no......

FFmpeg libav decode 筆記

一些基本知識

Preface身處在一間做 Surveillance 的公司,一定要熟悉下 FFmpeg 怎麼使用,FFmpeg 真的是蠻偉大的,應該全世界大部分需要處理影音的公司都對他不陌生,FFmpeg 是一個跨平台免費又開源的影音處理方案,採用 LGPL 或是 GPL 的 License,單純使用 ffmpeg 或是 ffprobe command 就可以做到很多加解碼轉檔等等的事情,非常的方便! F......

EKS 的一些筆記

一些基本的掃盲

前言最近大量使用了 AWS 的 EKS ,並且也 migrate 了一些 workload 到 EKS 上面,為了更深入了解 EKS 也找了些文章和影片來看,所以就有了這篇筆記。相關的影片和文章我會列在下面的 Reference。 為什麼需要 EKS最主要是為了改善維護及升級 k8s cluster 的困難度,一般來說,自己維護的 k8s cluster 必需要很注意 master 的穩定......

記一次 AWS EKS troubleshooting 的歷程

前言千呼萬喚下,前陣子 AWS 版本的 Kubernetes 終於 GA 了,但其實真正玩過後,跟之前用 CoreOS 跑起來的 Kubernetes 有不少的差別,主要是因為 AWS 需要把 IAM 及 Network 部分和 Kubernetes 做整合,因為權限和網路效能其實對於服務都是很重要的,而我也是在跑過 EKS 和經歷了這個除錯的過程,才更讓我了解到在不同平台上跑 Kubern......

Build a better client

Build a better client from cc liu PrefaceThis is a talk I presented at the internal company meeting. It mainly addresses how could we create better client behavior for modern software arch......

記一次 Elasticsearch troubleshooting 的歷程

過程前陣子又發生了 AWS Elasticsearch 的 status 變成 red 的情況,這次跟以往的情形有點不一樣,之前爆炸都是因為 disk space 不足,而後來增加了 Curator 定期清理資料後就解了,而這次發生的 outage 有點不同,也讓我想要記錄下發生的原因和解法。 調查在開了 Support ticket 和查詢 AWS 的 document 後,初步有了一些方......

Compassionate code

這是一篇感想文,最近看完了一篇文章叫做 Forget Clean Code, let’s embrace Compassionate Code,還有一篇相關的文章 Thoughts-on-Compassionate-Code,這裡寫的是對第一篇文章的感想,然後在第二篇的文章中找到了一些相同的感觸。 從 Johannes 寫的 embrace compassionate code 中,談到他......