小松鼠嚇了一跳,有了魔法眼鏡後,這世界看起來完全不一樣了

2006年3月21日 星期二

Match Point 愛情決勝點

Woody Allen 編導的新片,是一部挺有趣的片子,適合剛打完撲克、但是還不太累的時候去看的。

這部片子的第一句台詞,說明了一切,
The man who said "I'd rather be lucky than good" saw deeply into life. People are often afraid to realize how much of an impact luck plays.

這句話還挺有意思的,就像 HoH 上面一開始就講到了他的運氣,不光是那種我怎麼一直拿到 75,64的運氣,而是更多會讓你忽略的運氣成份,有時成敗只在一線之間。

如果不知道感謝誰,就感謝天吧。

至於這部片的內容,我怎麼一直覺得有種背著老婆偷偷跑去打牌的感覺?

2005年3月3日 星期四

Python: webserver 轉碼 寄信



Webserver
python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"


寄信
simplemapi.SendMail("xxx@gmail.com","title","body text","attachment")


列出目錄下面的檔案並且照檔案修改時間順序排列
l=os.listdir(".")
l.sort(key=lambda x:os.stat(x).st_mtime)


轉碼 (utf-8 到 big5)
python -c "import sys; \
sys.stdout.write(sys.stdin.read().decode('utf-8').encode('big5'))"


2004年12月6日 星期一

賭客在英國破解輪盤

Slashdot 上的相關新聞
以及之前的消息

主要是這些人使用手機內藏雷射設備來增測輪盤上的球運行速度,把資料傳到遠方的電腦主機,利用物理來計算球可能的落點,落點預測當然不用100%準確,只要能把可能性縮小就非常夠了。

這個概念在很早以前就有人做過了
70,80年代
Amazon.com: Books: The Eudaemonic Pie
Amazon.com: Books: Newtonian Casino
更早十九世紀時
Joseph Jaggers

輪盤冷知識:
西曆2004年春,英國倫敦人士 Ashley Revell 售盡全身家當衣物籌得美金拾參萬伍仟參佰圓整,隻身前往美國拉斯維加斯城之 Plaza 旅館,欲以一注與賭場決勝負,Double or nothing。
是日,Revell君於輪盤前,氣定神閒,押下身家於紅色一注。小球繞行輪盤數圈後,終落於紅色七號格內,Revell氏抱得二十七萬零六百美元,志得意滿而歸,從此不再言賭。

輪盤被稱為魔鬼輪,因為上面的數字總和是 666,西方聖經傳統上的惡魔數字。

2004年11月2日 星期二

The Ferengi Rules of Acquisition

Ferengi 是 Star trek 世界中的一個外星種族,在 TNG 中首度出場,但是在DS9 中才得以發揮。

Ferengi 在 Star trek中給人的印象通常是貪婪、沒有道德觀,實際上呢,相較於該劇中過於理想化的「人類」,Ferengi 只是象徵著人性的另一面、另一種可能。

Ferengi 人善於經商,也善於賭博,他們的傳統遊戲 Tongo 就是類似於撲克、或者說是比撲克更佳先進的遊戲。劇中曾經有說過當時 Tongo 仍然是電腦無法解決的遊戲。撲克也是現在電腦還沒有解決的遊戲。

Ferengi 人有一本聖經叫做 The Ferengi Rules of Acquisition,對於玩撲克的人來說,裡面有許多條文頗值得玩味。
下面列出一些:
Rule 001 »

Once you have their money, you never give it back.

這個基本上就是這個遊戲的精神。

Rule 002 » The best deal is the one that brings the most profit.

基本,但是很容易忘記。

Rule 003 » Never spend more for an acquisition than you have to.
能夠用一個 bet bluff 成功,就不要用兩個。

Rule 007 » Keep your ears open.

Rule 009 » Opportunity plus instinct equals profit.
機會加上直覺等於獲利。

Rule 010 » Greed is eternal.
沒有賺太多錢的時候。

Rule 011 » Even if it's free, you can always buy it cheaper.
我沒有說我懂這句話在撲克上怎麼用,不過看起來很有意思。

Rule 012 » Anything worth doing is worth doing for money.
Rule 013 » Anything worth doing is worth doing twice.
這個告訴我們如果你相信你的牌夠贏了,就要大膽的投入資金。

Rule 018 » A Ferengi without profit is no Ferengi at all.

Rule 020 » Only give money to people you know you can steal from.

Rule 027 » There's nothing more dangerous than an honest businessman.
嗯,其實有,一個誠實的撲克玩家。


Rule 034 » War is good for business.
Rule 035 » Peace is good for business.
一個太激烈或者太平淡的牌局都有利可圖。


Rule 037 » If it's free, take it and worry about hidden costs later.
有的時候後這點很重要。

Rule 039 » Friendship is temporary; profit is forever.
在牌桌上有時會有短暫的策略結盟。

Rule 040 » She can touch your lobes, but never your Latinum.
呵呵。

Rule 041 » Profit is its own reward.
要當一個受大家尊敬的玩家還是大贏家?
讓我選一百次我會選大贏家一百次。

Rule 042 » What's mine is mine, and what's yours is mine too.
這就是這個遊戲的運動家精神。

Rule 044 » Never confuse wisdom with luck.

Rule 051 » Reward anyone who adds to your profits so they will continue to do so.
你知道「nice hand」要怎麼用了吧!

Rule 052 » Never ask when you can take.
能夠現在就贏的,就現在贏。

Rule 057 » Good customers are as rare as Latinum, Treasure them.
我實在搞不懂為什麼有人會因為別人玩的很差、不正確而生氣?

Rule 058 » There is no substitute for success.
贏就是贏,輸就是輸。

Rule 059 » Free advice is seldom cheap.

Rule 060 » Keep your lies consistent.
Keep your bluffs consistent too.

Rule 062 » The riskier the road, the greater the profit.
有時要冒必要的險。

Rule 085 » Never let the competition know what you're thinking.
是的。

Rule 095 » Expand or die.
比賽時的心態。

Rule 100 » If they take your first offer, you either asked too little or offered too much.

Rule 125 » You can't make a deal if you're dead.
只要還有籌碼,都有機會翻本。

Rule 143 » Risk is part of the game... play it for all it's worth.
Rule 152 » A lie is a way to tell the truth to someone who doesn't know.
你總是可以把 lie 當成 bluff 或其它的欺敵戰術。

Rule 189 »

Let others keep their reputation. You keep their money.

Rule 190 »

Hear all, trust nothing.

Rule 192 »

Never cheat a Klingon... unless you're sure you can get away with it.
Never bluff a miniac

Rule 202 »

The justification of profit is profit.
撲克策略的好壞與否從實戰決定。

Rule 208 »

Sometimes the only thing more dangerous than a question is an answer.
好奇心殺死貓。

Rule 214 »

Never begin a business negotiation on an empty stomach.

也不要空著肚子玩牌。

Rule 216 »

Never gamble with an empath.


Rule 218 »

Always know what you're buying

每一個下注的籌碼都要有價值。

Rule 231 »

There's a sucker born every minute; be sure you're the first to find each one.


Rule 236 »

You can't buy fate.


Rule 239 »

Never be afraid to mislabel a product.

把 72o 當成 AA 來賣。

Rule 242 »

More is good... all is better.

所以大家喜歡 all-in

Rule 260 »

Life's not fair. How else would you turn a profit?


Rule 267 »

If you believe it, they believe it.

欺敵的心法。

Rule 277 »

Anything worth fighting for is worth hiding from.

Slow play 的原理。

Rule 285 »

No good deed ever goes unpunished.


The Unwritten Rule

»

When no appropriate Rule applies, make one up!
以無法為有法,以無限為有限。

2004年9月30日 星期四

魔術與撲克

trick.jpg
西索曾經說過:「魔術師無所謂的不可能」。
就像駭客們說的 "Anything can be hacked",既然黑客與撲克有關,那魔術與撲克自然也可以有關了。
魔術最重要的一個觀念就是「錯誤引導」(misdirection),這也是撲克之中相當重要的概念。
David Sklansky 的著作中開宗明義的就以撲克基本定理來說明不讓對手猜出你的底牌的重要性。
當然我們不需要看書就知道不讓對手知道你的底牌是很重要的了。
所以撲克戰術中除了想辦法在機率上做出正確的決定之外,一個最重要的部分就是想辦法不讓對手看穿你的策略,甚至更進一步的,誤導對手,讓他誤以為看穿你的策略而掉入圈套。
撲克中的 Slow play, Check Raise, Semi-bluffing 等常見戰術都有誤導對手的成分在。
高手具備的換檔能力也是基於這個原則的戰略。

當然同樣的,能夠看穿對手的底牌能夠對你都有利自然也不在話下。
魔術師自然有許多技法能夠找出觀眾抽出的牌,甚至心裡想的牌。
很多這樣的方式就算是出千了,稍有自尊心的牌手即使會,也不願意使用。但是有一種方式卻是可以使用的,那就是讀心術,或者說是讀人術。
就像基本撲克魔術「脈搏找牌」台詞所說的,利用脈搏頻率的變化看穿人心一樣,靠著對手的小動作猜測對手可能的底牌是完全合法的。
心靈魔術師往往能夠藉由簡短的談話靠著所謂的 Cold Reading 技巧猜出你的祖宗八代、生辰八字、昨天吃了什麼。
著名的心靈魔術師不少,台灣魔術師測心術粘立人大師早期在電視上演出過測心術單元,當今最有名的心靈魔術師則屬英國的 Derren Brown,美國的 Max Maven,Richar Osterlind等人。
Max Maven 有來過台灣,上過電視,日本的異能者也曾在台灣預測過股市的收盤指數。

Derren Brown 就是那個玩俄羅斯羅盤的那個魔術師,這個網站上有一些他的節目片段,相當有趣,看他表演心靈控制,讀心術以及測謊術。

另外賭片上面常常可以看到賭神、賭俠們的各式各樣花式牌技,比方說扇牌、單手洗牌、瀑布洗牌、手風琴拉牌、以及傷人於百步之外的神奇射牌等等,大部分的撲 克牌魔術師多少都會一點,反倒是賭徒們即使是會,也不願意太常表現這些,想想如果你在玩牌前,先學賭神洗出一條龍,飛出四條Ace,魚都被嚇跑一半了。

延伸書目:

射牌武術的經典
Ricky Jay, Card as Weapon, Warner Books, March 1977
以及其它的射牌術專著

測謊心裡相關
Mac Fulfer, Amazing Face Reading: An illustrated encyclopaedia for reading faces, Good Press, 1997

Aldert Vrij, Detecting Lies and Deceit : The Psychology of Lying and the Implications for Professional Practice, John Wiley & Sons, March 14, 2000
這本書收集了科學上的成果


Derren 的表演
Derren Brown, Inside Your Mind, NC4, ?


心靈魔術教學
Richard Osterlind, Mind Mysteries Volume 1 - 4, L&L, 2003

Max Maven, Video Mind Series, L&L, ?

以及
Bob Cassidy, Phil Goldstein等的心靈術名著。

2004年9月4日 星期六

撲克與黑客

"Anything can be hacked"(什麼東西都有搞頭),這是Hacker圈流傳的一句話。

題外話,Hacker/ 黑客,正體/繁體中文常見的譯名是「駭客」,但是撲克和黑客比較押韻,當然我也可以只說台灣的譯名,但是說正體/繁體中文比較酷/Cool/褲一點,我還 特別把正體放在繁體前面,因為會用正體這個詞的人通常比較在乎正名這回事,夠體貼/政治正確吧!/?/。

回到原來的話題,"Anything can be hacked",所以不但是電腦軟體硬體可以成為Hackers的玩具,真正黑到最高點的玩家是無可不駭的,到達飛花落葉皆可傷人的境界。

所以PDA的紅外線接受器能夠拿來當跑步里程器,相機可以拿來跑大型電動模擬器,幾條水管接一接可以組成水電腦,天竺鼠跑圈圈可以拿來發電,例子不勝枚舉。

更高竿一點的,會發現能搞的對象無非就是人與物兩類,要不然就是利用自然的原理與邏輯來個四兩撥千金,比方阿基米德就算是這方面的始祖之一,他的曹沖秤象與雙頭肌撥地球都是有名的例子。

要不然就是利用人類的弱點拿來玩耍,駭客裡面的社交工程技巧就是典型的例子。

電腦方面一來有邏輯與自然法則可供探索,二來由於人類的設計常常會有疏忽的地方,所以是Hacker們的最佳遊戲場所。

但仔細觀察,還是有很多其它也不錯的遊樂場,我們不需一定要學竹林七賢劉伶的以天地為家,房子為衣褲這樣,或者說到達美酒貴公子佐竹城那樣把世界當成我的外場的境界,到達到最高境界是很難而且很無聊的。一個可以玩的東西是遊戲。

我不是說遊戲破解保護之類的東西,而是破解遊戲本身。

這類的駭客始祖之一不是別人,正是鼎鼎有名的蘇東坡大大。

民 間傳說他發明了所謂「東坡棋」的招數。故事說蘇東坡曾在某國(有說是吐蕃,有說是西夏)圍棋第一高手來訪時吹牛說自己是大宋第一高手,對手絕對下不贏他。 那人不信,兩人立刻便紋枰對局,決一勝負。這時蘇東坡就拿出事先想好的方法,在對稱的位置上模仿對方著手,結果終局時就成了和棋。「決不輸棋」的牛皮也就 沒破了。

也有聽說他是拿這招對付佛印的,也有說他是以一敵二對抗兩個外國高手來個乾坤大挪移,畢竟單以模仿棋是無法獲勝的。不知道怎麼贏的人可以向塔史亮小朋友請教。

又比方用二進位來破解拿石頭遊戲「拈」的基本型,也是一個典型的好例子,看似複雜的狀況,裡面含有竅門。

說到竅門,正所謂江湖一點訣,夫妻不可說。駭客除了駭興趣外,如果能夠獲利通常也沒什麼理由反對的。賭場遊戲自然成為駭客的大目標之一。

古有所謂的聽骰黨,利用骰子落下的聲音的細微差別來破解骰子賭局。而白帽駭客澳門賭聖葉漢則利用在骰鐘底下撲絨布的方式修補漏洞。

法 國數學家巴斯卡首創利用機率來分析賭戲,是一種掃瞄漏洞的方式。他的徒子徒孫美國加州大學教授 Edward Thorp在一九六二年使用改良過的掃描器找出了古代黑傑克二十一點賭戲的漏洞,並且發表了擊敗莊家 Beat the Dealer一書。同書中還列出了掃瞄其它賭戲的結果。而後繼者著名的MIT 黑傑克隊伍,更是發揚光大並且身體力行賺進大把鈔票。其經歷記載於Bring Down the House一書。

他們用的方式主要關鍵是算牌。

可惜這個時代已經過去,賭場已經針對這類攻擊加以防範。

除此之外,著名的漏洞還有對輪盤的物理計算攻擊,計算球的速度來推測可能的落點。對吃角子老虎的電子攻擊等等。另外各式大小老千的作弊攻擊則屬於Cracker一流,不勝枚舉。

也許還有新的攻擊方式,畢竟漏洞無所不在,不過要我選,我會選則破解銀行而不是賭場。

如果是破解網路銀行的話,更容易的選擇是破解銀行的一般客戶著手。因為一般人的電腦保護沒有銀行周全。即使有很多人對自己的電腦保護周全,你的對象也不是他們,而是沒有保護周全的多數人。

同 樣的,與其破解賭場,不如破解賭客。撲克牌局就是這樣一個場所。撲克牌局的規則本身沒有漏洞,就像是一個好的電腦軟體系統沒有漏洞一樣,漏洞在使用者身 上。即使在堅強的防護系統,使用者假如把密碼寫在紙條上貼在螢幕旁,任何一個人也可以順利破解。而牌局中,你所依賴的就是你比別人更瞭解這個遊戲,以及你 比別人更瞭解人性。

Hold'em 遊戲中,假如你手上拿了紅心A,6,桌面上四張牌中有兩張紅心,還剩一張牌,你差不多可以假定最後一張牌是紅心時你就會贏,特別是桌面上沒有可怕的牌的時候,比方桌上有三張A,也許有人已經有full house或者鐵支了。

你要簡單的計算52-4-2=46,你拿紅心的機會是9/46,所以這時如果桌面上有100元籌碼,另外一個人下注20,你簡單的計算如果你跟的話,你的獲利期望值是 (120*9-20*37)/46=7.39>0。所以你應該跟。

又或者你拿到 5,7,桌面上是6,4,A,J,沒有同花的危險,最後一張牌如果是3或者8你會贏,所以同樣的情況下,你的獲利期望值是 (120*8-20*38)/46=4.35>0,所以還是可以跟。

但是如果前面的人下的注是30,那同樣的計算你會發現在抽同花的時候,你有正的期望值,而抽順子的時候,則是負的。

很遺憾的,這個在巴斯卡時代就可以掃瞄到的系統弱點,很多人仍然沒有更新patch。這就好像到現在還有人用98開網路芳鄰,或者一些經典的sendmail exploit 還能用一樣。

相較於電腦來說,人是很難更新軟體的。

另 外一類的漏洞是所謂的Poker Tell,很多人在虛張聲勢的時候會有一些自己不自覺的小動作,這類漏洞比邏輯上的漏洞更難修補。比方某人牌不錯的時候,往往會自然的身體往後,呈現自然 輕鬆的狀況,因為不管你跟或者不跟他都不會輸。如果吹牛時,往往為了掩飾而將身體向前傾斜(看前面的職業巨星邀請賽裡面牌評對於Johnny Chan的評論)等等。當然,這種東西在無賭注上限的遊戲比較有用,因為小賭注的牌局基本上還是跟著機率走的。

撲克牌局就像是一場駭客攻防戰一樣,比誰的漏洞少,比誰對牌局更熟悉,而且很多人就是不會修補漏洞。而當你發現別人的漏洞之後,你要想辦法的就是怎麼exploit了。

2004年3月12日 星期五

無間道三

前 天終於看了無間道三,感覺其實還不錯。但是俗語說一道菜再好吃,吃久了也會膩。無間道三集中反覆玩弄著相同的情感,雖然說還不至於看到膩,但 總有種替他尷尬的感覺。就好像路上有突出來的樹根,一個小朋友走過去不小心被絆倒了,痛的大哭,你會同情他。但是如果連續四五天他都在同一個地方被絆倒然 後大哭(即使有時向左 跌,有時向右跌),你就會覺得他有點長不大,雖然還是會同情他,但同情中會帶有一分尷尬。
但假設小朋友第一天被樹根絆倒,第二天刻意避開樹根卻採到香蕉皮滑 倒,第三天乾脆換了一條路走,沒想到卻迷了路,最後在太陽下累倒了。第四天特別帶了地圖卻因為低頭看地圖沒注意路況被車子撞倒了。這感覺就完全不同了,由 於不斷的超越,產生了一種小人物英雄與宿命對抗的孤寂感。
偏偏無間道系列不是這樣,在第一集裡面就已經把想表達的意思表達得很充分了。 第二集專注在情節的補足,是多了不少前後呼應的趣味,滿足了人們想要瞭解「真相」的慾望,但意境上只是反覆炒冷飯。第三集就好像說了笑話怕別人不知道哪裡好笑一樣,明明一個「我想跟你換」這樣有餘韻的結尾,在二三集中被反覆解釋,味道盡失。 然後加了楊錦福、沈澄這類的角色,雖然設計得不錯,但難免讓人有掃地僧的感覺。
但就像開頭說的,這集整體感覺還不錯,很有娛樂性。