2023年12月30日 星期六

【新.福爾摩斯】絲之屋

 


名偵探柯南和名演員班奈狄克.康柏拜區主演的新世紀福爾摩斯推波助瀾下,現在的年青人應該還認得這個推理小說界的帝王福爾摩斯吧。說起福爾摩斯亞森羅蘋的推理小說,那可是我在國中小學時相當熱門的課外讀物,無論是這種古典推理小說或是金庸武俠小說,都是陪伴學子度過寒暑長假的最佳良伴。不過在網路資訊量爆炸的今天,這些都已成了追憶。

拿到這本絲之屋後,即便曾是熱愛閱讀小說的我,一開始都難以投入到小說描寫的故事中。故事風格筆法如昔,但對每日接觸大量網路影片、短文的讀者而言,面對繁複堆疊的文字所描繪的場景與人物,因為陌生導致距離,進而難以融入。特別絲之屋是走古典推理小說風格,前半段章節都在鋪陳人物、背景,以及看不出關聯的支微末節,很難吸引對不斷有爆點的短內容上癮的網路世代。幸好我算是老派的閱聽人,打起精神堅持唸過前二章後,就完全被故事吸引,手不釋卷地翻下去。

絲之屋是由柯南.道爾家族欽點的作家安東妮.赫洛維茲所撰寫,筆風和故事設計都遵循正宗福爾摩斯小說,如同賣座電影會上映的前傳,讓熱愛此系列的讀者們繼續臣服於主角福爾摩斯的超人觀察力,也稱羨他和華生之間的默契與堅定的友情。停止滑動的手指,放下手中昂貴的手機,來讀本推理小說,如何?

2023年12月23日 星期六

阿共打來怎麼辦:你以為知道但實際一無所知的台海軍事常識

 

雖然是生活在世界公認最可能引發第三次世界大戰的火藥庫,但畢竟多數人和我一樣只是平凡無奇的老百姓,對於國際地緣政治與外交事務,頂多是看看新聞發發牢騷。日常的起坐行臥和世界上其它地區的老百姓沒啥不同,唯一的差別大概只出現在一但聽到有莫名的爆炸或空爆聲,心裡浮現的第一個念頭就是「阿共打來了!」。

從老蔣退居台灣後,兩岸就呈現出一種對峙分治的格局,雖然這數十年來交流逐漸頻繁,但對岸對台灣的文攻武嚇是從來沒少過。阿共打來怎麼辨一書就針對坊間常討論的中國攻台戰術,一一用務實具體的數據,指出其作法的不可行。不論是導彈攻台航母包圍全面封鍞空降奇兵,在一番紙上兵推後,所得到的結論都是理想很美好,現實很骨感。倒也不是國軍多麼精實威武,真正讓台灣易守難攻的天險就是俗稱黑水溝的台灣海峽。加上近年來不斷增添的雷達站、各式防空與反艦飛彈,共軍想要實際登陸佔領台灣,真的沒這麼簡單。

不過也如書中所言,就因為傳統實打實的作戰難度太高,改採用資訊戰、宣傳戰的形式,達到不戰而屈人之兵,是投資報酬率最大的做法。加上多數民眾在服義務役時看到的各種軍中亂象,普遍對國軍戰力抱持著疑慮,此時再扇風點火地鼓吹中國大國崛起的大外宣,更是事半功倍。作者也不諱言,這本書如同替軍方對台灣民眾的大內宣,藉由數據、論述幫台灣人建立合理、正向的國防觀念。它像一帖良藥,用來中和對岸資訊戰所帶來的毒素。這也是一本在地化的軍普書,讓對軍事知識有興趣的讀者,接觸到基礎的軍事戰略思維

書中的後半部也針對各國的軍事戰略做出簡短的推論,但這部份的內容就是王立主觀的各言其志。畢竟各國的國防戰略規劃必定是隨著國際局勢不斷調整、修正,特別在烏俄戰爭以巴衝突尚未結束的大環境下,美中兩大國以及亞太周邊各國在國際事務的應對,肯定不同於以往。即便國軍確實需要國人予以更多尊重與支持,但很多事都是禍起蕭牆內。不論是退役軍官被共諜吸收,或是層出不窮的軍售弊案,更有甚者的國造武器品質不良,都不是一句「支持國軍」就能船過水無痕。自重則人重之,在全力的支持國軍們保家衛國的同時,國軍們的軍紀與素質,也需要被國人所要求與檢視。

2023年12月22日 星期五

和艦長一起 30 天玩轉 GitLab【第二版】(iT邦幫忙鐵人賽系列書)

 

自先前看過和艦長一起30天玩轉GitLab後沒多久,這本書居然也出了第二版。但當時手上忙著研究與開發其它專案,就把翻閱第二版的事先擱下。過了大半年,近來要開始評估JenkinsGitLab CI兩者的差異與優劣,恰好回過頭來看這本2022年翻新的第二版,感覺學到的知識又更加深刻許多。

說真的,把GitLab和Jenkins拉在一起討論,實在是小看了GitLab。有別於Jenkins是專注在CI/CD領域,如書中所述,GitLab從原本的版本控制軟體起家,在不斷發展擴充功能下,已定位自己是DevOps管理平台,參與涵蓋軟體開發過程中的各個階段。它提出了DevOps Lifecycle,定義了下面各Stage並提供相關的功能讓PM/開發人員協同作業。

Plan: 提案階段。有Issue Tracker、Issue Board和Issue Kanban等專案管理工具。
Create: 開發階段。有To-Do List和Issue List,還有Merge Request的機制,可以限制合併分支時,必須有專人核可。
Verify: 持續整合階段。藉由GitLab CI腳本實踐自動化測試/整合測試。
Package: 套件管理階段。內建的Artifact management機制,達成程式產出物管理。
Secure: 資安掃描階段。整合資安掃描軟體,進行SAST(靜態程式安全測試)、重要機敏資訊清查、程式碼品質掃描。
Release: 持續交付階段。一樣透過GitLab CI來完成自動佈署作業。
Configure: 運作環境管理階段。
Monitor: 監控階段。
Govern: 治理階段。
Manage: 管理階段。提供專案進度、工時控管等基礎的數據分析功能、圖表。

第二版的重點在於用更多的篇幅來介紹如何按步就班地利用GitLab CI撰寫出Pipeline,完成自動化編譯到佈署的一連串作業。兩相比較下,Jenkins Pipeline能做到的,基本上GitLab CI也能可以達成。巧的是兩工具都建議利用Ansible來簡化自動化佈署的難度(責任外包...XD)。而GitLab CI顯而易見的特色在於,GitLab CI是以分支Commit來觸動Pipeline、擁有Artifact產出物管理功能、Pipeline和專案一同被版控管理等等。加上提供Mesasge Bot和API觸動Pipeline的機制、與Docker環境的高度整合,以功能完整性來看,GitLab CI確實遠優於Jenkins。當然Jenkins也有數不清的Plugins可以擴充功能,所以很難斷定那個工具是第一。

GitLab中涵蓋的軟體工程觀念實在博大精深,即便是這本和艦長一起30天玩轉GitLab第二版也僅能點到為止。對於有心的管理/開發人員,想導入更多、更完整的軟體工程來說,這本書可以是個起點,藉由GitLab這個強大的平台,漸進式的導入適合的流程與機制,以更有效率的作法產生更優質的軟體產品。

2023年12月16日 星期六

反智:不願說理的人是偏執,不會說理的人是愚蠢,不敢說理的人是奴隸

 

推理、反思與推斷能力,是人類得天獨厚的智識技能,但卻需要相當程度的後天養成和持續維持的恆定耐心。歷史上巨大的悲劇多半起因於思慮不周,中國大陸的打麻雀運動就是蒙敝於錯誤三段論來主導中國現代化的政策。「必須有所行動,而這計劃就是個行動,所以這計劃非做不可」。為了行動而行動,不能保證行動的結果是有益的。批判性思考能力是指「針對某個議題進行客觀分析與評估,進而形成判斷」。在網路訊息高速傳播的時代,吸睛的標題與一呼百應的鍵盤義憤,讓民主發展面臨前所未有的巨大威脅。 善於操作人心的希特勒與拿破崙一世,可歸納他們遊戲規則如下:

永遠不要讓民眾冷靜下來;永遠不要承認過失或錯誤。
永遠不要承認敵人可能擁有任何優點。
永遠不要留下任何選擇的空間;永不接受指責。
一次專心對付一名敵人,並將一切罪過都推到他頭上。
人們會更快地相信一個大謊言,快過相信小謊言。
而且只要你重覆大謊言的次數夠多,人們遲早會相信它。


這就是心理學家說的虛幻真相效應,因為一再重覆接觸到某項消息,進而相信它是正確的。任何訴求民眾放棄自主思考和抹黑科學方法的政治性言論,都是民粹和法西斯主義的溫床,也是你我要學會審慎評估,敏銳分析學著別急著表態,要隔山觀火地「讓子彈飛一會兒」。

邏輯學上的形式謬誤,可歸究於人類依賴經驗法則做判斷的捷思法。快速而不完備的反射性推理,讓人掉落進各種不同種類的思考誤區,其中最為人所知也造成最多危害的是否命題錯誤逆命題錯誤

否命題錯誤的例子:
前提一: 想成功必須努力。
前提二: 他失敗了。
謬誤結論: 他肯定不努力。
說明: 結論為誤,因為努力不一定會成功。


逆命題錯誤的例子:
前提一: 壞人會說謊。
前題二: 他說謊。
謬誤結論: 他不是好人。
說明: 結論為誤,因為好人也可能會說謊。


由於否命題逆命題是那麼的容易操作,破解時又要花費相當的思慮,因此它們是偽科學與陰謀論者最喜歡玩弄的論述。所謂的職場小人,擅長攻擊他人已知的道德錯誤,進而拉抬自身在道德上的地位,這也是一種思考誤區。因為語義指稱對象的範圍不夠周全,則會造成中詞不周延誤謬,也常出現在攻訐他人的論述裡。

中詞不周廷錯誤的例子:
前題一: 所有的共產黨員都會認同社會主義。
前題二: 我的政敵認同社會主義。
謬誤結論: 我的政敵是共產黨員。
說明: 前題沒說認同社會主義的所有人,都是共產黨員。因此非共產黨員也可能認同社會主義。

肯定選言錯誤的例子:
前提一: 要不是你,就是我錯。
前提二: 你錯了。
謬誤結論: 我是對的。
說明: 前提一的假設不見得成立,很多事情並不是非黑即白的互斥,也有可能是你錯了,但我也錯了。
 

在網路暴民的言語霸凌中,最常出現肯定選言錯誤,網路暴民想藉由指責有道德瑕疵的對象,突顯自己位於道德上的至高點,沉迷在邏輯不通的自我陶醉中。

否定前提推得肯定結論錯誤的例子:
前提一: 我不看那種電影。
前提二: 品味好的人不看那種電影。
謬誤結論: 我品味好。
說明: 前提二中並沒有說明品味不好的人對那種電影的偏好,因此不看那種電影的行為並無法推論出品味好不好的結論。


除了上述歸屬於邏輯學結構上的錯誤外,有更多種思考上的誤區是和邏輯推論無關的,也稱為非形式謬誤。人類天生就喜歡聽故事,透過口耳相傳的軼事與典故,提供我們學習與判斷所需要的知識,可說是人類文明社會賴以建立的碁石。但只要些許的操弄與欺瞞,就足以讓結論被引導到錯誤的方向,這叫做誤導性鮮活個案謬誤或稱軼事謬誤

我們只看得見我們想看見的,也更相信親眼所見的人事物,比起統計數據科學實驗,人類更傾向對口碑個案照單全收。基本率謬誤是指人們忽視可以理解個案有多大代表性的基本率資料,轉而太過關注特定個案引人注目的不同處,而太早下結論。倖存者偏差則是忽略了某些不明顯的失敗案例,只根據成功案例做出結論。證據不完整謬誤或稱採櫻桃謬誤是指只挑選符合自己觀點的證據,拒絕與忽略與主張不符的證據而做出結論。誤謬誤謬或稱誤謬論證是聲稱某個主張的論述邏輯不正確,所以結論肯定也是錯誤的。但實際上邏輯推論錯誤,結論也可能誤打誤撞地是對的。

主張專家講的就是對的,是一種訴諸權威的誤謬,所謂的「專家」多半只對某些特定領域有所鑽研,不表代他們對其它領域的事會較正確的觀點,在台灣最好的例子就是李遠哲領銜讓教改走向普設大學的「貢獻」。

將複雜難解的因果關係簡化成由單一原因,就是單因誤謬過度簡化誤謬,這種錯誤是政客最喜愛用來轉化人民不滿情緒的利器。二次大戰德國納粹希特勒便成功地將德國戰敗的原因,轉向國內不合作勢力的背刺,進而產生反猶太甚至大屠殺這個歷史罪行。假二分法或稱假兩難,是政客最愛的第二招,沒道理地將事物解釋為非黑即白的情境,讓兩極之外中間不同程度的選項盡數消失,將選項變成一種「非我族類,其心必異」的強迫表態。

將兩個有時間順序的個別事件,不經實驗直覺認定前者是造成後者的原因,是後此誤謬,在傳統文化中的求雨儀式就是源自於此,這種錯誤幾乎無所不在。原因在於人類的思維系統分為系統一(快思系統)系統二(慢想系統),利用最接近自身經驗的直覺捷思法是消秏較少能量的思考方法,也有利快速反應避開危險。人類也傾向以最近期發生的事件或最貼近自身發生的事件為依據來做邏輯判斷,人們「有了今事忘了前事」的缺點,就是因為偏好採用可得性資訊的可得性捷思法

種族主義者的基本理論都源自於本質論,本質論主張任何事物都有成為它們現有樣態的核心特質,少了這些特質,它們就不能被視為是該事物。而本質論被錯誤延伸為天性論證,主張某個人種或族群會擁有與他者截然不同的行為或特質,卻在族群內出現例外個體時,主張該個體非「真正的」群體一員。例如「台灣人就該會講台語,他不會講台語,不是真正的台灣人」。

在食品與藥物產業中常見所謂的訴緒自然謬誤,主張只要是自然的都是比較好的,然而自然界也是存在數不清對人體有害的物質。政治圈最愛用的人身攻擊論證是以攻擊發言者的個人信譽為手法,避開攻擊發言者所提出的論點,以藉機否定該提點的正確性。這個作法在民主選舉中相當普遍,將對方的私德不佳為依據,否定對方提出的論點與主張,簡單說就是扣你帽子。人身攻擊論證的另一種變型就是你也一樣,是訴緒發言者也有一樣的問題,那是否表示這個問題根本就不是問題,常出現在告發他人違反交通規則的時候(大家都違規)。

稻草人論證或稱上鉤掉包法是將對方的論點改編成一個相似但有瑕疵的山寨版,再全力攻擊這個山寨版的錯誤,相藉此否定原本固若金湯的版本。由於這個方法極為巧妙不好被視破,是許多雄辯家愛用的手法。在美國許多想否定演化論的宗教團體中,運用誤導物種演化進程的手法,提出世界上不存在鱷魚鴨這種生物,想藉此否定進化論的真實性。

亞伯拉罕諸教(包含基督宗教、伊斯蘭教、猶太教)的教義都受到循環推理謬誤的影響。強調教義經典是不可否定的,理由是不可否定經典是書寫在經典裡。循環推理的問題如果再交雜同義字與複雜表述的情境,就變成乞題謬誤而更難以判識。例如「墮胎是謀殺,謀殺是不合法的,所以墮胎不應該合法」,它的結論是來自於認同墮胎是謀殺這個前提,但無法提出任何邏輯驗證這個前提為真,只能乞求我們同意。

將一切的事物歸咎於動機,是動機謬誤,是指不用批判性思維來檢視證據,任由情感推動以帶有偏見的方法來認知事物。人只要了進入迷信狀態是怎麼勸也勸不聽的,因為人們為了逃避信仰與真相之間巨大的落差造成的認知失調,會傾向質疑一切否定信仰的確切證據,最後轉身就走。否定主義有別於懷疑論者,是指對任何不符合其信仰的人事物,會直接否定或是採取沒有根據的懷疑,面對處於這種意識型態的人們,是不存在對話的空間。

在心智層面上,你我的大腦也充斥著許多機制上的缺陷。首先,人們的記憶是相當不可靠,也非常容易受到操作而扭曲。我們對過去的記憶,有很大幅度是由自行腦補而來,特別是在有外界的因素干擾的情況下,正確性令人存疑。巴南陳述是指模擬兩可又空乏的陳述,常被用在占星、命理等領域,而MBTI性格測試也是這種含糊花招的具體應用。安慰劑效應應該是最知名的心智怪癖,只要受試者自覺正被治療,就足以在生理層面上觀察到改善。也因此安慰劑效應的效用大到無法忽視,也奠定藥物試驗都要通過雙盲測試(研究人員和受試者都不知真正的藥物是A/B哪組),來證實真正的效益。

在現代社會中,統計學是如此的重要,影響到各個領域的方方面面。也因如此,許多假藉統計學包裝後的不實言論,也更容易像木馬屠城般誤入人們的心中。賭徒謬誤源自於對統計學本質的誤解,認為宇宙中存在一雙看不見的手,會將隨機機率逐步調整為符合規律的平均值。貝氏定理有效地運用先驗機率來評估實際發生事件的後驗機率為何,它也是機器學習分類問題中使用度相當高的演算法。即便某事件發生的機率極近微小,以統計學的觀點來說,重複數次的機率更是微乎其微,但這可能是源自於一個尚未觀察到的環境背景因素,造成該事件處理容易重現的情境。

在檢視統計百分比時,要特別留意數字的分母指的是什麼?舉例來說,吃肉對於腸癌的風險,用不同的分母來估計,差別相當大。相對風險是18%(大量吃肉和非大量吃肉罹癌人數差異比),絕對風險是1%(大量吃肉和非大量吃肉在總人口中的罹癌比)。統計顯著性檢定(或稱P值檢定),原本是用來確保實驗的品質有相對的統計機率背書。卻被誤用到許多探索性實驗中,亂槍打鳥的把各種主題丟入顯著性檢定,將從中取出通過檢定的項目當做突破性的研究發現。這種先射箭再畫靶的「研究」,純粹只是濫用與誤用統計工具,藉此得到的「研究發現」也多半毫無價值。

科學偽科學的界限越來越難以區別,但還是有一些要項可以用來評量事物是否符合科學精神:
證據的品質: 證據的採證方法是否來自傳說與誓言,那就得抱持疑懷的態度。
權威: 如果只是單純訴緒大師機構,而提不出有量質的證據,那必須小心。
邏輯: 符合邏輯推論嗎?
可驗證的主張: 主張是否能可證偽性,提出反立的虛無假設,讓其它研究人員得以驗證嘗試推翻該主張。
證據的整體性: 必須考慮所有證據,不是僅採納有利主張的部份證據。
奧坎剃刀: 簡單的假設永遠優於複雜而有大量前提的版本。
舉證責任: 提出主張的人,永遠有提出相關證據的義務,而不是仰賴其它提出反駁證據。

總結要進行分析性思考時,我們應該針對下列各面向進行提問:
推理: 論述是否合乎嚴謹的邏輯推論?
修辭: 主張是否只是訴緒權威?或是將複雜的情境過度簡化?扭曲或抹黑對手的主張?
人性因素: 基於不同的價值觀造成的偏見為何?是否出現採櫻桃謬誤?留意我們的記憶並不完美。
來源: 資訊來源,是否可靠?是否只是同溫層的回謦?不同的觀點不表示都具有同樣良好的證據支持。
量化: 主張是有能量化?有實際的數據支持?小心統計數據背後的陷阱,相關性不表示因果關係。
科學: 主張能被實驗嗎?實驗結果可能被偽造嗎?回顧一下判別科學偽科學間的要項。

2023年12月14日 星期四

空想科學讀本:大咖對決誰比較厲害


對熱愛日本動漫的六、七年級生而言,從兒時的無敵鐵金鋼到近期的進擊的巨人,都帶給我們度過無數個歡樂與感動的時光。在看過怎麼多作品與上天下地的角色後,相信你我都曾跟玩伴與同好爭論過誰誰誰比較強這類天馬行空的問題。這本空想科學讀本:大咖對決誰比較厲害,就是將這個議論發揚光大,用科學(物理)的數據分析與歸納不同作品的角色,來進行跨界比拼。

空想科學讀本是相當長青的科普叢書,作者柳田理科雄每每運用扎實、深厚的物理知識,計算出動漫場景中各種腦洞大開的場景,其所代表的驚人實情。搭配上每篇穿插,別有一番風味的解說插圖,欣賞到二創版的動漫知名角色,讓讀者在文字閱讀外多增添莞爾一笑的心情,真是妙不可言。不論是神劍闖江湖的劍心真劍對決銀魂的阿銀,還是刃牙裡的勇次郎比拼北斗神拳裡的拳四郎。更別說是鋼彈的白色惡魔大戰新世紀福音戰士裡的初號機,每場設定都是動漫迷引頸期盼的世紀對決。

雖然在多數篇章中,動漫裡不足為提小小的絕招(必殺技),若要在現實世界中重現,都會是足以毀天滅地的物理現象。這樣的結論像是潑了長青動漫迷們一頭冷水,但作者願意認真看待動漫裡天馬行空的設定搭配實事求是的求知精神,讓讀者得以用另一種角度剖析和回顧這些精典的動漫作品。最終如同柳田理科雄一開始的期待,他帶給讀者們一段愉快的閱讀時光。

2023年11月14日 星期二

不太好笑的人生:伊莉莎白.華倫卯上華爾街的真實故事

粗略地說這本書是美國參議院議員伊莉莎白.華倫的自傳,但細細翻閱後,讀者會發現這也是一本講述真正的美國夢,與其逐漸不可得的故事。她是位出身工人家庭又早婚的家庭婦女,藉由政府大量補助高等教育的契機,重返校園拿到了法學博士學位。後來專注於破產法的教學與研究,成為該領域的學術權威。在進行大量破產人的個案調查時,體會到美國對金消費者金融的監管機制並不完善,讓銀行有機會以不正當手法欺瞞消費者獲取高額的利益。

她之後不斷以破產的中產階級為關注對象,出版了幾本講述美國中產經濟困境的大眾書籍,並受邀到知名媒體節目中擔任來賓,成為一位美國民眾熟知的法律學者。也因此在美國重訂破產法的過程中,伊莉莎白變成代表學界聲音的重要角色,開始她與美國政界的第一次接觸。而後在金融危機時,她更被選為監督財政部銀行紓困案的五人小組成員,有機會看到華爾街金融集團在美國華府呼風喚雨的勢力。

在美國人民對華爾街的不滿累積到頂點的時刻,美國政府也順應民意開始評估要設置消費者金融保護局,負責監督各種面向消費者的金融商品,保障美國人民在進行金融操作時能免除因資訊不對稱造成的財務損失。這個機構得以成立,要大大歸功於伊莉莎白棄而不捨的堅持,「我們若給人,就必得著回報」確實如此,經此一役,她已成為了小市民對抗華爾街貪婪巨獸的指標人物。

由於政治理念相同,又對偏愛華爾街的共和黨有敵意,伊莉莎白於2012年表代民主黨參選麻州參議員選舉。以女人當家的訴求加上婦女墮胎權在美國吵得火熱,保守派和進步派雙方爭持不下,言詞交鋒下話無好話,讓婦女票大舉擁入政治色彩偏向進步派的民主黨。讀者們也可從書中看到,美國政局在長久的兩黨制文化中,不但沒有發展出求同存異的民主素養,而是走向非我族類,其心必異的偏執心態,美國這幾年荒腔走板的施政表現和國際關係的進退失據,都可能源自於兩黨惡鬥的這個遠因。

2023年11月4日 星期六

醜陋的中國人


先別看到書名就急著跳腳或喜不自勝(端看你對對岸的觀感),這本醜陋的中國人書成自從四十年前,以那時的社會氛圍,海峽兩岸的華人大多都還自認自個是中國人。更別說作者柏楊出生一九二零年,是親身經歷過民初時代動亂的文人,想當然耳其言論與著述,用當下的時空背景去解讀是不恰當的。

全書主題環繞在柏楊一九八四年在美國講演時的主題也同於書名的中國人,他以時事評論家的口吻,指出彼時的中國國力與美日等先進國家相距甚遠,起因於長期定於一尊的儒家思想,以及他時不時提及的醬缸文化。更具體的項目,不外乎中國人們沒合作觀念獨善其身口是心非等群體道德上的亂象。柏楊更進一步指責儒家思想昧於人性,教條式地要求人人做聖人的假道學,讓華人社會長久處在表裡不一的雙面人心態。明明愛錢愛的要死,嘴巴還唸著君子何必曰利

全書三分之二收錄柏楊論敘他的醬缸文化的相關文章,截錄自那時各海外報章的專欄投書。一連看下來像是聽著一位老先生話閘子打開扯東罵西。不過書籍編輯倒也是挺有觀念的,帶著媒體平衡報導的精神,穿插著反對柏楊觀點的反駁文章。看兩邊你來我往唇槍舌戰,有如四十年前的PTT,好不精彩。從他們之前的筆戰中,其實可以發現時下的台灣真的是進步許多,可惜柏楊已逝,看不到兩岸的華人,用各自的方法,不斷地改善物質與文化上的不足和缺失,在世界的舞台中走出自己的路,民主、自由和人權在台灣也逐漸變成主流價值。

2023年10月28日 星期六

數據分析的力量

 

從事網際網路產業的先進和同業,對A/B測試這詞應該是耳熟能詳。尤其在大數據、雲端等資訊科技爆發後的今日,以谷哥為首的科技龍頭在施行任何網站優化時,言必稱A/B測試,更讓這門學問如同資料分析業界的魔法石,簡直能化腐朽為神奇。數據分析的力量一書用簡明易懂的敘述,協助讀者領會隨機對照試驗(或稱A/B測試)的理論與價值。也更進一步介紹,不連續迴歸設計堆集分析縱橫資料分析這三種分析方法,能用在無法實作隨機對照試驗的情境中。最後也詳列出四種手法的優缺點,提供讀者因地制宜挑選最恰當的作法。

在制定商業決策或是法規政策時,資料分析的核心課題就是找到最能達成效果的因素,並使之成為操作標的。但不論在媒體報導或公私部門的分析結果裡,還是會不時看到誤將相關關係當做因果關係的低級錯誤。像是在資料中看到某因素(X)對結果(Y)造成影響,就斷定X和Y之間存在因果關係(例如:喝咖啡會抗癌)。其實,事實上真相可能是有個其它因素(V)同時影響了X和Y(例如:較富裕的人喝比較多咖啡,生活習慣也比較好,因此較少罹患癌症)。另外,X和Y也有可能是出現反向因果關係,讓人誤將Y影響了X解讀為X影響了Y數據分析的力量書中提及的資料分析手法,能強而有力地用來證明X和Y之間是否真正存在因果關係,協助你我在適當的時間點,依據資料做出正確的決策。

隨機對照試驗(Randomized Controlled Trial:RCT)」,能驗證因果關係最強大的武器。藉由數據規模夠大的情況下,利用隨機分配將受試者區分為兩群人(介入組和比較組),再挑選介入組施行要試驗的假設,最後取出介入組與比較組的差異,即為假設真正的介入效果。受惠於受試者量體大,兩組除了操作的假設條件以外,其它能影響結果的群組屬性都會相同(以人為例:就是性別、年紀、收入...),因此介入效果的原因肯定就是最初進行操作的假設。施行時要符合分群必須隨機以及樣本數要夠大,才能得到有意義的結果。


不連績迴歸設計(Regression Discontinuity Design:RD設計)」,是一種自然實驗手法,適用在無法施行RCT的場合。因為不是每件事情都可以自由地進行A/B測試,這時透過收集實地資料,從中尋找可以用來辨識因果關係的蛛絲馬跡,這就是所謂的自然實驗,可用來分析已經實行的政策或決策是否有效。RD設計是觀察連績資料(例如:年紀)是否在X軸界線上(特定時間點)出現不合理的跳躍性Y軸變化量(例如:就診人數),並搜集與比對該時間點是否存在某種介入操作(例如:施行自付額減半政策)。書中舉出「年滿70歲的日本國民,醫療自付額可減半,造成就醫人數增長」這個貼切的例子。


堆集分析(Bunching Analysis)」,其實是延伸自RD設計的一種變形。不像RD設計只能觀察界線前後的變化量,堆集分析觀察的是階梯(級距)狀的變化,是用來分析以級距施行的政策與決策的手法。例如「所得稅率的設計是否會讓國民減少勞動意願」以及「車輛的油秏政策是否影響到車廠設計車款時的車重」等疑問,都能運用堆集分析的處理。

縱橫資料分析」,當施行的政策與決策沒有明顯的界線時,就只能使用縱橫資料分析。說穿了就是將數個期間內的歷史資料收集後以跨年度、跨月等角度去觀察是否有顯著的變化。由於不同期間的數據原本就可能存在差異(去年和今年的銷售值,不可能完全相同),因此在找出介入成效時,是在找出差異中的差異。必須先減去不同時期的差異後,再觀察隨著時間的演進是否另外存在趨勢變化。


數據分析的力量是一本講解數據分析的入門書,針對因果分析這項執行任何決策前必備的技能,它補足讀者所需的基礎理論。讓分析者與決策者能對手上的問題,用科學的手法進行研究分析,充滿信心朝正確的方向前進。


2023年10月24日 星期二

移工怎麼都在直播

 

如果有走過台北車站地下街,肯定會對京站出口的INDEX商店有印象。裡面擺滿著東南亞風情的異國商品,店裡也不時有移工顧客進進去去。而在靠近北門站的末端,則是有兩、三家印尼自助餐,全外語的招牌和看不出啥名堂的菜色,雖然吸引著想嘗鮮的老饕,卻又因為偏高的定價而裹足不前。在週日走訪北車,地點是台北卻能抹上濃烈的印尼色彩,這正是移工(或稱外勞)融入台灣後所帶來的影響。

移工怎麼都在直播書名著實有趣,主題是環繞在來台工作的印尼移工社群,而全文其實包融三種不同類型的內容。開始是以台北車站這種假日移工集會的公共空間為起點,用移工的角度介紹這個台北人視而不見的角落。再添加部份印尼人社交文化的禮節與習慣,並說明齊戒月開齊節穆斯林(信仰伊斯蘭教的人)的重要性。

書中大半部份都是以社會學田野調查的方法,記錄不同移工個人的經歷與故事。用點描繪出面,讓讀者體悟到這些從事老人看護、工業區廠工、東港漁工等各行各業的印尼勞動力,已經成為台灣社會持續運轉不可或缺的一份子。當然也有人更有進一步融入台灣社會,變成新住民的身份,在另一個國度中展開新生活。由於外勞制度的不完備以及工作性質的特異性,移工在台工作時多半被剝奪了大幅度的行動自由(不能自由外出),以換取對印尼本國來說是相當高薪的報酬(相當當地大學教授、醫生的收入)。也因此即便有些工作環境已經快落入違反人權的情況,很多移工們也都是苦中作樂地咬牙撐下去。

作者江婉琦算是讓我看了眼界,第一次從書中看到向神明問事的對話錄。雖然說子不語怪力亂神,但對話錄的內容相當積極正向,真的很像是神明會講的話語,收錄其中一段打動我心的內容。「人們有所求,神明會幫忙。可是我更希望,人們可以當自己的神明。神明是希望,我們在保估你們的時候,你們自己先保估自己。這樣的話,你就是心無罣礙。心,清楚地知道自己做的事情是對的,那就無形中,會增加更大的力量去完成你想要達成的目的。

2023年9月21日 星期四

達賴喇嘛的貓

 

這本達賴喇嘛的貓用一個虛構的故事,以陪伴著達賴喇嘛的小母貓的觀點,向讀者講述藏傳佛教的核心教義。第十四世達賴喇嘛是藏傳佛教中最廣為人知的精神領袖,在故事中也用小貓味的視角側寫出達賴喇嘛的公務和日常作息。藉由讓貓咪觀察尊者與訪客的互動與對話,由牠的角度反思、學習出一項項佛教獨有的觀點與思維,題材相當富有趣味。

白話點講,覺悟者佛法就是成為覺悟者的法門。在佛教中所謂的有情眾生,是說有意識的生命體,都有離苦得樂的基本願望,因此並無高下之分,生命都是非常珍貴的。生為人類,不分彼此更有另一項共同之處,都想要被愛(關懷)萬物唯心造,外在環境的舒適或不便,不是真正讓人覺得快樂痛苦的原因,真正能覺得我們自身的喜樂與哀愁的是我們看待事物的眼光。如同監獄中的受刑犯可能覺得修行中的喇嘛過得無欲生活相當折磨人,但喇嘛們不會怎麼認為,世界上並不存在能客觀量測的讓人快樂生活環境。

修行中維持正念是最重要的,正念是只一種專注於當下的意識狀態。吃飯時好好吃飯、走路時好好走路,做事時學會只關注手上處理的事務。別把心思停留在過去(後悔過去),也別把心念投射到未來(追求將來),更別沉浸在白日夢中(不面對現在),只要好好地活在當下。「你在做什麼?你在想什麼?你快樂嗎?」,做的事和想的事相同的人,多半會回答快樂。也可以說,讓你覺得快樂的不是你所做的事情,而是你是否全心全意投入去做。

真正讓人感受幸福的真實原因,是人們覺得能幫助他人的時候。佛佗說,希望給予他人幸福,稱為,幫助他人去除不滿或脫離苦難,稱為慈悲。佛教認為,我們愈為他人的福址著想,心中會獲得更多的喜樂,這是一種最有智慧的自私行為。思想展示為言語,言語展現為行動,行動養成為習慣,習慣演化為人格。因此,我們要小心觀察自己的思想以及它的走向,我們怎麼想,最終將影響我們變成怎麼樣的人。

很多時候那些曾經是最糟糕的事,後來卻成就出最好的成果。如何西方諺語說的一切都是最好的安排。而決定成果的好或壞,關鍵是不輕易放棄的正念與作為。情緒不是永久的,憤怒更不是自身的一部份,當你習慣屈服於情緒的力量,只會更容易感到情緒起伏而深受影響。全書內文其中一句的「如果知識不能和他人分享,那擁有再多的知識又有何意義?」讓我相當有共鳴。寫這些讀書心得或許只能被寥寥可數的人看到,但只要有隻字片語讓別人對這些書產生興趣,或是從我擷取的文字中激發靈感,那都是值得開心的事。

2023年9月17日 星期日

機智購物生活

 

不可諱言除了北歐的社會主義和中國的偽共產主義外,目前資本主義已經席捲全球。全球公民的消費習慣,早已經從購買自己需要的東西變成購買自己想要的東西。更有甚者出現了消費者困境,人們明知該慢放腳步停止購物,卻怎麼也不能停下來。綠化消費嘗試想要減輕過度消費行為對地球環境造成的傷害,但不管怎麼做也跟不上消費增長(和與之相伴的汙染)的速度。機智購物生活提出新觀點,為何不轉念實踐減少消費?本書的內容就是在進行一種文字版的思想實驗。而新型冠狀病毒的出現,就像在替本書進行實證實驗,疫情間確實讓全球的消費支出下降25%,同時間碳汙染量也同步下降四分之一。

如果消費瞬間減少25%,時尚產業尤其是快時尚將會受到重創而分崩離析。雖然人類對自身財物的迷戀其來有自,甚至可追朔到四千年前的瑪雅文化,但消費者文化視人們為經濟活動中的消費者,其歷史比我們想像的短暫。約略發生在第二次世界大戰結束後,那時富裕國家的家庭支出才開始顯著大幅度上升。即便在典型的經濟低迷時期,大家也不是少買東西,而是改買更便宜的東西,所以停止消費是相當顛覆的想法。金融海嘯期間,美國家庭消費支出也僅下降3.5%,所以完全停止消費行為,將會產生前所未見的經濟海嘯。而停止購物後造成的混亂和經濟損失,最終會落在較貧窮的國家公民上。

要定義現今的消費規模是否合理的一種方法是檢視我們的消費是否超出了地球的承受能力。全球生態足跡網路是個非營利組織,它將地球以公頃劃分,再分配給每一位地球公民,結果得出每人將得到1.6公頃的全球公頃。以今日的消費水準,地球上每人平均消耗2.7全球公頃,如果要像美國人一樣消費,則高達8公頃!(我們需要5顆地球)如同大家所猜想,全球各國的消費行為相當不平等,如阿富汗人會消費0.8公頃、中國人則消費3.2公頃,而厄瓜多人恰好消費1.6公頃。換言之如果每個地球公民的消費水準都和厄瓜多人一樣,那麼地球的自然資源恰好能滿足大家的需要。厄瓜多人的生活方法大致和二十世紀的消費水準相似,約略落在1970年。那是個上館子用餐很少見、人們會繼承兄姐的舊衣、暑假選擇在住家附近渡假、商業節奏很緩慢的時代。對照在2024年,社會對一個普通經濟公民的消費量的預許,在食衣住行上,標準都不斷地在提高。

曾經人們的生活不僅有工作與消費,猶太人的安息日是停止創造的日子,當天也禁止任何商業行為,是早期社會對商業生活忙碌不休的抵制行動。這個源起於一千七百年前的傳統,至今演變成我們熟知的例假日(星期日),卻失去它原本的反消費精神。時間飢荒是描述現代人永無止盡的忙碌感,努力地填滿自己的每段空閒時間。在智慧手機普及的年代,人們則是用數不清的短影音、手遊與社交平台,塞滿我們原本可以悠閒度日的時光。

停止消費對地球環境的助益不言而喻,在新冠肺炎疫情的初期,全球碳足跡的下降幅度略等同於商業行為減少的比例。被稱作世界工廠的三座城市,越南河內、中國廣州和成都,因為停工停產讓全市擺脫微粒汙染,市民又見到久違的晴空與藍天。綠色科技確實能減緩經濟發展所造成的碳排放,但真正有能效減少碳汙染的作法是減少消費。然而經濟成長率是如此至關重要,甚至決定誰能贏得民主選舉,所以不可能看到任何政府推行減少公民消費量的政策。

用經濟成長率(GDP)來衡量國家施政的良莠,是典型的消費者困境(消費者困境是指我們必須停下來,卻又無法停下來的情境),因為所有反對消費的論點和作法,最終都會導致終結經濟成長。然而經濟成長率不是用來評量國民福址的最佳指標,因為它未說明社會中財富分配的情況(就像:台灣平均月收入為四萬多元)。在此前提下追求每年不斷的成長,負作用就是國家內部的不平等持續惡化,激化更多階級間的衝突與對立。2019年起紐西蘭嘗試拋棄GDP作為衡量經濟成功的主要指標,改用更能呈現公民福址的真實發展指標(GPI)指標。

炫耀性消費或稱競爭性消費地位消費甚至是招嫉消費,是利用消費行為產生引人注目的效果,以為人所不能為的方法,獲取自尊心與滿足感。炫耀性消費是助長消費文化成長的潛在因素,也讓許多人在經濟層面上產生地位壓力。人們對財富指標相當敏感,演變成會利用消費來標記自己在經濟社群中的啄食位置。消費主義使人們不快樂的最顯著的原因就是地位消費,許多3C商品(例如智慧性手機)和快時尚的衣著,在消費主義的浪潮中,製造出來的最終目的就是為了在不久後丟棄它。在物質主義為尊的世界裡,人們需要多消費一點,買更多東西才能覺得自己是成功的,也覺得自己是安全的。

扭轉病態的消費文化,可以從惜福愛物開始,選擇更耐用的產品,以修繕取代購買新東西。在政策層面上,政府應當要監督產業界,禁止推動計畫性報廢商品,並立法推行消費性商品須公開標示預估使用壽命,讓消費者有機會選擇優質商品。去消費不必然只有經濟袞退的壞結局,也可能帶來企業製造良好、耐用的優質商品來吸引消費者的新局面。耐久性商品也會驅動其它類型的經濟活動,像是維護、修繕、升級和租用。不一味追求成長與利潤的以諾式企業更能在減少消費的經濟迷低時期中發光發熱。以諾式企業傾向提供經濟學家所謂的內在價值,以實用、美麗、富有傳統和令愉悅的商品和服務。這些企業不專注於擴張規模,而是堅守商品和服務的品質與核心價值。

富有是種奇怪的狀態,即便是今日被視為低收入戶的公民,其實擁有的物質條件也比一世紀前的王公貴族還優渥。財富的多寡必須是在特定時間點中與他人比較後評估的結果,富有是一種相對而非絕對的形容詞。在文藝復興時期,社會上不鼓勵個人欲望的無止盡地放縱,因此富人們會關起門來低調地享受財富。但自從1980年代開始,越來越重視經濟成長的政治氛圍,將商人和企業家推上了英雄般的地位,自此讚揚高所得者與崇尚炫耀性消費就成為你我熟知的社會文化。

比起主張過著綠色生活的環保鬥士,或許過著簡單生活的節欲主義者更能幫助地球。反消費者對自身所做的消費行為,會努力思考以做出明智的選擇,較少受到廣告行銷與時尚風潮所影響,更不會採用消費(飲酒、旅遊)來做為挑避其它事物、壓力的手段。早期的清教徒因為厭倦歐洲大陸的腐敗與物質主義遠走到新大陸,百年後的子孫卻步入最初的物質主義陷阱。歷史上從不缺少呼籲減少消費的聲音,但人們的經濟行為,總是如鐘擺一般在過度消費簡單生活兩者間來回。單純一本機智購物生活不可能改變全世界的經濟活動,但是如果讀者能從書中領悟到減少消費的好處,而嘗試在生活中實踐,那就是改變的開始。

2023年9月11日 星期一

江山風雨情

 

要寫出好的歷史小說相當有挑戰性,構思故事既要生動有趣,經緯主軸又不能離史事太遠。在人、事、時、地、物五元素中,更動的部份要順應情理,情節若還呼應歷史事件的關鍵時點,就更難能可貴。江山風雨情就是本令人回味再三的佳作,描述明朝未年崇禎皇帝登基到亡國的故事。

書中有吳三桂與陳圓圓的愛情、大太監王承恩的權謀手段、滿清皇太極與群臣的勵精圖治。但最讓讀者掩卷嘆息的是,看到崇禎這位有心中興大明的「好」皇帝,如何一步步地領導權臣走向國破家亡的局面。志高才疏、心胸狹窄應該是多數讀者留給崇禎的評價。即便已經病入膏肓,內有流寇外有滿清,大明王朝依舊有能人如袁崇煥、洪承疇足以力挽狂瀾扭轉困局,卻皆失敗於崇禎的一念之間,讓千古名句的君非亡國之君,臣皆亡國之臣更加諷刺。

江山風雨情雖是小說之言,但從中也能梳理出國富民強的治國法門。不論那個朝代,官員的貪汙腐敗都是國家衰敗的警示燈。而領導人用人的肚量與格局,則是會影響組織可用人材的廣度與深度。市井之間常開玩笑說如果爸爸是王永慶的話…,感嘆自己命不夠好,未能出生權貴、富豪之家。要深知,如果沒有三兩三的本事,即便讓你平白無故的坐上那個位子,最後也只是變成富不過三代的八卦週刊話題。崇禎帝就是個好例子,不是嗎?

2023年9月3日 星期日

沒什麼事是喝一碗奶茶不能解決的⋯⋯:我的人類學田野筆記

 

文字媒體有標題殺人法的編輯技巧,利用聳動吸睛的標題文案來獲取閱聽大眾的點擊關注。沒什麼事是喝一碗奶茶不能解決的對我來說,則是一種書名殺人法,是被它詼諧梗圖般的書名吸引後翻閱。如果抱持著獵奇的心態想在書中看到如台灣學子在中國(北京)求學時遭遇的文化衝擊,或是增廣見聞的求知精神想以台灣人的視角看看新疆維吾爾族的風土民情,讀者肯定敗興而歸。正如副標我的人類學田野筆記寫的,本書的核心主題是初入人類學領域從事田野調查的台灣學子,分享與反思其執行田野的困難與收穫

人類學是一門研究與統整人類(少數)民族或社會(組織)活動的人文學科,也因此有多少種社群就能有多少個研究主題。田野調查則是研究學者以一個遠來他者的身份,中、長期的以自身當研究工具,融入且生活在被研究者的社群與環境。期望能順利轉換心態與角色,從中學習並統整被調查者的思維與價值觀。花了這麼多心力所積累的它文明觀,小則能用來比對、反思自己文明的良莠,達到他山之石之效,大則能讓人們理解文明的多樣性、增進彼此的同理心與包容度。

在華人同文同種的大傘下,身為台灣人的梁瑜去中國當人類學研究生,進一步再去新疆從事田野調查,看似難度較低,畢竟語言和文化相近。但從書中可見,兩岸在長期政治體制不同反映在雙方對基本人權觀念的差異,時時像不小心踩在散落在地上的樂高積木般,渺小卻強有力的提醒著雙方,我們不是穿著同一條褲子長大的。人類學的訓練或許可以提升你我的同理心,理解並包容對方的價值觀和我們不同,但理解不表示認同,包容也不等於接受,捍衛你的言論自由不是因為你講的是對的,而是我們享有著一樣的天賦人權,這是人類應追求的普世價值。

2023年8月18日 星期五

四帝世紀

 

只要是生活在海峽兩岸的華人,在評論孫逸仙、蔣介石、毛澤東和鄧小平時都很難保持十足的客觀公正。畢竟除了被尊稱為國父的 孫中山先生外(前面要空一格),對於其餘三人,我們傾向把一邊視為偉大的領袖,同時稱另一邊為某匪。由法國作者撰寫的四帝世紀以外國人的超然角度,幫你我破解了根深蒂固的主觀偏見,重新檢視共和時期的中國土地上發生過的風風雨雨。主題講述這四位地位有如帝王般的政治領袖,如何承先啟後帶領中國從昏暗無光的封建帝國,走向世界強權的道路(果真超英趕美了)。

對於國小時期還受過國民黨的愛國教育的六年級來說,書中的內容確實有顛覆三觀的衝擊力。畢竟看到曾被視為偉人的國父孫逸仙是一位做大事卻沒有戰略思維,常讓革命同志傷亡的豬隊友,真的是不容易。他為了推翻滿清,接受各方不懷好意的外國援助,甚至不惜用分裂國土形成軍閥割據、私相授受許諾經濟最惠國待遇等,以換取革命資金與武器,這都是課本不能教的黑歷史呀。做為孫逸仙信徒的蔣介石,崛起的原因單純僅是理想主義的孫氏需要擁有征戰的硬實力,而年青的蔣介石願意成為他最忠實的執行者。

在台灣,長期以來對共產主義與其相闗聯的蘇聯政權,都視為如佛地魔般的禁語。然而在國民黨成立的初期,可是摻雜著濃厚的蘇聯共產國際的意志與援助。可以武斷地說,如果沒有蘇聯的軍事指導與訓練,國民革命軍根本不會成立!而和共時期的國民黨其組織與運作也處處模仿著蘇聯共黨,是服膺最高領袖的中央集權,而非票票等值的西方民主議會形式。孫逸仙對權力的慾望,讓共和時期的中國喪失走向直接民主的可能性,間接也造成中國四分五裂的內戰格局,讓定位自己為職業軍人的蔣介石藉此成為民國舞台的要角。

毛澤東、鄧小平和蔣介石算是同一世代的政治人物,發跡於共和中國的前期,各自依據不同的信念,試圖帶領國家走出內亂邁向富強,而他們也都是擁有超強意志與強運的天選之人。如同先前所言,國民黨的創立擺脫不掉蘇聯的影子,另方面中國共產黨也開始蠶食鯨吞地擴大影響力與軍事力量。國共內戰,一個早在對日八年抗戰之前就籠罩中國的兄弟鬩牆,為了爭奪誰才能主導中國的現在與未來。蔣介石的敗亡可說是時運不佳,國民黨的黨爭、美國的過度介入卻誤判形勢以及最致命的民心向背,讓紅色中國成為共和中國的終章。

毛澤東與共產黨領導下的中國,從最初得聽蘇聯鼻息的跟班地位,逐步發展、進步成亞洲霸權的態勢。過程中人民遭遇的苦難,不亞於封建帝國時期的慘況。共產鬥爭下的文化大革命與後續的大躍進,都造成了數以千萬計的死傷。而歷經無數戰爭、門爭後,有幸承接一個完整紅色國度的鄧小平,則睿智的採行政經分離的開革開放措施,奠定中國躍居世界第二大經濟體的基礎。

對華人來說四帝世紀是一本題材引人入勝的作品,內容確實也平舖循序地講述這四位帝王在大時代裡波瀾壯闊的經歷。可惜的是,不知是法文翻譯中文時的詞型限制,還是純粹譯者功力不夠。許多句子讀起來都太過迂迴,常看到那種否定再否定的語句用法,讓閱讀的流暢度和樂趣消弱不少。

2023年8月7日 星期一

Web開發者一定要懂的駭客攻防術

 

在工作上一直都是擔任後端應用的職務,即便是目前負責的大數據與推薦引擎,依舊是歸屬在後端運算的範疇。然而在Web/HTTP影響力與日俱增的大環境下,單單開發一個API也擺脫不掉SOAP/REST這樣依附在HTTP協定的軟體架構風格。因此針對Web的安全性議題,是不分前、後端工程師都得認真學習、思考的核心知識。Web開發者一定要懂的駭客攻防術是一本堪稱完美的Web資安入門書,流暢又精確的文字內容,在資訊類型的書中相當罕見(IT類型的書多半文字用詞繞口,也會有一兩個勘誤)。全書分成必要的基礎知識常見威脅兩部份,很完整又詳細地解說,Web應用程式是什麼?有哪些常見的漏洞?(更重要的是)如何防止哪些漏洞?

雖然駭客攻擊聽起來總是神秘莫測,令人聯想到諜報電影裡相當高上大的設備與工具。但比較落地的實情是,多數讓駭客入侵成功的程式漏洞,總數加起來不會超過手指數量(小提醒,是十)。這些可以一一細數的程式瑕疵,造成這麼多企業、個人的財務損失,起因常常是開發團隊沒有能力處理(知識不足)或低估資安漏洞的嚴重性。藉由研讀Web開發者一定要懂的駭客攻防術,足於讓從業人員認識、理解Web開發時應留意的重點,進而打造出有高防禦力的Web應用。想若所有開發者都被要求要通過此書提及的漏洞攻防國家測驗,才能從事Web程式開發職務(類似駕照考試),網路世界在這群有著資安DNA的工程師們推動之下,相信未來駭客產業將會大受打擊。

下列心得就針對第二部份常見威脅的內容,進行概略的重點整理,也方便未來回過頭來查閱。

1.注入攻擊
起因:
 程式中使用SQL語法查詢資料庫;程式中執行作業系統指令。
手法:
 利用外部可以輸入的介面或檔案上傳功能,將攻擊用的字串與檔案(WebShell)傳送到程式主機,並觸發予以攻擊
防止:
 SQL注入:唯一作法是採用參數化語句或是ORM技術。如果無法修改程式,至少要做到最小權限原則,讓程式只擁有最少的必要權限,將傷害減到最低。
 避免傳回暴露過多資訊的傳回值,例如此帳號不存在,而是採用模糊的回應,例如找不到此帳號和密碼
 命令注入:如果無法避免支援執行作業系統指令的功能,一定要將控制字元轉義,並採用白名單限制可以被執行的命令。
 遠端程式碼執行:不要直接使用未經檢查的序列化/反序列化的資料來當輸入值,並留意伺服器軟體的漏洞,以即時修補。
 檔案上傳漏洞:最好直接將檔案放在CDN雲端服務中,將風險轉移到雲端業者。不然就確保上傳的檔案無法被執行(無執行權),並進行強制的檔案轉製(圖檔/文字檔)。

2.跨腳本攻擊(XSS)
起因:
 程式中有接受外部輸入的進入點,卻沒有將HTML控制字元轉義。
手法:
 儲存型XSS:將惡意JavaScript藉由輸入功能(例如FB、留言板),儲存到系統資料庫中。
 反射型XSS:將惡意JavaScript藉由輸入參數加在電子郵件/網頁的超連結中,誘使受害者點擊。
 DOM型XSS:將惡意JavaScript加在URL中的URI片段中,讓沒有防護JavaScript前端程式(網站本身的程式碼)誤讀並執行惡意功能。
防止:
 一律將外部輸入值進行HTML字元轉義,特別是"&'<>等控制符號。
 使用內容安全原則(CSP)HTTP回應標頭功能,可指定只允許同站台與apis.google.com的JavaScript來源(<script src="..."/>),不允許內聯(inline)的JavaScript,設定方法如下:
 Content-Security-Policy: script-src 'self' https://apis.google.com
 也可以用HTTP <meta>標題來設定,方法如下:
 <meta http-content="Content-Security-Policy" content="script-src" 'self' https://apis.google.com">
 DOM型XSS:在使用URL字串時,都要進行控制字元轉義

3.跨站請求偽造攻擊(CSRF)
起因:
 HTTP的Cookie預設行為,是在任何請求中都會帶回指定URL同一Domain的Cookie值。
手法:
 藉由惡意超連結,讓受害者對未防護的網站執行本人未同意的操作。
防止:
 開發網站程式時要遵守REST原則,HTTP GET只用來讀取資料,不能用來新增、修改和刪除資料。
 啟動網站伺服器或軟體框架裡的防CSRF Cookie功能。
 設定Cookie為SameSite=Strict,確保同Domain的請求才能一併附帶Cookie資料
 Set-Cookie: _xsrf=5978e29d4ef434a1; SameSite=Strict;
 較寬鬆的設定是SameSite=Lax,允許GET請求可以不限定來源Domain,都會附帶Cookie資料(適用於「分享」功能),其它請求一樣限定同Domain。
 Set-Cookie: _xsrf=5978e29d4ef434a1; SameSite=Lax;
 對於敏感操作要求重複登入以驗證身份

4.攻擊身份驗證機制
起因:
 駭客直接以假身份操作網站系統
手法:
 暴力破解或暗網名單
防止:
 使用多因子身份驗證機制(MFA)
 實作安全的登出功能,將session Cookie清除

5.連線狀態劫持
起因:
 利用Cookie來保持連線狀態(session),卻沒有完善保護Cookie。
手法:
 駭客取得使用者的session id或session狀態,藉以偽裝成使用者的身份進行操作。
防止:
 竊取Cookie:將Cookie設定如下。HttpOnly能讓JavaScript無法讀取Cookie,Secure確保只能在HTTPS時傳送Cookie,SameSite=Lax能避免CSRF攻擊。
 Set-Cookie: session_id=278283910977381992837; HttpOnly; Secure; SameSite=Lax
 Session定置:一律不使用「URL改寫」來傳遞session id。
 脆弱Session ID:避免使用流水號式的Session ID設計,並留意Web伺服器在Session ID實作的漏洞公告。

6.規避權限管制
起因:
 系統在權限設計或目錄規劃上有缺失。
手法:
 駭客利用系統的缺失得以執行未經授權的操作或是取得未經授權的檔案。
防止:
 實作嚴謹的以角色為基礎的存取控制,避免任何垂直提權(執行高一級的操作)水平提權(以他人身份執行操作)的攻擊。
 增加稽核軌跡。
 避免使用任何過於直覺的URL路徑與參數設計。例如/reports/<公司名稱>/<月份-年度>,讓駭客能猜測到合法路徑。
 確切設定Web伺服器,不允許顯示目錄內容、不允許利用相對路徑指定父目錄中的檔案。
 不要直接引用檔案,要自行維護一組暗碼代號用以連結到主機上的實體檔案。
 對任何有關指定檔案位置的外部參數,都要進行最嚴格的安全檢查。

7.資訊洩漏
起因:
 因疏失造成系統將機敏資訊呈現給外部使用者。
手法:
 針對系統進行探索式操作,以收集可用來進行後續攻擊的機敏資訊。
防止:
 不使用系統預設的回應標題(像預設的4xx、5xx頁面)。
 使用未帶程式副檔名(.php、jsp、aspx)的簡潔URL。
 Cookie的健值不要用預設值(JESSIONID)。
 不要在正式環境中顯示詳細的錯誤描述。
 壓縮或模糊化JavaScript程式。
 清理前端程式中不必要的註解和程式碼。

8.加解密機制
起因:
 未使用加密通訊協定。
手法:
 竊聽網路封包。
防止:
 一律使用HTTPS。

9.第三方元件
起因:
 使用到不安全的第三方元件。
手法:
 針對已知的元件漏洞攻擊。
防止:
 留意第三方元件安全公告,及時更新。
 保護好第三方服務的系統金鑰。

10.XML攻擊
起因:
 DTD的設計漏洞。
手法:
 藉由內聯的DTD宣告,讓系統主機資源耗盡。
 在DTD宣告外聯以下載惡意檔案。
 利用XML解析失敗時會顯示檔案內容的特性,指定主機上的機敏檔案。
防止:
 關閉DTD內聯功能。
 設定防火牆限制外聯對象。
 盡量不使用XML,非得使用時要再三確保XML解析器的安全設定已就位。

2023年7月20日 星期四

去他的飛機!我「腳踏實地」環遊世界

出國旅遊是有錢又有閒的人們低調奢華的小確幸,但要像「去他的飛機」作者史蒂芬生一樣,不依靠飛機跑地球一圈,我想沒幾個人能辨得到。身為知名的旅遊作家,走過千山萬水算是稀疏平常的例行公事。基於對環遊世界的嚮往和對航空旅行的厭惡感,某天他和伴侶蘿貝卡突發奇想,要來趟「腳踏實地」的旅程,只依靠路運和海運工具達成二萬五千哩的長征。內容可不是十八世紀的法國古典冒險小說,史蒂史生和蘿貝卡用自身的經歷與風趣幽默的口吻,為讀者們呈現二十一世紀真人版的「環遊世界八十天」,如有雷同,純屬事實。

這不是趟坐著豪華遊艇喝著免費自助餐繞地球一圈兒戲般的挑戰,出發前他倆把居所退租、家具清空,抱著破斧沉舟的決心,帶著幾件輕便的衣服和小背包,就從美國東岸費城坐著載客貨輪,一路跨越大西洋到歐洲比利時的安特衛普。做為全球貿易核心元件的海運貨櫃船,由於自動化技術的進步,航運時必要的船員數量逐步減少。船公司腦筋動得快,多出的艙房用來載客,多多少少增加點業外收入。在貨輪旅行社的協助下,作者用九天的時間在貨船上體驗一望無際的汪洋、沒有的網路訊號的「類船員」作息,直到上岸的前兩天還經歷足以令人心智失常的三天濃霧!

安特衛普是舉世聞名的鑽石交易中心,當貨輪扺達比利時後他們就順道到處遊歷。不像搭飛機般瞬移到目的地,「路遊」能讓旅客玩遍路途中的大城小鎮,這是史蒂文生再三強調的旅遊醍醐味。接著坐有著法國高速列車(TGV)車頭的塔利斯線特快列車,一路奔向德國臨近波羅的海的城市羅斯托克。採用路運和船運旅行與直接坐飛機最大的差別是班次密集度,在銜接火車和貨船(渡輪)時,總會留有大量的緩衝時間,短則數小時多則幾天,讓你走走逛逛。他倆就在等出發去芬蘭的渡輪中間,花費十五個小時在這個前東德城市觀光和隨之的漫長等待。

搭上由前東歐集團國家愛沙尼亞渡輸公司的船前往芬蘭,既便是花了一人一百二十五美金,也只換得一個比飛機經濟艙還小的位子,座椅還是放在甲板底下沒開窗的小空間。四十個位子中摻雜著哭鬧的小孩與臭氣沖天的老人,要待足足二十四小時才能達到目的地,藉由鎮定劑和酒精的幫助,史蒂文生才能在這個被他們稱作「絕望房間」裡小憩。同時間在船上的旅遊雜誌看到十年前在波羅的海發生過愛沙尼亞號渡輸船難,造成八百多人喪命,絕對是讓史帝文生在船上酒吧多點幾杯調酒的原因。

踏上芬蘭的赫爾辛基後,又馬不停蹄地乘座雙體快速渡輪扺達愛沙尼亞的塔林市,一切都為了搭上舉世聞名的西伯利亞大鐵路,它橫跨歐洲與亞洲全長六千哩,一路從西方的莫斯科開到太平洋邊的海崴。莫斯科雖然是俄羅斯的首都,但有著不淨公廁與滿地垃圾的市容,舊時俄式官僚作風依然陰魂不散地盤據在此。事不關己與俄國人獨有的冷漠聳肩和皺眉,無時無刻出現在任何俄籍服務生身上。俄國火車票分三種艙等,有私人廂房的頭等艙、有四個鋪位廂房的二等艙,以及五十四個鋪位的三等艙!如果中途完全不下車,車程總共要花六天,史蒂文生倆則是選擇中途停靠幾站,能走走看看不同的城市和小鎮。

從海參威坐俄國渡輪到日本伏山港,搭乘地鐵到東京後,先去國技館觀看日本相撲比賽,隔天利用新幹線子彈列車抵達神戶港,邁向中國天津。現代化、整潔有秩序的日本,是他們一路上待過對旅客最舒適的國家,一切是那麼的,嗯…你知道的,「日本」。史帝史生他們當然可以直接從日本橫濱港出發,搭著前往美西的豪華渡輪,就此結束一趟半調子的環球旅程。但這可不符合官方承認的世界旅行,在定義上要貨真價實的完成這個任務必須達成三件事:
1.出發和歸返點在同一地點。2.以同一個方向跨越每條經線。3.經過兩個穿過直徑的對應點。
由於地球上大部份的面積是海洋,能達成第三項的地點實在有限,因此史帝史生將標準改成至少要走兩萬五千哩(地球圓周長)。所以他們決定先向南走,以陸路走到最接近赤道的地點後再走水路向西行。

高強度建設中的北京城,讓史帝文生大開眼界,但來的不是時候,在「黃金週」時前來中國,而他們居然運氣滿點地在連假期間買到前往越南邊境南寧的夜班火車票!中國式的大通鋪臥鋪車廂,塞滿著攜家帶眷的返鄉旅客,呈現出和日本地鐵截然不同的旅途風情。從越南北起河內南到西貢這段路,他們倆令人嘆為觀止地是報名自行車團,一路騎乘整個越南國境(騎不動有保姆車),再藉助巴士與租車經過柬埔寨到達泰國曼谷。在曼谷火車停駛的情況下,歷經波折才抵達新加坡,馬不停蹄訂到前往澳洲的船票,在最後一分鐘跳上即將出港的遊輪。

從澳洲東北岸的達爾文市一路自駕橫跨整個大陸,朝向西南岸的雪梨前進,光是這段經歷就是令人嘆為觀止的挑戰。而租車公司居然只收取一天一美金的費用!原來租車公司原本得把這台蘴田奇美轎車送到雪梨,如果有遊客自願幫忙把車開到目地的,何樂而不為?別以為這趟路有多麼詩情畫意,一望無際只能看到地平線的空曂道路,沿途不見任何人煙足跡,卻充斥著性好自殺會一頭撞向保險桿的厭世袋鼠,四天旅程下來,真的是恍如隔世。最後從澳洲墨爾本回到美國東岸洛杉機的行程,相形之下就有點乏善可陳。和一群富有高齡退休的白人們,吃著千篇一律的西式自助餐配著喝不盡的各式酒精飲品,初看有如天堂的環境,待久後越來越像陪著他們慢性自殺的臨終旅程,令史帝文生夫婦不寒而慄。

「去他的飛機」全書充滿機智風趣、自然不作用的口吻,分享一段勇氣十足能誇耀一輩子的壯遊。不依賴快速便捷的航空器,一步一腳印地投入體驗各地人文風情,是真正的「旅人」之心,也讓讀者們為之嚮往。就算人生中不見得可以有機會仿照同樣的旅程,只要翻閱這本「去他的飛機」,神遊史帝文生倆過程中的點滴,也別有一番滋味。

 

2023年7月18日 星期二

Spring實戰, 6/e

 

自看過Manning出版社的Spring Start Here後,一方面開始將Spring Boot和Spring MVC技術運用在手上的專案,另方面也對Spring框架除了Web開發以外的功能留下懸念,想找個閒暇時間,好好地研讀一下Spring Start Here的姐妹作Spring in Action。恰好工作上有需要研究反應式/響應式Web框架(Reactive Web Framework),簡單搜尋相關資料後,賓果!Spring生態系中有個Spring Webflux正符合要求,成為研讀Spring實戰, 6/e(簡體版)的契機。

在今日,Spring是Java語言中最重要的軟體框架,沒有之一。也因此Spring in Action成為Java開發者自學的祕笈。隨著Spring框架的不斷演進,特別在Spring 4後推出的Spring Boot,讓框架的設定與開發展現出跨次元般的進步。Spring in Action同步也出到了第六版,而簡體版的Spring實戰, 6/e是譯自第六版的Spring in Action,能確保學到最新、不過時的框架版本。此書也不囉嗦,不贅述像IOC、AOP這類Spring初級觀念,第一部份「Spring基礎」就切入應用範圍最廣的Web網站開發。歷經Spring Start Here的磨練,運用Spring Boot開發以Spring MVC為核心的專案已是小事一件。後續的Spring Data JDBC和JPA、Cassandra、MongoDB數據持久化,也只算是回顧Spring Data的總複習。

第二部份「Spring集成」中出現全書第一個亂流,第八章的Spring Security。書中採用的OAuth 2.0實作套件,是尚在測試的不穩定版本,即便直接從GitHub取回範例程式碼執行,依舊會出現令人氣餒的驗證失敗結果。最後求助Baeldung網站裡的教學文章,才在升級OAuth 2.0套件後,跨越第一個難關。其它像是發送異步訊息Spring集成兩個章節,對於已經採用Apache Camel實作EAI應用的我來說,真的不禁莞爾一笑。這兩種Spring應用,簡直就是對Camel致敬(仿冒)的精簡版。因此雖然看到Spring有Spring集成的功能,未來面對企業資料整合的需求時,還是會採用已熟練且更完整的Camel框架來實作。

重點戲的第三部份「反應式Spring」是全書的精華所在,在Node.js橫空出世的向世界展現反應式Web框架的威力後,Spring也不落人後地推出Java世界裡的反應式Web框架Spring WebFlux。建基於反應式編程專案Project Reactor之上的WebFlux,由於其獨特的開發思維與撰寫風格,難以融入即有的指令式風格框架Spring MVC中。結果就是採用Spring開發Web應用時,有兩種完全平行又異曲同工的解決方案。Spring實戰, 6/e雖然用了兩個章節來介紹WebFlux如何實作出一個具體可用的Web,但反應式編程這個主題實在太新,更別說想要好好講述開發Web的方方面面,Spring Start Here可是用一整本書才講完Spring MVC。想要作者用短短兩個章節講述完整的反應式Web框架和反應式版本的JDBC(R2DBC),實在是強人所難。因此反應式Spring正是我第二個遇到的亂流,只好再度從網路上查閱其它先進分享的技術文章,學習如何使用WebFlux開發出一個完整的反應式Web REST API。只能說在WebFlux這個主題上Spring實戰, 6/e幫我開啟一個好的起頭,但要走的下去,得從其它輔助材料著手才更順利。

最後的「部署Spring」部份,則是介紹一些實務上選用的功能,像是監控與管理用的Spring Boot Actuator,是一個等同MBean的機制。當然Spring也少不了支援傳統的MBean,讓已經採用該工具的開發者不用浪費時間再實作Actuator。Spring專案程式碼的佈署與和Docker/Kubernetes的整合,更展現出Spring實戰, 6/e在主題規劃的全面性,畢竟未來的程式運行環境,有誰能逃得過被容器化哩?附錄介紹了如何使用各項工具建立一個新的Spring Boot專案,是對初學者非常貼心的作法,很多技術書籍都忘了環境建置這一步,往往是讓學習者最挫折進而選擇放棄的起因。對於Java開發者來說Spring實戰, 6/e是不可錯過的著作,不過最好是在讀過Spring Start Here再詳閱,免得略過一些基礎但重要的Spring觀念。

2023年7月4日 星期二

破梯效應

 

「人比人氣死人」,世間很多不快樂都是源自於互相攀比後的心魔。而「破梯效應」一書用科學與統計數字,破解「不平等」對心理、團體與社會層面造成的衝擊。總歸一句,如論語所言「不患寡而患不均」。全球化興起的經濟地位不公平趨勢,終究會埋下社會動亂不安的地雷(看看目前的法國暴動)。導言中作者講述一個有趣的統計結果,數字顯示在設有頭等艙的航班上,乘客行為失控的機率為正常值的四倍!即便是坐得起飛機旅遊稱得上中產階級的知識份子,只要些微感受到處於「被輕視」的情境,就會產生相對地位差異感。讓這群不窮的人,展現出和貧民一般的舉止和態度。像是短視近利、偏好冒險行為。

人們衡量自我地位的認知過程並非基於客觀的數字,許多財務上堪稱富裕的人(年收百萬),在自我評估時總把自己放在較低的位階。相反地有許多客觀上落入貧窮階級的人,卻認為自己過得並不差。原因在於人們用來判斷自己社會地位的標準,是透過不間斷地與他人比較來定義。包括身邊的親朋好友、工作夥伴、送往迎來等等客體的經濟能力,會間接影響你自我地位的評估尺度。「寧為牛後」不失為積極追尋成就的處事策略,然而長期認知自己處於團體中地位低下的階層,容易罹患心理疾病。攀附權貴也許是魚躍龍門最快的捷徑,卻存在著心理健康上的高風險,「富貴險中求」真是至理名言。

如果認為只有擁有高智力的人類才愛比較,那可錯了。針對靈長類的實驗觀察發現,如果同樣的勞力付出會獲得與同伴不同的報酬,也就是刻意營造出來的「不公平」情況,受試動物會產生顯而易見的不開心與反常態度。而針對大鼠所做的研究則發現,大腦在進行「地位比較」時,處於地位優勢者其大腦裡的報償迴路會有放電刺激,效果等同於性愛、金錢或迷幻藥。大腦對「相對地位」的滿足感,竟然可以和獲得真正的金錢一樣強烈(所以只升官不加薪,員工也會從中滿足!),「權力是最好的春藥」獲得科學上的背書。

這些理論也間接解釋為何在今天的台灣,GDP不斷成長,各項建設與福利制度越來越完善,但民眾普遍心存不滿,更有很多長者懷念與嚮往過去過苦日子的「美好時光」(原因是那時是大家一起窮,不易有自己不如人的挫敗感)。經濟層面的幸福感是建立在「相對地位」的比較上,滿意程度不是端看實際所得有多少,而是根據他在群體中的「相對位置」決定(只要比周圍多就會感到開心)。經濟發展漸近高峰的同時,財富逐漸集中在少數人身上,彼此在經濟層面的差距越拉越大,即便原屬於中上收入的小康國民,也會出現財富的「相對剝奪感」,進而開始怨天尤人。社會不平等不僅影響國民的靈性(笑),統計顯示,所得分配越不平等的國家,國民的犯罪與健康問題更惡化,其中最明顯地例子就是美國。財富分配的不公平不只是影響著窮人,而是影響該地居住的所有人口,在同土地上的富人所生活的環境條件(如治安、衛生)會一起被拖累而同步劣化。

「自覺貧窮」對人們造成的傷害是微妙而真實,貧窮感會趨使人從事高風險行為(例如開槓桿投資、冒然創業),以短視近利而非長期經營的思維規劃人生。傷害是如此大,但要讓人產生相對地位不如人的「自覺」卻很簡單,只要透過意在言外的些許暗示就行(例如航班有頭等艙,但你坐經濟艙)。而報章媒體裡的高調炫富、親朋好友的言談比較、街頭路邊的名車重機,卻在已經走火入魔的環境壓力上火上加油,也難怪在台灣,鼓吹「快速至富」的理財老師總能找到冤大頭來割韭菜。

點出問題當然要給予解答,如何善用你我的社會比較天性,讓生活過的更好、更開心,書中也做出總結。在追求自我成長與成就時,要充份運用「向上比較」,說白話就是一句「見賢思齊」,向更優秀的人比較,不要輕於滿足於現狀。而對物質享受與財富地位的態度,則要轉念進行「向下比較」,想想那些三餐不繼貧苦人,時時對平順的日子感恩與滿足。還有兩種比較超然,克服地位比較的思維,一是老生常談的「和自己比」,把比較的目標設定成過去、未來的自己。二是回頭檢視自己最重視的人生價值,並以此為實踐目標,別把心力放在追求身份地位上。「破梯效應」以科學的角度點破市場經濟背後造成的社會壓力與制度隱憂,同時也為尋求人生真正價值的讀者帶來撥雲見日的一道曙光。

2023年6月20日 星期二

「矽谷製造」的漢堡肉?科技食物狂熱的真相與代價

 

近來在連鎖餐廳的菜單上,常可看見植物肉的品項,不禁莞爾想想洋人總算有落後我華人之處。不知十來年前,台灣素食裡已經出現各式素雞、素鴨、素魚,口感風味與外型,雖不中亦不遠矣,而且還很便宜,哪像這些舶來品的植物肉貴森森。不過在讀了「矽谷製造的漢堡肉?」之後,發現植物肉和台灣素肉根本不在同一個維度。食品科學新創正如火如荼地想改變你我飲食的習慣,不論目的是動物福祉、氣候變遷、健康意識或是單純想大發利市。書中談論廣泛的食物科技議題,從內文中讀者能獲取不少食物、營養方面的豆知識。

藻類
一開頭就出現令我訝異的知識,雖然海帶、海菜已經是日常飲食中常出現的食材,而藍綠藻之類的保健食品也能在貨架上瞧見。但想不到的是魚類體內的omega-3脂肪酸居然是來自於海中的藻類,因為大多數的魚類無法代謝掉omega-3才會殘留在體內。為了保健醫生多強調每週至少要吃兩次魚,以攝取足夠的omega-3。然而直接食用特定的藻類則能更高效、經濟地達成此目的。食科新創對藻類的期許是讓它們變成人類的主食!做為蛋白質和脂肪的主要來源,然而目前卡在無法價格和規模上與既有的農牧業競爭。

真菌
相較於其它主題,各種以「菌絲」生成的菇類食材,對於台灣人來說已經是日常飲食不可或缺的成份。只要提供碳水化合物,這單細胞生物變能轉化成人類所需的蛋白質,這種「真菌蛋白」被食科產業認為是未來的明日之星。在許多使用植物蛋白的加工食品中(如能量棒、植物肉),真菌蛋白便是其幕後推手,穩定可靠的產出豌豆和米蛋白混合物。植物肉的成份有豌豆和米蛋白、甲基纖維素、萃取酵母、人工甘味劑、甜菜根粉,本質是超級加工食物。2020年市面上開始出現試驗性的「真菌牛排」(Emergy Foods),有別於其它的「仿肉」技術,以菇類做為代替肉類的想法是最接近原型食物的作法(台灣再度領先世界!吃吃看麻油猴頭菇!)

蜿豆蛋白/豆類
原來現代的加工食品中的蛋白質來源多來自實驗室分離出來的植物蛋白質,主流的植物是蜿豆而非華人熟悉的黃豆(大豆),主因是美國人在傳統上是用黃豆餵食牲畜,在文化、情感層面不能接受。(如同台灣長輩不吃地瓜葉一樣,以前是給豬吃的)市面上各項的素肉製品、植物奶其成份就是來自於這些植物蛋白質,有別於豆腐食材的初級加工,植物肉蛋白可是高度加工而成的工業級食品。在已開發國家,人類飲食中的蛋白質早就過量,沒有人處於蛋白質缺乏的狀態。人們覺得自己需要吃肉補充蛋白質已經是個迷思,推手便是農牧產業的大力推廣。尋找真正健康食物的101法則就是越原型的食物對人類越友善,反之加工程度越高、成份越「純」的食品,喪失越多維生素、維他命等微量元素,加工食品不是代取原型食材的好選擇。就像打果汁會失去纖維一樣,任何形式的加工過程都會流失一些尚未命名但對人體有益的營養素,所以想吃素又得補充蛋白質時,吃三色豆肯定比吃蜿豆蛋白植物肉要來得聰明!(還比較便宜)

牛奶和雞蛋
對於極端的動物保護鬥士來說,人類為了口腹之慾大規模的囚禁、控制各種牲畜,以取得雞蛋與牛奶等蛋白質來源,是人類不夠文明的表現。這也是部份食科新創的終極目標,找到「不需要牛的牛奶」和「不需要雞的雞蛋」。利用微生物發酵製作乳蛋白質已經是成熟的技術,但不論在風味以及成本上,都不足以挑戰蓄牧業成熟、完善的供應鏈和人類長久習慣的消費市場。而生物發酵技術中大量基因改造,也是人造乳業進展令人裹足不前的潛因,畢竟基改食品對人類的長期影響,沒人說的準。全世界每年要吃掉一兆顆的雞蛋,如果能更經濟的「創造」出此食材,那會是多大的商機!這也是生物合成產業挑選雞蛋蛋白做為挑戰項目的理由。採用和人造牛奶相同的技術,提供酵母菌糖和水以產生出類似雞蛋成份的蛋白質。和人造牛奶隱憂一樣,這些工廠製造出來的牛奶和雞蛋,長期食用後真的沒有潛在的風險嗎?(想想棕櫚油)

剩食再造
人類再利用食品加工的「廚餘」的歷史可追溯到十九世紀,從用牛肉脂肪提練出「瑪琪琳」到把釀酒剩餘酒醩餵食日本和牛、乳製品加工後的乳清也是優質的蛋白質來源。有別於基於惜食觀念所興起的剩食餐廳與福利品促銷,食科產業對剩食再造是更進一步地要把食品廢棄物「可食用化」。不論是果皮、果渣又或是釀酒後的麥渣、雞蛋蛋殼,裡面都含有大量對人體有益的營養成份,只是他們的原型無法讓人體消化吸收。把它們加工成各式零食、能量棒,基至是「類麵粉」,都是目前常見的創新食品。將廢料製成食品最大的兩項疑慮是,經過加工後的剩餘物還有多少營養價值?其次,為了更好吃,加工的過程所添加的香料和糖、脂肪對健康的影響有多大?都是將剩食製品做為主食前要三思的事。

植物漢堡
目前市面上最知名的植物漢堡品牌是「不可能食品」,藉由加入植物生產的「血基質」,這些植物漢堡和真肉一樣會「噴血」。因為有和血液類似的成份,所以在烹調時一樣會出現令人胃口大開的「梅納反應」,讓植物漢堡和真肉漢堡在風味上令人無法區別。另一個知名品牌「超越漢堡」則是採用大豆蛋白製造,加上各種修正風味和口感的添加物。就營養學觀點,食品加工的層次可分為四大類:未加工或輕度加工(種子、水果、雞蛋和牛奶等)、加工食品原料(鹽、糖、橄欖油等)、加工食品(麵包、起司、煙燻肉類等)和超級加工食品(汽水、冰淇淋、漢堡、泡麵等)。超加工食物常見的特性包括超級美味,吸引人的包裝,針對未成年人的侵略性行銷手法,跨國企業擁有其品牌所有權,植物漢堡屬於「超加工食物」。

垂直農場
既然天然蔬果才是對人類有益的食物,那不如將科技運用在這個領域吧。基於生菜沙拉在歐美有著廣大市場,食科新創怎會錯過這個看得見的藍海。在高科技大樓中利用LED和人工營養液培育出的「有機生菜」,早已是高端消費族群日常吃食的一部份。強調無毒、無蟲害,品質穩定不受氣候影響的人造蔬食,看來有百利而無一害,目前的慮疑是相對於舊有的農耕法,高科技作物相當耗能(但卻相當省水)。另一個問題是對比吸取土壤養份長大的植物,水耕法的植物確實缺乏某些微量生物與元素,而大量食用這種人造作物長期對人體的影響尚不可知。另外值得一提的是高科技沙拉浪費的塑膠包裝容器數量相當龐大,這是短期可以改善的項目。

人造肉
有別於植物肉的作法,另一種幾乎是科幻電影的食科技術是將高級肉品的細胞用人工細胞分裂的作法,「製造」出一塊肉排。由於細胞複製的成本過高目前都尚未量產出售,不過這種運用到3D生物列印技術的食品新創,算是目前最吸人注目的項目。在定義上雖然成品算是未加工食材,但生成的過程中包含大量的化學成份、培養液,食用這些成份對人體的影響一樣是未知,淺嘗即止或許是目前最保險的作法。

整本書看下來會對美國食科新創的蓬勃發展感到驚奇,原來「民以食為天」的觀念在積極轉化後,有那麼大的發展潛力,足以成就巨大的商機。不過要撐起這些美好的想像,背後都是扎實的生物科技基礎與工業化製程。這也是作者不斷提起,無論是透過投資或併購,西方「巨食」企業或許最後才是這些食科新創未來的「收割者」。而做為消費者的你我,或許最應該獲取的觀念是,不要迷信巨食企業強推給你吃下的「食品」,特別是超級加工後的東西。

2023年6月3日 星期六

Trino: The Definitive Guide

 

崛起於Hadoop生態系的大數據技術,經過不斷地優化、改進終究邁向成熟期。為了讓更多沒有Map/Reduce程式背景的數據分析師與初階工程師親近巨量數據。Hive開了第一槍,它那相容於SQL語法的程式介面,讓使用者「通透」地操作儲放在HDFS中的檔案資料。動態將使用者輸入的SQL指令轉譯成Map/Reduce程式碼並予以執行傳回結果,是實現這神奇魔法背後的咒語。

然而技術演進的巨輪從不停歇,臉書對Hive不適用即時問答的困境(Map/Reduce運算無法達到秒級回應),再開發出Presto(開源後改名為Trino)來改善。得利於高速網路的普及,Trino的架構擺脫Hadoop平台儲存/運算同一體的思維,實踐目前雲端主流的儲存與計算分離設計。Trino會讀取Hive的Schema元數據(Metadata)來進行SQL語法解析,跳過Hive引擎直接向HDFS索取檔案資料,並進行後續的SQL計算產生結果傳回給使用者。純記憶體設計加上平行可擴充的分散式節點,讓Trino成為類似GCP的BigQuery般強大。因為是開源解決方案,而沒有BigQuery依算量計價的費用疑慮。

在應用情境上,除了做為Hive的運算加速器外,受惠於Trino Connector Plugins的模組化設計,它的資料來源不受限於Hive,不論是傳統的RDBMS(PostgreSQL、MySQL)或是noSQL的Redis、ElasticSearch,甚至是雲端平台的檔案系統(AWS S3),在原生的Connector協助下,簡單地調整設定檔內容,魔法棒一閃,全部都可以變成能讓使用者執行SQL指令的資料來源。更令人驚喜地是,這些不同類型的資料源在過程中只扮演提供資料的角色,關聯計算(join)、條件過瀘(where)和彙總計算(group by)都是在Trino上執行,所以跨資料源的關聯計算也就變得理所當然,像美夢成真般,不需要事先建立ETL和資料倉儲,使用者也可以自由連結不同實體來源的資料,來進行深度而複雜的數據探索。

noSQL概念問世後的十幾年,SQL語法不僅沒被消滅,反之由於其易入門且廣泛使用的優勢下,讓更多noSQL得配合SQL提供相容性解法。Trino便是在這大環境下所創作出來的終極解決方案,主打著「SQL on Anywhere」的口號。隨著SQL在數據分析領域的影響力日增,以及Trino這類大數據開源解決方案的成熟與普及,可以想見未來的IT新秀將對Map/Reducer這種非結構化資料處理模型更加陌生,或是以管窺天地認為數據工程/數據分析就是寫出很複雜的SQL。而像Trino這麼強大又開源的產品,將會使得商用的資料倉儲系統相形失色,在市場競爭中逐漸為人淘汱。「Trino: The Definitive Guide」一書,提供讀者最完整可靠的知識,讓所有想導入如同BigQuery一般神奇工具的IT人,有一本快速入門的武功祕籍。

2023年5月25日 星期四

快速上手 Scala:Spark 大數據分析入門

 

在Hadoop撐起大數據生態系的半邊天後,後起之秀Spark針對Map/Reduce的效能瓶頸(必須落地的暫存檔)予以重構,採用純記憶體的計算模型將大數據運算提升到新高度。自此Spark變成了大數據工程師不得不鑽研的顯學,更是莘莘學子學習大數據平台的起點。然而Spark平台並不像Haoop一樣以Java語言為主,它主要著重在Scala和Python,不過要真正發揮Spark的運算能力,還是非得使用Scala這個Spark用的基底語言。

和物件導向的Java截然不同,Scala是函數式導向的程式語言。最大的特色就是「函數是一等公民」,更具體而言,函數本身可以當做變數來自由傳遞,進而實現另一種和物件導向語言完全不同的「封裝」方法。依Scala的函數式設計實做出的map、reduce、foreach功能,都被Spark充分運用成為RDD分散式資料集的核心功能,因此想靈活地開發Spark計算程式,必然得對Scala的基礎下一番功夫。更別說Scala在許多方面,都擁有著獨特而不好類比的語言特性,像是不可變性的變數、Unit和Any類型、代碼堆、Case類等等。有太多太多對Java開發人員而言,丈二金剛摸不著頭腦的術語與觀念。而這些Scala的基本功,都濃縮在這本「快速上手 Scala:Spark 大數據分析入門」書中。

最後值得一提就是,既便你辛辛苦苦地學會並撰寫出一個可以運作的大數據Spark(Scala)程式,最後的魔王關卡才會出現。Scala語言的編譯工具是SBT,設計思維等同Java開發人員熟悉的Maven和Gradle。但畢竟是完全不同的工具,想要簡單地編譯出一個能上線佈署的執行JAR檔,中間試誤(trial and error)的挫折感,一不小心就會讓你想躺平放棄(用PySpark算了!)。別灰心,這本書中在最後一個章節,大方地分享如何迎刃而解地編譯出一個JAR執行檔,開啟你走上Spark大數據工程師的道路。在研讀其它Spark專書之前,如果能先看過這本「快速上手 Scala:Spark 大數據分析入門」,真的可以少花虛功,建立長久受用的基礎知識。

2023年5月20日 星期六

做工的人

 

「有時看的不是一本書,而是一群人的半輩子」。最來常看人文社會類的書,借此瞭解百業百工的人情世況。林立青的「做工的人」大紅大紫,甚至被改編成HBO播映的台製影集,劇本原形是書中一篇較戲劇化的文章「走水路」。多數文章半敘半議,主題圍繞著介紹與描述從事營造工程的基層勞工。如同林立青所言,人事物皆取材自他生活周遭,也讓書中的人物和表達出來的情緒,那麼地真實而讓讀者不捨。

房價年年屢破新高,加上媒體標題黨的操作,「營建(泥水、木作)師傅日薪幾千,找不到工!」,讓社會大眾對這群做工的人產生錯誤的刻板印象。營建相關職務,即便看似高薪,卻脫離不了髒汙、高強度、危險的工作環境,加上有做才有錢的日領計酬,絕對不是在辨公室吹著空調打電腦的白領階級想像般薪資優渥「有為者矣若是」。

由於社會階級的僵固性,從事這類底層工作的勞工多半原生家庭狀況中下,導致教育程度不高,傾向和在地宮廟與地下經濟「交陪」,對警察、執法者有著「一朝被蛇咬」的厭惡。除了眾多「做工的人」的人生百樣外,林立青在書中提到像外籍新娘、檳榔西施、茶室姐姐等社會眼皮底下的女性角色,還有介紹工地調酒、外勞、罰單等工地文化。這本書像是一扇為社會白領開啟的窗,用一種不危險的距離觀察、認識這些非同溫層的辛勤勞動者。藍領與白領也許像油與水般性不相溶,但對每個認真生活對社會做出貢獻的人來說,都值得獲得平等的自由和尊重,簡單一句「職業無貴賤」。

2023年5月2日 星期二

出走吧!!玩食男 首發站:澎湖群島

「出走吧!!玩食男」是本志向遠大的出版作品,它想師法日本精典漫書「鐵路便當之旅」的特色,結合漫畫與旅遊資訊,讓台灣風土人文用輕鬆逗趣的故事情節,引領讀者體驗深度的知性之旅。系列作的第一本主題為「澎湖群島」,挑選的是台灣觀光景點中最閃亮的珍珠,擁有獨一無二地形與海島文化。讀了這本「出走吧!!玩食男」後,我這個從沒去過澎湖的雙北市民,真的動心起念地想來趟澎湖行。

從澎湖本島「菊島」開始,就有著各個值得一訪的不同景點,包括因海浪長年侵蝕的風櫃洞、離馬公市只要二十分鐘車程的山水沙灘。書中也不忘「美景配美食」的台式玩法,用心描繪出在地的特色佳餚,這點也雷同「鐵路便當之旅」以火車便當做引子,讓讀者一飽「書中的美味」。雖然畫功尚未有如日本美食漫畫般爐火純青,也真心誠意地抓到神韻讓餐餚躍然紙上。

騎機車跨越澎湖跨海大橋後,可以到「講美OK標誌」打卡,接著到白沙鄉觀賞「通梁古榕樹」。「歧頭」的「抱墩」補漁文化,讓人感受到先人智慧,能以融合自然生態的做法維持家庭生計。再跨海一次到西嶼鄉看一下大自然的鬼斧神工「大菓葉柱狀玄武岩」,路經有如希臘地中海般「外垵魚村」風光,終點是台灣最古老的燈塔「西嶼漁翁燈塔」。從「南海遊客中心」出發的跳島行程,是澎湖行的重頭戲,「七美嶼」上的世界知名地景「雙心石滬」,「望安嶼」上的「綠蠵龜保育中心」、「曾家古厝」都是必須一遊的景點。望安嶼外的「珊瑚礁海上平台」則是國際級的休憩中心,如果預算充足就能在此盡情遊玩各項水上活動與浮潛課程。

四月到六月的澎湖海上花火節,已經成為許多遊客特地到訪澎湖的原因。發達的漁業經濟也造就澎湖海鮮美食的過人之處,隨便一個花枝丸都讓台灣本島看不到車尾燈,「文康商圈」、「中正路商圈」料好實在的美食絕對不會讓你失望。「第三漁港」裡現撈的新鮮海產讓人眼花撩亂,土魠魚、白帶魚、石咾魚、正鰹、紅魽,數不清的海味都可以讓遊客一次購足,急速冷凍宅配回家。全書閱畢深受感動之時,急著想接著看下一集。然而左尋右查,都找不到系列作的第二集,猜想應當是出師不利沒有賺錢,本書因此也成為此系列的封筆作,可惜可嘆。

 

2023年4月21日 星期五

兩輪江湖的真相:你的美食正在路上,我的人生也在前進,為了更快達成夢想,外送員是我必須繞的路

 

不管是幾乎什麼都點的到,還是國民天團的Panda送。外送服務在全世界都已經站穩腳跟,成為日常生活中街頭景觀的點綴。小粉紅和小綠,是外送員對這兩家平台的暱稱。「兩輪江湖的真相」是本由外送經歷長達三年的「小綠」,分享外送行業秘辛的著作。從基本薪酬計算開始,接著是外送行業特有的術語與流程。昱樹(作者)也說,雖然一張單的報酬有時高達60~70元,但要像新聞報導說的月收六萬以上,其實真的要很拼。加上外送平台的二階段資訊露出設計,接單的外送員是無法第一時間得知訂單的實際地址,必須在接單並取餐完成後才「開獎」。因此想要柿子挑軟的吃,只接距離近的單,是不可能的。

台灣的服務業,最不缺的是各種奇人異事的奧客故事。外送員由於工作性質的獨特性與普及性,遇到的「妖魔鬼怪」當然就更魔高一丈。從傷害值低的外送地址不明確/指定奇特的位置,到已經遊走法律邊緣的衣不蔽體/不想再努力的阿姨。恐佈電梯的靈異現象、大便忘記帶衛生紙、無理取鬧/惡言動粗,外送的江湖就是人生百態的修羅場。當然也有揪甘心的故事,替行動不便的老人送外時,總會有外送員願意付出時間與關心,照顧素不相識的長者。做為外送消費者來說,應該體認外送員提供的是將物品送達的服務,不要無限上網地做不合理的要求。

社會上對外送員普遍有著刻版印象,認為那是份低門檻沒技術的低階職務。但就像昱樹所說,外送本質上就是門服務業,而服務業的價值除了服務品質外還有服務態度這門課題。外送行業的興起,讓許多需要業外收入,和不能朝九晚五的人,找到用勞力換取報酬的方式。雖然外送平台與制度尚未能盡善盡美的滿足所有人,但其充分運用勞動力的思維依舊瑕不掩瑜活絡了自由經濟市場。

2023年4月13日 星期四

徐重仁青春筆記

 

在台灣說到7-ELEVEN,應該是無人不知。其品牌力之大,一般人甚至會把去超商說成去「Seven」。現在的年青人或許不知,把7-ELEVEN這個超商經營模式帶到零售業頂端的幕後推手就是被尊稱為「流通業教父」的徐重仁。「徐重仁青春筆記」有點半自傳的味道,初期講述了他成長、求學的故事,後續則著重在描寫徐重仁在統一企業裡「社內創業」開創7-11的點滴。

想要人前顯貴,必得人後受罪,現在看7-ELEVEN幾乎稱霸超商零售半邊天,很難想像當初它剛成立時,是歷經解散公司合併於統一企業旗下的一個部門(超商事業部),在不被任何人看好的情況下,才交給對流通事業充滿熱情的徐重仁死馬當活馬醫。沒想到他亂世下重典,一出手先砍掉虧損連連的四十五家店,只留下有獲利的店面,如此一來隔年就達成損益兩平,避免整個超商事業被收掉。這也是徐重仁分享的一種「營養劑」的經營手法,對陷入經營困境的企業,最要緊的是「活下來」,提供讓企業維持活力的一帖營養劑,救起來之後再來治療。我們可以在徐重仁時期的統一超商次集團裡的子公司,看到許多這樣相互提供資源協助彼此的例子,這也是大型集團擁有的競爭優勢(口袋夠深)。

徐重仁也在書中分享在經營事業時他所採用的方法學:
第一、必須要多看、多學,也就是所謂的終身學習。
第二、要思考該怎麼做。
第三、給一個清楚的成長目標。
第四、為達成公司成長目標,一定選對人、用對人,不行,就換人。
第五、選對人之後,要授權。
第六、我塑造一個可以讓他們很安心的企業文化。
從上六點來觀察,他的領導風格是知人善用、充分授權。但也不會流於鄉愿,滿足於形式主義而不講究績效。

他發展出「舉重原理」的用人方法,對有期待的下屬給予訂出的目標,如果他夠投入做出的實績更好,表示能不斷再承擔更多的重擔,就會再給他「三合一」甚至「四合一」的目標。而對於無法達成目標的主管,就會調到二軍中,讓位給其它做的出成績的主管。或許就是這種充分授權、究講實績的管理作風,讓統一超商次集團在徐重仁領導下成長、茁壯。當然別忘了背後有統一企業的支持,在「天時、地利、人和」三者俱備的清況下,想複製台灣7-ELEVEN崛起的模式,很難。

2023年4月2日 星期日

空中老爺的日常

受新冠疫情海嘯波及的空勤人員,一夕間從人人稱羡的夢幻工作變成看不見盡頭的無薪假,在這個後疫情時期的曙光中,看著新聞報導日本成田機場入關大塞車,相信航空業重回榮景指日可待。「空中老爺的日常」是一位資深空服員(男),記載勤務過程中的所見所聞,以及因而觸發的體悟。

由第一線空服員的觀點,回看班機上行行色色的旅客。我們可以得出一個舉世通用的公理,即便是離地數千公尺,「奧客」依舊無所不在。不論是自覺尊貴的高卡會員、擅長情緒勒索的準媽媽、酒後鬧事的莽漢,都是讓座艙長疲於應付的隨堂考。然而除了這些不開心的職場抱怨文外,「空中老爺的日常」佔半數篇幅的是另一種風格迥異的小品。

愛、思念、家庭與承諾,做為主題貫穿了全書中後半的內容。是身處離地數千尺的封閉鐵盒中,讓人與人更能坦誠佈公地說出心裡話,又或是筆者做為座艙長以同理心為出發點的服務真能打動乘客的真心。空中老爺筆下的打動人心,令人動容鼻酸的故事是一篇又一篇,而那些都是他親身經歷,也是旅客們用生命書寫的真實人生。受限於人類生命的有限性,我們自然無法逐一參與、體驗世上的百工百業,但藉由閱讀和一本對的書,你我可以對一種類型的工作、職涯甚至是產業有粗淺的瞭解,對彼此互敬互重的同理心,常常就是建基在這種互相理解之上。
 

2023年3月25日 星期六

下世代超前佈署:用Zabbix全面監管巨量伺服器

 

在台灣中小企業為主的職場環境下,程式人員提供「一條龍」式的IT技能服務,是普遍常見的工作樣態。從設計構思、開發實作到後續的營運維護,如果不善用工具減輕自身的負擔,想憑著一腔熱血硬撐到底,結果不是爆肝就是離職單吧。IT系統看似五花八門,追根究底來說不外乎由網路設備、伺服器、中介軟體以及應用程式所組成。藉由監控系統適時地在每一層設定監管項目,營運人員將鉅細靡遺觀察IT服務運作的狀態。開碼的監控系統產品很多,而本書介紹的「Zabbix」是相當強大、易用的選擇。

從「設定主機」的步驟開始,使用者就體會到Zabbix包羅萬象的監控能力,主機(Host)指的是任何有連網的可被監控設備,除了一般的電腦/伺服器外,也包含各式網路設備。監控使用的通訊協定,從網路常見的SNMP(Simple Network Management Protocol)、硬體週邊的IPMI(Intelligent Platform Management Interface),到真正發揮出Zabbix驚人威力的Zabbix Agent/Agent2,選項一應俱全。面對最常見的伺服器硬體監控需求,藉由範本(Template)檔的協助,使用者將可快速地將CPU、記憶體、磁碟、網路卡等重點項目設定完成。尤其是自Zabbix 3.4版開始支援的LLD(Low-Level Discovery),自動搜尋伺服器裡的磁碟、網卡名稱帶入監控項目,讓管理者免於一台台手動調整監控項目裡的參數值,讓我這個一直在用Zabbix 2.x版的老用戶,感到這次升級值回票價。

因為範本檔和LLD兩者結合後的強大威力,一般常見的監控標的都可以既有的範本檔中獲得滿足,就連較新穎的HAProxy、Redis等中間層軟體,也都有可以參照的案例可以依循。書中也特別安排一個專章,介紹包含TCP、Nginx、PHP-FPM、MySQL、IPMI、磁碟陣列卡、路由器、VMware、RabbitMQ、Elasticsearch、Kafka、Redis、Oracle、WebLogic、SQL Server、HTTPS。監控項(Item)的實践Zabbix支援18種方法!加上透過Zabbix Agent的自訂使用者參數(UserParameter)功能,應該沒有任何無法監控的項目,唯一的限制就是使用者的想像力。針對非常客製化的應用服務層(自製系統的營運狀態),一樣是拿出傳家寶刀UserParameter就可以迎刃而解。API層的監控則是利用HTTP方法,如此一來同時擁有簡化設定、減少客製化的優點。雖然Zabbix也擁有對伺服器記錄檔的文字資料收集/監控能力,不過功能非常陽春,因此對於這種需求還是用Splunk或ELK這種專門工具比較理想。

和Cacti使用集中式主機輪詢的被動式監控不同,藉由Zabbix Agent的協助下,Zabbix可以採用主動式監控,來達成監控巨量標的的任務。按書中所言,在配置有適當主機規格的前提下,單一台Zabbix Server即可監控上千台伺服器。更別說如果再加上Zabbix Proxy的分散式監控架構,讓異地機房的監控負擔由Proxy先處理後傳回Zabbix Server整合。Zabbix的監控能力,足以滿足九成以上台灣企業的IT規模。簡單一句話:好東西,不學嗎?

2023年3月20日 星期一

Google、臉書、微軟專家教你的66堂科技趨勢必修課

 

「Meta再宣布進行第二輪裁員人數達到1萬人」是今天科技新聞的頭條,在新冠疫情下過度擴張的美國科技龍頭,包括微軟、谷哥、亞馬遜、蘋果和臉書,在後疫情與通膨的雙面夾擊下,啟動了一波又一波的組織重整計畫。在此同時翻閱這本「Google、臉書、微軟專家教你的66堂科技趨勢必修課」,心中確實五味雜陳。網際網路、手機、雲端和大數據等資訊科技,在各個層面顛覆、重塑原本習以為常的規則,不論是送往迎來的人際關係、柴米油鹽的日常採買,到政府施政的資訊宣導、產業合縱連橫的創新突破,都離不開、逃不掉上述提及的IT技術。

「Google、臉書、微軟專家教你的66堂科技趨勢必修課」是為非IT背景的讀者所編寫的科普讀物,66篇文章分成軟體開發、作業系統、應用程式經濟、網際網路、雲端運算、大數據、駭客入侵與安全性、硬體與機器人、商業動機、新興市場、科技政策和前進中的趨勢等十章。從最基礎的TCP/IP網路運作原理到資安政策的走向,科技議題不論微觀到宏觀,一應俱全的通通解釋給你聽。或許因為本書是由商周集團出版,文句的用字遣詞相當平易近人,適用於任何有心初淺瞭解資通科技的點滴精華。三位作者各自任職於谷哥、蘋果與微軟,讓書中內容的有別於隨處可看的網路科技短文,在嚴謹與可信度上是天差地遠。即便是IT領域的從業人員,也可以從書中擷取到一些不曾聽聞的資訊,或許能成為你思考中的繆斯。

在因為ChatGPT捲起的AI風潮方興未艾之際,這本出版在2020年的IT趨勢作品,當然沒有提及人工智慧的篇章。不過它確切描繪了2000年到2020年間,網路主導全球訊息的大格局下,背後有用到的技術、促成的商機以及對社會、政策後續造成的影響。所有的未來都是立足在過去之上,「Google、臉書、微軟專家教你的66堂科技趨勢必修課」是本總結網路世代初章的佳作。

2023年3月3日 星期五

3小時讀通太陽能電池

 

隨著政府力推以再生能源為發展重點的能源政策之際,光電產業龐大的商機因此在台南延伸出社會版的新聞事件。絕大多數人講到太陽能,腦中印象多半就是一片有如鏡面的太陽能電池,多的,也就什麼都說不出來了。「3小時讀通太陽能電池」正是彌補你我在太陽能發電議題中的知溝(知識鴻溝),從最基本的發電原理一直到宏觀的產業前景,和太陽能發電相關的資訊,都濃縮在這本不到三百頁的書裡。

細心觀察,在今日太陽能面板幾乎無所不在,誰又能想像它背後所依靠的發電原理,是人類科技發展的點滴結晶。電流就是原子核外圍的電子雲中的自由電子在流動,而太陽能發電則是運用電子殼層傾向封閉結構的特性,來操作電子成為自由電子。原子是電中性,接收多餘電子會成為陰離子(電子帶負電),失去電子則成為陽離子,藉由陰陽兩離子的配對,可以人為地創造出流動電子,就是「發電」。光是發電就是得明瞭原子的運作規則,才能設計、實作出穩定可靠的發電機制,太陽能發電也是如此。

熱、光、電都是能源,只要找到適合的做法,依照能量守恆定律,能源的性質將可以相互轉換。也因此,太陽光在照射在太陽能電池時,對電池裡的原子添加光能,讓電子進入激發態(升至上一層的電子殼層),當電子從激發態恢復到基態時,就會釋放出電能。透過人為製造出的n型半導體與p型半導體的相互連結,取得源源不絕的太陽能為人類所用,這個實踐應用了物理、化學累積至今的種種發現,可說是人類科研成果集大成的展現!

為了追求最大的能量轉換率,矽太陽能電池一直是主流技術。然而太陽能電池必須使用高純度的矽,成為了一種資源瓶頸和經濟限制。然而材料科學不斷發展進步的推力下,基於非矽結晶的各種太陽能電池也展露頭角,化合物電池、有機染敏和量子點電池都是未來值得關注的項目。老實說,只要書名上有「OO小時」學會/通讀,那多半是騙人的,要看完這本書絕對會花上超過三小時,但它保證可以讓你對「太陽能」建立起初階的知識,做為你未來在面對能源議題的判斷時一個扎實良好的基礎。

2023年2月18日 星期六

玩真的!Git ? GitHub 實戰手冊 - coding 實境、協同開發、雲端同步,用最具臨場感的開發實例紮實學會!



Git工具在軟體版本管理領域中的地位我想已經不用多言,基本上除非是上古時期的恐龍工程師,絕大多數的碼農都至少熟悉一種版控工具,而Git是其中的佼佼者。它被廣泛地整合到各種IDE(整合開發環境)中,也有數種方便好用的GUI(圖形使用者介面)工具,一但有協同開發的需要,Git對軟體工程師而言是非常友善的選項。

話說回來,也因為工具整合的太好,常見的操作根本用不著親自下指令,所以許多人連基本的Git指令都沒打過。更別說一些合併失敗的異常情況,是需要瞭解Git的設計與觀念才能迅速、正確的排除。如果沒打好基礎,偏偏又在專案Deadline前遇到,那可真的會讓人冷汗直冒。而這本「玩真的!Git ? GitHub 實戰手冊」正是以實例帶領讀者利用最符合職場開發情境的範例,完成一項又一項具體的Git任務,讓你從初學邁到進階的一本佳作。

不論是全域參數檔設定、修改/壓縮commit註解和運用stash暫存區等,這些被一般書籍視為「進階」的Git功能,書中都用簡明扼要的描述並配合直接的例子讓讀者心領神會,對比其它以Git為主題的書,這本的CP值是遙遙領先。最終章更是將使用Git時常困擾開發者的一些疑難雜症條例出來,一一提出具體解法。這本書放在案頭,可以讓你有如服下定心丸般,盡情使用Git來滿足協同開發與版本控制的需求。

2023年2月8日 星期三

煮光陰:我與阿嬤的好時光

 

除了三不五時Follow一下演藝圈八卦,個人算是個娛樂演藝作品的絕緣體,Netflix在熱播「華燈初上」時,我也沒跟著大家一起沉浸在這部佳作的氛圍。即便如此,我依稀知道女星「劉品言」有在華燈初上中飾演一位重要的角色。

「煮光陰:我與阿嬤的好時光」則是她執筆,描述成長過程中和阿嬤互動的點點滴滴。穿插各道阿嬤拿手的台式家常菜,讓讀者一邊瞭解劉品言個人的心情記事,和其與牧師娘阿嬤間的相處和情感,另一邊也可以學到不少易上手而美味的菜色。

如果是粉絲或戲迷,藉由本書可貼近體驗劉品言的孩時家庭生活。如果不是,「煮光陰」本身也能當成一本便利的台菜食譜,照著書按表操課,即便只會燒水煎蛋的廚藝菜鳥,相信也能弄出幾道讓家人讚不絕口的好菜。說個題外話,老台菜,好吃的秘訣就是「鮮味粉/味素」呀(笑)。

2023年2月4日 星期六

和艦長一起 30 天玩轉 GitLab(iT邦幫忙鐵人賽系列書)


開始使用Git做為程式碼版本控制工具已經超過七年,當初依樣畫葫蘆學著同事安裝了GitLab做為內部Git Server。隨著業務重心轉向大數據平台,在日常維運中也不特別關注GitLab服務,沒想到事隔數年,至少有數十個專案在其中蓬勃發展,也足見GitLab的穩定與易用性。眼看GitLab進展一日千里,無論從資安或維運角度來看,升級勢在必行。便著手研讀「和艦長一起 30 天玩轉 GitLab」,全面地瞭解該平台,並以此為起點規劃更便利、完善的程式碼開發、管理流程。

除了最基本的平台安裝步驟外,書中有兩個值得深入學習的重點,一是「GitLab Flow」的分支流程觀念,二是「GitLab CI」這個工具技術,兩者相輔相成。Git是開放、低侷限的多人協作版控工具,也因此在分支的使用上並沒有強制做法。依循「GitLab Flow」的提議,以「Feature」和「Issue」為分支起點,並在開發完成後再合併到「Master」分支。明確地規範分支與合併的時間點,讓開發團隊有所遵循,不用浪費時間拘泥在分支規則的設計上,實在是相當明智的作法。

「GitLab CI」則是GitLab平台實踐「CI/CD」的工具,其功能與成熟度可與「Jenkins」比肩。對於要實作自動化測試/佈署的團隊而言,兩種工具擇一即可,並沒有孰優孰劣的問題。不過在使用上,兩者的思維與pipeline構思會略有不同。Jenkins是偏向Java語言的CI/CD工具,因此對於Maven和Gradle這兩個編譯工具大開方便之門。相對的,GitLab CI是源生於GitLab這套版控工具,因此無需使用者額外執行git指令就可以自由取得程式碼。

對於有能力撰寫pipeline腳本的開發者來說,面對這些微妙的差異,肯定能迎刃而解。話說回來,不論是要用GitLab CI還是Jenkins,最精巧的作法,還是免不了要和Ansible做整合,幸好之前已經看過了「尖端神手Ansible 究極自動化組態管理工具(第二版)」,這部份算是準備周全。

2023年2月2日 星期四

思辨是我們的義務:那些瑞典老師教我的事

 

隨著世界各地氣候異象頻傳,不禁讓人聯想起在2019年獲得諾貝爾和平獎的瑞典「氣候少女」葛莉塔當初鏗鏘有力的呼籲。姑且不論後續其引發的各種爭議,北歐瑞典的教育制度,能培育出擁有批判性思考、主動為公眾權益發聲的青少年,實在讓人欽佩。自網路媒體盛行後,法制規範卻未能與時俱進的調整,形成不實或惡意言論/資訊的溫床。而「批判性思考」或稱「思辨」能力,正是保護自由世界免於分崩離析的最佳解藥,必然也將會成為未來公民必備的智識能力。

「思辨是我們的義務」介紹了瑞典在國民教育課程設計上,針對如何培育學子思辨能力上的一些觀察與經驗分享。從中讀者可以反思,在訓練自身、子女的思辨能力上還欠缺什麼?書中點名所謂的「民主素養」是包括了「自由」與「制衡」,具體表現上一邊是「批判、思辨、論述與發聲」,另一邊則是「負責、自律、同理與尊重」。在台灣大家常說的「民主亂象」,追根究底不外乎是只講求自己的自由的「權利」,不執行自己自律的「義務」。在北歐針對這種人,有個特別的詞彙叫「訴權者」,在台灣,可能舉目皆是。

在語文科中,瑞典教育採非文學與文學類雙軌並行制,一方面訓練學子徹底掌握各種實用文的讀寫能力,把語文能力當做「通往其它知識的基礎工具」。另一方面培養學子欣賞、創造純文學作品,用以陶冶品性與心靈,建立對他人與世界的關懷與同理心。而在建立媒體識讀能力上,特別要熟練四大原則來判識資料的真實性與可靠度,原則有:

1.時間點原則:距離事件時點的遠近?
2.第一手原則:事件轉述次數?
3.可信度原則:發表人、機構的專業度和知識能力?
4.傾向原則:發表的目的和價值?

未來對於各種網路訊息的取捨,善用上述四點即可粗略辨識真偽。

在歷史科中,有別台灣著重歷史事件、人物的背頌式教學,瑞典將重心放在非特定人事物的唯物史觀。藉由教導勞工運動史,描繪出國家(公權力)、資本家與勞工三個勢力彼此的消長,進而體悟在民主制度下,在「衝突」與「妥協」中求取平衡的重要性。國共內戰後退居台灣一隅施行戒嚴,加上白色恐佈時期的陰霾尚未散去,執政者當然不希望出現民眾集結抗爭,站在資本家與統治階級對立面的勞工運動。長久下來,勞運抗爭始終不是社會普遍接受的主流價值。也因此相較歐美各國有左派、右派政黨可供人民選擇,台灣政黨則都是右派政黨,不同政黨間只有國家認同的差異。

2023年1月31日 星期二

游牧人生

 

說到旅行車,相信有不少人和我一樣,腦海中浮現地是有著獨立衛浴、雙人床與影視娛樂設備,活脫脫是個四輪行動小套房般的神奇交通工具。開著它,不用餐風露宿也能走南闖北遊歷,在台灣這種載具,已吸引不少高資產退休人士。然而在其主流發源地「美國」,住在旅行車裡,描述地可能是一種截然不同的退休生活。

「游牧人生」由美國報導記者「潔西卡.布魯德」撰寫,她以數年心力參與、融入一個不為人所熟悉的美式族群「車居族」。特別強調「美式」是因為,源自於西部拓荒時期的篷車文化,加上地廣人稀的美洲大陸,才足以形成書中所描繪的「游牧人生」。若換個場景移到地狹人稠的台灣,這些命運多舛的年長者,大概只能落到夜宿街頭的處境了。

這本書主題在講「破碎的美國夢」,曾是社會中產階段的他們,各自遭受到不同的人生難題,一個不留神後落入經濟困境。不論是主動還是被動,他們被迫在「食物」和「房子」的二選一中做出決定,走向一種以車為家的新生活。基於形式或是自尊,車居族自稱是「無屋可歸(Houseless)」有別於路邊遊民的「無家可歸(Homeless)」,但隨著潔西卡探訪的進程,讀者也可以感受到美國政府與社會大眾正在逐步限縮車居族的生存空間。

強調贏家全拿、競爭意識的美國,始於缺乏足夠的社會安全網。對貧者與失敗者而言,除了要面對經濟上的壓力外,更要承擔負面的異樣眼光(一定是不夠努力才會窮、不夠聰明才會失敗)。諷刺地是,即便位於社會經濟結構的底層,美國的資本市場依舊能從這群人中竭澤而漁,充分運用他們的勞動力,美國,哈利路亞!