guthub_gist_程式碼區塊

2016年2月21日 星期日

音樂練習秘訣

188 - Sweet Music - Explored - Thank you very much :)

(文章摘自網路)
任職於茱莉亞音樂學院的Kageyama博士,回到家裡在督促自己的孩子練習樂器時,原本也是抱持「多次重複練習就會做得更好」、「一次又一次的累積才能培養紀律」等耳熟能詳的觀念,但身為專家,他更知道這些觀念只說對一半:事實上,要在練習中得到最佳成果,應該是要練得更聰明,而非練得更辛苦。

但怎麼樣才叫「練得聰明」呢?
從表現較好的人身上,歸納出幾個練習特色:
1. 在練習中,他們很快就可以做完單手練習,開始兩手並練。
2. 很快就有音調變化,這顯示他們對演奏的音樂有了最初的概念。
3. 練習時有思考,這可以從他們暫停下來看著樂譜、哼唱、做記號、發出「啊哈!」的理解聲中觀察得到。
4. 一出錯就會馬上停下勘誤。
5. 錯誤發生時,會馬上強調它。
6. 每個錯誤的位置與來由都被清楚標明、重新演練與糾正。
7. 重複樂段直到改正錯誤、能夠穩定的演奏它為止,所以他們不會在接下來的練習及最後受試中再彈錯。
更明顯的說,「如何處理錯誤」就是其中的關鍵。最好的鋼琴家不是不犯錯,而是他們用有效的方式來處理錯誤,以免一再犯錯。

至於具體來說,他們如何克服錯誤?
  • 有些人是分左右手練習、有些是將音樂分段來彈,但不論怎麼做,這些方法都有一個共同的特色:放慢速度
  • 最好的演奏者在犯錯時,會帶著猶豫、慢速但不間斷地重複,直到停在上次彈錯的地方之前,這似乎有助於他們更準確地再次挑戰出問題的部份、用能夠掌握的速度把修正後的演奏拼湊起來,而非一直重複錯誤卻找不出問題所在。

2016年2月20日 星期六

Design Thinking 有感

Design Thinking

 前陣子看到一篇網路文章:
上面這篇文章基本上就是在寫Design Thinking(設計思考)的實作流程。


其實經過一段時間的體會、幾個Project的應用後,我對其中幾句更有共鳴:
  • 如果你創業失敗,那都是因為你並沒有解決『最基層』的問題,找不到足夠的用戶。 
  • 「驗證你產品的需求」比任何事情都還重要!比產品的特色、你的團隊、設計、售價等等等等等都還要重要。因為沒有市場的驗證,你製造出來的不過就是沒人願意掏腰包的垃圾。 
  • 要找出問題很簡單,但你要知道你真正需要、找尋的是「第一級:基礎、必要解決」的問題;換句話說,你要找的問題是你的目標客戶排名前 3 願意立馬解決的問題。………如果你的產品無法解決前 3 大問題,就算你的產品再好、你有多強,大家也不會率先挪用資源來跟你買產品。大家根本沒有時間、預算給你,因為你解決的不是他們最迫切的問題。………這可能是創業家最常忽略的一項事實,大多數人的心態都是「但我的產品是最棒的,一旦他們用了他們就一定會付錢!」 
  • 接著你應該列出 20 ~ 50 個符合標準的目標客戶;並前往訪問:
    1. 這個問題對他們來說真的是「痛點」嗎?(有重要到排進前 3 名嗎?)➜ Must Have !
    2. 他們會願意付費來解決這個問題嗎?
    3. 千萬!千萬!不要推出「有也不錯(Nice to Have)」的產品,因為人們會用你的產品,卻絕不會花錢買它。 
  • 產品中 80% 跟別人差不多是可容許的,但剩下的 20% 必須要比競爭對手更好,不是不一樣,而是「卓越」。你要創造出一個客戶一眼就可以看出的特色,讓別人知道你強在哪裡。

最後提醒一點:
        千萬一定要搞清楚你的目標客戶是誰!你要解決的絕對是「直接付你錢的人」的問題!除非你是品牌商、通路商、系統廠,不然通常終端使用者一般不會是你的目標客戶,切記!


2016年1月12日 星期二

(在Kernel中) 為什麼不應該使用"volatile"類型

Linux kernel map



(Kernel) 為什麼不應該使用"volatile"類型     by Jonathan Corbet

原文出自Linux kernel source code"\Documentation\ volatile-considered-harmful.txt"

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

C程式師通常認為volatile表示某個變數可以在當前執行的執行緒之外被改變;因此,在Kernel中用到共用資料結構時,常常會有C程式師喜歡使用volatile這類變數。換句話說,他們經常會把volatile類型看成某種簡易的atomic變數,當然它們不是。在Kernel中使用volatile幾乎總是錯誤的;本文檔將解釋為什麼這樣。

理解volatile的關鍵是知道它的目的是用來消除優化,實際上很少有人真正需要這樣的應用。在Kernel中,程式師必須防止意外的concurrent access訪問破壞共用的資料結構,這其實是一個完全不同的任務。用來防止意外concurrency的保護措施,可以更加高效的避免大多數優化相關的問題。

volatile一樣,Kernel提供了很多原語來保證concurrent access時的資料安全(自旋鎖, 互斥量, memory barriers等等),同樣可以防止意外的優化。如果可以正確使用這些Kernel原語,那麼就沒有必要再使用volatile。如果仍然必須使用volatile,那麼幾乎可以肯定在代碼的某處有一個bug。在正確設計的Kernel代碼中,volatile能帶來的僅僅是使事情變慢。

思考一下這段典型的Kernel代碼:

    spin_lock(&the_lock);
    do_something_on(&shared_data);
    do_something_else_with(&shared_data);
    spin_unlock(&the_lock);

如果所有的代碼都遵循加鎖規則,當持有the_lock的時候,不可能意外的改變shared_data的值。任何可能訪問該資料的其他代碼都會在這個鎖上等待。自旋鎖原語跟記憶體屏障一樣—— 它們顯式的用來書寫成這樣 —— 意味著資料訪問不會跨越它們而被優化。所以本來編譯器認為它知道在shared_data裡面將有什麼,但是因為spin_lock()調用跟記憶體屏障一樣,會強制編譯器忘記它所知道的一切。那麼在訪問這些資料時不會有優化的問題。

如果shared_data被聲名為volatile,鎖操作將仍然是必須的。就算我們知道沒有其他人正在使用它,編譯器也將被阻止優化對臨界區內shared_data的訪問。在鎖有效的同時,shared_data不是volatile的。在處理共用資料的時候,適當的鎖操作可以不再需要volatile —— 並且是有潛在危害的。

volatile的存儲類型最初是為那些記憶體映射的I/Oregister而定義。在Kernel裡,register訪問也應該被鎖保護,但是人們也不希望編譯器“優化”臨界區內的register訪問。KernelI/O的記憶體訪問是通過訪問函數完成的;不贊成通過指標對I/O記憶體的直接訪問,並且不是在所有體系架構上都能工作。那些訪問函數正是為了防止意外優化而寫的,因此,再說一次,volatile類型不是必需的。

另一種引起使用者可能使用volatile的情況是當處理器正忙著等待一個變數的值。正確執行一個busy wait的方法是:

    while (my_variable != what_i_want)
        cpu_relax();

cpu_relax()調用會降低CPU的能量消耗或者讓位於超執行緒雙處理器;它也作為記憶體屏障一樣出現,所以,再一次,volatile不是必需的。當然,busy wait一開始就是一種反常規的做法。

Kernel中,一些稀少的情況下volatile仍然是有意義的
  1. 在一些體系架構的系統上,允許直接的I/0記憶體訪問,那麼前面提到的訪問函數可以使用volatile。基本上,每一個訪問函式呼叫它自己都是一個小的臨界區域並且保證了按照程式師期望的那樣發生訪問操作。

  2. 某些會改變記憶體的內聯彙編代碼雖然沒有什麼其他明顯的附作用,但是有被GCC刪除的可能性。在彙編聲明中加上volatile關鍵字可以防止這種刪除操作。

  3. Jiffies變數是一種特殊情況,雖然每次引用它的時候都可以有不同的值,但讀jiffies變數時不需要任何特殊的加鎖保護。所以jiffies變數可以使用volatile,但是不贊成其他跟jiffies相同類型變數使用volatileJiffies被認為是一種"愚蠢的遺留物"by Linus)因為解決這個問題比保持現狀要麻煩的多。

  4. 由於某些I/0設備可能會修改連續一致的記憶體,所以有時,指向連續一致記憶體的資料結構的指標需要正確的使用volatile。網路介面卡使用的環狀緩存區正是這類情形的一個例子,其中適配器用改變指針來表示哪些描述符已經處理過了。

對於大多代碼,上述幾種可以使用volatile的情況都不適用。所以,使用volatile是一種bug並且需要對這樣的代碼額外仔細檢查。那些試圖使用volatile的開發人員需要退一步想想他們真正想實現的是什麼。

非常歡迎刪除volatile變數的補丁 - 只要證明這些補丁完整的考慮了concurrency問題。

2015年1月13日 星期二

Whisky飲用法

Whisky

(整理自網路資訊)

Straight  純飲

純飲意指100%純粹酒液無任何添加物,可恣意讓威士忌的強勁個性直接衝擊感官,可以說是最能體會威士忌原色原味的傳統品飲方式,實際上大多數的消費者都無法接受這種直接受到衝擊的飲法,會導致味覺遲鈍,因此採用純飲方式的大多屬行家級數。
   
補充1:一說長期喝太高濃度的酒精飲料,容易造成咽喉癌,慎之。

補充2:也有加入幾滴水來飲用的,因為這樣能帶出香氣。其原理是因為部分芳香物質存於酒精中是相對安定的,當有很少量的水份加入時,原本穩定的結構就被破壞,使得芳香物質較容易揮發出來。


With water  加水

堪稱是全世界最大宗的威士忌飲用方式,即使在蘇格蘭,加水飲用仍大行其道。許多人認為加水會破壞威士忌的原味,其實加適量的水並不致於讓威士忌失去原味,相反地,此舉可能讓酒精味變淡,引出威士忌潛藏的香氣,換句話說,若是品質不佳的威士忌加水,也可能醜態盡出。

兌水喝是公認最平衡又最能喝出威士忌味道的喝法(比例因酒等級不同需要微調),純威士忌加大塊角冰次之。

兌水喝的學問就在於比例跟溫度的拿捏。

依據學理而論,將威士忌加水稀釋到20%的酒精度,是最能表現出威士忌所有香氣的最佳狀態。不過加水的主要目的是降低酒精對嗅覺的過度刺激,然而酒精對嗅覺的刺激度,並非單單取決於酒精濃度。就威士忌而言,同樣的酒精濃度,低年份便較高年份有更強的刺激性,因此要達到最佳釋放香氣的狀態,低年份威士忌所需稀釋用水的量,便會高於高年份威士忌。

一般而言,1:1的比例,最適用於12年威士忌,低於12年,水量要增加,高於12年,水量要減少,如果是高於25年的威士忌,建議是加一點水,甚或是不需要加水。

另有一說是,40%酒精度的威士忌是三份酒兌一份水(約降低到30%酒精度);60%酒精度是兩份酒兌一份水(約降低到40%酒精度)。

稀釋用水的差異性會不會影響威士忌的品質?答案是肯定的。一般而言,純水較能維持威士忌的原貌,軟水會讓威士忌口感變圓滑柔順,硬水會讓威士忌更具層次感,飲者可視自己的口感需求使用不同礦物質含量的礦泉水(最好是不要有太多礦物質)。



With rocks  加冰塊

此種飲法又稱on the rock,主要是給想降低酒精刺激,又不想稀釋威士忌的酒客們另一種選擇。然而,威士忌加冰塊雖能抑制酒精味,但也連帶因降溫而讓部份香氣閉鎖,難以品嚐出威士忌原有的風味特色。

加冰塊也有增加視覺美感的效果,讓飲酒時的氣氛添加品味、浪漫的情調,要儘量使用單個大型冰塊,不但較美觀,也能避免冰塊融化速度過快而讓威士忌變得淡而無味。

而如果只想要用降溫來減低酒精刺激度,又不想讓融化的冰水影響威士忌口感,還有一種稱為「凍飲」,將威士忌整瓶拿去冷凍庫凍到零度以下再開瓶享用的方式可供選擇。



With water and rocks  (日本)加水加冰塊

此種飲法是由日本Suntory公司為呼應日本的飲食文化所創,稱為「水割」(Mizuwari),在日本有高達80%以上的人,以「水割」的方式品飲威士忌,在台灣,也有不少消費族群以此法飲用威士忌。

水割的飲用方式為先在杯中加入冰塊,再以1 : 2.5的比例先加入威士忌,然後再加水。Suntory公司認為,這是水割的黃金比例,而實際上以這種方式所呈現出的淡雅風味,確實是相當適用於餐桌,堪稱是威士忌餐酒配的最佳飲用方式。
   
而水割飲法之所以能風行,主要是以酒佐餐時,1:2.5比例的威士忌的酒精濃度不會影響味覺,用餐者不但能夠品嚐到料理的美味,同時也能享受到威士忌醇美芳香的風味。若以酒精濃度4.5%,630ml容量之啤酒,所含之酒精克數為基準做比較,啤酒的熱量為258cal,糖份為20.5g,而威士忌熱量為158cal,糖份僅為0.01g;而水割飲法將原本威士忌40%的酒精濃度沖淡到只有9%,不但更易入喉,就健康的觀點來看,加水調和的威士忌,也相對減少了對胃及肝臟的傷害。    



With soda  (美國)加汽水

以烈酒為基酒,再加上汽水的調酒稱為Highball,以Whisky Highball來說,加可樂是最受歡迎的喝法(Whisky Coke),不過綜合比較下來,以加上可樂所呈現的口感而言,美國的玉米威士忌普遍優於麥芽威士忌及穀類威士忌,因此Highball喝法中,加可樂普遍用於美國威士忌,至於其他種類威士忌,大多是用薑汁汽水等其他的蘇打水調製。



With green tea  (中國)加有甜度的綠茶

日本人發明「水割」,中國人則發展出「加綠茶」的創新飲法,此喝法據說是Pernod Ricard公司(Ballantine's、Chivas Regal...的總代理)在中國推行威士忌時,所想出的行銷點子。如今「威士忌加綠茶」已風行全中國,且特別受到年輕族群愛戴。

在世界各國人的眼中,威士忌加上有甜度的綠茶,是相當不可思議的飲用方式,但「飲法無對錯,喜好在個人」,美國人愛加可樂,中國人則選擇加綠茶,其實各有千秋,相當合情合理。



Hot Toddy  (蘇格蘭)熱飲法

在寒冷的蘇格蘭,有一名為「Hot Toddy」的傳統威士忌酒譜,它不但可袪寒,還可治癒小感冒。Hot Toddy的調製法相當多樣,主流調配法多以蘇格蘭威士忌為基酒,調入檸檬汁、蜂蜜,再依各人需求與喜好加入紅糖、肉桂,最後拌與熱水,即成禦寒又好喝的調酒。
   
   
   


其他補充:

*威士忌這樣點

瞭解了品飲方式,在酒吧裡若想單點一杯威士忌,份量多寡也有一定說法。單份Single、雙份Double,也有人說「一指」、「兩指」,代表倒入威士忌酒杯的量。單份約30ml,而在標準威士忌杯倒入30ml的酒,差不多就是一個手指橫臥的高度。  

*有此一說

若同一時間如果有 12Y 17Y 21Y 25Y 40Y 那就 21 25 40 12 17 這樣喝,但不知原理為何?

2014年12月31日 星期三

增肌、減脂的共同飲食原則




先把結論寫在前面:
不管是要增肌還是減脂,飲食都要遵循這兩個原則
1. 少量多餐
2. 要盡量吃低GI值的食物(GI:升糖指數

主因:這一切都與血糖的波動幅度有關。
細述:
    1. 當吃進大量的食物後
    ➜血糖會劇烈升高
    ➜胰島素會大量分泌
    ➜讓血糖轉成脂肪存進脂肪細胞
    ➜這就是為什麼要減脂的人必須控管血糖波動幅度!

    2. 承上,當胰島素大量分泌
    ➜血糖會快速下降
    ➜很快的低於平常應該有的量
    ➜升糖素會大量分泌
    ➜分解身上的組織轉換成血糖釋放到血液裡
    ➜而身上的組織,也包括了肌肉。這是為什麼要增肌的人也必須控管血糖波動幅度! 

    3. 因為肌肉相比於脂肪是高耗能的組織,身體在需要分解組織時,會選擇高耗能又不做事的組織來分解
    ➜不常訓練的肌肉就會優先被分解
    ➜若又保持大吃大喝的習慣,則慢慢的脂肪會愈來愈多,肌肉會愈來愈少
    ➜再加上年齡漸大,身體的基礎代謝率降低,血糖轉成脂肪累積起來的量相對又更多,則中年發福當「腹腫」就是常見的現象

總結:
  • Q:少量多餐、吃低 GI 值的食物如何幫助控管血糖波動幅度? 
  • A:
    • 少量多餐:比起一次吃進大量食物,分多次吃進較少量的食物,讓血糖不會一次升高太多,胰島素不會分泌那麼多,也就不容易在接下來的階段血糖不小心降太低而讓升糖素分泌,進而分解肌肉。
    • 低 GI 值食物:GI 值越低的食物,吃下肚後分解的速度比較慢,因此能夠有效抑制你的血糖忽然升高。

2009年6月8日 星期一

歌劇「阿依達」(Aida)


劇情場景(Act 2,Scene 2):群眾夾道歡呼埃及大軍勝利歸來。


先說在前面,這裡的Aida可不是日本的Aida。

終於把這部威爾第(Giuseppe Verdi)的義大利文著名歌劇看完,劇情在
wikipedia介紹的很清楚,就不多談。
據說阿依達是史上演出次數最多的一部歌劇,同時也是威爾第規模最龐大的歌劇。
看到劇中男主角凱旋歸來時的遊行場景,馬匹、騾驢全都上了舞台,埃及場景之震撼、演員陣容之浩大,甚至超過許多電影,讓我大開眼界!


直接說說我喜愛的七首曲目:

1.Act1 Scene1
合唱曲:Su! del Nilo al sacro lido(奮起吧!趕赴尼羅河的神聖河岸)
一開始只有一人緩緩唱出,後面合唱跟著出來,氣勢恢弘,十分感人,應該有很多小伙子聽著聽著就傻傻的跟著一起出征了。


2.Act2 Scene1
舞曲:Danza di schiavi mori
這首曲子是奴隸們為公主獻上的一段芭蕾舞的配曲,詼諧、輕快、不自覺的就會跟著一起跳舞。


接下來3,4,5,6這4首曲子在劇中是連續出現的:
3.Act2 Scene2
合唱曲:Gloria all'Egitto, ad Iside(榮耀歸於埃及和伊希絲女神)
雄壯威武,氣壯山河,慶祝著大軍凱旋歸來。這首曲子據說是歐洲足球比賽時,球迷常唱的名曲喔~但是此處只算是先小試身手,後面有更厲害的。


4.Act2 Scene2
樂曲:Marcia trionfale(凱旋進行曲)
大軍行進間的音樂,小號的音色很棒,輕鬆又爽朗。


5.Act2 Scene2
舞曲:Ballabie(芭蕾祝賀場景)
又是一首輕快的芭蕾舞音樂,曲風很有異國色彩,辨識度也很高。


6.Act2 Scene2
合唱曲:Vieni, o guerriero vindice(歡呼迎接凱旋軍)
勝利將軍終於出場,當然
氣勢如虹


7.Act2 Scene2
合唱曲:Gloria all'Egitto(榮耀歸於埃及)
這首曲子在這幕即將結束之前,趁著劇中主角皆在場上,再度出現,氣勢更強。諸位男女高音帶著合唱團將熱血澎湃的歌聲衝上雲霄,將此劇高潮推到頂點。


CD第一版本為EMI的世紀原音-Muti指揮,Caballe/Domingo
DVD第一版本為DG大都會Levine指揮

2009年4月6日 星期一

歌劇「費加洛的婚禮」(Le Nozze di Figaro, The Marriage of Figaro)

劇情場景(Act 1):伯爵前來調戲女僕蘇珊娜,小雜役凱魯比諾躲在一旁


終於把這部莫札特(Wolfgang Amadeus Mozart)的義大利文著名歌劇看完,劇情在wikipedia介紹的很清楚,就不多談。

雖然劇情有點胡鬧
(強逼費加洛要娶她的老女人竟然是費加洛失散多年的母親,這還不胡鬧嗎?)

但是莫札特音樂真的沒話說,
直接說說我喜愛的四首曲目:


1.序曲(Overture)
這首序曲節奏輕快、聽了令人心情愉悅,而且緊湊的高潮樂段快速的出現,不拖泥帶水,馬上就緊抓所有人的注意力。



2.第一幕(Act 1)中的最後一曲
詠歎調:Non piu andrai (再也不能),又稱「從軍歌」
演唱者:費加洛(Figaro)
「從今天起,你再也不能像隻花蝴蝶到處飛舞了,你必須在戰場上衝鋒陷陣、展露勇氣。祝你帶著軍隊的榮耀,凱旋歸來!」



3.第二幕(Act 2)中的第二曲
詠歎調:Voi che sapete(你們這些女士),又稱「愛情的煩惱」
演唱者:凱魯比諾(Cherubino)
這是一首輕快、優美、浪漫的曲目,應該是此劇中必聽的曲目。

<歌詞中譯>
女士 妳可知 愛情為何物
誰能告訴我
充塞我心頭的是否就是愛情

讓我告訴妳我的感受吧
這是超出我理解的新奇體驗
我感到滿腔的渴望
時而歡愉、時而痛苦
倏然我僵住
接著活力再次湧現
但就在下一個瞬間
我又墮入冰窖
我尋找身外的幸福
卻不知此為何物
亦不知向誰索尋
我嘆息復呻吟
而一籌莫展
我焦躁而顫抖
而不知所以
我無法安寧
不分晝夜
然而這般的折磨
卻也是最純粹的歡愉…

女士 妳可知 愛情為何物
誰能告訴我
充塞我心頭的是否就是愛情



4.第三幕(Act 3)中的第六曲
寫信場景二重唱(Letter Duet): Cosa mi narri!...Che soave zeffiretto
演唱者:伯爵夫人(Countess Almaviva)、蘇珊娜(Susanna)
「今夜微風輕吹,我倆約會松樹林......」

也就是電影The Shawshank Redemption(台譯:刺激1995)中男主角播給囚犯們聽的那一段曲子(關於此電影的命名、劇情與受歡迎程度又各自有一大段有趣的故事,網路上資訊應該很多)。

兩位女高音的天籟和聲,彷彿讓人已經隨著微風輕吹而飄起,幽然地遠離俗世喧囂...真是美呀!




推薦CD第一版本為1955年老克萊巴(Erich Kleiber)指揮維也納愛樂的版本
CD第二版本為Vittorio Gui(古伊)指揮Glyndebourne festival(英國格蘭得彭歌劇音樂節) orchetra & chorus。
DVD第一版本為Gardiner率English Baroque Soloists在巴黎Chatelet劇院的1994現場錄影,錄音細節豐富。
DVD第二版本為DG電影版,由Karl Bohm指揮維也納愛樂,眾星雲集,是安全版本。