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日 星期四

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


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

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

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