Category技術相關

Kindle 殘體書看得很痛苦?一勞永逸簡中轉繁中教學(免越獄免轉書檔)

升級 Kindle 版本到 5.9.6 以上,輕鬆把簡體字轉成繁體字

一開始會買 Kindle 主要還是因為中文書電子書漸漸越來越多,雖然 2016 年時期主要還是以簡中語系為主,從中國官方的亞馬遜就可以購買到很多相對紙本書便宜的書籍,不像現在有台灣博客來、樂天 Kobo讀墨 Readmoo 如此百家爭鳴(後兩者也有出自己的 e-ink reader)

初期沒什麼選擇,只能一本本透過複雜簡轉繁程序(這還是比較簡單的做法)或是越獄,才能把簡體字變成繁體字,有些字還可能變成亂碼或排版跑掉等,因此也慢慢習慣了看殘體字,但閱讀速度還是相對慢了些。這兩天剛好有個小空檔,花了點時間升級了去年中官方發佈的韌體,從此之後眼睛不再受殘體字傷害。

本篇文章操作主要需要分以下兩個步驟:

  • 升級 Kindle Firmware 版本
  • 放入客製化簡轉繁字體

那我們就開始吧!


升級 Kindle Firmware 版本

升級韌體沒那麼難(其實跟越獄的步驟差不多,只是韌體是官方的 XD)

  1. 先去官網 Fire & Kindle Software Updates 找到你的機型,點進去下載最新的韌體(版號大於 5.9.6 以上才可用客製化字體

  2. 透過 USB 將你的 Kindle 連上電腦,把該韌體更新檔丟到根目錄裡

  3. 如果丟進去的檔案是對的(符合機器的韌體),那麼進入 Setting 選單後右上角 menu 的「更新你的 Kindle」(Update Your Kindle)就會變實體可按的狀態


    更新需要花一點時間,完成後它會自己自動開機,過程中不要手賤去按開關鈕,小心變磚頭

安裝客製化字體

  1. 你可以在 mac 裡搜尋 Fonts 資料夾,把既有的字體拉到 Kindle 裡的 Fonts 資料夾中(如圖,我也把金萱拉進了 Kindle 機器,嗯感覺很潮)
  2. 但唯有簡轉繁的字體,才能幫助你 Kindle 裡的書籍在選擇客制字體後變成繁體中文字

下方有兩個簡轉繁字體可下載,兩個字體解壓縮之後只要拉文件中其中一個 otf 檔進去 Kindle 即可(粗細 Kindle 可設定控制)

簡轉繁字體下載

簡轉繁字體放進 kindle 後,每本書籍的版面設定就可以選擇您的客制字體了。有什麼問題的話就底下留言吧!

讓使用者免登入直接透過 Facebook API 發佈訊息到粉絲頁上

我是參考了這篇的做法,不用透過 PHP SDK 就可以做到這件事,以下為過程的幾個步驟:

  1. 拿到授權與 page token:到 Graph API Explorer 裡選擇你要使用的 app,然後點選 get access token 按鈕,接著點 “Extended Permissions” 並把 manage_pages 選項勾選起來,送出後就會到一組暫時性的 token (about 1hr)
  2. 將這組 token 用在下面的 php script(前提是 server 要支援 curl)

開頭先把 token 和要發到哪個 page id 設定好

<?php
$page_access_token = 'XXXXXXX';
$page_id = 'YYYYYYYY';

接著是要發的東西,可參考 API Doc

$data['picture'] = "http://www.example.com/image.jpg";
$data['link'] = "http://www.example.com/";
$data['message'] = "Your message";
$data['caption'] = "Caption";
$data['description'] = "Description";

接著將一開始的設定包成 array

$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

最後一個步驟,用 curl post 訊息到塗鴉牆上

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);
?>

至於 token 過期的問題,有網友提到一個解法,但我沒試成功,後來是我自己發現,只要把 app 設定成 clint 端的原生形式,拿到的 token 就會變成長期囉(兩個月)

後來我也發現原來 FB 也有 有Access Token Debugger,還蠻好用的!

[問題記錄] iOS 引入外部 framework link 失敗的問題

因為在 iOS 上有 wav to flac 轉檔的需求,所以在網絡上找到這個 framework / wav_to_flac,按照他文件的步驟 build 完後,將產生的 FLACiOS.framework 丟到需要使用的 project 中,但都出現下面這找不到 framework 的 error

clang: error: linker command failed with exit code 1 (use -v to see invocation)

找了一下會出現這 error 有可能是 xcode5 bug 造成的,因此用了下面這設定方式修改了「Library Search Paths」的路徑

(P.S. 中間刪刪減減修改很多次,除了每次 build 前都要 clean 一下,另外多出來的 framework path 也要記得去清掉,build setting  裡的 Library Search Paths 和 Framework Search Paths)


試過很久後,還是不 work,就上網去問了,其中有網友回報他 build (include ogg version) 是成功的(與我 build no ogg 版本不同),以下是他的步驟:

  1. git clone https://github.com/jhurt/FLACiOS/tree/no-ogg
  2. project 加入 build 好的 ogg.framework
  3. 把 FLACiOS.framework 複製到 project 下的 Library
  4. 在 Build Settings 的 Framework Search Paths 增加${SRCROOT}/Library
  5. 在 Build Phases 的 Link Binary With Libraries 加入 FLACiOS.framework (第四步驟可以省略,但在別的機器跑就要加進去~ 因為加 framework 是寫絕對路徑~)

看了他的 project 設定與我的並沒有不同,差異只在於 build framwork 的版本不同,拉了他的 framework (include ogg) 到我的 project 就成功了,過陣子有時間再 recheck 看看到底真正問題是什麼,目前就先用他 build 出來的 framework 來用了 😛

建立免費的靜態 Github Page

很久之前有架過 octopress 臨時要丟上去忘了怎麼丟,查看以下三份文件大致上就搞定:

  1. 建立自己的 GitHub Project Pages
  2. 中間遇到 ssh key 不對的問題,看這解決產生新 ssh key
  3. 不能 push 新 project? 看《Why can’t I push to this bare repository?》解決

 

塞入外部網站的 cookie

我不知道會不會有人搜到這個,不過當初因為導購的機制想了一些小手法想把外部網站 cookie 塞到使用者的瀏覽器

var cookieName = 'test'; 
var cookieValue = '123'; 
var myDate = new Date(); 
myDate.setMonth(myDate.getMonth() + 12); 
document.cookie = cookieName +"=" + ookieValue + ";expires=" + myDate + ";domain=.example.com;path=/";

原本想透過 js 去塞,不過似乎沒辦法更改 domain 的部分(寫在個網域下,只會強制顯示真正的網域而不會被所設的值覆蓋)

後來我很天才的在洗澡時想到了一個簡單的方法(雖然原本上面的想法我覺得已經夠天才了,長這麼大才發現天才是沒有極限的,窩哈哈!),輕易地完成原本想達成的事,容我賣個關子試驗一段時間看看成效如何(轉換率不高也沒有用)

指定文字讓 siri 說出來,並且生成音訊檔案

不少人都知道 iOS7 之後,蘋果開放了 Siri 的 API 可以讓開發者使用它的 TTS 功能,但是如果要在自己的 Mac 上用 Siri 的聲音生成音訊檔該怎麼做呢?

先到「系統與偏好設定(System Preferences)」 > 「聽寫與語音(Voice)」

image

點到「文字到語音(Text to Speech)」的分頁後,打開「系統聲音」的下拉選單,會看到一個「自定(Customize)的選項,接著找「Samantha」的聲音(對!那就是 Siri 的聲音)點擊後就可以下載了!

image

下載完成後,便可以將系統預設聲音切換到「Samantha」

怎麼讓系統說出想要的文字呢?

打開終端機(Applications > Utilities > Terminal.)輸入:

say "Hello World."

這樣就可以用預設的系統聲音生成你想要的語音了!

還有以下其他幾種用法:

念出長篇的文字(.rtf / .txt)

say -f "textfile.txt"

輸出音訊檔(在當下路徑,生成 .aiff)

say -o "outputfile.aiff" "Hello World."

指定念的人(必須電腦裡有的)

say -v Alex "Hello World."

參考資料:How to Record Text to Speech Using Terminal

iOS7 UI 元素的調整

iOS7 有一些 UI 的部分需要針對不同 OS 版本去做調整,最近想說來改改之前的程式碼,因此順便解決判斷螢幕大後對元素配置後,view 的底部不能點擊的問題:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { 
self.window.bounds = CGRectMake(0.0f,-40.0f,[[UIScreen mainScreen] bounds].size.width ,[[UIScreen mainScreen] bounds].size.height);     
//self.window.bounds = [[UIScreen mainScreen] bounds]; 
}

舊版 iWork/iLife 免費直接更新到 2013 年版

這幾天蘋果用戶除了免費換作業系統外,蘋果也將 iLife(iMovie, iPhoto, Garageband)和 iWork(Pages, Keynote, Numbers) 等六套軟體做大幅度的更新,不過依官方說法似乎只有新機用戶才能「免費下載」,但昨天就有傳出一個做法,可以讓免費用戶做更新的動作,以下三個步驟:

1. 安裝零售版的舊版 iWork / iLife,甚至『試用版』也可以

首要條件,你的電腦裡要有舊版 iWork / iLife(試用版也可),以及更新到最新 OS X Mavericks 作業系統!(沒有的請先安裝後再接續下面步驟,iWork09 試用版下載

2. 將 Mac 語系切成英文,並且重新開機

在 system preference 裡打開「語言與地區」,將偏好語言設定為英文(拖曳上去)

3. 開啟 AppStore 會發現 iWork / iLife 都可以『更新』最新版了

iLife 部分筆者已經先行更新,所以未在上圖出現!

以上。

讓 Mac 可以寫入 NTFS 磁區的方法

Mac OS X 無法完全地存取 NTFS 格式,還要藉助一些軟件來能達到完全存取 NTFS 格式,Mac 在 NTFS 的硬碟只能做讀取,而不能做寫入的動作,因此要解決這問題有以下幾種方法:

將外接硬碟改成 FAT32 格式

如果有需要用到雙系統不同電腦,這或許是不錯的方法,不過有單檔不能超過 4G 的限制

安裝 NTFS-3G 這套軟件

需下載 mac fuse / NTFS-3G for mac / NTFS-3G 修正檔等三個檔案,這裡有中文解說原文的下載來源

安裝 Paragon NTFS 這套軟件

這是套付費軟件,分別下載 core_keygen.dmg (序號產生器) / ntfsmac_trial.dmg (試用版本),安裝完重新開機後在 Launchpad 就會出現這兩個圖示,點擊註冊器就可以幫你直接變成完整版囉!

 

 

可以看到如此一來就可以做寫入的動作了!

延伸閱讀:Enable writing to NTFS hard drives on Mac OS X

[遠端] Mac to Mac 的 VNC 遠端控制(螢幕共享)

要遠端通常只要設好 VNC server 就可以從其他電腦透過 VNC client 來做遠端連結(無論任何作業系統之間),昨天才知道原來 mac OS 本身就有內建螢幕共享的功能:

System Preferences -> Sharing -> Screen Sharing 打勾

只要把螢幕共享選項勾起,就可以透過其他的 mac 來做連結,如果在區網內從 finder 裡的邊欄就可以找到共享的機器,或透過 Safari 瀏覽器,在網址列輸入「VNC://XXX.XXX.XXX.XXX」即可連線

 

延伸閱讀:

  1. [遠端] windows 與 mac xos 的相互連結
  2. How to use native Screen Sharing in Mac OS X 10.7 Lion

© 2019 業餘人生日記

maintain by Chris ChenUp ↑