pretty code

2020年4月20日 星期一

Kobo 電子書 KEPUB 格式

自從一年多前初探嫁衣神功,接著精益求精悟出自動化暗黑心法後,我就沒在 Kobo 買書了,畢竟其格式常常還需要加工才能在我的 PW3 正常觀看。

最近為了讓媽媽可以方便唸經,買了一台 Kobo Clara HD,才知道 Kobo 整體服務有多難用!

1. 號稱支持多種格式,但仍需要轉成 KEPUB 格式,才能有較好的觀看體驗。
2. 沒有官方的轉檔程式,Kindle 雖然也是自己的格式,至少還有提供工具。
3. 從 Kobo 買到好幾本有問題的書,在 Kobo App 上閱讀就有問題,只有在閱讀器才正常。

換言之,Kobo 只有一個優點就是書籍便宜,但跟浪費的時間比起來,一點也不划算!這也是為什麼我現在都只在讀墨買書的緣故。

當然讀墨也是有些缺點,至少目前我遇到的都是在閱讀器的 App 本身,我認為仍然大有可為。

抱怨歸抱怨,還是需要轉檔給母親,記錄一下避免以後忘記。

1. 使用 Kepubify 直接轉,但我要轉的書都會報錯,反正是用 Golang 寫的,有空再來 Debug。
2. 使用 Calibre,安裝 KePub Output 外掛,可以直接轉換。
3. 使用 Calibre,安裝 KoboTouchExtended 外掛,傳送至裝置時會自動轉檔。

KEPUB 格式的檔名為 XXXX.kepub.epub,上述 2, 3 都需要自己再改檔名,因為機子現在不在身邊,如果不改我也不知道會怎樣?

2020/05/15 更新

我在 Kepubify 遇到的問題,看起來跟 EPUB 格式有關,一般來說,我們會從 META-INF\container.xhtml 這支檔案裡面的 <rootfiles> 找到電子書描述檔的檔名與位置,由於我轉的都是免費的佛經,可能在製作時有些問題,缺少這隻檔案,故 Kepubify 找不到描述檔,自然也無從得知總共有多少 XHTML 檔案要處理,結案。

2021/05/28 更新

在某社團狂熱粉絲的影響下,我還是回到 Kobo 的陣營了,如果不考慮轉檔至 PW3 的話,單純用 Kobo 也沒那麼不方便,最主要的是我寫了一個 KoboPageTurner 的專案,希望等到 Elipsa 來的時候可以順利使用它來翻頁,目前已知在 Kobo Clara HD 和 Kobo Libra H2O 上使用是沒問題的。PW3 什麼都好,就是沒辦法憑自己 hack,翻頁器對受傷的人來說真的是很重要。

原本 10 吋我都是使用 mooInk pro 10,但最近它連自家的固定版面書籍開啟都很慢,再加上使用藍牙翻頁器後,如果忘了關機(已開啟藍牙休眠),不知道在哪個條件下會造成休眠有問題而導致耗電劇增?故我已經沒使用這台機器了。

真是糟蹋了 Sony 的這台好機器,這證明了即使硬體很好,沒有好的軟體配合,也沒辦法發揮它全部的效果。

也不能說讀墨的軟體不好,但他們是強在工程師有模組化以及一致的設計邏輯,再加上使用 Javascript 為開發語言,故讀墨的強是強在他們的模組可以大部份的在 Windows、Web 以及 Android 上共用,當然,這只是我的小小感覺。

2022/05/13 更新

跳槽到 Kobo 差 5 天就一年了,比照 R 家加了一條龍轉檔上傳服務後,買起書來也是手起刀落,一路從蓬萊北路殺到南天門也是毫不眨眼XD

真要說跳槽的缺點嗎?我只能想到兩個:一個是沒有真香的三本七五折活動,無法一次購買大量書籍囤積XD 當然換個角度可以幫我省錢這也是相對的優點。

剩下一個就是感覺網頁操作比 R 家還慢?當然不排除是我這台 8 年老筆電的緣故!

截個今天早上買書後的最新統計圖留個紀念XD

2020年4月17日 星期五

正規表示法限定詞之XX肺炎記憶法

因為感染的人
所以科看診的人變
診的結果只有兩種可能

* -> zero or more
+ -> one or more
? -> zero or one

2020年4月13日 星期一

勞工退休金條例第 25 條之投保年金保險規定

在看本法前,一直看不懂第 25 條之年金保險的規定,後來查了一下,因為目前找不到願意承保之保險公司,而今年 2020 年 6 月就會有第一批可以領取退休金的勞工。故特別修法在〈勞工退休金條例施行細則〉第 37-1 條中將其拿掉。

以下是相關條文規定:

勞工退休金條例

第 23 條
退休金之領取及計算方式如下:
一、月退休金:勞工個人之退休金專戶本金及累積收益,依據年金生命表
    ,以平均餘命及利率等基礎計算所得之金額,作為定期發給之退休金
    。
二、一次退休金:一次領取勞工個人退休金專戶之本金及累積收益。
前項提繳之勞工退休金運用收益,不得低於以當地銀行二年定期存款利率
計算之收益;有不足者,由國庫補足之。
第一項第一款所定年金生命表、平均餘命、利率及金額之計算,由勞保局
擬訂,報請中央主管機關核定。

第 25 條
勞工開始請領月退休金時,應一次提繳一定金額,投保年金保險,作為超
過第二十三條第三項所定平均餘命後之年金給付之用。
前項規定提繳金額、提繳程序及承保之保險人資格,由中央主管機關定之
。

---

勞工退休金條例施行細則

第 37-1 條
本條例第二十五條規定之年金保險開辦前,勞工依本條例規定,選擇請領
月退休金者,其個人退休金專戶之累積數額,全數依本條例第二十三條第
一項第一款規定計算發給。
勞保局依本條例第二十四條之二核發月退休金數額時,應以勞工決定請領
月退休金之年限,作為本條例第二十三條第一項第一款之月退休金計算基
礎。
前項年限應以年為單位,並以整數計之。經核發後,不得再為變更。

2020年4月10日 星期五

勞工退休金專戶保證累積收益之個人理解

理財專家都說勞工退休金專戶不怕政府操盤投資失敗,是因為有保證運用收益,至於保證收益是如何計算呢?根據〈勞工退休金條例施行細則〉第 32 條:

第 32 條
本條例第二十三條第二項所定勞工退休金運用收益,不得低於以當地銀行
二年定期存款利率計算之收益,為開始提繳之日起至依法領取退休金之日
止期間之累積收益,不得低於同期間以每年當地銀行二年定期存款利率之
全年平均利率計算之累積收益。
前項所稱當地銀行二年定期存款利率,指依臺灣銀行股份有限公司、第一
銀行股份有限公司、合作金庫銀行股份有限公司、華南銀行股份有限公司
、土地銀行股份有限公司、彰化銀行股份有限公司等六家行庫每月第一個
營業日牌告二年期小額定期存款之固定利率,計算之平均年利率。
勞動部勞動基金運用局(以下簡稱基金運用局)應每月公告前項平均年利
率,作為當月之最低保證收益率。
從上述法條我們可以得知,其計算應該是以月來看,故我們一樣以 35 年年資,薪資 45,800 元來計算,我理解的公式應該如下:

每月提撥金額  2,748 元
期間 35 x 12 = 420 月
令月保證收益率為 Y

1 x 2748 x Y + 2 x 2748 x Y + 3 x 2748 x Y + ... + 420 x 2748 x Y

公式可以簡化如下

(1 + 2 + 3 + ... + 420) x 2748 x Y

使用梯形公式計算加總

(1 + 2 + 3 + ... + 420) = (1 + 420) x 420 ÷ 2

假設年利率為 1.2%,則保證收益應為

(1 + 420) x 420 ÷ 2 x 2748 x 1.2% ÷ 12 = 242,951 元

故領取退休金時,假設累積收益低於上述的 24 萬,便會以本金加上 24 萬作為發放的依據。

下面則是我個人 15 年來的個人專戶收益情形(裡面約 4 年多沒有提撥,因為曾短暫做過一陣子公務員),也許可以做個比較。


至於每年的收益又是如何分配的呢?根據〈勞工退休金條例退休基金管理運用及盈虧分配辦法〉第 8 條:

第 8 條
本基金以每年十二月三十一日為盈虧分配基準日,並應於每年盈虧分配基
準日後三個月內,由勞動部勞工保險局(以下簡稱勞保局)辦理盈虧分配
。
前項盈虧分配,依本基金當年度損益乘以個別勞工退休金專戶當年度每日
結餘金額累計數後,除以本基金當年度每日結餘金額累計數所得金額分配
。
前項金額,以元為單位,角以下四捨五入。
基金運用局應於每年盈虧分配基準日後二個月內,通知勞保局本基金當年
度損益。
由上述來看,計算需要精算到日,由於無法得到這些資料,我們就簡單以年來約略計算。下面是勞工退休基金 108 年 12 月按月公布事項的資料:


我在 108 年 12 月的個人專戶餘額約為 375,000 元,故當年應有收益應該如下:

267,007,170,000 x (375000 ÷ 2,444,847,330,000) = 40,954 元

看起來跟我用自然人憑證下載的資料 40,013 元差不多。

2020年4月7日 星期二

國民年金保險之老年年金給付試算

由於我本身參加過國考 On Line,在當公務員前有離職唸過幾個月的書,後來辭掉公務員後,在進到這家公司之前,又休息了約 2 個月,截至目前為止我總共繳了 10 個月又 6 日的國民年金保險費。為了確認一下我這微薄的保險費可以領取多少錢,研究了一下法條,以下便是我的試算心得。

一樣先來看相關法條〈國民年金法〉。

第 6 條
本法用詞,定義如下:
一、相關社會保險:指公教人員保險(含原公務人員保險與原私立學校教
    職員保險)、勞工保險、軍人保險及農民健康保險。
二、相關社會保險老年給付:指公教人員保險養老給付(含原公務人員保
    險養老給付與原私立學校教職員保險養老給付)、勞工保險老年給付
    及軍人保險退伍給付。
三、社會福利津貼:指低收入老人生活津貼、中低收入老人生活津貼、身
    心障礙者生活補助、老年農民福利津貼及榮民就養給付。
四、保險年資:指被保險人依本法規定繳納保險費之合計期間;其未滿一
    年者,依實際繳納保險費月數按比率計算;其未滿全月者,依實際繳
    納保險費日數按每月三十日比率計算。
五、受益人:被保險人死亡時,為合於請領給付資格者。
六、拘禁:指受拘留、留置、觀察勒戒、強制戒治、保安處分或感訓處分
    裁判之宣告,在特定處所執行中,其人身自由受剝奪或限制者。但執
    行保護管束者、僅受通緝尚未到案、保外就醫及假釋中者,不包括在
    內。
    
第 7 條
未滿六十五歲國民,在國內設有戶籍而有下列情形之一者,除應參加或已
參加相關社會保險者外,應參加本保險為被保險人:
一、年滿二十五歲,且未領取相關社會保險老年給付。
二、本法施行前,領取相關社會保險老年給付之年資合計未達十五年或一
    次領取之相關社會保險老年給付總額未達新臺幣五十萬元。但所領取
    勞工保險老年給付之年資或金額不列入計算。
三、本法施行後十五年內,領取相關社會保險老年給付之年資合計未達十
    五年或一次領取之勞工保險及其他社會保險老年給付總額未達新臺幣
    五十萬元。但勞工保險年金制度實施前,所領取勞工保險老年給付之
    年資或金額不列入計算。
    
第 29 條
被保險人或曾參加本保險者,於年滿六十五歲時,得請領老年年金給付。

第 30 條
請領老年年金給付,依下列方式擇優計給:
一、月投保金額乘以其保險年資,再乘以百分之零點六五所得之數額加新
    臺幣三千元。
二、月投保金額乘以其保險年資,再乘以百分之一點三所得之數額。
有下列情形之一者,不得選擇前項第一款之計給方式:
一、有欠繳保險費期間不計入保險年資情事。
二、領取相關社會福利津貼。
三、已領取相關社會保險老年給付。但第七條第二款及第三款規定之被保
    險人有下列情形之一者,不在此限:
(一)僅領取勞工保險老年給付者。
(二)已領取公教人員保險養老給付、軍人保險退伍給付者,自年滿六十
      五歲當月起以新臺幣三千元按月累計達原領取給付總額。
被保險人於發生保險事故前一年期間之保險費或利息有欠繳情形,經保險
人以書面限期命其繳納,逾期始為繳納者,其依法得領取之前三個月老年
年金給付,按第一項第二款規定計算之。
依第一項第一款規定請領老年年金給付者,其數額與第二款計算所得數額
之差額,由中央主管機關負擔。
老年年金給付,自符合條件之當月起按月發給至死亡當月止。
依第三十三條規定請領身心障礙年金給付者,於年滿六十五歲時,得改請
領老年年金給付,其請領身心障礙年金前之保險年資,得併入本條之保險
年資計算。

109 年 1 月起,月投保金額為 18,282 元,加計金額為 3,772 元,計算如下:

A式 - 18282 x (10 + 6/30) / 12 x 1 x 0.65% + 3772 = 3,873 元
B式 - 18282 x (10 + 6/30) / 12 x 1 x 1.3% = 202 元

我只有做過幾年公務員,所以我沒有公務員相關的退休金,而我因為符合勞保年金的領取資格,因此根據第 30 條規定,我只能使用 B 式。

我總共繳了保險費 5,756 元,故需要 29 個月才能回本。

2020年4月6日 星期一

Event ID 12 on Windows 10

大概是 3 月下旬左右,之前寫的計算下班時間的程式都無法正常工作!後來去事件檢視器確認了一下,都看不到 Event ID 12 的事件,這件事確實有點奇怪?我的電腦升級 Windows 10 是在 2 月底左右,不可能到 3 月底才不正常。

想了一下,會不會是電源相關設定在 Windows 10 不是正常關機導致?

後來在控制台->電源選項->系統設定->關機設定->開啟快速啟動,將快速啟動停用後,Event ID 12 就恢復正常,繼續觀察中。

2020年4月2日 星期四

勞工退休可享有之相關權益

勞工退休時,總共有 2 種給付可以領取,一個是〈勞工保險條例〉老年年金給付,另一個則是〈勞工退休金條例〉的退休金專戶月退休金請領。以下分別就這 2 種給付來試算一下退休時可以領到的年金金額。

勞保老年年金給付

我們先來看相關法條規定。
第 19 條
被保險人於保險效力開始後停止前,發生保險事故者,被保險人或其受益
人得依本條例規定,請領保險給付。
以現金發給之保險給付,其金額按被保險人平均月投保薪資及給付標準計
算。被保險人同時受僱於二個以上投保單位者,其普通事故保險給付之月
投保薪資得合併計算,不得超過勞工保險投保薪資分級表最高一級。但連
續加保未滿三十日者,不予合併計算。
前項平均月投保薪資之計算方式如下:
一、年金給付及老年一次金給付之平均月投保薪資:按被保險人加保期間
    最高六十個月之月投保薪資予以平均計算;參加保險未滿五年者,按
    其實際投保年資之平均月投保薪資計算。但依第五十八條第二項規定
    選擇一次請領老年給付者,按其退保之當月起前三年之實際月投保薪
    資平均計算;參加保險未滿三年者,按其實際投保年資之平均月投保
    薪資計算。

第 58 條
年滿六十歲有保險年資者,得依下列規定請領老年給付:
一、保險年資合計滿十五年者,請領老年年金給付。
二、保險年資合計未滿十五年者,請領老年一次金給付。

第 58-1 條
老年年金給付,依下列方式擇優發給:
一、保險年資合計每滿一年,按其平均月投保薪資之百分之零點七七五計
    算,並加計新臺幣三千元。
二、保險年資合計每滿一年,按其平均月投保薪資之百分之一點五五計算
    。
假設請領老年給付時,擁有 35 年的勞保年資,其最高 60 個月之投保薪資都是最高等級第 16 級 45,800 元,依據公式計算,其年金給付分別為:

1. 45800 x 35 x 0.775% + 3000 = 15,423 元
2. 45800 x 35 x 1.55% = 24,847 元

因為擇優計算,故可以月領 24,847

勞退月退休金領取

一樣先來看相關法條規定。
第 14 條
雇主應為第七條第一項規定之勞工負擔提繳之退休金,不得低於勞工每月
工資百分之六。
雇主得為第七條第二項第三款或第四款規定之人員,於每月工資百分之六
範圍內提繳退休金。
第七條規定之人員,得在其每月工資百分之六範圍內,自願提繳退休金;
其自願提繳之退休金,不計入提繳年度薪資所得課稅。
第七條第二項第一款至第三款規定之人員,得在其每月執行業務所得百分
之六範圍內,自願提繳退休金;其自願提繳之退休金,不計入提繳年度執
行業務收入課稅。
第一項至第三項所定每月工資及前項所定每月執行業務所得,由中央主管
機關擬訂月提繳分級表,報請行政院核定之。

第 23 條
退休金之領取及計算方式如下:
一、月退休金:勞工個人之退休金專戶本金及累積收益,依據年金生命表
    ,以平均餘命及利率等基礎計算所得之金額,作為定期發給之退休金
    。
二、一次退休金:一次領取勞工個人退休金專戶之本金及累積收益。
前項提繳之勞工退休金運用收益,不得低於以當地銀行二年定期存款利率
計算之收益;有不足者,由國庫補足之。
第一項第一款所定年金生命表、平均餘命、利率及金額之計算,由勞保局
擬訂,報請中央主管機關核定。

第 24 條
勞工年滿六十歲,得依下列規定之方式請領退休金:
一、工作年資滿十五年以上者,選擇請領月退休金或一次退休金。
二、工作年資未滿十五年者,請領一次退休金。
依前項第一款規定選擇請領退休金方式,經勞保局核付後,不得變更。
第一項工作年資採計,以實際提繳退休金之年資為準。年資中斷者,其前
後提繳年資合併計算。
勞工不適用勞動基準法時,於有第一項規定情形者,始得請領。
勞退每月工資依據 109 年 1 月 1 日生效之勞工退休金月提繳分級表,其最高月提繳工資為 150,000 元。我們一樣以 35 年年資來看,每月工資為 45,800 元,在不計收益的狀況下,其退休金專戶金額應為:

45800 x 12 x 35 x 6% = 1,154,160 元

勞工退休金月退休金試算網頁試算結果如下,每個月可以領 5,395 元。


結論,在國家未破產之情況下,每個月可以領到的金額約為 3 萬元。