2014/09/07

[Liang-Wen-Dao]梁文道2014在臺北誠品松菸

梁文道提到現在大陸的一些中文文法非常彆扭。比如台灣人講「我贊同你的意見」,但大陸人卻講「關於你的意見,我非常認同」,這種不直接把「你的意見」當成受格,似乎想要保持個距離,但又想要表態出來。
比如說習近平探視一位老奶奶,會說「關於您的身體健康,我們黨和政府都非常關心」。會不會有一個兒子回到鄉下探望多年未見的母親時,說「「媽,今天中秋,兒子想對你表達親切的問候。」」?

梁文道提出一個有趣的說法,實際上大陸文革時的口號、台灣戒嚴時的口號,其結構也是合乎唐詩的格律。有四言口號(莊敬自強、處變不驚)、五言口號、七言口號(我們要見毛主席)。

梁文道說就算是稱呼別人的名字,叫單名也會很怪異。比如稱呼「余華」叫「華」,這好像是瓊瑤小說中才有的,而叫全名「余華」又好像關係太疏遠了。解決方法可能是像胡適,叫「適之」。
在香港很多人都會取英文名字,但若取的是單音節的如John,香港人會叫「阿John」。

(我發覺反倒臺灣人不會感覺「單音節稱呼」有何怪異之處,像我以前有同事叫Ting、Kang。倒是粵語會有雙音節習慣問題,比如說「聖鬥士星矢」中的「瞬」,臺灣版漫畫就直接譯作「瞬」,香港版漫畫卻要譯作「阿瞬」)



梁文道提到他唸大學時修哲學系,上中國哲學時,讀的不是翻譯書,理當應該比外國人讀從中文翻成英文的宋明理學書來得容易上手。但他卻偏偏要從英文的中國哲學書讀起,他反而可發現到以中文為母語的人發覺不到的課題。比如說「八卦」這個字我們都耳熟能詳,甚至發展出完全迥異的意義,但英文卻是翻成Eight Elements of Universe(宇宙八元素)。
梁文道認為「翻譯」才能讓我們發覺自己母語的缺陷與不足。









梁文道說到白話文運動的「我手寫我口」變成了一種北方官話的「霸權」,他希望回到一種文言文的寫作,不再我手寫我口。但我認為其實現在國語(普通話)也發展出書面語與口語。你如果講的話是書面語,會給人「文謅謅」的感覺,雖然勉強聽得懂但很不自然。
 
有人問華語文學要怎麼進軍世界,畢飛宇認為這不算是個問題,梁文道反而比較關心華語文學的多樣性,馬來西亞、星加坡的華語文學能否被接納進入,而不再只是講「兩岸三地」。英語之所以能強盛,不只是19世紀大英帝國建立的日不落國殖民地,更重要的是印度人寫的英語詩歌、奈及利亞人寫的英語小說都能被包含進英語文學,豐富了英語的多樣性。
 
主持人認為是否當個小說家就比較有收入,當詩人就會比較孤獨潦倒。梁文道認為就算是想當個暢銷小說家也會是「一將功成萬骨枯」。全球化的兩極化貧富不均同樣也進入了書籍市場,幾萬個類型作家也才能生出一兩個賺大錢的J.K 羅琳(哈利波特)與金庸。

梁文道預言未來這像一個金庸撐起一整個產業鍊(電影、電視劇、電玩)的情形越來越稀少,反倒是一整個團隊創作才能生出個文化商品,這個隊伍中不僅有作家,也有社會學家、人類學家、趨勢學家。
 
每次都會有人問個老問題「我該如何閱讀?」「要怎麼建立閱讀的習慣?」梁文道認為不要學他讀什麼經典文學,因為這會讓你更痛恨讀書。如果你喜歡釣魚,就讀本關於釣魚的書;如果你喜歡看「冰與火之歌:權力遊戲」,就讀它的原著小說。每天睡前翻個三頁,不要中斷這習慣。一年下來就有一千多頁,這差不多就是三本書的份量。而這份量就幾乎超過中國人每年平均的閱讀書本數量。

2014/08/11

[google-places-api-nearby-bus_station] 如何用 Google Places API 取得附近公車站

http://stackoverflow.com/questions/9340800/detect-the-nearest-transit-stop-from-the-given-location

有人問說如何在一個給定的位址(或經緯度)抓取附近的公車站。解答者雖然能用google-place-api取得bus_station,但無法取得公車編號(bus service No, bus stop ID)。 其實仔細爬google place details,連到url還是可能抓到公車編號。
以下是python pseudocode,更詳細作法在https://github.com/MikimotoH/gisTools/blob/master/google_place.py


#!/usr/bin/env python3

def nearby_bus_stations(lat, lng, apikey=""):
    """ Return a list of nearby bus stations around the location
    Args:
        lat: (float) latitude in degrees
        lng: (float) longitude in degrees
        apikey: Google API Key which enables Place API
    Yields:
        tuple(station:str, latitude: float, longitude: float, list[bus: string])
    Example:
        >>> sts = list(nearby_bus_stations(25.021072,121.551788))
        >>> print sts[0]
        ("黎明社教中心", 25.019798, 121.551818, ["懷恩專車S32"])
    """
    places = get_web_json(
        'https://maps.googleapis.com/maps/api/place/nearbysearch/json?' +
        'key=%s&location=%f,%f' % (apikey, lat, lng) +
        '&rankby=distance&language=zh-TW&types=bus_station')
    if places['status'] == 'OK':
        for result in places['results']:
            placeid = result['place_id']
            detail = get_web_json(
                'https://maps.googleapis.com/maps/api/place/details/' +
                'json?key=%s&placeid=%s' % (apikey, placeid) +
                '&language=zh-TW')
            station = detail['result']['name']
            loc = detail['result']['geometry']['location']
            buspage = get_webpage(detail['result']['url'])
            tree = lxml.html.document_fromstring(buspage)
            bus_elm = tree.xpath("/html/body/div[1]/div/div[4]/div[4]/div/div/div[2]/div/div[2]/div[1]/div[2]/div/div/div[2]/div/table/tr/td")[0]
            buses = list(filter(lambda s: len(s.strip()) > 0,
                                bus_elm.text_content().strip().split()))
            yield (station, float(loc['lat']), float(loc['lat']), buses)


2014/06/25

[urusei-yatsura-129]うる星やつら スケ番3人組 しゅがあ じんじゃあ ぺっぱあ 宇宙刑事の変身

福星小子TV第129集的作畫監督是「土器手司」,是我最喜愛的作畫監督之一(另一個是森山雄治)。
這集是內藏了「宇宙刑事」變身的梗。 劇情大意是拉姆的中二學妹三人組Ginger、Pepper、Sugar又要挑戰她們的學姊拉姆了,但正逢拉姆被諸星當的花心搞得脾氣最暴躁的一天,當然下場是很慘的。

 Ginger-Gavan


Pepper-Shaider


Sugar - Sharivan



[LiveBusTile]台北巴士快速磚

初衷

WP8上的公車App不好用! 我最常用的是「公車動態查詢」,雖然他可以pin-up許多secondary tile,但是secondary tile上無法顯示公車要來的時間。再者,他無法把兩個巴士時間並列比較在同一螢幕。

比如說,我要上班時可以選擇「『橘2』在秀山國小」或「『275』在秀景里」,但是這兩個站牌在不同位置,相隔步程在10分鐘以上。我一出門時就必須選擇是要往左走選「橘2」亦或往右走選「275」。我一旦選錯公車,就必定會錯過另一輛公車。

如果能像下圖一樣,把我上班時可以要搭的「橘2」與「275」並列比較,這樣我上班時才不會選錯公車而遲到。

程式設計

雖然我很久以前是寫WindowsMobile,但在WP8是完全新手。很大的功夫都是在鑽研GUI如何寫、xaml的語法、搞清楚MVVM架構不然公車時間無法更新。

再者,WP8對於背景更新動態磚有很多限制。雖然我用Facebook App知道他可以更新動態磚,但是WP8限制Background Agent的執行頻率是30分鐘。我無法調整成每60秒更新一次動態磚。目前還在尋找解決方法。

最後,我發覺我自己在開發機器上裝的Release版App,與上架之後從微軟官方市集下載來的App兩者的行為似乎有所不一致。我推薦給其他朋友(用WP的朋友好少哦)他們說的一些issue我沒辦法reproduce。程式人員注定要被「Works on my machine」給詛咒。

原始碼網頁

https://github.com/MikimotoH/LiveBusTile/tree/ListOfBusList

WindowsPhone App下載網頁

http://www.windowsphone.com/zh-tw/store/app/%E5%8F%B0%E5%8C%97%E5%B7%B4%E5%A3%AB%E5%BF%AB%E9%80%9F%E7%A3%9A/7e07c5f2-8778-4a7e-8180-fce35d9a0f11

App管理Dashboard:

https://dev.windowsphone.com/en-us/ApplicationDetails?productId=7e07c5f2-8778-4a7e-8180-fce35d9a0f11&applicationDetailsView=2

最新Issues、Featues要求:

  • 14/06/21動態磚無法更新 
  • 14/06/22 支援長方形動態磚、動態磚可以分「上班」「下班」