Sunday, June 27, 2010

上海世博人山人海擠到不行: 世博園區吃吃吃不停篇 (2)

5/24 約早上11點
1. 澳洲館外賣區
今天打算一進園區就參觀位在地鐵站附近的澳洲館,
但是人多到不行排隊路線整整繞了澳洲館一圈,
沒辦法參觀吃個澳洲來的漢堡總可以吧!

這個漢堡雖然拍起來很平凡不過超好吃的,
本來想拍個斷面秀但是因為咬了一口之後肉汁都流到手上所以就算了XD

冰淇淋也好好吃Q.Q
舔了好幾口才想到要拍.

這是可愛的外帶的包裝袋

吃飽之後我們就往世博軸的方向走想要看亞洲區的展覽館,
無奈每間展館的排隊人數都好多,
所以我們就坐越江線前往城市規劃展區,
坐電力公車感覺好奇妙.

經過一翻折騰後肚子又餓了XD

5/24 約下午一點
2. 忘記名字(在城市規劃範例區的美食街)
點了韓式泡菜烤肉蓋飯味道不錯份量超級大.


看完好多好多間城市館(這邊人潮蠻少的都不用排隊)
坐越江線回到了亞州區排了約兩個小時終於能進到阿聯酋館,
東晃晃西晃晃之後決定去吃飯囉!

5/24 約晚上八點
3. 王寶和
王寶和是甜小大的朋友推薦的餐廳,
但是在上海市區兩天的觀光行程排不進去,
在看世博地圖的時候赫然發現園區裡面世博軸的美食街裡也有王寶和真是太巧啦!
不過這裡的王寶和不能自由點菜我們只能選兩人套餐囉~

第一道是宮保雞丁,
味道很好雞肉又超級嫩這到底是怎麼辦到的啊!!??

第二道看起來是鮮蔬蝦仁(確切菜名忘記了XD)
腸泥清得蠻乾淨可是好像有裹粉吃起來有點糊糊的,
不太喜歡.

蟹粉豆腐不錯吃可是稍微油了一點,

酸菜魚片湯,
魚片好嫩好滑溜啊!
很喜歡這道~

最後還來了一盤蠔油芥藍,
可以看到前方的宮保雞丁已經被我們吃光了XD


世博吃吃篇就到這裡結束了.

Friday, June 25, 2010

上海世博人山人海擠到不行: 世博園區吃吃吃不停篇 (1)

這次的上海行我們安排了兩天的時間去參觀世博,
本來的計畫是早上起床之後就認真的大吃一頓然後進到世博園區內參觀,
為了不要浪費一絲一毫的時間跟金錢,
我們打算在排隊的時候一邊吃從外面帶進來的東西.

但是... (九把刀說最重要的就是這個BUT XD)

世博擁擠的程度實在超出我們的想像,
一邊排隊一邊啃著乾巴巴的麵包腳好痠還要小心身後大陸人冷不防的擠到你前面,
越想就越覺得心情很差,

我不是來放假的嗎!怎麼搞得比上班還累.....

在參觀完熱門的西班牙等館之後我們就徹底的想通了,
不再執著於要看多少館以及哪些館一定要看,
開始實行我們的”餓了就吃,累了就休息,太熱就躲到水幕噴霧旁邊,人少才排隊參觀“的悠閒計畫!

以下就是我們在世博園區內吃的餐廳list XD

5/21 約下午四點
1. Bricco Cafe
這間餐廳就位在義大利館附近,
本來超想去義大利館參觀可是排隊人數實在太多,
索性就來吃個披薩和義大利麵=.="

我們點了披薩套餐(含水果杯跟飲料)
辣味肉醬義大利麵跟拿鐵,
披薩味道不錯餅皮帶有微微的碳香味,
義大利麵就稍弱而且整個不辣(不是說辣味嗎!!??)於是我就狂加TABASCO,
拿鐵好喝!

吃到一半發現服務生把好多酒拿出來排排站在後方的桌子上,
那陣子剛好沈迷於神之雫就超想喝搭,
跑到旁邊去看酒標有沒有剛好認識的可是過了好久都沒有開放試喝的跡象,
我們就黯然的飄走了...


5/21 約晚上八點
2. 俏江南 蒸
一口氣參觀完好幾個歐洲區展館後,
我們打算到浦西的企業館區吃俏江南,
這樣等等就可以搭地鐵13號線離開世博園區,

俏江南是出發前就在我們口袋名單中的餐廳,
千金南買早知道萬般無奈想不到的是這家其實不是我們以為的俏江南啊XD
有沒有看到門口多了一個蒸啊...

坐下來點菜之後才發現不對勁不過既來之則安之!
俏江南系列餐廳的logo就是國劇臉譜,
據說是台灣人開的.

這道是涼菜, 夫妻肺片,
大概就是很多種內臟的切片吧~
頗辣味道不錯!

什錦蔬菜鹹淡適中好好吃蔬菜也有好多種,
而且百合(就是白白圓弧狀的東西)放好多耶!

最奇妙的就是這個樟茶鴨,
旁邊擺了好多小小的饅頭(個人稱呼它為假水餃XD)
本來覺得是包著鴨肉吃,
但是鴨肉都有連骨難不成得把肉先卸下來嗎...
這也太費工了,
所以我們就分開來吃了XD

大家有沒有覺得這張點菜單有點怪怪的,
這上面都是寫繁體字耶XD

最後因為樟茶鴨剩太多所以就決定要打包走了,
在結賬的時候得到兩個意外的"驚喜"=.="
一是這裡的濕紙巾要錢...
早如此我就用我自己帶的不就好了...
另外就是外帶用的盒子要錢...
服務員說是因為世博園區限制塑膠的使用量所以盒子(5RMB)要收費,
當時聽到覺得合理所以還是外帶了,
不過我過幾天在另一間就不用另外收費啊!
誰來跟我說這是怎麼一回事=.=

友情推薦: 嗡嗡嗡小蜜蜂我來救你囉!

ZomBee Ninja是 Joe哥(要挪抬一下表示我心中對他的尊敬)的作品~
哎哎哎我對這種可愛的東西最沒有抵抗力了=.="

小蜜蜂們無憂無慮的在森林中生活著,
但是有一天壞蜜蜂跑來搗亂了.
我們要把壞蜜蜂殺光光不要讓他們跑到蜂窩裡去啦!
這樣小蜜蜂才能製造出好喝的蜂蜜(欸 完全離題)

泥看看壞蜜蜂有沒有長得很壞!

只要用手劃過壞蜜蜂他們就會身首異處囉.
而且表情還變得很驚嚇真是超俏皮的.

但是要小心不要殺到小蜜蜂更更重要的是不能破壞蜂窩.
一劃到蜂窩壞蜜蜂們就會成群結隊的跑出來很恐怖低.

啊對了對了.
吃愛心可以補血哦~

報告完畢.
請大家多多支持: 點這裡點這裡: -)

Wednesday, June 23, 2010

如何將你的網頁/站整合入Social Graph中

說在前面:
1.文件都是英文的, 要改成中文用自己的話講好困難啊XD
2.Facebook已經將"become fans"換成like, 但為了說明方便我還是使用了粉絲這個詞.

[什麼是Open Graph Protocol]
Open Graph Protocol是用來幫助你將網站變成Social Graph成員的工具,
它提供了一個規範讓網站能更具體更精確的描述自己在現實生活中所代表的東西.

[為什麼要將你的網站變成Graph Object]
每個在Social Graph的成員都是一個Object,
一旦你的網站變成了Object其他的成員就可以輕易的跟你建立關係.
像是使用者可以like你的網站,
你也可以了解like你的使用者們有什麼特性等等.

[如何將你的網站變成Graph Object]
為了將你的網頁變成Graph Object, 你需要利用Open Graph protocol的"meta"標籤.
Open Graph protocol了以下幾種property來幫助你描述網站的特性.

=必要欄位=
1. og:title - object的標題

2. og:type - object的類型 (完整類型請參考:這裡)

*其中website/blog這兩個類型是用於整個網站, 所以他們應該只會出現在網站的domain, 如果是單篇文章的話要使用article這個類型
*標題跟類型一旦設定之後就不能隨意更動, 在修改之後原有的like名單會被移除, 為了避免讓粉絲感到奇怪, 集滿10個like之後就不能改了, 另外,在修改後需要10-15分鐘才會生效

3. og:image - 用來代表這個object的圖片, 至少需要50px*50px, 長寬比不能超過1:3

4. og:url - 網址, 會被用來當做這個object的ID

5. og:site_name - 易讀性高的網站名稱

6. fb:admins/fb:app_id - 網站管理者的Facebook ID

*為了在Facebook管理你的網站, 你必須要將網站和你的Facebook產生關聯, 之後你就可以向粉絲發布訊息或是在Facebook上查看網站的相關統計資訊, 網站可以有多個管理人, 每個管理人的帳號需用逗號分隔, 此外, 排在最前面的管理人不能被移除, 也不能其更改順序.

=建議欄位=

1. og:description - object的描述

下圖是測試網站的html:
需註明og跟fb這兩個namespace,

在編輯完html後,
可以利用Facebook提供的工具來看看資料有沒有寫對!

完成以上步驟之後你的網站就可以變成Graph Object囉!

[如何在網站上放置like按鈕]
這同樣可以利用Facebook提供的工具!
在URL輸入你的網址接著調整下面的參數做出你喜歡的樣子,
確定之後按GetCode複製程式碼.

再將程式碼放到網站上就可以囉!
(上面那張圖是後來捕抓的, 所以粉絲狀態已經不一樣囉!)

另外網頁也是可以放置like按鈕低!
接下來使用者只要按like就能變成網站的粉絲啦!

[如何在Facebook上管理網站]
在登入之後到帳號的地方選管理頁面就會進入網站在Faceook上的牆,
按左邊的編輯頁面就可以囉!

所有的資訊都找的到也能更改設定.


[參考資料]
Open Graph Protocol
facebook open graph/api

[相關討論]
Does Facebook Really Want a Semantic Web?
Facebook Open Graph: The Definitive Guide For Publishers, Users and Competitors
當社交與搜尋合而為一!社交網站的搜尋野心(一)Facebook

大概就是這樣啦~
報告完畢

Friday, June 18, 2010

大推! 超級可愛的煎餅小遊戲

今天看到同事詹先生在玩一看畫面整個就被吸引住啦!
(我本來iPhone都不裝遊戲的哩~)
畫風我好喜歡,
雖然類似的遊戲很多不過因為有用故事包裝起來整個就覺得細緻又有趣啊!

而且免費耶~
你說不裝還有天理嗎!!!!????

起始畫面好繽紛啊!
帶有童話風, 背景還有紙的質感~

按start可以看到選單,
看是要進入故事模式還是直接挑戰~


故事是這樣的:
在很遠很遠的地方間一家叫做"pancake flip"的鬆餅店,
奇怪的是這間店總是沒有顧客上門=.=
這間店的鬆餅師父非常窮,
而且他即將結束營業因為他的鬆餅實在太難吃惹 冏a
突然間一隻喵咪出現了還叼了一只奇怪的平底鍋,
(有沒有覺得喵咪的臉有點像狸貓XD)
彷彿是在請求煎餅師父替它做最後一次煎餅~

遊戲就開始囉~
要成功的翻動鬆餅五次才能過第一關!
我一直失敗Q.Q
所以無法知道接下來的劇情(聽說app的review也有很多人說太難 哈哈)

也可以回到首頁看看翻動煎餅的小技巧!

快裝吧快裝吧!

Monday, June 07, 2010

Android: API demo (API Level 7)

[App-Activity]

1. Activity: launch activity with a custom animation (fade/zoom)
(1) start an activity or finish current activity
(2) call overridePendingTransition immediately
public void overridePendingTransition (int enterAnim, int exitAnim) since API level 5

2. Custom Title: custom title of an activity
overwrite function onCreate
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.your_activity_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.your_custom_title);

3. Dialog: make activity looks like a dialog
(1) original activity

(2) change style to dialog
<activity android:name=".app.DialogActivity"
android:label="@string/activity_dialog"
android:theme="@android:style/Theme.Dialog"></activity>


(3) change style to a customized dialog
<activity android:name=".app.DialogActivity"
android:label="@string/activity_dialog"
android:theme="@style/Theme.Custom_Dialog"></activity>



4. SetWallpaper: set wallpaper in an activity
use WallpaperManager and call setBitmap(Bitmap bitmap) or setResource(int resid)

5. Translucent/Transparent Blur/Wallpaper: change background of an activity
(1) Translucent

i. set theme in manifest: add android:theme="@style/Theme.Translucent" to manifest
<activity android:name=".app.TranslucentActivity"
android:label="@string/activity_translucent"
android:theme="@style/Theme.Translucent"></activity>

ii. add new theme Translucent
<style name="Theme.Translucent" parent="android:style/Theme.Translucent">
<item name="android:windowBackground">@drawable/translucent_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item></style>

(2) Transparent Blur

i. set theme in Manifest
android:theme="@style/Theme.Transparent"
ii. overwrite onCreate to blur content underneath
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
iii. add new theme Transparent
<style name="Theme.Transparent">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
<item name="android:windowBackground">@drawable/transparent_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorForeground">#fff</item></style>

(3) Wallpaper

i. set theme in manifest
android:theme="@style/Theme.Wallpaper
ii. add new theme Wallpaper
<style name="Theme.Wallpaper" parent="android:style/Theme.Wallpaper">
<item name="android:colorForeground">#fff</item></style>

Thursday, May 27, 2010

Android: WebView

= Display Loading Progress in Title Bar =

1. use Progress


step 1: enable extended window feature: FEATURE_PROGRESS
requestWindowFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.handle_config_change_in_webview);

step 2: implement WebChromeClient and overwrite function onProgressChanged
public void onProgressChanged(WebView view, int newProgress) {      
super.onProgressChanged(view, newProgress);
// newProgress (0-100), progress bar (0-10000)
setProgress(newProgress * 100);
}

step 3: set WebChromeClient to WebView by setWebChromeClient

2. use Indeterminate Progress


step 1: enable extended window feature: FEATURE_INDETERMINATE_PROGRESS
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.handle_config_change_in_webview);

step 2: implement WebViewClient and overwrite function onPageStarted, onPageFinished
public void onPageStarted(WebView view, String url, Bitmap favicon){  
setProgressBarIndeterminateVisibility(true);
}

public void onPageFinished(WebView view, String url){
setProgressBarIndeterminateVisibility(false);
}

step 3: set WebViewClient to WebView by setWebViewClient

= Handle Configuration Change =

Configuration changes (such as open/close hardware keyboard or change orientation) will trigger system to destroy your current activity, and then re-create a new instance of the activity.
When a configuration change occurs during WebView is loading a page, you might not want that system re-start this activity automatically since the loading procedure will be interrupted.
In this case, your activity need to handle configuration changes by itself.

To specify that kind of configuration changes your activity would like to handle, you must declare them by add "android:configChanges" attribute in manifest file.
<activity android:name="WebViewPractice" android:configChanges="keyboardHidden|orientation" android:label="Browser"></activity>


Then, your activity will receive a call to onConfigurationChanged() if configuration change occurs. A "Configuration" object is passed in for you to tell what kind of change occurs and to make appropriate changes by updating the resources if it is necessary.

Friday, April 23, 2010

Tuesday, April 13, 2010

超現實的巴黎旅行Day 7: 巴士底廣場, 綠蔭步道, 巴士底歌劇院

帶著午餐我跳上地鐵到了巴士底廣場(Place de al Bastille),
看到了廣場的著名地標: 7月革命紀念柱

認路王林小萱不在身邊,
我只好認命的的拿著地圖轉來轉去找路,
在廣場每個路口走了好一會兒才找到正確的方向XD
目的地是期待已久的綠蔭步道(Promenade plantée)

有看過愛在日落巴黎時(Before Sunset)的人應該都對以下場景很熟悉吧!
Jesse跟Celine離開咖啡館之後走啊走啊走的就來到了這裡.

綠蔭步道原本是廢棄的鐵路高架橋,
經過巴黎市政府的改造之後,
高架橋上變成了綠意盎然的空中走廊,
而高架橋下的拱型空間則改裝成一間間的工作室,
提供藝術工作者自由使用.

因為實在太餓,
我一到達就找了個稍微有樹蔭遮蔽的位子坐下來,
火速把剛剛買的猶太貝果解決掉XD

之後就在綠蔭步道閒晃囉!
沿途兩旁種了好多漂亮的花,


最喜歡這個白山茶花.
完全呈現出CHANEL高貴又華麗的感覺啊~

轉眼間就快傍晚了,
我慢慢的走回廣場旁的巴士底歌劇院跟林小萱會合.
今天晚上是歌劇時間!

巴士底歌劇院是為了紀念法國革命200週年而建的,
以歌劇演出為主(加尼葉歌劇院則多為芭蕾表演)
歌劇院使用了大量的玻璃跟金屬材質很具現代感,
牆上掛了許多演出的海報.
(我竟然完全沒拍歌劇院的外觀=.=)

我們要看的是托斯卡(Tosca)
原本完全不知道托斯卡的劇情,
我在來到巴黎前還在youbube上努力惡補了一下XD

(有點想睡覺... 歌劇的話題就到這裡結束好了 冏a)

雖然已經在巴黎的最後一個晚上,
但還是覺得好超現實啊!

依依不捨...

Monday, April 05, 2010

[讀] 超。殺人事件 <推理作家的苦惱>


超。殺人事件收錄了八篇過去刊載於雜誌的短篇小說,
這一系列所關注的焦點不在推理小說本身,
而是擴大到了整個推理業界,
包含了:推理作家, 讀者, 編輯, 出版社, 書評家等等...
東野圭吾將他所觀察到推理業界的奇怪現象,
轉化為不同的嘲諷主題在各個短篇中探討.

每個短篇的想要傳達的東西其實可以從標題大致了解,
隨著情節慢慢展開劇中人物的言行舉止也越來越誇張脫序.
推理的部分不在於內嵌在短篇中的小說片段,
反而是你會想要猜出劇中人物到底能夠有多荒謬,
東野圭吾又會如何收尾.

非常有意思的黑色幽默小說.
尤其推薦給上班族回家後看個一小篇,
可以讓你輕輕鬆鬆笑著入睡啊!

以下是我比較喜歡的事件,
如果想看這本書的話接下來就請略過吧~

1. 超稅金對策殺人事件
主角在作品暢銷收入大增之後開始瘋狂花錢享受生活,
卻在收到報稅單之後因無力繳款而瞬間跌入了地獄.
律師好友建議他將購物旅遊等等開銷列為工作支出來抵稅.
主角只得將進行中的小說做大幅度的修改把各個花費名目加入劇情中.
於是小說中的人物從寒冷的北海道一下又來到炎熱的夏威夷,
在尋人之於還順便唱了卡啦OK和打高爾夫球,
淚水模糊了眼影, 在臉頰上留下了兩道藍色淚痕.
這種眼影是今年的流行色, 女性通常會連玫瑰色口紅一起購買.
(為了描寫這個場景, 購入化粧品十餘件做為參考資料. 將購買費用列入工作經費)
看到這裡我忍不住噗嗤了啊!!

2. 超理科殺人事件
這是刊載於雜誌的第一篇小說,
非常有意思.
沒錯, 我只是個普通人啊~

6. 超長篇小說殺人事件
這篇探討的主軸是某些小說在宣傳的文案上過分強調作品的篇幅,
給讀者帶來一種"字數多才是超級巨作"的錯誤印象.
推理小說家葛原在編輯小木的要求下,
將以成為"世界最長的棒球推理小說"的目標來寫新小說,
葛原不僅得要將選手再比賽中的各種心情轉折做鉅細彌遺的描述,
還得要加入歷史數據的分析及各種球路的技術性知識.

無奈小木打聽到同題材的另一部作品也用了同樣的招數,
而且極有可能搶先出版.
在這樣激烈的勾心鬥角之下,
葛原的作品最後是以什麼面貌呈現給讀者呢?
葛原看著自己新書的書腰, 頓時啞口無言.
[葛原萬太郎 世界最重的棒球推理小說誕生! 要命的8.7公斤]
小木不知何時走進他身旁,
在他耳邊低語: 我想暫時應該沒人破得了這項紀錄, 因為封面加了鐵板.
看到這裡我又忍不住噗嗤了啊~

7. 魔風館殺人事件
這個章節描述了作家在小說即將收尾卻又無法合理化所有線索時,
心中複雜情緒的糾結XD
雖然只有短短五頁,
但是作家本身的內心戲實在太真實太好笑啦!