CodeHighlight

2017年11月4日 星期六

[開箱] mooink 電子書閱讀器


這東西其實已經拿到好一段時間了,不過因為這是我的第一個電子書閱讀器,所以花了點時間熟悉他。

Moooink,是由臺灣廠商「Readmoo讀墨」自製發行的電子書閱讀器,

本身搭載Android 4.4.2,主要賣點在電子紙材質的顯示器,如同Kindle一樣,本身並不會自行發光,需要借助外在光源才可以看。

也就是說,這樣看起來就像紙本書一樣適合長時間閱讀,不會像手機平板一樣看久會眼睛痠痛

當然,這還是無助於看到書就會頭痛想睡的症狀就是了。


當初購買時是跟上群募的首購優惠,所以手邊拿到的是木紋材質版本




可以看到整機都是以木紋呈現,摸起來質感有點像是木紋紙的感覺,

下方從左到右各別是micro USB、micro SD card插槽、電源鈕

在現在新手機都是type C當道的情況下,他讓目前快失業的micro USB可以得以續命呀!

micro SD card可以擴充裡面的空間,也可以在更新後,把ebup格式傳進去讀取

電源鈕則是開關機和喚醒設備,Home鍵則是在螢幕下方那顆大顆的按鈕


六吋的大小對於我來說拿起來剛好,單手看不會感受到太負擔,不過個人私心還是希望可以在大一些

才可以和過往讀紙本書的經驗相符呀~

(補一張和紙本書的對照圖)

操作上個人上來算直覺,基本上就和手機板的Readmoo配置相似

網路連線上是走Wi-Fi,然後他只有支援2.4G,所以找不到5G AP是很正常的



書櫃頁面可以選擇先把書下載下來,這樣之後到沒有網路的地方,也可以正常的閱讀。

相關的閱歷會在連上網路後在一併同步到網路上。


點開書之後,就直接進入閱讀畫面,

以橫式書籍來說,點右邊或是由右往左滑都是翻到下一頁

反之則是翻到上一頁


輕點螢幕中間後,選中間的「aA」圖示可以調整字型、字體,還有橫書直書的設定



變成直書模式時,翻頁的手式就和橫書相反

點左邊或由左滑到右是下一頁,反之則是上一頁


翻頁的速度個人覺得還不算慢,和看紙本書的節奏感差距不大。

不過在開新書,以及圖片較多的頁面時,讀取會明顯被拖慢,這應該是顯像相關的限制

但整體上不太影響閱讀體驗。



​在書櫃的上方可以選擇要從哪邊選書

「書籍」代表從readmoo上面購買的電子書

「文件」則是上傳到readmoo的epub、pdf、docx、txt檔案

「本機」「SD卡」便是代表放在這兩個地方的epub、pdf、docx、txt檔案


​個人是只有試過上傳到readmoo的方式,在Readmoo的網站上面中有個「文件」的功能,在那邊可以上傳相關檔案。

之後再將Mooink連網,並同步整個書櫃,這些資料就會出現在你的閱讀器上面了。
身為一個長年有在閱讀的小書蟲,最大的問題就是家裡書櫃空間有限

尤其現在在外租屋,空間上更顯不足,在圖書館借書又會有時限的問題。

電子書閱讀器剛好補足這方面的需求

在電量部分,看來他會在進入待機模式時把Wi-Fi關掉。

因此手邊這台待機兩個禮拜,都還有剩下10%~20%的電

以個人使用上算是相當足夠了


書籍來源的部分除了readmoo本身的書籍外,

匯入epub應該才是主要的書籍來源,畢竟現在線上電子書的數量有限,

還是需要更多的書籍來源來補足這一塊。


如果手邊已經有Kindle的人,這個可能就不這麼適合

因為基本功能上是相同的,而且會用Kindle的人,應該也都有自己的書籍來源

不過如果是剛踏入電子書這個坑的人,Mooink會是不錯的入門選擇。

至少,有中文電子書就先加分了!

2017年6月18日 星期日

[桌遊] 台北大空襲開箱&簡單心得

看文之前,先上首主題曲
(雖然官方是和閃靈合作,不過我覺得這首歌比較適合這個遊戲)


    這款桌遊最近在募資上面還蠻熱門的,問了身邊也在玩桌遊的朋友,幾乎都有聽過這一款的募資訊息。遊戲背景是基於1945年5月31日,美軍在台北地區發動的大規模空襲行動為發想的一款合作生存遊戲。遊戲目的就是在試著在戰爭結束之前「一個都不能少」利用地圖上所剩的資源,努力的支持到戰爭結束。

    當初會加入這個募資方案,一部分是對這段歷史的好奇。你知我知獨眼龍也知我們的歷史課本是教了哪些東西,在多年來大中國主義的教育基調下,即使經歷了多次的課綱修改,這種和台灣相關的歷史多數是付之闕如...

    咳咳,讓我們先回到桌遊上面,另一個吸引我的點在於,以往接觸到合作類型作品的稀少。不過也可能是小弟比較顧人怨,多次開團總是會被選擇對抗/陣營類型的桌遊,然後成為被集火的那一個。因此想說來入手一款合作類型的桌遊,算是做為一種嘗鮮。

開箱紀錄

    


    拿到貨的時候,想說這怎麼比預期的大那麼多,為了讓大家知道實際大小,就拿本末日之旅來當個比例尺吧!歐對了,最近剛看完第三集,這系列在這本完結篇後,強勢降臨本人生涯推薦書單前三名!

    

     因為我是跟募資首發的早鳥版本,所以除了遊戲以外,還有附贈海報兩張,還有台灣神社御朱印紀念物一份。



    台灣神社,最早是祭祀北白川宮能久親王用的,不過看來和台灣的廟宇有點類似,久了之後除了主祭的之外,也會一同供奉其他的神祇,這樣要朝拜的話,一間廟宇可以滿足多種需求
    不過小弟沒有去過真正的日本神社,所以也沒有看過其他神社的御朱印是長甚麼樣子,不過身為參拜的憑證,感覺是個很神聖的東西呀。

    


    兩張募資首發限定的海報:台北大空襲和媽祖接炸彈。是說照片拍的不是很好,反光真的頗嚴重...
   


    正面是台北大空襲的燙金文字,配上黑底與煙霧的圖案,展現出煙硝瀰漫的氛圍


    反面是一家八口一字排開,每個人背負著自己的故事,在一波波空襲中要努力活下去



「攤開時代,我們摺疊命運」,「贏就一起贏,輸就一起輸!!」
兩句標語放在包裝盒的側面


另外兩側是台北大空襲的中英標語,背景一個是龍山寺,另一個應該是北一女中



拿掉外面的包裝,裡面的封面是整個台北城被轟炸的景象


    說明書一本,內容後續會在提到。


    人物標記和建築毀損標記,當「台北大空襲」事件發生之後,所有的特殊建築會被炸毀而失效。這個應該是紙類的材質,不過摸起來相當的扎實。


    遊戲地圖,攤開來其實還挺大的,黃色的部分代表道路,可以看到帝大醫院、台灣神社這類地方都有額外的buff效果,遊戲中會需要妥善利用。




    八個遊戲角色:爺爺、奶奶、爸爸、媽媽、哥哥、姐姐、弟弟、妹妹
每個人的飽食、生命、心情、體力、行動點上限都不同,只要其中飽食、生命、心情、體力任一歸零,該角色就陣亡了。那個弟弟的飽食只有三是要逼死誰呀!


    上方是人物角色卡,下方則是事件卡。每個角色都有各自的故事,如果沒有完成的話,每回合都會有debuff的效果,甚至還會把心情上限鎖到1...
    事件卡則是很大程度的決定該回合的走向,如果未能達成相關條件,一樣會受到debuff的效果。滿滿的debuff呀!

    
    轟炸事件卡,每回合抽出一張,決定該回合哪個地方被轟炸。
如果被轟炸時人也在那邊的話,健康直接扣兩點。
其中遊戲分成前期(1~3回合)、中期(4~6回合)和後期(7~9回合)
前期有機會抽到「媽祖接炸彈」,代表下回合所有轟炸效果移除,不會有新的轟炸點出現。
中期則有機會出「台北大空襲」,所有地點都會受到轟炸傷害,而且buff地點全數失效
後期則是大家期待的「戰爭結束」,如果抽到這張時大家都還活著,則宣告遊戲勝利。




遊戲中可以藉由探索取得各式各樣的物資,其中分成食物、道具、藥品和羈絆

食物卡:主要是補充飽食度用的,當然如果是拿到腐爛食物或動物屍體的話,就需要找簡易火爐煮一煮,來消除負面效果。

是說他只是簡易火爐而以呀,所以用一次就壞,也是很合理的~
然後不用懷疑,小黑和桃子也是可以當食物的,只是吃了之後呢...



道具卡:多數提供buff效果,各有各的強項,不過硬要說的話,還是期待可以抽到空襲傳單~
其中機密文件是屬於羈絆類的道具卡


藥品卡:用來回覆生命和體力之用,祖先牌位是羈絆類的藥品卡,如果沒有相關人物任務的話,是可以不用放進去的。


羈絆卡,主要是針對各個人物任務的需求才要加到遊戲裡面的


B-24 空襲標記和起始玩家指示物,空襲標記的金屬材質拿起來質感還不錯。

狀態指示物,標準的木製質感,他絕對不是MM巧克力!

遊戲心得

    拿到後一周才過完大概的流程和糾到人跑流程。自己過完說明書後感受到滿滿的debuff惡意,所以決定用推薦的初始角色和羈絆任務來進行遊戲,下面是首次跑關的概略紀錄。

初期階段(1~3回合)

    身為一家之中最小的妹妹,我心愛的桃子在空襲之後不見了!心裡好難過好難過,所以為了可以快點找到他,我馬上拿了手推車往外跑,希望可以快點找到我心愛的桃子。
    為什麼不在家裡附近先找呢?因為哥哥和奶奶已經翻完家裡的東西啦!桃子看來已經逃離家裡了。
    爸爸則是一開始就往外跑,聽他說好像是要找到甚麼機密文件的。不過這不重要啦,我的桃子才是最重要的。
    台北驛翻完了之後,手推車也滿了,可是還沒找到心愛的桃子。這時候遇到路過的爸爸,我趕緊手邊的食物分一點給他,亂丟食物奶奶可是會生氣的呀,不小心把他氣死就麻煩了。然後趕到下一個地點鐵道飯店,希望可以找到我心愛的桃子。
     但是在這時候,一波空襲來到鐵道飯店,幸好沒有被直接炸中,不過被飛濺的碎石和衝擊波傷了手腳,不過還不礙事,為了心愛的桃子,一切都值得!

中期階段(4~6回合)

      最後,在江山樓那邊找到了桃子,我發誓這次不會在和牠分開了。
聽說前段時間有人看到一個白藍頭髮的漂亮姐姐,接下了從天而降的炸彈。
不過這不太重要啦,因為爸爸找到了空襲的傳單,在加上哥哥在圖書館裡面找到的機密文件,換得後面幾波空襲的情報。看來我們只要躲好一點,這樣應該就不會受到影響了吧。
    話說如此,最近一波大霧讓附近伸手不見五指,找東西都變得十分困難了,還是先找地方躲躲吧。這時候看了一下後續的轟炸點,得知美軍即將進行全面的轟炸!
    看看爸爸身上攙扶著的美國大兵,這不對呀!那位大兵如此行動不便,怎麼可能再撐的過一次轟炸呢!還是給她點盤纏讓她去避難吧!
    可是大兵表示,希望可以給兩份食物讓他好避難。好呀,這個時候大家都不夠吃了,手上的食物是兩隻大雞腿,一隻可以讓我們一家多撐一天耶,怎麼可以給你呢!
    這時哥哥姍姍來遲,給了大兵一份香蕉飴。爸爸看著我,一副無奈又堅持的表情,到底支持爸爸的是人道精神,還是甚麼其他的情感呢?只知道如果大兵掛了,爸爸應該也不能獨活吧。
    事以至此,我只能默默的交出一隻大雞腿,看著蹣跚而去的大兵,大空襲接著而來...

後期階段(7~9回合)

    大空襲結束後滿目瘡痍,附近的食物也幾乎吃完了,手上的只剩下雞腿和動物的屍體,到底我們還能支撐多久呢...
    如果真的不行的話,只能犧牲小黑了嗎?比起桃子,還是先犧牲小黑吧,可是他畢竟是我們的一份子呀!
     就在糾結的時候,突然響起了廣播聲:「朕深鑑世界大勢與帝國現狀,欲以非常措置收拾時局,茲告爾忠良臣民...」
     停戰了!戰爭結束了!這段苦難終於結束了,我們終於可以恢復正常的生活了!

後紀

    果然是官方推薦的入門劇本,基本上完成羈絆任務之後,大概有1/3的空襲地點是可以提前知道的,每次避開被炸的狀況,就可以減少去找藥品的負擔,也大大提升了生存的可能。
    然後食物方面在四人局的情況下,如果要撐到第九回合的話,應該勢必得面臨到吃小黑或桃子的狀況,而且到時後沒有台灣神社的強大快樂buff,消失的快樂補不回來的情況下,可能會面臨快樂歸零的陣亡情況。
    
    總體而言,這遊戲的合作性算中上,各自的任務基本上可以各自解掉,但是如果可以分工收集物資,可以大幅增加存活的機會。只是其中有些道具的使用說明沒有那麼清楚,但是看到官方有公告規則書補正的計畫,就看看最後面能不能把那些洞補完吧!

2017年6月2日 星期五

[Android] Monkey testing in Android

在進行開發的時候,驗證也是其中很重要的一環。

基本的測試多是利用預期的行為去作驗證。

但是使用的情境百百種,沒辦法完全涵蓋住。

為了彌補這個狀況,Monkey Testing就由此而生


第一次接觸到這名詞時,覺得是不是養一隻猴子在那邊亂點XD

不過實際運作起來,其實也差不多了

Android本身就內建Monkey Testing的測試工具

可以透過adb shell的指令去把它開起來

基本的測試指令如下:

adb shell monkey -s 50 -v 500

-s: 給予一個seed,Monkey會根據這個Seed隨機產生不同的測試flow

-v: 總共需要幾個測試步驟,代表會進行500次操作


開始跑之後,就會發現手機的螢幕開始瘋狂的亂跳,代表有一隻看不見的猴子在幫你測試了'XD

2017年4月26日 星期三

[Android] Build break: ERROR XXX undefined

最近案子整個大爆炸呀!

幾乎每天都在跨日大戰,腦容量整個降到一個低點。

還好這幾日應該慢慢狀況慢慢穩定下來了。

好想休假呀~~

=====================碎碎念結束=========================

前陣子在帶新案子起來的時候,過程中各個module在把好幾包code倒來倒去

某日就接到了Build break在我這邊的module:



ERROR: "msm_11ad_modinit" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
ERROR: "msm_11ad_dev_init" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
ERROR: "msm_11ad_modexit" [drivers/net/wireless/ath/wil6210/wil6210.ko] undefined!
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make[1]: *** Waiting for unfinished jobs...

嗯,看起來應該是倒code的時候某些東西沒有跟上了吧!
看了一下,Undefined的部分是編wil6210.ko的時候。
所以這個時候就有兩條路了:

  1. 是那些東西沒有define
  2. 這個module到底有沒有要build
如果是第一種,那就是trace code的功夫了,那也就沒甚麼好說的。
會在這邊廢話,代表狀況其實是第二種。
內部查了一下,發現wil6210這個東西其實本來就沒有要build的。
那為什麼會被build進去呢?

原來在build kernel的階段,每個module會根據kconfig的內容,決定要不要build這個東西
像這次就是CONFIG_WIL6210這個值在倒code時被設起來了,
所以才會出現這樣的狀況。

解法:在Kconfig中找到CONFIG_WIL6210,拔掉它即可。

2017年4月5日 星期三

[Android] sendEmptyMessage 和 sendEmptyMessageDelayed

    最近在測試上面,有需要在Android上面針對特定功能反覆開關的需求。

本來是想說在原本的原始碼上面讓他定時反覆啟動。

不過這樣每次都要額外加code以及build code,實在是有點麻煩。

所以這邊試著寫一個簡單的APP去定時做這件事情。

不過Android APP嗎,你知道的,如果用一般的delay的話,過一下就ANR了

爬了一下Android framework的做法,後來決定用Handler thread + delay message的方法來做

概念上是宣告一個handler thread,這東西會用一個獨立的thread去聽message。

如果有人對這個handler 送message,handler可以根據不同的message,去做不同的事情。

而利用延遲訊息(delayMessage),可以達到定時去做同一件事情的效果。

這邊筆記一下Handler底下sendEmptyMessage 和sendEmptyMessageDelayed的差異。


sendEmptyMessage

原生宣告是 boolean sendEmptyMessage (int what)

顧名思義,這個function是送一個空的訊息給Handler

所以不用把東西特別包成Message型態,可以直接送一個int的值



sendEmptyMessageDelayed

原生宣告是 boolean sendEmptyMessageDelayed (int what, long delayMillis)

相較於sendEmptyMessage,他可以決定到底這個message要等多久後再送,單位是ms


下面是一個簡單的範例:



    
    private static final int NEXT_ACTION_INTERVAL_MS = 5000;                                                                                                                                                 

...

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i(TAG, "onCreate()+");
    setContentView(R.layout.main);
    context = this;
    mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
    mLock = mWifiManager.createMulticastLock(TAG);

    mHandler = new Handler(Looper.getMainLooper()) ;

    // 宣告一個按鈕,按下去後就會去sendEmptyMessage(CMD_START_TEST)給mThreadHandler
    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener( new OnClickListener() {
            public void onClick(View v) {
            mThreadHandler.sendEmptyMessage(CMD_START_TEST);
            result_text.setText("Start thread action");
            }
            });

...

    mThread = new HandlerThread("name");
    mThread.start();
    mThreadHandler = new Handler(mThread.getLooper()) {
        private boolean isRunning = false;
        private int mCounter = 0;
        @Override
            public void handleMessage (Message msg) {
                super.handleMessage(msg);
                switch (msg.what) {
                    // ** 接到CMD_START_TEST後,除了做特定的事情外。
                    // ** 並會等候NEXT_ACTION_INTERVAL_MS後再發CMD_LOOP_TEST
                    case CMD_START_TEST:
                        if (!isRunning) {
                            this.sendEmptyMessageDelayed(CMD_LOOP_TEST, NEXT_ACTION_INTERVAL_MS);
                            isRunning = true;
                            Log.e(TAG, "Start Testing!");
                            mWifiManager.startScan();
                            mCounter++;
                            result_text.setText("Repeat times: " + mCounter);
                        }
                        break;
                    case CMD_STOP_TEST:
                        isRunning = false;
                        mCounter = 0;
                        break;
                    // ** 接到CME_LOOP_TEST後,繼續相同的測試&準備下一個NEXT_ACTION_INTERVAL_MS後的message
                    case CMD_LOOP_TEST:
                        if (isRunning) {
                            mWifiManager.startScan();
                            mCounter++;
                            result_text.setText("Repeat times: " + mCounter);
                            this.sendEmptyMessageDelayed(CMD_LOOP_TEST, NEXT_ACTION_INTERVAL_MS);
                        }
                        break;
                }
            }
    };




2017年3月29日 星期三

[C/C++] fchmod/chmod

    最近遇到一個檔案權限的問題,是log檔要統一給獨立的module去抓。
因此除了寫檔案外,還需要給予合適的檔案權限。 想到檔案權限,第一個可以用的就是chmod - 經典的linux檔案變更API。
不過餵了狗之後,發現還有fchmod這個貨可以用。


chmod
基本上這東西和linux的chmod是一樣的,主要改變指定檔案的權限
宣告原型是 int chmod(const char *pathname, mode_t mode);
第一個參數是檔案名稱,第二個參數是mode
mode的設法和chmod相同,是以bitwise的方式指定三方的權限

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fp;
    fp = fopen("file.txt", "w");
    fputs("1234", fp);
    fclose(fp);
    chmod("file.txt", 0777);
    return 0;
}


fchmod
修改操作中的file number的檔案權限,相較於chmod,這個可以在打開檔案後就設定這個檔案的權限。
(雖然個人試過在開檔之後用chmod也是可以,只是不確定這樣的操作會有甚麼風險)
宣告原型為int fchmod(int fd, mode_t mode);
第一個參數是打開檔案的file descriptor,第二個則是mode
mode的設法和chmod相同。

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fp;
    fp = fopen("file.txt", "w");
    fchmod(fileno(fp), 0777);
    fputs("1234", fp);
    fclose(fp);
    return 0;
}

就個人來說,我會比較偏好用fchmod在開檔案前就把權限一併設好,
尤其在log檔這種即時性比較高的應用上,可以避免一些因為權限問題而抓不到log的狀況



Reference:

2016年11月26日 星期六

[讀書心得] 山德森短篇故事集 - 皇帝魂



皇帝魂:布蘭登.山德森精選集

The Emperor’s Soul

  • 原文作者:Brandon Sanderson
  • 譯者:段宗忱
  • 繪者:葉羽桐
  • 出版社:奇幻基地  
  • 出版日期:2013/06/01


身為山德森的書迷,這本短篇故事集一定要收一下的呀!
所以就在等車的時候,去附近的金石堂買下了!
-----------------碎碎念完畢-----------------
這本書名雖為皇帝魂,不過該篇章故事大概佔其中的四成,
但是相較其他篇章來說,我還是比較喜歡這篇,
一個有魔力,甚至可以仿造靈魂的印章,怎麼想都很妙呀!
內容敘事相當緊湊,做為一個短篇章是恰如其份。

而且不知為什麼,製造魂印有種寫程式的感覺(誤

另一篇比較有印象的是軍團,
一個具有大量人格,各人格還需要有自己的房間,
且人格間互相有恩怨情仇,所開設的萬事屋的故事
我在想萬一到最後人格間互相內戰,不知道會變成怎樣 :)

宗教部分倒是覺得還好,這種東西是很講求信念滴~(食神貌)

第十一金屬呢...就是凸顯凱西爾的人格特質吧~
故事倒是沒有進展多少~是說迷霧續集甚麼時候要出啦!(敲碗)

「長嫡」和「保衛幸福之地」感覺就還好,這部分還是給專業的來說吧~

2016年11月12日 星期六

[讀書心得] 異龍現,江湖變;靈劍泣,野火熄 - 靈劍

靈劍

  • 出版社:奇幻基地
  • 出版日期:2013/09/26
  • 語言:繁體中文

[卷一]
也許是小弟才疏學淺,
這算是目前看到第一本將「神通」這種仿超能力的設定加入武俠小說的書。

說真的,感覺起來是個相當有趣的設定,
不過同時也是相當危險的一步,
如果沒有處理好,很多劇情很容易會變得相當不合理
雖然如此,作者說故事的功力不錯,
所以在看的過程中,就依照故事進展讀下去。
在閱讀觀感上是相當愉快的。

不過故事進展中,有些橋段有種似曾相似的感覺
我想這應該向金庸經典橋段致敬吧!


[卷二]
相較於第一集的灰色調,
到了第二集,整體步調稍微歡樂了一些,
而且去掉了神通,整個劇情調性回到了「一般的」武俠小說,
一則以喜一則以憂,不過感覺起來,至少算是個可以輕鬆讀的故事。

在這一集中,燕龍可說是第一主角,
身為神祕幫派龍幫的龍頭(首領),亦身懷高超武藝
雖然篇幅不一定比受創後消沉的凌霄多,但也因為有燕龍
使得本即有個較為顯著的亮點。

其中經典橋段莫過於在峨眉金頂上「龍爭虎鬥」一役
兩大互相相知的高手,在天下群雄面前進行力與力的拼搏
雖然氣勢與氣氛略遜於喬峰在聚賢莊力戰群豪,
但仍算是令人印象深刻的佳作!


[卷三]
睡了一整集的火教在這集終於又重出江湖啦~
感覺就像哈利波特第三集的弗地魔,
完全鬼隱在劇情之間。

整個劇情的調性也在此急轉直下,
除了龍虎雙俠比翼而行之外,
其他時候似乎又回到了第一步的灰色調

作品很可惜的是最後的部分,
燕龍與凌霄先後上獨聖峰的橋段,
感覺上應該是相當悲愴的氣氛,
但讀起來卻有點未達高潮之感,

此時就不得不贊同網友所說:
「第一部武俠小說就看金庸,喜則是多為經典之作
但是之後看其他小說就會變得更為挑剔」
妙哉!妙哉!

2016年10月29日 星期六

[讀書心得] 穿越時空的心理工程 - 穿越時空的巨石碑


穿越時空的巨石碑

The Chronoliths

  • 原文作者:Robert Charles Wilson
  • 譯者:穆卓芸
  • 出版社:貓頭鷹  
  • 出版日期:2010/12/02


        石碑一直都是給人「永垂不朽」「萬壽無疆」的概念,
是人在這個世上,曾經走過的痕跡。
從秦始皇泰山石碑、各朝代皇陵、埃及的羅塞塔石碑、漢摩拉比法典的石碑...等等
皆紀錄著當時的豐功偉業,
就連小老百姓,都會在死後留下墓碑,以供後人瞻仰前人之風采

        那,若未來的石碑回到了現在呢?那是否是預告著未來即將掀起的風潮。
比起在雲霧飄渺間尋求支離破碎的訊息,冷冰冰、硬梆梆的石碑,
更能令人印象深刻。

=======================劇情分隔線==========================

        本書整體是以回顧傳記的方式編寫,因此時間跳動相當快速,不過作者說故事的功力了得,因此不會有太多的突兀之感。這本比較接近「太空漫遊」、「火星」系列,都是在現有的世界上,在加上科學(科幻)的世界。因此讀起來更有貼近感。
在故事中,主角在泰國之行時,遇到了神祕石碑從天而降,上面記述著未來會有「古殷」這一號人物統一該地,並將此石碑從未來送回過去,以預告他未來的勝利。作者也因此捲入了「後石碑時代」的漩渦中心。
  雖然石碑本身僅是靜靜地矗立在該地(好啦,抵達過程中是不怎麼平靜),不過對於人的震攝效果是非比尋常,尤其是從未來回到過去的石碑,讓人有種超越常理判斷的感覺,加上媒體的推波助瀾,更加深了人們內心的好奇與恐懼。最後結尾留下了若有似無的半開放式結局,加上許多寥寥數筆帶過的事件,讓整個故事更值得令人玩味。

2016年10月16日 星期日

[讀書心得] 行於黑暗大陸 - 暗星薩伐旅

暗星薩伐旅

Dark Star Safari: Overland From Cairo to Cape Town

  • 出版社:馬可孛羅  
  • 出版日期:2008/07/04


雖然有點被略嫌龐大的頁數嚇到,
不過並不影響整體的閱讀體驗。

作者在這段旅程中,
用自己的雙腳走過這片外人眼中的黑色大陸。
並用溫馨與批判兼具的語句,記錄下這趟旅程的點滴。

透過作者的筆尖,可以知道這片不被人看好的大陸上
那些與你我相同的芸芸眾生,是如何在這種一般人避之唯恐不及的土地上生存

閱讀同時,可以讓人對這社會有更深刻的省思,
這個世界,還需要甚麼,才會變得更好,更適合人居。

[讀書心得] 突破千年的禁錮 - 迷霧之子 首部曲:最後帝國

  • 原文作者:Brandon Sanderson
  • 譯者:段宗忱
  • 出版社:奇幻基地 新功能介紹
  • 出版日期:2010/01/29



身為大長篇三部曲的第一集,迷霧之子:最後帝國可以說是一個相當不錯的開場,在長達千年的階級統治下,一群來自社會底層的人,試圖打破這個日漸僵化,且不公不義的社會。

全篇就是在這種氛圍下進行著,雖然以反抗者的角度來說,「國家」是對他們施與壓迫的來源,但是有更多更多的被奴役者,是將其視為「理所當然」、「應當如此」,雖說心有不滿,但卻也無從表達。雖然如此,他們仍用自己的方式,去對抗這個存在千年的強權。

整本小說算是節奏緊湊,而且有埋了不少梗在裡面。說真的,我挺喜歡其中的動作描寫,雖然是經過翻譯,不過在表達上仍有相當的動作感,很容易在腦中就浮現影像,相較於地海系列,這本算是較易上手的一本小說。

2016年10月3日 星期一

[讀書心得] 大航海時代的先驅者 - 1421 中國發現世界


  • 原文作者:Gavin Menzies
  • 譯者:鮑家慶/譯
  • 出版社:遠流
  • 出版日期:2003/11/01
  • 語言:繁體中文


以幾張古地圖為起點,加上本身具備的航海知識,
推敲出一段被隱藏在過去的歷史。

        鄭和下西洋,是個眾所皆知的故事,可是對於其中的細節,卻是一無所知
筆者曾經到過東南亞旅遊,也聽過導遊介紹鄭和的相關史蹟,其中真假難辨
不過就以現有的歷史知識來說,在那個年代,明朝絕對是有那個能力和實力,
可以進行一場劃時代的大航海壯舉。

        可是以現行的資料看來,鄭和艦隊卻是只有在東南亞一帶進行任務,
感覺是可惜了些,就以目前打撈出來的沈船來說,無論是大小或強度,
都絕對不輸給日後歐洲航海先驅者的船艦。

        其中提到的許多資訊,部分有所耳聞,但更多的資訊對於一個僅對歷史有興趣的人來說
是前所未見的資料,做為一本推測和考據的書,是相當不錯的,

只是不得不提,最後的資料集實在是好多!

2016年10月1日 星期六

[讀書心得] 進化、退化、失落的世界 - 侏羅紀公園2:失落的世界


  • 原文作者:Michael Crichton
  • 譯者:黃淑芬,張嘉慧,朱珊慧,彭淑美
  • 編者:郭玢玢
  • 出版社:輕舟
  • 出版日期:1985/01/18

        就以一本小說來說,麥可。克萊頓的書毫無疑問是相當出色的。當然,這本書的類型是屬於科幻小說,對於要求小說中一定要有男女之間的情愛,或是有強大如「最後一戰」中的士官長類型的救世主。這本就讓你們失望了。在這個失落的小島上,有著科學家們復活出來的遠古巨獸:恐龍。但是,在這島上的生態卻是出奇的奇怪:過多的肉食恐龍、過多的數量、過度的殘暴...作者利用本身的科學素養,架構出這樣一個世界,而且看起來合情合理。

        其中有一個觀點令人印象深刻:生物進化到後來,適應環境的能力已經超脫生物學的範疇。而是利用「教育」,將生存的方法傳承下來。因此恐龍雖然復活,但在沒有教育的環境下,只有最殘暴、最兇猛的可以殘存下來。對應到世界末日後的場景,值得令人深思。

2016年9月13日 星期二

[讀書心得] 天沒白餐 - 怒月

怒月

The Moon Is a Harsh Mistress

  • 原文作者:Robert A. Heinlein
  • 譯者:林翰昌
  • 出版社:貓頭鷹

月球對地球發動了一場非戰不可,卻手無寸鐵的戰役
在你難以想像的祕密裡,贏的方法只有一個......

        海萊因這個作家,對於科幻小說迷來說,應該是不陌生。 在五零,六零年代期間,科幻小說發展的巔峰時期,這個作者前前後後進出雨果獎十多次,本作品亦是其巔峰時期之作。其中講述到靈魂,政治觀念,統獨,社會結構;男女關係,婚姻制度,人工智慧...短短的作品卻有如此具有深度和廣度的內容,令人為之一亮。 

        故事背景設定在2075年,人類已經成功殖民(露娜)月球,並將其經營成為泰拉(地球)的惡魔島:用來放逐罪犯的場所。在多年的發展後,露娜上的社會不但沒有成為人間煉獄,進而逆向發展出一套屬於他們的生活方式。此時,露娜不但成了處理罪犯的場所,進而成為泰拉的糧倉,生產食物並送下泰拉供其所需-反正只是丟下去而已。 有一天,露娜上面的中央處理電腦突然「覺醒」,並和維修他的技師-曼紐-成為好友。在一次偶然的會議衝突中,曼紐,懷俄及柏納多教授組成了三人小組,與覺醒的中央處理電腦:麥可,開始為擺脫可能的悲慘未來,奮鬥著。 

        這本整體來說,最獨特的應該是他的翻譯用字了...一整個充滿了「台味」,連「蛆蛆」「抓耙子」都出來了,如果說沒有看過科幻小說,平常又是個很愛逛批踢踢且不太看書的人,這本作品的用詞應該會他們感到沒有隔閡不過就以一般的科幻讀者而言,多少會感到有些不習慣。

        在三人行奮鬥的過程中,最最重要的關鍵人物其實是那台外掛金頭腦-麥可。對於三人來說,他們是要為了擺脫可能的悲慘未來努力著。不過對於金頭腦麥可來說,這只是場討好他朋友們的遊戲。不過就以整個大局來說。露娜沒有武器,沒有實權,缺少資源,遠離泰拉,對手有著龐大人口,強大武器,大量資金,還有十分強健的政府組織(雖然不一定完善)。對上這等強大對手,露娜只有兩個微不足道的優勢:露娜生產糧食部分國家需要的糧食;露娜位在泰拉上面。 這種情況下,還有誰敢開賠率睹露娜會獲勝? 

        但,因為有金頭腦的幫忙,加上一個通曉策略的博士,使的這兩點微不足道的優勢,成為扭轉乾坤的關鍵。 雖然如此,事成之後,生活有變的比較好嗎? 在推翻泰拉駐露娜管理局後,緊接而來的是一連串的混亂,許多投機之士開始紛紛出籠,希望可以從此分一杯羹;許多人開始對國事提出建言-有好有壞,但大多不切實際,但,再泰拉進行反擊時,也看到人民如何團結起來,殲敵於大門之外,不過,那些人民不包括速成政治嘴砲大師。 其實還挺像現在生活的寫照,不是嗎? 

        金頭腦在這些過程中出了很大的忙,到後來有點像是艾西莫夫在機器人故事集中提到的「機體」一樣,不只是控制著所有機械,也幾乎是對於整個走向提出方針,甚至直接執行之。如果照這個走向下去,故事後面的發展還是未可知。不過作者讓他在故事結束前就去領便當了,所以也正式確立這故事之後,還是個以「人」為主的社會。

        網路上看到有許多文章提到,這本書的翻譯和政治取向令人反感。以我個人而言,小說就是小說,放掉所有可能的聯想,好好享受他的情節,這不是人生一大樂事嗎?

2016年9月3日 星期六

[讀書心得] 不自由的自由人 - 銀河公民



  • 原文作者:Robert Anson Heinlein
  • 譯者:吳鴻
  • 出版社:麥田
  • 出版日期:2006/06/10



一個奴隸

一個在人口販子上的奴隸

一個在人口販子上乏人問津的奴隸

一個在人口販子上乏人問津,而後被個老乞丐買下的奴隸

索爾貝,一個奴隸制度下的產物

在人類拓展版圖至銀河之後

一個未來的場景,出現一幕幕似乎屬於過去專政封閉年代的現象。

看似突兀,深思之下,卻發現不無可能

就像大航海時代、西部大拓荒一樣。

人們往更遠的地方探索,不就是為了財富、土地、人力、榮耀而戰?

只不過,場景換到了太空;時間變成了未來罷了!

不過,索爾貝卻是其中的幸運兒

買下他的老乞丐,並不只是個乞丐

在他的刻意安排下,索爾貝開始了他的尋根之旅

這次,從一個奴隸身分,轉變成一條家族星艦的成員

家族星艦,就像是一個大家族的縮影

也可以說,他本身就是個大家族

其中,充滿了錯綜複雜的親屬關係,以及令新進者無所適從的繁文縟節

一切,都只為了在狹小的空間中,減少所有人與人之間的摩擦

也許,中國人所謂的「禮」,也不過是如此吧

不過,就像梅德博士所說:「...你們是一群自以為快樂的人,而且你們的驕傲甚至帶著一點罪惡...但是,你們為無比的自由所付出的代價...就是自由本身...『人』是自由的,...代價就是失去你們每一個人個體的自由...。」

睡在指定的地方;在指定的時間稅;吃他人指定的東西;在指定的時候吃;

說著必須說的話;多數時間作著別人指定的工作...

說實話,其實,這不就是吃好睡好的奴隸生活?

到底什麼是自由?

是在自己的意願下為生活奮鬥;還是在大環境的束縛下走過別人走的路?

是要蓽路藍縷、走出新生活;或是豐衣足食,卻被人束縛?

也許,自由,並不是想像中的美好...

但,為什麼還要追求自由?

如果可以用完全的自由換取到豐衣足食,有多少人會願意如此?

「不自由,毋寧死」一語,是在民生凋敝,百姓走投無路之時,所發出的怒吼

如果在昇平之世,還會有多少人有這樣的訴求?

「人民苦樂」和「民主與否」,之間是不是有什麼關聯

還是說,這一切只是為奪取政權的宣傳?

我這麼說,並不是認為民主政治不好,自由經濟不好

只是,即使人民民主了,經濟自由了

也未必是豐衣足食的保證。

即使,付出再多努力也是如此

索爾貝之後終究回到了故鄉:地球

而且赫然發現,原來他自己其實是一大企業的繼承人

面對這突如其來的遽變

索爾貝卻已經有自己的一套想法:他要繼承老乞丐:瘸子巴斯林(巴斯林上校)的目標

徹底解放所有奴隸於這宇宙中

就像,當初林肯解放黑奴一樣

但在家族企業的權利捍衛時無意發現

這個超級大企業本身,似乎是奴隸制度背後最大的推手。

於是乎,他必須放棄其他自由的生活,以企業主的身分,去對抗自己企業的邪惡

通篇故事,結煞於此

結局,也是個開始...

也許,並沒有人是真正的自由

為了生活、目標、理想

都必須放棄隨心所欲的那一塊

亦或是,隨心所欲的追求生活、目標及理想...

你我,到底是屬於哪一種?

2016年8月27日 星期六

[讀書心得] 不太生活的生活經濟學 - 生活經濟學:15位超級教授教你從生活看經濟

生活經濟學:15位超級教授教你從生活看經濟

  • 出版社:天下文化  
  • 出版日期:2008/01/09

這一本書是在介紹有關生活中的經濟活動,
不過其介紹的方法是不太平易近人,
以一個非經濟領域的讀者來說,
讀起來是相對吃力的。

不過內容也算是相當扎實,
感覺適合測試高中學生適不適合讀經濟相關科系吧!

2016年8月22日 星期一

[讀書心得] 英雄、梟雄;王道、霸道 - 曹操爭霸經營史



曹操爭霸經營史

  • 出版社:遠流
  • 出版日期:2003/06/01
  • 語言:繁體中文

        中國人心目中有兩個曹操。一個是小說《三國演義》的白臉大奸臣,另一個是正史《三國志》的「非常之人,超世之傑」無論大家認為這個一世霸主是個英雄還是奸雄,他散盡家產在家鄉舉兵,以千人之力在十年間,協同地方豪傑,盪平各地割據勢力,取得天下十三州的九州。其智略、膽識、勇氣、志向、意志在此可一斑。但,受到後人羅貫中:「三國志平話演義」其中尊劉貶曹的影饗,因此許多人對曹操這個角色,是貶大於褒的。
但,真正的曹操是什麼樣的人。軍事家?政治家?謀略家?王者?霸主?其實,很難一言以蔽之。以對手-劉備、孫權一行人-來說,曹操是挾持天子的國賊;以曹操的家臣來說,他是一個值得追隨的人物;以人民的角度來說,曹操是賜與他們土地、糧食、以及安定生活的保護者。那以我們後人的角度呢?是一個雄才大略,氣吞萬里的霸主?還是橫槊賦詩,不可一世的傲者?
        要對一個活生生,擁有高度個人性的人有個公正的解讀,必須要以各方面來做參考。論謀略,連孔明都得敬其三分;論用人,氣度之大甚至想將另外二主收為己用;論軍事,膽大心細的用兵,和來去如風的速度,都是少有敵手;論文才,其短歌行、龜雖壽等等作品流傳千古。但相對的,許州屠城;逼死伏皇后;宮廷鬥爭;妒才逼才;挾天子以挾天子以令諸侯...種種不合情理法之行徑也成就了他奸雄之名。
一個人有如此正反兩極的行徑,看似不合常理。但若仔細想想,許多時候我們也不是如此嗎?許多原則、行為、和外在的表現,會因為種種原因而有所不同,比起那些被神化的人物,真實的曹操不顯得人性多了嗎?