2016/06/06

recover Ubuntu after unmount system disk

我的Ubuntu 14.04.3 LTS Desktop,我把左測的Files -> Devices 中的Ubuntu System disk給 unmount之後,從公司ssh連回家後發現做什麼都
disk i/o write error。
我強迫重開機後,進入黑白的GRUB command line,用了 set prefix=(hda2,2)/boot/grub  ; insmod normal ; normal 
也沒有效果。
使用 USB Boot Disk也沒有辦法修復。
我以為這裡面的data都毀了corrupted,救不回來了。
 
http://askubuntu.com/questions/468846/permanent-grub-edit-from-ro-to-rw 
 
 後來,我把ubuntu的SSD OCZ 240GB SSD 拆開到另一台電腦,用外接硬碟連接,另一台電腦用也用Ubuntu USB boot,沒想到發現外接SSD
裡面的資料完好如初。
後來,我把那/boot/grub/grub.cfg 中的ro都改成rw,再接回原來的電腦,沒想到就可以用了。

2015/11/22

[Youtube] How youtube manages copyright-issued Videos? Youtube如何管理有版權爭議的影片




一開始上傳到Youtube時,Youtube會先從文字描述抓出可能涉及的音樂、電影、卡通、遊戲、職業運動。過五分鐘後,在「影片管理員」中的「版權聲明」,ContentID會跟資料庫中的audio、Video做交叉比對,說你上傳的影片是用了某某第三方的音樂或電影。這時就要看那第三方的版權處理有多嚴苛。如果是八大影業、三大音樂巨頭、日本電視台,會直接給你一個警告,你最好在Youtube警告你侵權時就趕早刪除。 但如果是《帝國毀滅》元首震怒的片段,原發行公司只是會插入廣告,在版權聲明中會出現「由聲明人獲利」。


Youtube 有所謂的「三振政策」,收到第一次警告,你會進出「緩刑期」,如果六個月內行為良好,第一次警告會被撤下。如果這六個月內收到第二次警告,要去上一個十五分鐘長的「版權教育課」,之後答四道題目(是否第三方影片重新切碎組合就不會侵權?是否訴求不營利就不侵權?)。之後你無法再上傳15分鐘以上的影片。

收到第三次警告後帳號被砍,帳號下所有影片被砍,但還是可以看Youtube,只是無法再建立自己喜愛的清單、上傳影片。要再重新創立一個Youtube帳號,但一個電話號碼最多只能用來認證兩個帳號。所以Youtube對每個電話門號有六次犯錯的機會。


ContentID很厲害,有些你認為很冷門他照樣可以查出來,比如我上傳1996年央視春晚一個片段,他三分鐘後立刻查出來這段是彭麗媛唱的「我屬於中國」。我上傳四年前去烏來看泰雅族表演,一段十分鐘長的影片,他立刻查出來這是用了某某歌劇中的一段音樂。


很多人自詡為守法公民,絕不侵害版權,這時我才發現我們每天都做出可能觸法的行為。比如某母親看到自己小孩隨著Beyonce音樂 跳舞很可愛,拍下來分享,就立刻觸犯音樂巨頭的版權。某個人看到NBA一段精彩球賽片段上傳,立刻就觸犯NBA的版權。你把跟朋友在餐廳聚會聊天的影片上傳分享,卻有第三方說你的背景音樂是侵權,而且這音樂還是日本sony or avex,對版權政策強硬。

更扯的是,我以前常看的開卷八分鐘,有些莫名其妙的砍掉,說是侵犯日本NHK的版權、日本某電視台的版權,我覺得納悶的是,被侵犯也是鳳凰衛視的版權,為什麼是日本電視台說有侵權你們就立刻砍?每天數千萬個影片上傳,除了ContentID 電腦自動作比對,還有什麼機構那麼厲害對這麼多影片做比對。我猜想日本電視台是有雇用Agent,這些Agent公司為了賺業績,檢舉越多可以從日本電視台取得更多獎勵,所以雇用上千名員工亂槍打鳥。

「三振政策」很恐怖,很可能三年前你上傳了一段五分鐘長的海賊王片段都沒事,結果一夕之間三部影片都被檢舉,立刻「三振出局」,你所有旅行、聚會、與小孩玩樂的影片都受到波及也都被砍。帳號管理最好分離乾淨的。把可能會侵權的盡量集中在某帳號下管理。

我還有一件很納悶的事是,同樣是上傳哆拉A夢卡通,怎麼我的立刻就說侵犯到Disney與Shogakukan (小學館)版權立刻被下架,別人的影片卻沒事?我猜會不會是我的這帳號已經收過一次警告,所以從嚴處理?

同場加映
[爆卦] 古阿莫被youtube停權了
古阿莫的吐槽影片跟LexBurner吐槽 很像,他是抽取第三方影片的片段,音軌完全蓋掉,用自己的吐槽影評音軌蓋掉。通常這樣ContentID比較難比對出來,因為ContentID對於音軌 的交叉比對比對比較強,影像的交叉比對比較弱。但是第三方的如果派版權蟑螂出來,如果第三方的版權政策比較強硬,那就立刻被三振了。

我看了台灣很多Forum、BBS、論壇,有許多道德魔人對於侵權的態度是零容忍,我認為這種態度只會造就一種Read Only唯讀文化,只看卻不創作。因為對於著作權文化的無條件接受、不加以質疑,結果創作上就會綁手綁腳。殊不知,我們日常的生活片段都在侵權邊緣,你把它拍下來就有可能侵權。我當然不是鼓勵完全複製一份23分鐘長的動畫是好行為。但其實很多道德魔人自己也在Youtube、郵電看了朋友分享的電視電影片段,但卻自詡自己的手是乾淨,這種偽善行為。就是「親鸞」所說的一種邪惡,親鸞所提到的「惡人正機」,批評某些人殺生,但自己卻吃肉。自己沒有親手幹骯髒事,卻透過金錢間接雇用別人幹骯髒事來為自己謀便利。這種人只是利用生態圈、金錢循環把骯髒事集中到一小處,讓自己乾淨。只要你生活在這生態圈內,仰賴這個生態圈生活,你就是這共犯結構之一。

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 支援長方形動態磚、動態磚可以分「上班」「下班」

2013/09/15

Hackintosh kernel panic after update to OS X 10.8.5 from AppStore

My Hackintosh Hardware硬体配備:

  • GA Z77-DS3H rev 1.1
  • intel core i7 3770

Symptom 症狀

Kernel panic in AppleHDA.kext

 Resolutions 解決方法:

http://www.tonymacx86.com/articles/108809-article-os-x-10-8-5-update-5.html#post662835
http://www.macbreaker.com/2012/01/list-of-common-hackintosh-boot-flags_29.html
在chimera boot options 不要直接按Enter,要輸入 -v -x -f -s 進入verbose 、安全模式、不用cached kext (kernel module) 單人模式

$ /sbin/fsck -fy

$ /sbin/mount -uw /
用vim 或 vi或 emacs編輯 /Extra/org.chameleon.Boot.plist

$ vim /Extra/org.chameleon.Boot.plist
  1. 尋找 EthernetBuiltIn把下一行的Yes 修改成No
  2. 尋找Kernel Flags,把下一行的選項 -npci=0x3000砍掉
  3. 離開vim,exit 重開機