解決 Chrome 凍結背景分頁的問題

最近 Google Chrome 不知道是哪根筋不對,在某次的更新之後,會自動凍結背景執行的分頁,連「固定分頁」也逃不掉被凍結的命運! 每次切換分頁都要再載入一次網頁,實在是很惱人! 甚至將視窗切換到別的程式也可能會凍結 Chrome 的分頁!

網路上找到的解決方法不外乎是與「實驗性功能」中的這兩個選項有關:

  • Tab Freeze
  • Automatic tab discarding (啟用分頁捨棄功能)

但這兩個選項在新版的 Chrome 中都已經找不到了!

在我即將要含淚拋棄 Chrome 之前,終於在 Google 的支援論壇找到了有效的解決辦法!
Read more

[Kotlin]研究 Kotlin 的函式宣告、函式型別、匿名函式、Lambda 與高階函式

Kotlin 的「函式」是所謂的「一級函式」,支援「高階函式」的用法,也可宣告「匿名函式」及「巢狀函式」,這些都是近幾年所興起的程式語言特色。

(原本這篇文章只是要整理一下 Kotlin 的函式用法而已,沒想到愈寫愈多!!)

名詞定義

先確認是否了解什麼是表達式? 什麼是敘述式?

Expression (表達式、表示式、運算式)

  • 它是一種「值」
  • 單獨存在沒有意義
  • 可放在「等號」的右邊
  • 可做為函式的引數 (Argument)
  • 可做為函式的傳回值
  • 例如: 數值、字串、布林值、null、運算後的結果、比較後的結果、匿名函式...

Statement (敘述式、語句)

由會產生「動作」的程式關鍵字及語法所組成的程式碼

其它名詞定義

  • Literal: 字面值,例如: 103.14truenull'A'"This is a book"...
  • Parameter: 函式「宣告」時的外部輸入參數,例如: fun example(參數) { }
  • Argument: 呼叫函式「執行」時所使用的引數,例如: example(引數)
  • Identifier: 識別字,命名變數、函式、類別...所使用的文字
  • Lambda: 一種匿名函式的寫法或概念

Read more

Humble Bundle 與 Choice 同捆包遊戲訂閱


我們知道 Steam 是全世界最大的遊戲數位發行平台,上面有 30,000+ 款電腦遊戲,讓人買之不盡、玩之不竭! 但是,買電腦遊戲就是要撿便宜,身為遊戲的玩家絕對不能不知道「Humble Bundle」。

Humble Bundle 是 Steam 的遊戲代理商之一,它的銷售方式主要有三種:

  1. Bundles: 遊戲、軟體或電子書的同捆包 (組合包),通常為限時限量銷售。它讓客戶可以「自行決定」要購買同捆包的價格 (最低 USD$1 元),不同區間的價格可獲得不同數量的捆綁商品。不過,偶爾也會推出「固定價格」的同捆包。
  2. Choice 訂閱: 也是遊戲同捆包的一種,但是改以「固定價格」讓客戶「長期訂閱」,客戶於每個月的第一個星期五即可獲得當月的同捆包,裡面遊戲的總價值通常會遠超過訂閱的費用
  3. Store: 不同折扣的數位遊戲,若撘配 Choice 訂閱可再疊加 10%~20% 的折扣。

Read more

Evernote 最佳化資料庫

我從 2010 年開始使用 Evernote,我將所有的記事、圖片都往 Evernote 丟,我也有使用它的共用與協作功能,並且付費升級成了專業版。

用了無數年的 Evernote,這陣子它的反應變慢,偶爾還會發生「沒有回應」的狀況,我想應該是要好好給它修理一下了。

我查詢到舊版的 Evernote 可以執行 Evernote.exe /DebugMenu,從「[Debug]」選單裡執行「Optimize Database」,但是在新版 Evernote 的「[Debug]」選單卻找不到這個項目!

原來新版 Evernote 已經改了,不需再啟用 DebugMenu,只要:

  1. 按住鍵盤的 Ctrl,用滑鼠點選「說明(H)」選單,就會看到多出來一整排的隱藏功能:
  2. 點選「最佳化資料庫」,然後靜靜的等它跑完:

Evernote 最佳化資料庫會更新記事、重建全文搜尋索引、重建記事屬性索引。

我原本的資料庫大小約 2.2GB,有 5800 則記事,整個最佳化的時間約 50 分鐘 (非 SSD 硬碟),重整完變成 1.7GB,大約減掉了 23% 的贅肉。

參考網頁

  1. 最佳化Evernote軟體端圖文資料庫,你覺得瀏覽搜尋更快了嗎?
  2. Evernote 5.0 的進階搜尋功能 | Vixual

如何透過 Zapier 實作「Send to Kobo」功能

Amazon Kindle 陣營的「Send to Kindle by E-mail」可以把電子書直接 E-Mail 到 Kindle 去閱讀,這樣的功能再與 Calibre 相結合更是如虎添翼。但是 Kobo 一直沒有這樣的機制!!

最近 Kobo Forma 將韌體更新至 4.18.13737 之後,會得到了一個全新的連結 Dropbox 功能,這功能讓我們可以把 Dropbox 做為額外的雲端書櫃。於是我就想到,能否也利用 Dropbox 來做到類似 Send to Kobo 的功能。

終於我透過了 Zapier 實作出了一鍵將電子書寄送到 Dropbox 去讓 Kobo 讀取,完成了一個非官方版的「Send to Kobo」,以此做為本篇的教學。

不過呢,因為目前 Kobo 只有最頂級的 Forma 可以連結 Dropbox,所以要套用本網頁的教學,原則上你得要有一台 Kobo Forma。但是,假如你就是脾氣硬、骨頭也很硬,硬是不想買一台 Kobo Forma 的話,也是可以把本網頁當成是 Zapier 的入門教學啦──學習如何將 Gmail 的附件上傳至 Dropbox。

Read more

Kobo Forma 韌體更新與連結 Dropbox 經驗分享

Kobo Forma 更新至 4.18.13737 (2019/09/30) 之後,除了閱讀介面的改變之外,還多出了一個 My Dropbox 的功能。這功能還滿實用的,可以去連結你的 Dropbox 帳號,某種程度上算是補足了 Kobo 沒有個人雲端書櫃的缺憾。

通常 Kobo E-Reader 的韌體都是分區推送的,如果你要搶先昇級韌體,就要自己手動更新。

以下將逐一分享從更新 E-Reader 的韌體到使用 Dropbox 下載電子書的流程。

Read more

幾個在電腦遊戲中顯示 FPS 與監測系統資源的方法

執行遊戲時的 FPS (Frames Per Second/每秒顯示張數/幀數) 代表玩遊戲的順暢度,也代表自己的電腦與顯示卡的效能。

以下將介紹: 從簡單監測 FPS,到全面監測系統資源的幾個方法。

1. Steam

有在玩電腦遊戲的玩家應該都知道 Steam 了吧! 只要使用 Steam 的客戶端程式就可以顯示遊戲的 FPS。

Read more

Chrome 安裝「Ctrl+TAB MRU」按 Ctrl+Tab 來回切換分頁

Widnows 可以按 Alt + Tab 回到上一個使用過的視窗、快速的在兩個視窗之間進行切換。

Firefox 可以按 Ctrl + Tab 回到上一個檢視過的分頁、快速的在兩個分頁之間進行切換 (若不是的話,請進到「選項」中將「按下 Ctrl+Tab 時,依照最近使用分頁的順序切換分頁標籤」勾選啟用)。

對於我經常需要對照兩個網頁的內容時,在 Firefox 中按 Ctrl + Tab 快速來回切換兩個分頁已經用得很順了。

可是換到了 Chrome 之後,按 Ctrl + Tab 則只會依序切換到「右邊」的分頁,像是在導覽各個分頁一樣!

當分頁的數量一多,分頁的名稱都已經縮成只剩下一個個的圖示時,往往一切換分頁就會找不到之前在看的分頁,然後迷失在茫茫的大海之中! 思緒也跟著中斷了!

找遍 Chrome 全部的快速鍵也沒有來回切換分頁的功能!

Read more

Kobo Exporter: 匯出 Kobo 電子書的書籍清單與註記資料 (劃線與筆記)

對用戶而言,電子書上的註記 (劃線與筆記) 是很重要的功能。那 Kobo 的系統對於電子書上面的註記是否有匯出或保存功能呢?

答案是「沒有」的,在 Kobo 預設的功能上,完全沒有任何將註記匯出或保存的功能!

Kobo 就連在各裝置之間的同步都做得很「落漆」,不僅同步得慢,又同步得不完全,可以說是落後 Amazon Kindle 一大截!

Kobo 我想請教你:

在 21 世紀的今天,你的雲端竟然還可以同步得這麼「落漆」,還有人的註記會遺失,這到底是個什麼樣的概念?!

於是我這兩天研究了一下 Kobo E-Reader 所使用的資料庫,它的結構還滿單純的,就順手寫了一個「Kobo Exporter」程式 (其實就只是 Windows 的批次檔 + SQL) 來取得 Kobo 的資料庫內容。

本程式只能在 Windows 上執行,主要是呼叫 sqlite 的主程式去查詢 Kobo 的資料庫。

Read more

第一次開車被撞、汽車保險資料整理

交通事故

在這個五月初,我開車在高速公路上班的途中,因塞車遭後車追撞! 所幸只是輕微追撞,雙方無人受傷,雙方都有保險,警察也有到場處理。

如今車子也修理好了,這是我初次發生交通事故,又是在高速公路上,過去我沒有相關的處理經驗,因此在此記錄,順便分享一下我整理好的保險資料。

Read more

return top