2013年好快就完,作為一個IT人,每年都會用/試好多唔同嘅app。有時係為左新鮮感,有時係單單因為個icon靚而install黎睇下咩黎,而更多時係見好多人,所以自己又會試下用。
如果你問我,2013年用得最多嘅app係咩app,我應該會揀AppShopper。
因為我每日都會開一開,睇下有D咩app係最popular,同埋會睇下app排名,有D app排名好高,而我又冇用過,就會download黎睇下咩黎。就係咁,我每日都會開一開AppShopper,然後download新app,玩一陣,再delete返個app。我大部份用緊嘅iPhone app都係因為AppShopper而install。
呢個app除左可以睇到用家rating之外,仲可以mark你own左咩app,又可以將個app加入wish list,到個app變為free或減價時就會有通知,好就係用呢個功能用低價買左好幾個想要嘅app。另外,呢個app亦都可以睇到每個app嘅activity,即係幾時放上appstore,幾時加價減價。
可惜,早幾個月Apple將AppShopper下架,而家己經冇得再download,不過因為我一直都install左,所以可以繼續用。雖然AppShopper冇左,但開發商之後發佈一個叫AppShopper Social嘅app黎代替舊app,功能差唔多,但多左social network元素,但我本人就始終鐘意舊版AppShopper多D。
By the way,其實呢個app同AppShopper.com係互通,只要開個account,你mark左嘅wish list同my app,就可以兩邊都睇得返。
Wednesday, December 18, 2013
Tuesday, December 17, 2013
司法機關已被攻破
尋日啱啱講完丐幫搵香港營切磋武藝,即日o係網上面己經發生另一丐幫同香港營之間o既衝突。
綜援無「限」 援助底綫何在?http://www.hket.com/eti/article/a0cad18d-0287-4c65-b07d-b6a2d1bc27e9-670982?ref=ak8fs
唔洗睇內文,淨係睇標題己經知道咩事。
香港人經過好幾代嘅努力建立出黎嘅法律,制度,福利,文化,呢幾年己經一一被丐幫擊破。
"內地移港的孔允明曾因新移民身份申領綜援被拒,入稟挑戰制度,至昨日終審法院裁定,居港7年限制是違憲。"
講真,我唔太相信一個內地人會咁熟悉香港法律,除非佢係法律界人士。我比較相信陰謀論,呢件事我覺得背後其實有丐幫高人指點。
"終審法院5名法官昨一致裁定,社署規定成年新移民居港7年始可領取綜援是「違反憲法」,并將規定的居港期限回復至回歸前所訂的1年期限。"
領綜援需居港7年終院裁違憲 頒令新移民住滿1年即可領
http://www.hkcd.com.hk/content/2013-12/18/content_3284044.htm綜援無「限」 援助底綫何在?http://www.hket.com/eti/article/a0cad18d-0287-4c65-b07d-b6a2d1bc27e9-670982?ref=ak8fs
唔洗睇內文,淨係睇標題己經知道咩事。
香港人經過好幾代嘅努力建立出黎嘅法律,制度,福利,文化,呢幾年己經一一被丐幫擊破。
"內地移港的孔允明曾因新移民身份申領綜援被拒,入稟挑戰制度,至昨日終審法院裁定,居港7年限制是違憲。"
講真,我唔太相信一個內地人會咁熟悉香港法律,除非佢係法律界人士。我比較相信陰謀論,呢件事我覺得背後其實有丐幫高人指點。
"終審法院5名法官昨一致裁定,社署規定成年新移民居港7年始可領取綜援是「違反憲法」,并將規定的居港期限回復至回歸前所訂的1年期限。"
Monday, December 16, 2013
丐幫 vs 香港營
中港矛盾己經唔係新聞,回歸以來,香港人一直害怕香港被大陸化。點解?只要返一返深圳就明。你會見到好多高樓大厦,但外牆永遠都係舖滿灰塵,地上永遠都有無盡o既垃圾,任何一個厠所都係奇臭無比。。。
環境差唔緊要,好多歐洲國家都係咁上下,但人文質素又如何呢?大陸人鐘意打尖,排隊時一定要心口貼背脊,如果唔係就會有機會比人打尖。佢地亦都好鐘意隨地吐痰,隨地蹲低,甚至隨地睡覺。呢一種境象,我諗以丐幫黎比喻就最貼切不過。呢D其實只係表面上可以比人見得到o既問題,見唔到o既真係多的是。例如申請乜証物証,要比錢先幫你做,又或者,你開鋪頭,如果唔比錢就會犯官非。如果搞大公司大企業,供數貪官日日煩你,過年過節又必須送錢送禮,如果唔係,間公司真係註定要關門大吉。
近呢一兩年,呢D質素o既人不停輸入香港,香港人己經唔係淨係驚,而係要日日對住呢班丐幫幫主(冇錯,佢地個個都當自己係幫主),經濟上要靠佢地,所以要笑住對佢地,但心裡面或暗地裡其實不停咒罵。
最諷刺係,香港營營主不單冇為香港爭取應有權利,反而投靠丐幫,為丐幫向香港營攞著數,仲引渡一大班丐幫幫眾黎香港。破壞香港環境秩序,甚至公然向香港營嘍囉"切蹉武藝"。
香港己經o係水深火熱之中,如果再係咁落去,香港人真係好難再留o係香港營。
Friday, December 13, 2013
唔識唔好扮識
我諗每一個IT人都見過有人o係自己面前班門弄斧,就好似最近有人話bitcoin發行量可以無限。講真,我睇一睇此專欄作家係邊位,然後記住呢個人吹水唔抺咀,以後佢寫D野9成不可信。
唔識bitcoin o既,就唔好扮識,連bitcoin係點產生都唔知,就唔好扮晒專家,仲要話"虛擬貨幣非「有限」...既然人人皆可無中生有,那虛擬貨幣的發行量實際上是無限。"其實佢知唔知自己講緊乜。bitcoin mining最初的確係好容易,但而家己經要靠強大o既電腦或者用crowd sourcing o既強大力量去挖。如果想做bitcoin miner,自己google下點做啦。如果想無中生有,可能要問下o個位"作"家。
除左寫專欄o既人之外,D上司老細都好鐘意明明唔識又扮晒識。講左好多次,IT人每個都有自己o既skillset,你要請一個人做Role A,就唔好請左佢返黎就叫左佢做D風馬牛不相及o既Role B。有咩問題?問題就係佢未必識做Role B,就算識,佢都唔會鐘意做Role B,因為佢當初accept個offer係想做Role A。你叫佢做Role B,其實同叫佢自動辭職冇分別。老細們經常以為IT人就係IT人,請一個IT人,咁所有IT野都可以搵佢做。我想講,IT人唔係文員,你請個文員執文件,佢梗係乜野文件都識執,但你請個IT人返黎,你點可能expect佢又識寫program,又識起network,又識買機報價,又識vendor management,又識...(下刪一百字)
其實,各位上司老細,o係你做任何同IT有一丁點關係o既動作前,可唔可以先consult下你o既IT最高領導人(即係CTO or CIO or CISO)呢?冇?咁你consult下我,睇下我幫唔幫到你。唔好再乜都唔識又要扮晒識。面係人地比,架係自己丟,路姆西係人地丟你。
唔識bitcoin o既,就唔好扮識,連bitcoin係點產生都唔知,就唔好扮晒專家,仲要話"虛擬貨幣非「有限」...既然人人皆可無中生有,那虛擬貨幣的發行量實際上是無限。"其實佢知唔知自己講緊乜。bitcoin mining最初的確係好容易,但而家己經要靠強大o既電腦或者用crowd sourcing o既強大力量去挖。如果想做bitcoin miner,自己google下點做啦。如果想無中生有,可能要問下o個位"作"家。
除左寫專欄o既人之外,D上司老細都好鐘意明明唔識又扮晒識。講左好多次,IT人每個都有自己o既skillset,你要請一個人做Role A,就唔好請左佢返黎就叫左佢做D風馬牛不相及o既Role B。有咩問題?問題就係佢未必識做Role B,就算識,佢都唔會鐘意做Role B,因為佢當初accept個offer係想做Role A。你叫佢做Role B,其實同叫佢自動辭職冇分別。老細們經常以為IT人就係IT人,請一個IT人,咁所有IT野都可以搵佢做。我想講,IT人唔係文員,你請個文員執文件,佢梗係乜野文件都識執,但你請個IT人返黎,你點可能expect佢又識寫program,又識起network,又識買機報價,又識vendor management,又識...(下刪一百字)
其實,各位上司老細,o係你做任何同IT有一丁點關係o既動作前,可唔可以先consult下你o既IT最高領導人(即係CTO or CIO or CISO)呢?冇?咁你consult下我,睇下我幫唔幫到你。唔好再乜都唔識又要扮晒識。面係人地比,架係自己丟,路姆西係人地丟你。
Thursday, December 12, 2013
Java: Pass By Reference or Pass By Value?
Many beginners of Java programming has the same question. When you put an object into an array, is it pass by value or pass by reference?
Well, let's see an example.
public class Test {
public static class A {
public String str;
}
public static void main(String[] args){
A[] array = new A[1];
A a = new A();
a.str = "Hey";
array[0] = a;
a.str = "Hello";
System.out.println(a.str);
System.out.println(array[0].str);
}
}
What do you think it will display? If Java is pass by value, then array[0] = a is actually copying the object and put it into the array, and as a result, list.get(0).str should be "Hey".
However, the output is like this:
Hello
Hello
it is actually copying the address into the array.
It is easier to understand if we modify the above program to pass a primitive type value into the array:
public class Test {
public static void main(String[] args){
int a;
int[] array = new int[1];
a = 0;
array[0] = a;
a = 1;
System.out.println(a);
System.out.println(array[0]);
}
}
1
0
array[0] = a is actually copying 0 into array[0], so assigning new value to a will not affect the value of array[0].
Well, let's see an example.
public class Test {
public static class A {
public String str;
}
public static void main(String[] args){
A[] array = new A[1];
A a = new A();
a.str = "Hey";
array[0] = a;
a.str = "Hello";
System.out.println(a.str);
System.out.println(array[0].str);
}
}
However, the output is like this:
Hello
Hello
So, it is pass by reference? Actually, No.
Every object reference is storing the memory address of an object only. For example,
A a = new A();
a is storing the address of the block of memory space containing the newly created object. When it is put in the list,
array[0] = a;it is actually copying the address into the array.
It is easier to understand if we modify the above program to pass a primitive type value into the array:
public class Test {
public static void main(String[] args){
int a;
int[] array = new int[1];
a = 0;
array[0] = a;
a = 1;
System.out.println(a);
System.out.println(array[0]);
}
}
1
0
array[0] = a is actually copying 0 into array[0], so assigning new value to a will not affect the value of array[0].
Tuesday, December 10, 2013
Java: How to Split Strings In Java
Splitting Strings in Java is easy, because there is a split() method implemented in the class String, which means every string object can be split with a pattern provided. Here is an example:
String text = "One;Two;Three";
//Splitting the text on semi-colons
//Note that an array of String is returned.
String[] tokens = text.split(";");
//Loop over the array to display the result.
for (String token : tokens){
System.out.println(token);
}
One
Two
Three
Since the split() function accepts regular expression as the parameter, if you want to split on, for example, a backslash "|", then you need to escape it.
Most of the time, split() is used to break well formatted messages. For example, "One|Two|Three" is well formatted with values in-between every backslash. What if the message is like this: "One||Three"?
In this example, you can see that the text was split into {"One", "", "Three"}. If you want the result to be {"One", "Three"}, you need to modify the regular expression.
As you can see, if you are familiar with regular expressions, split() is a very useful tool to split texts with complicated patterns.
String text = "One;Two;Three";
//Splitting the text on semi-colons
//Note that an array of String is returned.
String[] tokens = text.split(";");
//Loop over the array to display the result.
for (String token : tokens){
System.out.println(token);
}
One
Two
Three
Since the split() function accepts regular expression as the parameter, if you want to split on, for example, a backslash "|", then you need to escape it.
String text = "One|Two|Three";
//Splitting the text on backslashes
//Note that there are 2 '\'.
String[] tokens = text.split("\\|");
//Loop over the array to display the result.
for (String token : tokens){
System.out.println(token);
}
One
Two
Three
String text = "One||Three";
String[] tokens = text.split("\\|");
for (String token : tokens){
System.out.println(token);
}
One
Three
String text = "One||Three";
String[] tokens = text.split("[\\|]+");
for (String token : tokens){
System.out.println(token);
}
One
Three
Thursday, December 5, 2013
Bitcoin (3) - bitcoin vs real currency
以下為一段新聞:
"昨日人民銀行、中銀監、中證監、中保監及工信部等五部委聯合發布《通知》,將Bitcoin定性為特定的虛擬商品,不具有與貨幣等同的法律地位,不能且不應作為貨幣在市場上流通使用。雖然《通知》容許居民擁有及參與Bitcoin交易的自由,但卻嚴格禁止各金融機構和支付機構從事與Bitcoin相關的業務。"

監管Bitcoin其實係有必要o既,但問題在於如何監管。《通知》將Bitcoin定性為虛擬商品,而不是貨幣,目的係想打擊Bitcoin炒賣,因為越多人參與Bitcoin炒賣,對真實貨幣影響就會越來越大。
舉個例:
假設 1 CNY = 0.164 USD
Bitcoin o既出現產生以下關係
1 BTC = 6000 CNY
1 BTC = 1000 USD
運用簡單數學,1 CNY 就會相等於 1/6000 BTC,而1/6000 BTC其實能夠兌換 1/6 USD,即大約0.167,同直接兌換率有出入。而BTC係非常不穩定o既,就例如當《通知》發佈之後,BTC 於BTC China立即下跌35%。BTC兌CNY下跌,就會影響到上面其餘兩個關係,一係BTC兌USD同時下跌,以為持CNY兌USD關係,一係CNY兌USD上升,以為持CNY兌BTC關係,但在自由市場上,通常會兩種關係同時調整,直至達到平衡。但係CNY同USD都有非常大o既力量去為持匯價,所以好明顯以上情況會主要改變BTC兌USD去達到平衡。而中國政府最擔心o既係當BTC普及到有足夠力量去維持自身價值時,改變o既就係CNY兌USD。
風險披露 及 免責聲明
Bitcoin o既出現產生以下關係
1 BTC = 6000 CNY
1 BTC = 1000 USD
運用簡單數學,1 CNY 就會相等於 1/6000 BTC,而1/6000 BTC其實能夠兌換 1/6 USD,即大約0.167,同直接兌換率有出入。而BTC係非常不穩定o既,就例如當《通知》發佈之後,BTC 於BTC China立即下跌35%。BTC兌CNY下跌,就會影響到上面其餘兩個關係,一係BTC兌USD同時下跌,以為持CNY兌USD關係,一係CNY兌USD上升,以為持CNY兌BTC關係,但在自由市場上,通常會兩種關係同時調整,直至達到平衡。但係CNY同USD都有非常大o既力量去為持匯價,所以好明顯以上情況會主要改變BTC兌USD去達到平衡。而中國政府最擔心o既係當BTC普及到有足夠力量去維持自身價值時,改變o既就係CNY兌USD。
風險披露 及 免責聲明
加密貨幣價格有時可能會非常波動。同時,加密貨幣價格可升可跌,及甚至變成毫無價值。買賣加密貨幣未必一定能夠賺取利潤,反而可能會招致損失。
任何關於以往業績的陳述,未必能夠作為日後業績的指引或參考。
倘若投資涉及外幣,匯率的波動或會導致投資的價值作出上下波動。
在新興市場投資,閣下需要對每項投資以及風險(包括但不限於主權風險、發行人風險、價格風險、流動性風險、法律和稅務風險)作出謹慎和獨立的分析。而且閣下亦需注意,雖然這些投資可以產生很高的回報,他們亦同時存在高風險,因為市場是不可估計,而且市場未必有足夠的規條和措施去保障投資者。
在閣下進行任何投資前,閣下應索取有關所有佣金、開支和其他閣下須繳付的費用的明確說明。這些費用會影響閣下的純利潤(如有的話)或增加閣下的損失。
所有分享純屬個人心得,所提供的投資策略未必適合所有投資者, 也非作為或被視為買入或出售該金融產品或商品的邀請或意向。
上述觀點只代表作者本人意見。本團隊成員及其客戶可能持有上述相關產品權益,並隨時可能買入或沽出。
任何關於以往業績的陳述,未必能夠作為日後業績的指引或參考。
倘若投資涉及外幣,匯率的波動或會導致投資的價值作出上下波動。
在新興市場投資,閣下需要對每項投資以及風險(包括但不限於主權風險、發行人風險、價格風險、流動性風險、法律和稅務風險)作出謹慎和獨立的分析。而且閣下亦需注意,雖然這些投資可以產生很高的回報,他們亦同時存在高風險,因為市場是不可估計,而且市場未必有足夠的規條和措施去保障投資者。
在閣下進行任何投資前,閣下應索取有關所有佣金、開支和其他閣下須繳付的費用的明確說明。這些費用會影響閣下的純利潤(如有的話)或增加閣下的損失。
所有分享純屬個人心得,所提供的投資策略未必適合所有投資者, 也非作為或被視為買入或出售該金融產品或商品的邀請或意向。
上述觀點只代表作者本人意見。本團隊成員及其客戶可能持有上述相關產品權益,並隨時可能買入或沽出。
本人當然持有Bitcoin。
Subscribe to:
Posts (Atom)

