2015年5月31日 星期日

[ElasticOn 2015 / 舊金山/優勝美地/蒙特雷 之旅] 150312 Day4 勇闖惡魔島




[ElasticOn 2015 / 舊金山/優勝美地/蒙特雷 之旅] 150312 Day4 勇闖惡魔島

結束了滿是震撼的 ElasitcON conference 就開始了我為期兩週的 舊金山加州之旅。
初期的規劃是現在舊金山待上幾天,然後再租車前往優勝美地度假,最後再往回去蒙特雷與Carmel 小鎮。


2015年5月28日 星期四

[電影]實習大叔 the internship



今天在讀書會又再看一次,想不到再從舊金山跟Google回來後,感觸有如此不同。

感覺到很深刻的矽谷精神,我可以感覺到那種想要改變全世界的心。

有種我就是強的感覺

人生不可再庸庸碌碌


2015年5月27日 星期三

[elasticsearch] how many shards on a nodes / nodes 的 shards 配置




joergprante@gmail.com joergprante@gmail.com

5月1日
寄給 elasticsearch
The number of open files does not depend on the number of documents.

A shard comes not for free. Each shard can take around ~150 open file descriptors (sockets, segment files) and up to 400-500 if actively being indexed.

Take care of number of shards, if you have 5 shards per index, and 2000 indices per node,  you would hvae to prepare 10k * 150 open file descriptors. That is a challenge on a single RHEL 7 system providing 131072 file descriptors by default so you would have to change system limits (cat /proc/sys/fs/file-max) - the default is already very high.

I recommend using fewer shards and redesign the application for fewer indices (or even a single index) if you are limited to 2 nodes only. You can look at shard routing and index aliasing if this helps:



Jörg

2015年5月25日 星期一

[札記]文字跟思考好像在流失



覺得我的文字跟思考在這陣子,好像開始停滯,甚至是流失...

昔日的文思泉湧,好像在此刻消失殆盡。


2015年5月22日 星期五

蘋果CEO庫克:人生苦短,別浪費生命在只求溫飽的工作上 2015年喬治華盛頓大學畢業演講


蘋果CEO庫克2015年喬治華盛頓大學畢業演講:人生苦短,別浪費生命在只求溫飽的工作上 | SmartLinkin商務社群網
http://www.smartlinkin.com.tw/article/1109


這篇裡面提到很多矽谷的精神,我想如果沒有那趟舊金山之旅,我對他所說可能會有不同想法吧。

在矽谷的人充滿著,改變全世界的心,要做一個能夠改變世界的產品,那就是在世界的浪潮上,你就站在世界的中心點一樣。


在那次拜訪之後,我的人生旅程才正要開始。我當時甚至還沒申請大學。對你們這些畢業生來說,追尋、發掘你自己、創造自己、重新發現自己另一面的旅程即將展開。你要找到自己的價值觀,並忠於它們,就像找到你的北極星一樣。那意味著你必須做出選擇,有時候很容易,有時候卻很難,有時候會讓你質疑一切。
我知道我自己堅信什麼,我很在意自己的北極星(價值觀)。我的責任就是為他人創造美好的東西。但我覺得工作就是工作,價值有它該存在的地方,是的,我想要改變世界,但我認為應該要在我自己的時間做這件事,而不是在辦公室裡。然而賈伯斯並不這麼認為,他是個理想主義者,他喚起我青少年時期的感覺。第一次面談時,他說服我並讓我相信,如果我們努力工作,製作出更好的產品,我們也能改變世界。令我驚訝的是,我接受他的邀請,這改變了我的生活。17年來,我從未後悔過。 
我們的承諾是超越產品本身功能,為環境以及每一個人創造影響力。我們的角色是推動公平,以及改善教育。我們相信,一家公司的價值觀及其指導下的行為,可以真正改變世界。一個人也可以,這個人可能是你,而且肯定是你。畢業生們,你們的價值觀很重要。它們是你們的北極星。當你感受到自己走在對的道路上,工作將賦予你的全新意義。否則,它就是只是一份溫飽的工作,人生沒有如此多的時間。我們需要你們這一代發光發熱的年輕人去領導政治、商業界。科技、藝術、媒體還有學術領域。 
我可以告訴你,我們無法接受這樣的說法,而你也應該如此。這是我遠從加州矽谷來這裡想告訴你們的事情,「想要不斷進步」這樣的信念是可能實現的,不論你選擇了什麼樣的工作。總是有冷眼旁觀者和批評者、好心卻無貢獻者也對實現目標毫無幫助。金恩博士《來自伯明罕翰監獄的信》中說到:我們的社會需要被改變,不僅僅是那些口出穢言的壞人,還有那些保持沉默的好人。

旁觀不是你想要的生活,世界需要你登上舞台,有許多問題需要解決,正義需要得到伸張,人們依然受到迫害、疾病依然需要治療。無論你接下來怎麼做,這個世界需要你付出能量、激情和成功的渴望。不要怕冒險,遠離那些憤世嫉俗者和批評者,歷史很少由一個人來書寫,但永遠不要忘記,當它發生了,那個人可以是你,必須是你,也非得是你。 


2015年5月21日 星期四

[哲學思想] 關於學習 一萬小時的專家領域 與 20小時就能學會任何事



自從 葛拉威爾 的 異數  出版,大大宣揚了一萬小時的故事。
博客來-異數:超凡與平凡的界線在哪裡?
http://www.books.com.tw/products/0010425872


成功和你想的 不一樣!美國最具影響力暢銷作家葛拉威爾,繼《引爆趨勢》、《決斷2秒間》,再創話題旋風,本書甫上市即攻占全美最重要媒體書榜第一名!成功和你想的不一樣!
天賦、家世、學歷、努力還不夠,之所以超群成為「異數」,還牽涉周遭的人和環境。
能不能成為運動明星,要看你幾月出生;數學好不好,要看祖先是不是種稻。
作者引用大量統計科學辯證,大開我們的視野,重新發現「出身」的意義:
誰能成功,多少人能成功,要看我們生活在什麼樣的社會。
想想看,他們的成功背後隱藏了什麼秘密?

  .加拿大曲棍球代表隊的明星隊伍,40%的球員都是在1月到3月間出生。
  .披頭四成名前,從1960年到62年,共去了5趟德國漢堡,在一家脫衣舞夜總會,連續開唱270個晚上的搖滾流水席。
  .1968年,比爾?蓋茲13歲,他是當時全世界唯一能夠無限使用最先進電腦分時系統的孩子,此後,他連寫了7年的電腦程式。
  .紐約最頂尖的律師,他們有幾個共同點:早期歐洲移民後代、生於1930年代的猶太人、父母都是成衣工廠的工人。
  .根據國際測驗的比較研究,日韓港星與台灣學生的數學能力在全球名列前茅,亞洲人天生具有數學優勢,他們的祖先都種稻。
你從未真正看清楚屬於你的成功!
葛拉威爾說:
不是最聰明的人就可以成功,正確的決定或努力不懈,也不能保證;
要成功,除了必須有把握「機會」的智慧、善用特有的「文化」遺澤;
必要時,還得脫離部分的身分,擺脫傳統的束縛。

喬許.考夫曼 (Josh Kaufman) 是熱愛學習的狂人,興趣十分廣泛的他常常一頭栽進新事物中。但是當家裡有了小寶寶後,生活開始忙得不可開交,要抽空學習新事物似乎變得遙不可及,因此,他想了解要花多久時間才能學會一件事。

他發現對一項事物只要練習20小時,就能擺脫令人沮喪的時期,在學習事情上情緒比其他東西重要多了。
所以只要每天花上45分鐘,一個月內就能夠熟悉某項事物。

根據 Josh 的研究,他以練習為核心運行四個關鍵步驟把學習過程拆解開來。

博客來-學得快才會想學!:黃金20小時學習法
http://www.books.com.tw/products/0010617128


以學烏克麗麗為例,步驟會像這樣:  一、取得不可或缺的工具:
  (一把烏克麗麗、調音器、備用琴弦、三本參考書。)
  二、決定學習成效目標:
  (10 天後在攻占世界高峰會自彈自唱「四和弦歌」。
  30天內練到可以在TED演講上表演一段。成果請參考:tedxtalks.ted.com/video/The-First-20-Hours-How-to-Learn)
  三、將這項技能拆解成幾項子技能:
  (左手按和弦、右手刷弦、熟悉旋律、記憶歌詞、自彈自唱。)
  四、20 小時的練習:
  .先從最常用的和弦及刷弦法練起
  .練到彈奏和弦和刷弦都不用看指板或琴弦(累計滿 2 小時)
  .練到不假思索就可以維持刷弦和改變和弦(累計滿 5 小時)
  .用邊彈邊哼的方式學歌,學習歌詞跟和弦變換重疊的地方
  .加進歌詞,一直到可以自彈自唱「四和弦歌」(累計滿 10 小時)
  .學習更多新歌(累計滿 20 小時)(更詳盡的學習歷程參見第八章)
  除了烏克麗麗之外,在本書中,你可以零距離看到喬許依「黃金 20 小時學習法」,在不到一年內成功學會了瑜伽、架站、圍棋、風帆衝浪、盲打。難以置信?這些好像不花個幾年難有所成的才藝,喬許真的都在 20 小時的練習後就上手。讀者可以用這個方法來學習任何感興趣的才藝,是的,任何才藝。你的願望清單布滿灰塵了嗎?趕快挖出來重新看一遍!
  ◎學習科學,「黃金 20 小時學習法」的10 大原則:  一、選擇一項想學的技能或才藝
  二、一次只學一種
  三、決定學習成效目標
  四、將這項技能拆解成幾項子技能,從關鍵技能開始練習
  五、取得不可或缺的工具
  六、消除阻撓練習的障礙
  七、抽出專心練習的時間
  八、建立快速的回饋迴圈
  九、短時間的計時密集練習,一天最多 90 分鐘
  十、練習的重點是求多、求快
  更多訊息,請見
  first20hours.com
  joshkaufman.net




ref
只要 20 小時就能學會任何事 | TEDxTaipei TED的演講影片
http://tedxtaipei.com/2014/06/2014-josh-kaufman/



[哲學] 柯文哲:「每個人都在瞎忙!」



柯文哲:「每個人都在瞎忙!」政府34部會荒謬KPI全揭露
 https://goo.gl/DX8vLD

 "「這個政府為什麼做KPI會失敗,因為真正的Infrastructure(基礎建設)沒有建立,第一,每個人都把自己故意弄得很忙,瞎忙,總是冗事一堆。第二,我們的KPI跟他的升遷跟考績、獎金、甚至面子都無關啊,因為KPI沒有公告。」 "

這不就是整個國家社會的通病嗎?在瞎忙的共犯結構中瞎忙?!

2015年5月20日 星期三

[linux] DD-WRT port forwarding not working



使用 DD-WRT 的 port forwarding的功能時發現不能正常使用,
查到了下面這篇說有特定版號的DD-WRT 可能位有問題,但是我的不在下面列的版號中。

按造指示加了 iptables firewall rule就 work了


So you’re running your router on DD-WRT and your port forwarding isn’t working? Well, it seems that you’re not alone. I’ve seen multiple different builds with that problem.
The builds include 14896, 15778, 15962, 16454, 18024, 18946, 21676 and maybe even more.

What to do?

Go to Administration –> Commands and type the following command:

iptables -t nat -A POSTROUTING -j MASQUERADE


Click Save Firewall. Enter it again and click Run Commands. Now it should be working for most cases.


Quick tip: DD-WRT port forwarding not working | Heshsum
https://heshsum.wordpress.com/2013/11/15/quick-tip-dd-wrt-port-forwarding-not-working/

[python] python requests bind interface 指定 network interface



如果有多張網卡,如何使用 requests lib時指定 interface 呢?


python - Requests, bind to an ip - Stack Overflow
http://stackoverflow.com/questions/12585317/requests-bind-to-an-ip


Looking into the requests module, it looks like it uses httplib to send the http requests. httplib uses socket.create_connection() to connect to the www host.

Knowing that and following the monkey patching method in the link you provided:

import socket

real_create_conn = socket.create_connection

def set_src_addr(*args):
    address, timeout = args[0], args[1]
    source_address = ('IP_ADDR_TO_BIND_TO', 0)
    return real_create_conn(address, timeout, source_address)

socket.create_connection = set_src_addr

import requests
r = requests.get('http://www.google.com')
It looks like httplib passes all the arguments (to create_connection()) as args (vs keywords) as trying to extend the kwargs dict inside set_src_addr was failing. I believe the above is what you want, but I don't have a dual homed machine to test on.

[Jmeter]Jmeter over SSH Socks proxy


使用 Jmeter 做測試時 ,常常會遇到 target 跟所在機器不同網段的時候。

如果已經建立起 socks proxy 就可以使用下面指令啟動 Jmeter。



java -DsocksProxyHost=localhost -DsocksProxyPort=8080 -jar ApacheJMeter.jar


2015年5月19日 星期二

[elasticsearch]ClassCastException[org.elasticsearch.search.aggregations.bucket.terms.LongTerms$Bucket cannot be cast to




{    error:"ClassCastException[org.elasticsearch.search.aggregations.bucket.terms.LongTerms$Bucket cannot be cast to org.elasticsearch.search.aggregations.bucket.terms.StringTerms$Bucket]",
status: 500

}

這個問題發生在同一個 type 名稱有著不一樣的 類型導致在操作 aggregation時的 cast 錯誤,可以去找出是哪些資料在 型態上有問題。


2015年5月11日 星期一

[elasticsearch] Failed to accept a connection. java.io.IOException: Too many open files



[2015-05-11 14:47:09,373][WARN ][netty.channel.socket.nio.AbstractNioSelector] Failed to accept a connection.
java.io.IOException: Too many open files


increase your system file description 


2015年5月3日 星期日

[linux] xenserver renew license xe command line




在 license 過其實使用 xe command line 會出現

Your license has expired. Please contact your support representative.

因為手邊沒有windows 的機器不能開xencenter去 renew license ,
先找到了

How to fix the XCP expired license issue
http://xenapiadmin.com/tutorials/21-how-to-fix-the-xcp-expired-license-issue

去更改 expiry 時間但是不work


Renew free license using CLI only - Server Installation - Discussions
http://discussions.citrix.com/topic/269333-renew-free-license-using-cli-only/
後來看到這邊文章,給出了renew的url

Citrix Systems, Inc.
http://deliver.citrix.com/go/citrix/xenserver_activation


填完以後等收email拿license file
然後使用

xe host-license-add license-file=filepath

就成功了

ex:

[root@xenserver-hy03 ~]# xe host-license-add license-file=l.txt
License applied.
[root@xenserver-hy03 ~]# xe vm-start uuid=e12978e9-1f71-da3b-d082-e81d6cc7918d


ref:
XAPI Command Line Interface - Xen
http://wiki.xen.org/wiki/XAPI_Command_Line_Interface#General_VM_Example