Weekly Issue 第 9 期:Ghost 發布 6.0 版本

Ghost Release 新版了!距離上次大版號更新,已經過了 3 年多,這幾年來,創作者經濟變化得很快,Ghost 也嘗試讓創作者更容易經營自己的內容。

我會等 6.0 發布一陣子,穩定下來後才會更新。很期待他們下一步會是什麼。


🗞️ 熱門新聞

Ghost 6.0

Ghost Release 6.0。

兩個重量級更新:支援 ActivityPub,讓 Ghost 可以 Leverage 社群媒體分發渠道;以及內建 Analytics,支援流量分析。這剛好就是兩個我最想要的功能,Great Work。

常說經營內容的痛點在,不知道如何發佈內容,不知道訪客從哪來。當然這都可以用工具協助,例如設定 GA、或者使用 Postiz 等來經營社群,可是我覺得一個好的平台應該要替創作者處理掉這些事,Ghost 的方向會讓人感覺到他們是真的跟創作者站在一起。

Do Variable Names Matter for AI Code Completion?

一直很好奇變數名稱對 LLM 有沒有影響,看到有人做了實驗,證明:的確有差。

實驗是用自動補全,觀察補全後的成效(用了三個指標)判斷命名影響程度,描述性的命名效果最好,不同的 Naming Style 差異有限,最差的是不知所謂的魔術命名。

簡單講,跟人類體驗一致。

有意義的點是,LLM 某程度上可以成為人類實驗的替代品?這種實驗如果用真人,應該會很貴。再來就是,LLM-as-judge 看起來正逐漸變成標準實踐。

I used NotebookLM to "watch" a show, and honestly, I might do it again

看到有人用 NotebookLM 「看」了后翼棄兵,原本想說又是個用摘要來取代細節的應用吧,但看到這句登時引起興趣:「就像你是那個剛追完劇、正滔滔不絕向我劇透的宅友。 」

我前幾天滔滔不絕跟朋友講《你的顏色》有多讚時,深深覺得自己沒辦法傳達電影的優點,以後不用這麼麻煩了,直接丟個 NotebookLM 的連結給朋友就好。

「那個什麼什麼劇好看嗎?」
「來,這是連結,自己去問。」

GPT-5: Key characteristics, pricing and model card

Simon Willison 對 GPT-5 的評估,推薦閱讀。

我自己注意的段落是這句:「寫作、程式碼和健康是 ChatGPT 最常見的三個使用情境 」實際上這跟我的經驗不太相同,我大多的應用是查詢,但這三個領域有個共同點,就是對有害內容特別敏感。

OpenAI 看起來引入了新的訓練方式(safe-completions)來克服輸出,也許能理解成模型比較不會無腦拒絕使用者請求?如果是 AI 應用開發,也許是加個 LLM as judge 來達到類似效果(不確定)?

Understanding Kiro's Pricing: Specs, Vibes, and Usage Tracking

AWS Kiro 團隊發文說明他們的定價方式。

依照用途不同,對 LLM 的請求分為兩種,vibe request 跟 spec request,前者類似普通的對話,有意思的是後者,依照規格驅動開發的概念來設計,可以生成需求和設計規格。

原則上還是 usage based 的計價,只是更細分?我理解 spec request 可能類似 thinking 的處理,當然實作面一定不同。

這比 token based 更讓我放心一點,用 Claude 要時時盯著用多少 token,認知負擔還是有點明顯。


✨ 科技觀點

Linear sent me down a local-first rabbit hole

這篇談到 Linear 的 Local-First 技術架構。

簡單來說是直接用 IndexedDB 當資料庫,所以資料都能在前端直接處理,不用每次都從後端拿,想當然能帶給使用者流暢的體驗。乍聽下有點異想天開,可是 git 好像也符合 Local-First 的精神,也許有點道理。

看到的第一時間在想,要如何解決資料衝突問題?看文章答案有點意思,是用了 event sourcing 的架構,所以不會修改,只會 append,配上 ts 真的可以解掉沒錯。我猜還有拍定期快照,降低資料處理的壓力。

不得不說 Linear 技術上挺有膽量的,這種東西想想可以,用在 production 我應該不敢。

Live coding sucks

現在應徵工作,很常需要進行 Live Coding 來測試應徵者的能力,有人提出這種面試流程或許有問題。

原因是,人在壓力環境跟在工作環境的表現不同,當有人盯著你看時,可能只有一半的心思會想著如何解決眼前那道演算題。

對我來說,Live Coding 還是能幫助我識別應徵者的思考模式,我通常不希望給對方帶來壓力,但有時真的很難,有次我看到一名應徵者,邊跟我講話邊摸著喉嚨,當時我一直在想該如何降低他的壓力。

我自己也是很容易有壓力的人,我懂那種被盯著看的奇怪感覺。

How To Review Code

這篇討論如何進行程式碼審查,即使工作已經一段時間了,我還是掌握不好這件事。

主要問題是時間,審查程式碼意味著我得理解不是自己實作的邏輯,常常包含應用場景,然後還得跳出來想想是否影響到擴展性,以及是否會影響到專案進度,如果剛好那週還負責其他重要功能開發,留給審查的時間真的不夠。

本質上還是專案管理跟工程管理的問題,特別在新創,真的很有挑戰。

我们都只是在假装着做 Agile

前面對 Agile 誕生史的講解很有參考價值,後面就……隨便啦。

2001 年的雪鳥會議,某個程度上跟網路時代到來密不可分,更多的需求等待開發,更多的機會等待實踐。敏捷宣言具體化了這些期待,就像美國獨立宣言人皆生而平等,直到 1964 年才通過民權法案。

宣言的意思是「我們希望擁有這樣的世界」,它原本就是很長很長的過程。

How I hacked my washing machine

你有試過 Hack 你家的洗衣機嗎?

英國有人 Hack 了宿舍的洗衣機,將它接到 Discord 的通知中,有意思的是過程各種細節,例如洗衣機只有兩個 API,/http-read.json 跟 /http-write.json,我猜底下真的是兩個檔案,而 MCU(應該吧)會輪詢這兩個檔案來操作。

有時候研究半成品比成品有趣,以及,這讓人覺得數位是漸進式地進入生活。


📌 工程實務

Debugging Distroless Containers: When Your Container Has No Shell

你有遇過 k8s 的容器出問題,卻沒有 shell 能用的情況嗎?

剛看到 k8s 有 kubectl debug 工具,能在有問題的容器旁掛上臨時的 side car,藉由共享 namespace,除錯用的容器可以讀取目標容器上的檔案系統。原理講起來很簡單,但我之前沒想過 😆 。

這對 distroless 的應用幫助很大,退一步講,只要你是用 alpine,也能用這方式來補你需要的除錯環境。

From Database to Data Lakehouse — Part 8

以前工作有用過 Columnar Database,但沒仔細研究,看完這篇有打通幾個點。

從場景上,還是最直接的 OLTP vs OLAP 劃分,假設你需要寫入快讀取也快呢?這就是門學問了,還好我沒遇過這種狀況。

Sentry 是個有突發性寫入(線上出 Bug 時)跟常態分析需求的應用,他們底層是用 ClickHouse + Kafka 搭的,跟這篇談到的一些處理方式能互相驗證。

Read more

Weekly Issue 第 14 期:Product Hunt 已死

近期台灣技術圈新聞應該要算 Vibe Coding,無獨有偶的是,HN 上也談到類似的議題:行銷跟技術的界線在哪?哪些東西可以包裝成商品販售,哪些則是應該要有基本的自我審核? 🗞️ 熱門新聞 Product Hunt is Dead 有位產品創辦人寫了篇 Blog,標題比較聳動:Product Hunt 已死。 我沒特別 Follow Product Hunt,只有偶爾看看,但看完還是五味雜陳。依照文中所說,當你在 Product Hunt 發布產品後,會有一堆人來跟你說需不需要買讚,這讓我想到以前書市買榜的例子。 有人可能會覺得這是行銷,只是對我來說,行銷跟欺騙還是兩回事。我比較不確定的是,假設今天換個場景,改為無傷大雅的善意謊言,我會同意嗎? ✨ 科技觀點 How to Lead in a Room Full of Experts

By Ken Chen

Weekly Issue 第 13 期:Google 無須出售 Chrome

Chrome 的判決出來了,Google 不用分拆,只需要保障競爭者能跟它公平競爭。 這個判決有指標意義,所有人都知道 Google 長期利用 Chrome 數據改善它的搜尋引擎,讓其他廠商處於競爭劣勢。要解決這問題,最簡單方式是要求 Google 出售 Chrome,而法官在仔細評估後,給出相當審慎的判決。 我喜歡這種法律見解,具有實務與原則的平衡,法律條文不應該是照本宣科。 🗞️ 熱門新聞 Google Can Continue Paying for Firefox Search Deal, Judge Rules 以前很少注意 Chrome 的新聞,剛好最近判決出來了,看了一些。 最驚訝的是,Mozilla 有 85% 的年度收入是由 Google 給的,如果判決禁止 Google 出錢成為瀏覽器預設的搜尋引擎,將直接影響到 Mozilla

By Ken Chen

Weekly Issue 第 12 期:Bear 修改授權條款

通常開源專案需要面對長期維護的問題,而長期維護需要人力(開發者)物力(伺服器與基礎建設),個人開發者來說是個負擔。有些專案會有企業贊助,有些專案則是替用戶提供顧問與服務來收費維持。 這期選了 Bear 修改授權的新聞,也因為這則新聞,順道看了 Sentry 的授權模式。我們都希望擁有健康的開發生態,而授權條款很大程度左右了這點。 🗞️ 熱門新聞 Bear changes license to Elastic License Blog 平台工具 Bear 修改授權,原本是 MIT,現在改用 Elastic License。 看開發者的說法,原因是有人搭便車,fork 完直接部署成服務賣錢。開源不是免費勞工,這樣確實有點過分。Elastic License 的差別是不准以託管方式提供服務,算是補上這個洞。 相對 AGPL 來講,有時這種個人開發的小型專案,也不追求產業影響力,直接用 EL

By Ken Chen

Weekly Issue 第 11 期:AI 代理人插件可能存在資安風險

Preplexity 跟 Anthropic 等公司開始讓瀏覽器 AI 代理化,資安領域專家 Simon Willison 指出這可能會導致眾多資安漏洞出現。我建議兩邊的意見都可以看看,Anthropic 為了防堵問題,也下過不少功夫,看完後你會比較知道該如何使用 AI 代理。 另外這期特別喜歡 Mike Sun 談台灣的產品經理遇到的挑戰,我現在不太建議新人直接在台灣當產品經理,舞台太小,成長空間有限,會影響日後發展。如果真的對產品很有興趣,可以先到其他地方建立起正確的產品觀後,再回到台灣發展。 🗞️ 熱門新聞 Piloting Claude for Chrome Anthropic 最近推出 Chrome 用的 Claude 插件,但是依照說明文件:「當我們在自主模式中加入安全防護機制後,成功將 23.6%的攻擊成功率降低至 11.2%。」 儘管 Anthropic 特地專文說明它們的防護措施,

By Ken Chen