2020年12月19日 星期六

日本鐵路便當學問大:便當裡的故事

 

相較於台鐵便當用一個排骨就制霸全國,日本鐵路便當可說是百花齊放,令人目不暇給。北至北海道肥美巨碩的螃蟹、鮭魚卵,南到沖繩韻味十足的黑豚、黃金薯,日本職人竭盡所能地把當地農漁物產濃縮到方寸之間。以便當盒這個載體,將「千滋百味,共聚一隅,車馬相逢,一期一會」的日式美學傳達給遊客。

台灣人喜歡熱騰騰的飯菜,偏偏日本鐵路便當九成九皆是冷食菜餚。日本料理人竭智心力開發出冷了也好吃的山珍海味,遇到不解風情的台灣消費者,把便當丟到微波爐加熱食用,這就是「你的糖衣,我的毒藥」的新解吧。日本當地為常勝軍的橫濱便當老店「崎陽軒」來台北車站設點後,也得入境隨俗地擺起蒸籠賣起熱燒賣便當,可見民族的飲食習慣是根深蒂固,幾乎無法動搖。排除冷食在台灣亞熱帶氣候有不易保存會食物中毒的疑慮,我個人則是偏愛放久也美味的日本便當。

市面上也有以日本便當做為主題的書,但多數是翻譯作品。「日本鐵路便當學問大」的作者Sunny是台灣人,先天受制於跨國取材的不便,卻仍然為讀者端出讓人眼睛為之一亮的紙上便當美食巡禮。有別於另一套知名的「鐵路便當之旅」日本漫畫,是以列車旅行的故事橋段鋪陳,穿插呈現各地車站出現的鐵路便當。Sunny單刀直入將幾十種特色便當分成八個主題,以跨頁編排圖文並陳。左頁描敘主題便當背後的故事,右頁搭配餐盒正面彩照。像是直球對決,鍞定喜愛日本鐵路便當的讀者。在圖片的附註,作者會直言菜色的嚐後感,看不到無謂的客套話(很多菜餚被說是「味道普通」)。

「日本鐵路便當學問大」不是簡單的一本便當圖鑑,它提供了許多與日本鐵路便當有關的知識。諸如,幕之內便當原本是觀賞表演時,在中場休息時間裡享用的餐盒,因此多樣化菜色和方便食用的食材大小是它的特色。冷食便當源自於日本人貼心的一面,避免在火車裡用餐時,食物散發出來的氣味影響到同車旅客。日本的鐵路便當,是鐵道公司委外由專業的餐飲業者來製作,也因此會體現出日本各地不同的物產與飲食文化。書中這些頗具趣味的便當趣事,相信也能成為日本便當發燒友們茶餘飯後的談資。


2020年12月13日 星期日

蓬萊百味臺灣菜:黃德興師傅的料理人生

 

說到台灣菜你會想到什麼?是「青葉料理」裡的菜圃蛋、瓜仔肉和三杯雞,還是喜慶婚宴的「辦桌」吃到的紅蟳米糕、清蒸鱸魚和佛跳牆。「蓬萊百味臺灣菜」一書,是台菜名廚黃德興師傅的口述自傳,由於黃師傅年近百歲,他一生在餐飲界的歷練經歷,也等同於臺菜文化變遷的珍貴史料。讀者可以看到國民政治來台前後期到李登輝執政,台灣各時期經濟環境的差異,近而形成的飲宴文化。

黃師傅是北投人,民國初年大環境的經濟條件很刻苦,為了謀生讓親友引介到知名酒樓「蓬萊閣」當童工。「蓬萊閣」為日治時代就聞名的高級酒樓,是政商名流相互招待的交際場所。它有著和席與漢席料理菜譜中有上千道菜餚,魚翅、鮑魚各式山珍海味,連豬油都自己用豬油脂自己爆,高湯還能分一級、二級和三級三種。台灣仕紳的經濟能力和文化素養的巔峰位於日治時期,而隨著國民政府來台而每況愈下。黃師傅在因緣際會下在「蓬萊閣」見識到極致的臺灣菜,許多菜餚至今僅現於菜譜。像工序繁複的菜色像「圓仔燕」、「金銀燒豬」,用料奢侈的「百鳥朝鳳凰」、「一品鍋」已經不再復現於今日。

國民政府對公務人員的禁奢令為酒樓招待文化劃上休止符。銀行、企業各自成立招待所,將交際應酬潛藏到抬面下,間接造成像「蓬萊閣」這類高檔酒樓的式微。黃師傅也在酒樓結束經營後,轉向北投酒家執勺,參與了臺菜轉型的下個階段。早期的北投溫泉文化講白了就是風俗業、「查某間」,經營者多半有著黑道背景愛「風神」,菜色開始重視擺盤,並推出創意、特色料理以吸引客人。賓客來消費是醉翁之意不在酒,性交易為主,料理次之,造成了備料簡便、出菜迅速的清粥小菜、涮火鍋的興盛。也是「青葉料理」這一派台菜的源起,自此做工繁複的古早味臺菜便漸漸失去舞台。

隨著政府廢娼的政策,北投風俗業受到打擊。黃師傅手藝精湛已成為名廚,受邀到當初新成立的「來來飯店」負責臺灣料理擔任主廚,這也是推進黃師傅職涯更上一層樓的因緣。現代化的飯店管理制度,將本求利的食材、人員費用管理,都是黃師傅在來來飯店任職時必須面對的挑戰。雖然透過「來來飯店」這個舞台能擴展政商名流的人脈,但業績壓力和無法自主決定菜餚的方向,讓他權衡之下選擇離開。輾轉歷經數個職場後,最後黃師傅終於落腳在讓他名聲響亮的高級餐館「康熙苑」。之後他能盡情發揮所長,鑑古立新地簡化、改良臺灣菜,爾後更走入校院教導學子傳統臺菜的精髓。正逢台灣意識的蹶起,臺菜從此進入自成一大家的格局。

經濟高度成長後的台灣,我們對飲食的需求從最早的「吃粗飽」變成近期的「吃好、吃巧、吃健康」。重油、重鹹、大菜眾人分食的臺灣料理,不免令人退避三舍,變成年節喜慶才會享用的罕見佳餚。「蓬萊百味臺灣菜」一書除了讓讀者領略台菜變遷的始末,從中也能發掘許多古早的人情世故。譬如早期的黑道與風俗產業、警察包庇的盛行。從日治時代名流往來的招持風氣到國民政府遮遮掩掩的設立招持所,大老闆和政府人物酒酣耳熱的好交情,從來不曾退流行。電影「一代宗師」中有句台詞「見自己、見天地、見眾生」,黃德興師傅就其平生經歷,可謂是臺灣菜的一代宗師。

2020年12月7日 星期一

日本大不同:決戰東西篇 / 日本大不同:縱橫日本篇

 

「日本大不同」兩冊書,以設計感十足的封面和獨樹一格的開本尺寸,讓它常被文青小店、日系百貨挑來當做店頭擺飾。內容則是相當輕鬆易讀的各種日本文化「豆知識」,像是那個地方的醬油最甜、何處的豆皮壽司是什麼形狀等等。對非哈日族而言,這些支微末節的日本各地文化差異,真的無關宏旨。但日本人就是能把一個看似槁木死灰的主題,像戶愚呂弟般用盡120%的力氣,讓整本書散發出濃厚的日本味。

書頁穿插著精緻細膩的文物圖片,這也是「日本大不同」系列叢書的精華之處。雖然拍攝的東西,都是你我生活上常見的物品,比如酒杯、黑輪、火車等。專業攝影師「山出高士」的取景,配上「岡部敬史」口語般的文字,產生了一加一大於二的效果。武斷地說,假若刪除這些高質感的照片,僅靠「日本大不同」本身的內文所展現的吸睛力,可能還不如緯來日本台播出的「日本大國民」。

作者「岡部敬史」在書中提到了一個值得分享的觀點。他認為日本東西(關東和關西)文化的差異,都源起於人們對傳統的「堅持」,也就是這份堅持造就了許多「古早味」和「多樣性」。標準化和現代化,或許在經濟層面上是最理性的選擇,但如果能多一層人文的關懷,從傳統和文化保存的角度來評估,我們不該這麼迫切地追求「效率」。看看台灣各地所謂的老街,賣著千篇一律的名產小吃,其實我們和日本的差異也就高下立判了。

2020年11月25日 星期三

這不是你以為的俄羅斯:第一本台灣作者撰寫的俄羅斯輕文化觀察書

 

2019年起新冠肺炎度捲全球,跨國界的旅遊行程戛然而止,卻不會影響到「紙上的環遊世界」。咱們依然能藉由五花八門的風土民情遊記/雜記來開擴視野,豐富自己的世界觀,避免受到媒體/網路上的刻板印象,毒害我們對世界的理解與包容。

「這不是你以為的俄羅斯」不是本旅遊導覽小冊,谷哥能查到的資料,應該不值得你掏荷包購買。主題環繞著「俄羅斯」這個世界面積第一的國家,書中先從史地的宏觀格局開始說起,再逐步切入貼近平民日常的食衣住行等枝微末節。作者流暢的文筆與多采多姿的異國生活際遇,真的會讓人手不釋卷地有如身歷其境,一同去認識近而熟悉,這些網友們稱呼為「戰鬥民族」的俄羅斯(斯拉夫)人們。

對這個老牌的共產主義發源地,我在沒讀過「這不是你以為的俄羅斯」一書之前,總是充斥著負面的觀感。不知是深受孩時反共愛國教育的洗腦,抑或是被好萊塢編劇們特意為之的妖魔化影響。一提到俄羅斯,就聯想到特務滿街走、黑道治國、核子武器常弄丟之類的背景設定。居然對一個未曾踏入的國度,會先入為主地抱持著一定程度的厭惡感,只能讚嘆人們想像力的偉大。

「唐宏安」和「裴凡強」兩位作者,像是幫我們開啟一扇文明之窗,讓讀者看見那個橫跨歐亞的俄羅斯。雙作者的設計,恰好融合不同的寫作風格與敘事內容,史地的脈絡分析加上生活經歷的分享,提升了內文的多樣性。「這不是你以為的俄羅斯」讓我們用平實不浮誇的角度去觀察俄羅斯。平心而論,戰鬥民族其實不如我們想像中的彪悍,然而源自於斯拉夫農民的DNA,加上極端惡劣的氣候形成的物競天擇,或許就是一種土壤,培育著俄國國民堅忍不拔的性情和永不言退的意志。

幾篇文章中也約略提到「現代沙皇 普丁」受到大部份俄國人民的擁戴的原因。2020年的當下,近日新聞報導普丁健康出了狀況,願他安好。誠心推薦,「這不是你以為的俄羅斯」肯定是「紙上環遊世界」之旅,不可或缺的景點。

 

2020年11月12日 星期四

Maven實戰


從事資訊系統開發的人,如果不是天生神力有著「一目十行,過目不忘」的本領,或多或少都會有如何達到「溫故知新」的困擾。畢竟資訊技術一日千里,永遠有學不完的新東西,但手頭上合用的工具與技術還是要維護,常常會有蠟燭兩頭燒的焦慮感。

相信今日從事Java程式開發的工程師們,肯定對Apache Maven這套開源工具不陌生。它將軟體開發生命週期的想法融入到專案管理及自動編譯工具中,讓不同的軟體專案能依循相同的目錄結構與建置階段。它有如Java開發社群的巴比倫塔,在跨團隊合作的專案中,減輕了因各自的專案開發風格(路徑規劃、編譯步驟)所造成的文化障礙。

Maven對Java社群更大的改變在於,它拯救了無數受困於JAR參考地獄的程式開發人員。透過POM設定檔中的依賴管理功能,宣告式地指名專案需要引用的JAR,Maven就自動幫你完成下載、相依性引用等讓人操煩的技術性細節。平心而論,採用Maven做為開發輔助工具,大大地提升了Java工程師的產能。

而這本「Maven實戰」便是具體而微地說明如何使用Apache Maven在實務的工作場景。它用一個前後呼應的Web應用程式專案做為範例,不疾不徐地說明了Maven中的方方面面。雖然在專案自動化建構工具的領域上已經又出現了Gradle這個後起之秀,但不可避免地仍然有許多專案是採用Maven,對於想要掌握Apache Maven工具的朋友們,「Maven實戰」絕對是值得收藏的好書。


2020年9月20日 星期日

歡樂邏輯養成班,超有料!:一學就會,一笑就懂,絕不昏昏欲睡的12堂課

 

想要一秒鐘惹怒工程師,只要對他本人說「我覺得你講的話沒有邏輯」。可想而知,每天得藉由程式碼和電腦搏感情的程式人員,是多麼在意自己的邏輯思維能力。卻也因為「邏輯」一詞的使用氾濫,常被現代人在日常生活上用來指稱「腦袋清楚」與否,模糊了「邏輯學/理則學」原是一項能增進「口語/文字溝通」正確性與效率的人類文明結晶,其重要性不亞於數學中的「四則運算」和「九九乘法」。

而「歡樂邏輯養成班,超有料!」一書便是能讓讀者輕鬆、愉快地閱讀過程中,吸收到最基本的邏輯學觀念。書中介紹的條件句「若A則B」,充斥在人們日常對話的情境中,像「如果今天是博客來會員日,我就會買書」。而人們卻常犯「若A則B,非A則非B(錯誤)」的推論錯誤,產生「如果今天不是博客來的會員日,我就不會買書(錯誤)」,更將錯誤擴大為「我只在博客來會員日買書」。後續介紹的「否命題和逆命題同真偽」、「命題和否逆命題同真偽」、「充分條件/必要條件」等觀念,都是透過幽默有趣,淺白又不失精準的說明,傳達給讀者,中間穿插著日本特有的四格漫畫更是有畫龍點睛的效果,讓思考著邏輯運算而忙碌的腦袋,能適時地喘口氣,用另一種方法(四格漫畫)獲得邏輯觀念的解說。每篇結尾都提供了驗證所學的簡短練習題,切記得按步就班地自我檢驗,才能獲得更大的學習成果。

近末篇章作者開始進一步介紹邏輯學中的「演繹」,帶出了「邏輯定律」中相當實用的幾個公式,包括了:「遞移律」、「肯定前項律」、「否定後項律」、「選言三段論」、「建構兩難律」和「背理法」。更把「演繹」和「歸納」兩大推論技巧的關係說明清楚,一解我心中殘存已久的困惑(誰先誰後)。舉例來說,時下流行的大數據便是利用歸納法來提出假設,再利用假設當前題進行演繹推論,但這種推論在前題不為真時將會失效,所以要記得時常確認前題沒變。

邏輯能力和數理能力一樣,都是用進廢退的智能技術,不論是已經身為家長想到培養子女在邏輯思維上的基礎,或是想保持自身在邏輯判斷上的神志清明。「歡樂邏輯養成班,超有料!」都是一本最適合「學而時習之」的優良教本。


2020年9月13日 星期日

Storm應用實踐:實時事務處理之策略

 

提到大數據,黃色小象(Hadoop)的名號已是婦孺皆知。但在巨量資料處理的實務中,Hadoop(和後起之秀Spark)只是批次運算的領頭羊,在天平另一端則是串流/即時運算(簡體稱為流運算)。Apache Storm便是名氣響亮的串流運算開源碼解決方案。

巨量資料技術最適合應用在各式的網路機制與服務。而最佳的資訊流架構規劃,應該是融合批次運算和串流運算。以這樣的使用情境為例「隨著網站使用者的瀏覽歷程,網頁自動呈現最多人感興趣的內容」。就是藉由巨量資料收集進行的批次運算結果,得出「最多人感興趣的內容」的數據洞見。配合即時(更專業上應該說「近乎即時」)收集的「使用者瀏覽數據」,動態改變「網站的呈現內容」,至此才實作出前述的系統機制。

或許有人會提出疑問,覺得同樣的數據流處理也可以用傳統的網頁程式技術來完成。差別在如果採用的是串流運算,它會針對Web主機裡的access log進行後端非同步的資料處理,實踐了營運和分析程式分離的資訊架構。一方面減少前端網頁程式的複雜度,提升程式碼的可讀性。另方面即使未來增加更多的數據分析功能,也不會因此影響到網頁回應的速度,造成整體網站的效能不彰。

從事數據分析的資訊人員,在談到串流數據處理時,肯定會聯想到Splunk(商用)和ELK(開源碼)這兩個知名的時間軸式(time-based)大數據分析平台。Storm很明顯地和它們不同,Apache Storm完全是個數據處理運算平台(platform),或更嚴格地說是一個數據處理開發框架(framework)。而Splunk和ELK是著重在巨量數據的即時分析,一條龍地提供「收集」、「處理」、「視覺化呈現」的分析工具。

拉回來說,細看Storm組成的元件和它在處理數據流時採用的架構,資深的工程師馬上會聯想到典型的訊息佇列(message queue)服務。猜的沒錯,Storm核心元件中的Spout和Bolt,對應的正是精典的「生產者/消費者」模式中「消費者」的角色。在架構Storm的解決方案時,也少不掉要安裝提供可靠數據來源的訊息佇列服務(如AcitveMQ、Kafka)。你可能會問,若是如此,又何必花費心思導入Storm方案,只要自行撰寫符合生產者/消費者模式的數據處理程式,不就可以打造出即時的數據分析功能?但是Storm平台能做的不僅是一般常見的多執行緒(multi-thread)消費者元件,它通透地提供跨主機(multi-server)、跨處理程序(multi-process)的消費者元件,理論上可以讓數據流處理的總吞吐量接近無上限(還是會卡在系統瓶頸點)。而導入Apache Storm也連帶著引進了管理介面、標準化的開發框架,這都能增進即時巨量資料處理解決方案的可維護性及穩定性。

這本「Storm應用實踐」的內容令我大為讚賞,一開始從最基礎的串流資料處理觀念說起,接著是核心元件Spout和Bolt的介紹。它以貼近IT實務的模擬案例來引導讀者打造可運作的程式原型,從中做學地逐漸讓人熟悉著手Storm開發的最佳程式範型(pattern)。

Storm的Spout和Bolt元件,如同Hadoop著名的Map/Reduce般,在極簡的類別設計下,展現出無窮潛能的實作空間。書中後半針對效能調校、程式除錯等進階議題詳加說明,還有比官網文件更深入淺出的Storm內部運作細節解說,當之無愧地可以說是「Apache Storm自學聖經」。終章作者介紹了Trident這個建基在Strom上的抽象框架,它提供了類似Spark Streaming一樣的「微批次/小批次」資料處理功能。老實說,Trident的複雜度足以獨自出版成冊,作者也言明只想粗淺介紹這個抽象框架,讓讀者有個印象,一般在開發Storm應用時不見得需要用到Trident。

「批次處理」和「串流處理」像是大數據工程師工具箱裡的十字和一字起子,兩者適用的情境和條件限制截然不同。透過妥善的規劃將兩者相互整合,會展現出一加一大於二的驚人成果。因此從事大數據工程的資訊人員,千萬要把握學習Apache Storm的機會,更別錯過「Storm應用實踐」這本值得典藏的傑作(還是有幾個勘誤處,細讀才會發現)。

2020年9月9日 星期三

圖解火砲


自從運用火藥爆炸威力殺敵的熱兵器問世以來,傳統以刀劍互搏的冷兵器就逐漸淡出戰場。藉由大量的影視作品,即便不是軍警的平民老百姓,相信也對一般的槍炮機制略知一二。

而這本「圖解火砲」以一篇篇問與答的圖文內容,將有關大炮的科普知識傳達給讀者。從最基本的前膛炮和後膛炮的差異到歷史上關鍵的火炮技術演進,都能輕易地在書中找到答案。後半部更依地上和海上的火炮應用獨立成章,從中可以學到「坦克」和「自走炮」的差異,「魚雷」和「水雷」的不同等等軍武小知識。

這一類的圖解大百科多半源自於日文翻譯書,內容都是非常淺顯易懂,插圖精細且賞心悅目。令人佩服日本人整理、解構事物的專業和細心。閱讀此類書藉不外乎是對討論主題感興趣,或是單純被書中插圖所吸引。不論起心動念的源由為何,圖解大百科系列總能讓讀者心滿意足地盡享閱讀之樂。


2020年8月20日 星期四

Splunk大數據分析

 

 
大數據工具如此多元的今日,開源碼的解決方案如雨後春筍般滋長。一時之間,需要掏錢購買的商用軟體難免讓公司行號考慮再三。畢竟大數據軟體所費不貲,若能妥善運用開源碼,減少專案開發所需的軟體授權費用,也算是明智的節流巧門。在景氣低迷、未見曙光的大環境下,商用版工具要脫穎而出,獲得決策者的青睞,必有它過人之處。而Splunk便是在即時大數據領域中大放異彩的優質工具。

有別於Hadoop和Spark嘗試在大數據批次處理找出最佳實作範型,Splunk專注在替即時大數據/流式大數據的應用情境提供解法。它既不像Spark streaming以短批次模擬即時,又和Apache Storm只負責數據的「處理」截然不同。Splunk是真正在流式大數據上,同時做到「收集、儲存、處理、呈現」這四個數據分析上的核心功能。簡單說,一但使用了Splunk平台,公司馬上就擁有完整、強大的即時數據分析解決方案。在開源碼的世界,可以和Splunk比肩的是由Elasticsearch、Logstash和Kibana組成的ELK平台。兩相比較,Splunk因為是用單一軟體做到收集、索引、查詢、視覺化等所有功能,因此在建置、維運以及使用上都比ELK簡易流暢。然而不論是Splunk或ELK,在大數據分析中都只是做為完善批次分析平台的不足,即時分析平台是無法取代像Hadoop和Spark這種通用平台,用於執行客製、複雜的大數據運算。

「Splunk大數據分析」是本資訊量很高的電腦書,即便在說明概念/術語的初章,就不廢話地介紹即時數據分析的獨特價值。接著一章章地講解數據導入、SPL分析語法、數據視覺化。各章內容採用實際範例來讓讀者練習,在看完功能簡述的文字後,緊接著具體的指令操作和執行結果截圖,大大地提升吸收、理解的效率。書中提及的Splunk指令集相當扎實,進階功能的應用常常就躲在隻字片語裡。最後兩章,更納入分散式佈署、效能調校等系統架構規劃的議題,全書比Splunk原廠的基礎課程更為豐富深入,可說是one for all。

美中不足的是,這本是上市已久的舊書,介紹的軟體版本/功能已經有點過時,因此少部份功能截圖與新版本對不上。另外書中舉的練習範例較貼近美國社會(此為簡體翻譯書),不論是航班資訊或是Twitter社群,都不是台灣人所熟悉的情境。如果將內文簡化,範例更濃縮,集中在Splunk指令集的介紹與功能呈現,有成為非官方教材的潛力。

2020年8月16日 星期日

天國飯與地獄耳:偷聽,揭露我們與惡的距離。鄰桌的故事越罪惡,食物越美味,我們都犯此不疲。

食記難寫之處在於,用來描寫盤中美饌的詞彙拿捏不容易,滿腹經論的美食作家,順手寫來通篇滿溢繞舌罕見的字句,吃個粽子也要提起屈原的國仇家恨。俗一點的則走Taipei Walker日雜情報誌的風格,內頁滿滿賞心悅目的美食美照,搭配著作家獨家的評分量表,加上店家老闆笑臉迎人的半身照,更貼心地附上地址和電話等侯讀者預約。若你已經看膩了上述兩種極端的「食記」文學,「天國飯與地獄耳」恰好能讓你耳目一新。

作者「岡田育」在書中的各篇短文中,以美食破題,描寫用餐環境/風情當基底,讓讀者跟著她一起觀察/偷聽的周邊客人互動,配上若有似無的作者個人評論。一邊透過文字感受到日本獨有的食文化,又能滿足於人們喜愛聽人八卦、看人隱私的惡趣味,真的能讓人手不釋卷,泛起邪惡的微笑一頁頁讀下去。

博客來把此書放在「社會議題」的分類中,以我來看,更精確地說它是本「社會觀察」實紀。只是作者是在餐館裡,用她特有的方式端看人間百態,本質上「天國飯與地獄耳」和「北野武」出過的一系列社會觀察評論/散文集沒有不同。「岡田育」用許多美食佳餚來點綴,論及的話題多在閒話家常的範疇,讓全書沒有憤世忌俗的毒舌冷語,還多了點飯菜香。

2020年8月9日 星期日

住房自由的人生:房地產專家張金鶚教你活用七三法則、大數據,找回居住自主權


近兩年來由於有成家打算,我開始關注買房資訊。瀏覽各家房仲網站後,「買房難,難如上青天」可比擬我心中受到的震撼。而除了房價外,建商風評、地段、格局等與購屋相關的資訊,也都成為我關心的議題。因此在書店展台上看到「住房自由的人生」一書,立馬詳實翻閱咀嚼。

時常在房地產新聞中看到作者張金鶚教授的大名,印象中他是位敢言的房市學者/專家。書中內容果不其然,有別於另一位文筆有點插科打諢的專家Sway,學者出手就是濃濃地學術味。數字、圖表、引用資料來源一應俱全,內文印出來也可以在課堂上當做講義。優點是不嘩眾取寵,章節言之有物,缺點是全書通篇讀完不免令人漸感乏味,像修了一學期的房地產導論學分。

作者在書中分享他生命中購買過的房產歷程與分析竅門。具體的提出了買房的五大重點:「產品」、「管理」、「區位」、「價位」和「時機」。而購房目的則可分為「自住居住」和「購屋投資」兩種。對於「自住居住」的人來說,五大重點的先後順序為「產品>管理>區位>價位>時機」。而「購屋投資」的人則是要用「價格>時機>區位>產品>管理」來思考。書中也介紹了「好時價」這個公益查詢房價網站,讓購屋者多一個較不商業化的資訊平台。

張教授在書中鞭辟近裡地解釋台灣房地產價位上漲的成因,就是房屋已然成為金融投資的標的物,投資客在市場上的影響力與日俱增,拖累了真正有居住需求的自住客。其實這些道理,你懂、我懂、隔壁的獨眼龍也懂。但在政府刻意忽視不作為的情況下,所有的苦果都將由民眾來承擔。


理財盲點:有錢人不會做的13件理財決定

 

2020年因新冠肺炎疫情大亂全球經貿秩序的同時,各國政府積極地採取史無前例的寬鬆貨幣政策。期望藉由政府以領頭羊的角色,用赤字預算大印鈔的做法,對奄奄一息的民間消費,發揮心肺復甦術的作用,造成各種振興券、農遊券、藝Fun券滿天飛舞。

「量化寬鬆」帶出來的資金常被稱為「熱錢」。在(理論上)線型成長的經濟體中,突然丟下如此巨額的貨幣供給,往往造成一波小規模的通貨澎漲。民間敏銳地嗅到了通澎的氣味後,為避免減損實質購買力,會將剩餘資金流入金融交易市場,也因此股市、匯市甚至(令人痛心的...)房市,都會開始熱絡起來。因此於2020年8月的此時,台灣股市出現了1萬3千點的榮景,股市投資的話題逐漸變成民眾茶餘飯後的談資。

這個大環境下,如果還把血汗錢牢牢地鎖在銀行做定存,可是溫水煮青蛙。「人不理財、財不理你」這句耳熟能詳的台詞,又成為理財叢書們最低成本的POP文案。「理財盲點」一書,有別於「商業理財」書架上一整排直接教讀者如何致富的「跟著我這樣做」手冊(有存股、基金、投資憑證...數不清)。它是分享13項人們常做的「錯誤」財務決定,以「見不賢,內自省」的方式,引導讀者能在一生中「不求順風順水,但求終身無悔」。副標題「有錢人不會做的13件理財決定」裡「有錢人」三個字,應該是出版社為了吸引讀者目光加上去的。書中所提的錯誤決策,即使是家財萬貫之人也有可能踩到,這副標有點畫蛇添足。

就按照書中章節順序,將各讀後心得整理如下。

蠢事1:購買自己不懂的金融商品
財務管理最基本的ABC就是,不要購買你無法解釋清楚的投資標的。不管電視、書籍甚至是肝膽相照的好哥們熱心推薦,只要你分不清「可轉換債」、「投資憑證」或是「指數型基金」,那就不要買!不要人云亦云地跟著行銷話術起舞,切記,市場永遠在等最後一隻白老鼠。有趣的是,在書中作者明言實體黃金或黃金存摺,是最差勁的投資標的。在2020這年,金價上漲了超過20%,只證明了「Never say never」。

蠢事2:聽取錯誤的財務建議
銀行的理財專員是藉由銷售給客戶的金融商品來獲取高額獎金。當你知道這一件事之後,你還會相信他們推薦給你的投資標的,是真的有潛在的增值空間嗎?還是那是他們銀行當下力推的重點商品,而且該月份的銷售額已經被列為員工考績的KPI。額外一提,共同基金的管理費普遍過高,有些甚至高達5%。在市場維持不漲不跌的平盤下,投資人還是會虧損5%。

蠢事3:過度重視金錢
「馬斯洛人類需求五層次理論」(生理、安全、情感、尊重、自我實現)已告訴我們,在衣食無缺的開發中/已開發國家,民眾肯定會開始追求「能被尊重」的人際氛圍。只可惜在功利主義盛行的社會中,笑貧不笑娼的價值觀斥充在主流文化上。擁有越多的錢財,才能獲得更多的尊重,人民自然也學會相互攀比財富以驕人。作者老調重提「真正的富足是擁有恰到好處的財富」,一味地追逐存簿上的數字變化,只會讓人開始從事高風險的金錢遊戲,造成無謂的龐大損失。

蠢事4:背負過多學貸
歐美的高等教育環境和台灣截然不同,它們的名校都是質優而學費昂貴,走「使用者付費」的原則。反觀台灣的高等教育是用納稅人的錢補貼國立大學,學費低品質好,完全反其道而行。然而不論那種模式,高等教育費用都呈現逐年上升的趨勢,加上台灣碩士學位大學化的病態發展,子女的教育開銷已經成為家計支出的重擔。如果一味地追求能力所不及的方案(例如出國唸書),可能會嚴重打擊家中數年甚至十年以上的財務狀況。書中建議,適當衡量自身財務能力,敞開心胸和子女溝通恰當的選項,或是讓子女直接背負助學貸款、申請獎學金,因為一切得來不易,有時更激發孩子求學時的熱忱。

蠢事5:該租房子的時候卻買房子
本以為「有土斯有財」是華人社會特有的俗諺。作者卻指出典型的歐裔白人移民社群,也有同樣的價值觀。這根深蒂固的老奶奶智慧,卻也是多數開發中/已開發國家房市泡沫化的成因。房價將永不止盡地無量上漲的預期心理,讓人民投入巨額資金在流動性極差的房市,期望獲得低風險的高獲利。但是泡沫總有破的一天,一但遇到系統性的崩跌,將只能斷尾求生,忍痛削價售出,讓畢生積蓄化為泡影。曾發生美國的房地美/房利美風暴便是一例。在台灣房市已經極端扭曲變形的今日,這章的內容不見得能照單全收。

蠢事6:過度承擔風險
本章主旨是重申「不要把所有的雞蛋放在同一個籃子裡」。無論你的財務配置是放在股票、基金或是定存,切記要分散風險,畢竟市場的黑天鵝時有所聞,如果遇到,對個人的財務影響可能會後悔一輩子。

蠢事7:保護個資人人有責
在數位化的網路時代,資訊安全對個人的重要性越來越高。書中舉出一個案例,有人在帳號被盜用後,後續造成生活和財務上重大的困擾。身為一個現代公民,勢必具備基礎的資安意識,保障自己的財務安全。

蠢事8:退休初期,過度消費
「辛苦了一輩子,現在我要對自己好一點」是許多退休族常掛在嘴上的台詞。作者卻跟讀者們分享,她見過很多銀髮族在退休初期就把多年的積蓄花光,在人生暮期只能錙銖必較地依靠政府養老金過日子。人生最大的難題在於無法預料自己的死期,能恰好在過世前花光僅剩的一絲錢財,是天方夜譚。保險起見應當量入為出地管好自己的退休金,享受先苦後甘的晚年。

蠢事9:將個人的金錢問題強加在子女身上
每個人的價值觀養成都是來自於從小到大的所見所聞,所以說「一樣米養百樣人」。出手闊綽或是吝嗇小氣都是我們的自由意志,不由他人說三道四。但切記在教養孩子時,別過度強加自己的金錢觀在他們身上,那會限縮他們未來財務管理的可塑性。

蠢事10:照顧年邁父母,缺乏事先規劃
社會新聞上常見單身子女為了照顧年邁的雙親,選擇離職在家全心陪伴長輩。數年之後,家中經濟開始出發困難,逼得子女和父母走上絕路。奉養尊親屬是天經地義,但要記得自己也會老,在財務規劃時千萬別把自己忘掉。如果經濟能力有所不及時,可以申辨政府單位的老年照護補助,減輕家庭的經濟壓力。

蠢事11:買錯保險,甚至根本沒買
保險業最初的理念是合眾人之力,將災禍對個人的傷害降到最低,有如互助會一般的良好制度。不論是產物險還是醫療險,適當地投入許些資金來獲取未來經濟上的保護傘,是種明智的決定。然而過於相信保險業,理財投資也想利用「儲蓄/投資型保單」來達成,就得三思而後行。以十年期的投報率來看,保單的收益遠不及其它投資工具(定存不算),罰則制度也有利於保險公司,造成投資人在資金上無法自由運用。作者也不推薦無子嗣的青壯年購買終生壽險,因為亡故補償金對當事人沒有意義。所以購買任何保單之前,要想清楚它提供的保障是否適合自己,不是人云亦云的盲目購買。

蠢事12:沒有留下遺囑
大家總是避談死亡相關的事情,但對於有家人繼承關係的成年人來說,若未能在生前妥善整理自己的財務狀況,不幸亡故後,會讓親人花費許多時間和心力盤查亡者的資產、負債,以應付法律條文。沒有留下遺囑,也會造成無法依自己的意願將財富分配給最親愛的人,更因為不明確的財產分配,讓親友相互懷有嫌隙。

蠢事13:企圖「看準」市場時機
投資專家總是擺出一附智者的姿態,告戒市井小民要如何達成「財富自由」。金融市場是如此多變,黑天鵝、灰犀牛事件屢見不鮮。照本宣科地想要重現前人發大財的故事,多半落得東施效顰。「低買高賣」是賺錢的不二法門,難就難在如何分辨最佳的買點和賣點。作者提出了一個投資心法,她說與其想找到「彩虹底下的藏寶箱」,不如採用「被動式的投資」。就是將資金投入中長期看好的投資標的,然後設定好「停利點」,一但達成預期獲利,就果斷賣出。之後即使又有一波新高,也該放下,畢竟你已經穩健地獲利了。

這本「理財盲點」很適合對財務管理較被動、保守的讀者。它不講求快速達成「財富自由」的工具式操作,是用一種「少輸為贏」的理念,帶你一步步避開人生財務決定的重大陷阱。雖然書中提及的社經背景是以美國為主,但後半部的論及的內容卻是舉世皆然的人生歷程,值得參考反思。

2020年7月30日 星期四

大數據Hive離線計算開發實戰



ISBN:9787115448088

資深的資訊工程師常有一種特別的煩惱,如何在眾多實作技術中,挑選出最恰當的工具來執行軟體專案。從中牽扯的包括組織資源、同儕能力、工具成熟度、操作便易性,這項任務恰好沒有一體適用的標準答案,如同撰寫程式時「變數命名」般,十足仰賴負責人的主觀決擇。

大數據專案開發也會遇到一樣的問題,在今日開源軟體、雲端平台遍地開花的時代,要收集、分析與運用企業本身的巨量資料,可以從最精典的Map/Reduce框架到高效版本的Spark平台。不論企業最後挑選的大數據解決方案為何,勢必需要熟悉該平台的工程師運籌帷幄。

由於大數據開發有別於傳統的關聯式資料庫,因此對於工程團隊來說,大數據技術變成一個得跨越過去的門檻。而Apache Hive正是主張能一勞永逸解決這個技術「痛點」的開源工具。它無縫地運行在Hadoop平台之上,充分利用HDFS的分散式檔案系統以及Yarn平行處理框架,並在自身的對外介面套上一層相容SQL(HQL)的外衣,讓各項軟體工具、運用程式甚至是開發人員,都能用熟練的SQL語法,遨遊於巨量資料的國度中。

對我而言,由於已經熟練Map/Reduce與Spark等技術,可以隨心所欲地撰寫出大數據程式碼。其實沒必要疊床架屋的再添一層虛擬資料庫,用SQL語法來執行巨量運算。但考量到企業整體運用情境,想擴增大數據的應用面以及簡化同儕的數據使用門檻,就值得投入心力建置一個獨立運作的Hive環境。

市面上Hive的專書不多,而且絕大多數是四、五年前所出版。在決定再次架設Hive服務的當下,理所當然地挑選2020年出版的「大數據Hive離線計算開發實戰」。內文從最基礎的概念說起,再由簡入深地提及到分區、自定義函式等進階的功能,作者將Hive定位為能處理大數據的資料倉儲解決方案,全書也呼應這個想法具體地呈現如何實踐。閱後不免心有所思,在這麼強大便利的開源方案的競爭下,未來商用資料倉儲廠商肯定不好擴展市場。

作者用最後三章舉出大數據的常見運用情境,分別是推薦系統、網站流量分析以及商業數據分析。題目夠大但內容卻僅是入門級的基本範例。特別是推薦系統一章中,是用Mahout來執行協同過瀘演算法來做範例。先不論將推薦系統,用單一個協同過瀘法來涵蓋,是否會過於簡化問題以致誤導讀者。書中介紹的Mahout版本(運行在Hadoop 2.x上),已經是太舊的版本,令人懷疑這本書的出版年份是否有誤植?

總得來說本書可以讓讀者快速領略Hive在大數據平台中所能扮演的角色,免除耗費心力瀏覽散落各處的官網文件,最後還落得一頭霧水。如果動心起念想要著手大數據運算,Hive和這本「大數據Hive離線計算開發實戰」算是不錯的起點。

Senior software engineers often face a particular kind of dilemma: how to choose the most appropriate tools from a vast array of implementation technologies for a software project. The decision involves considerations such as organizational resources, team capabilities, tool maturity, and ease of use. Unfortunately, there is no universally applicable answer to this challenge. Much like “naming variables” in programming, the final decision relies heavily on the subjective judgment of the person in charge.

Big data projects encounter the same issue. In today’s era of flourishing open-source software and cloud platforms, enterprises seeking to collect, analyze, and leverage massive volumes of data can choose from everything from the classic MapReduce framework to high-performance platforms such as Spark. Regardless of which big data solution an organization ultimately adopts, it will inevitably require engineers who are proficient in that platform to guide and manage the project.

Because big data development differs significantly from traditional relational databases, mastering big data technologies has become a hurdle engineering teams must overcome. Apache Hive is an open-source tool that claims to solve this technical “pain point” once and for all. It operates seamlessly on top of the Hadoop ecosystem, fully leveraging HDFS as a distributed file system and YARN as a parallel processing framework. On top of that, Hive provides an SQL-compatible interface (HQL), allowing software tools, applications, and even developers themselves to navigate the world of big data using the familiar syntax of SQL.

From my perspective, since I am already proficient in technologies such as MapReduce and Spark, I can freely develop big data applications directly. Strictly speaking, there is no real need to add another layer of abstraction in the form of a virtual database and execute large-scale computations through SQL. However, when considering enterprise-wide adoption, expanding the accessibility of big data applications and lowering the barrier for colleagues to work with data make it worthwhile to invest in building an independently operated Hive environment.

There are not many books on Hive available on the market, and most of them were published four or five years ago. Therefore, when I decided to set up a Hive service once again, it was only natural to choose the 2020 publication Big Data Hive Offline Computing Development in Practice. The book begins with the most fundamental concepts and gradually progresses toward advanced features such as partitioning and user-defined functions. The author positions Hive as a data warehouse solution capable of handling big data, and the entire book consistently demonstrates how to implement that vision in practice. After finishing the book, one cannot help but reflect that under the competition of such powerful and convenient open-source solutions, commercial data warehouse vendors will likely find it increasingly difficult to expand their markets in the future.

In the final three chapters, the author presents several common big data application scenarios, including recommendation systems, website traffic analysis, and business data analytics. Although the topics themselves are broad, the actual content remains at an introductory level with only basic examples. In particular, the chapter on recommendation systems uses Mahout to demonstrate collaborative filtering algorithms. Setting aside the question of whether using only a single collaborative filtering approach oversimplifies recommendation systems and potentially misleads readers, the version of Mahout introduced in the book (running on Hadoop 2.x) is already severely outdated. This raises doubts as to whether the publication year of the book may have been printed incorrectly.

Overall, this book allows readers to quickly grasp the role Hive can play within a big data platform, sparing them the effort of piecing together scattered official documentation only to end up more confused. For anyone interested in getting started with big data computing, both Hive and Big Data Hive Offline Computing Development in Practice serve as solid starting points.


2020年7月26日 星期日

演算法圖鑑:26種演算法 + 7種資料結構,人工智慧、數據分析、邏輯思考的原理和應用全圖解




依舊記得在自學程式的過程中,看過某本電腦書上寫著「程式=資料結構+演算法」,簡單又有說服力,便對「演算法」這詞彙留下深刻印象。那時真心覺得要成為一個程式高手,肯定得在演算法下苦功。更因此到某大學的資訊工程研究所在職專班,修習「計算機演算法」學分,原文課本唸得我嫑嫑的。

隨著工作經驗的與日俱增,漸漸地不再迷信演算法對工作實務的重要性。不過這是因為我從事的是應用系統(AP)的設計/開發,即便後期主要在做大數據/機器學習的應用,也是直接受惠於高階程式語言和各種開源函式庫/架框。這領域的工程師已經很少花費心力在處理底層運算中枝微末節的效能議題,像Big O這個評量算法複雜性的衡量單位,真的在職場上沒遇到有同事拿來相互討論。

這不表示程式設計師可以不用瞭解精典演算法背後的概念。列表(List)、陣列(Array)、堆疊(Stack)、佇列(Queue)等資料結構,是各種程式語言中必備的核心類別/元件。而排序(Sort)算法則是實際開發時最常被使用到的基礎算法,瞭解不同排序算法的優缺點,會大大地改善程式執行的效能。因此「資料結構」和「排序算法」這兩章可視為程式工程師必備的業務知識(Domain Knowledge)。

陣列搜尋、圖形搜尋、分群以及最後一章的「其它演算法」則是各擅勝場,在特定應用領域中都是最廣為人知的核心演算法。最值得一提的是第5章介紹的「安全性演算法」,它從最基本的數位加密觀念開始介紹,一步步地擴展到「共用金鑰密碼系統」和「公開金鑰密碼系統」,而後者正是目前網站加密技術的核心。「數位簽章」和「數位憑證」說明了HTTPS的運作原理,更是網頁程式設計師不可遺漏的業務知識。

嚴格說,書名副標提到的「人工智慧、數據分析」有點言過其實。所提到的資料結構和演算法,對於數據分析、機器學習/人工智慧領域,都是不足掛齒。本書適合給有志成為程式設計師的人當做學習教材,抑或是程式設計同業用來複習或做為消遣的小讀物。在主旨為講解計算機演算法的書海中,這本「演算法圖鑑」是最容易讓讀者吸收的傑作。

2020年6月28日 星期日

行銷資料科學|大數據x市場分析x人工智慧




自擔任大數據工程師以來,除了負責大數據平台的建置與維護外,也身兼推薦系統的設計、開發。有別於其它類型的資訊系統,商品推薦系統的目標是打造出有著高轉換率的(虛擬)商品推銷員,讓我跨出資訊工程,點燃對消費者行為的興趣。在大數據分析實務上,也和行銷團隊一同商討、合作。也使得我對資訊工程在行銷領域能多做些什麼感到好奇,這本「行銷資料科學」正是具體而微地回答了我心中的種種疑問。

書中將原本在數據工程中的「資料探勘」、「大數據」、「人工智慧」等資訊技術和行銷學碰撞後產生的新學門,稱之「行銷資料科學」。因此在全書論及的實務操作/案例分享,幾乎是包山包海。近幾年在報章、網路媒體上曾被提及的數據分析和行銷資訊技術都被含蓋在內。分為「概論篇」、「大數據篇」、「行銷篇」、「策略篇」四大章。全書編排、印刷精美,文字流暢,四大章節中的各節短文,言簡意賅,卻又能做為讀者進一步鑽研的啟蒙原料。特別是「大數據」篇中所提及的數據分析與工具,提供各種實踐應用的粗淺介紹,讓有心投入行銷資料科學的組織/團隊能從中挑選要達成的功能/項目(要做什麼)。

文中也提及一些少為人知的行銷故事和研究發現。例如企業在規劃全通路策略時,應該鼓勵網路消費者到實體店面購買,研究顯示在實體通路消費者的平均客單價高於網路通路,將顧客拉到實體店面購買將有助營業額成長。而眾所皆知的「大數據神話」,沃爾瑪的啤酒和尿布,塔吉特的預測高中少女懷孕,前者是數據分析團隊編造的假故事,後者則是為了打書設計的「故事行銷」。「行銷資料科學」更像是本數據行銷新知大全,它集結了數十篇能速快閱覽的短文,讓讀者充實知識的同時也能接收到核心的行銷學觀念。

部份章節中以大專院校的召生業務為案例,說明行銷資料科學能應用、發揮的方向。然而就我來看,再優秀的戰術都無法淹蓋戰略上的錯誤,大專院校的經營困境,源起於少子化和廣設大學。利用再多的大數據分析/行銷資料科學,都難去挽救一所中後段班的私立大專院校。如果電商亞馬遜販售的商品不是市場最低價,即使有再多先進的資訊技術,都無法讓消費者心甘情願的買單。同理網飛如果沒有廣泛充實的片單和自製影集,擁有再複雜、優異的推薦演算法也是巧婦難為無米之炊。零售業的核心競爭力在於商流、物流、金流的管理,資訊流(數據分析)的良莠可說是錦上添花。

但行銷和數據分析團隊也不用妄自菲薄,再好的商品如果沒有配合適當地宣傳,一樣無法做到「貨暢其流」。書中所提及的「行銷資料科學」相關應用和工具,都是經過市場實證有效的做法,足以投入資源去研究、評估和導入。不抱著投機取巧的心態,打好企業自身在商流、物流、金流的功夫,額外再對行銷、數據整合與分析投入資源,逐漸接納以數據分析結果做決策的思維,才是真正能讓「行銷資料科學」發光發熱的實踐之道。

2020年6月17日 星期三

直播主不能說的秘密:上百場直播培訓講座,從素人到爆紅主播,經營法則首次公開!




我是不太看(幾乎沒有)直播的,對「網路直播」的熟悉度也僅止於能辨識出常上電視的「館長」、「蔡阿嘎」,最多就是因為喜愛看大胃王節目,看過FB的「大胃王千千」影片。而這本「直播主不能說的秘密」是同事看完,剛好我對炒得風風火火的直播想多點認識,就借來詳閱。

作者武老千(藝名),原先是位專職的魔術表演藝人,因緣際會下開始了他的直播生涯。由於屢創佳績在直播經營上頗有心得,後來進一步轉型成直播平台的經營者,算是直播界的演而優則導吧。本書就是他對直播產業的心得分享,小從直播主個人的經營竅門,大到對直播媒體的趨勢分析,一應俱全。非常適合做為初步瞭解直播生態的入門教材。

作者對直播文化流行的原因提出了一針見血的觀點,他認為人類天性上就是期待擁有良好的人際關係。在今日真實世界裡人際互動漸漸式微的情況下,取而代之的是網路世界的社群互動,從FB、IG等社群網站火紅的程度就足以證明。「直播平台」是一種更適合產生互動的網路新應用,連早先流行的影片平台(YouTube),都無法做到表演者和觀眾產生零時差的互動體驗。這個優勢深化了直播主和觀眾的交流,連帶提高觀眾的認同感和直播主的影響力。

直播商機,就是一種注意力經濟,和其它廣播、電視、網頁(文字)到網頁(影片)等媒介本質相同。目前也看到像飛碟電台,把錄音間的畫面直播給聽眾,讓主持人在節目播報的前後時間和網友互動。在在說明了直播是將台上台下的互動效果做到極致的一種演出,擴大定義來看,而這類型的節目在廣播和電視上早就出現過(2100全民開講),只是透過網路當媒介,執行起來更便利、便宜、有效率。

我認為,直播和其它媒體最大的差異點就是「斗內」(Donate)文化,讓表演者直接獲得觀眾的金錢贊助。傳統媒體依據收視率衡量CP值付給主持費給表演者,則是觀眾間接贊助主持人,兩者有所差異。斗內有如街頭藝人接受打賞,更直白地說,其實「直播主」就像網路世界中的「街頭藝人」。很多知名藝人跟著流行常開直播和網友互動,深怕失去人氣。有趣的是,多數直播主的夢想,卻是能成為日進斗金的真正藝人。見這山望那山,人皆如此。

在吸睛力、話題性都遠勝其它媒體的當下,商業組織和政治團體也都打起了利用/運用直播平台的主意。不過這也是行之有年的「置入性行銷」的變形,只是寄生的標的物從原本的戲據節目、新聞片段,變成了熱門的直播主。依賴直播主的口語傳播來宣傳商品,如同歐普拉在脫口秀節目中介紹商品,是廣告學中「名人背書」的手法。只因為時下年輕人熟衷此道,而人潮就是錢潮、青年就是未來,因此成為一個大家都無法忽視的社會現象。

2020年6月14日 星期日

臺灣史上最有梗的臺灣史




說來慚愧,雖然說「汝為台灣人,不可不知臺灣事」。但和我一樣出生於60、70年代,從小讀著大中國思想教材長大,又受升學主義的荼毒。往往變成「只要考試不考,都不用花心思去唸」,台灣歷史就因此被學子們忽略及漠視。這群人(包括我)對於生於斯、長於斯的這塊土地歷史,就像「最熟悉的陌生人」。

幸好有讀到「臺灣史上最有梗的臺灣史」這本書,淺略地補充近百年來重要的台灣史事。全書從史前時代的南島民族說起,據說台灣最初的原住民是南亞各國住民的共同祖先。隨著大航海時代來到,西班牙和荷蘭人發現台灣,開始殖民本地,為台灣初次帶來醫學和教育資源。沒想到台灣原住民最先是學外文,厲害吧!

後來進入明朝,才有鄭成功打敗荷蘭人,接收、治理台灣。之前到台南旅遊看到許多古蹟,像是國姓爺廟和孔廟等等,也搞不太清楚是那個時代、什麼歷史背景下的建物。在這次讀過「臺灣史上最有梗的臺灣史」後,相信舊地重遊時,就能領略名勝古蹟的典故。

台灣在清朝完全是被放牛吃草,真正開始關注並認真建設也只有最後的十幾年。沈葆楨、劉銘傳等考試要背的歷史名人,便是在晚清時參與台灣本地的建設與治理。淡水馬偕傳教士/醫師也是這個時期踏入台灣,為本地居民帶來醫療和教育的重大貢獻,其影響層面一直持續到現在(馬偕醫院,淡江中學)。

隨著甲午戰爭割讓給日本後,台灣進入了日治時代。有別於清朝是為了抵抗外國勢力入侵台灣,進行了消極、被動的基礎建設。日本國是傾全國之力,積極地在衛生、交通、農業、電力、水力全方位讓台灣邁入現代化。從「從諷刺漫畫解讀日本統治下的臺灣」一書中可以獲得更多這方面的資訊相互佐證。但日本人只是用殖民者的心態打造一座「亞太物資供應中心」,可不是把你當自己人(二等公民)。不過日本人做事都是高標準,才會讓台灣人覺得日治時期的統治者在建設上遠比前朝更用心、更有規劃。

接下來日本戰敗,歸還台灣主權。後續發展就是二二八事件、國民政府退守台灣等,近代史的歷史大事件了。隨著更多真實資料的閱讀和比對,可以發現過去課本上唸的「台灣歷史」充斥粉飾和歌功頌德的內容。60、70年代的學子,直白地說是成長在一個大謊言的世代。能不能隨著年紀增長,透過閱讀好書破繭而出瞭解真相,就是個人的取捨了。「臺灣史上最有梗的臺灣史」如同電影「駭客任務」中,能解除謊言的藥丸,不傷身體,你要吃嗎?

2020年6月13日 星期六

關於工作的9大謊言




企業與專案管理的叢書汗牛充棟,年年都有各門各派的大師們提出新的見解、主張。單就專案管理的書目,我個人很喜愛「高德拉特」以小說體裁的「目標:簡單有效的常識管理」。在企業管理的類型中我涉略有限,不算特別偏好的閱讀種類。但這本「馬克斯.巴金漢」和「艾希利.古德」合著的「關於工作的9大謊言」,卻能讓我對職場百態產生新的體悟,可謂受益良多。

端看書名,第一時間以為它是本時下流行的「職場酸雞湯」,要用上帝視角來指導大家,如何在暗潮凶湧的職涯暴風雨中保住小命,航向那個流有奶與蜜的應許之地。才看到序言就知道自己猜錯了,這是一本正經八百專為企業領導人(從老闆到基層主管都適用)撰寫的管理學指南。旨在分享兩位作者在管理學上的研究所見所聞,破除現代企業中隨手可見的人力資源/職工管理迷思。這些迷思在書中被歸納為九大謊言,之後各章開始用各謊言做破題,再旁徵博引相關研究與數據,佐證說明正確的觀念是如何如何。雖然本書的目標讀者是身為組織領導者的人們,但是其中很多觀點、做法,在舉一反三之下,也能讓基層員工瞭解怎樣明智地規劃和發展自己的職涯。

謊言一:人們在意他們為哪家公司工作
每天共事的團隊成員和上級主管的好壞,才是足以影響職員工作滿意度的核心因素。表面再華美的企業口號以及員工福利,都無法彌補惡性惡狀的頂頭上司所造成的傷害。反之亦然,好的主管和團隊會伴隨著員工出色的工作表現和高敬業度。因此謀求新職時別再執著於公司外宣的企業形象和優異福利,重點要觀察該公司是否有著培養出優秀團隊的企業文化。

謊言二:最佳計畫會致勝
現代人受到五花八門的企管理論包圍,深信藉由各種SWOT分析/圖表/顧問/會議,在面對不可測的未來時,依舊能訂定出可靠的執行計畫,帶領我們邁向成功。可惜的是現實世界裡,卻是大家朗朗上口的「人算不如天算,計畫永遠趕不上變化」。那表示我們對變動的未來就只能束手無策嗎?這也不必然。作者提出了「最佳計畫會致勝,這不是事實。事實是,最佳情報才會致勝」。為了因應不斷變化的未來,首要是打造出完整、精確的情報收集、分析工具。之後的管理竅門就是對自己公司的員工有信心,他們都擁有評估、理解資料的分析能力。組織不需要親自指導「應該」怎麼做,而是廣泛、迅速、明確的將資訊分享給所有員工,讓他們可以在第一線的工作現場,自己推導出最佳的做法。典範之一便是日本的7-11,授權讓當班店員自己決定每日的補貨品項,以快速反應各地區不同客層的實際需要。

謊言三:第一流的公司把目標層層下達
每年公司都會訂定年度經營/營業目標,再依據組織大小設定目標比率,當單位目標確定後,會再細分為單位內每個員工的個人目標,後續的目標追蹤、審核是單位主管的職責。進度表裡條列的比率數值,像是計數器般明確地向我們呈現,現在離目標有多近,很美好不是嗎?但在現實世界,很多目標要不是已經達成,就是沒有達成,這是二元性的,不會有什麼達成95%的工作成果。而時下被企業採納的目標評量考核工具,都是建立在用抽象數據去描述真實世界中的任務。最後這些考核表格/流程就淪為一年一度的腦補作文和數字填空大賽,喪失原本它承諾會實現的效用(目標管理)。真的第一流的公司,是把握機會年復一年地傳播自己核心的價值、文化給底下的員工。如此一來,才能吸引到擁有相同價值觀的有識之士加入團隊,也間接地讓無法產生認同感的員工盡早離開。

謊言四:最優秀的人才都是通才
書中引用世界頂尖足球員梅西當例子,告訴讀者追求真正的卓越是不斷地琢磨自己的長處,而非傳統教育要求的「五育均衡」。一般的企業培訓是把重點放在修補員工不擅長的項目,期待大家能多才多藝,能視任務需要自由切換不同角色。那是一種將人力資源商品化、模組化的思維,無法讓員工朝頂尖人才的方向成長。有別於字面上的解讀,「長處」的定義,並不是你「最擅長的事」。多數的活動、技能,只要透過夠多的指導和練習,都可以學會到平庸的程度。而真正能讓你不斷精進、成長的事物,是會使你感覺做起來很有力的活動。當你要執行這項任務時,會覺得時間過的很快,做完之後可能會覺得很累,但心裡很清楚,你很期待有下一次的機會。

謊言五:人們需要反饋
其實這個道理相當淺顯易懂,就是「人人愛聽好聽話」。即使管理學專家建議要對員工提供即時、正確的評批和回饋,有助於員工改善缺點,達成更好的職能表現。但實際上,人們第一時間聽到對自己的負面批評時,是會產生負面的心理防禦機制,將減低建議被採納的可能性。真正給予員工回饋的作法,是用三到五次的讚美,包含一次負面的批評。

謊言六:人們能夠可靠評量他人
相信大家對年度人事考評並不陌生,上級主管拿著制式表單,一對一地和下屬討論該員年度表現以評定分數。而這一切卻是建立在一個不可靠的立論上,「人們有能力客觀地評量他人」。人類思考有其侷限性,自身遇到困難會怪罪外在變因(景氣不好),而他人遇到困難會怪罪其人格特質(能力不足)。打分數的數字區間(寬鬆或嚴格),也像面鏡子,是反映出評量者本身的偏好和價值觀。時下流行的「360度評量」就是希望藉由引進更多周圍同事的評分,來排除單一評量者造成的偏誤。作者則對360度評量的方法提出質疑,當大家都不能正確評分時,大數法則便無法發揮效果(所有偏誤值的平均,依舊是錯的)。末段建議了一種較為可靠的評量方法,讓周圍同事直接評量對某一人的想法,但不是使用抽象的描述詞彙(效能、態度、合群等)。原本像是「團隊合作能力」的這種指標,改成「你如果有項重要的專案,會想和某某合作嗎?」。由於答案是問評量者自身的想法(沒有模糊的解讀),而不是要求他對另一人做抽象能力的評估,所得到的回答將是真實世界的實況。

謊言七:人們具有潛力
我們總是將事物簡化為二元問題,對於評估一個人的「潛力」也是(但就像謊言六所述,其實我們無法正確的評估別人的潛能)。公司大多是將員工簡單區分為「高湣力」和「低潛力」兩族群,再施以不同的獎勵和管理方法。這樣的做法忽略了每個人都有隨著環境變化,自我學習的能力(智人的特色)。要真確地評估一個人的能力,首要應區分為靜態(恆定不變)的個人特質和動態(隨時間演變)的知識、技能兩部份。員工本身的人格性質(質量),加上後天習得的本事(速率),加乘起來便是他可能發揮出來的影響力(動能)。因材施教和適才適所,都應該先判斷對象的變與不變,才能引導他走向適合他的康莊大道。

謊言八:工作與生活平衡最重要
現代人總把工作和生活一切為二。工作是辛苦的,生活是快樂的,「上班別跟我談理想,我的理想就是不用上班」。我們漸漸被說服,上班是一種交易,用我們人生寶貴的時光,換取足以養家活口的金錢。這樣的觀點卻忽視了工作本身帶來的成就感和充實感,缺少工作的人生,絕對稱不上健全。但我們會想問「工作上的鳥事這麼多,怎麼可能不辛苦?」。書中提出了一個非常好的觀點,「所謂的好工作,不是一開始就在那裡,而是你努力把手上的工作變成一個較適合你的工作,讓你樂在其中」。一項工作派下來,往往包含許多執行細項,而門道就在裡面。以我當例子,資訊研發工程師的職掌包含了新技術研發、新機制實作、系統維護等等。當我在和同事合作發展新服務/新機制時,總是很開心,常常在假日還主動試作各種原型。研讀資訊技術文件和書籍相當費時費神,還不至於到討厭的地步(愛看書?)。但遇到要撰寫各種系統文件、排定時程等文書工作,就是一整個厭煩到極點。對無法掌握技術細節的外包專案也是興趣缺缺(研發魂作祟?)。即使同屬研發工程師,也可以找到喜惡和我完全不同的員工。此時我們(不同喜好的員工)應該最大化我們最偏愛的工作項目,讓它盡可能地充滿我們的上班時間。對於不喜歡的項目,盡量的最小化,理想的工作分配,是把任務拆解成不同的工作包,讓最適當的人處理他熱愛的事,這樣對組織來說才是專案管理的最佳狀態。

謊言九:領導力是一種東西
前八章是講述理想中的領導應該是怎麼樣的型態,而它用最後一章來詳細說明「領導力」究竟是什麼。走進書店,教導人們如何成為一個好的領導者,分析優秀領導者的核心能力是什麼的理論實在太多。但卻還沒有一種論點,能一體適用真實世界中不可計數的成功人士們。其實「領導力」本身就是一個容易產生誤解的詞彙,好像是人們可以努力去學習後擁有的「能力」。但事實是「領導」的反義詞「追隨」,才是這個神秘力量的源頭。「領導者」只是有一群人「追隨者」願意跟隨他,全心全意地朝向某個目標努力,如此而已。他們相信只要跟著眼前的這個人,就能成就他們變為更好自己。如此簡明的定義,就解釋了社會上不同的組織領袖、企業領導者,在無法用定義好的「人格特質」分類下,都有各自的狂信者。真正的「領導力」,是來自信徒本身相信的「未來的自己」。

這本書所講的九大謊言,所延伸而出的觀點和說法,令我非常的驚豔。因此在心得整理上,花了更多的時間消化反芻。透過對這九大謊言的釐清、反思,讓我對職場上遭遇的一些疑點和不適感,瞬間豁然開朗。我相信書裡面隻字片語,對於身處在職海中沉浮的你我,肯定有所助益。

2020年5月31日 星期日

深入理解JVM & G1 GC



大部份的電腦技術書藉像是塊墊腳石,它們能拉升讀者的知識水平,讓人以全新的視野檢視概有的問題。而這本多達200頁的Java技術專書,就是協助讀者跨越JVM的知溝,得以有能力毫無困惑地看完下列這篇G1 GC調校的文章。(https://www.oracle.com/technical-resources/articles/java/g1gc.html)

從事Java程式開發數年,也是最近才著手調整JVM的GC算法參數。因為負責的推薦系統,有高標準的系統回應速度(三秒必須回應),整個系統架構中又含有Java-based的中間層服務。在中間層執行時需要較大Heap記憶體的情境下(十幾GB),如果還使用預設的Parallel GC算法那肯定是不行的(馬上遇到STW/Stop the world的苦果)。因此我改為採用G1 GC算法,它是從JDK7起開始現身,是專為高強度的伺服器端應用程式所設計,強調其能在超大記憶體配置下依舊維持極短GC停頓。

雖然網路上和G1 GC相關的資料多如繁星,卻沒能有系統地整理並釐清眾多GC算法參數之間的脈絡。JVM GC有著多樣的算法(Serial/Parallel/CMS/G1GC),年代型的GC又可細分為Young年代和Old年代。如果沒有按照算法演進順序來一一說明參數功能,光是看到一串名稱大同小異的GC參數組,真的會讓人一頭霧水。恰好本書對症下藥,用循序漸進的章節規劃,擇要介紹常見的GC算法/參數。後半部才正式進入主題,深入說明G1 GC算法的精要。只有極小段落的字句不甚流暢,翻閱時需要另外查詢英文資料補佐理解,讓全書有點缺憾。

不可諱言我從書中學到的知識,讓我解決了前敘提到的推薦系統效能問題,但其中仍然是充滿著不斷間的試誤(Try and Error)過程。藉由檢視gc.log的內容發現遲緩點,嘗試組合不同的GC參數值,調整後觀察運行狀況,中間絲毫沒有捷徑可走。也曾嘗試直接套用網路文章上的「G1 GC最佳參數」設定值,結果等著我的是一次最嚴重的STW停頓(暫停數十秒)。如同作者周明耀所言,GC調校這項任務,會因為不同應用程式的行為、和不同主機間的資源差異,導出截然不同的最適參數組合。在JVM的世界,沒有一組照本宣科的萬用參數組合,只能仰賴程式/系統人員的心力,試圖找出GC運作的「甜蜜點」。

[後記]
最後試出來的JDK 1.7 G1GC參數:
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:GCLogFileSize=50M
-XX:NumberOfGCLogFiles=7
-XX:+UseGCLogFileRotation
-Xloggc:/usr/local/solr/logs/gc.log
-Xmx20g
-Xms20g
-XX:+ParallelRefProcEnabled
-XX:ConcGCThreads=32
-XX:ParallelGCThreads=32
-XX:G1ReservePercent=50
-XX:InitiatingHeapOccupancyPercent=10
-XX:G1HeapWastePercent=1
-XX:G1MixedGCLiveThresholdPercent=80
-XX:MaxGCPauseMillis=900
-XX:+PrintAdaptiveSizePolicy
-XX:+UnlockExperimentalVMOptions
-XX:G1HeapRegionSize=10m
-XX:+UseG1GC

觀察用指令:
# cat gc.log.0 | grep "Eden" -A 0

相關網址:

2020年5月10日 星期日

絕望者之歌:一個美國白人家族的悲劇與重生




回想2017年時美國總統川普當選的消息傳來,台灣主流媒體一片呼天搶地的哀嚎,彷彿眼見到世界末日的來臨。而在看過「美國,原來如此!走進偉大與荒唐共存的大國日常」後,才發覺川普也有為數眾多的支持者。(不然怎麼選得上)。這些台灣媒體視為「愚民」的美國人,對柯林頓與歐巴馬一脈相承的經濟自由化、產業全球化的路線深感不滿,最後用手中的一票,暫時阻礙了美國產業外移的腳步,期望川普能帶領國家回到那個以中產階級為主的美好時代。

肯定是種媚外心態,大部份的人,看到金髮碧眼的白人走在街上,會覺得他們就是高所得、有文化,賺得是美元,消費能力一定高人一等。然而「絕望者之歌」一書的作者「凡斯」,在本書中卻是講述了一個我們臆想不到的社群故事。「白人鄉巴佬」,作者懷著自豪這麼的稱呼這群人。他們自小就得和貧窮、毒品打交道,可能遭遇藥物上癮的單親媽媽的不當管教,物質生活的窮困、對未來的無力感與實際上的不做為,眼見就是一股向下流動的螺旋風暴,一般讓人聯想到非裔、拉丁社群,卻很難認為歐洲後裔的美國人也有一樣的問題。凡斯正是出身自這樣的「鄉巴佬」家族,從曾祖父母起,就是性情彪悍但又重視家庭、名譽的一群「現代牛仔」,書中內容就是作者回顧他半生所見,一本和他的家族、這個社群的第一手「深入報導」與回憶錄。

「絕望者之歌」不是一本與人格教養相關的學術論文,但它藉由一個具體的案例告訴了我們,家庭、社區、族群對一個人的成長發展,會有多大的影響。長期為大眾忽視的白人工人階級,默默地承受著全球化產業外移造成的苦果。隨著生活的逐漸地無以為繼,無法再追求「美國夢」的「鄉巴佬」們,終究在2017年出現了一個大反撲,將那位言必稱「讓美國再次偉大」的唐納川普,一舉推向了美國總統的寶座。這是賞了華府、主流媒體等位居社經高點的統治階級一個大巴掌,卻也平衡了不斷踩油門加速的精英政治態勢。隔著太平洋透過媒體來得知美國民情的台灣人,不可避免地受到媒體主事者的輿論操作。社論、短評與深度報導的背後,多半潛藏著歐巴馬主義的產業自由化、全球化的思維。然而這本「絕望者之歌」替我們打開視野,得以用更開擴、更多樣性的角度,去觀察、理解美國今日面臨的社經問題。

書中後半提到的社會資本,道理就像市井小民掛在講上的「有關係就沒關係」。有時你認識誰,比你能做什麼更重要,也是老生常談的「人脈」的重要性。很多社會新鮮人會參加研討會、座談會,與同業、跨業的專家交換名片搭上話,積極地經營自己的人脈,這絕對替職涯發展有正向地效益。但更深一層的人脈學常是隱而不宣、非個人自力所能掌握。真正能讓人生際遇有突發性成長的關鍵人脈,常是來自父執長輩間的同窗或同僚情誼,一句「我兒子/學弟最近...」的閒聊,可能就成了某個重要職務臨門一腳的決勝點。而這種檯面下的社會階級世襲制,也是今日體制、人才流動停滯的原因之一。如同「乾脆躺平算了!?:關於翻身,那些沒說的故事」一書曾提到的,小康家庭出身的一般小市民,如果工作能力出類拔萃,在職涯發展的某一天肯定會碰到一道無形的天花板。那是一群從小不知困乏為何者的排外群體,而他們多半位於決策圈的致高點,從巴比倫塔上俯瞰世界。這正是「鄉巴佬」們對「希拉蕊」的看法。

2020年4月17日 星期五

水滸傳教你職場生存術


自先前看過公孫策的「黎民恨」後,就對作者的考據功夫與口語化的文筆相當讚賞。恰好不曾翻閱過「水滸傳」小說,頂多在螢光幕上看過主題曲唱著「大河向東流,天上的星星照北斗」的電視劇。便想投機取巧地透過公孫策的文字閱覽「水滸傳」裡的箇中精華。

閱讀過程依舊是如流水般輕快,公孫策先生在我心中已經是國學叢書品質保證的金字招牌。各篇短文以「水滸傳」文本為素材,增添作者對人情義理的細微觀察,品味他引經據典之餘再用現代人的視角去剖析小說情節、人物安排背後的涵義。讓讀者不只能粗略一窺 「水滸傳」的概括,也學到一位長輩對人際往來的智慧與建言。

猜想出版社在拍板「水滸傳教你職場生存術」書名時,主要是想迎合為數眾多的白領階級,以增加銷售量。但全書讀完後卻感覺,書中裡頭雜談的人情世故,是不如洪雪珍撰寫的一系列職場生存教戰守則那般貼合辨公室文化,比較類似社會走跳時大方向的分守拿捏。如果此書是定位讓公孫策發揮所長,一篇篇地講解、註釋古典「水滸傳」小說,或許更有可看性。

2020年3月1日 星期日

你的強大,就是你的自由:5個領悟,讓你進退職場都靈活


近兩、三年來,洪雪珍執筆的職場短文時常出現在各大內容平台。言之有物的內文配上由小編們精心挑選的吸睛標題(或稱「標題殺人法」),相信總能為各家網站帶來可觀的流量。隨著聚沙成塔般文字產出,高人氣的文章理所當然地被集結成冊,讓洪雪珍一舉成為銷售書作家。鼓吹白領工作者應當打造自己職涯第二曲線的人力資源專家,身體力行地展現出令人稱羨的成績,真的是強而有力的「名人背書」,增加了她書中論點的說服力。

神經科學在研究大腦的思考模式時得出一種有趣的結論,人類天生是不擅長處理數字、進行邏輯判斷。相對地,像說故事般帶有情緒渲染的內容,最能讓訊息被閱聽人記得,獲得顯著的傳播效果。因此在典型的新聞寫作訓練中,會教育記者在文章的第一段開頭,最好能用一個引人入勝的故事破題,隨後再追加要想報導資料素材。這種公式化的文章撰寫風格,也散落在洪雪珍的各篇職場短文裡。

第一段會是一位作者認識的友人,做了影響自己後續職涯的一個成功(或失敗)決擇,然後洪雪珍再以她自己的觀點,幫讀者們整理出這故事應該抓取的重點和因應之道為何。篇篇有骨(觀點)有肉(情節),對於已經在職場上打滾的人來說,讀起來如行雲流水般輕鬆。但東西再好吃,吃多了也會膩,「你的強大,就是你的自由」畢竟是數十篇文章的合集,如果嘗試把同樣模式的文章一口氣讀完,便會被「邊際效應遞減」的法則削弱閱讀的樂趣。甚至開始懷疑書中分享的人事物,是不是僅是作者為了強化論點,所編造出來的「小小說」。

上了年紀的愛書人,肯定知曉十幾年前有位名為「劉墉」的散文作家,他也是位擅長鎖定知識白領當做目標讀者群,曾經撰寫出許多膾炙人口的銷售書大師。不論時代演進,圖書市場裡一直有「心靈雞場」勵志散文的空缺,而江山代有才人出,時至今日,洪雪珍正站在浪頭上。

2020年2月16日 星期日

你好,我是接體員


在各類型的電影中,唯有靈異鬼怪和血腥恐佈片我是無福消受。怪力亂神的題材像是重口味的麻辣佐料,愛者大呼過癮,惡者則避之危恐不及。生性膽小如我輩,真的碰不得也,更不想招惹不同次元的滿天神佛、好兄弟。因此即便耳聞這本「你好,我是接體員」題材罕見、內文有料,我卻遲遲不敢提起勇氣買來閱讀。

因緣際會,某天和友人出遊,她在書局中翻閱此書,我便順其自然地一起拿起來共覽。作者「大師兄」是「PTT佛媽版」的知名網友,從作者簡介得知他曾經從事長照服務,後來在殯葬業就職。這本「你好,我是接體員」是他將在職時經歷過的大小事,用三分詼諧七分淡然的口吻,變為篇篇時而動人、時而令人莞爾的短文。看似各自獨立的小故事,細細咀嚼後體會到皆是以殯葬服務內容為經,悲喜無常的人生百態為緯,讓作者編織出一整本染上灰暗色彩的浮世繪。

很難說這是本「人生悲喜劇」文集。因為全書充斥著死亡與離別,以世俗的觀點來看這全是悲劇。而數個「大師兄」穿插在內文中的笑點,就我來看也是一種極為濃厚的黑色幽默。從最後一篇的作者自述可知,「大師兄」的人生是在一路跌跌撞撞的情況下邁步向前,他能在謀求溫飽之餘,產出如此流暢的文字與細膩動人的觀點,真有如古人所說的「大隱隱於市」。此書和「做工的人」一樣,讓我體會到各行各業都有其專業和學問,也處處皆有人情和文章。

2020年1月29日 星期三

大人們的餐桌‧中華篇:從民初到二十一世紀,22位牽動華人政局的政治人物飲食軼事


任職的公司對面巷弄,有間貌不起眼的便當小店,因為佔有地利之便,午休用餐時刻總是人聲鼎沸。畢竟是做生意,調味下得稍重,滋味著實不差,我一年倒也會光顧幾次,解解饞。但台灣老闆呀,特別是做餐飲的,將本求利下,你要他用啥好材料,那真的是緣木求魚。在非營業時段路過那店門口,那五味雜陳的油耗味,不免擔心自己吃下的是什麼來路不明的餿水油。鋪陳這麼多,是要分享,我部門中有位女同事,她可厲害。那間便當店,看她天天光顧,也不見有任何噁心反胃的徵狀。某天好奇問她,「妳吃不膩?」。她還能目不斜視地回我,「不會,可好吃的。」。當下我就悟出兩個道理,首先,東西好不好吃是見仁見智。其次,我不會向這位同事詢問那裡有美食。

「大人們的餐桌‧中華篇:從民初到二十一世紀,22位牽動華人政局的政治人物飲食軼事」一書,作者妙筆生花地描述歷史上的秘辛典故,讀者們得以窺視政治名人們的飲食偏好,進一步建立對他們個性、思維的粗略印象。書中提及的政界名人,涵蓋民初至今兩岸三地的領袖人物。有推翻滿清王朝的孫中山、退居台灣的兩蔣父子和之後的李登輝等民選總統。建立共產政權的毛澤東、周恩來到今日的習近平。不消說,這些大人物們的運籌帷幄和風雲際會,就足以刻畫出當下台海兩岸對立分治的大格局。

這本「大人們的餐桌‧中華篇」是用一種貼近人性的角度切入,讓身為華人的讀者們戴上一幅「消光鏡片」,除去這些「偉大領袖」身上的神聖光環,看看他們也有七情六慾(食慾)的一面。此外,本書對於兩岸三地國宴大紀事的整理也頗為用心,考證文獻故典附上照片佐證,帶讀者們瞧瞧中國近代史上幾個重要的國家盛宴時刻。

在傳統視君如父的華人文化中,對上位者的敬仰與順從常是過猶不及,將專制政權中的領導者加以聖人化,是相當有效的思想控制手段。然而即便是從小唸過「鯉魚逆流而上」偉人故事的台灣人,歷經十多年直接民主的熏陶後,已然能平心靜氣地笑看政治人物的種種言行舉止。像北歐各國將從政視為一種職業,把政治人物和上班族一視同仁。不再認為某某某會是國家的「救世主」,我相信這是一個民主體制已經完全成熟的表徵。

2020年1月26日 星期日

機器學習開發神器!Google Cloud Platform 雲端開發應用超入門


「程式功能正常是你的責任,效能極佳是你的本事,不會爆掉是你累積的經驗。」- 某電商資深工程師

隨著亞馬遜和谷歌這兩間科技巨擘的強勢推廣,雲端平台不再只是趨勢新聞裡的熱門關鍵字,而是程式工程師觸手可及的工具、選項。今日資訊系統的建置方法,除了「自建」和「外包」之外,還多了一個「雲端開發」。

不論是年歲已久的關聯式資料庫(RDB)、訊息佇列(Queue)到近年來興起的noSQL,雲端業者無所不包地推出對應的雲端服務。更甚者,針對極大流量的網站建置和機器學習等進階的資訊系統難題,業者也能年復一年地推出易學易用的解決方案。一時之間,過去需要長時間培育的系統架構師開始變得無足輕重,藉由雲端業者提出的建議架構範型(Paradigm),初生之犢的工程師也可以用驚人的效率打造出一個強大的資訊系統,在以往,這是需要擁有多年經驗的工程師才有能力提出的系統洞見。

雲端業者為開發人員,提出了一個又一個先進、新奇且強大的工具、服務,然而「福兮禍所伏」,像吃了大還丹般的功力爆增,卻不是透過一步一腳印地從實作中累積基礎知識,做出來的資訊架構會是處於「知其然而不知其所以然」的情境。照單全收的工程師除了得面對性價比極低的高額系統維運費用之外,當遭遇系統異常和效能瓶頸時,也會手足無措地無法進行障礙排除。雲端平台再強大都只是工具,能客觀、正確地檢視各種方案,深入瞭解各雲端服務的目的、優缺點與限制,依據外在條件評估出最合適的架構方法,想必是未來程式工程師必須增添的專業技能。

「機器學習開發神器!Google Cloud Platform 雲端開發應用超入門」一書,讓讀者們不必辛苦地遍尋官方線上文件,能短時間內學會在GCP(Google Cloud Platform)裡建置網站應用程式的典型做法。從最基本的建立虛擬主機(GCE),到最流行的微服務(GKE)容器,另外還有能完全免除維運負擔的程式引擎(GAE)。雖然書中描述的三種做法,架構略嫌簡化,尚不能應付真正巨型流量網站的需要,但是目標如果是想瞭解GCP平台的操作與網站開發,它已經為讀者們奠定一個穩固的基礎。

書中在講述微服務(容器)架構的章節,用極為簡短的篇幅加上具體的操作範例,讓我快速地領會容器與虛擬主機的差異所在,光是獲得這點新知和體悟,就不枉費閱讀這本書所花費的時光。

2020年1月7日 星期二

Deep Learning for Computer Vision: Image Classification, Object Detection, and Face Recognition in Python


2019年資通產業最熱門的「Buzzword」肯定是「深度學習」吧。毋庸置疑地藉由深度學習強大的演算能力,讓資訊科技得以提供更令人驚豔的服務,「自駕車」、「人臉辨識」、「智能客服」以及數不清的各項運用正在改變產業生態,也在改變這個世界。

從資料中找出特定模式的「機器學習」(更早之前稱為「資料探勘」或最早的「迴歸分析」),其實由來已久,相信很多老IT人會丈二金剛摸不著頭緒,懷疑是否是「舊瓶裝新酒」的行銷炒作風潮。炒作成份當然有,但「深度學習」確實有著不可忽視的「含金量」。

建基在「類神經網路模型」之上的各種「深度學習」演算法,有別於傳統「機器學習」的建模手法,將「特徵擷取」的過程大幅度地(幾乎是全部)假手由算法決定。此舉雖然造成「最終模型」有無法被事後描述解釋的負作用,卻能達成有效解決許多「人工智慧」的精典課題。這些課題都是無法用人力完整條列出處理邏輯(以及分辨那個特徵最重要),包含了「文字辨識」、「圖像辨識」和「語音辨識」。大部份強調AI的新創公司,也多半以這三項應用為核心訴求。

2019年開始接觸「深度學習」以來,讀過「Deep learning 深度學習必讀:Keras 大神帶你用 Python 實作」一書後,已經掌握初步的實作基礎。但針對「圖像辨識」的應用,尚只懂些「圖像分類」的皮毛,缺少更進階的知識、技術。無獨有偶,公司恰好計劃進行「圖像辨識」的研究,在一連串請教「谷哥大神」的資料探索後,讓我找到了「Deep Learning for Computer Vision」這本電子書。其用簡單、明快的範例與程式碼,帶領讀者們進入「圖像分類」、「物件辨識」和「人臉辨識」等電腦視覺應用領域。經由500頁內容的「潛修」,出關之後對於 「深度學習」在圖像處理的範型已經了然於胸,稱上個「略懂」。

個人在閱讀習慣上一直偏好紙本實體書籍,即便電子書有著輕簿不佔空間的優點,也難以撼動紙本書在我心中的地位。然而面對這本「Deep Learning for Computer Vision」,我也不得不放下我(無謂地?)的堅持。因為它只出純電子書!完全就是「內容是王(Content is King)」的典範,讀者們只能乖乖地拿出信用卡付款,下載後好好地吸收這500頁精髓。