guthub_gist_程式碼區塊

2016年9月30日 星期五

程式碼片段(Snippet)

snippets

日前忽然發現了Sublime Text的插入程式碼片段(Snippet)的功能,這真是一個好東西。

也上網找了一些資料當作參考,留在這裡做備忘~



本機工具



網路服務



綜合方式:

  • 可以將整份SublimeTextProtable存在網路磁碟上,這樣就能保持同步資料庫

2016年9月28日 星期三

手把手教你學會用Graphviz畫圖

GraphViz Example: sdh.dot
Graphviz是一個使用指令方式來作畫的繪圖工具。

它的特點

  • 使用指令作畫,等於是用文字方式留存下來,容易實行版本控制與對比,非常有利於多人協作。
  • 它的圖形引擎會讓每個節點之間的關聯線以最少重疊的情況自動布局,免去每次調整圖形布局的繁雜工作。

實作範例步驟

  1. 在任何文字編輯器上敲出指令如下


  2. 打開下列的任一種Graphviz工具,將前一步驟的指令貼上去,執行畫圖(官方應用程式裡的動作叫做”Layout”)
  3. 各種工具:
    • 以應用程式方式作畫:到它的官網http://graphviz.org/的下載區去下載並安裝使用,因為功能比較完整,我推薦這個
    • 使用線上工具直接轉換:http://www.webgraphviz.com/,(但這個工具只能做簡易的圖形,太複雜的指令它處理起來會有問題)
    • 在wiki page上直接內嵌:只要在指令的前後加上下方所示的兩個小標籤片段即可


  4. 將檔案另存成jpg檔,上傳到網頁,就得到下面這張圖啦
  5. 因為圖形屬性可以更動的地方太多,請參考官網說明(http://www.graphviz.org/doc/dotguide.pdf)來自行嘗試修改

2016年9月27日 星期二

如何在網頁上使用清晰的程式碼區塊

For geeks,you can understand China by compiling this code snippet


其實我是完全參照這位大大的最後一個做法: https://amobiz.github.io/2013/05/28/blogger-google-code-prettify-github-gist/


實作步驟超級簡單,但還是得寫在這裡備忘

  1. 註冊Github Gist的帳號
  2. 將程式碼片段寫在gist中,然後取得網頁嵌入的html語法即可
  3. 完成

2016年9月14日 星期三

住台北縣市不要養車!

Money
以下摘自網路,似乎是篇2007的文章,很詳細的分析,但我不是住在台北縣市呀,不能完全套用(也不知該說幸運還是不幸??)~~



買台車來養的話

01.新車價70萬: (包括了第一年的保險、領牌......等稅金,車子價錢大概在60初頭,還OK吧!)(年初買)
02.車輛折損10年之後: 車子價值大約5~7萬,需視狀況,因此折價了63萬。
03.停車費5年: 台北縣市取平均數約$4000,五年約24萬。 FREE:後五年停車費:當路霸
04.隨停路邊停車費10年計算:每個月支出約$500,十年合計約6萬。
05.油錢10年:超省油現代車,每月加油兩次,跑足1000公哩,每次加油(95),每次約為$1000,10年下來,油錢合計為12萬(假日出遊多出不計算)
06.所得稅部份,扣掉第一年新車價,還剩下後九年+半次的燃料稅,以1800CC以下的車子,每年預估付出$11920*10+$4800=12萬4千
07.強制險最基本25-30歲男性:每年$2238元*9年=$20,142
08.換照10年內,駕照行照各換一次:共$400
09.一般保養:每年跑12000公哩,就當做保養兩次,每次大約$2000,10年下來共4萬。
10.特殊保養:大保養小保養等,平均一年提列1萬,10年共10萬。
11.特殊裝備:不改裝,不美容。
12.車禍A到: 10年內,計算一次烤漆板金,金額大約2萬。
13.五年後的每年檢驗:懶得算了!
14.每年收到一張超速紅單,停車紅單,違規右轉紅單...等。
15.其他以上合計:10年內,總共支出約為1,354,542元整
(我相信以上幾乎是最基本的,就連GPS都沒算在裡面喔!)
平均每月花費:$1,354,542/10/12 =$11,288

所以嚕!整整10年,你每個月都要為那一台車子,付出一萬一的代價耶!

(2021註)以上是一台車用10年的平均。如果是只算第一年的折舊,可能是每月付出3萬左右。(所以若一個月剛領薪水啥都沒做,就先消失3萬,而不會讓你對過生活感到吃力,則是適合買車的)



買台機車來養+小黃+需要時租車

如果你是在台北縣市上班,你也居住在台北縣市, 其實如果平常作息是依靠摩托車+計程車的話, 摩托車油錢每個月$500,我相信上下班很夠了!(北縣到北市)
假日往返台北縣市,全部租車替代大約8千也夠了!
跑遠一點的,做朋友的車,你幫他付油錢,一個月兩次,每次$1000, 你朋友一定很爽,怎樣算都是很划算的喔!
最重要的是,你一開始就可以剩下70萬, 如果你夠聰明,再把這70萬拿去投資, 如果你夠厲害,每年都固定可以有12%的報酬(兩根漲停板,再給你扣掉手續費)其實你每個月就會有$700,000*0.12/12=$7000 剛好可以支付你每個月的行動開銷,也就是說,你過了10年,你依然還是保有你的70萬, 你也依然可以享受愛去哪就去哪的品質。 (租車你也可以天天挑新車來開)


總而言之

買車的人 10年下來,就必須付出大約135萬,一前一後,兩者就會相差了205萬。
有了車,出遊玩樂的慾望增加了,其實花錢的數目遠大於估算的,
沒了車,相對的少了很多的花錢機會。
眼光放遠一點,當你從25歲到55歲,你都能夠不買車的話 (10年一台,共換3台)
其實你的財富跟有買車的人相比之下,當場會有615萬的差距。 當然嚕!人生每個人都有夢想,如果理財有道,或是你控制的了自己,那麼55歲準備退休的妳,加上平常每個月1萬的存款+退休金*30年(假設你一個月領4萬) 200萬退休金+1萬*12*30=560萬的儲蓄, 再加上你不買車的代價,你應該會有1175萬的存款喔!

等到退休了,就是該享福的時候了,買一台好一點的車150萬,天天遊山玩水, 一千多萬的儲款保險理財約4%,每年也有40萬可花,利息足夠你養車了!

好好看看這篇文章吧! 奉勸大家,千萬別把錢花在車子上,除非你有下列的條件:
A.除非你很會賺錢,我認為每個月6萬以上,為現在(2007)的安全級數,其實這個數目也不誇張,一個月領4萬5的人,加上三節年終,小小兼差一下,應該就有了。
B.除非你家裡很有錢。
C.除非你有不用錢的停車位。
D.除非你買到五年以上的優質二手車。
E.中樂透。

2016年4月18日 星期一

老筆電軟硬體齊升級,活出新生命

It's bigger than I thought...

心得:

家裡有一台4歲的13吋Toshiba R830+Win7筆電,電池能力日漸老化,硬碟存取速度也漸跟不上時代,不適合外出使用,但丟了又可惜。
決定對它施以SSD移植手術+OS升級,希望帶給它新生命。
改造後,用起來的確很有感,完全復活啦~~應該還能夠再用幾年,這台筆電真是很值得!
順便也將手上的Macbook Air賣掉了,雖然Macbook Air使用起來還不錯,但與工作大環境還是比較格格不入,Windows還是比較適合我~




改造步驟:

  1. 先確定筆電可以用外接光碟機開機,並將BIOS設定成以外接光碟機為第一開機選項。
    • R830進BIOS是開電之後,狂按F2
    • 我自己是用外接式光碟機搞定的,USB碟沒親自實驗過,但理論上應該可以類推才對
  2. 找出筆電原廠的還原光碟,當然要確定光碟讀取沒問題囉;若沒有還原光碟也沒關係,直接將筆電上全部軟體用Windows內附的備份功能備份成光碟即可。
    • 把自己要留的資料先另外備份,免得悔恨。
    • 拿還原光碟重新安裝Win7有兩個原因
      • 要由硬碟將系統轉到SSD上要用Ghost(Win10可用,但操作有門檻) 或 Acronis True Image(非免費,另外試用版不給搬移功能) 或Intel SSD搬移工具(不支援Win10),不管用哪種軟體都有些門檻,所以直接用還原光碟把系統復原到SSD會簡單很多。
      • 直接安裝Win10無法輸入筆電附贈的正版Win7的序號,所以必需要用升級的方式先安裝一次,安裝完後確認Win10己經啟動,才可以再用直接安裝的方式重新安裝乾淨的Win10
  3. 購買SSD一個,例如Intel 535系列 2.5吋 SATAⅢ固態硬碟。SSD的本體高度一般都是7mm,它裡面會附一個塑膠蓋以增加厚度,可達9.5mm。參考產品 http://24h.pchome.com.tw/prod/DRAH4D-A9006FYDJ?q=/S/DRAH4D
  4. 購買一組「筆電用第二顆硬碟托架轉接盒 + USB光碟機外接盒」,這個產品做得很貼心,提供的零件很齊全,甚至還附送了一隻小螺絲起子,約TWD500,當然買之前要向賣家確認你的筆電品牌及型號,賣家應該能提供準確的尺寸規格。參考產品 http://www.pcstore.com.tw/melodystore/M15404530.htm
  5. 因為小零件不少,建議準備一個小盒子,拿來放拆裝過程中的螺絲與零件
  6. 先將這兩個網頁瀏覽過,後面改裝時,心裡會比較有準備
  7. 將筆電的底殼全拆掉。這裡有一篇網誌寫的很清楚: R830改裝大全加圖示 http://blog.huangrh.com/2011/09/toshiba-r830.html
  8. 先把筆電裡的光碟機拆出來,加上步驟4的USB光碟機外接盒,可以組成一台新的外接光碟機。並建議在組裝過程中時時確認光碟機可運作,最後再封上外殼。
    • 我在這個步驟卡關頗久,主要是因為他的光碟機外接盒後方螺絲孔位有一點點偏,螺絲其實算是斜斜的鎖進去。這個步驟考驗個人的機構組裝能力了~
    • 細節請參考步驟6兩個網頁的圖示
  9. 將筆電裡的硬碟拆出來,加上步驟4的第二顆硬碟托架轉接盒,可以組成一台有光碟機外殼的硬碟,未來在筆電裡可充當大容量備份區的腳色;但若步驟3買的SSD夠大,直接把這個硬碟丟掉,把筆電輕量化也不錯。
    • 若要輕量,還可多丟棄轉接盒上蓋,要把轉接盒上面的貼紙撕掉,貼紙底下還有2個螺絲要卸下。但是注意這時候紅色矽膠擋條的固定點會就少了上蓋固定,所以我直接用剪刀將很薄的金屬上蓋的螺絲孔位周邊剪下一個小範圍,當作是螺絲墊片(Washer)鎖回去,這樣子就能保證未來紅色矽膠擋條的固定點不會脫落。
    • 細節請參考步驟6兩個網頁的圖示
  10. 把步驟3買的SSD裝到筆電原本擺硬碟的地方。
  11. 把步驟9與步驟10的裝置都依原樣塞回筆電,機殼蓋上,建議可以不鎖螺絲或簡單鎖一兩顆即可,以免還有問題要重新解螺絲。
  12. 把步驟8得到的那一台外接光碟機接上筆電,放進步驟2的還原光碟,把系統還原到SSD上,最後應該能由SSD開機進入Windows。
  13. 反正目前是免費升級期間,直接到Windows官網點選立即升級Windows10,升級選項建議選擇不保留任何應用程式與資料,這樣會比較乾淨;最後應該能由SSD開機進入Windows10。
  14. 確定沒有問題後,關機、關電,把步驟7的所有螺絲鎖回去。
  15. 總花費約TWD2000元左右,得到一台外接光碟機、一台有SSD極速感受的Windows10回春筆電,完工~



參考資源

除了上面步驟用到的一些網頁以外,下面這些也是不錯的資源
A. 對拆機有心理障礙的人可以先看一下這篇,有超詳細的拆機解說,R700為R830前身,配置大同小異,不過網頁主機的效能不好,要有耐心Reload多次才能看見

B. 一開始自以為聰明,想用先升Win10再移轉的方式,但是差點整個重灌(就是上面步驟2的一些經驗提醒),等到整個搞定後,回來整理記錄,才發現基本上照著這篇網頁的步驟慢慢進行就沒錯


C. R830原廠Win7全Driver官網


D. 其實用不到,因為Windows10全部自動裝好了




2016年4月12日 星期二

多工機制

此表用作備忘/Hint,更精確的細節應參考書籍或Linux Manual

Thread用的同步機制

此表用作備忘/Hint,更精確的細節應參考書籍或Linux Manual

2016年2月22日 星期一

關於「大公司抄你,你怎麼辦」的終極答案

The Venture Capital Cycle


先把結論寫在前面:
  • 目標
    1. 大公司會想做,那表示路線正確,更要偷笑!
    2. 若是小公司走到大公司未來的主要道路,那是必死(因為大公司一定要做到底);但若是有差異,則有成功機會
    3. 商業模式創新容易被抄;技術創新可以走的比較遠 
  • 執行
    1. 大公司反應慢,小公司反應快(小公司被追上就沒命了,所以還是得要拼命)
    2. 大公司來做一定不是主要部門,不被重視,執行的人可能也沒勁



以下自網路摘錄兩篇文章

百度(B)、阿里巴巴(A)、騰訊(T)做了和你類似的創業項目怎麼辦?

有些創業者會遇到這樣的問題,你這個項目不錯,但如果騰訊、百度、阿里巴巴這些公司也做這個了,你怎麼辦呢? 
以前許多創業者被問到這樣的問題,都不知怎麼回答,一方是互聯網巨頭,一方是初創公司,一隻大象和一隻螞蟻的競爭,勝負好像根本不用說,但真的是這樣嗎?我覺得還真不一定,如果創業者正在做的項目騰訊、百度、阿里巴巴他們也有事業部做,那對創業者來說也許是好事。 
為什麼這樣說呢,因為據觀察,如果初創公司和大公司的某一個部門在做同樣的項目,一般大公司的部門做不過初創公司,這是為什麼呢?大家都聽過獅子和羚羊的故事,有一隻獅子追一隻羚羊,結果沒追上,別人就嘲笑獅子,你連只羚羊都追不上,獅子說,這很正常啊,我追不上羚羊,就會損失一頓午餐,但羚羊被我追上了,命就沒了。同樣的項目,大公司做不成也無所謂,他們已經有穩定的商業模式和利潤來源,但初創公司就沒這種心態,他們必須破釜沉舟,拼盡全力,要不公司就倒閉了。 除了做事的心態不同外,大公司的官僚主義也會極大降低效率,而初創公司的效率就高多了。 
幾年前我有幸加入一家生鮮電商的初創團隊,三家很有背景和資源的出資方,其中一家出資方是北京的農產品巨頭,兩家公司是香港的投資公司,在香港證券行業很有影響力,也就是說公司在香港上市是水到渠成的事。公司還沒註冊,就有一千萬資金到位,還有各種優厚資源。比如出門辦事有專門司機開別克GL8接送,比如兩個人就佔據北京的一層辦公樓,比如去神州數碼談這個項目的ERP,神州數碼公司會在大門口的電子屏上打上歡迎詞。但最後呢,沒做起來,問題很多,三個投資方,決策效率很低,一個公司名字討論了幾個月也沒定下來。領導不放權,每天要用skype和在香港的老闆電話會議,談一些細枝末節的瑣事。用做大公司的思路經營初創公司,一開始就願意花上百萬找神州數碼做ERP,但在團隊建設上很慢,團隊成員主要是三方派出的相關人員,外部招聘遲緩。在種種問題的困擾下,雖然有許多資源,生鮮電商的方向也很好,但還是被拍在了沙灘上。假設一下,如果是一家小公司來做這件事呢,也許沒這麼多資源,但決策迅速,沒有這麼多官僚主義的束縛,雖然也不敢說肯定能成功,但肯定比這家公司跑得快一些,走得遠一些。 
經過這次事件,我就發現,真的許多大公司某個部門負責的業務,一般來說是競爭不過初創公司的。 
一是心態不同,有些大公司的人甚至恨不得這個業務早點關門,自己能調到更好的部門去。比如這家生鮮電商的團隊成員中,有一位是北京那家農產品巨頭派來的,他原來就是農產品巨頭公司旗下一家豆芽廠的老總,產品遍佈北京各大商超,總部派他來新公司創業,他當然不太樂意,他真是恨不得這個公司做不成,回去當老總,這點肯定沒法明說,但從做事上還是能看出來的。 
二是官僚主義,一件事小公司可以馬上拍板,大公司就要層層上報等審批。大公司的部門業務為什麼做不過初創公司,還有一個問題,來自公司內部即得利益方的阻力。比如柯達為什麼死掉,我們都知道柯達是膠片時代的霸主,因為數碼相機的興起衰落,但可能有些人不知道,數碼相機其實是柯達發明的技術。但當時他們膠片市場的利潤太好了,如果發展數碼相機,必然會損害他們膠片市場的利潤,自己革自己的命,當然不容易。膠片部門為柯達創造了大量利潤,當然也很有權力,自然會阻礙數碼部門的發展,結果其他公司的數碼相機發展起來,柯達就沒落了,這時再想發展數碼相機也晚了,一步差,步步差。所以其實初創公司不要怕大公司的部門做同樣的事,雖然他們資源多,但分到某個部門的資源也並不一定多,而且受到各種束縛。 
以前創業者害怕騰訊、百度、阿里巴巴做和自己類似的項目,現在我覺得這個觀點可以變一變,如果有大公司做類似的項目,對小公司來說是好事。 
一是大公司在立項前都會精細的調研和考察,他們認定的方向是比較靠譜的, 
二是他們存在心態、效率、官僚主義等多種大公司病,他們競爭過初創公司的概率並不明顯。
所以不用怕你正在做的創業項目,大公司也做了,這證明你的選擇方向得到大公司的肯定,沒準會因此得到更多投資方的認可,甚至被這家大公司看中,得到他們的投資。 
其實我還有一個更瘋狂的想法,就是借鑑大公司的部門業務去創業。比如你不知做什麼,想找個諮詢公司吧,又請不起,那就看看大公司有沒有做什麼新業務,他們開展新業務肯定是經過反覆論證和市場調查的,也可能會有專業諮詢公司提供的方案。許多大公司的新業務其實都很有前景,只不過因為心態或官僚主義等大公司病沒做起來,那創業者學他們就好了。創業者從模仿大公司的新業務入手,未嘗不是一種創業思路,不過這話讓騰訊、百度、阿里巴巴聽到,一定不以為然,或者心生幽怨,不帶這麼欺負大公司的,這也太不拿豆包當乾糧了。

關於「騰訊抄你你怎麼辦」的終極答案,看這裡

每個進入互聯網領域想要創業的人,都會被問到同樣的問題:「假如騰訊抄你,你怎麼辦?」 
一方面說明騰訊「抄襲大王」的稱號響徹業內外,另一方面也暗示了互聯網領域「大魚吃小魚」的競爭殘酷性。 
其實這個問題,虎嗅網三年前就已討論過(原標題為《騰訊抄你怎麼辦?》),時至今日,在知乎原問題下,有更多新答案的補充,我們或許可以從中探尋終極版答案。 

首先,還是來分析下騰訊戰略

@江南刀客:
我認為還是要從分析騰訊的戰略著手,假如你要做IM,跟qq一樣的套路,加班加到死也不可能超越騰訊。騰訊可能會模仿你,但如果你的業務模式並非騰訊的主要戰略方向,你還是有可能在夾縫中獲得成功。或者即便騰訊跟進了,如果在整個騰訊集團層面不是核心業務,那這個團隊可能也不會太強,你的先發優勢還是很有機會讓你在跟騰訊非主力部隊的對抗上佔據優勢。騰訊最核心的利益是IM,眼下最重點的是平台型的SNS,總是要圈住人。所以像米聊就撞在騰訊最敏感的區域,微信是騰訊不得不做成功的產品,馬化騰一定投入重兵和你死磕。騰訊投資開心網,與其說是投資,更像一種防禦。但比如電子商務,我覺得騰訊雖然也很重視,但還沒有想好要不要動用全力。至於團購,騰訊更是一開始就沒怎麼看好,所以更多選擇了找當地管道合作夥伴。 

其次,這些也許是你可以做的 

重技術並保持警惕
@馮明鵬:
這個問題就好比十年前VC問軟體企業,如果微軟也做的話你怎麼辦。Google給的答卷就是最好的回答。
1. 技術上的質變始終是最重的籌碼,埋頭做技術,保證代碼質量和程序穩定性,在初期將競爭對手遠遠甩在身後,創業階段的公司在模式上做創新本身就是一件容易被抄襲的事情,技術上的創新才能讓你走的更遠。
2. 時刻保持警惕,不犯之前死在微軟(騰訊)手上的企業犯過的錯誤(如網景被微軟的系統綁定整死,Google就選擇先微軟一步談下了Firefox的預裝協議)。
3. 找準大公司身後的盲點,大公司轉型慢本身就是一個通病,比如摩托羅拉不願放棄在模擬手機上的優勢,導致數字手機來臨的時候被對手鑽了空子,而諾基亞也不願放棄他封閉的塞班平台,導致智能機時代失掉行業老大的地位,而微軟就更不必說了,軟體收費模式是其收入的主要來源,所以Google Doc和其他的軟體就能通過這一點蠶食它的市場。
4. IT產業中某種類型產品的老大一般會佔據6-7成的份額,總有你生存的空間,如果做不到老大就乖乖把你那剩餘份額爭取到,細分市場,垂直領域都是方法。 
想點不一樣的,走差異化競爭路線
@Kenneth:
在一個強大敏捷執行能力強的對手面前,你做出再多特色,也是有可能被copy過去。所以單單特色是無法生存的。
那應該怎麼辦?其實答案很簡單,差異化競爭。只不過,很多人其實不明白什麼叫差異化競爭。還拿騰訊的微信做個例子,微信走的是熟人社交的思路,它所有的功能都是方便熟人之間交流、溝通的——這是它的產品基調。那如果我做一個產品,專門給陌生人社交做體驗優化,騰訊能抄嗎?不能!為什麼不能,因為基因不同,根本無法抄進微信裡面去。所以,陌陌和遇見就誕生了,並且生存的還不錯。騰訊如果想依靠微信幹掉陌陌,那它一定會把微信的熟人社交體驗搞得亂七八糟,得不償失。所以,微信是搞不定陌陌的。和競爭對手產品的本質特點不相容的特色,就是差異化。 
選擇一個垂直的領域
@曾軼:
不要做內容做產品,騰訊想介入的話,砸一筆錢買版權,分分鐘做死你。如果是做功能創新產品,那就沒有什麼關係,有比較大的幾率等騰訊跟進的時候,市場規模已經起來了,你自己不要作死就不會那麼容易死。
騰訊跟著你抄,還是你們都是在跟著國外抄,這個要分清楚。前者往往說明你方向對了,成果希望大了,後者大概是自我感覺良好,然並卵。小公司創業做垂直領域,騰訊這樣的企業也很難跟進,因為用戶規模太小,他們看不上。 
在產品變化中做決定
@李江明:
創業者應該合理判斷自己所處位置。我方有兵100萬,敵方有兵5000萬,當然騰訊在其它地方也要打仗不會拿5000萬兵跟你打。那此刻就要判斷它會出多少兵來跟你打,也就是重視這個項目的程度與投入資源多少。出兵多,則避之,打差異化在細分管道取勝。出兵少,迎頭死磕讓他繼續做老二。變化之中作出決定,時刻瞭解自己所處的境地。 
找風投或者賣賣賣
@Allen:
在美國,VC會在關鍵產品和模式上和創業者一起賭一把。即:投入資金,和現有的巨頭掀起一場戰爭。雖然現有的巨頭有可能就是這些VC幾年前投出來的,但是矽谷的殘酷和循環往復做事完全被VC們對收益率的追求所驅動。
對於他們來說,很簡單,Facebook、Google也許是會在自己的產品中加入你的功能,或者做一個類似的產品,但是對於VC來說,他們不能把錢投到這些巨頭上去。也很簡單,這些巨頭已經不需要VC的錢,只要用自己的資本就可以進入(或者做大)這個市場。而VC的錢放在自己的手裡也是很燙手的,畢竟要和LP們交待自己的回報率。
所以,這就是為什麼,Instagram這樣的應用出來的時候,矽谷的VC都蠢蠢欲動,給了它5億美金的估值,想和Facebook賭一把移動端圖片社交的未來。當然高智商的馬克給了雙倍估值果斷拿下了Instagram也斷了這些capitalist的念想。
這些故事告訴我們的道理是,如果VC們都怕騰訊/facebook進入什麼市場,還要VC幹什麼?這其實也是今天中國市場被BAT壟斷的一個驅動因素。一個科技市場如果沒有血性和賭性的VC存在,市場最後會走向寡頭壟斷。帶來的結果是VC的回報率越來越低。 
@王政:
一旦騰訊跟入了,趕快找風投啊!騰訊都跟入了這不就給應用打上了「值錢」的標籤了嘛!這個時候不忽悠風投投個幾百萬你甘心麼?大風起兮,才能雲飛揚啊。
當BAT三家裡面,出現第二家要做你這個產品類似的產品的時候,就可以待價而沽了——B還是A,賣個好價錢——當然,如果你覺得能繼續和騰訊鬥下去,歡迎繼續。 
@金洪運:
這是天使輪融資經典問題,最好的回答是,上門勸BAT收購了你。 
最後,說了這麼多,但是仔細想想,你的成功率真與騰訊有關?
@王翌:
如果你做的是IM,那麼恭喜你,成功率大概0.0001%,就算成功了,也是被騰訊收購,在很早的時候。如果不是IM類,那麼恭喜你,你的成功率與騰訊沒什麼關係,忘記騰訊可能是個正確的選擇。

2016年2月21日 星期日

音樂練習秘訣

188 - Sweet Music - Explored - Thank you very much :)

(文章摘自網路)
任職於茱莉亞音樂學院的Kageyama博士,回到家裡在督促自己的孩子練習樂器時,原本也是抱持「多次重複練習就會做得更好」、「一次又一次的累積才能培養紀律」等耳熟能詳的觀念,但身為專家,他更知道這些觀念只說對一半:事實上,要在練習中得到最佳成果,應該是要練得更聰明,而非練得更辛苦。

但怎麼樣才叫「練得聰明」呢?
從表現較好的人身上,歸納出幾個練習特色:
1. 在練習中,他們很快就可以做完單手練習,開始兩手並練。
2. 很快就有音調變化,這顯示他們對演奏的音樂有了最初的概念。
3. 練習時有思考,這可以從他們暫停下來看著樂譜、哼唱、做記號、發出「啊哈!」的理解聲中觀察得到。
4. 一出錯就會馬上停下勘誤。
5. 錯誤發生時,會馬上強調它。
6. 每個錯誤的位置與來由都被清楚標明、重新演練與糾正。
7. 重複樂段直到改正錯誤、能夠穩定的演奏它為止,所以他們不會在接下來的練習及最後受試中再彈錯。
更明顯的說,「如何處理錯誤」就是其中的關鍵。最好的鋼琴家不是不犯錯,而是他們用有效的方式來處理錯誤,以免一再犯錯。

至於具體來說,他們如何克服錯誤?
  • 有些人是分左右手練習、有些是將音樂分段來彈,但不論怎麼做,這些方法都有一個共同的特色:放慢速度
  • 最好的演奏者在犯錯時,會帶著猶豫、慢速但不間斷地重複,直到停在上次彈錯的地方之前,這似乎有助於他們更準確地再次挑戰出問題的部份、用能夠掌握的速度把修正後的演奏拼湊起來,而非一直重複錯誤卻找不出問題所在。

2016年2月20日 星期六

Design Thinking 有感

Design Thinking

 前陣子看到一篇網路文章:
上面這篇文章基本上就是在寫Design Thinking(設計思考)的實作流程。


其實經過一段時間的體會、幾個Project的應用後,我對其中幾句更有共鳴:
  • 如果你創業失敗,那都是因為你並沒有解決『最基層』的問題,找不到足夠的用戶。 
  • 「驗證你產品的需求」比任何事情都還重要!比產品的特色、你的團隊、設計、售價等等等等等都還要重要。因為沒有市場的驗證,你製造出來的不過就是沒人願意掏腰包的垃圾。 
  • 要找出問題很簡單,但你要知道你真正需要、找尋的是「第一級:基礎、必要解決」的問題;換句話說,你要找的問題是你的目標客戶排名前 3 願意立馬解決的問題。………如果你的產品無法解決前 3 大問題,就算你的產品再好、你有多強,大家也不會率先挪用資源來跟你買產品。大家根本沒有時間、預算給你,因為你解決的不是他們最迫切的問題。………這可能是創業家最常忽略的一項事實,大多數人的心態都是「但我的產品是最棒的,一旦他們用了他們就一定會付錢!」 
  • 接著你應該列出 20 ~ 50 個符合標準的目標客戶;並前往訪問:
    1. 這個問題對他們來說真的是「痛點」嗎?(有重要到排進前 3 名嗎?)➜ Must Have !
    2. 他們會願意付費來解決這個問題嗎?
    3. 千萬!千萬!不要推出「有也不錯(Nice to Have)」的產品,因為人們會用你的產品,卻絕不會花錢買它。 
  • 產品中 80% 跟別人差不多是可容許的,但剩下的 20% 必須要比競爭對手更好,不是不一樣,而是「卓越」。你要創造出一個客戶一眼就可以看出的特色,讓別人知道你強在哪裡。

最後提醒一點:
        千萬一定要搞清楚你的目標客戶是誰!你要解決的絕對是「直接付你錢的人」的問題!除非你是品牌商、通路商、系統廠,不然通常終端使用者一般不會是你的目標客戶,切記!


2016年1月12日 星期二

(在Kernel中) 為什麼不應該使用"volatile"類型

Linux kernel map



(Kernel) 為什麼不應該使用"volatile"類型     by Jonathan Corbet

原文出自Linux kernel source code"\Documentation\ volatile-considered-harmful.txt"

------------------------------

C程式師通常認為volatile表示某個變數可以在當前執行的執行緒之外被改變;因此,在Kernel中用到共用資料結構時,常常會有C程式師喜歡使用volatile這類變數。換句話說,他們經常會把volatile類型看成某種簡易的atomic變數,當然它們不是。在Kernel中使用volatile幾乎總是錯誤的;本文檔將解釋為什麼這樣。

理解volatile的關鍵是知道它的目的是用來消除優化,實際上很少有人真正需要這樣的應用。在Kernel中,程式師必須防止意外的concurrent access訪問破壞共用的資料結構,這其實是一個完全不同的任務。用來防止意外concurrency的保護措施,可以更加高效的避免大多數優化相關的問題。

volatile一樣,Kernel提供了很多原語來保證concurrent access時的資料安全(自旋鎖, 互斥量, memory barriers等等),同樣可以防止意外的優化。如果可以正確使用這些Kernel原語,那麼就沒有必要再使用volatile。如果仍然必須使用volatile,那麼幾乎可以肯定在代碼的某處有一個bug。在正確設計的Kernel代碼中,volatile能帶來的僅僅是使事情變慢。

思考一下這段典型的Kernel代碼:

    spin_lock(&the_lock);
    do_something_on(&shared_data);
    do_something_else_with(&shared_data);
    spin_unlock(&the_lock);

如果所有的代碼都遵循加鎖規則,當持有the_lock的時候,不可能意外的改變shared_data的值。任何可能訪問該資料的其他代碼都會在這個鎖上等待。自旋鎖原語跟記憶體屏障一樣—— 它們顯式的用來書寫成這樣 —— 意味著資料訪問不會跨越它們而被優化。所以本來編譯器認為它知道在shared_data裡面將有什麼,但是因為spin_lock()調用跟記憶體屏障一樣,會強制編譯器忘記它所知道的一切。那麼在訪問這些資料時不會有優化的問題。

如果shared_data被聲名為volatile,鎖操作將仍然是必須的。就算我們知道沒有其他人正在使用它,編譯器也將被阻止優化對臨界區內shared_data的訪問。在鎖有效的同時,shared_data不是volatile的。在處理共用資料的時候,適當的鎖操作可以不再需要volatile —— 並且是有潛在危害的。

volatile的存儲類型最初是為那些記憶體映射的I/Oregister而定義。在Kernel裡,register訪問也應該被鎖保護,但是人們也不希望編譯器“優化”臨界區內的register訪問。KernelI/O的記憶體訪問是通過訪問函數完成的;不贊成通過指標對I/O記憶體的直接訪問,並且不是在所有體系架構上都能工作。那些訪問函數正是為了防止意外優化而寫的,因此,再說一次,volatile類型不是必需的。

另一種引起使用者可能使用volatile的情況是當處理器正忙著等待一個變數的值。正確執行一個busy wait的方法是:

    while (my_variable != what_i_want)
        cpu_relax();

cpu_relax()調用會降低CPU的能量消耗或者讓位於超執行緒雙處理器;它也作為記憶體屏障一樣出現,所以,再一次,volatile不是必需的。當然,busy wait一開始就是一種反常規的做法。

Kernel中,一些稀少的情況下volatile仍然是有意義的
  1. 在一些體系架構的系統上,允許直接的I/0記憶體訪問,那麼前面提到的訪問函數可以使用volatile。基本上,每一個訪問函式呼叫它自己都是一個小的臨界區域並且保證了按照程式師期望的那樣發生訪問操作。

  2. 某些會改變記憶體的內聯彙編代碼雖然沒有什麼其他明顯的附作用,但是有被GCC刪除的可能性。在彙編聲明中加上volatile關鍵字可以防止這種刪除操作。

  3. Jiffies變數是一種特殊情況,雖然每次引用它的時候都可以有不同的值,但讀jiffies變數時不需要任何特殊的加鎖保護。所以jiffies變數可以使用volatile,但是不贊成其他跟jiffies相同類型變數使用volatileJiffies被認為是一種"愚蠢的遺留物"by Linus)因為解決這個問題比保持現狀要麻煩的多。

  4. 由於某些I/0設備可能會修改連續一致的記憶體,所以有時,指向連續一致記憶體的資料結構的指標需要正確的使用volatile。網路介面卡使用的環狀緩存區正是這類情形的一個例子,其中適配器用改變指針來表示哪些描述符已經處理過了。

對於大多代碼,上述幾種可以使用volatile的情況都不適用。所以,使用volatile是一種bug並且需要對這樣的代碼額外仔細檢查。那些試圖使用volatile的開發人員需要退一步想想他們真正想實現的是什麼。

非常歡迎刪除volatile變數的補丁 - 只要證明這些補丁完整的考慮了concurrency問題。