悶遊滑鐵盧(加拿大安大略省)

一般多倫多旅遊指南,不會把滑鐵盧放入行程,這個位於多倫多以西二小時車程的小市鎮,除了兩間大學外,基本上沒有任何觀光名勝。阿仔今個暑假在Wilfrid Laurier參加音樂營,讓我終於有機會重遊畢業後,幾十年都沒有返過去的地方。

滑鐵盧就是加拿大郊外隨處可見,沒有什麼特色的小市鎮。不過多得被譽為北方MIT的滑鐵盧大學,以及曾經在iPhone出現前風光一時的黑莓手機,滑鐵盧是加拿大除了幾個大城市以外,很多科技公司的集中地,更是Google在加拿大的總部。在我畢業後才興建的輕軌鐵路,把Waterloo,Kitchener和Cambridge三個相鄰的小市鎮連接起來,組合成一個有六十萬人口的中型城市,以人口數量計算是加拿大第十大的城市。如果硬要說吸引遊客的景點,勉強說起來也有兩個,對於長年在外國生活的人或許沒什麼感覺,但對香港遊客應該很有新鮮感。

African Lion Safari 野生動物園

平常去的動物園,是動物關在籠子裏,遊客在外面看動物。野生動物園則反過來,遊客關在車子裏,動物在外面看遊客。野生動物園分成好幾個園區,分開安置各大洲不同的肉食草食動物,一條車路大約兩個多小時看完。你可以自已駕車看,又或者坐園區的大巴士看,有警告千萬不可以打開車窗,否則會成了獅子老虎的點心。基本上各種圖畫書上的動物應有盡有,獅子老虎班馬河馬長頸鹿大笨象,我個女看馬騮最開心,指著馬騮說pink屁股。因為時間關係,我們看完野生物物就要走人,沒有時間玩其他的遊樂設施。如果有一整天的時間,還可以玩埋水上樂園,小朋友的機動遊戲,環園小火車和漂流河小船,觀看動物表演劇場等等。園內的其他項目,大慨就是人有我有,與世界各地的動物園分別不大。

St. Jacobs Farmers’ Market 農夫市集

聖積及農夫市集,是全加拿大最大的農夫市集,夏天逢二四六開早上,冬天則只開四六。農夫市集是什麼東西,在古代是城鎮附近的農夫,進城去販賣他們的農產品,現代則基本上是販賣本地土產。聖積及有三座建築物,戶外還有幾個足球場大的,販賣的內容千奇百怪,從蔬菜水果鮮花蜜糖,到各式各樣自家製的食物,到舊書店,古董棒球卡,蝴蝶標本店,木刻手工藝品,手工金屬家具等等。如果你十分討厭行千遍一律的大商場,你應該行農夫市集會行得很開心。

除了買心頭好作紀念品外,這兒還有很多有趣又好吃的食店,最特別有兩檔,炸蘋果和新鮮即切即炸薯片,炸蘋果幾十年前我讀書時已經很出名,店前永遠有長長的人龍。一包包在超級市場買的薯片就食得多,熱辣辣剛剛出爐的薯片,比包裝薯片更香脆可口,你又食過未?另外德國香腸,波蘭餃子,墨西哥甜油炸鬼,成個炸洋蔥,鮮搾橙汁等等 ,都是在出面很難得可以一個地方全部試食。

有野買,有野食,咁又有冇野玩呢。一是坐古董蒸汽火車,看滑鐵盧附近的風景,二是坐拖拉機,漫遊對面街的農場。這兩樣溫哥華附近也有得坐,基本上北美大城市的近郊小鎮都有,但係住係香港大城市嘅小朋友,第一次坐就肯定覺得新奇好玩,大人坐或許會覺得十分無聊。

University of Waterloo 滑鐵盧大學

二十幾年沒有回過去探訪大學,最大的感覺就是多了很多新大樓,差不多主校園內的所有停車場,現在已經起了一橦橦的大樓。當年我讀書年代,工程系只有三橦大數,現在已經起到八號大樓,對面街的九號十號大數正施工中。在地質學大樓的中庭,有個小小的化石和礦石博物館,小朋友看恐龍化石很開心,看見一排排閃亮亮不同顏色的水晶和礦石,大人也都大開眼界。滑鐵盧大學是領先世界開設有量子工程學系的大學,量子電腦實驗室和研究大樓也算是拍照打卡的景點。大學校園有很多大水鴨,估不到大學竟然把水鴨變成吉祥物,印上校徽做大大隻很可愛的毛公仔。

雖然有眾多新大樓出現,舊時那幾橦卻恍如時光暫停,與二十幾年前的記憶沒有分別。帶著一家人重遊舊地,告訢阿仔當年我大學年代的逸事,很有那些年的懷舊氣氛。我特地去當年常去的地方,工程系常用的那個演講廳,自閉一個人溫書的圖書館,同朋友一起大枱溫書的圖書館,坐在昔日的位置拍照留念。可惜當年最常去的校園機舖已經執笠,變成大學的學生診所,只能在腦海內追憶每天篤波揸Daytona打Virtual On的美好時光。

CN Tower 加國塔

第一次去多倫多,怎可能不去被譽為老襯塔曾經是世界最高建築物,的CN Tower呢。上到塔頂有什麼好看,向北是多倫多一望無際城市景色,向南是可以到地球弧度的安大略湖。排隊購票上去真得很老襯,但在上面的旋轉餐廳訂位吃午餐,不用排隊又包入場卷,可以邊吃西餐邊看風景,悠一個半小時轉一個圈看畢360度的風景。市景沒有什麼特別好看,與你平常搭飛機起飛降落差不多。最有趣是湖上中心島有座飛機場,你身處的位置比飛機飛行高度還高,在高空近距離看飛機升降,就沒有多少地方可以看到了。食飽飽後可以到下層去和一般遊客迫,窗外的風景早已看夠,考膽量可以行上玻璃地板,不怕大風吹可以去戶外露台。想更加刺激的可以加錢二百元,在塔頂外圍拉鋼索著走一圈。

Appleby College 蘋果記書院

既然帶阿仔看了我的大學,返正順路帶他睇埋我中學。因為我只是讀了兩年,所以我對蘋果記沒有什麼特別感情。當年寄宿的宿舍重建了,主要教學大樓又重建了,印象最深刻的飯堂都重建了。唯一舊貌依然的只有教堂,和放學常去扔石仔的湖邊石灘,表演飛石濺水十連跳的絕技給阿仔看。

尼亞加拉大瀑布玩足一天

以前住多倫多時,有親朋戚友來旅遊,開車帶他們去尼亞加拉大瀑布觀光,差不多是指定行程,我也不知看過大瀑布多少次,大慨看到有厭倦了。今次帶一家大細去多倫多旅行,身為父親帶小朋友第一次看大瀑布,一切從小朋友的角度去觀看,讓我重新找到看大瀑布的樂趣。

以前看大瀑布十分走馬開花,通常是順道停兩三小時,還要趕回多倫多吃晚飯。今次因為帶著三個小朋友的關係,索性在尼亞加拉住兩晚,可以有一整天的時間去慢慢暢遊,原來瀑布早午晚也有不同的景色。

第一天抵埗已經是黃昏,在尼亞加拉市吃過晚餐,沿路駕車經過瀑布遠觀,便早點去酒店休息。第二天是星期日,早上要望彌撒,我們去了瀑布旁的Mount Carmel修院,旁邊的Our Lady of Peace教堂,錯有錯著竟然發尼亞加拉最佳手信。修院附設有萄葡園和酒莊,大瀑布附近水花四淺,整天都好像下著毛毛雨,修院出產的紅酒名乎其實用瀑布水灌溉。

吃過午餐後是我們的重點行程,坐觀光船近距離感受大瀑布。上船前每人分發一件雨衣,很多遊客沒有必理準備,他們一窩蜂爭著企船頭船頂,我很有經驗知道最佳的位置,其實是船倉內大玻璃窗前的坐位,進可攻退可守,又不怕變落湯雞。觀光船先去美國那邊的小瀑布,然後駛進馬蹄瀑布的中心。大慨就是十號風球的感覺,四週全是白芒芒的水花,浪聲嘈得十分吵,水從幾百呎衝下來吹起強風。企在船外的人無處可逃,反而我們在船倉內,可以踏出半步去體驗大雨,在安全距離感受大瀑布。

坐完船細仔和細女要回酒店睡午覺,我就帶著大仔去行尼亞加拉市中心的遊客區。大仔有本Riley’s Believe It or Not的圖書,於是帶他去看Riley的博物館,原本我以為是騙錢的玩意,想不到那兒的收藏讓我大開眼界。去年去了倫敦看大英博物館,Riley就是一個180度的反差,專門收藏難登大雅之堂的古怪東西,例如原始人的JJ護甲,食人族的縮小真人頭,人頭骨酒杯,人皮書等等。最讓我意想不到,竟然收藏了星球大戰拍電影時用過的光劍道具。行完Riley還有時間,我們賺票去看瀑布的背面,搭電梯下去後走一段很長的隧道,盡頭處有一個洞口,洞口外就是瀑布的水薕,有點搵笨。

晚餐我們在Queen Victoria Place餐廳訂了位,想悠哉游哉地觀賞大瀑布,這間餐廳位於馬蹄瀑布和美國瀑布中間,是整個遊客區最理想的地點。這兒可以一邊吃大餐,一邊欣賞瀑布的美景,等待黑夜的來臨,看著瀑布亮燈化身成七色彩虹。夏天每晚十時正,還有煙花薈演看,在瀑布上空放煙花,雖然只有短短的五分鐘,但配合瀑布的魔幻燈效,與平常看飛上天空的煙花與別不同。由早上玩到晚上,在尼亞加拉大瀑布玩足一天。

在AI時代,何謂知識

知識的定義,會隨著科技發展而產生變化。在遠古年代,還未發明文字,知識是部落中口耳相傳,一個人在腦中能記得多少東西,他就擁有多少知識。後來發明了文字,但抄寫書藉還十分昂貴,記憶的重要性下降,但書寫和閱讀成為了傳授知識的唯一方法,於是能否背頌書藉上的東西,成為普遍代表擁有知識的標準。

到了印刷術的發明,書本普及化,大學和圖書館的成立,單純的記憶力已經不再代表知識,成為茶餘飯後的材藝表演。能把大量書藉和文字,有條理地整理並作出總結,成為那個世代知識力量的代表。經歷互聯網和Google的進化,一個人能夠掌握和消化資料的數量越來越豐富,但沒有動搖這個知識的定義,反而更加深入它的影響力。

而然ChatGPT橫空出世,短短三年已帶來翻天覆地的轉變。從前要一隊人很多個月才做好的資源整理,AI可以輕易地在十數分鐘內完成。單純的知識搬運工不再有價值,好些學術期刊甚至禁止survey類的論文發表,因為實在太容易大量生產了。那麼在AI年代,什麼才是知識呢。

知識本身是死的,把知識應用出來,解決我們遇到的難題才是活的。AI可以回答我們的任何問題,但最終還是要由我們決定去相不相信AI給的那個答案。這個循環自始以來並沒有改變,遠古年代我們選擇聽不聽老人言,近代一點就是盡信書不如無書,早幾年則是Google大神也出錯的時候。科技只不過把查詢概有知識的過程加速,讓我們可以快速去檢驗答案的真偽。AI並沒有改變知識的定義,而是把知識最原始的面貌展現出來,知識從來都是做出正確的決定。

臉書留言機制的結構性問題讓騙徒橫行


FB上看見有房產說她買2xEFT今年賺了五倍,我留言踢爆她說謊,因為根本不存在今年賺五倍的EFT,然後我被ban了。諷刺是該房產用這兩個tag,希望不會有人找她賣房受騙吧。

#相信對的人
#我們更相信真實的成績

FB與Reddit那些公開留言版不同,有人說謊很快就會被網友留言踢爆。FB的文章的「屬於」貼文者,他有權力刪除留言或隨意禁止任何人留言,所以很容易把反對聲音消滅。FB原來的定位的朋友圈,ban人大慨就等同與朋友絕交吧。問題是FB逐漸演化成公眾feed,那個#西雅圖房產天后Ellen騙徒是FB演算化推給我的。我在我的feed上看見有人睜著眼說謊,卻完全沒辨法留言踢爆警惕其他人,FB的留言機制十分有問題。

我不知道FB的演算法如何,要解決這個劣幣驅逐良幣的問題,可以參考現實生活中的朋友圈。若果有人和另一人絕交,那兩人的朋友圈很自然分成兩派靠邊站,只有少數會保持中立。套用在FB上如果用戶ban了別人,應該要反影在他的reach上,如果他ban了一個朋友眾多的用戶,或ban了太多真實的用戶,那他的reach就應該要減少。讓社交媒體展真正社交的威力,而不是淪為騙從橫行的垃圾崗。

AI寫code實戰心法

看網絡上講AI寫code的實在太多外行充內行,甚至開班賣課賺不懂寫程式麻瓜的錢,實在看不過眼,在thread上嗆他們一句半句只是耍樂子。倒不如自已執筆寫一篇AI實戰文章,公開地打他們的臉,引他們過來我主場留言反駁。

有人會問我是什麼來頭,有什麼資格說三道四?我是行內人在一線AI大廠的工程師,早幾個星期剛剛完成公司內首個「AI工程師」的部署。不過職銜和公司名片只是用來唬人,真正的資格是因為工作關係,見識過無限GPU和無限tokens的威力,隱約看見今個世代基於LLM的AI技術的極限在那兒。

這篇文章是全人手寫,幫助腦袋思考的副產品。若果文筆不通順有錯字,廣東話入文看不慣,讀起來沒有起承轉合,讀者請自行餵給AI書僮伴讀。反正在AI年代,把乾貨的真知識記錄下來才最重要,日後有時間才叫AI編輯潤筆添加水份,一魚多吃。癈話不多說,讓我一一戳破網絡偽AI達人常說的廢話。

教人使用便宜的開源LLM去寫code

不要浪費時間在次等的LLM上,因為你的時間更寶貴。沒錯開源LLM的確很便宜,亦只是落後頂尖LLM三個月,但在AI世界三個月就等於人類的三年,你不會想用過時的技術吧。撇開愛祖國用國貨的因素,最大問題是你不知道何時LLM會鬼打牆,頂尖的LLM不是萬能,但遇到鬼打牆的機率少很多。你的時薪也不只二十美元,只是遇上幾次鬼打牆,你浪費掉的時間已經比頂尖LLM的月費更貴。

那便宜的LLM是否亳無用處呢?當然不是,自已用就要用最好,給別人用就要考慮成本將貨就價了。若果你十份肯定一些情況,便宜的LLM足已能勝任,用頂尖LLM就殺雞用牛刀了。寫code時有些簡單的任務,不妨交給便宜LLM去執行。若果你不太肯定,專業的做法就是先用頂尖LLM做了出來,然後建立評估去測試省錢的下限,LLM沒有最便宜只有更便宜,若8B模型能用說不定本地內建的1B也能成功呢。

教人使用no code平台去開發應用

不知何解,網絡上有一票教n8n的AI導師,很好奇他們是否收了讚助費,或是拿上一個cycle流行no code時代的東西出來循環再用。我不是因為自已是工程師所以輕視no code平台,我沒有用過n8n但我有微軟Power Automate的證書資格,公司有一半的東西是使用M365,未有AI前我自已也畫了不少flow去自動化流程,在Linux的另一半當然是shell script更加好用。

若果你今年一月時問我,那時MCP還未一統江湖,GPT5世代的推理模型還未面世,我會認同使用no code平台很正路,至少比去年流行的langchain/graph,用古怪的python語法寫workflow來得直覺。可是到十月還在教人用n8n的人,大慨就是把心思用在編寫課程打廣告收生賺錢,沒有花時間繼續進修追上一日千里的AI發展。若用Claude Code或Codex作為AI agent的開發基礎,接駁好MCP後,剩下的工作就只是寫system prompt。若果用no code平台畫出來,就是把所有connector全接到中間那個大方塊,畫完等於沒有畫。

今年有不少新世代的agentic framework面世,那個最好用目前下結論還太早。領先的兩大廠分別有Codex同Claude Code的agent SDK,Google和微軟緊隨其後,人家有什麼功能就抄什麼。獨立開源的我使用過huggingface的smolagent和後MCP時代的fastagent,而後者我更增添一個我公司需要用的小功能,發送了pull request回饋開源社群。我想要過多久時候,網絡AI導師才會教agent SDK,這些真正實用的東西呢,恐怕到時這些東西又可能過氣了。

Vibe Coding 無用論 / 萬能論

要說2025年度詞語 ,肯定是Vibe Coding一詞莫屬,年初由大神Andrej Karpathy發明,來形容全AI不經人手開發程式。群眾對Vibe Coding的反應兩極,一邊廂說普通人現在也可以寫程式,工程師軟件開發人員全部失業,另一邊廂說Vibe Coding寫出來的只是玩具,不可能拿出來作實際應用,還有更恐怖的資安外洩,整個資料庫被AI清空等都市傳說。

當外行人為Vibe Coding爭辯過不亦樂乎之際,專業的早已全面擁抱AI寫Code,科技大廠超過70%程式碼由AI生產不是神話,我自已團隊就AI生產超過200%的程式碼。你問有可能超過100%嗎?有,因為AI生產出來的有很多垃圾不能用。AI不是無用亦不是萬能,只是一件很好用的工具,需要學習才能有效地靈活運用。

在我對AI基礎技術的認知上,與其說LLM是人工智能近似人類思考,不若說LLM更像是MySQL那類的算力黑箱引擎。明白了LLM的運作原理,就不會有在與AI對話的幻覺。實際的流程是prompt+context輸入,LLM另一頭輸出一堆文字。若果輸出有問題,正確的做法不是與AI繼續對話,而是改變另一組輸入再嘗試,這個輸入到輸出驗證再試的輪迴,以前我們叫它做debug。

Vibe Coding並不是新事物,未有AI人工智能前它的名字是印度外判,也算是另一種AI(Actual Indians)。沒有管理和系統架構經驗的初級工程師,習慣所有程式碼一手一腳自已包辨,手腦合一沒錯是寫code又快又靚,但極限是一個人一天只有二十四小時。當你的項目超過你一個人的能力時,就要帶領團隊分工合作才能完成。傳統上資深工程師負責架構,初級工程師負責執行,只要薪火相傳把知識教授給後輩,上級不用去費心執行細節上的問題。

可是印度外判的出現,完全顛覆這種師徒制的理想開發環境。外判就是要節省成本,結果就是一分錢一分貨,印度外判對工作亳不上心,說漏一句就亂來錯誤百出,就好像現在的AI一樣。不知是幸運還是不幸,當年我帶領五十人的外判團隊,原本一心只想當個輕鬆發號司令的經理,結果白天我要親自把的技術執行拆件細分,寫好文件和檢收要求分發給外判去做,晚上就和他們開會做code review,他們亂來就拒收發回重做。相對起來AI比外判實在太好用了,至少AI不會明明做錯還堅持自已是對的,要我花半小時去證明為什麼他做錯了。總之受過印度外判痛苦洗體的資深工程師,早已學懂了如何運用AI去Vibe Coding的技巧,說穿了就是engineering最基本的常識,divide and conquer, clear specification, automated acceptance test。

哲學上有個無限猴子理論,若果給無限隻猴子無限台打字機,邏輯上遲早會打了部一莎士比亞名著出來。在AI比猴子聰明,大約比印度外判好一丁點,我發明一個無限印度外判理論,只要有無限GPU和無限tokens,AI遲早會寫出你想要的程式。