pretty code

2019年4月28日 星期日

2019年4月25日 星期四

Onyx Boox Nova Pro 2.1.1 更新 母湯喔

有這台機器的人千萬不要更新!

更新之後所有電子書軟體皆不能用,翻頁時會嚴重閃爍。

暫時解決方法是使用 A2 模式看書。

不過 NeoReader 居然沒有問題。

個人猜測是文石工程師有針對翻頁事件特別處理,應該是為了解決 Kindle App 翻頁問題,不料卻製造出更多 Bug。

而此額外 patch 並不會作用在 NeoReader 翻頁事件,這也是它能倖免於難的原因。

2019/04/26 更新
今天在詳細看了更新文件後,推翻了我昨天的想法。

我認為是為了修復第三方 regal 才引起的 Bug,回家把 regal 優化關掉試試﹝後記:回家停用 regal 一切恢復正常﹞。

因為 NeoReader 原本就很順,故我也沒有進去過優化選項調整。

又或者是文石的更新,需配合其 App Store 的電子書軟體才行,而不能像我一樣都從 Google Store 下載。


Chrome Extension - The books list

這是我的第一支 Chrome Extension - The books list。

上架時,需繳交一次性註冊費用 US$5,總共可以發佈 20 個項目。

使用方式
只要在購買書籍頁面中按下此插件圖示,程式便會去 parsing 網頁,找出書籍名稱,好方便後續應用。

目前支援網站
Readmoo
Kobo
Google Play 圖書


2019年4月24日 星期三

Chrome Extension - Badge

最近想要開發一個工作上的小程式,於是便想試試 Chrome Extension。

剛好看到文件提到 Badge 相關的 api,Badge 中文意思是徽章,也就是我們常看到圖示旁邊會有一些文字提醒。

只要呼叫 chrome.browserAction.setBadgeText,便可以在 icon 上加上 4 個字元的提示。

另外,Badge 只適用在 browser action,page action 因為不是 for all URL,故不支援 Badgge。



2019年4月22日 星期一

kindlegen tool 錯誤訊息 bug

由於電子書是各家出版社自行製作的,常常會遇到因不符合 EPUB 規範,導致 kindlegen tool 無法轉檔。

偶爾會發現錯誤訊息提到 "nev" 這個關鍵字。

我認為這是 kindlegen 拼字錯誤的 bug,"nev" 指的就是 "nav" 元素。

错误(prcgen):E23029:

某本書在使用 kindlegen 轉檔時,會出現底下錯誤,"错误正在处理中Epub3 Landmarks导航元素在导航文件里"。

與其他電子書交叉比對了一下,似乎是 "nav.xhtml" 的 "nav" 區塊有 2個的緣故,使用 "<!--  -->" 將其註解起來即可。

2019年4月16日 星期二

挑選電子書閱讀器之 SELF 原則

半夜傾盆大雨,擾人清夢,一時心血來潮,想到分散式系統之 CAP 定理,於是便寫下了這篇文章。

隨著科技的進步以及智慧型手機的普及,現代人不管是在看書、看電視,甚至是使用電腦的時間都越來越少,很多事都是靠手機一支搞定,誇張點來說,現代人出門也許會忘記帶鑰匙,但絕對不會忘了帶手機。因此,對於愛看書的人來說,手機會是一個最佳解嗎?以下是個人在購買了 4 款電子書閱讀器後的小小看法。

此處的電子書指的是常見的 MOBI、EPUB、TEXT、PDF 等格式,閱讀器則是包括了手機、平板、E-Ink 封閉式系統專用硬體(Kindle、Kobo、Readmoo、reMarkable、SONY)以及 E-Ink 螢幕的 Android 開放系統(HyRead、Boox、Hisense),每一種閱讀器都有各自的擁護者,到底我們該如何選擇呢?我認為我們可以參考所謂的 SELF 原則。


S - Size 尺寸
不同的尺寸其實就代表著不同的重量,為了攜帶方便,6 吋會是個不錯的選擇,拿久了手也不會那麼酸。另外,尺寸也會影響可以觀看的電子書格式,例如 PDF 最起碼也要 8 吋螢幕,還要配合閱讀軟體自動裁邊等功能才能勉強觀看。最後,越大的螢幕,可視文字也越多,這也會影響看書速度。

E - Expreience 體驗
體驗指的是看書的舒適度,特別是眼睛的觀看感覺,也許有人會覺得手機或是平板看久了好像也不會特別疲憊,但普遍來說,E-Ink 螢幕給人的感覺比較接近真實紙質,看久了也比較不傷眼。最後,翻頁速度也是影響體驗感的一環,理論上來說,專用硬體的翻頁速度會比 Android 開放系統另外裝 App 的速度來得好。

L - Love 喜愛
喜愛也是一個很重要的因素,像我最早接觸的是 Kindle,我的最愛自然而然就是 PW3。另外,很多的電子書書商也有生產自己的閱讀器,因此不同的書商擁有的書籍種類、購書體驗甚至是購書折扣,也會影響使用者對各家書商的喜愛程度,於是就影響了閱讀器選擇。

F - Freedom 自由
一般來說,專用硬體除非有高手破解,不然都只能使用內建軟體閱讀,相反的,Android 開放系統允許使用者自行安裝軟體,可以實現一台閱讀器觀看各家書商書籍的願望,另外,甚至是上網、PTT、FB 都不成問題,不過前提是系統要有 A2 模式,才能減少刷新螢幕的頻率。

以目前市面上的產品及售價來看,暫時還無法同時滿足這 4 種條件;手機、平板因為傷眼,影響觀看體驗,Kindle 等專用硬體,又無法滿足安裝軟體需求,Android 開放系統因為 App 優化關係,比不上專用硬體的翻頁速度。總之,它是個難題。

我想在參考上述 4 個原則之後,應該更能勾勒出自己的使用情境,幫助自己決定要購買的機器,我也是在耗盡了家財購買 4 款閱讀器後,才了解自己想要的是什麼﹝每個我都要﹞。

也許在未來的某一天,等到 E Ink 技術進步以及價格親民化後,喜歡看書的人手上同時擁有好幾台以上的電子書閱讀器也不再是什麼新鮮事吧!


2019/09/03 更新
手上擁有的四台電子書硬體,其中 Onyx Boox Note Lite 已掛,用不到 5 個月。

2019/11/07 更新
今年 9 月拿到預購的 mooInk Pro,用了一個月左右,雖然本來是為了破解封閉而買的,但用到現在還算滿意,如果可以增加 PDF 裁邊、PDF 點選翻頁以及改進個人 EPUB 書籍載入速度,這台機器就會更值得推薦。


2019/12/19更新
目前想法 6 + 10.3 吋各 1 台似乎是個不錯的選擇,不用一直為手邊閱讀器充電,尤其是如果還有手寫筆或是翻頁器要充電時,可以少充一台是一台。6 + 10.3 吋也兼顧了各種需求,不過前提是你會自行轉檔或是只在固定的 2 家電子書商買書。像我目前只在 Readmoo、Amazon.com、Amazon.cn 以及 Google Play Books 買書。

Kindle Oasis 2充電完都不使用,電量掉的很慢;Boox Nova Pro 不用時要關機才不需要一直充電。

2020/02/13 更新
現在最常用的就是 PW3 和 mooInk Pro,可能跟我幾乎都在 Readmoo 買書有關, PW3 看流動版面書籍,mooInk Pro 看 PDF 和 技術書籍 EPUB,兩者取長補短,堪稱完美。


2020/07/03 更新
星期一收到兩個禮拜前購買的海信 A5 電子紙手機,以我現在的感覺來看,我覺得這是愛閱讀的人拼圖的最後一片,讓外出時能夠更護眼,也能用來上網查詢資料。

總而言之,我現在覺得的終極運用就是:
01. 電子紙手機 外出使用。
02. 6 吋閱讀器,流式 EPUB。
03. 10 吋閱讀器,PDF + 固定版面 EPUB。

2021/02/18 更新
又過了半年左右,我還是維持一樣的想法,但如果只能推薦一台入門,我應該會推薦 Hisense A7C 手機,一來是螢幕夠大,勉強可以代替 6 吋;二來是有各種刷新模式可用,配合彩色螢幕上網,不是大量圖片的網路資料也能輕鬆應付,只可惜可能會有資安疑慮,真希望台灣廠商能出這樣的產品。另外一個替代方案就是看凌網在今年是否有機會出一款彩色螢幕的機型?如果有的話我一定會買。

2019年4月15日 星期一

電子書戰士合體

每個都是我心頭肉呀

左上至右下分別是
Kindle Oasis 2, Kindle Paperwhite 3
Boox Nova Pro, Boox Note Lite



使用 Python parsing Google Play 圖書書籍清單

今天為了 parsing Google Play 圖書清單,多學會了一招 Python Regex 的技巧,也就是如何讓後面的 pattern 可以等於前面定義過的 pattern 變數。

至於為什麼需要這個技巧?
1. Google 的 html 沒有換行字元。
2. 因為沒有換行字元,在貪婪模式下,會得到一整個字串。
3. 剛好 title attribute 跟 element 的書名字串一樣,故可解決貪婪模式問題。
4. 純粹因為我懶,不想用 C 的方式處理 (strstr 定位 -> ptr++ -> loop)。


目前 TITLE pattern 只列出我所購買書籍的 id 可能組合,假設有不在組合的字元出現,手動增加到 pattern 即可 ([0-9a-zA-Z\-_])。

不多說,來看程式碼,重點是 "(?P=TITLE)",這樣就可以讓後面的 pattern 等於前面的 pattern 變數。


'''
html example
<a _ngcontent-c9="" class="title" href="/books/reader?id=jrlyDwAAQBAJ" title="DRAGON BALL超 七龍珠超 (1)"> DRAGON BALL超 七龍珠超 (1) </a>
'''

pattern = 'href="/books/reader\?id=[0-9a-zA-Z\-_]{12}" title="(?P<TITLE>.*)"> (?P=TITLE) </a><\!---->'

res = re.findall(pattern, content)

for i, book in enumerate(res):
    print(book)

2019年4月12日 星期五

電子書軟體翻頁速度實測

為了確認自己的感覺,以手機碼表各測 3 次,選的不是同一本書,但皆為橫式書籍。

底下為相關數據 ,單位-秒。

Boox Note Lite   Boox Nova Pro   Kindle Paperwhite 3    Kindle Oasis 2   
Kobo App 0.8 1.3
Kindle App 1.6 1.2 0.8 0.5
Google Play Book App    1.7 1.0
Readmoo App 1.4 1.4
NeoReader App 0.8 0.7

從上面數據來看,Oasis 2 實體是最快的。

另外,Kindle App 雖然看起來不快,但那是算到翻頁效果結束的時間,如果是算到看到翻頁效果開始,則不到 1秒。換言之,因為有動畫效果,使用者其實不會覺得翻頁特別慢。

故撇開 Google App 在 Note Lite 更新系統後變慢不論,Readmoo App 目前看起來是最慢的。

希望讀墨能好好優化 App,才不枉費我在上面買了四十來本書。

2019/04/15 更新
Kobo App 在 Boox Nova Pro 看《上班,辭職,還是撐下去》這本書時,約 20 分鐘左右就會遇到點了沒有反應,要過好幾秒以後才會突然翻頁,目前正在看另外一本書《哪有工作不委屈,不工作你會更委屈》來驗證問題,直到看完為止,這本書並沒有遇到同樣的問題。

2019/05/16 更新
1. Kobo App 似乎在某些書都會有點了沒反應的現象,只要確定有點到,就等它吧XD
2. Note Lite 翻頁速度看起來跟優化選項 Regal 有關,關閉 Regal 後,Google App 就只需 1.0 秒左右。

2019年4月7日 星期日

Onyx Boox Nova Pro 3 個嚴重問題

1. Wi-Fi 很爛,同個房間,Note Lite 沒有問題,Nova Pro 必須改用手機分享才正常。
2. 背板上網就很燙,也許跟 Wi-Fi 有相關﹝Note Lite 也會,只是較不明顯﹞。
3. 玻璃面板緣故,如果用力壓在邊框上就會導致軟體翻頁﹝例如擦拭面板指紋力道﹞。

3 我認為是玻璃面板通病,感覺 Oasis 2 偶爾也有,不過 4 台硬體中,Oasis 2 我最少用,故不確定。

目前最新喜愛程度又改變了。

Kindle PaperWhite 3
Onyx Boox Note Lite﹝略勝﹞
Onyx Boox Nova Pro
Kindle Oasis 2

2019/06/20 更新
天氣熱之後,Note Lite 上網燙就很明顯,故我認為 Note Lite 和 Nova Pro 應該都有一樣的問題,看起來是 Boox 設計不良或是其他因素導致。

2019年4月3日 星期三

Simple threads for UEFI

剛在 python mail 討論串中看到的

https://github.com/Openwide-Ingenierie/GreenThreads-UEFI

該作者寫了一組 thread functions for UEFI
有空可以來試試看

關於 Facebook 的小小看法

雖然臉書最早是使用 PHP 開發
理論上我應該會對它有興趣
但我卻很少使用

一來是因為隱私
二來是介面真的不太好用

最近為了看一些電子書的資料
耐著性子看了 1 ~ 2 個禮拜
真的是不太好的體驗

用了 Lite app 雖然有好一點
但還是覺得綁手綁腳

這樣也好

在我買齊了電子書設備後
這個軟體也可以移除了

Code 海茫茫,學海無涯
生命應該用在更美好的地方上才是

Onyx Boox Nova Pro 入手

在辛苦工作了快一個月之後,買點小東西犒賞自己不為過吧!

終於還是去賣血把東西給入手了XD

只玩了 2 ~ 3 小時。

目前感想 (2019/04/03)

優點
1. 第一眼就覺得就是它了,適當的大小以及不錯的質感。
2. 300 dpi 果然才是王道。
3. 似乎只有 1 ~ 2 次點到沒有反應,比 Note Lite 的機率小太多了。
4. 多了手寫功能,價差只有 NT 1,800。
5. 一樣可以用 Google 商店。

缺點
1. 不知道是不是 Google Play 圖書預設會下載所有書籍,背面一度很燙,後來沒反應就強制重開機。
2. 感覺 Kobo、Google Play 圖書、Readmoo、Kindle app,翻頁速度都變得差不多,分不出誰比較好,但感覺是比我的 Note Lite 最好的體驗再慢一點點,待確認﹝OS 已經更新 03/18 版本﹞。
3. 玻璃面板很容易有指紋。
4. 上網體驗變差,因為螢幕變小。

總之,試了 Readmoo、Kobo、Google Play 圖書、Kindle、Firefox、MoPTT、Facebook Lite,有種當年使用 Palm 的驚豔感,感覺世界就在手中。

反而 Android 智慧型手機普及我還沒這種驚豔感,也許是因為在手機上沒辦法好好享受讀書的感覺。

底下是個人手上四台閱讀器目前的喜愛程度,純以看書論,還是 PW3 最能讓人沉浸在讀書的世界中。

Kindle Paperwhite 3 > Onyx Boox Nova Pro > Onyx Boox Note Lite > Kindle Oasis 2