2025年10月28日 星期二

日幣,小說,貓

 前陣子有個新聞,說日本要更換紙鈔。日本一般來說,每隔三、四十年就會換一次紙鈔。除了增加新的防偽功能之外,大概也希望流通的樣式更新一點。總之,小時候我看過舊版的日幣紙鈔,那次更換是 1984 年版。現在我們常見的紙鈔多半是 1984 年後的版本。中間雖然也換過幾次,但 2024 年(也就是去年)應該是幅度最大的一次改版。

比較有趣的是 10,000 日圓上的福澤諭吉。福澤諭吉這個名字常出現在日本漫畫、小說或電視裡。很多作品提到「諭吉」,其實就是指 10,000 圓那張紙鈔。我以前看過一部有趣的漫畫,主角是一隻很厲害、會幫主人做家事的大貓,那隻貓就叫「諭吉」。當時才想到,日本人幫貓或狗取名,偶爾會直接用鈔票上的名人。回頭想想也正常。台灣紙鈔以前不是孫中山就是蔣中正,後來新鈔就不再放名人,改用意象。日本的紙鈔到目前還是用名人,當然多半都是已經過世的人。

有一位名人曾經登上 1,000 圓紙鈔,就是夏目漱石。夏目漱石是文學家、小說家,活躍於明治到大正時期。我最早知道他,是因為他寫過幾本有名的小說,其中一本叫《我是貓》。這本小說可以看到當時上流或比較有錢的人怎麼過生活:家裡空間很大、養貓、可能還有傭人。小說最特別的是以「貓」的視角來看人類世界。

順帶一提,「夏目漱石」是筆名,他本名叫夏目金之助。從《我是貓》裡很明顯看得出來,那隻貓其實在代言他自己。他用自家寵物的角度,來反省與批判自己過的日子:主人(其實就是作家本人)身體虛弱、常說一些看起來虛偽的話,與朋友談文學、制度、經濟、社會八卦,貓都「聽得懂」,但會用好笑又有學問的語氣吐槽人類:這些討論真的比去吃魚、把日子過好還重要嗎?

《我是貓》是明治末到大正初期的作品,年代已久,台灣有好幾種中文譯本,圖書館也很好借。這本書很有趣,不過它的反思放在當時脈絡裡更貼近。漱石常以自我質疑的方式看待文學這種「看起來對國家社會沒有直接幫助」的學問:我鑽研它有什麼用?當然他沒有親眼看到後世的影響,也可能低估了自己。

我後來才知道幾件讓我很驚訝的事。清末民初,日本和中國都大量吸收西方知識,要吸收就得翻譯。早期外派留學生多半學技術與醫學,因為能立刻富國強兵、改善公共衛生。技術帶回來後要教人,自然要翻譯;翻譯就變得很重要。夏目漱石曾在英國留學兩年,主修英國文學。他不是學「怎麼說英文」,而是研究英國文學與思想。雖然他對留學內容有點失望,但那些過程其實替他的知識打了很深的底,進而影響後來語彙與觀念的引介。

彼時中日兩地的翻譯,常見問題是「音譯」多、難懂也難留下來。像電話、電報等詞,當時中國有人譯成「德律風」之類的音譯,一般人一看就頭大。再如「science」曾被譯作「格致」「窮理學」,甚至戲稱「賽先生」;各有脈絡,但未必貼切,留存也有限。能留下來的少數例如「摩登」(modern)、「巴士」(bus)等。像「social」如今是「社會」,當時也有人譯成「群體」;「art」有人拆成「雅藝」「技藝」,但也不完全到位。

為什麼談這些?因為夏目金之助(夏目漱石)與其周邊的一群人,對於以漢字創造、定型一批近代新詞影響很大。舉例說,「romantic」最後定為「浪漫」,這種以漢字構詞的譯法,在日文、韓文與中文圈通行,讀音各異但字面共同,意義也清楚;「personality」對應「個性」,也是如此。這些詞在清末民初之前並不存在於漢字圈文獻中,但透過日方學者對中英兩端語義與文脈的掌握,很快就被接受並沿用至今。再如「理想」「哲學」「經濟」等一批近代概念,也是在那一代人努力下被穩定下來。漱石精通漢文,又深研英國文學,對語言的掌握使這些翻譯能貼近原義、易於流通。

回到《我是貓》。小說用他養的貓的視角,等於用第三方、帶批判的方式來說自己的人生,基調帶點悲愴。我不想劇透,但貓最後不幸死去。漱石本人身體也一直不好,長期病痛與精神折磨間,反而激發了許多好作品,但作品難免有些哀愁的底色。

不知道為什麼突然想到講這本書。不過既然想到了,就順便聊一聊。

川普 金字碑 數位刺青


去年曾經和幾位同事一起去三貂嶺金字碑古道,古道上有個石碑(金字碑)上面文字雖然有些褪色,不過碑文大致仍可看 。古時候的人,有重大事情要做紀念通常都是搞個石碑,如果沒特別情況,留存個幾百年沒問題。

對於自己想要永遠銘記的事情,刺青對某些人來說是個好選項,畢竟感覺上,刺青很像在自己身上刻碑。

在區塊鏈世界裡,有某種使用方式是,把交易的訊息當作「永遠留存的內容」,例如可以是一段字,一張圖。只是成本不低啊,以那個金字碑的碑文,小於200 bytes,放到ETH網路(以太坊)至少要7美元。所以那時候沒特別想嘗試。

不過前幾天,我發現原來川普幣,並不是基於ETH,而是Solana。稍微研究一下發現Solana的交易特別便宜,至少比ETH便宜很多。要把金字碑文刻在Solana上面,其實僅需要0.001146美金。 我們當然不知道川普是不是因為交易費便宜而選Solana,但看起來solana的規模確實因為川普的關係變大了一些。

當然要做這件事情,千萬不能買川普幣來做,如果用川普幣就不只0.001146美金,最便宜的是找便宜的迷因幣或者自己弄個幣。

這裡我們用 Solana 當例子,示範如何把金字碑文當成刺青寫到鏈上,並且搭配自己發行的代幣。整個過程會用 Python 腳本來實作。



整體流程

  1. 建立一個錢包帳號:這是你在 Solana 上的身分。

  2. 建立一個自己的 Token:假設發行 1000 個單位,當作我們的「刺青代幣」。

  3. 建立交易並加上 Memo:利用 Token 做交易時,在交易裡附帶 Memo 指令,這個 Memo 就是刺青內容,例如「life is great」。

  4. 查詢交易記錄:透過交易簽名(transaction signature),可以查到這筆交易,並讀到當初留下的文字。



範例程式

以下四個 Python 腳本都是在 Solana Devnet 測試網上執行。正式主網(mainnet-beta)使用方式相同,只是需要真實的 SOL。

a. 建立錢包帳號

from solana.keypair import Keypair


import json


kp = Keypair()


secret = list(kp.seed + kp.public_key.__bytes__())


with open("wallet.json", "w") as f:


    json.dump(secret, f)


print("wallet created")


print("Public Key:", kp.public_key)



b. 建立自己的 Sol Token(假設 1000 個)

import json


from solana.rpc.api import Client


from solana.keypair import Keypair


from spl.token.constants import TOKEN_PROGRAM_ID


from spl.token.instructions import initialize_mint, InitializeMintParams


from solana.system_program import CreateAccountParams, create_account


from solana.transaction import Transaction


client = Client("https://api.devnet.solana.com")


payer = Keypair.from_secret_key(bytes(json.load(open("wallet.json"))[:32]))


mint_kp = Keypair()


mint_rent = client.get_minimum_balance_for_rent_exemption(82)["result"]


tx = Transaction().add(


    create_account(CreateAccountParams(


        from_pubkey=payer.public_key,


        new_account_pubkey=mint_kp.public_key,


        lamports=mint_rent,


        space=82,


        program_id=TOKEN_PROGRAM_ID


    )),


    initialize_mint(InitializeMintParams(


        decimals=0,


        program_id=TOKEN_PROGRAM_ID,


        mint=mint_kp.public_key,


        mint_authority=payer.public_key,


        freeze_authority=payer.public_key


    ))


)


sig = client.send_transaction(tx, payer, mint_kp)["result"]


print("Token Mint Done:", mint_kp.public_key)



c. 建立交易並寫入 Memo(刺青)

import json


from solana.rpc.api import Client


from solana.keypair import Keypair


from solana.transaction import Transaction


from spl.memo.instructions import create_memo, MemoParams


client = Client("https://api.devnet.solana.com")


payer = Keypair.from_secret_key(bytes(json.load(open("wallet.json"))[:32]))


text = "雙旌遙向淡蘭來,此日登臨眼界開。大小雞籠明積雪,高低雉堞挾奔雷。穿雲十里連稠隴,夾道千章蔭古槐。海上鯨鯢今息浪,勤修武備拔良才"  # 其實就是三貂嶺金字碑


ix = create_memo(MemoParams(signers=[payer.public_key], memo=text.encode("utf-8")))


tx = Transaction().add(ix)


sig = client.send_transaction(tx, payer)["result"]


print("(signature):", sig)



d. 查詢交易,讀出刺青

from solana.rpc.api import Client


import base64


client = Client("https://api.devnet.solana.com")


sig = input("輸入交易簽名: ")


tx = client.get_transaction(sig, max_supported_transaction_version=0)["result"]


for ix in tx["transaction"]["message"]["instructions"]:


    if ix["programIdIndex"] == 1:  # Memo program


        data = base64.b64decode(ix["data"])


        print("找到刺青內容:", data.decode("utf-8"))



成本說明

在 Devnet 測試網路,所有 SOL 都是免費領取的,不需要真實支出。
但如果換成主網,成本主要來自兩個部分:


  1. 交易手續費

    • 每筆交易大約 5,000 lamports

    • 1 SOL = 1,000,000,000 lamports

    • 換算約 0.000005 SOL ≈ 0.0012 美元

  2. 帳戶租金 (rent-exempt)

    • Mint 帳戶約 0.002--0.01 SOL\

    • Token Account 約 0.002 SOL\

    • Metadata(若有)約 0.005 SOL\

    • 合計大約 0.5--2 美元 一次性存放


所以在主網發一個新代幣,並且刻下一個刺青,總成本大概就是 1 美元上下,取決於 SOL 當時的市價。




「數位刺青」是透過公開可信區塊鏈,我們可以把一句話,一張圖,甚至一段影片,永遠留在去中心化的帳本裡,任何人都能查證。


兩本食譜

 PODCAST 在這裡

所謂的食譜其實很簡單,就是一本教人做菜的書。通常一兩頁就介紹一道菜,會從準備材料、處理方式開始,然後教你怎麼煮,最後讓你達到預期的成品。

這兩本書都是別人送我的。第一本叫做 The Real American Food。直譯是「真正的美國食物」,但其實內容更接近「美國移民食物」。因為所謂的美國料理,多半是歐洲移民帶過去的食物,真正的美國原住民料理反而不多。所以書裡介紹的,大多還是義大利、德國、英國這些歐洲菜,幾乎沒提到法國或其他國家的。

這本書滿厚的,目前我還沒找到中文翻譯,可能是找得不夠久,或是網路上沒有販售。不過它的特色在於作者用一種「愛國的美國人」角度來介紹食物來源,考據相當仔細。像他提到波士頓派(Boston Pie),會分析它和歐洲派點心的差異。

我記得這本書是 2008 年我去美國出差時的同事送的。那位美國同事後來來台灣出差時,想到我曾說想自己做菜,就特地買這本書送我。書裡提到波士頓派的歷史,我覺得很有趣。只是我常搞不清楚「派」跟「披薩」的差別。

有時候我覺得派吃起來像厚皮披薩,有時候又覺得披薩像派。特別是在五大湖區吃到的披薩,厚得驚人,幾乎像一個派。這可能是我沒有什麼味覺天賦吧。

書中也提到波士頓派的形成,是因為當地移民面臨食材限制,於是用本地材料改良出來的版本。整本書有九成篇幅在講食物的起源,做法反而只佔一小部分,因為多半就是「烤」或「煮」。有些「煎」的菜,其實是塗油後放烤箱烘。操作方式簡單,只要照步驟做就能成功。

對我而言,這本書有趣的是能看到美國人如何用「愛國」的角度看待自己飲食文化的演變。

第二本書是 奧利佛的《30 分鐘上菜》
我忘了是誰送的,但這本書現在應該還買得到,出版也超過十年了。作者 Jamie Oliver 是英國名廚,早期被稱為「校園主廚」,但現在變胖了。

他的料理風格很隨性,以義大利菜為主,例如義大利麵、燉飯之類。雖然主打 30 分鐘上菜,但前提是你要先準備好所有材料、熱水、烤箱等。他的 30 分鐘是不包含前置時間的。不過即便如此,對我這種偶爾想自己煮點東西的人來說,還是很實用。

說到 Oliver ,我想到一次和太太去英國旅行。
以台灣人的角度,英國食物真的不怎麼樣。炸魚薯條又油又膩,也不算特別好吃。其他菜幾乎沒有特色。奧利佛雖是英國人,但他的餐廳多半是賣義大利菜。

在倫敦他的餐廳都要排隊。有一次我和太太在外地旅遊時,剛好看到一間奧利佛餐廳。我提議進去吃,太太原本想找中餐館,因為才待七八天就想念台式或中式料理。不過我說服她一起去試試。

外觀看起來人不多,其實裡面兩三層樓都快坐滿。我點了燉飯,太太點了義大利麵。價格比一般餐廳貴一點,大概貴 100 元左右。聽說原因是奧利佛會把部分收益捐給慈善機構,幫助遊民。

吃完後覺得味道還行,不難吃但也不驚艷。那一盤 £15 英鎊的義大利麵,料不算多。坐我們旁邊的一位美國老先生吃到一半,臉色不太好。他的女兒看起來也沒什麼胃口。主廚走出來問大家餐點如何時,那位美國人直接說:「難吃。」

他說麵太濕。廚師解釋這是依照義大利傳統做法,兩人還小爭了一下。這讓我有點驚訝。在台灣通常就算不喜歡,也會客氣說「還不錯」。除非菜裡有蟑螂,不太會直接說難吃。

但我部分同意那位美國人的意見。義大利麵撈起來時,如果醬汁是熱的,麵條應該先泡冷水收縮,再加入熱醬。反過來,若醬汁是冷的,麵就要是熱的,這樣味道才會融合。

若兩者溫度接近,麵一定會出水,底下有一層湯汁是正常的。但我理解那位美國人不習慣這種口感。

我在看《The Real American Food》時發現,那裡提到的義大利麵幾乎都偏乾,甚至比我們的乾麵還乾。而奧利佛的義大利麵則是半濕半乾,下方總會有一層醬汁。

總之,這是一段有趣的經驗。不同國家的料理習慣、對味道的期待都不一樣。

對我而言,這兩本書讓我在家偶爾想做點簡單的菜時,有了很好的參考。我的廚藝還沒辦法做台式或日式料理,但西式料理相對簡單許多。

那裡有隻雞!

 我住在汐止,附近有條小溪流,我常和太太在溪邊的堤防步道散步。 那條溪流很短,其實只有不到六公里。而且離市區其實不遠。但因為曾經當過水源使用,所以上游很乾淨。這也讓短短的溪流保持很好的生態環境,鳥類特別多。有觀察到記錄到的就超過數十種,我前陣子自己還研究了一下,專門為了這個溪流的...