如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2025年6月22日

商業軟體介面設計有多重要? 花旗銀行錯匯9億美元的教訓

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2025-6-22

2020年8月花旗銀行發生一起嚴重轉帳失誤, 3 人把關,仍錯匯 9 億美元! "花旗最終將此事件歸咎於「人為失誤」,甲骨文發言人則出面表示,有許多金融機構每天利用Flexcube 進行上兆美元的交易,言下之意,此次意外並非軟體疏失。但深究此事件,從Flexcube 的介面設計來看,恐怕也難辭其咎。"文中Flexcube 匯款作業介面截圖畫面,誰看了都覺得太過簡略,欄位標示文字不清楚,
缺乏明確的指示與送出後的檢核機制,才會容易造成錯誤。
UI改善重點 :
1 每個輸入框前要有清晰的說明,使用更人性化的語言及術語。
2 表單送出前以簡潔的文字描述即將發生的事,與再確認詢問。
3 表單送出後增加檢核與防措機制。
資料來源 : https://www.managertoday.com.tw/articles/view/62718?

2025年5月17日

網文"彼得原理"感想

作者: Fred F.M. Wang (FW知識瑣記) 日期:2025-5-17 (原草稿日期2012年)
 

網文"彼得原理"(下方)感想 : 制度這件事我還滿有感觸的。

服務過十多年的公司,就是看著它制度越來越僵化,慢慢變成跑不動的大象,好人才也不斷流失。懷念早年前負責一些大型企業系統的導入,與夥伴們一起度過多少趕工加班的日子,為了讓系統順利上線運轉,也不計較加多小時的班,補多少小時的假的時光。
 
雖然,公司必需因應政府法規與內部稽核與管理的需要建立一些制度,但是我相信好的士氣才是留住與吸引人才,讓企業充滿戰鬥力與活力最主要的因素。如何建立較有彈性的制度並兼顧員工生產力與士氣,經營團隊與主管們的重要課題。


下面是網路文章"彼得原理"

銀行中有一個怪制度,就是服務好的行員就會升遷做主管到後面蓋圖章,而服務不好的行員,因為升不了官,繼續留在第一線服務客戶。結果,在第一線服務客戶的,要嘛就是沒經驗的新手,不然就是表現不好的老員工,凡是第一線表現良好的員工,就被調成第二線的主管,從此不再面對客戶。

軟體公司好像也是如此,舉凡程式寫得好的程式設計師,就會升任為經理,而程式寫不好的員工,因為無法升遷,留在基層繼續寫程式。結果,留在基層寫程式的,要嘛就是新手,不然就是程式寫不好的程式設計師。凡是表現良好的程式設計師,就被調任成主管。從此不再寫程式。

如果這個現象再發展下去,就是做得傑出的經理,將會升官成副總,不再繼續做經理。而繼續做經理的,多半是做不好現職而無法升遷的人。這樣下去,一個穩定的組織,每個位置都是升不上去,或是不適任現職的人。

這個現象早在勞倫斯彼得(Laurence J. Peter)於1969年出版的「彼得原理」一書就發現了,也就是人們會因為自己的能力特質限制,升遷到一個無法勝任的位置就停住了,導致穩定組織中到處充滿不適任的人。

彼得原理告訴我們,企業不應該以升遷做為獎勵的方式,於是,好的銀行行員可以繼續做行員,但是待遇需要比照經理。好的程式設計師可以繼續留在基層寫程式,待遇甚至可以比照副總。如此一來,彼得原理的現象就可以稍微解除。

過,當經理人所在的組織仍以升遷做為獎勵途徑的話,就要注意每次的升遷,都代表著自己能力與特質的改變。通常基層員工之所以優秀是因為他注意瑣碎事務的邏輯關係,但高階主管之所以成功是因為他強調直覺的人際關係。如果升遷後自己的特質沒有改變,自己可能就是下一個彼得原理的產物。或許,對一個升遷的經理人,要記住:「換了位置,一定要換腦袋」。

在組織中,不同階層的人應該有著不同的腦袋。聽說有一位貴婦到一家精品店買東西,買回去覺得不 適合,第二天來退貨,不料基層店員說,我們公司的政策是貨既售出、概不退還,是不接受退貨的。這位貴婦搞不過這位店員,就大聲嚷嚷說要你們老闆出來。這位 老闆在後台聽見了,一見這位貴婦是大戶,急忙出來,並馬上就改口說,退,當然退,誰說不可退貨的。這位店員還很生氣的跟老闆說,你怎麼這麼搞不清楚,你不 是才告訴我們不接受退貨的。誰才是搞不清楚的人?

基層員工的腦袋通常是「搞不清楚的清清楚楚」,搞不清楚的是不知老闆的想法,清清楚楚的 是做事的細節。員工沒有錯,只是搞不清楚為什麼要那麼做。公司有標準作業程式,但那是應付公司的標準狀況,眼看的就要得罪一位公司重要的客戶,這不是標準 狀況,當然不適用標準作業程式。「搞不清楚的清清楚楚」的人最愛說按規定要如何。基層經理人應該按制度來做事,只是他們搞不清楚,組織不是為制度而存在, 應該是制度是為企業組織而存在

當你升遷成中階主管時,你的腦袋就要變成「搞得清楚的清清楚楚」。你要先搞清楚老闆的想法,再去清清楚楚的做事。如果你凡事按制度來,你就是彼得原理的產物。

中階主管知道,制度不是目的,制度是幫助企業完成使命的工具,當老闆的意見與制度不一致時,通常改的是制度,而不是老闆的想法。聽起來很狗腿,企業中不正是有能力又狗腿的人升官嗎?

當你有機會成為高階主管,你就要學習「清清楚楚的搞不清楚」。清清楚楚的是企業的方向,搞不清楚的是對人對事的細節。高階主管面對的情境常常不是標準狀況, 搞不清楚是給自己留彈性,但是心裡卻是清清楚楚的在盤算。他們知道「難得糊塗」的重要,得饒人處且饒人,和氣不就生財了嘛。

管理學院就在 訓練這三種人,大學生沒有老闆,若不用功讀書,就會成為搞不清楚的搞不清楚。研究生漸漸知道你的指導教授就是老闆,開始學習取悅老闆,所以畢業後有機會當 中階主管,是清清楚楚的清清楚楚。而EMBA的學生呢?自己可能就是老闆,所以學校對EMBA課程的設計可是清清楚楚,對期末的考試呢? 就難得糊塗吧。

本部落格觀看人次破80萬人次

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2025-5-17 

本部落格觀看人次破80萬人次,在此留做紀錄。





2025年5月4日

各程式語言程式設計風格與慣例(Coding Styles, Coding Conventions)

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2025-5-4

學習一種程式語言,除了學習基本的語法與可用的程式庫外,參考程式語言官方或大企業/組織釋出的程式設計風格與慣例,建議建立良好的程式設計習慣,以開發出品質佳,可讀性高,好維護與高效率的系統。下面蒐集各程式語言一些不錯的程式設計風格與慣例網址,提供大家參考。


HTML/CSS - Google HTML/CSS Style Guide

HTML - HTML Style Guide (jQurty Foundation)

CSS - CSS Style Guilde (jQurty Foundation)

JavaScript - JavaScript Style Guide(jQurty Foundation)
JavaScript - Google JavaScript Style Guide
JavaScript 编码规范 

PHP - PER Coding Style 2.0
PHP - PSR Coding Standards

Visual Basic Coding Conventions (Microsoft)

Assembly Language Coding Guidelines

AutoIT - Best coding practices

C# - Common C# code conventions (Microsoft)
C# - 常用的 C# 程式碼慣例(Microsoft)
C# at Google Style Guide(Google)

C Coding Standard (Carnegie Mellon University)
C Coding Style - GNOME Developer Documentation

C++ - Google C++ Style Guide(Google)

Objective-C - Google Objective-C Style Guide(Google)

Fortran Style Guide

Go language- Google Go Style Guide
Go - Effective Go

Java - Google Java Style Guide
Java Code Conventions (1997, Sun Microsystems)

Perl - perlstyle - Perl style guide

Python - PEP 8 – Style Guide for Python Code
Python - Google Python Style Guide

R language - Google’s R Style Guide

Ruby Style Guide

SAP ABAP - ClearABAP Style Guide

Scala Style Guide
Scala - Databricks Scala Style Guide

SQL Style Guide (Mozilla)

Swift - Google Swift Style Guide













2024年11月14日

宗教篇 : 感應"觀世音菩薩"的經驗

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2024-11-14

談談我感應到"觀世音菩薩"的經驗

我剛確診肝癌是開刀前兩三個月大約是八年前也就是2016年5或6月,當時持續背誦的是藥師經與藥師咒,而普門品是開刀後才開始背誦的。

在當年八月初開刀後的晚上,我夢到了觀世音菩薩。夢裡走在黑暗中,周遭持續出現各種兇惡的形象不知是神是鬼或是阿修羅,形相兇惡令我心生畏懼。於是當下就開始念"南無大悲觀世音菩薩",不知多久,虛空中就出現著白衣持淨瓶的觀世音菩薩,周遭神鬼立刻消失無蹤,內心恐懼隨即消失。

這個夢境相當深刻難忘。開刀過程與術後恢復順利,不再復發,除了主治醫師醫術高明之外,相信也是得力於觀世音菩薩威神之力的加被。

有過這段夢境,後來讀誦普門品時,"若三千大千國土,滿中夜叉、羅剎,欲來惱人,聞其稱觀世音菩薩名者,是諸惡鬼、尚不能以惡眼視之,況復加害。" 這段特別有感覺。

歡迎分享給有緣人。


2024年11月10日

宗教篇 : 受持藥師琉璃光如來名號的種種好處

作者: Fred Wang (原發布於FM Wang行思瑣記) 原作日期:2020/3/14
 
COVID-19疫情之初, 筆者整理本篇文章於"FM Wang行思瑣記",願"藥師琉璃光如來"威神力加被,讓疫情消除,眾生平安。歡迎轉傳。
 
梭巴仁波切:越末法加持力越大、威力越大的佛就是藥師佛(參考)

"文殊菩薩在二千多年前,為了末法時期的苦難眾生之利益而向世尊本師釋迦牟尼如來求請,佛陀就開示了藥師佛的法門,並言明於末法期間,眾生若能依止藥師佛,便能智根具足,最終證得佛法之心髓,同時亦能得到世間之種種利益。" (參考)

藥師經經文 : "『世尊!惟願演說如是相類諸佛名號,及本大願,殊勝功德。令諸聞者,業障消除,為欲利樂像法轉時諸有情故。』, "像法轉時"就是像法時期後的末法時期

末世來臨,五濁熾盛,新型的疾病陸續出現,病症也不斷改變,醫生很難認知新的疾病,也不知道如何治療。...因為眾生的心越趨墮落,食物和藥物的力量減退,基於藥師如來的願力,在末法濁世,反而更有加持威力。 

特別是瘟疫來時,大家應多念"藥師琉璃光如來"名號。 

受持藥師琉璃光如來名號有下列種種好處 :
一  受諸佛護念
得聞藥師琉璃光如來應正等覺。所有名號。聞已誦持。晨嚼齒木。澡漱清淨。...如是便蒙諸佛護念。所求願滿。乃至菩提。

二  不遭橫禍災難
若此經寶流行之處。有能受持。以彼世尊藥師琉璃光如來本願功德。及聞名號當知是處。無復橫死。亦復不為諸惡鬼神。奪其精氣。設已奪者。還得如故。身心安樂。

三  不墮惡趣
佛告阿難。是諸有情。若聞世尊藥師琉璃光如來名號。至心受持。不生疑惑墮惡趣者。無有是處。

受十二藥叉大將與各所屬七千藥叉護衛
若有流布此經。或復受持藥師琉璃光如來名號。恭敬供養者。我等眷屬衛護是人。皆使解脫一切苦難。諸有願求悉令滿足。

五  持藥師法門者
若有無量無邊有情。於我法中。修行梵行。一切皆令得不缺戒。具三聚戒設有毀犯。聞我名已還得清淨。不墮惡趣。 (藥師如來第五大願)
 
六  受戒而毀犯者
...五戒 十戒菩薩四百戒苾芻二百五十戒苾芻尼五百戒。於所受中。或有毀犯。怖墮惡趣。若能專念彼佛名號恭敬供養者。必定不受三惡趣生。

七 欲往生西方極樂世界者
若有四眾。苾芻。苾芻尼。鄔波索迦。鄔波斯迦。及餘淨信。善男子善女人等。有能受持八分齋戒。或經一年。或復三月。受持學處。以此善根。願生西方極樂世界無量壽佛所。聽聞正法。而未定者。若聞世尊藥師琉璃光如來名號。臨命終時。有八大菩薩。其名曰。文殊師利菩薩。觀世音菩薩。得大勢菩薩。無盡意菩薩寶檀華菩薩。藥王菩薩。藥上菩薩。彌勒菩薩。是八大菩薩。乘空而來。示其道路。...』

八  身心障礙者
若諸有情。其身下劣。諸根不具。醜陋頑愚。盲聾瘖瘂。攣躄背僂。白癩癲狂。種種病苦。聞我名已一切皆得。端正黠慧。諸根完具。無諸疾苦。(藥師如來第六大願)

九  疾病所擾,貧苦無依者
若諸有情。眾病逼切。無救無歸。無醫無藥。無親無家。貧窮多苦。我之名號。一經其耳眾病悉除。身心安樂。家屬資具。悉皆豐足。乃至證得無上菩提。(藥師如來第七大願)
若諸有情。飢渴所惱。為求食故。造諸惡業。得聞我名。專念受持。我當先以上妙飲食。飽足其身。後以法味。畢竟安樂而建立之。(藥師如來第十一大願)
若諸有情。貧無衣服。蚊蝱寒熱。晝夜逼惱。若聞我名。專念受持。如其所好。即得種種上妙衣服。亦得一切寶莊嚴具。華鬘塗香。鼓樂眾伎。隨心所翫。皆令滿足。(藥師如來第十二大願)

十  受女身之苦,願捨女身者
若有女人。為女百惡之所逼惱。極生厭離。願捨女身。聞我名已。一切皆得。轉女成男。具丈夫相。乃至證得無上菩提。(藥師如來第八大願)
若是女人。得聞世尊藥師琉璃光如來名號。至心受持。於後不復更受女身。

十一  臨生產時受於極苦者
或有女人。臨當產時。受於極苦。若能至心。稱名禮讚。恭敬供養。彼如來者。眾苦皆除。所生之子。身分具足。形色端正。見者歡喜。利根聰明。安隱少病。無有非人。奪其精氣。

十二  受牢獄之災者
若諸有情。王法所加。縛錄鞭撻。繫閉牢獄。或當刑戮。及餘無量災難陵辱。悲愁煎逼。身心受苦。若聞我名。以我福德威神力故。皆得解脫一切憂苦。(藥師如來第十大願)

十三 貪吝不知布施者
有諸眾生。不識善惡。唯懷貪吝。不知布施。及施果報。愚癡無智。闕於信根。多聚財寶。勤加守護。見乞者來。其心不喜。設不獲已。而行施時。如割身肉。深生痛惜。復有無量慳貪有情。積集資財。於其自身。尚不受用。何況能與父母妻子。奴婢作使。及來乞者。彼諸有情。從此命終。生餓鬼界。或傍生趣。由昔人間。曾得暫聞藥師琉璃光如來名故。今在惡趣。暫得憶念彼如來名。即於念時。從彼處沒。還生人中。得宿命念。畏惡趣苦。不樂欲樂。好行惠施。讚歎施者。一切所有。悉無貪惜。漸次尚能以頭目手足。血肉身分。施來求者。況餘財物。
若諸有情。慳貪嫉妬。自讚毀他。當墮三惡趣中。無量千歲。受諸劇苦。受劇苦已。從彼命終來生人間。作牛馬駝驢。恒被鞭撻。飢渴逼惱。又常負重。隨路而行。或得為人。生居下賤。作人奴婢。受他驅役。恒不自在。若昔人中。曾聞世尊藥師琉璃光如來名號。由此善因。今復憶念。至心歸依。以佛神力。眾苦解脫。諸根聰利。智慧多聞。恒求勝法。常遇善友。永斷魔羂。破無明殼。竭煩惱河。解脫一切生老病死。憂愁苦惱。

十四 邪知邪見,嫌謗正法者
...自是非他。嫌謗正法。為魔伴黨。如是愚人。自行邪見。復令無量俱胝有情。墮大險坑。此諸有情。應於地獄。傍生鬼趣。流轉無窮。得聞此藥師琉璃光如來名號。便捨惡行。修諸善法。不墮惡趣。設有不能捨諸惡行。修行善法。墮惡趣者。以彼如來本願威力。令其現前暫聞名號。從彼命終。還生人趣。得正見精進。善調意樂。便能捨家。趣於非家。如來法中。受持學處。無有毀犯。正見多聞。解甚深義。離增上慢。不謗正法。不為魔伴。漸次修行。諸菩薩行。速得圓滿。

十五  造作身語意種種惡業者
若諸有情。好憙乖離。更相鬬訟。惱亂自他。以身語意。造作增長。種種惡業。展轉常為不饒益事。互相謀害。告召山林樹塚等神。殺諸眾生。取其血肉。祭祀藥叉羅剎婆等。書怨人名。作其形像。以惡呪術而呪咀之。厭媚蠱道。呪起屍鬼。令斷彼命。及壞其身。是諸有情。若得聞此藥師琉璃光如來名號彼諸惡事。悉不能害。一切展轉。皆起慈心。利益安樂。無損惱意。及嫌恨心。各各歡悅。於自所受生於喜足。不相侵陵。互為饒益。
 

2024年11月7日

政治話題 : 川普是黑天鵝還是灰犀牛?

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2024-11-6

今年很早就有許多專家提出川普黑天鵝效應的預測, 我覺得用黑天鵝這個詞怪怪的。今天查了一下 : 

黑天鵝是「發生機率極低、且難以預料,卻仍然發生的事件」,如新冠肺炎,911恐攻。灰犀牛則是「顯而易見且高機率發生,卻被視而不見的既存威脅,最終將帶來重大後果及影響」。如台海危機, 地球暖化。

川普政見一直講得很清楚, "提高進口關稅,台灣要保護費"等,而且當選機率不低,所以是"顯而易見且高機率發生"的事件,講"灰犀牛"比較洽當。  

2024年10月31日

美國大選話題 - 為什麼美國越來越多人討厭民主黨

作者: Fred F.M. Wang (FW知識瑣記) 撰寫日期:2024-10-31

對於美國大選我沒有特定的政黨取向,只是好奇為什麼那麼多人支持川普,看了一些美國國會聽證會(如後面連結),就知道原因了,知道為什麼美國越來越多人討厭民主黨。
 

民主黨執政的州制定了許多不合理的環保,性別平等與種族平等法規,特別是加州,加州許多民眾已經受不了,開始有企業與個人搬離加州到鄰近的內華達州等,許多原本民主黨支持者寧願投"川普"或不投票也不投民主黨"。

下面是美國國會聽證會中的一些案例 :
"無腦的環保主義者" : 為了減碳火車要全面電動化(加州),不計代價全面禁止塑膠, 砍樹來造風電場。
"激進的性別平等" : 宣稱自己是女性就可以進入女性淋浴間(加州),宣稱自己是女性就可以進入女性監獄,孩子性別取向父母無權知道, "母親"兩字是性別歧視。
"激進的種族平等" : 投票看身分證就是種族歧視(加州),電影電視影集中主要角色一定要有黑人與黃種人否則就是種族歧視,因此許多編劇只好變更原作的角色設定。

任何政策的推動都應該保持理性與科學,考慮會付出的代價,評估成本效益與可行性,如何在有限的資源下得到最好的結果,同時須進行風險評估,過於無腦與激進可能帶來更大的傷害,製造更多的問題。


參考影片 : https://www.youtube.com/@KYLENGLISH/videos

2024年6月15日

網文"在台積電工作多年,他發現最容易升主管的5特質"感想

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2024-6-15

 原文: https://www.businessweekly.com.tw/careers/blog/3015847

這個作者只寫好的部分, 其實台積電很大, 部門很多, 差異也很大, 遇到好主管, 賞識你的, 工作就比較順利。

我從認識的人中聽到過許多糟糕的主管與內鬥很兇的真實案例, PTT論壇也有許多人在講一些負面的經歷, 其實看到的都只是自己遇到的部門, 相當片面。

大致上, 為何會有上面這些問題, 因為該公司有嚴格的淘汰制, 因此同儕有競爭的關係, 造成很多單位老手不願意好好帶新手, 同事間不會互相幫助, 關係也較不和諧。

文中提到努力提升專業與敬業的態度不管到哪裡都一樣重視,至於人際關係, 比較屬於化學效應, 我認為秉持與人為善, 不結惡緣就好。

詐騙防制 : 下載間諜APP被入侵網銀,遭轉走存款的案例

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2024-6-15

這是一個下載間諜APP被入侵網銀,遭轉走存款的案例 (https://youtu.be/CKFBffxLVGE?si=wBv2uxlH_TXTJ-Xs)

過程是被害者點擊詐騙犯刊登的臉書廣告, 進入詐騙犯設立的商品網站, 再依指示下載含間諜APP, 然後就被駭。
下面是我的結論 :
1) 臉書平台上有相當多的假冒與詐騙的廣告,不會主動過濾,往往檢舉都沒用或者是下架的速度緩慢。所以上面任何廣告都不可輕信。

2) 透過line, 簡訊, 社交平台, 與廣告連結進入的網站都可能是有問題的, 偽造的, 上面自來水公司的網站也是這樣。 

3) 手機上如果有安裝銀行app, 轉帳付款的app, 都要特別注意有被駭客入侵的風險。我的line pay曾被盜用過, 銀行即時通知我並中止付款, 我現在都不用了。

2023年12月28日

人到中年該學會的幾個人生原則

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-12-28

人到中年已經過了人生最精華最耀眼的年紀,該學會一些原則讓自己後面的人生過得自在一些。

一 與自己的過去和平相處
     不再執念於自己過去的背景,過去的出生背景,過去的學歷經歷,過去的榮耀,挫折,失敗。後悔,苦痛與不愉快都讓它過去。

二 時間可以治癒一切
     給自己一些時間去治癒過去人或事或是自己帶給自己的傷痕。

三 別人怎麼看你,不關自己的事
     別再過分在乎其他人如主管,同事,同學,朋友等怎麼看你,到了中年有自己獨立的性格與自我的風格,應該要並能夠按照自己的節奏做對的事,做該做的事。

四 不要將自己的人生與其他人比較
    試著接受現在的自己,欣賞自己的優點,肯定自己為自己的人生做過的奮鬥與努力;每個人的起點不同,人生際遇不同,終點自然也不同,有些人的人生走的一路順遂,有些人則只能在崎嶇路上顛簸獨行,相互比較並沒有意義。

五 不要想太多
     進入這個複雜的社會久了,自己心思會變得越來越複雜,試著讓自己思想回歸單純,任何事情想得太複雜只會找自己的麻煩。

六 沒有人可以為你的喜怒哀樂負責
     隨時掌握與調整好自己的情緒,不要太容易受外界的人與事干擾你的情緒。平靜是最好的情緒,其他情緒都是短暫的,很快就會過去。

七 微笑面對
    我們無法解決世界上所有的問題,拯救所有的苦難,不要先天下之憂而憂,凡事放開心胸,盡量微笑面對。

2023年5月16日

市面上有哪些AI聊天機器?

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-5-16

上網搜尋並簡單整理一下現在市面有哪些AI聊天機器? 

Open AI "ChatGPT", playground , 採用OpenAI GPT3, GPT4 model。
Google "Bard" : 免費, 使用Google LaMDA model
Google "Socratic" : 免費,專為學童打造的 AI 聊天機器人, 只提供行動版 App,使用Google支援的model
Microsoft Bing AI聊天功能 : 免費,採用OpenAI GPT4 model
GitHub Copilot : 使用OpenAI Codex
Amazon CodeWhisperer : 使用自建的model

Anthropic "Claude" : 創辦人Dario Amodei曾擔任 OpenAI 研究副總裁,主導的正是安全團隊。使用Proprietary model
DeepMind "Sparrow" (註: DeepMind知名的產品是2019年擊敗了圍棋名手李世石的人工智慧圍棋軟體"AlphaGo") 介紹
Jasper AI: 採用OpenAI GPT3, GPT4 model。
YouChat " 免費, 採用OpenAI GPT3 model。
Writesonic "Chatsonic" : 免費,使用OpenAI GPT-4

Copy.ai  為業務及行銷人員產生文案, 使用OpenAI GPT-3 model。
INK 滿足 SEO 優化行銷需求
Perplexity.ai 以 Chrome 擴充功能之姿現身並強調能改進人們探索並分享資訊, 使用OpenAI GPT-3 and GPT-4 model
Rtr 創造高品質內容並自稱 AI文案助理

HuggingChat : 使用OpenAssistant LLaMa model
KoalaChat : 使用OpenAI GPT-3.5 Turbo model
ZenoChat :  使用4 自建的 models; OpenAI's GPT-3.5 and GPT-4
Personal.ai : 使用自建的 GGT-P; OpenAI's GPT-3 model
Poe : 使用Sage, Dragonfly, Claude, OpenAI GPT-3 and GPT4
Character.AI : 使用自建的model
AI Test Kitchen : Google開發的一個實驗性專案,使用Google LaMDA model


資料來源 : 

2023年3月20日

政治觀點 - 太陽花學運"反服貿"八年之後

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-3-20 

很多事件都要多年後才能正確地檢視,太陽花學運後台灣改變了甚麼? 反服貿的結果? 這些學運領袖都發生了甚麼事? 誰得到最大的利益? 誰被利用?  

反了服貿,並沒有阻止兩岸的經貿發展,很詭異地台灣對大陸出口的依存度由國民黨執政的23.7%到民進黨執政的2020年變成43.8%。

藉學生運動打垮黨內外勢力獲取政權,得到最大利益的蔡政府讓台灣更好了嗎? 說好的南向政策? 說好站在勞工的這一邊? 說好反萊豬? 房價持續飆漲,在蔡政府期間房價指數漲幅達50%,兩岸官方不再溝通與對話,台海衝突危機大增,發展成世界最危險的區域。

這是大家要的結果嗎? 您被利用了嗎? 

政客最擅長的是煽動民眾的熱情,激化對立,製造矛盾來攻擊政敵,以達其政治的目的。熱血是年輕人的本質,在火熱的心外,需要冷靜的腦,學習正反思辨與大格局思考的能力,才能不被洗腦與利用。

相關文章 : 

2023年3月7日

人工智慧會讓程式設計師失業嗎? 人工智慧輔助開發工具(Codex, Copilot)的優點與注意事項

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-3-7

人工智慧會讓程式設計師失業嗎? 甚麼人工智慧技術會讓程式設計師失業?  有興趣的可以往下看。

    BCC 2021年9月8日的一篇報導,"人工智能:編程員為何喜愛這些可能令他們失業的新科技?" 文章中訪問了幾個專業程式設計人員,為什麼喜歡人工智慧工具,優點在哪裡,這篇文章也點出人工智慧工具的限制與注意事項。

    今年3/1日openAI公司發布了"chatGPT API"提供個人或企業自行開發對話機器人相關應用。相較chatGPT,更令我感興趣的是OpenAI公司2021年發布名為Codex的"程式碼產生與處理"APIs,以及以Codex為基礎開發出來的GitHub Copilot(需付費)工具。開發軟體的過程中可以運用此些工具協助快速產生程式,大幅提高生產力。

    OpenAI官網提供了Codex Javascript的測試網頁,只要輸入英文(自然語言)就可以幫你產生想要的Javascript程式碼,有網友藉由這個測試網頁單靠英語對話就開發出一個簡單的遊戲。因此Codex與Copilot被認為是讓程式設計師失業的人工智慧技術。

      但是,不需要專業程式設計訓練,就可以完成一套完整的系統嗎? 下面整理AI輔助開發程式的

優點與注意事項 :  

優點
1 透過AI輔助開發程式,相同的時間可以寫更多的程式。
2 減少查詢語法的時間,如正規表示式這些複雜難記的語法等。

注意事項
1 難以發現的錯誤 : 美國紐約大學2021 年研究發現 AI 建議的程式碼並不可靠,試驗了 89 個場景中,約有 40% 以 Copilot 編寫而成的程式碼具弱點[2]。 史丹佛大學電腦科學家研究發現,程式設計師在 Github Copilot 等 AI 輔助下,較容易對程式碼的品質產生錯誤的信任,因此寫出的程式碼相較獨立的程式設計師更不可靠[2]。
 
知名程式設計問答網站 Stack Overflow 官方宣佈,暫時禁止使用者分享由聊天機器人 ChatGPT 產生的回覆,根據官方表示:「由於從 ChatGPT 獲得正確答案的平均比例太低,發表由 ChatGPT 創造出的答案對網站上,不利於詢問或尋找正確答案的使用者。」[3]
 
AI產生的程式碼中的微小錯誤有可能非常難被發現,可能導致非常大的代價。因此Copilot雖然能提供相對好的程式碼,但有時候會需要一些微調。如果你經驗不足,或正在嘗試學習,可能會出一些差錯但是卻沒有意識到[1]。

2 侵權問題 : "使用AI工具「有可能會侵犯一些開源程式碼許可,因為它可能會有些東西是來源於訓練代碼」。而這可能會令你掉進剽竊的漩渦。”[1] -- BCC

3 只是輔助工具 : AI只提供一些短的程式片段,不會編寫完整的軟體程序[1]。

4 覆核與測試的重要性 : 程式碼仍然需要全面覆核,而且要進行完整的測試如單元測試與整合測試[1]。

5 程式語言限制 : 
Codex目前支援的程式語言: Bash, C#, Go, Java, Javascript, Python, Ruby, Rust。
Github Copilot目前支援的程式語言 : C, C++, C#, Go, Java, Javascript, PHP, Python, Ruby, Scala, Typescript。。

由上面幾個事項,可以了解AI輔助工具很好用但還沒有強大到可以取代專業程式設計師。
參考 

由上面幾個事項,可以了解AI輔助工具很好用但還沒有強大到可以取代專業程式設計師。Codex, Copilot背後的人工智慧模組仍持續學習與進步中,值得持續關注,或許有一天上面這些問題都會解決。

人工智慧程式設計輔助開發工具 - GitHub Copilot介紹

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-3-7

       今年3/1日因chatGPT爆紅的openAI公司正式發布了"chatGPT API",提供ChatGPT的引擎與應用程式庫給個人或企業自行開發對話機器人相關應用,加上該公司原有的文字產生與處理,程式碼產生與處理,影像產生與處理等APIs,給有人工智慧應用開發需求的個人或企業更豐富的選擇。

    相較chatGPT API我更感興趣的是OpenAI公司在2021年發布的"程式碼產生與處理"APIs,OpenAI公司將這部分命名為Codex。OpenAI官網提供了Javascript的測試網頁,只要輸入英文(自然語言)就可以幫你產生想要的Javascript程式碼

    除此之外,我找到以Codex為基礎建立的開發工具GitHub Copilot,包含許多IDE的插件,可以在開發軟體的過程中運用AI幫助自己快速產生程式,大幅提高生產力。如果這個工具可以運用到自己的工作上,就太好了,很可惜目前支援的程式語言不包含PHP。

    下面是整理自網路的GitHub Copilot介紹。

簡介

GitHub Copilot是GitHub和OpenAI合作開發的一個人工智慧工具,使用者在使用Visual Studio Code、Microsoft Visual Studio、Vim或JetBrains整合式開發環境時,可以透過GitHub Copilot自動補全代碼。GitHub於2021年6月29日對開公開該軟體。(維基百科)

GitHub Copilot 由 OpenAI Codex 提供支援,OpenAI Codex 是由人工智慧研究實驗室 OpenAI 建立的人工智慧模型。(維基百科)
OpenAI Codex 是 GPT-3(生成型已訓練變換模型 3) 的修改後生產版本,GPT-3 是一種使用深度學習生成類人類文字的語言模型。例如,當給出一個自然語言的程式問題時,Codex能夠產生解法代碼。它也可以用英語描述輸入代碼和在不同程式語言之間翻譯代碼。Codex的GPT-3僅授權給 GitHub 的母公司微軟。(維基百科)
Copilot的OpenAI Codex接受了一系列英語語言、公共 GitHub 儲存庫和其他公開可用原始碼的訓練。這包括來自 5400 萬個公共 GitHub 儲存庫的 159 GB Python 代碼的過濾資料集。(維基百科)

功能與準確度

GitHub Copilot協助程式設計師的功能,包含 :
一 寫上函數名稱自動補全程式碼
二 將註釋轉換成程式碼(Convert comments to code)
三 自動補全重覆的程式碼(Autofill for repetitive code)
四 自動產生測試案例
GitHub 報告稱,Copilot 的自動完成功能大約有一半時間是準確的; 例如,當使用者提供Python 函式頭代碼後,Copilot 在第一次嘗試時有 43% 的時間正確地自動完成了函式體代碼的其餘部分,而在十次嘗試後有 57% 的時間正確地自動完成了函式體代碼的其餘部分。
GitHub 表示,Copilot 的功能能夠幫助程式設計師減省閱讀軟體文件的時間,快速瀏覽不熟悉的編碼框架和語言。

支援的程式語言

GitHub Copilot目前支援的程式語言有C, C++, C#, Go, Java, Javascript, PHP, Python, Ruby, Scala, Typescript

功能介紹

一 寫上函數名稱自動補全程式碼
例如寫一個函數 calculateDaysBetweenDates(date1, date2),你只要函數名稱語意清楚,Copilot會自動填入程式碼。 

二 將註釋轉換成程式碼(Convert comments to code)
例如寫一段註釋,註釋中描述要處理的邏輯,Copilot就會自動產生程式碼。 

三 自動補全重覆的程式碼(Autofill for repetitive code)
例如: 你寫一個常數集合,內容為各種程式語言的註釋符號,你寫了三個程式語言後,Copilot會自動填入其他程式語言。
四 自動產生測試案例
完成一個函示後,可以讓Copilot針對此函示產生測試案例程式。

費用

Copilot個人版: 每月 10 美元,或每年 100 美元。

Copilot企業版 :每個月19美元


安裝與使用



資料來源 
1 維基百科
4.Github - About GitHub Copilot for Individuals
 

2023年1月17日

哪種人適合台積電?她道內部文化3特質 坦言「做得很痛苦」-- 感想

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-17

這篇新聞是一名台積電員工在整理出3點公司內部文化,坦言自己做得很辛苦 :


內文重點如下 :
她以自身的經驗,整理出3點公司內部文化:
第一,同事非常積極與有野心。在會議上,每個人都不停提問刷存在感,舉辦活動時則是巴著上層主管合照,想辦法討好對方。

第二,不顧團隊充斥個人主義。考績至上,出錯時同事大多見獵心喜,沒人會幫你,大家都想做能有表現的工作,不想配合別人主導的專案。

第三,公司軍事化管理。要求上班準時,卻很難準時下班,上下分明、嚴格管控。

她透露自己的個性內向敏感,並不適應上述公司文化,常常覺得格格不入,其實做得很痛苦,因此反倒想詢問大家要如何改變才能融入台積電?

------------------------------------------------------------------------------------------------------------------------------

我的感想是 : 太在乎別人怎樣,自己就會很痛苦,不如多花時間讓自己更強,建立好個人專業品牌,當能力越強,主管與公司越需要你的時候,就會過得更有自信並更順利。

另外,紀律如果是公司或主管要求出來的,自己就會很痛苦,不如先求自律,對自己要求高些,就會減少別人來要求你的機會。

Codeigniter系統異常登出問題 "Session Error" 原因與解決方法

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-17

最近開發PHP+Codeigniter架構的網站發生奇怪的問題 :

程式碼 : 
$this->session->set_userdata("message",$msg);
redirect($prev_page);
上述程式碼執行要redirect(重導)到另一個網頁,卻發生登入者自動被登出。

經過一番測試,終於發現問題在哪裡了。

我系統的設計是 : 
1. 用Session儲存使用者登入的資訊,系統各個頁面會根據此登入資訊判斷是否處於登入狀態。  $this->session->set_userdata("username",$username);
   ***** 顯然上面的問題是Session中使用者登入資訊已經消失了。*****
2.  用Session儲存訊息,如上面的$this->session->;set_userdata("message",$msg); 重導到另一個網頁時,再讀出此資料顯示在頁面上,如$message = $this->session->userdata("message");。

原因一 : 與預設編碼不同。
$this->session->set_userdata("message",$msg); 這行程式的$msg變數中包含Big5中文編碼的文字,
而Codeigniter系統設定application/config/config.php中預設編碼為UTF-8
$config['charset'] = "UTF-8"; 
內容與預設編碼不同,造成Session資料的消失。

解決方法 :,只要將上面$msg轉換為UTF-8編碼格式就不會有問題了。


原因二 : 也有可能是設定的內容太長 
解決方法 : 縮短訊息內容長度就不會發生了。(或加大session容量,需要其他設定)


參考 :  網路上其他類似的問題與Session data lost可能的原因

2023年1月15日

如何使用Excel讀取mySQL資料庫(含環境安裝)

作者: Fred F.M. Wang (FW知識瑣記) 日期:2023-1-15

筆者用Excel讀取過Access或SQL Server資料庫,最近嘗試使用Excel讀取mySQL資料庫,查了許多方法,經過幾次失敗的安裝,終於正確的安裝完成,並讓Excel可以讀取到mySQL資料庫,分享給需要的人。下面是我安裝的步驟與一些要注意的地方 :

我的電腦環境是:
. Windows 7 家用進階版
. Office 365專業增強版
. mySQL資料庫(使用UTF-8編碼) : 安裝在同一台個人電腦。


步驟一 下載並安裝 mysql ODBC Connector

1.1 首先,要了解您的Office版本是32位元或64位元,安裝的mysql ODBC Connector必須與Office是相同位元的版本,因為我電腦的Office是32位元版本,因此安裝32位元的mysql ODBC Connector。如何知道您Office版本是32位元或64位元的呢? 以Office 365為例,在Excel選單 : 檔案 > 帳戶 的畫面中,點擊"關於Excel"就可以看到您Excel版本了,如下畫面。    
    



1.2 下載 mysql ODBC Connector


 

步驟二 設定ODBC來源

       此步驟要設定一個mySQL資料庫的ODBC來源,因為步驟一安裝的mySQL ODBC Connector 32位元版本,因此必須在32 位元版本ODBC資料來源管理員內設定。此處要注意的是作業系統如果是Windows 7 64位元,就不能使用控制台ODBC資料來源管理員,因為它是64位元版本的。
       32位元版本ODBC資料來源管理員(Odbcad32.exe)位於 %systemdrive%\Windows\SysWoW64 資料夾(如: C:\Windows\SysWOW64)中。必須執行此程式來設定mySQL資料庫的ODBC來源才行。
       參考來源 ODBC 工具會顯示32 位元和64 位元- SQL Server

    如果使用錯誤版本的ODBC資料來源管理員,Excel在連接資料庫時會產生下面的錯誤訊息。
    




   安裝步驟 :    

  1. 在 ODBC資料來源管理員視窗的"使用者資料來源名稱" > 新增
  2. 選擇"MySQL ODBC 8.0 Unicode Driver”, 點擊[完成]

說明 : 因為資料庫建立時我採用Unicode編碼,因此要使用Unicode Driver




   
    3. 設定新的資料來源。
        點擊[完成]後,會顯示出mySQL connector設定對話窗,如下。

     填入個欄位 : 
  • Database Source Name : 自訂一個好辨識的資料庫來源名稱
  • 勾選 TCP/IP Server
  • hostname : localhost  (因為裝在同一台電腦)
  • User : <mySQL資料庫管理帳號>
  • Password : <mySQL資料庫管理密碼>
  • Database : <選一個資料庫>

註 : mySQL資料庫管理帳號在資料庫建立時,已經建立至少一個資料庫管理員帳號,或可以到資料庫建立一個新的資料庫管理帳號,並設定適當的存取權限提供連線存取。

 

 

步驟三 使用Excel讀取mySQL資料庫中的資料

選單 : 資料>取得資料>從其他來源>從 ODBC



    在”從ODBC” 對話方塊的”資料來源名稱(DSN)”,選擇步驟二中建立的資料來源名稱(如mysql-xampp8.1.2 )。

    如果您想要設定資料庫查詢條件,查詢並匯入資料,請在對話框"進階選項"的"SQL陳述句" 中下SQL命令。然後點擊 [確定]。

    





        顯示出查詢結果後,點擊[載入],就會將這些查詢結果匯入Excel工作表中了。


參考影片 : Excel Import MySQL Table with ODBC Database Query

整理三大容易發生錯誤的地方,要特別注意 : 

  • 安裝的mySQL ODBC Connector必須與Office是相同位元的版本。
  • 安裝的mySQL ODBC Connector 32位元版本,因此必須在32位元版本ODBC資料來源管理員內設定。(注意64位元Windows 7 控制台的ODBC資料來源管理員是64位元版本的)
  • 資料庫建立時採用Unicode編碼,因此資料來源設定時就要選擇MySQL ODBC Unicode Driver(不是ANSI Driver)


 



 

2023年1月11日

珍惜並守護您所擁有的幸福

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2023-1-11

父親家貧未能受教育,十多歲就進入礦坑過著暗無天日的礦工生活,每天賺錢為讓生病的養父看病打止痛針直到養父過世,成年後才找機會進入私塾從三字經學起。

岳父在中國內戰時期長大,十四歲就被拉去當兵,隨軍隊轉戰南北然後到了台灣,年年清明只能遙望故鄉方向祭拜,年近七十歲才得以返為故鄉,父母早已離世,家鄉人事已非。

我則成長於經濟起飛的60,70年代,跟很多同輩的人一樣,努力打拼翻轉貧窮。

苦難的年代好不容易過去,也漸漸為人所淡忘,年輕一代正享受著數十年來經濟成長帶來富裕幸福的生活。

大家千萬要珍惜並守護現在擁有的幸福,讓社會讓與環境更好,讓下一代也能擁有好的生活。

Fred F.M. Wang正月有感

2022年12月15日

如何寫出可靠的程式?

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2022-12-15

一些程式設計的習慣,決定您程式的品質與可靠度。筆者整理幾個通用可供參考的重點 : 

1 一致的程式設計風格 : 提高程式可讀性與可維護性(團隊開發或他人修改)。
2 適當的縮排 : 提高程式可讀性,並可幫助除錯。
3 適當地使用註解 : 註解用來解釋某程式段的功能以及如何運作,有助於程式的可維護性。
4 適當的變數名稱與函式名稱 : 選擇描述性與有意義的名稱,提高程式可讀性,便於理解。
5 避免全域變數 : 全域變數會讓程式發生無法預期的行為,且不易除錯。
6 使用程式語言內建函式 : 使用語言內建函式可讓程式碼更簡潔更有效率。
7 避免重複的程式碼 : 重複的程式碼難以維護,並容易造成錯誤,如果發現需要寫重複的程式碼時,應該將這段程式碼寫成可供叫用的共用函式。
8 運用Design Patterns : Design Patterns是解決一般程式設計問題被證明過的方案,可以讓程式碼更有效率,提高再用性與可維護性。

本部落格提升程式設計能力相關的參考文章 : 
2012-3-14 技術債務
2004-12-13 [筆記] 軟體品質指標 : 列出McCall在1977年提出的軟體品質模型(Software Quality Model),包含用來評估一個軟體系統品質的優劣的11個要點。