2016年1月27日 星期三

突然在自己的臉書網誌上發現自己在 2012 年底寫了卻沒有發佈的一篇舊文章草稿,跟現在的政治情況對照起來,感覺還頗有趣。不過因為這篇草稿如果發表在臉書的網誌,時間就會變成今天而感覺突兀,決定把它以當初寫草稿的時間發佈在自己的 Blogger 網誌上

我想,或許就是因為當時的這種氛圍,加上後來的 319 反服貿太陽花運動、反課綱運動等等的活動,才會讓現在的政治情況變成這樣吧....

2016年1月22日 星期五

Three things I think LG needs to do with its upcoming G5

Just saw Joe Levi wrote an article on PocketNow called "Five things LG needs to do to make the LG G5 launch success", and here's three things I think LG needs to do with its newly G5.

As a current owner of LG G4, past owner of LG G3, the most important things I think LG needs to do for its G5 are:

1) Improve build quality.

My G4 suddenly went dead last month, and it's 5 months after I bought it on July. I have several friends bough G4 and got the same sudden dead issue. One of my friend got WiFi connection issue before his G4 went dead. I have the same experience with my old G3 back in 2014 also. And if you google it with "LG G4 sudden dead", you will find that we are not alone. I sold my G3 right after I got it back from the repair center. I'm still using my G4 though, but G4 would be my last LG phone.

2) Improve ROM quality.

Both my G3 & G4 are laggy after sometime usage, especially when I use the official LG Optimus Launcher. The situation got improved after I replaced the launcher with Google Now Launcher.

Actually LG did a good job on its new Android 6.0 firmware of G4. It fixes lots of issues, but it has some new minor issues, too. But all in all, LG really did good on this Android 6.0 upgrade. However the most strange thing is that I cannot upgrade to this new Android 6.0 firmware via OTA. I don't understand why because all my other phones and tables can upgrade to Android 6.0 via OTA, only LG cann't.

3) Low light image capturing and video recording.

The G4 camera is indeed a very good one and is the reason I decided to try LG again, until I tried to take a shot or record a video under low light condition. The camera itself take too dark under the low light condition (in a bar or cafe), and the OIS function seems not working. I also have a iPhone 6 Plus and Nexus 5, they both won't have the same issue. Thus I believe it's a issue of LG firmware (or the LG Camera App).

IMHO LG still did a good work on G4 (especially on Camera under Daylight condition), but I think they can do better on G5 with these three things.

2015年10月29日 星期四

iOS 開發:取得設備唯一識別值

取得 iOS 設備唯一識別值的方式,在 iOS 7 以後只剩下三種:
  • UIDevice::identifierForVendor
  • ASIdentifierManager::advertisingIdentifier
  •  蘋果官方 APNS 訊息推送服務 (Apple Push Notification Service) 上面的 deviceToken 值
以往在 iOS 6 以前透過 WiFi / 藍芽等 API 可以取得 MAC 位置值來識別設備的方式已經被蘋果在 iOS 7 以後改為只能取得固定值 02:00:00:00:00:00:00:00 而失去了識別設備的效果。不過這三種值的取得方式都各自有它的限制在,以下先講後兩種。

要用 ASIdentifierManager::advertisingIdentifier 這個值的限制是:
  • 必須要在 App 裡面有用到廣告機制的時候才可以使用這個值,不然蘋果在審核 App 的時候是會把 App 退回的。
  • 使用者可以在 iOS 設備上強制把這個值重新設成新的值;使用者重設這個值之後,在你的 App 被關掉重啟之後這個值才會抓到這個新的值。
  • 使用者如果把 iOS 設備重置成出廠狀態的話,這個值也會變成新的值。
而第三種 蘋果官方 APNS 訊息推送服務 (Apple Push Notification Service) 上面的 deviceToken 值也是跟 ASIdentifierManager::advertisingIdentifer 一樣要有用到 App 訊息推送服務的時候才能用,沒有用到 App 訊息推送服務的話也是不能用這個值的;iOS 設備被重置成出廠狀態之後這個值也是會被重設成新的值的。

現在在 iOS App 開發上蘋果官方是建議 App 開發者使用 UIDevice::identifierForVendor 來識別使用者的設備,但是要使用這個值也是有限制的:如果你有多個 App 透過同一個開發者 Team ID 發佈並被安裝在同一台 iOS 設備上時,只要你任何一個 App 都沒有被使用者移除的話,這個 identifierForVendor 的值是不會變的;如果你的所有 App 都被使用者移除了,或是 iOS 設備被重置成出廠狀態的話,在下次使用者把你的 App 安裝回來的時候這個值就會變成新的值了。

如果有 App 開發者需要取得 iOS 設備上唯一的識別值的話,要多注意這幾項限制喔! ;)

參考資料:

2014年1月8日 星期三

如何在遠通電收的網站上查詢你的 ETC 交易明細

這兩天一直有朋友問我如何查詢 ETC 交易明細,就寫篇文章說明一下吧 (有錯歡迎指正)。

如果有人還不知道怎麼在遠通電收網站上看 ETC 最近一年交易明細的,可以按照這樣的步驟去做:

1. 先到遠通電收網站上的「個人專區」申請 ETC 帳號:

https://css.fetc.net.tw/CS/CS06020eTagGoApply/Query

2. 之後再到這裡把你的車籍資料連結到你的 ETC 帳號:

https://css.fetc.net.tw/CS/CS06050eTagGoCar/Set

3. 車籍資料連結然後驗證完之後,就可以去查詢帳單:

https://css.fetc.net.tw/CS/CS02010Traffic/TrafficQuery

4. 查出帳單之後,它會列出交易內容,交易內容的最右邊會有明細的按鈕。

5. 把明細的按鈕按下去就可以看到該筆交易的明細網頁。

目前這種查詢方式是只有已經申辦 ETC 的用戶才有的,如果你是沒有申辦 ETC 的人,要申請 ETC 交易明細就必須要攜帶車輛行照及車主身分證到遠通電收的直營門市才能辦理了。

相關資訊請參考遠通電收的網站說明:

http://www.fetc.net.tw/portal/faq/list?cname=serviceCenter_qa_etc

2013年12月17日 星期二

Mac 版 Google 雲端硬碟軟體在 Mac OS X 升級到 10.9.1 版之後的「完成更新」訊息

如果你也跟我一樣升級了 Mac OS X 到 10.9.1 版然後發現 Google 雲端硬碟軟體有跳出「請授予 Google 雲端硬碟權限以完成更新」的驚嘆號訊息的話,請確定一下你是不是正在使用 Google 雲端硬碟軟體 1.13 版。如果是的話,你可以依照以下任一種方式來解決這個問題:

1. 關閉 Google 雲端硬碟軟體之後在 Mac 命令列輸入以下指令來重新啟動它:

"/Applications/Google Drive.app/Contents/MacOS/Google Drive" --overlays_enabled_finder_versions="10.9.1"

然後到 Mac 系統提示列拉下已經啟動的 Google 雲端軟體選單,選擇「更新 Google 雲端硬碟」,此時會要求你輸入你在 Mac 使用的帳號密碼,輸入後等軟體的系統列圖示更新狀態完畢,然後退出 Google 雲端軟體再等 10 秒以後重新啟動它,如果看到它的系統列圖示更新正常就代表已經更新完成。

這個方法是由 Google 的 +Rishi Sharma 在 Google Drive 產品論壇中提供的:

http://productforums.google.com/d/msg/drive/UmV6R9EXWyE/EEWc_zgjtrEJ

2. 或將 Google 雲端硬碟軟體的版本退回至 1.12 版,你會發現它不用更新也可以運作正常。

3. 不理它的驚嘆號訊息,直接等 Google 更新新版軟體,因為它的同步檔案功能是正常的,只是有個驚嘆號訊息在那邊很礙眼而已。

2013年7月26日 星期五

Google Chromecast, Miracast 與 HTC MediaLink HD

Google Chromecast 這隻 HDMI dongle 其實比較接近 HTC 出的 MediaLink HD,主要是拿來播放手機、平板及電腦等 3C 設備上的串流影片使用。它跟傳送 3C 設備使用畫面到螢幕上的 Miracast 技術不一樣的是它並不是直接從 3C 設備傳送影音串流資料到 Chromecast (所以它並沒有像 Miracast 一樣傳送設備使用畫面到 Chromecast 上),而是讓 Chromecast 直接跟網路上的影音串流來源 (如 YouTube) 去要影音串流資料來在 Chromecast 上播放,所以它能做到不影響 3C 設備的效能,也能在 Chromecast 播放後讓 3C 設備去做其它事 (現在的 HTC MediaLink HD 也是一樣的原理)。

不過 Google Chromecast 比 HTC MediaLink HD 更有優勢的地方在於,1. Chromecast 可以同時對應多台不同平台的設備,2. Chromecast 可以有自訂播放影片列表來依序播放,以及 3. Chromecast 的價格不到 MediaLink HD 的一半 (如果扣掉三個月 Netflix 訂閱費用 24 美金的話,它 11 美金的價格其實只有 MediaLink HD 的七分之一)。

Google Chromecast 雖然不是用 Android OS 但是它內建簡化版的 Chrome OS,所以它應該是可以自動更新系統的 (Chrome OS 的優點之一)。

我目前是已經有 MediaLink HD 了,不過如果可以入手一隻 Chromecast 應該也不錯! :)

2012年12月24日 星期一

祝大家聖誕快樂!


Untitled
Untitled, originally uploaded by Ted (Hsiang-Tai) / 眼鏡虎.

2012年12月14日 星期五

台灣的未來,在哪裡?

今天晚上比較晚下班,回到家附近繞了一圈,決定吃一下在家裡附近已經半個多月沒吃的鐵板燒店。跟已經有點熟的老闆打過招呼之後,開始吃著美味的鐵板燒,然後照常拿出手機看著社交服務上來來去去的訊息等著老闆處理我的鐵板燒套餐。

在進店裡前店裡已經有兩位客人跟老闆東南西北的聊著 (姑且稱這兩位客人為 A 跟 B),我坐定後 A 跟 B 就開始跟老闆及老闆娘聊小孩,他們覺得現代人太晚生小孩了,因為他們聽過父母年紀越早生小孩的話,小孩會越聰明的新聞。然後他們就開了馬英九一個玩笑,說 現在的父母就是因為太晚生小孩,所以才會讓馬先生當選台北市長 8 年,然後現在還可以做 8 年總統。我聽到後也只有跟著笑笑沒什麼太大的反應 (也許各位有些人會覺得這沒什麼好笑的,但這不是重點,請掠過就好)。

客人 A 提到民國 77 年台灣放寬大陸配偶來台限制之後,很多大陸配偶生了小孩來台灣定居,當時生的小孩現在都已經有投票權了,而陸配跟他們所生的孩子大多 (?) 因為跟中國的關係所以都是支持馬先生的,有些台灣人為了避台灣的稅所以娶陸配 (因為以前外國配偶在沒有身分證之前都不能在台灣工作,但是報稅時可以佔一 個扶養減免名額) ,然後將在台灣的錢透過陸配轉移到中國投資去買房買地,台灣這邊的所得就變得很少甚至到不用報稅的地步。因為財產投資都移到中國去了,所以很多台灣人跟企 業家慢慢的為了在中國的生存利益而支持中國不支持台灣自己,加上台灣現在的年輕人越來越不想生小孩讓台灣土生土長的小孩變少,所以馬先生的當選就變成必然 (在中國台商數量 A 先生說有兩百萬人,而台灣總統當選只需要不到 700 萬票,而台灣政府還打算開放不在籍通訊投票)....

因為講到了馬先生的關係,所以 A 跟 B 就開始說了馬先生的相關政績如油電雙漲造成物價上漲,以及 22K 薪資等等議題,也因而談到了附近店租的問題,A 跟 B 就開始跟老闆討論要不要去百貨公司等等的地方開店 (因為老闆的鐵板燒店是在巷子裡,大多只有像我們這種住在附近或是知道老闆手藝的熟客會比較常來),我也趁機跟老闆提到我半個多月前到中和某購物中心吃鐵 板燒結果覺得又貴又沒他做得好吃的事,結果老闆爆料說中和的購物中心剛開幕時他不是沒想過要去裡面開店,但是衡量店租及照顧家庭等等的因素之後還是決定出 來外面自己開家小店就好。後來因為客人 A 跟 B 都有去過中國,開始跟老闆談上海餐廳的經營方式跟價位,說到上海城內熱門區域跟周邊比較鄉下區域的餐廳價格可以差上好幾倍。然後台灣這邊如果發現有人在附 近開了類似的店,台灣人就會想辦法開一些不一樣的店來做差異化,而中國那邊如果發現有人在附近開了類似的店,則會大家一起開一樣的店看誰撐得久,因為中國 人多,多開幾間一樣的店還是可以有客人。而這也是一種讓店家有排隊人潮的方法,因為人都喜歡有選擇,如果方圓百里裡面只有你一家店,來客數可能就門可羅 雀,但一旦你的店附近 (甚或就在你的店隔壁) 有類似競爭的店出現 (也許是同一個老闆開的),人們就會開始做選擇去其中一家店消費 (只是我在想,會不會開一家店的成本高過來客數而倒掉呢?)....

之後討論的重點就擺在台灣跟中國的關係上。客人 A (還是他!) 說之前台灣跟中國互相對立時,中國打不下台灣只好用偷偷買的。買到現在基本上台灣媒體在三 X 把綠色的鄭先生請走之後都已經是藍色的媒體而沒有本土綠色的媒體了。現在表面上是綠色的媒體 (年 X 跟自由) 基本上也跟藍色脫不了關係 (因為他們的老闆在中國都是有投資的) 他們現在表面上是綠色是因為,如果媒體一片藍色的話媒體就沒有人要看,跟上一段言論提到「有競爭才會有來客數」的理論一樣。客人 A 認為現在民進黨要執政已經沒有機會,因為現在的台灣政府已經鐵了心要在 2015 年台灣選下一任總統之前就把台灣奉送給中國。因為如果不是這樣的話,照常理說一個總統在選上了之後應該是會肩負人民所託好好的照顧人民讓人民安居樂業,怎 麼會是像現在這樣讓台灣越來越糟糕呢?

最後變成鐵板燒的老闆做結論 (除了談老闆的店租那段我有說老闆的手藝很好之外,其他時間我一直都只有在旁邊靜靜的邊吃邊聽而已),他說他早已經對這個政府切心了,2015 年台灣會不會回歸中國他也不想理了,就等著台灣變成中國特區算了,他現在只希望好好的經營他的小店維持一家生計就好。(他的心態會不會代表一些台灣平民百 姓的想法呢?)

這時我的鐵板燒也吃完了。

我在離開這家店的時候想了一下,當時在店裡的除了我和老闆、客人 A 跟 B 之外就只剩老闆娘,而這五人中竟然都有一樣對台灣未來的無力感,面對和中國越來越靠近的台灣政府我們能怎麼辦呢?

這幾天其實一直想著如果這個政府一直這樣一意孤行的把台灣推向中國,是不是只有學孫中山先生一樣革命才有挽回頹勢的可能呢?但晚上回到家跟 Mark Wu 的小小討論之後才發覺,光是想到革命是沒有用的,之後要如何善後才是最大的問題所在.... (說實話無論革命或者是善後我應該都完全沒有這些能力 XD)

現在的民進黨,有沒有可能會是那個改變的力量呢?我跟 Mark Wu 都是認為不太有機會。那麼一般的人民呢?在這個媒體已被藍色控制的時候,我最近的想法是另起一個草根的媒體來讓一般人民知道不同、更全面性國際性的訊息來 引發民眾自覺 (像茉莉花革命一樣),比如說我所在的維基媒體組織裡面就有所謂人人都可參與成為公民記者的維基新聞計畫,其實我有想過是不是要在台灣來推推看,不過週一 跟台北維基人聚會提這個想法的時候被回了「現在的維基新聞在台灣沒人知道啊!」「台灣其實不是沒有草根性的媒體,苦勞網、新頭殼、Peopo 公民新聞網其實都有在做,但是現在有用嗎?」

如果新媒體不可能有像傳統媒體一樣的閱聽影響力,那麼成立新的政黨來努力呢?

「你有可能比綠黨、民進黨做得更好嗎?」我的心裡這樣想著。

我想我還是回去做個小小的軟體工程師,然後私底下為台灣禱告求平安就好了.... (繼續無力)

2011年12月16日 星期五

Google 官方的 Android 訓練課程上線了

Google 官方的 Android 訓練課程 終於上線了。看到這個,就讓我想到從去年二月起曾經參加過然後到今年六月終止的 Google Android Developer Qualification Program。剛剛稍微看了一下這次官方的訓練課程內容,從如何針對不同螢幕尺寸及精細度 (density) 的支援,到如何處理音樂播放、改進程式的電源管理效率、帳號處理、如何根據不同條件讓使用者下載不同版本的程式等等都有介紹,感覺是還蠻實用的。有興趣的人可以去看看囉!:)

2011年10月6日 星期四

在 Android Market 放置應用程式的行銷圖片指引

Android 開發人員官方部落格為軟體開發商在 Android Market 上放置應用程式的行銷圖片提供了一些指引,在此做個筆記,有興趣的人可以過去看看。:)

2009年12月5日 星期六

Recent code building break in Android Open Source Project

If you are using Mac OS X 10.5.8 Leopard like I do and you have synchronized the Android source code from the Android Open Source Project, you probably found that you will get a code building break message as the followings:


target SharedLib: libwebcore
(out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSParser.o:
In function `WebCore::CSSParser::lex(void*)':
external/webkit/WebCore/css/CSSParser.cpp:4219: undefined reference to `WebCore::CSSParser::lex()'

This is because the flex version in the Android source code is been upgraded to 2.5.4a and it causes some errors when trying to find the lex() function in CSSParser. To solve the problem, you can use MacPort 1.8 to install a flex verison then use that flex to replace the version in the Android source code. The commands would be:


cd prebuilt/darwin-x86/flex/
mv flex-2.5.4a flex-2.5.4a-OLD
ln -s /opt/local/bin/flex flex-2.5.4a
touch external/webkit/WebCore/css/tokenizer.flex

For more information, check this issue in the Android bug base.

So far I have successfully build my code on my 15.4" MacBook Pro. If you also meet the issue, you can give it a try.