2014年4月22日 星期二

台灣公投法的明顯問題

以下這一段來自Wiki的公民投票法:

公民投票的結果:公民投票案投票結果,投票人數達全國、直轄市、縣 (市) 投票權人總數二分之一以上,且有效投票數超過二分之一同意者,即為通過。投票人數不足前項規定數額或未有有效投票數超過二分之一同意者,均為否決。

假設我國只有100人,請各位考慮以下兩例:
  1. 公投議題A的投票,有26人投贊成票,25人投反對票
  2. 公投議題B的投票,有50人投贊成票,0人投反對票
按照台灣的公投法,議題A會通過,議題B是否決。

但是我們稍微想一下,就可以發現這個問題:議題B和議題A相比,贊成的人更多,反對的人更少,為何議題A能通過,議題B卻不能通過?

網路上有一些文章說公投法不合理,有些很冗長,有些只是說門檻高,我自認為我這篇這是最短最清楚的。

那該怎麼修正呢? 以下是建議:
公民投票的結果:公民投票案投票結果,有效同意投票數達全國、直轄市、縣 (市) 投票權人總數分之一以上,且有效投票數超過二分之一同意者,即為通過。有效同意投票數不足前項規定數額或未有有效投票數超過二分之一同意者,均為否決。
 「有效同意投票數達全國、直轄市、縣 (市) 投票權人總數分之一以上」的「四分之一」是怎麼來的呢? 是來自於我們期待至少1/2的人來投票,而人數剛好過1/2,而且都投有效票時,要通過大約需要剛好過1/4的同意票,因此以此作為門檻。如果我們認為1/3的人來投票就可以決定議題是否通過,那麼同意投票數只要達1/6就好。

按照這個版本,就可以化解上述的問題,造成議題A和議題B都會過關。

2014年4月18日 星期五

「黑馬」的英文

  • dark horse: 黑馬
    • dark: 暗色、黑色
    • The team is a dark horse in the competition.

2014年4月16日 星期三

制胃酸:旋覆花與海螵蛸的比較

常常在半夜(大約01:00)會因為胃酸逆流而睡不著,一定要起來吃一些東西才能入睡。
因為知道旋覆代赭石湯有制胃酸的效果,加上手上有旋覆花的單方科學中藥,
所以就拿來試用看看。

睡前吃大約1g,吃了兩天,有效果。
但是第三天起,半夜變成會口很渴,又會容易起來上廁所。
一停藥,胃酸逆流當晚又發生。

最近用「胃潰瘍」來找網路文章,發現有幾篇提到海螵蛸很好用。
買了回來,吃了兩晚,覺很比旋覆花好用,晚上沒有口渴的現象。

以上是自身體驗。

2014年4月11日 星期五

如何讓自己的python模組在python2和python3環境下皆可執行

考慮以下的情境:
  • 您有兩個projects,使用python語言,簡稱為PA與PB
  • PA用到別人的舊module(非用不可),用python2.7的語法,所以您使用python2.7 (M1)
  • PB用到別人的新module(非用不可),用python3的語法,所以您使用python3 (M2)
  • 兩個projects有共用的程式碼,您當然將它們抽出來,寫成您自己的module (M3)
因為python3和python2之間,有語法不同的差異,也有module名稱改變的差異,所以您的M3要寫成同時在PA和PB都能使用才行。當然拆成兩份也是可以,不過往後的管理維護上比較麻煩。

  • 化解print function和字串編碼原則的不一致
    • 在python3中,字串統一是使用unicode來儲存;在python2中則是有彈性,但是這個彈性會造成您的module要時時留意編碼問題。在使用python2的大型程式開發,其實就有公司採取「一律先轉成unicode再處理」的原則。
    • 處理方法:在程式碼開頭輸入以下,就可以使用python3的print與字串編碼原則(在使用python3時,該行不會有錯誤)
from __future__ import print_function, unicode_literals 

  • 一般性的處理
    • 在import sys之後,程式碼可以使用sys.version_info取得python的版本。如果只需要分辨python2.x與python3.x,大致上可以這麼作(臨場應變):
if sys.version_info.major == 2:
# codes for python2
elif sys.version_info.major == 3:
# codes for python3

以開utf-8檔為例,只需要 python2 的部份就好了(臨場應變,讓程式碼簡潔):
from __future__ import print_function, unicode_literals
import sys
if sys.version_info.major == 2:
    import codecs
    open = codecs.open

# ....
# 之後可以這麼用

with open(f_name, 'r', encoding='utf-8') as f_in:
    for line in f_in:
        print(line)

2014年4月9日 星期三

中藥如何幫助戒煙

要把煙戒掉,需要很大的意志力。

市面上有一些戒煙產品,例如戒煙貼片,讓戒煙者體內保持尼古丁濃度,來減少從香煙吸入焦油;例如無焦油尼古丁的煙,讓戒煙者逐漸排除對尼古丁和焦油的依賴。聽起來好像都有些道理,不過感覺速度不會很快。

最近試了中藥,十分的速效,只是科學中藥,一兩劑就有不同的感覺(不過藥方不能公佈)。它的原理是清肺,清肺之後,吸同樣的煙會有不同的味道。以前吸煙時覺得很棒的味道,變成了不對勁的酸苦味。

不管大家是用什麼方法,如果加上這樣的中藥處理,相信效果會更快更顯著。

2014年4月1日 星期二

和「skirt」相關的英文整理

  1. skirt: 裙子(n.), 裙子乃圍繞在雙腿外之物,引申有「圍繞」和「避開」的意思(v.)
    1. She wears a skirt. (國小英文)
    2. The road skirts the mountain. (道路「裙子(環繞)」這座山)
    3. The company skirted 1 billion in taxes. (這家公司「裙子(避開、繞過)」了十億的稅)