Total Pageviews

2020/08/31

[Travel] 202008 苗栗

 舊山線鐵道自行車

IMG_2481

龍騰斷橋

IMG_2483

IMG_2485

蓬萊溪護魚步道

IMG_2494

IMG_2496

2020/08/10

[Windows] How to specify multi-line command on command prompt?

Problem
Here is my original command to generate database schema document:
java -jar "C:\schemaspy\schemaSpy_5.0.0.jar" -dp "C:\schemaspy\ojdbc6.jar" -t orathin -db TEST -s ap_tax -host localhost -port 1521 -u system -p password -schemas "ODS,TS" -charset UTF-8 -o "C:\schemaspy\schema_doc" -norows -hq -css "C:\schemaspy\schemaSpy.css" 

If I would like to break it into multiple line, how to do it?

How-To
Add ^ in the end of each line, the updated command is as following:
java -jar "C:\schemaspy\schemaSpy_5.0.0.jar" ^
     -dp "C:\schemaspy\ojdbc6.jar" ^
     -t orathin ^
     -db TEST ^
     -s ap_tax ^
     -host localhost ^
     -port 1521 ^
     -u system ^
     -p password ^
     -schemas "ODS,TS" ^
     -charset UTF-8 ^
     -o "C:\schemaspy\schema_doc" ^
     -norows -hq -css "C:\schemaspy\schemaSpy.css" ^
     



2020/08/09

[Oracle] CASE Statement example

Requirement
以下是用來將幣別轉換為代號的邏輯
case 幣別
  when 'NTD' then '01'
  when 'USD' then '51'
  when 'HKD' then '52'
  when 'JPY' then '53'

Example
以下是使用 CASE Statement 的範例
FUNCTION FN_GET_CCY_CODE (i_ccy IN VARCHAR2)
    RETURN VARCHAR2 IS o_ccy_code VARCHAR2(2) := '';
    BEGIN
        CASE i_ccy
            WHEN 'NTD' THEN o_ccy_code := '01';
            WHEN 'USD' THEN o_ccy_code := '51';
            WHEN 'HKD' THEN o_ccy_code := '52';
            WHEN 'JPY' THEN o_ccy_code := '53';
        END CASE;

        RETURN o_ccy_code;
    END FN_GET_CCY_CODE;


2020/08/08

[Java] [Apache Freemarker] 如何在 ftl 做設定,印製年、月、日,且年份採用民國年

Requirement
假設我希望在輸出結果檔,印製年、月、日,且年份採用民國年,該如何在 ftl 做設定?


How-To
ftl 的 code snippet 如下:

<#-- 取得現在時間 -->
<#assign aDateTime = .now>
<#-- 只保留日期 -->
<#assign aDate = aDateTime?date>
<#-- 取出日期中的年份、轉數字,減去 1911 得到民國年 -->
列印年:${aDate?string.YYYY?number - 1911}
<#-- 取出日期中的月份 -->
列印月:${aDate?string.MM}
<#-- 取出日期中的日期 -->
列印日:${aDate?string.dd}


Reference
[1] https://freemarker.apache.org/docs/ref_builtins_date.html

2020/08/07

[Oracle] [SQL Developer] How to change language in Oracle SQLDeveloper?

Problem
How to change language from Transitional Chinese to English in Oracle SQL Developer?


How-To
1. Go to C:\<SQLDeveloper Path>\ide\bin, open ide.conf
2. Add AddVMOption -Duser.language=en in the end of ide.conf
3. Relaunch Oracle SQL Developer


Reference
[1] https://stackoverflow.com/a/30396125

2020/08/06

[Oracle] ORA-02287: sequence number not allowed here

Problem
Assume I create a sequence as bellows:
create sequence seq_test
    start with 1
    increment by 1;


As I try to get the next sequence value in my select statement, I get ORA-02287 error
 select (select lpad(to_char(seq_test.NEXTVAL), 4, '0') from dual) as seq,
        .........
 from ............
 where .........



How-To
1. create a function to get the next sequence
    FUNCTION FN_GET_NEXT_SEQ_VAL RETURN VARCHAR2 IS v_next_seq_val VARCHAR2(4) := '';
    BEGIN
        select lpad(to_char(seq_test.NEXTVAL), 4, '0')
        into v_next_seq_val
        from dual;

        return v_next_seq_val;
    END FN_GET_NEXT_SEQ_VAL;

2. select value from function
    select FN_GET_NEXT_SEQ_VAL() as seq,
           .........
    from ............
    where .........


Reference
Uses and Restrictions of NEXTVAL and CURRVAL
CURRVAL and NEXTVAL can be used in the following places:
  • VALUES clause of INSERT statements
  • The SELECT list of a SELECT statement
  • The SET clause of an UPDATE statement
CURRVAL and NEXTVAL cannot be used in these places:
  • A subquery
  • A view query or materialized view query
  • SELECT statement with the DISTINCT operator
  • SELECT statement with a GROUP BY or ORDER BY clause
  • SELECT statement that is combined with another SELECT statement with the UNION, INTERSECT, or MINUS set operator
  • The WHERE clause of a SELECT statement
  • DEFAULT value of a column in a CREATE TABLE or ALTER TABLE statement
  • The condition of a CHECK constraint

2020/08/05

[Java] [Apache Freemarker] How to compute total price in ftl ?

How-To
You can assign a variable, added value in the loop, then print the value in the end.

<#assign total = 0>
${"水果名稱"?right_pad(10)}${"單價"?right_pad(5)}${"訂購數量"?right_pad(10)}
${"-"?right_pad(25, "-")}
<#list rows as row>
<#assign total += row.price * row.quantity>
${row.name?right_pad(10)}${row.price?left_pad(5)}${row.quantity?left_pad(10)}
</#list>
${"-"?right_pad(25, "-")}
總筆數:${rows?size?left_pad(10)}
總金額:${total?left_pad(10)}


Result

水果名稱      單價   訂購數量      
-------------------------
apple        50        20
avocado      60         2
banana       70         1
cherry       80        10
coconut      90         1
durian      100         3
-------------------------
總筆數:         6
總金額:     2,380


2020/08/04

[Java] [Apache Freemarker] How to count list size in ftl ?

How-To
You can make good use of size to count list size as bellowing:
<#assign total = 0>
${"水果名稱"?right_pad(10)}${"單價"?right_pad(5)}${"訂購數量"?right_pad(10)}
${"-"?right_pad(25, "-")}
<#list rows as row>
<#assign total += row.price * row.quantity>
${row.name?right_pad(10)}${row.price?left_pad(5)}${row.quantity?left_pad(10)}
</#list>
${"-"?right_pad(25, "-")}
總筆數:${rows?size?left_pad(10)}
總金額:${total?left_pad(10)}


Result

水果名稱      單價   訂購數量      
-------------------------
apple        50        20
avocado      60         2
banana       70         1
cherry       80        10
coconut      90         1
durian      100         3
-------------------------
總筆數:         6
總金額:     2,380




2020/08/03

[Mac] [VMware Fusion] Keyboard 錯亂

Problem
由於我的 VM 有時候會接上 Windows OS,有時候會接上 Mac OS。
當作業系統轉換時,複製、貼上、全選的按鈕有時候會轉換失敗,例如在 Mac 系統,打開 Windows 10 VM,若要做全選,Mac 應該是 command + A:

但是不知道什麼原因,必須用 control + A:

操作的不一致性,讓使用上很困擾。


How-To
雖然不知道根本原因,透過以下步驟可以解決此問題,且不需重開虛擬機。
1. VMWare Fusion => Virtual Machine => Settings


2. 點選 Keyboard & Mouse


3. 點選 Profile => Make Default Profile




2020/08/02

[Oracle] [SchemaSpy] Catalog (-cat) was not provided and unable to deduce catalog, wildcard catalog can be used -cat %

Problem
When I try to generate schema document via SchemaSpy, I got the following error message:

Catalog (-cat) was not provided and unable to deduce catalog, wildcard catalog can be used -cat %

I used schemaspy-6.1.0 and graphviz-2.38.


How-To
The root cause is uncertain, but this problem can be resolved by adding -cat "%"  in your command line.


Reference
[1] https://github.com/schemaspy/schemaspy/issues/616

2020/08/01

[IntelliJ] Shortcut to upper case

Problem
Assume I have an insert sql statement as bellows:
insert into test (...)
values (...);

If I would like to convert SQL reserved words to upper case as bellows:
INSERT INTO test (...)
VALUES (...);

Any shortcut to fulfill this requirement in IntelliJ?


How-To

2020/07/31

[Travel] 東北角

南子吝山

DSC06309

DSC06312

DSC06313

DSC06315

DSC06319

DSC06321

2020/07/30

[Travel] 台北書畫院與琴道館

台北書畫院
IMG_2277

IMG_2278

IMG_2279


台北琴道館
IMG_2293

IMG_2289

IMG_2288

2020/07/10

[Oracle] PLS-00215: String length constraints must be in range

Problem
When I tried to create a stored procedure package as bellows:

CREATE OR REPLACE PACKAGE PG_TEST_001 AS
    v_last2Month     VARCHAR2 := '';

    PROCEDURE SP_Get_LAST2MONTH(i_dataId IN VARCHAR2,
                                o_last2Month OUT VARCHAR2);

END PG_TEST_001;

/

I got this error message from SQL Developer:
PLS-00215: String length constraints must be in range


How-To
This error message resulted from the missing length in variable declaration, it should be fixed as following:
CREATE OR REPLACE PACKAGE PG_TEST_001 AS
    v_last2Month     VARCHAR2(8) := '';

    PROCEDURE SP_Get_LAST2MONTH(i_dataId IN VARCHAR2,
                                o_last2Month OUT VARCHAR2);

END PG_TEST_001;

/



2020/07/09

[Java] How to read file with encoding Cp937?

Problem
How to read file with encoding Cp937?

How-To
Here has code snippet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;

....

    pubilc void readAndPrintContent(String file) throws IOException {
        try (Stream<String> stream = Files.lines(Paths.get(file), Charset.forName("Cp937"))) {
            stream.forEach(log::debug);
        } catch (IOException e) {
            throw new IOException("fail to read file, error : " + e.getMessage(), e);
        }
    }



2020/07/08

[Oracle] Retrieving JSON in Oracle

Problem
Assume I would like to select a CLOB column with JSON value, it looks like:

{
 "test_no":"9999",
 "year":"0108",
 "registerDate":"20191031"
}

How to select test_no value (i.e. "9999") in Oracle?


How-To
Using JSON_VALUE to fulfill this requirement:

SELECT JSON_VALUE(JSON_COLUMN, '$.test_no' RETURNING VARCHAR2) 
FROM test_table


Reference
https://www.red-gate.com/simple-talk/sql/oracle/json-for-absolute-beginners-part-4-retrieving-json-in-oracle/

2020/07/07

[閱讀筆記] 窮查理的普通常識 (7/7)

  1. 人們往往沒有認知到,人世間大多數結果都是不公平的,而且道德規範有時候必須不公平,才能取得最好的效果。過於追求公平,會給社會制度帶來嚴重的功能障礙。容忍對某些人有一點不公平,以便對所以人更公平,是我向你們所有人推薦的模式。
  2. 凱因斯:大致的正確好過精準的錯誤 (Better roughly right than precisely wrong.)。
  3. 無論你們多聰明,總有一些更聰明的人,如果他們真的想騙你,你就會上當。因此,要確定與你們共事的聰明人是值得信賴的
  4. 蒙格的普通常識
蒙格的普通常識
說明
① 要得到你想要的東西,最可靠的辦法,是讓自己配得上擁有它
  • 擁有這種精神的人,在生活中能贏得許多東西。他們贏得的不只是金錢和名譽,還有尊敬與信任。能夠贏得別人的信任,是人生一大樂事
② 反向思考與避免極端的意識形態
  • 如果把問題反過來思考,通常能想得更清楚。精通代數的人都知道,如果問題很難解決,利用反向證明,往往就能迎刃而解。生活就和代數一樣,逆向思考能夠幫助你解決正面思考無法處理的問題
  • 例如,如果想要幫助印度,該考慮的問題不是:「我要怎樣才能幫助印度?」相反的,應該問:「我要怎樣才能傷害印度」應該找出會對印度造持最大傷害的事情,然後避免去做。
  • 如何幫助自己在傾向於支持某種強烈的意識型態時保持清醒呢?我覺得,除非我能比我的對手更有力反駁自己的立場,否則我沒資格擁有此觀點。
③ 將不平等最大化
  • 在球場上,上場時間本來就是不平等的。比賽幾乎都是水準較高的球員,佔去大部分的比賽時間;板凳球員只能在垃圾時間上場。
  • 你會希望為你開刀的醫師是最優秀的醫師;希望搭的飛機,開飛機的是最優秀的機師;希望波克夏用最厲害的人才.你會想要讓最好的球員,長時間在場上比賽。
④ 勤奮與節儉的價值
  • 如果你真的想在某個領域出人頭地,就必須擁有強烈的興趣並保持勤奮。
  • 生活中每一次的不幸,都是一個磨練的機會。每一次不幸,都是汲取教訓的良機。人們不應該在自憐中沈淪,應該利用每次打擊來自我提升
⑤ 信任是最好的制度
  • 複雜的官僚制度,並非文明社會的最佳制度。更好的制度是一張無縫的、非官僚的信任之網,沒有太多稀奇古怪的程序,只有一群可靠的人,彼此間有正確的信任。

  1. 人類社會只有發明了發明的方法之後才能進步,同理,我們只有學會了學習的方法才能進步。
  2. 在追求知識的過程中,有兩種思維習慣對我影響很大:
兩種思維習慣
說明
① 逆向思維
  • 反過來想,總是反過來想。
  • 我通常會搜集各種判斷錯誤的例子,仔細思考如何避免這些下場,由此得到正確的判斷。
② 跨領域思維
  • 現實世界的問題不會恰好落在某個學科的界線之內,總是跨越了彼此界線

  1. 我們總是老得太快,聰明得太慢。
  2. 認知往往取決於情境,所以不同的情境通常會引起不同的結論,哪怕是同一個人在思考同一個問題是也是如此。
  3. 人類誤判的 25 個傾向
人類誤判的 25 個傾向
說明
① 獎勵和懲罰超級反應傾向
(Reward and Punishment Super-response Tendency)
  • FedDex 將計算夜班薪水的算法,從按工時改為按飛機班次來計算薪水,從此大幅改善貨物按時送達比例
  • Xerox 在某段時間,性能較差的舊機器一直賣得比性能好的新機器好,追根究柢是因為賣舊機器擁有高佣金,在此偏差的激勵機制推動下,導致舊機器賣得比較好。
  • 富蘭克林在《窮理查年鑑》說過:「說如果你想說服別人,要訴諸利益,而非訴諸理性。
  • 最重要的管理原則就是「制定正確的激勵機制」。
  • 激勵機制會引起偏見,某些受過教育而成為道德高尚的人,在激勵機制的驅動下,可能會有意無意做出不道德行為,以便取得獎金與升遷,例如 Xerox 業務員,為了得到高佣金,不惜傷害顧客利益。
  • 我們應盡力避免由激勵機制偏見造成的不良影響,因為錯誤的激勵機制會導致人在做壞事時,覺得自己是正當的
  • 我們也應避免獎勵容易做假的事情,這會導致道德風氣敗壞,效率低落,出現不公平的成本轉嫁和財富轉移。
  • 懲罰也會強烈地影響行為和認知,儘管壇型和效果不像獎勵這麼好。例如,以前在美國常見非法操縱物價的行為,政府往往是罰款了事,但自從有幾名知名企業高階管理者被送進監獄服刑後,操縱物價的行為就大幅減少。
② 喜歡/熱愛傾向
(Liking/Loving Tendency)
  • 喜歡/熱愛傾向是一種條件反射工具,造成的後果就是:
    • ① 忽略熱愛對象的缺點,對其百依百順;
    • ② 偏愛能夠讓自己聯想起熱愛對象的人、物和行為;
    • ③ 為了愛而扭曲其他事實。
③ 討厭/憎恨傾向
(Disliking/Hating Tendency)
  • 討厭/憎恨傾向是一種條件反射工具,造成的後果就是:
    • ① 忽略討厭對象的優點;
    • ② 討厭那些會讓自己聯想起討厭對象的人、物和行為;
    • ③ 為了仇恨而扭曲其他事實。
④ 避免懷疑傾向
(Doubt-Avoidance Tendency)
  • 人類的大腦天生就有一種傾向,盡快做出決定以便消除懷疑。
  • 人在做決定前,必須讓自己習慣戴上客觀的「面具」,這個「面具」能夠讓自己客觀看待問題
⑤ 避免不一致傾向
(Inconsistency-Avoidance Tendency)
  • 為了節省運算空間,人類的大腦不願意做出改變,這是「避免不一致性」的表現。
  • 沒有幾個人能夠列出他們已經改掉的壞習慣;相反的,幾乎每個人都有一堆維持已久的壞習慣,儘管自己也知道這些習慣不好。
  • 預防壞習慣的養成,要比改變壞習慣容易得多。
  • 人類傾向累積大量僵化的結論和態度,而且不常去檢查,即使有大量證據證明其錯誤,仍然不輕易改變。我們應努力地找尋任何可能推發自己假設或結論的證據
  • 凱因斯曾說:「新思想之所以難被接受,並不是因為新思想太過複雜,而是因為他們與舊思想不一致。」
⑥ 好奇傾向
(Curiosity Tendency)
  • 在人類文明中,好奇心能促進知識發展,而文化背景則能提高其效率
  • 例如:雅典人純粹的好奇心推動了數學與科學的發展,羅馬人則對數學或科學幾乎沒有貢獻;羅馬人專注於礦藏、道路和水利等「實用」工程
  • 最好的現代教育機構能夠增強人的好奇心,而好奇心則幫助人避免或減少各種心理傾向造成的不良後果
⑦ 康德式公平傾向
(Kantian Fairness Tendency)
  • 康德以其「絕對命令」(categorical imperative) 聞名,絕對命令是某種「黃金法則」,要求人遵守某些行為方式,如果所有人都遵守這些方式,就能保證社會制度對每個人都是最好的。
  • 例如:在現代文明社會中,陌生人之間都有排隊習慣,這樣所有人都能按照「先來後到」的規矩得到服務;大家都遵守交通號誌,大家都平安
⑧ 羨慕/妒忌傾向
(Envy/Jealousy Tendency)
  • 羨慕/妒忌傾向深深扎根在人類本性中
  • 現代生活中的妒忌無所不在,例如,當某間大學的財務人員或外科醫學教授,拿到遠遠超乎行情的薪水時,會引起校園一片譁然。但是,驅動這個世界的不是貪婪,而是妒忌
  • 人們天生占有的衝動,擔心此一效應所造成的混亂,賞酬可能不論貢獻。
⑨ 回饋傾向
(Reciprocation Tendency)
  • 典型的回饋傾向有:以德報德、以牙還牙
  • 回饋傾向帶給人類的貢獻遠多於破壞,且可拿來「以毒攻毒」。
  • 人類普遍受到罪惡感折磨的因素是:「回饋傾向」和「獎勵超級反應傾向」之間的精神衝突。獎勵超級反應傾向建立在人追求享受的心理,然而,人類文化卻讓這種天性受到罪惡感的折磨。罪惡感總體上是利多於弊,我們應該對此回饋傾向心存感激,無論你覺得罪惡感是多令人不愉快
⑩ 簡單聯想誤導傾向
(Influence-From-Mere-Association Tendency)
  • 史金納的條件反射是最常見的條件反射,在這種條件反射中,創造出新習慣的反射行為,這是由以前得到的獎勵直接引起,例如:你買了一罐鞋油,發現能把鞋擦得特別亮,由於這種「獎勵」,你就會繼續購買。
  • 另外一種反射行為是由聯想引發,例如人會根據以前的經驗得到這種結論:同類商品中,價格最高的,品質最好,這種銷售策略對奢侈品尤其有效,因為買得起的人能藉此展示其高品位與購買力。
  • 喜愛和熱愛、憎恨和討厭、刻板印象等,會因為簡單聯想而傷害我們的心智、引起認知錯誤。
⑪ 簡單的、避免痛苦的心理否認
(Simple, Pain-Avoiding Psychological Denial)
  • 人可能會因現實太過痛苦,令人無法承受,所以會扭曲各種事實,使它們變得可以承受。
  • 我們或多或少都有這種傾向,而這經常會引發嚴重問題。引發這種極端後果的心理傾向,經常跟愛情、死亡或酒精、毒品等依賴有關。
⑫ 自視過高傾向
(Excessive Self-Regard Tendency)
  • 90% 的瑞典司機都自認為駕駛技術在平均水準之上;人也會對重要的「私人物品」給予過高評價,比如過度稱讚配偶,不會以客觀角度看待自己的孩子,這種過度高估私人事務的現象稱為「稟賦效應」(endowment effect)。
⑬ 過度樂觀傾向
(Overoptimism Tendency)
  • 人在失意時,會表現出簡單的、避免痛苦的心理否認傾向;當成功時,則會過度樂觀。
  • 你可以透過學習來解決愚蠢的樂觀傾向。就好把想成為優秀的高爾夫球員,不能只靠長期的進化賦予你的揮竿方式;你必須掌握不同的抓竿和揮竿技巧,才能變成更好的高爾夫球員。
⑭ 被剝奪超級反應傾向
(Deprival-Superreaction Tendency)
  • 一個人獲得十美元的快樂,並不會正好等於失去十美元的痛苦。失去造成的傷害,比獲得帶來的快樂多得多
  • 在被剝奪超級反應傾向中,人常會小題大作,對眼前的損失斤斤計較,而忘了真正重要的事
⑮ 社會認同傾向
(Social-Proof Tendency)
  • 如果一個人依照別人的思考和行動方式,自動地去思考和行動,就能簡化一些原本很複雜的行為,這種從眾的做法很常見,也就是所謂的「有樣學樣」。
  • 人在感到困惑或壓力下,最容易受到社會認同傾向影響。有些卑鄙的銷售業者會強化社會認同效應,藉此操縱目標客戶。
⑯ 對照誤導傾向
(Contrast-Misreaction Tendency)
  • 對照錯誤傾向常被用於購買商品或服務的顧客身上,且賺取很多錢。為了讓正常價格顯得很低,商家通常會瞎編一個比正常價格高很多的假價格,再將其售價標示為其偉造價格的折扣價,這是常見操縱消費者的伎倆。
⑰ 壓力影響傾向
(Stress-Influence  Tendency)
  • 輕度壓力,能夠稍微改善人的表現(例如考試時);沈重的壓力,則容易引發功能障礙。
⑱ 易取得性誤導傾向
(Availability-Misweighing Tendency)
  • 人類的大腦對容易得到的東西,會高估其重要性,因而表現出易取得性誤導傾向。
  • 別因一樣事實或一個點子很容易取得,就以為特別重要。
⑳ 不用就忘傾向
(Use-It-Or-Lost-It Tendency)
  • 許多技能唯有天天練習,才能維持在非常好的水準。對於善於思考的的人而言,把自己的技能列成一隻檢查清單並經常應用,是非常重要的事情。
  • 人只要勤奮就能降低不用就忘傾向的影響。如果能夠精通一種技能,而不是草草學習來應付考試,就比較不會失去這種技能;就算生疏了,只要重新學習,也很快就能再度掌握。
⑳ 毒品誤導影傾向
(Drug-Misinfluence Tendency)
  • 這種傾向的破壞力極大,常常會對認知和人生帶來悲劇性後果。
㉑ 衰老誤導傾向
(Senescence-Misinfluence Tendency)
  • 持續快樂思考和學習,多少能夠延緩終將面對的衰老。
㉒ 權威誤導傾向
(Authority-Misinfluence Tendency)
  • 錯誤的理解權威人物的指示,常會釀成悲劇。
  • 跟隨權威人物的心理傾向是很強大的,能夠使人的腦袋變成糨糊
  • 企業選擇把權力交給誰要很謹慎,因為權威人物一旦上台,將會得到權威誤導傾向的幫助,那就很難被推翻。
㉓ 廢話傾向
(Twaddle Tendency)
  • 做為一種擁有語言天分的社會動物,人生來就有本事囉哩八唆,說出一大堆廢話,給正在專心做正經事的人造成許多麻煩。
  • 管理機構的首要任務,就是讓無關緊要的人不要去干擾有關緊要的人工作
㉔ 師出有名傾向
(Reason-Respecting Tendency)
  • 你必須講清楚何人(Who)將在何時(When)何地(Where)因何故(Why)做何事(What)。
  • 只有一絲不苟地把某個想法的原因都攤開來,這個想法才最容易被接受。
㉕ 魯拉帕路薩傾向
(Lollapalooza Tendency)
  • 數種心理傾向共同作用造成極端後果

  1. 基金管理系統要求裡專門假裝去做他們做不了的事情,假裝喜歡他們不喜歡的事情。這種生活方式很可怕,卻能拿到很高的薪水。
  2. 避免因為過去的成功經驗而做出蠢事的破解對策是:
謹慎審視以往的每次成功,找出成功的偶然因素,以免受這些因素誤導,進而誇大新計畫成功的機率
檢視新的行動計畫中,將會遇到哪些以往成功經驗中沒有出現的風險

  1. 波斯使者症候群,這個詞的由來是因為以前古代波斯人會以殺掉使者,來避免壞消息上傳的方法。在很多行業裡,傳遞壞消息的人真的很危險。有時律師知道,如果建議一種不受歡迎卻明智的解決方案,會招致客戶怨恨,所以他們繼續把官司打下去,乃至造成災難性後果。要避免類似下場,正確的對策是:有意識地養成歡迎壞消息的習慣。在Munger自己的波克夏公司裡有一條普遍的規矩:「有壞消息要立刻彙報;只有好消息是可以等待的。」還有就是要保持明智和消息靈通,讓人們知道你有可能從別處聽到壞消息,這樣他們就不敢隱瞞了。
  2. 托爾斯泰效應:人不會去改變自己,只會為自己的表現找藉口。絕大多數人都會找太多荒唐的理由,試圖讓自己心安理得。組織想要化解「托爾斯泰效應」的對策是:
建立公平、唯才是用、要求嚴格的文化,加上能夠提升士氣的人力資源管理方法
開除最糟糕的違規者

  1. 成功投資的關鍵因素之一,就是擁有良好的性格。多數人總是按耐不住,或者總是擔心過度。成功意味著要非常有耐心,又能在知道該採取行動時,主動出擊。只要從失敗的經驗中學習,當你汲取教訓的來源越廣,就能變得更好。
  2. 社會認同傾向 (Social-Proof Tendency) 可以運用於子女管教。在學的子女,最尊重的是同儕,而不是父母或其他成年人,這種現象主要是由年輕人的基因決定。所以對父母來說,與其對子女耳提面命,不如控制子女朋友的品質,才是明智的作法。
  1. 易取得性傾向的解決方式與運用方法
  1. 晚年的最佳保護鎧甲,是一段在老之前被好好地度過生活;一段被用於追求有益知識、光榮功績和高尚品德的生活;過這種生活的人從年輕時就致力於提升自己,並且在其晚年收割最幸福的果實;這不僅是因為有益的知識、光榮的功績和高尚的品德將陪伴他們終生,直到生命最後一刻,也因為它見證了人生的良心和對美好成就的回憶,將會給靈魂帶來無比的安慰。
  2. 富蘭克林曾說:我們總是太快變老,太慢變聰明;等到你不必再修正時,也差不不多玩完了。
  3. 巴菲特曾說過:查理蒙格給他最重要的人生禮物 - 戒貪、勇氣和遠見
人生禮物
說明
① 戒貪
  • 「菸屁股哲學」的背後,其實是貪念作祟。
  • 謹守「安全邊際原則」,平價的好貨比便宜的爛貨更值得投資
  • 追求價值而非價格,是波克夏文化的基石。
② 勇氣
  • 凡事一定要反過來想!反過來想
  • 要有對權威說「NO」的勇氣及能力。
③ 遠見
  • 多閱讀、學習,拓展自己的視野,能讓自己看到不同的世界。
  • 界定自己的「能力圈」,是投資成功的不二法則

  1. 馬爾薩斯 (Malthus) 陷阱,又稱為「馬爾薩斯災難」,以政治經濟學家托馬斯·羅伯特·馬爾薩斯命名,認為對大部分人類歷史來說,收入停滯的原因是因為技術的進步與發現僅僅造成人口的增加而沒有提高人類的生活水平。只是在1800年左右開始的工業革命才使得一些國家的人均收入大幅增加,同時他們也跳出陷阱。例如過去的中國,人口過多導致每個人只能求溫飽,沒有多餘的能量,加上政府施政不彰、自以為是、坐井觀天,一旦中國跳脫愚蠢的政治體系後,就能跳脫馬爾薩斯陷阱,開始有剩餘產出,前進的速度就會相當驚人
  2. 有兩件事情讓投資變得困難
讓投資變得困難的兩件事
說明
① 競爭升級
在資本主義中,要面臨殘酷競爭,有些企業成功、有些失敗,投資這些公司,自然有風險,投資獲利就會受損
② 大家一窩蜂搶相同標的
大家常會一窩蜂搶相同標的,價格就會越來越高,容易變成一種賭博,價格被炒高後,怎麼投資都沒辦法了

  1. Warren Buffett:「水管工人是有用的,而理財經理是沒有用的。」凱因斯認為,投資管理是下等行業,大多數投資管理者只會在股市你爭我奪,而那只是零和遊戲。
  2. 客觀的態度是很重要的,意味著做決定時,能不受情感、期望、恐懼、焦慮、自欺等所有純粹主觀因素的影響。
  1. 蒙格推薦書目 (https://bit.ly/38vQhZm)

書名
簡介
本書告訴你如何建立核心投資組合,以及管理投資組合所需的智慧。
經由本書,讀者可以學到六大通用原則,並知道如何運用這些原則而成為一個有技巧的說服者,和如何讓自己免於被這些原則「反將一軍」。這是一本所有人都適合閱讀的書籍。
不只蒙格推薦本書,連微軟創辦人比爾蓋茲都說:本書不但在理解人類歷史層面充滿了魅力,也精彩地描寫了如何運用起步優勢優,在高度競爭的環境中獲得早期成功。為商業界以及對科技成功之道感興趣的人士,提供了極具參考性的範例。
本書是已逝的Intel創辦人葛洛夫的著作,教導我們預測變局,創造轉機。本書不但針對企業經營者,也針對所有的受薪階級與個人,提出一套全面性的策略性思維模式。
這本書充滿想像力,就像科幻小說……任何生物,包括我們,都只是求生機器,暗地裡已被輸入某些程式,用來保養那些叫做基因的自私分子。
以充滿創意的手法,將極端學術性的人類遺傳學知識寫成人人可讀的科普讀物。
溫度不只是數字,還有更深層的意義。溫度保持穩定,對我們很重要; 然而,生命適應各種溫度的彈性超乎您的想像!
深海熱泉附近的110℃高溫海水中,竟然可找到活生生的細菌;冰封於南極底下的地下湖,有個與世隔絕的生態系。這些現象,給了我們許多聯想!
我們居住的世界似乎是個複雜的地方,即使存在一些似乎永恆的真理(蘋果總是掉到地下而不是天上,太陽總是由東邊升起而不是西邊)。儘管仗著現代科技的幫助,我們的生活往往仍必須提防突如其來的意外事件。
本是化外之地的蘇格蘭,在十八世紀搖身一變,成為現代文明的搖籃--民主制度、自由經濟、工業革命……,蘇格蘭人的「發明」奠下現代世界的基石,影響力至今不墜。
為何天才成群且同時降臨地處偏遠的蘇格蘭,使蕞爾小國成為推動現代世界運轉的巨輪?《蘇格蘭人如何發明現代世界》,解開這道連大部分蘇格蘭人也無法回答的問題。
故事從帕特諾伊離開第一波士頓跳槽到摩根士丹利的衍生性金融商品部門開始講起,這個部門在短短兩年的時間,一共賺到十億美元上下的佣金,可說是世界上最會賺錢的團體。帕特諾伊揭露華爾街這群最精明的人,如何在金融市場上大開殺戒,坑殺無辜的客戶。