0050 台灣五十 ETF

最近看了一邊文章,感覺有賺頭,提供給大家參考。就是投資台灣五十
結論是不是下面文章所言,我測試2010年的結果,在"多頭"時是真的會賺錢!
雖然配息不多,但是再加上波段所賺的大概可以超過10%~^^"
如果在"多頭"時,不知道買哪隻股票時,是可以買台灣50!

定期定額買台灣五十,每年穩賺七%

五年前,黃柏仁開始定期定額買台股指數型基金(ETF)—台灣五十。
直到現在~他是這樣定期定額的:每三個月固定買一張,不論價錢、非買不可,同時把這筆錢列為年度支出,不影響日常花費,也不會臨時找藉口不買;三個月中間,自行決定其他投資,黃柏仁的其他投資是金融和傳產類股。

妙就妙在,從開始投資台灣五十以來,黃柏仁兩相比較下,自己其他的投資組合只有前年的操盤績效超過三成,打敗當年台灣五十的報酬率二三‧九一%,其餘三年全都輸給台灣五十。

所以對黃柏仁來說,定期定額買台灣五十的用意有二:一是當成固定收益儲蓄,二是當成個人投資的指標。「就好像放把尺在身上,時時提醒自己打敗大盤十分困難。」黃柏仁說。

「如果要我評估自己的投資,我會覺得個人投資頗為失敗。以我設定台股投資報酬率目標是平均年報酬率超過一五%,但只有偶爾達成。」

Blogger - 新增日曆文章列表

[轉貼 LVCHEN製作的日曆文章列表 ]

由 LVCHEN 製作的日曆文章安裝方式非常簡單,將游標移到日期上還會顯示當天的文章標題,安裝這日曆元件,只要在版面配置新增一個 HTML/Javascript 網頁元素,加入程式碼就可以了!

也可以參考 Blogger 日曆 1.0 安裝。
要修改此日曆的CSS樣式,可以參考 Annie - 文章列表行事曆語法中有詳細的介紹!

愛的管教

「本文摘自《親子天下》第 6 期〈愛的管教〉」

我們家妹妹在 一歲 兩個月終於會走路了,跟別人比起來可能算慢了!
不過會走路後,變的相當棘手^^" 因為開始到處跑、摸、舔...
根本是講不聽,或許她應該是聽不懂啦! 有的時候會搞的大人都很火!
這是需要瞭解和學習 -"愛的管教" :)

工具一:「壞掉的唱片」

當孩子違反規矩,開始討價還價甚至轉移話題,父母可使用「壞掉的唱片」這一招,避開冗長失焦的爭辯。方法是,重複幾遍孩子應該做的事,例如「現在把玩具收好」,暫時不理會他的抗議,讓孩子知道你是認真的。對於明確而清楚的決定,通常孩子會照辦。
但記得事後主動提供孩子討論的機會,讓他充分表達想說的話。

工具二:集點獎勵計畫

習慣的養成來自於練習。「集點數換獎賞」是強化孩子正面行為的遊戲。
先設計一張點數表,貼在家中顯眼處,將獎勵目標放在孩子比較容易集到點數的項目,每日持續追蹤、每週定期將累積的點數兌換成獎賞。獎賞不一定要用物質的東西,有時心理的滿足反而更容易成為激勵孩子的動力。
此外,獎勵制度並非一成不變,可以依據孩子的年齡和成熟度稍做調整。

工具三:積極的暫停

傳統的關禁閉,懲罰意味濃厚。積極的暫停強調每個人都需要冷靜時間,包括父母自己。
先和善的告訴孩子,需要冷靜下來時,可以坐在特定的安靜角落或「安靜椅」上,直到能做出尊重他人的行為。

這不是懲罰,而是一種邏輯後果,可中斷孩子攻擊或破壞行為,但無法鼓勵孩子做不喜歡的事。重點是,每次只能鎖定一、兩種屢次發生的問題行為。孩子一違反規矩,就要立刻使用。
暫停時間和年齡相關,以一歲一分鐘為原則,執行時,需要鬧鐘或廚房計時器。

工具四:小布偶的建議  [現在都用這招 By Orson]

解決小小孩的行為問題時,小道具是不可或缺的好幫手。相較於無聊的「衝突對話」,孩子比較願意跟布偶透露自己的心事(即使布偶配上父母的聲音)。
讓小布偶問問孩子:「到底怎麼了?」「為了什麼事生氣?」「下次怎麼做比較好?」
小布偶當然也要樂意回答孩子的問題。

工具五:故事中的熟悉身影

與其反覆說教,不如提供孩子解決問題的方法。
父母可自行改編童話,將現實情形反映在故事裡。孩子會從似曾相識的情節中辨認出自己的身影,再藉由討論,幫故事中的主角找到解決之道。

工具六:老祖母的激勵法

運用「老祖母」的原則,可幫助孩子完成不喜歡的事。
問問孩子想做什麼:「你想不想馬上出去玩?」「想不想看卡通?」
如果你猜對了,就只需補上一句:「你知道規矩是什麼。做完功課後,就可以做一件自己想做的事。」若有一件期待的事等著孩子,他通常會很快完成另一件不喜歡的事。完成工作後的獎賞,可提升孩子的行為動機,但前後順序不可顛倒。

推銷的 12 金法

[轉貼 Mr.6‧網路趨勢報]

這是今天收到的電子報- 你認為公司內人人都要學「推銷」嗎?
內容有一些資訊,我覺得很有意思,推薦給大家!其實本身也很少直接面對客戶,除非有重大問題時~但是當面對客戶時,這時說話就會很重要,的確是需要訓練和經驗累積!
所以下面的文章,我有深刻的體會和瞭解!

另外,也推薦大家可以訂閱  Mr.6‧網路趨勢報 ,時常會有一些不同的想法喔!

來自一位曾帶領幾家上市公司的專業經理人Vivek Wadhwa,他點出了有一則「特殊學問」,儘管商學院從未教過,但對於企業的各個階層、各個崗位、各種人才都很適用!

這個學問,叫做「推銷技巧」。

作者自己一路經歷企業環境、做過這麼多職位,他說,推銷技巧可說是員工最重要的能力之一!大部份的企業人士覺得,那是「業務員」的事,但他們不知道的是,「推銷」的行為不只發生在和客戶之間而已。平常生活中,要讓一位心儀的女孩願意和你出來約會,就需要一套推銷技巧;要讓你的孩子願意嚥下各種顏色的青菜,也需要推銷技巧。回到辦公室,和老闆爭取加薪、年終獎金也都需要推銷技巧!

不是嗎? [YES! by Orson]

阿凡達 AVATAR



劇情簡介:在未來世界,人類為取得另一星球的資源,開啟了阿凡達計畫,以人類與納美人的 DNA 混血,培養出身高近 3米高的阿凡達,並能以人類意志思維控制,以利在潘朵拉星球生存活動並採尋一公斤值 2千萬美金的礦產輸送回地球。受傷後以輪椅代步的前海軍隊員傑克,自願接受實驗並以他的阿凡達來到美麗如詩的潘朵拉星球。然而,傑克在與納美人接觸且結識了奈蒂莉後,卻面臨一場意想不到的浩劫,同時也開展了這位為現實所逼的英雄一段探索與救贖的旅程。

昨天冬至請假一天,剛好下午有空和老婆去看 3D 的阿凡達,之前就聽說這部很好看!
看完的感想:還真的不錯看!有值回票價的感覺。
一開始還不適應  3D 畫面,字幕都是浮起來的,要看畫面又要看字幕有一點不同步,不過後來會慢慢適應。另外不知道是不是 3D 場面有一點大,頭有點暈耶^^",我覺得這部編劇真的是蠻厲害的,真虧他想的出來!如果硬體可以像上次在韓國愛寶樂園看的 3D 動畫電影,座椅是可以動的,後面還會噴乾冰! 相信感覺會更好!讚!

變身為身長三公尺的特殊物種「納美人」,下面的網址可以讓我們自行上傳自己的照片,透過數位合成的方式將我們化身成電影中的主角納美人,有興趣的人可以玩玩看喔!

 變身納美人 :轉貼 重灌狂人 - 阿凡達變身器

參考資料:

Android IPC

轉貼 Android IPC 通訊機制分析

Linux 系統中 AP 間通信的方式有:socket, named pipe, message queque, signal, share memory。
Java 系统中的 AP 間通信方式有:socket, named pipe 等。
Android 當然可以用 JAVA 的 IPC 機制來通信,但在 android source 內卻是採用 Binder 通信。
為何採用此方式?原因是 Binder 通信方式的高效率
Binder 通信是利用 linux 的 binder driver 來作的,Binder 通信操作類似 thread migration,兩個 AP 間的 IPC 看起來就像是一各 AP 進入另一各 AP 執行後帶著執行結果返回。
Binder 通信是同步而不是異步。Binder 通信是基于 Service and Client ,有一各ServiceManager 的 daemon 管理系统的各項服務,它負責間聽是否有其他程序向其發送請求,如果有請求就會回應。每各服務都要在 ServiceManager 中註冊,而請求服務的 Client去 ServiceManager 請求服務。
詳細可以參考相關資料。

另外因 bionic not support System V IPCs. In bionic/libc/docs/SYSV-IPC.TXT
The reason for this is due to the fact that, by design, they lead to global kernel resource leakage.

不過測試改採用 socket or named pipe 也是可以 Run.

參考資料:
Implementing IPC Using AIDL

學英文先理解~再練習

「本文摘自天下雜誌出版《徐薇英文 UP 學——每個小孩都能學好英文》」

根據過去的教學經驗,我認為國內傳統的英文教學,最大的問題在於,「理解」的部分做得不好,沒有解決孩子「背」的困擾。

以打雷「thunder」這個字為例,許多老師這樣教:「thunder,這個字是打雷,來,跟我唸三遍……大家回家要多唸幾次,把這個字背起來,下次要考。」老師這樣教,學生回家只好悶著頭硬背。在我看來,這就是沒有方法的死背,老師沒有提供好記的方法,讓學生輕鬆記憶,只是一味要求學生自己想辦法背起來。

我教thunder的方法完全不一樣。我會這樣告訴孩子:「thunder,這個字是打雷,這是發生在天空『下面』的天氣現象,所以有沒有發現,在 th 後面,有個 under?」

從英文字本身的「字中字」出發,這樣孩子不僅多認識 thunder 這個字,同時也複習了 under 這個字。此外,我還會儘量替這些「字中字」,找出合乎英文字源的記憶方式,讓孩子很容易把這兩個字聯想在一起,背起來相對輕鬆。傳授正確的記憶方法很重要,老師若能提供合乎英文字源的說明後再讓孩子背誦,就很容易記起來,而且還能類推。學生背得快速,有成就感,當然很喜歡上英文課,這就是我所謂的「高效率學習」。

累積二十年的英文教學經驗,我認為學英文的最佳方法,必須同時掌握「U + P」。一旦掌握住這兩大原則,英文自然可以UP UP,快速破關升級!U,就是 Understand,任何背誦,都必須以理解為前提, 了解原理原則之後的記憶才會深刻。P, 則是指 Practice,任何語言都必須使用它,勤加練習,這樣才會熟稔。

比如說,enjoy 這個字後面,需用動名詞(Ving),如 enjoy eating,而非使用不定詞 enjoy to eat。為什麼?大部分老師會說這是 enjoy 這個字的「慣用法」,背起來就對了;但我會解釋,「to V」之所以叫做「不定詞」,就意味著有「不確定的動作、尚未去做的動作」。既然 enjoy 是做喜歡的事情,按邏輯來推,應該是「之前已經做過,才會喜歡去做」。碰到喜歡的事情是「動作」時,我們必須把「動作」變成「名詞」才對。「動作」變成「名詞」的方法有二個,一個是含有持續進行概念的「動名詞(Ving)」,一個是含有計畫不確定概念的「不定詞(to V)」。
I enjoy to play baseball. 這句話是錯的。同樣的你想是 I'm busy writing. 還是 I'm busy to write. 呢?
當然是 I'm busy writing,因為已經忙著在寫了!

這就是我所說的理解。許多孩子知道「to V」叫做不定詞,但問他不定詞是什麼意思時,卻完全沒有概念,這就可惜了。當孩子能「知其所以然」,記憶才容易持久。

不過,光理解學英文,依然不夠! 當老師傳授了「深度理解」U 之後,學生「扎實練習」P 同樣不可少。也許很難改變現有大環境,但可以設法加強孩子對英文的興趣,多多熟悉與練習,如此日積月累,進步一定看得見。

聽不懂對方講的英語?

[轉貼 生活英文報]

聽不懂對方講的英語,怎麼辦?

突然接到一通外國人打來的電話,他講得飛快,你聽得霧煞煞,照以下內容回答就是了!

Please hold while I get someone who speaks English.

請稍等,我請會講英語的人來接聽。

Please allow me to transfer you to someone else.

我幫您轉接給其他人。

Could you speak a little slower? 可以請您講慢一點嗎?

如果要更有禮貌地表達,問句前面可以先說 I’m sorry.。

I’m very sorry, but I’m having trouble hearing.

不好意思,您的聲音聽不太清楚。

I’m having trouble Ving 表示「做⋯⋯時遇到困難」。
這種句型可以用於像 I’m having trouble searching the database.(我搜尋資料庫時遇到困難。)

It’s too noisy here. Just one moment, please. 這裡太吵了。請稍等一下。

Could you please repeat that? 可以請您再說一遍嗎?

Pardon me? Excuse me? I’m sorry? 不好意思,請再講一遍。

Do you happen to have someone there who speaks Chinese?

請問您那裡是否有會講中文的人?

Do you happen to...? 是「您是否正好⋯⋯?」之意。

最後一擊:Is there anyone who speaks Chinese? 有人會講中文嗎?

個人覺得還蠻實用的!

Android.mk

[轉貼 Android build system note]

Android building system 包括幾種重要的設定檔,
(1) Android.mk
(2) AndroidProducts.mk
(3) target_-.mk, host_-.mk and -.mk
(4) BoardConfig.mk
(5) buildspec.mk

Android.mk 是 module 和 package 的設定檔,每個 module/package 的目錄下都會有一個 Android.mk。所謂的 module 是指系統的 native code ,相對於用 Java 寫成的 Android application 稱為 package。

AndroidProducts.mk 則設定 product 配置。 product 即特定系統版本,透過編譯不同 product ,產生不同軟體配置內容,安裝不同的 application。 Product 可視為特定專案,產生特定規格系統。

BoardConfig.mk 是為 product 主板做設定,像是 driver 選擇、設定。*-.mk 則是針對選擇的作業系統和 CPU 架構,進行相關設定。

buildspec.mk 是位於 source 根目錄下,為進行編譯者所做之額外設定。例如,可在此選擇要產生的 product 、平台、額外的 module/package 等。

在 build/envsetup.sh 實作一個 mm 指令,以編譯單一 module,不需編譯整個 source tree。
HOST_BUILD_TYPE 和 TARGET_BUILD_TYPE 指定 building system 產生 binary 的目的為 debug 或 release 。透過設定此二變數,能產生包含 debug information 的 binry 。 debug or release 這些參數,也可設於 buildspec.mk 裡,以避免開發過程不斷的重新指定。

Android JNI

轉貼 JNI 與 Android VM 之關係

JNI is the Java Native Interface. Java Native Interface (JNI) 標準是Java 平台的一部分,它允許 Java 和其他語言的 code 可以進行溝通。而 JNI 提供的通道是雙向的,即 Java 可以使用 C/C++ code 中的功能,而 C/C++ code 也可以使用到 VM 上的 Java AP 的功能.

在 Android 的應用層級類別都是用 Java 撰寫的,這些 Java 類別轉譯為 Dex 型式的Bytecode 之後,必須仰賴 Dalvik 虛擬機器 (VM: Virtual Machine) 來執行之。

在執行 Java 類別的過程中,如果 Java 類別需要與 C 組件溝通時,VM 就會去載入 C 組件,然後讓 Java 的函數順利地呼叫到 C 組件的函數。此時,VM 扮演著橋樑的角色,讓 Java 與 C 組件能透過標準的 JNI 介面而相互溝通。那麼 Java 程式又如何要求 VM 去載入所指定的 C 組件呢 ?
可使用下述指令: System.loadLibrary(*.so的檔名);

看看 Android 所提供的 MediaPlayer.java 類別:
public class MediaPlayer{    
    static {
        System.loadLibrary("media_jni");
    }
 ……
}
要求 VM 去載入 Android 的 /system/lib/libmedia_jni.so 檔案。
載入 *.so 檔之後,Java 類別與 *.so 檔就匯合起來,一起執行了。

當 VM 執行到 System.loadLibrary() 函數時,首先會去執行 C 組件裡的 JNI_OnLoad()函數。
它的用途有二:

Android Key Mapping

我們可以在 android/development/emulator/keymaps/qwerty.kl (keyboard layout file)
or android/system/usr/keylayout/qwerty.kl

在 qwerty.kl 內可以看到從 Linux kernel 送上來的每一個 scan code ,對應到 android system
中的 keycode. 而這個 keycode 的定義在 android/framework/base/libs/ui/keylayoutmap.cpp 中,
下面是 qwerty.kl 的 example:
key 108   DPAD_DOWN         WAKE_DROPPED
key 103   DPAD_UP           WAKE_DROPPED
key 102   HOME              WAKE
key 105   DPAD_LEFT         WAKE_DROPPED
key 106   DPAD_RIGHT        WAKE_DROPPED
要 implement hardware keypad 可以直接修改此檔案!

參考資料:
Keymaps and Keyboard Input

Android browser plugin

Android 是採用 webkit ,可以透過 NPAPI to write native API of Android browser plugin.
Sample code in external/webkit/WebKit/android/plugins/sample
make , then cp browsertestplugin.so  /data/data/com.android.browser/app_plugins/

其中 android.webkit.WebView 是使用「WebKit」技術的 View,主要的用途是顯示網頁。
使用 WebView,我們可以在 Android 應用程式裡顯示自已的 HTML 文件,或是線上的網頁。
WebView Basic usage

下面是基本設定:
webview.getSettings().setJavaScriptEnabled(true); 
webview.getSettings().setPluginsEnabled(true); 
webview.getSettings().setPluginsPath("/android_asset/web/"); 
webview.loadUrl("file:///android_asset/web/test.html");
另外,有一個 Google Gears,可以透過這 Plugin 能在 Android 平台上作 AJAX 應用。
也可以參考看看!

Android Debug

[轉貼 Gasolin-Android 開發筆記]

在 Android 平台上,我們可以透過「Log」函式,在程式碼中加入一個自訂的「記錄點」或「檢查點」。並可以透過開發環境中的「LogCat」工具來查看記錄。當程式流程每次運作到「記錄點」時,相應的「記錄點」就會在開發工具記錄中輸出一筆偵錯用的訊息。開發者透過這份記錄,來檢查程式執行的過程、使用到的參數,是否與我們期望的結果符合。並依此來辨別程式碼中可能出錯的區域,好能對症根治造成問題的程式碼。

一段含有記錄點(Log)的程式碼片段如下:
import android.util.Log
Log.d(TAG, "find Views");
C/C++ AP

#include <cutils/log.h>
#define LOG_TAG "PlayerLog"
LOGD("ORSON PLAYER START!\n");

Android.mk :
LOCAL_SHARED_LIBRARIES += libcutils
Log 的使用格式:Log.代號(標籤, 訊息);
代號依據訊息的類型,我們有五種 Log 訊息形式可以用作記錄。
Log.v (VERBOSE) 詳細訊息
Log.d (DEBUG) 除錯訊息
Log.i (INFO) 通知訊息
Log.w (WARN) 警告訊息
Log.e (ERROR) 錯誤訊息

標籤:當程式的功能擴張的時候,我們可以為不同的功能,給予不同的紀錄標籤。
如:Log.d("Player", "Stop");

訊息:在 Log.(v,d,i,w,e) 的第二個參數中,可以加入我們想要記錄的資訊。
如:Log.e(TAG, "error: " + err.toString());

我們也可以用當前的 Activity 名稱來做為記錄標籤:
如:Log.e(this.toString(), "error: " + err.toString());

在JAVA AP 上,可以利用 Toast,它是 Android 提供的「快顯訊息」類別,
使用時請 import android.widget.Toast;
這是一個很好用的類別,特別是可以輔助我們進行初步的測試工作。
Toast.makeText( this,"Please enter message" + "Test!", Toast.LENGTH_LONG).show();

Android Process lifecycle

[轉貼 史丹利部落格 ]

Android 系統基本上都會盡量的維持應用程式的運作,但如果記憶體真的不夠用時,就會需要把舊的或不需要用的應用程式移除。就如同之前的 Activity 生命週期所介紹,這個移除的決定是由應用程式所處的狀態來判斷。一般來說,一個應用程式有四個狀態,底下由最重要到不重要的順序列出這四個狀態。當需要移除應用程式時系統將會自已做排序,然後從最不重要的開始移除。

1. Foreground Activity :這個 activity 就是在螢幕最頂端,是目前跟使用者保持互動,所以它的優先權最高,原則上會是一個最後被移除的程式,除非,這個 Activity 所需要的記憶體大小已經超出系統所能給與的了。

2. Visible Activity :這個 activity 是可以被使用者看見,但並不是最頂端的一個程式,比如說:最頂端的程式並不是全螢幕的,或者是有個對話盒跳出來時,所以它的權重也很高,非到必要的情況,也不會去移除這種 activity。

Android Activity lifecycle

[轉貼 史丹利部落格 ]

何謂 Activity :最簡單的就是你可以把 Activity 看成一個 User Interface Program,原則上它會提供使用者一個互動式的介面功能,那一個 activity 只有一個 UI 嗎?當然不是!
舉例來說:一個EMail程式,就可能包含三個 Activity
(1) 郵件列表的 Activity
(2) 顯示郵件內容的 Activity
(3) 寫新郵件或回覆郵件的 Activity。

所有的 Activity 在系統裏由 Activity 堆疊所管理,當一個新的 Activity 被執行後,它將會被放置到堆疊的最頂端,並且變成"running activity", 而先前的 Activity 原則上還是會存在於堆疊中,但它此時不會是在前景的情況,除非剛剛那個新的 Activity 離開。

一個 Activity 基本上有四個生命狀態

Android Application

[轉貼 史丹利部落格 ]

原則上 Android 的應用程式會由下面四個區塊所組合而成。
1. Activity
2. Broadcast Intent Receiver
3. Service
4. Content Provider


並不是所有的 Android 程式都需要有這四個部份才行,而是由上面那四項去挑選出來組合而成。
當你決定要在你的程式裏放這些元件時,你必需將它們明確的列在 AndroidManifest.xml 這個檔案裏。所以在這個 xml檔案,你必需宣告你要使用的元件並且明白的指出它們所擁有的能力及需求。

底下列出一個簡單的 manifest.xml 範例,這個範例程式就只有放一個 Activity元件。

Android Project

[轉貼聰明的生活]

一、先要有 Java 環境,可以到 Sun 官方網站下載

二、Eclipse IDE,一個多用途的開發工具平台。

可以到 Eclipse 官方網站下載,可選擇 Eclipse IDE for Java Developers 應該就夠用了,如果有需求開發 J2EE 的話,像是 JSP 等,也可以選 Eclipse IDE for Java EE Developers ,會比較方便。

Eclipse 不需要安裝,只要確認你的系統上有安裝 Java,即可直接開啟 Eclipse 資料夾,點擊 Eclipse 開始執行 Eclipse 整合開發環境。 第一次啟動 Eclipse 時會彈出視窗讓你決定預設的工作目錄。一般使用 Eclipse 預設的工作目錄即可。

三、ADT,基於 Eclipse 的 Android 開發工具擴充套件 (Android Development Tools plugin)。

安裝可以參考:Installing the ADT Plugin

四、Download Android SDK
從Android 官方網站下載 「Android 軟體開發套件」 ,下載回來後解壓縮到一個目錄。
然後 Eclipse 在 Windows -> Preferences 選擇 Android 然後按 Browser 選擇剛才解壓縮的SDK 目錄,然後按下視窗右下角的 Apply 按鈕。 這樣一來 Android SDK 就算是設定好啦。
如果沒有Target Name 可以選擇,可以直接執行 SDK 內的 SDK Setup.exe,選擇 Install Packages 可以提供下載 SDK Platform。

最後就可以從 File -> New 找到 Android Project 準備開發

Android Architecture

[轉貼 史丹利部落格 ]

What is Android?

Android 的來源:

Google 併購 Android 公司後所推出的手機平台,採用 Linux 為作業系統。所以系統程式包含了 C 語言的標準函式庫,但應用程式主要以 Java 語言在 Dalvik VM 虛擬機器執行,應用程式開發環境以 Eclipse 為主,加上 Android Development Tools (ADT) Plugin。

Android 的目的:

Android 平台的主旨是提供一個應用程式架構(Application framework),好讓各家 OEM 業者可不須從頭進行軟體開發,因 Android 完全開放特性,加上其底層結構完善,利於軟體開發商在最少成本、最短的時程下,設計出兼具價格競爭力與高品質的多媒體應用程式。

在多媒體相關的開發上,Android 也有相當完整的支援。它內建多媒體資料庫,並可選擇定期或在需要時根據指示來掃描記憶卡的內容,自動建立索引、辨認媒體資訊,然後存到所有應用程式都可存取的共用資料庫中。只要讀取這個資料庫,開發者就可以迅速得到各種應用程式需要的多媒體資訊,又快又簡單。此外,Android 採用的多層式架構以及OpenMAX/OpenCORE,也可簡化不同目的的軟體開發商間的溝通協調。

Android採用OpenCORE作為基礎多媒體框架,OpenCORE則可分為七大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。

PVPlayer 和 PVAuthor 掌管音訊和視訊的錄製及播放,並透過 Linux的硬體驅動程式直接和硬體溝通,當上層傳來控制要求時,這兩塊也須做出對應。
此外,由於 PVPlayer 和 PVAuthor 使用的都是原始資料(Raw Data),所以須透過編解碼器來進行編碼或解碼;OpenCORE 的編解碼器則可自由增加或抽換,只須和 PVMF 註冊即可。
PVMF 就是 Android 判斷檔案格式及編碼內容的框架,自動決定要用哪個 Parser 來解開或包裝檔案,並選擇適當編解碼器進行編碼或解碼,Common 內部則存放有各種整體框架共通功能。

Android 使用 Toolchain 為 Google 自製的 Bionic Libc,和 GNU Libc不相容,並且不支援C++的標準函式庫。這套 Toolchain 有著速度快、體積小(不管是Lib本身或編譯出來的可執行檔)的優點,但沒有C++標準函式庫是否就代表所有C++程式都不能移植上來呢?事實上,OSCL 提供如資料型態、記憶體管理、執行緒等基本函式,當要撰寫C++程式時即可使用此函式庫,當然也可以自製需要的C++函式庫,然後照正常方式連結即可。

另外,Android 內建的瀏覽器是用 WebKit 的瀏覽引擎為基礎所開發成的,WebKit 是一個開放原碼專案,許多瀏覽器也都是用 WebKit 引擎所開發成,如 Apple 的 Safari、Nokia S60手機內的瀏覽器(Web Browser for S60)等。

Android 本身是一套軟體堆疊(Software Stack),或稱為「軟體疊層架構」,疊層主要分成三層:作業系統、中介軟體(Middleware,大陸方面稱為:中間件)、應用程式。想開發可在 Android 平台執行的應用程式,必須用 Java 程式語言撰寫才行。

中介軟體,凡是介於作業系統與應用程式間的,多概稱為中介軟體,Android 的中介軟體可再細分出兩層,底層為函式庫(Library)及虛擬機器(Virtual Machine;VM),上層為應用程式框架(Application Framework)。



脂肪肝如何治療?

「轉貼莎曼琳的記憶盒部落格

去年健康檢查,我有嚴重的脂肪肝。經飲食和運動,今年檢查就有減輕的效果出現。

*脂肪肝食療

若有脂肪肝不宜吃得太飽和太油膩,避免脂肪過多合成;同時可適當多選用脫脂牛奶、雞蛋清、魚類、蝦類等高蛋白低脂肪的食物,促進肝細胞復原和再生;動物內臟、蛋黃、蟹黃、魷魚、沙丁魚、腦髓、魚卵等含膽固醇高的食物是必須限制食用的。

除了膽固醇,還應適當控制碳水化合物的攝入,所以最好選用粗糧及小米等糧穀類,不吃或少吃精製糖類、蜂蜜、果汁、果醬、蜜餞、水果罐頭和各類甜點心。同時,輕度脂肪肝患者每日食鹽量應該在5克以下,因為鹽能增加胃液分泌,促進食欲。

此外,得了脂肪肝並不意味著不可以吃肉,但要限制肥肉、肉皮的食用,可以適當選用魚肉、兔肉及煮過的瘦豬肉、牛肉、雞肉等。在烹飪方法上,最好採用蒸、煮、燴、燉、熬、燜等方法,忌油炸、煎、炒的方法。一次進餐肉製品在75克—100克為宜,在喝肉湯時要把上面厚厚的一層油撇掉。

*脂肪肝治療

不想學財報,也能避開準地雷

[ 轉貼 晨 星 ]

這邊文章我覺得不錯! 因為我玩股票也玩中地雷股,也損失了不少!
到今年目前為止~我玩股票還是賠,大概虧了 3 萬吧! 希望今年能夠打平^^"
這個成績其實已經是算不錯了!因為去年 2008 金融風暴, 因為沒設定停損,損失慘重!
算一下去年大概虧了 20 幾萬 ,今年靠操作和抽股票[運氣算不錯] ,賺了一些回來!
股票賺錢很快,虧也是很快。但是多學多看還是有一些訣竅!

6個簡單方法,菜鳥投資人立刻上手

Gnash - GNU Flash player



Gnash is a GNU Flash movie player. Flash is an animation file format pioneered by Macromedia which continues to be supported by their successor company, Adobe. Flash has been extended to include audio and video content, and programs written in ActionScript, an ECMAScript-compatible language. Gnash is based on GameSWF, and supports most SWF v7 features and some SWF v8 and v9.


為何想用 Gnash ?  因為是 GNU.
為何不用 Gnash ? 
之前花很多時間在 Compile 上,但測試 ARM and  MIPS 平台上效率太差!  
而且 Action Script 只支援 2.0! 有一些功能還是沒有 Support !
不過,目前又有一個平台可以測試了- Android ,有機會可以玩玩看!

Compile 可以參考下面網站:
Shared My Life and  ARM Linux 系統

XBOX360 - Gamer card


XBOX360 提供玩家建立自己的  Gamer Card,個人覺得還蠻帥的耶!
首先進入 My lusogamer 網站,然後在 GamerTag  右方輸入自己的 Xbox Live ID ,
,Select Theme 則是選擇玩家卡樣式,之後選擇 Generate 按鈕,
就可以創造出自己的 Xbox360 玩家卡!個人覺得下面的樣式是比較好看的!



逛街被栽贓時,該怎麼辦?

[轉貼網路]
最近收到的 Mail ,提供參考!

朋友在逛士林夜市時,口袋開開,沒裝什麼,反正也不會被別人偷。

突然 走過某一個道路中間的攤販,一堆人突然擠過你身邊, 覺得沒什麼,
反正口袋是空的,也沒東西給他偷。

不過才往前走幾步…… 「少年ㄟ~~ 作賊ㄚ不好喔!」老闆說。

我朋友被老闆拉住了,我們當然是驚訝一陣!

「你口袋裡的東西拿出來,還我吧!」 老闆說。

我們不理他,我們又什麼都沒做,往前走。
突然~好像計畫好的一般,身後出現五、六個看似流氓的人…

「喂~偷拿別人的東西還想跑,走,來去見警察。」

說著說著就被抓回去攤位前,被拖到老闆身邊(這票人的行為,其實已有涉及妨害自由之嫌),
老闆手一伸到我朋友口袋,竟然拿出一個東西,明明口袋原本是空的。

老闆用很平常的口氣,假裝教訓我們一頓,最後面說了一句:

「好啦!小孩子還有前途,不要報警,私下和解好啦!
這件東西 200 罰你 50 倍就好。」

一群路人加上6個兇神惡煞瞪著我們看,我們當然也是明辯到底,

不過老闆卻是無動於衷,路過的人也好像在看戲,用那懷疑朋友是

小偷的眼神看著我們。

好吧!我自認倒楣,去提款機領個 10000 出來救人。 老闆拿到錢後,

卻在奸笑說:「以後好好做人啊,歹路不能走啊!」

世風日下,現在不只要小心被偷東西,也要小心口袋或包包不要被塞東西,

然後被當作小偷敲詐,請大家告訴大家要小心!

【正確應變方式】