Thursday, December 7, 2017

Bitcoin(10) - 掘礦



一人般其實對bitcoin嘅認識唔會好深,好多時都係睇下新聞,睇下人地講bitcoin而懂得一點點皮毛。


唔緊要嘅,識少少總好過唔識。但有個好得意嘅現像,呢班人唔知點解會留意掘礦多過真係做買賣,可能掘礦係一個比較新嘅槪念掛,股票可以買賣,但冇得掘,所以呢班人咪成日想試下掘礦囉。


都唔緊要嘅,同樣都係一種投資啫,總好過淨係做觀眾。


不過我想講下揀礦場,淨係講mining pool先。即係唔洗自己買機裝軟件,淨係比錢買張contract就掘到嗰種。


其實我睇/聽左好多人講,話要揀大礦場。其實係咩邏輯呢?


首先,大礦場唔一定唔係呃人。你見到個hashrate高,唔等於你張contract係真係用左黎掘礦的。人地要呃你,隨時都可以收檔唔玩,你就血本無歸。間礦場大同細,個風險都一樣的。


既然玩得掘礦,就預左要承受以上風險。咁係咪大礦場就回報高?我又係唔明呢個係咩邏輯。


先試簡化成個問題,假設呢個世界只有兩個礦場,A礦場每秒試掘2次,B礦場每秒試掘1次。咁邊一個係大礦場,邊一個係細礦場?答案係,A係大礦場。好易係咪?


咁如果你而家有一舊錢,足以買起A礦場或B礦場嘅每秒掘1次嘅能力。咁你會買A礦場定B礦場?


答案冇分對錯,有人買A,有人買B。


現時巿場上好多人都話一定要揀A。佢地嘅邏輯係"A場每秒試掘次數多啲,所以回報高啲"。如果以A礦場老細嘅角度睇係冇錯嘅,A礦場每秒試掘2次,B礦場每秒試掘1次,即係長期黎講,A礦場會得到2/3嘅bitcoin,B礦場會得到1/3嘅bitcoin。


但你唔係A礦場老細,你只係投資者。


假設你買左A礦場每秒1次試掘嘅能力,咁你就會分到A礦場一半嘅成果,即係2/3 X 1/2 = 1/3嘅bitcoin。


咁如果你買左B礦場每秒1次試掘嘅能力呢?會有咩分別?你會分到B礦場全部嘅成果,即係1/3嘅bitcoin。


咦,點解投資喺邊度,個結果都係1/3?冇錯呀,因為理論上你買嗰啲hashrate放喺邊度都一樣架咋。就算你自己喺屋企開機掘礦都一樣架咋。


不過。。。講多少少。


自己開機掘的話,每次掘到就全部屬於你,掘唔到就白掘。而礦場(理論上)會以%計返收益比你。所以投資落礦場會得到較穩定收益,而自己掘礦就好似買六合彩咁,中左就一注獨得。但長期嚟講其實都係一樣的。


講完。

Wednesday, November 8, 2017

下一份IT工是天堂,還是地獄?

其實好多人對IT有好大誤解。佢哋成日以為做IT好似打機咁好玩,然後就話好想做IT;又見到Google、Facebook嘅office咁靚,仲周圍都係娛樂設施同零食,以為只要入行做IT就爽過升仙。事實又係點?

外國的IT工

講真,好多好成功嘅IT公司都明白員工係佢哋最重要嘅資產,因為做IT靠嘅並唔係金融投資或買賣貨品,而係靠員工們嘅腦袋。所以好似Google、Facebook呢啲公司,最高管理層本身就係做IT,所以必然會好好善待班員工。

好到點?免費零食、無限手調咖啡、無限假期、office入面已經有無數娛樂。而且通常個office都會裝修到好colorful,去刺激員工創意。如果係美國等地,工作地點有室外地方的話,間公司亦會將呢啲室外空間佈置得好舒服,眼見之處全部都係草地,寬闊嘅行人路,仲有好多鮮豔嘅擺設。

喺Policy上,好多時公司都會俾員工反映意見,例如邊度做得唔好,可以點樣做得好啲,而且唔係齋講,係真係會有人跟進。總之,員工嘅舒適感絕對係排首位。就算只係佢哋喺香港嘅辦公室,你都會感覺到佢哋對員工有幾重視。

入到呢啲公司,睇嚟好似上天堂一樣,間直係夢寐以求嘅工作。咁你又知唔知如果唔係Google、Facebook呢類公司,工作環境又會係點?

香港的IT工

零食,冇。咖啡,自己沖。假期,跟勞工法例,即係一年有7日大假,就算perm位,比到15日你已經要謝主隆恩。Office裝修目標係放到多啲枱,所以人人都要坐「豬肉枱」,department head都一樣。想坐房?入meeting room開會嗰陣咪有房坐囉。娛樂設施?諗都唔好諗,你係嚟返工架。

仲有,你唔知你份糧係包咗「受氣」呢個item㗎咩?唔好以為你想點就點。你想反映意見咩?我諗到你遞信嗰日先有人願意聽,不過聽完都係馬照跑,舞照跳。日日OT不特止,返到屋企諗住可以休息?記住check WhatsApp,老細隨時都會搵你;有啲老細癲起上嚟仲會公器私用,叫你上佢屋企整電腦、裝router。

唔係天堂都算,好多IT人都只想留喺人間界,但好多時都跌左落地獄。而且,轉工係改變唔到命運,好多時都係由一個地獄跳去另一個地獄,不停輪迴。你問我點解做咗咁多年,仲要喺呢個行業打滾?其實好多時都係為咗每次完成一個project嘅滿足感,呢種滿足感亦都係大部份IT人一直堅持喺地獄打滾落去嘅原動力。

此文章在jobsDB刊登

Monday, October 23, 2017

Bitcoin (9) - 講多次,乜嘢係Bitcoin硬分叉(hard fork)?

最近一講bitcoin就必然提到「分叉」「分裂」。

講真,唔係做IT,都幾難明乜野係hard fork。
每一種科技/技術都會不停進步,blockchain都一樣,而每當一種加密貨幣背後嘅blockchain需要更新時就會發生soft fork或hard fork。唔係淨係bitcoin,其實ethereum都發生過,所以有ethereum classic出現。
soft fork即係個更新唔會影響一直以來嘅運作,用家乜都唔洗做,只要miner自行install返新version就可以繼續運行,而且就算有啲miner用緊舊vesion,有啲miner用緊新version,都照樣唔會出問題的。
而hard fork就好唔同,因為只要一upgrade version,就要同舊version講bye bye,即係話,如果有啲miner行緊新version,有啲miner行緊舊version,咁就會變左兩個完全獨立嘅blockchain network。亦即係話,會有兩隻cryptocurrency同時運作。所以外間睇落就好似分叉左新貨幣出嚟咁。
事實上,bitcoin hard fork並非只係多左一隻貨幣咁簡單。
前文提到,hard fork係有blockchain network嘅version upgrade。即係話bitcoin hard fork係有新野的。
如果一直有留意bitcoin的話,其實1/8已經hard fork過一次,當時就產生bitcoin cash出嚟。點解?就係因為好似之前咁講有啲miner行緊新version,有啲miner行緊舊version囉。咁邊個新邊個舊呢?

個問題唔係咁簡單。

bitcoin upgrade其實一直都諗住做,業界--包括miner、exchange、bitcoin fundation、bitcoin core成員等等--一直都有討論。原因係當時bitcoin設定係每10分鐘先會miner到一次,而每一次只能夠處理1MB data。大家都知道1MB其實好細,而如果長遠黎睇,其實跟本唔會夠用,講白啲,其實一直都唔夠。所以miner就會傾向處理大額transaction,因為data數量差唔多,但transaction fee就多好多(無錯,send bitcoin係要比transaction fee的)。如果bitcoin transaction太細,例如我send 0.001BTC比你,好多miner會選擇唔處理呢一個transaction,而結果就要等好耐好耐好耐先會有miner去處理(bitcoin有機制要miner優先處理等左好耐嘅transaction的,所以最後都會成功send到)。我試過send 0.001BTC,等左超過一星期先完成。

就係因為呢個原因,如果大家都希望越來越多人用bitcoin買賣,咁scalability就成為現今最大問題。所以upgrade係無可避免。

經過業界漫長嘅討論,最後得出嘅共識係:由1MB加到2MB,另外再喺bitcoin嘅blockchain network protocol上做優化,名叫segregated witness 2X,簡稱SegWit2X(個名咁叫係有原因的)。而呢個共識,業界稱之為New York Agreement。

而上面提到1/8嘅hard fork,bitcoin就係將個blockchain network跟據以上決定upgrade左。

咁bitcoin cash又係乜呢?

其實就係有班miner唔鐘意New York Agreement嘅決定而自行抄左bitcoin個blockchain network出嚟另起爐灶。呢個network嘅設定同bitcoin一樣,都係每10分鐘掘到一次,但每次可以處理嘅data就提升到8MB。而segregated witness就冇加到落bitcoin cash到的。

最重要係,其實呢班miner嘅數量同掘礦能力得好少,係bitcoin的10%以下。所以bitcoin cash第一次運行時,原本只要10分鐘就應該要掘到全新嘅bitcoin cash,但結果用左5個鐘。

咁有乜問題呢?

問題就係加密貨幣本身就係靠成班miner嘅龐大計算能力去防止有人盜用、改寫、破壞成個network嘅運作。而bitcoin cash咁細嘅hash rate就令人擔心其安全性。所以bitcoin cash一直都追唔返bitcoin嘅價錢就係咁解。

Wednesday, October 11, 2017

Bitcoin (8) - 乜嘢係Bitcoin硬分叉(hard fork)?

最近好多好多人問乜嘢係hard fork,點解啲拎住bitcoin又可以乜都唔做就無端端賺咗幾百蚊美金。

其實bitcoin本身係一隻加密貨幣,背後有一個叫blockchain嘅network去支持成隻貨幣,無論你用bitcoin嚟買嘢定係send bitcoin比人,定係你掘bitcoin,都關個network事,而且所以交易動作都一定會記錄喺呢個network上面。

簡單啲講,blockchain係一種技術,佢係類似一個巨大database,記錄晒一隻加密貨幣嘅所有動作,包括發行同使用。而所有技術都一定有大大小小嘅問題,而bitcoin一直都比人話完成一個transaction太慢,而長遠嚟講會影響普及程度。所以bitcoin背後嘅blockchain network就需要upgrade,去解決呢個問題。

如果大家有留意,應該仲記得上次hard fork係2017年8月1日,分裂出新貨幣bitcoin cash。點解會有新貨幣呢?其實係因為有兩班礦工,一班支持upgrade,另一班唔支持。結果唔支持嗰班就另起爐灶,將成個bitcoin blockchain抄左出嚟,然後叫佢做bitcoin cash。從此呢班礦工就只挖bitcoin cash。亦因為係成個bitcoin blockchain抄出嚟,既係好似成個database make咗個copy咁,如果你原本有1個bitcoin,咁佢copy咗出嚟,你就會有1個bitcoin cash。就係咁簡單。

其實呢次hard fork係上半場,而下半場就會喺2017年11月。其實個blockchain就upgrade左架喇,8月嘅時候就已經activate左upgrade 嘅一部份,而今次就會喺11月activate另一部份。而今次亦有一隻新貨幣出現,叫咩名就仲未有共識,不過有啲exchange就要一早預備好,所以就比左個symbol佢做B2X。呢隻新貨幣預計喺11月28日就會開始運作,所以如無意外,喺呢一日拎住bitcoin嘅人都會拎住相同數量嘅B2X。

請注意,市場有一假消息,話今次hard fork係會分裂出bitcoin gold。呢樣係絕對錯誤。已經有唔少人發現某啲bitcoin gold網站係呃人的。請參考新聞:https://news.bitcoin.com/the-bitcoin-gold-project-responds-to-negative-criticism/

Tuesday, October 10, 2017

Bitcoin (7) - 乜嘢係hardware wallet? + Ledger Blue unboxing

唔理有冇炒bitcoin或者挖bitcoin, 其實如果有留意bitcoin的話,心裡面應該成日有個問題:既然講到bitcoin咁安全,咁如果我啲bitcoin放喺exchange度,會唔會比人hack左,偷晒去?

其實你驚係正常架,因為唔少bitcoin exchange的確係有比人hack過,比人偷左private key,然後攞晒入面嘅bitcoin。講真,啲bitcoin放喺exchange,純粹係方便買賣,唔應該視為一種安全嘅儲存方法。

咁點樣儲存bitcoin先安全呢?

其實好簡單,既然你怕比人hack,咪唔好方上網囉。其實只要喺自己電腦開個bitcoin wallet,transfer晒啲bitcoin落去,然後唔好比呢部電腦connect到網絡,包括有線或無線,咁其實已經可以唔怕有人偷偷地駁入去你部電腦。如果要防埋屋企人,咁你最好將部電腦加返密碼,甚致成部電腦鎖入夾萬,咁就萬無一失。

咁麻煩,有冇其他方法?

其實巿面上已經有唔少hardware wallet出售,包括:


Trezor (https://trezor.io/)


Ledger Wallet (https://www.ledgerwallet.com/)



KeepKey (https://www.keepkey.com/)


小弟喺幾個月前就買左Ledger出嘅hardware wallet - Ledger Blue。最近終於收到:

包裝睇落真係好似一部手機

可以用micro USD或bluetooth


打開個盒,有D似iPad



盒內有Ledger Blue, 一條micro USB線, 三張紙, 一個袋仔

一張紙係叫你上網睇instructions(中),一張係說明有防止機內零件被人動手腳功能(左),一張係比你mark低recovery phases(右)


同一般手機/平板電機一樣,機邊有粒制,按住三秒左右就可以開機,然後一路跟住instructions做就得。

set password同confirm password

mark低recovery phases, 可以寫落附送嘅紙仔度

問返你其中幾個phases

大功告成,只後只要用password就可以入返呢個dashboard

LedgerWallet官網上有更多圖片
(https://www.ledgerwallet.com/products/ledger-blue)





唔好以為好大個,其實好細,絕對放到入褲袋。

其實巿面上以Ledger Blue為最新最方便,佢個touch screen真係比實體按鈕好好多,所以我一開始就揀佢。不過,我5月落order,到10月先送到嚟,呢樣先係最大缺點。


Sunday, October 8, 2017

IT人搵工攻略(3):外行人能否入行?

近年IT界好多新嘢出現,例如人工智能、加密貨幣、區塊鏈、無人車、VR(virtual reality)同AR(artificial reality),仲有前一兩年講咗好多嘅Big Data,同埋啲好似關事又唔係好關事嘅嘢,例如電競。

好多外行人唔知呢啲嘢係點運作,亦唔知佢地點出現,但就覺得好有興趣。亦因為咁,呢兩年多咗好多人考慮入行做IT。咁到底點先可以由外行人變內行人呢?入行好易定好難?要讀啲乜、考啲乜先可以入行?


考張cert就可以入行?

好多人會覺得,考張cert就可以入行做IT。唔夠咩?考夠兩張、三張,報個online course,仲唔係IT人?

其實呢個觀念真係大錯特錯。如果你話入行做accounting,讀個course可能已經知乜嘢係income statement,乜嘢係balance sheet。然後,只要你好彩,搵到間公司唔太介意你有冇accounting嘅bachelor degree,咁你就可以入到行。

如果你淨係想喺腦場賣電腦,可能連cert都唔使讀添,吹到水就做到。但真正IT唔是咁玩的。


咁IT人其實要識啲乜?
IT界最重視嘅係──你一入職可唔可以落手做嘢。要落手做乜?視乎職位啦。

如果你想做support嘅話,就要manage一大堆server、一大堆VM、一大堆後備乜線物線、滑鼠、Mon、laptop等等;有新同事加入,就要識得setup新電腦,開一大堆乜account物account,仲要install防毒、辦公室軟件。如果間公司高科技少少,仲要搞埋公司閉路電視系統、電話系統、門口出入嘟卡系統等大把系統要manage。如果間公司啲同事唔知IT係乜,有時仲要幫同事整咖啡機、換電燈膽等等,總之有個「電」字或「機」字就關事。咁你話讀張cert會唔會識晒?

做programmer的話,你唔好諗住好好玩。好多人以為自己鐘意打機,咁寫game就一定好啱自己。錯晒囉。如果你好鐘意玩貪食蛇,你估你寫完隻貪食蛇,試玩左幾百、幾千次之後,你仲鐘唔鐘意玩?做得programmer,預咗一開始你就要識寫program。唔係睇完書就會識,而係要親手做過無數次先會識。

所以就算係讀大學課程,都會不停叫你寫program。我仲記得當年讀書嗰陣,日日寫code寫到天昏地暗,人哋長假期可以返屋企抖,我哋就要喺宿舍死砌爛砌,點都要砌好個program為止。到出嚟做嘢,寫high level program的話,你就必須知道咩係object oriented;如果做Web / UI,咁MVC design pattern就冇可能唔識;如果做low level programming的話,你連CPU、RAM、HDD同埋OS點運作都要識,並非識得咩係if then else就得。咁你話讀張cert真係有用咩?

真正要做一個IT人,係需要長年累月喺IT嘅世界入面「浸」出嚟。先唔好講升職,如果冇IT相關學歷,淨係得啲乜cert物cert,要入職都好困難。九成九唔會過到interview,除非間公司淨係要有手有腳嘅人囉。



此文章在jobsDB刊登

Tuesday, September 5, 2017

IT人搵工攻略(2):Phone Interview



無論做邊行,大家搵工,都需要做interview。但係上門做interview就要請假,一來麻煩,二來又冇咗半日大假;雖然而家好多人都會詐病,請sick leave去interview,但係如果見咗幾份工都冇結果,你老細又見你成日請病假,好可能下次appraisal就會問候吓你點解身體咁差。

好彩近年好多公司,都已經改為先做一次phone interview,篩選過之後再約人上嚟親身interview。咁做當然可以慳返大家好多時間,但作為一個IT人,你又知唔知點先可以做好一個phone interview?

其實大家都可以想像得到,phone interview能夠出嘅問題真係唔多。試問點樣可以淨係用口就講到一個algorithm點運作?問你left join、inner join同right join有咩分別,點用口講?唔係唔得,只係極度困難。如果你工作唔係lecturer,教開database,點會咁易用口講到呢啲覆雜嘅concept?

想做好phone interview,首先就要知phone interview會問啲乜。我將phone interview大致分為兩種,一種係formal interview,另一種係casual interview。

Formal interview

其實大部份phone interview都會係formal interview。電話一打嚟,首先佢會介紹自己,係乜乜公司打嚟,佢叫咩名,打嚟係想同你做個phone interview。

如果打嚟嘅人係HR,多數都唔會問你好深入嘅topic,而係考語文為主。好多時會叫你用英文介紹自己,然後一直用英文問你一啲好typical嘅問題,例如「點解轉工」、「點解咁jumpy」、「邊方面係你強項、弱項」等。如果係有大陸生意或根本就係中資公司,好多時會叫你用埋普通話講啲嘢,例如你工作以外最大嘅興趣係乜。內容係乜唔重要,最重要係聽到你識唔識講普通話。

不過,如果事前約好個phone interview時已經講明係考technical topic,咁內容通常就會圍繞你嘅經驗,可深可淺。淺的話,大概問你「有冇用過某某technology」;你答有,佢就會打蛇隨棍上,問你點用,同埋「遇到乜乜情況你會點做」等。成個過程佢唔會點比feedback,所以你唔會知自己答得好唔好,但佢就會逐個逐個topic同你go through。

深的話,就係要你用口講一啲好複雜嘅concept,例如上文提及嘅left join、inner join、right join等問題,亦有時會問design pattern、algorithm、multi-threading等問題。通常只有ibank呢類超高要求嘅公司,先會問到啲咁深嘅問題。

Casual interview

至於casual interview,多數係細公司先有,因為佢地會比較隨意,打嚟主要只有一個目的,就係睇你係咪真係對個職位有興趣,定係只係仙女散花,間間公司都走去apply。

其實對於細公司嚟講,佢哋收嘅CV唔多,只要能力同經驗合適,一般都會接受;但最重要係事先講明自己係細公司,業務情況如何、前景如何,如果你仍然有興趣,佢先會真正約你上去interview。另外,如果CV上有寫得唔清楚嘅地方,佢哋都會經電話問清楚先。所以,基本上呢個電話只係一個簡單篩選嘅過程,再深入啲嘅問題就會留返等你上去interview先慢慢問。

有時候大公司都會有呢類casual interview,不過多數會交俾agent做呢一部份;到你親身上去大公司interview,先至明刀明槍咁考你。

事前準備

多數phone interview都係預先約好,但並非必然,所以喺你apply份工之後就要做好心理準備,預咗間公司隨時會有人打嚟。當你有定心理準備,答問題就會淡定好多。

無論係咪預先約好,你都要睇吓個job ad上面有冇邊啲topic係你比較少用到,然後至少做下research。短時間之內,其實好難完全掌握一種新技術,不過亦都唔需要咁做;到時當佢問到呢個topic,你可以坦白話自己唔熟,但知道係乜嘢,然後將你知嘅嘢講返出嚟。

仲有就係,如果真係等咗兩星期都未有人打嚟,咁好大機會佢地係唔會打嚟。呢個時候,就要收拾心情,尋找下一個適合自己嘅job ad。




此文章在jobsDB刊登