山姆鍋平常喜歡搜尋一些有趣的開放源碼專案,尤其是有提供設計文件的。有天不知道怎麼地逛到了 Cockroach DB 這個專案,它的設計文件有許多有趣的地方,但我特別注意到其中一篇論文,關於使用邏輯與實體時鐘來實現一個分散式時間郵戳 (timestamp) 的演算法。

閱讀全文

面試工程師,除了一定要做的實際筆試之外,山姆鍋為了進一步了解候選人 (candidate) 的能力,會再口頭提問幾個問題。 這些問題對某些人來說,可能覺得不難,但山姆鍋的經驗發現,能夠正確回答出這些問題的比例比預想的少許多。 甚至可以說:會這些題目的工程師,能力已經在水準之上。

閱讀全文

山姆鍋期望雲端存儲與備份服務,可以做到保護使用者的資料安全與隱私。針對要達到這樣目標, 已經說明了其中需要的兩個關鍵技術:「資訊擴散演算法」以及「Convergent Encryption」。 本文山姆鍋說明另外一片重要拼圖:「去中心化身份驗證 (decentralized authentication)」。

閱讀全文

版本控制與檔案同步軟體其中一個重要功能:讓來源 (source) 檔案的內容跟目標 (target) 檔案內容相同。
直覺來說,最簡單的方式:將來源檔案複製 (copy) 到目標檔案。
不過這種做法,對於像是同一個檔案的不同版本的同步,會耗用太多不必要的頻寬與儲存空間之外,
時間往往也是個造成這種方式不實際的因素之一。那有沒有更有效的作法呢?

閱讀全文

Dropbox 是一個很受歡迎的雲端資料儲存與備份服務,從使用者的角度,它真的很方便,有些很大的檔案往往也能很快就能完成上載。 但您想過它為什麼可以做到這樣快速上傳,背後的技術原理是什麼?對於您的資料安全與個人隱私又有什麼影響? 山姆鍋根據自己的了解,為您解釋 Dropbox 到底是如何運作的。

閱讀全文

很早之前在寫 QR Code 解碼器的時候就接觸過「糾刪碼」(erasure code) 這種技術, 因為 QR Code 有使用到 Reed–Solomon error correction 。雖然知道是數學的運算結果,但至今還是對它的功用感到很神奇!背後的編碼理論已經超過山姆鍋的理解範圍,但撇除背後的數學理論,身為工程師要如何理解糾刪碼,以及作何應用呢?

閱讀全文

在使用 Google Search Console 時,發現 Google 無法找出文章的結構化資料,原來是所使用的 Pelican-bootstrap3 主題樣板沒有設定正確的標記,為了讓部落格文章可以被搜尋引擎正確地分析,看來需要修改樣板主題來處理這個問題。

閱讀全文
作者的圖片

Sampot (山姆鍋)

個人部落格, 記錄與分享一些軟體開發與運維相關資訊, 偶爾也會碎念一下


IT 自由工作者


台灣/台北