雖然這篇c語言a的b次方鄉民發文沒有被收入到精華區:在c語言a的b次方這個話題中,我們另外找到其它相關的精選爆讚文章
在 c語言a的b次方產品中有3篇Facebook貼文,粉絲數超過2萬的網紅KaL-EL Sports,也在其Facebook貼文中提到, [NBA作家群/Clubhouse初體驗] 首先,先感謝昨天以下朋友的加入共同主講: 🏀烏托邦/P League法律顧問/運動視界名人堂專欄作家/卡爾粉絲團管理者/公牛專職寫手但能寫的不只公牛 🏀春少/運動視界名人堂專欄作家/卡爾粉絲團合作作家/國王專職寫手但能寫的不只國王 🏀瓶子大/台灣N...
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
c語言a的b次方 在 KaL-EL Sports Facebook 的最佳解答
[NBA作家群/Clubhouse初體驗]
首先,先感謝昨天以下朋友的加入共同主講:
🏀烏托邦/P League法律顧問/運動視界名人堂專欄作家/卡爾粉絲團管理者/公牛專職寫手但能寫的不只公牛
🏀春少/運動視界名人堂專欄作家/卡爾粉絲團合作作家/國王專職寫手但能寫的不只國王
🏀瓶子大/台灣NBA最早期的單隊專欄作家/粉專:瓶子溜馬日記/溜馬專職寫手但能寫的不只溜馬
🏀追追熊/運動視界名人堂專欄作家/粉專及水管:追追熊/台灣最有名的影片戰術分析
🏀Joseph/運動視界名人堂及台灣NBA官方專欄作家/太陽隊單隊粉專及PTT版主/太陽專職寫手
🏀鮪魚/運動視界名人堂專欄作家/卡爾粉絲團合作作家/粉專:礦區鮪魚/金塊專職寫手
🏀Ken/專職運動媒體人生涯登錄中/運動視界名人堂及台灣NBA官方專欄作家/卡爾粉絲團合作作家/粉專:十的三次方
🏀Chris/台大校男籃運動防護/運動視界專欄作家/粉專:暴龍的異想天地/暴龍專職寫手
🏀🏀
本來只是趁著過年期間,想說做第一次的嘗試,因此宣傳上並沒有非常大力,議題設定上也就比較直線設計,但得到的反饋很不錯,也發現其實對於這些已經運動成痴的朋友們,能夠聚在一起交叉而深入地聊聊籃球這件事情,其實挺不錯的。
也因此應該會更組織性地來做這件事情,每周一次,然後提前討論跟設定主題,甚至是可以從各個參與者們的產出來做為前導閱讀,讓參與的人也能有些背景知識。
🏀🏀
昨天討論的其實圍繞在三個主題:
1/重建的方法以及資產最大化
2/球隊文化對於重建跟經營的重要性
3/給公牛本季的球員異動建議
🏀🏀
我想對於昨天參與的朋友來說,雖然因為講者都是不同球隊的支持者,會各自往不同球隊的個案情況去展開討論,但是每個講者都對於球隊有長期的觀察,能夠不只是從數據,更是球隊長期的經營方針跟文化,還有許多幾乎等同於美國當地本地媒體的小道消息補充,甚至有許多人都是直接跟美國本地隨隊記者甚至類官方管道有直接聯繫的。
但很多時候這些討論受限於「對談深度」的落差,由於對談雙方的語言跟認知落差,無法進到那個深度。而當無法進入到那個深度時,會失去很多「知及所以然」的機會,相當可惜,這也是為什麼會想要持續地把這個活動辦下去。
🏀🏀
如果這裡的朋友們,對於未來持續關心跟參與這個ClubHouse是支持的,幫我留言回個"1",那如果你除了會支持,也對於下面我設定下次討論的主題,是有興趣的,就回個"1+A(B/C/D)",好作為我們的參考。
A/Jimmy Butler真的很吉巴嗎
B/什麼叫做薪資制度:也談談台灣職籃的薪資制度未來
C/本季NBA最讓你驚奇的球隊或個人:好的跟壞的
D/小孩子才做選擇我全都要
🏀🏀
需要知道上面共同講者的作者頁或粉專,也歡迎在底下留言唷!
#BullsHit
#ClubHouse
c語言a的b次方 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] 類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
有鑒於個人近期關注的 Uniswap 及 Curve 皆用 Vyper 實作,索性瀏覽了官方文件並嘗試一些開發工具,希望此文能減少一些讀者初嘗 Vyper 會遇到的麻煩!
Vyper and Solidity
Outline
一. Vyper 極簡介二. 與 Solidity 語法差異三. 開發、開發環境設置 1. 語法高亮 2. 本地 Vyper compiler 安裝 3. 使用 Truffle 操作 ERC20 - 安裝 Truffle - 發幣 - 寫個簡易賣幣合約四. 已知 Remix 問題 五. 結語
一. Vyper 極簡介
Vyper 是除 Solidity 外,以太坊上的另一智能合約 (Smart contract) 語言。其語法和 Python 相近,但畢竟也是寫合約的語言,邏輯差異不大,所以若熟悉 Solidity 應該不難理解用 Vyper 寫出的合約!
Vyper 主要被設計和 Solidity 的區別是安全性及可讀性,這部分會在下一段落及後方的實作中舉例說明。
二. 與 Solidity 語法差異
Vyper 與 Solidity 的差異有許多,在本段只就個人認為感受較深的三點進行說明,其他差異只進行翻譯,有興趣的讀者可以到官方文件詳細了解:https://vyper.readthedocs.io/en/latest/index.html
1. 沒有 modifier
Solidity 常見的 onlyOwner() modifier; 由於 gist 沒有 Solidity 的語法高亮,故截圖
在 Vyper 中單純用 assert 及 assert_modifiable 來進行條件檢查,兩者差別為若要檢查函數執行後的返還值,要用後者,如下圖:
Vyper 寫法
2. 沒有 Class inheritance 繼承
繼承是物件導向程式設計 (OOP) 的核心概念,但各種繼承關係有時候確實很複雜。Vyper 沒有繼承,這無疑大幅地增加了程式可讀性及安全性,以及降低審計程式碼的難度。在此提供一個例子供不熟悉 OOP 複雜之處的讀者有個概念:
source: https://consensys.github.io/smart-contract-best-practices/recommendations/#multiple-inheritance-caution
在上例中,contract A 的 fee 值 (因繼承自 contract B 和 C,故有 fee 一值) 是 5、a 值也是 5 (因繼承自 contract Final,故有 a 一值)。原因是 A 先繼承 B 再繼承 C,因此 contract A 中的 setFee() 是使用了 contract C 的 setFee(),而 a 值是由於 C(5),這代表 contract C 的 constructor (舊版本中即 function C(),函式名稱同 contract 名稱) 被傳入的值為 5。
稍微延伸一下以上概念,將 contract A 改成:contract A is C, B。如此一來,a 值還有 fee 值都會是 3,因為這次 A 先繼承 C 再繼承 B,因此最終吃到的值是 contract B 的。
以上就是 OOP 繼承的複雜之處的簡單範例說明,應該能稍微感受到爲什麼除去繼承後會大幅提高可讀性及安全性,畢竟即使是熟悉 OOP 的人有時頭腦一混亂也會開始懷疑自己寫的程式碼繼承結構是否正確 …
3. 沒有 dynamic array 動態陣列
這應該是目前 Vyper 設計中爭議最大的部分。沒有動態陣列代表在宣告陣列時需要宣告其長度,也就是說 Solidity 中的寫法 uint[], bool[] 等等,這些是不會出現在 Vyper 的。在 Vyper 中只能出現諸如:
# Vyper 的變數宣告方式為 變數名稱: 存取範圍(變數型態(若為陣列給長度))
values: uint256[10]participants: public(address[20])
可以看到上方的 uint256 及 address 兩陣列皆需要宣告長度,不能不宣告而使其動態地配置空間。
沒有動態陣列固然可以確保執行運算的範圍、次數,但一來動態陣列真的很方便、二來在 Solidity 有此功能而 Vyper 卻沒有的情況下可能會造成麻煩,詳見此一討論串:點我。
4. 沒有 inline assembly,程式碼中不會有組合語言
5. 沒有 function overloading,函式不會因傳入的參數數目不同而結果不同
6. 沒有 operator overloading,運算符號不會有不同於預設的自定義功能
7. 沒有無限迴圈,可免於 gas limit attack
8. 十進位定點數 decimal fixed point 而非二進位 (binary) 定點數,詳見:點我
三. 開發、開發環境設置
結論先講
開發 Vyper 的最佳姿勢目前個人認為是在本地裝上 Vyper compiler、用 Truffle 部署,並在撰寫時將檔名後加上 .py 就能有 Python 的語法高亮👌
1. 語法高亮 (syntax highlighting)
有語法高亮絕對是舒服地寫程式的第一步。
Remix 有 Vyper 的語法高亮,但一來個人目前不推薦使用 Remix 來撰寫 Vyper,原因詳見下方 4. 已知 Remix 問題;二來 Remix 的語法高亮其實也沒有很清楚,因此個人推薦:在本地開發,將檔名後加上 .py 就會有 Python 的語法高亮。
2. 本地 Vyper compiler 安裝
照官方說明使用 Python 的虛擬環境 virtualenv:
source: https://vyper.readthedocs.io/en/latest/installing-vyper.html#installing-vyper
簡單兩點提醒:
如果中間那行報錯但確實已經有 Python,則可能是版本問題。依照自己電腦上的版本改成相應的即可,ex: python3.6 改成 python3
進入虛擬環境後(檔案路徑前方應有 vyper-venv 的提示),使用此指令: vyper {檔案名稱}.vy,即可編譯 .vy 檔;使用完畢後輸入 deactivate 即可退出
3. 使用 Truffle 操作 ERC20
安裝 Truffle
Truffle 雖有冗餘的 migration 但也別無他法,畢竟 Remix 目前仍不完善 :(
下載流程可以照官方文件,使用 vyper-example:
source: https://github.com/truffle-box/vyper-example-box
由於我們會接上測試網 Ropsten,因此還要下載 truffle-hdwallet-provider:
source: https://github.com/trufflesuite/truffle-hdwallet-provider
接者就可以開始使用 Vyper 寫合約了!
發幣
由於 Vyper 的官方文件中已經有許多優質範例,因此本文希望來點不一樣但大家卻又很熟悉的…以 ERC20 為例(這千篇一律的主題xD):
用 Curve 的 ERC20 程式碼為範本,發一個幣(又要發…)
寫一個簡易賣幣合約
選擇這個主題一方面畢竟 ERC20 是以太坊的最大宗應用之一,二來有興趣的讀者可以透過讀 ERC20 的程式碼來熟悉 Vyper,並在看過本文的流程後對於用 Vyper+Truffle 來操作 ERC20 有完整的概念!
好的,首先複製一份 Curve 的 ERC20 程式碼(看到就順手拿來用),並複製到 Truffle 所在路徑的 contracts 資料夾中:https://github.com/curvefi/curve-contract/blob/pool_compound/vyper/ERC20.vy
由於第一點希望著重在跑一次流程,因此不改動合約的程式碼。
將 ERC20.vy 複製到 contracts 資料夾中後,到 migrations 資料夾開啟 2_deploy_contracts.js,首先將 require() 中的參數改為 ERC20.vy 的檔名 ERC20,再來依照自己喜好決定幣的名稱、代號、小數點位數及發行總量,輸入於 deployer.deploy() 中。
接著,為了和測試網 Ropsten 互動,需要將以下程式碼寫入 truffle-config.js。
第二行的 privateKeys 是帳號的私鑰。以下實作需要兩個帳號來操作,因此請從錢包匯入兩組私鑰(並非助憶詞)。
在第 13 行中 HDWalletProvider 此函式的第三個參數代表要用第幾個帳號最為預設帳號(部署合約等),第四個函數代表總共匯入幾組帳號。而第二個參數則是需要至 Infura 申請一個 project 來得到串接 Ropsten 的連結。這兩步驟並非本文重點,因此不詳細解說步驟,Google 搜尋關鍵字應該就會找到方法!
接著,就可以輸入以下指令來將代幣發佈到 Ropsten:
truffle deploy --network ropsten
有進入虛擬環境才可以編譯 .vy 檔,若忘記就會收到如下的錯誤訊息:
記得打開虛擬環境才能編譯 .vy 檔
成功後就可以在 contract address 中看到代幣發佈的位置,加入到 Metamask 中就可以看到。本文的例子是維尼代幣 Winnie the Coin, WTC ;)
contract address 便是 ERC20 的所在
Winnie the Coin, WTC
好了,到此測試網上又多了一個測試用的垃圾廢幣。
寫個簡易賣幣合約
賣幣合約中我想要簡單有兩個功能就好:付錢買幣 、結束銷售,以下就是程式碼。買幣的部分就不寫太詳細,固定價格為 0.01 Ether 可以買 500 代幣。
簡單說明幾點:
Solidity 的 constructor() 在 Vyper 中為 Python 風的 __init__():
函式的屬性(public, private, payable 等等)放在函式上方,與 Python 的修飾器位置相同
總之寫法跟 Python 很像,次方也一樣是用兩次乘法代表:**
變數前加上 self 代表是當前合約的變數/全域變數,因此非常容易與函式中的變數/區域變數做區隔
由於已經在第一行匯入了 ERC20 那份合約,因此透過將地址傳入合約當參數,就可以呼叫在該地址的合約:ERC20(self.tokenAddress) 。並且,可以將部署的合約存成一個變數 erc20 較方便
寫完合約後一樣要更改 migrations 資料夾中的 2_deploy_contracts.js 如下,將代幣所在的地址作為參數輸入。
由於先前已經部署過一次了,因此要重置才能再部署第二次,輸入以下指令:
truffle deploy --reset --network ropsten
部署成功之後就要來試著買幣啦!輸入以下來進入 console:
truffle console --network ropsten
成功進入後應該會看到 truffle(ropsten)> 的字樣。接著,首先取得部署的兩合約,並查看是否有返回合約資訊:
# ERC20 及 SellToken 是先前在 2_deploy_contracts.js 中的變數名稱,代表被部署的合約
let instance1 = await ERC20.deployed()instance1 # 印出 instance1 的資訊
let instance2 = await SellToken.deployed()instance2 # 印出 instance2 的資訊
再來,為了讓 SellToken 可以賣幣,要先用 ERC20 的合約匯幣到 SellToken 的合約。因此,輸入以下指令:
instance1.transfer(instance2.address, 10000)
# 這裡數字只要設為 > 500 就可以
接著,我們要利用第二個帳號去買幣(第一個帳號為預設帳號,因此就是代幣擁有者)。將帳號的資訊存入變數 accounts 中,再指定送出交易的帳號是第二個帳號。由於我個人匯入私鑰的順序是將第一個帳號存在 truffle-config.js 的 privateKeys[0]、第二個帳號存在 privateKeys[1],因此第二個帳號的地址就會在 accounts[1] 的位置:
let accounts = await web3.eth.getAccounts()
instance2.buyToken({from: accounts[1], value: 10000000000000000})
# value 為 10^16 是因為在 SellToken 的 buyToken 函式中買一次要 0.01 Ether, 即為 10^16 wei
然後應該就會在自己的第二個帳號中看到匯入的幣了~
最後,由於合約中結束銷售就是一個自殺 selfdestruct 函式,因此可以呼叫看看,第一個帳戶錢包中的錢應該會增加,因為第二個帳戶有付款買幣;並且,可以到 Ropsten 上瀏覽,應該能看到相關提示:
中間 contract 的右上角有 Self Destruct 的樣式
四. 已知 Remix 問題
Remix 目前有兩個版本,只有新版有 Vyper 的編譯器。在此整理目前遇到的問題,如果有人也遇到可以對照一下本處,可以省去很多自我懷疑xD
不會報錯
Remix 的編譯結果有時會是錯的、和本地端編譯出來的結果不同
舉上方的 SellToken 合約為例,將其複製到 Remix 中使用左邊的 Remote Compiler 有錯,但又不報錯 q_q (ERC20 的合約有在同檔案目錄)
左方有紅色三角形,代表編譯失敗,但沒有報錯訊息可以看…
getter function 竟然要花錢
用 Solidity 寫的合約,查詢 public 變數的值應該是不用消耗 gas 的,但不知何故查詢 Vyper 寫的合約的 public 變數卻要消耗 gas,如下圖…
可以看到中下方有 22026 gas 的消耗
Local compiler 無法使用
圖中的 Local Compiler 此選項,個人雖照官方文件執行 vyper-serve 但卻失敗,因此若有讀者成功希望能留個言不吝分享!
五. 結語
Vyper 作為一個比 Solidity 更新的合約語言,在寫程式碼的方面沒什麼問題,但相關的開發工具、學習資源等都遠不及 Solidity。
Vyper 主打的兩個特色:可讀性的部分相信看完上面的讀者應該已經有些感覺;安全性…小白如作者我倒是沒有感受到顯著的不同。況且 Solidity 已經發展許久,很多錯誤的寫法、知名的安全漏洞大家應該也很熟悉了,還有 Openzeppelin 提供安全合約寫法的範本,因此有待以後高人解說安全性是否真的是 Vyper 較好。
有興趣者可以查看 Vyper 的安全報告:點我,大意是目前 Vyper 的編譯器仍有許多問題待改進! (感謝 Chih-Cheng Liang 的提供)
本文對 Vyper 的介紹及其與 Solidity 的差異只講了個大概,欲知更詳細的介紹還是要麻煩讀者前往官方文件了:https://vyper.readthedocs.io/en/latest/index.html
最後,如果本文有任何錯誤,請不吝提出,我會盡快做修正;而如果我的文章有幫助到你,可以看看我的其他文章,歡迎一起交流 :)
田少谷 Shao - Medium
類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
c語言a的b次方 在 Kai Chi Leung 梁啟智 Facebook 的最佳貼文
之前有關日本輻射的討論,引來了這個回應。雖然我仍然不認為去日本短期旅遊有普遍性的危險,但我其實十分支持這文章的其中一個重點:數據不是一切。順道謝謝在原貼留言的各路英雄。
【去唔去日本事小,誤解了輻射問題幫左政府就無謂啦】
——與梁啟智〈香港輻射高過東京〉一文商榷
文︰Tam Daniel
1. 梁啟智兄一文,網上傳播甚廣;或者大家壓力太大,需要更多理由到日本外遊。以下談不上是正式回覆。正式或嚴格的回覆可能要兩三年或更久才有可能寫起(等如永遠不會寫)。現下寫已頗遲,也勉力一試。因為即使我對梁兄的結論沒有太大反對,梁文過程中動用的假設,也是令人太不安。
如果你願意看這篇三不像,懇請讀完全文。
2. 梁啟智兄的觀點,若要簡化,就是說︰「大家看完數據後可以放心去日本旅遊!」
在這個問題上,我們其實有很多選擇,包括︰
a. 好驚日本,好驚輻射,雖然唔多清楚日本有幾多輻射,所以打死唔去(梁文要攻擊的對象)
b. 日本除福島外其實冇咩輻射,可以照去(梁文觀點)
c. 日本的輻射危機仲係好複雜,不過是否外遊,就可以自己因應個別處境衡量。
c就是本人嘗試闡釋的立場。
3. 梁啟智兄的文章拿官方的背景輻射(或譯「本底輻射」)來與香港比較,然後得出很安全的結論云云,其實意義不大。
「背景輻射」,按照國際原子能機構2007年《Safety Glossary》的定義,也不過是non-specified 的輻射而已。輻射固然乃是大自然中大量存在的自然能量,但人工輻射,同時亦計算在「背景輻射」之內。而人工輻射,其實包括︰
.五六十年代多國數百次核試的輻射落塵
.全球四百多座核電廠,在日常排放的輻射
.數量相信逾萬的各種核設施,例如核燃料加工廠,核武零件廠,核子軍艦,大學研究所內的prototype reactor,完全機密的軍事機地的核武開發,已關閉但未完成廢爐的老舊核電廠,低中階核廢料放置場,凡此種種,在日常排放的輻射
.數百個鈾鑛因開發而排放的輻射,遍布中亞、非洲、加拿大、澳洲等地。例如,澳洲的尾鑛污染問題,也是惡名昭著啦。
.多次知名及不知名、嚴重或宣稱不嚴重的核災與核事故,所大量持續排放的輻射。
.戰爭中採用化學武器,所留下的輻射
有趣的是︰無論哪一個官方機構,它都會強調人工輻射的比例極低。例如,世界核能協會(World Nuclear Association)提及的上述各種來自核工業的輻射,只佔背景輻射少於0.1%。
你信唔信呢?
我信的,我信佢的分類有問題,例如像「食物」「泥土」「核工業」,是三類輻射,但食物和泥土裡,幾乎必然有來自核工業的輻射,即統計假設上已混雜了結論。我也信,這種全球測量總計中必然有形式上的限制(例如地點)。何況,這種composition 的內在對比效果(相對性),有相當程度上是無意義的——宇宙射線的輻射再多,也不會令核工業輻射的威脅減少。
所以,我們要在在明白及提防的是︰「背景輻射」本身這種概念,其訂立與推銷都是帶著強烈的、愚民的政治企圖。
各國擁核政府就是希望大家覺得,哦,「背景輻射」是「大自然」的東西,本身都好高啦,核災與核工業沒有帶來好多額外的輻射啫。
亦因此,「背景輻射無害」的感覺是要警惕的。無論背景輻射混和了多少人工輻射,它依然有其健康風險。可參看俄羅斯科學院雅布各夫博士2013年的〈A Review and Critical Analysis of the “Effective Dose of Radiation” Concept〉。不少背景輻射很高的地方,其住民都有更高風險,出現癌症、淋巴染色體不正常、唐氏綜合症等疾病。
4. 輻射監測無論是否有作弊,它也有很大限制,它能反映的信息其實不多。特別是官方的輻射監測信息。
每個地點的輻射,與其環境因素有極大關係,包括風向、風速、濕度、降雨等等。按上述提到雅各布夫文章引述,切爾諾貝爾研究顯示,污染地區的電離輻射水平,一年之間可以改變一萬次。
同時,亦因此,輻射在短至數十米的距離內,已會有相當大的差異。VICE拍攝的紀錄片《來自福島的最新報告——與核共舞》中間有過這麼一節︰在福島一所學校裡,官方的輻射監測儀器的讀數為每小時0.164微希,走出幾十米,讀數便變成每小時3.5微希,足足是官方讀數的20倍。
這種巧妙的「作弊」操作,顯然是因為日本政府曾刻意在每個官方輻射監測據點認真除污之故。香港天文台理應沒有作弊動機。不過,這已經反映,輻射監測在技術上之複雜性及限制。
輻射監測,作為長時期的定點監測,它的主要意義只是一種區域性指數(包括自然與人工),聊勝於無,同時,透過監測碘131,理論上可以檢視附近有否核事故導致的大量輻射排放。
事實上,正如天文台明確表示,這種「輻射監測」只包括伽瑪射線(gamma rays)監測,即,數百種放射核種之中,貝他射線(beta rays)及阿爾發粒子(alpha particles)的監測,技術上便無法或不易做到。就像「輻射地圖」往往只標示銫137水平一樣,測量本身就是有強烈的限制。即監測指數,可能在某種情景下,遠遠不能反映風險。
5. 那麼香港有沒有貝他射線或阿爾發粒子呢?按照天文台出版的《香港環境輻射監測摘要2013》表示,雖然在東平洲自動伽馬譜法系統錄得的數據中,2013年「全年並沒有探測到人工放射性核素」,然而,在其他地方,一樣發現銫137、鍶90、鈈239等等放射核種。
它如是說︰
「二零一三年在部份土壤及沉澱物樣本中發現微量的人工伽馬放射性核素銫137,活度均在BRMP(Background Radiation Monitoring Programme )範圍之內。」
「二零一三年在部份大氣、水及食物樣本中發現微量的氚,活度均在本底輻射範圍之內。」
「二零一三年在部份大氣、食物及土壤樣本中發現微量的鍶-90,活度均在本底輻射範圍之內。」
「二零一三年在部份海藻、潮間帶土及海床沉澱物樣本中發現微量的鈈-239,活度均在BRMP範圍之內。」
天文台的解釋是︰這統統是數十年前的核試殘餘。氚的解釋還包括了「宇宙射線」。
這一方面可能是對的(部分輻射半衰期極長),另一方面也是錯的。因為政治上,誰都看得見,總之香港若有人工輻射,就必然與大亞灣核電廠無關,與嶺澳核電廠無關,與中國任何核設施無關,與福島核災無關——即使每年單單大亞灣核電廠已「合法」排放以 terabecquerel 計的氚進海洋(tera就是10的12次方),而且法定上限多年來一再提升,仲未計香港人不關心的4座嶺澳反應堆。
那麼,現在不妨再回帶看看梁啟智的三段論︰
.香港輻射高過東京?用背景輻射讀數衡量的話,對呀。
.背景輻射高小小,也沒有大問題?介乎對與錯之間,要視乎放射核種、曝照形式,和究竟有幾高。
.所以,東京不像傳聞那麼危險?介乎對與錯之間,要旁及其他因素(後文會嘗試整理一部分),但肯定不是「所以」。
而無論如何,我們在理解的過程中,要記得,「背景輻射」整個概念的操作,就是為了抵賴。核工業冇責任,一切是宇宙的錯,歷史的錯(太平洋核試)。
6. 至於對讀數的詮釋,梁啟智用了多個方法。姑妄逐一說明。
首先,他舉了吃香蕉做例子。香蕉的自然輻射,人體會嘗試平衡。而且,香蕉的輻射是鉀40,不同的放射核種的健康風險十分不同。美國有個科學新聞記者Maggie Koerth-Baker,幾年前寫了一篇〈香蕉具輻射—— 但這不是解釋輻射曝照的好方法〉(Bananas are radioactive—But they aren't a good way to explain radiation exposure),不算是好專業或好完整,但也值得一讀。
第二個例子,照X光。照一次肺的X光大約20微希——也順帶一提,原來直至上世紀中,歐美仍是很流行照X光,連買鞋子也會照,名叫fluoroscopes。後來被禁止了,因為發現了X光的輻射的危險性。發現當中危機的流行病學家Alice Stewart,正正是指出低劑量輻射的危險(下文會再簡述)。而除了X光外,我們還有別的醫學上的儀器,例如CT scan 的輻射是2至16毫希,即2000微希至16000微希,超出了所謂國際安全標準(每年1毫希)2至16倍。
梁啟智用日常生活來說明輻射「平易近人」,這樣的修辭手段固然危險。更危險的是︰他的寫法,其實正在假設輻射的劑量是可以輕易測度並量化的,而此量化為「milisievert」後的劑量與風險有清楚的正比關係。這個問題的複雜性,就不是我能夠提出嚴格異議了,因為在科學的學術領域上,這仍舊是一個爭辯中與探索中的問題(然而低劑量的風險,卻幾近是所有獨立科學家的共識)。
7. 最後一個梁啟智用來說明輻射劑量的例子,是十分離譜的。他說︰「美國政府對核作業者的規定,是每年不多於50,000微希伏特。」
這是甚麼呢?這是一個剝削工人健康的規定,縱容核工業的存在。立場擁核的國際放射防護委員會(ICRP)的規定是——公眾的輻射劑量標準為每年1毫希,超出此一水平便會有健康風險。這種所謂安全標準其實是假設輻射有其「安全閥值」(threshold),在過去二三十年已面臨巨大挑戰。
更何況,梁啟智這裡引述的美國核工業人員標準︰50,000微希,即是50毫希,即是超標50倍。
即,為了大家可以有核電用,有核武可以發動戰爭或外交施壓,美國政府就設計了這類規定。核電工人就是超人,可以承受比正常人多50倍輻射。這就是所謂「職業健康」的神奇概念。
當然也不止美國,ICRP也是這樣,只是沒有美國離譜。ICRP的規定是︰核工業人員每年的輻射劑量標準是20毫希。你只要是小超人,你便可以做核工人。
一言蔽之,這種標準在科學上是毫無意義的。這種標準只是為了得出「核工人工作時輻射劑量沒有超標」的結論,以便核企業能拒絕所有索償。
美國核能協會(ANS)的福島核災報告便提到,日本還有「緊急輻射劑量上限(emergency dose limit)」這回事︰
「日本核工人的標準劑量上限是每年50毫希,及5年內不可超過100毫希。福島核災前,緊急劑量上限是每年100毫希,但意外發生後,這個上限提升至每年250毫希,以便工人能回應這次嚴重的意外。」
又述及︰
被曝照至最高劑量的其中一個工人紀錄,為670毫希(即公眾 670年 輻射劑量的安全標準),另外6個工人超過了緊急劑量上限(250毫希),408個工人也超過了每年 50毫希 的上限。
這是官方紀錄,你信唔信只有四百幾名工人超標?單是核災頭半年,便有18,000名工人參與救災了。(切爾諾貝爾核災有60萬名工人參與救災。)何況,唔超標的咪做半年,超標咪做兩個月囉,大超標咪做三日囉。總之,用到你盡,而事實上,所謂「多勞多得」,工人也很可能不甘心做三日咁短,唔超標的工人,最終都會做到超標。這種健康的消秏,是百分百不 sustainable 的。這種職業健康的標準設定,是極端 unethical 的。
信唔信都不重要,梁啟智用這點來解讀輻射讀數,只想借用其「你睇下丫美國佬話50,000微希都唔死得人呀(日本咁小小駛乜驚)」的效果,而不明確說明這個例子的背景,就算不是誤導,也至少是嚴重的遺缺了。
8. 輻射沒有安全標準,低劑量也有健康風險。
第一,所謂「國際安全輻射劑量」,即現時所採用的「每年1毫希」,其整套流行病學上的風險計算,其資料分析是建基自廣島研究。廣島研究是美國對日本廣島及長崎倖存者的研究,政治企圖昭然若揭(一方面是核武實驗下集,另一方面就是要講到冇咩事,以便全球推銷「和平原子」)。對廣島研究的批判,平易近人的版本可參見Gayle Greene的《The Woman Who Knew Too Much: Alice Stewart and the Secrets of Radiation》第9章〈Taking on the International Nuclear Regulatory System〉,最主要的觀點是指出廣島研究其實是一個 survival of the fittest 的偏頗紀錄。(嚴格的版本可看MSK三人組寫的漢福核武廠工人健康研究,我舉手,未看過,所以建議大家看上述的平易近人版)。
第二,低劑量風險的研究,早就開始。由1978年Karl Morgan 的〈Cancer and low level ionizing radiation〉,到Gofman的《Radiation-Induced Cancer from Low-Dose Exposure: An Independent Analysis》,或Alice Stewart的漢福核武廠工人資料分析(1977及1993),他們均指出,輻射沒有安全劑量這回事,餘不一一。
9. 回到最中心的問題︰去日本外遊安全嗎?
沒有標準答案,但我們可以知道以下原則,和僅有的資料
.懷孕女士及小童,radiosensitivity明顯較高;理論上通常年紀越大,radiosensitivity 越低(但老人家又因為身體開始衰弱,免疫力下降,所以輻射傷害都未必不大)。
.除污未善的實際情況,一定比官方所說的嚴重。
.輻射污染的風險,不但包括「背景輻射」、空氣或泥土中的輻射,還包括食物。
.按台灣環境資訊中心報導(題為〈【追蹤福島核災】那須希望之砦——日本民間輻射檢測有Know-how〉),台灣民間團體日前赴日了解,其中,也拜訪栃木縣民間檢驗單位「那須希望之砦」。
.檢測數據相當不理想。報導指出︰8月來自福島縣金山町的四個樣本,全數驗出放射性銫,三個超標至1倍或2倍以上;4月栃木縣產20個樣本,過半驗出銫,六個超標1至4倍不等。以2015年度而言,菇類跟山菜類過半驗出銫,魚肉近半,果實類1-2成,米跟果實都在一成以下。此外,土壤類幾乎全部驗出銫,部份遠遠超出中央政府標準(每公斤8,000貝可)。
大家請去報導的網站,看看貼出來的劉黎兒拍下的照片,那是一份結果整理報表,右面統統是紅色(超標)。
.報導亦指出︰2016年9月,日本中央政府抽驗結果,超標率約0.01%。但這套結果,不包括鮟鱇、竹莢魚、海膽等水產物,而且官方只驗銫137,沒有驗鍶90(部分民間通路有加驗)。
.有大量輻射的污水排出太平洋的新聞,仍舊此起彼落。福島核電廠附近的地下水的輻射污染水平持續大幅上升。例如︰
2016.06.26 七百萬貝可beta核種污水洩漏
2016.03.23 二十億貝可銫污水洩漏
2015.12.15 二號反應堆地下水鍶水平上升十倍
2015.12.12 福島核電廠底層存留水銫水平較去年上升四千倍
2015.11.09 七十二億貝可beta核種污水洩漏
可參考︰http://fukushima-diary.com/fukus…/contaminated-water-crisis/
.福島兒童甲狀腺癌發病率比正常高50倍。有專家估計,白血病、乳癌及其他癌症個案會上升。東京醫師三田茂認為他所檢驗過的病人,血液變異的情況嚴峻,選擇離開東京,遷往關西。
.即使從來沒有核災意外的數十座歐洲核電廠,要安全廢爐,也動輒要數十年,開銷以十億美元起跳。切爾諾貝爾核災現場,用幾十萬人生命換來的原有石棺,經過這30年已屆限期及嚴重退化,新的 shelter 正剛剛開始動工。他們在買時間,宣稱新的 shelter 能買100年回來,完成廢爐工作。福島面對同樣難題,可能永遠也沒有廢爐的一天。事實上,不要說廢爐後的部件,根本沒有核廢棄置場可以處理,單單是除污後出現的大量放射性表土,現時也沒有處置方法,只是堆在福島。簡而言之,這很可能是解決不了,甚至極可能會惡化下去的問題。
.輻射是能量,是無法被「消滅」的,唯一「消滅」的方法,是等,等到放射核種再也沒有放射能,即理論上,是半衰期的10倍。銫137的半衰期為30年,即300年才完成衰變。切爾諾貝爾核災27年後,2013年的意大利果醬,仍被驗出銫137超標。2010年,俄羅斯Bryansk地區的樹林火警,導致輻射四散,莫斯科的銫137濃度上升24倍。這些樹林,當年就是正正被切爾諾貝爾核災污染。日本土地的除污會否比蘇聯徹底很多?難以推斷。
10. 本文不是賣弄道德高地,也不是推銷苦行僧式清教徒情緒,鼓吹空洞的忿世嫉俗。如果問我去唔去日本?咁梗係去啦,香港咁鬱悶。我已38歲,且不見得往後會有小朋友。有咩問題,最多係社會少了一粒寄生蟲,大家冇眼屎乾淨盲啦。
在福島的問題上,大家都支持日本朋友。但無論大家去唔去外遊,這種正面的支持,唯一合理的立場展現,仍然是堅決反對所謂「復興」論調,警惕一切指向「遺忘」的語言。這種語言只會 trivialize 受害者的痛苦,縱容日本政府拒絕承認責任,為日本重啟核電提供政治能量。如果日本政府說「強制撤離區」任何一處已除污妥當,已安全,福島人可以回去住喇,我們也不必「鄧佢地高興」,這裡的意思就是,冇咩政治壓力,國家不會繼續支援你喇,食自己啦。根本,一切大小問題,以核災的日程計,仍然是現在進行式。
我對梁啟智從來沒有甚麼偏見,但他作為一個開放、親民主、敏感於民情、表達能力優秀的學者,引用看似中立的數據,即便結論沒有偏幫政府的意識,其立論的過程,對「數據」的倚重態度,所透現的說服力與感染力,實在不問可知。
因此,上述爭論,我最想最想指出的粗淺結論是︰Alarmism 當然不理想,但「數據」本身,往往有極大限制。因為,數據必然有其建立的語境,而那個語境的信息內容,不一定會公開,更不一定會正確。我們越能夠輕易得到、流播甚廣的官方數據,它往往越大機會經過權力的細心挑選與嚴謹結構。而且幾乎必然會為政治服務,為權力服務。民間也會有它的數據,但往往難免是遺缺、非系統性、掛一漏萬的。
今天流行的「小小輻射唔駛驚」「核電廠也是減碳選項之一,唯一問題就是核災,香港不是地震帶,邊有咁橋,中六合彩咩」,其實就是歷史產物——先有廣島研究,再有1950年代世衛與國際原子能機構簽訂的協議,限定除非得到國際原子能機構同意,否則世衛不可出版任何關於輻射健康風險的研究。
如果認真呼吸,好好想像輻射的無色無味、難以監測,普通人的無助,歷史岔路的縱深,擁核與產核機構的橫向的寬闊,勾結的盤根錯節,部分學術界的 systemic corruption,未來的不可知——我們便明白,這種技術的多向度發展,其實遠遠超出我們能夠控制與理解的範圍。誰有資源做這樣的研究?或,輻射的影響與健康的correlation,真的可以研究嗎?
例如,掛在核電廠工人身上的任何警報,能夠測量到那名工人工作時 inhalation 中的輻射水平嗎?以萬計的外判底層工人,其健康情況,能夠做到長期 tracking 嗎?當發現身體有問題,才去搜證,會否太遲,到時還有沒有可能再「紀錄」身體承受過的輻射,劑量、時地人?而反核、討償、說明核工業與健康問題之絕對因果關係的論證責任,卻偏偏落在受害與沒有資源的民間一方。
我們既不用全盤採信 alarmism,也不用每事排斥官方數據與論述。然而,在軍事與國家的權力面前,我們的責任,是分析及還原官方謊言的脈絡,進而正視「陰謀論」的正義,看見它的理性與真誠。否則,若一時貪口爽,找個騎牆的臨時支點,成為了官方假設的幫兇,也是無謂了。
(ps 行文匆匆,如有錯漏,歡迎指正 :) )
那須希望之砦——日本民間輻射檢測有Know-how
http://e-info.org.tw/node/201461
VICE︰來自福島的最新報告——與核共舞
http://www.iqiyi.com/w_19rs1n7mdp.html
Alexei Yablokov: A Review and Critical Analysis of the “Effective Dose of Radiation” Concept
http://www.journalhealthpollution.org/…/10…/2156-9614-3.5.13
Rosalie Bertell: Limitations of the ICRP Recommendations for Worker and Public Protection from Ionizing Radiation
http://www.ccnr.org/radiation_standards.html
Bananas are radioactive—But they aren't a good way to explain radiation exposure
http://boingboing.net/2010/08/27/bananas-are-radioact.html
The Insane Cancer Machines That Used to Live in Shoe Stores Everywhere
http://gizmodo.com/the-insane-cancer-machines-that-used-to-…
《香港環境輻射監測摘要2013》
http://www.hko.gov.hk/publica/rm/rm034.pdf
Fukushima Daiichi: ANS Committee Report
http://fukushima.ans.org/report/health-physics
Fukushima Diary: Contaminated Water Crisis
http://fukushima-diary.com/fukus…/contaminated-water-crisis/
20160813 RSKラジオ 三田医院 三田茂院長
https://matome.naver.jp/…/2140370981635…/2147167581503793103
Decommissioning a Nuclear Plant Can Cost $1 Billion and Take Decades
http://www.reuters.com/article/idUS178883596820110613
〈切爾諾貝爾核災30.保護罩到期
需阻輻射外泄.新「石棺」進度落後〉
http://news.mingpao.com/…/art…/20160426/s00014/1461608438911
Critical Analysis of the UNSCEAR Report upon Fukushima
http://www.psr.org/asse…/pdfs/2014-unscear-full-critique.pdf
John Gofman: Radiation-Induced Cancer From Low-Dose Exposure
https://ratical.org/radiation/CNR/RIC/contents.html