pretty code

2021年11月17日 星期三

糟糕的電子書格式範例

先說明我不懂 CSS,但我總覺得一次用兩個以上的類似屬性不知有啥意義?

原本我為了解決從 R 家或 K 家購買的電子書無法在 Kindle Paperwrhite 3 指定字型的問題,每當我的小程式在轉檔時,一律會強制移除 font-family 的屬性,這幾乎可以解決六成以上的問題。

後來又發現有些書除了用 font-family 外,同時也會用 font 屬性且字型名稱會使用單引號或雙引號包住,故我也把處理這種 CSS 的步驟加到我的轉檔程式中。

近日又發現有些書會使用上面的 font CSS,但是其字型名稱卻不使用任何單引號或雙引號包住?有沒有搞錯,一個 CSS 各自表態,真是服了這些工程師!

趁著今天放假的下午,邊吹頭髮邊把這段處理步驟加上,目前我只知道大部份遇到的 case 都只使用 sans-serif 或是 serif 這兩種字型而已。

暫時就先這樣處理吧,反正遇到例外再加到字型陣列變數即可。

2021年11月14日 星期日

Kobo Elipsa 三大小幫手

最近下班後有些東西不得不繼續在家學習,雖然相關書籍已經都購買好了,但還是欠缺一台好用的 PDF 電子書閱讀器!不是說 Elipsa 不好,但 10 吋看 PDF 還是稍嫌小了點。

剛好讀墨最近推出新的 mooInk Pro 13 第二代,感覺還是需要一台 13 吋的閱讀器來看 PDF,而這台是較新機種,理論上應該是比我手上的 mooInk Pro 10 一代還要來得快才是。

本想咬一咬牙買了下去,但一來我現在沒在讀墨買書,二來他 PDF 不能點選翻頁,尤其是最後一點我一直無法接受,想來想去還是放棄自己敗家的渴望。

之前就已經知道 Kobo 有第三方寫好的閱讀軟體,可以幫 PDF 裁邊,乾脆趁現在來試用看看,搞不好可以解決我的燃眉之急也說不定?

網路上比較有名的是 KOReader 和 Plato,而我本來就有裝 NickelMenu,故只要簡單的把這兩個軟體解壓縮放在某個資料夾,加上啟動方式在 NickelMenu 選單,我就能看我需求隨時使用這兩套軟體來閱讀 PDF 書籍。

根據試用的結果,兩者都能暫時達到我的需求,不論是 Google Play Book 的掃瞄類圖檔 PDF,或是我在其他國外書商購買的純 PDF 資訊書籍,兩者都能正常裁邊閱讀。

因此我認為 Kobo Elipsa 的使用者,應該都要安裝這三套軟體,如此一來可以更加容易的閱讀 PDF 檔案。

附上同一個檔案使用手上兩台 10 吋的電子書閱讀器的閱讀效果。左邊是 Kobo Elipsa,右邊是 Readmoo mooInk Pro,我們可以看到有裁邊後,字體果然變大許多,再加上不論是 KOReader 或是 Plato 都有調整對比度的功能,稍微調整一下就能獲得不錯的閱讀體驗。

2021年11月1日 星期一

Linux 下開啟檔案數量限制的相關指令及設定檔

在 Linux 下,萬物幾乎皆是檔案,為了建立一個網路連線,我們就會開啟一個 file descriptor。

一個 process 可以開啟的檔案數量是有限的,預設值是 1024,我們可以使用 ulimit -n 來確定。我們可以透過修改 /etc/security/limits.conf 來放寬限制,以 Ubuntu 來說,我們可以針對一般使用者來放寬限制到 10240,注意如果是要針對 root,則第一個欄位必須明確指定 root 才行。

* soft nofile 10240
* hard nofile 10240

我們也可以使用 cat /proc/PID/limits 來看某行程目前的限制設定。

另外,我們可以使用 cat /proc/sys/fs/file-max 來看 Linux kernel 允許開啟的最大數量,而使用 cat /proc/sys/fs/file-nr 可以從第一個欄位看到目前開啟的數量。

如果我們想調整這個數字,則是修改 /etc/sysctl.conf,指定 fs.file-max = XXXX。