Friday, June 20, 2014

Using the Local ESXi Shell

Using the Local ESXi Shell

After you enable the ESXi Shell in the direct console, you can use it from main direct console screen or remotely through a serial port.

1. At the main direct console screen, press Alt-F1 to open a virtual console window to the host.

2. Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file, using this command:

# esxcli vm process list

3. Power off one of the virtual machines from the list using this command:

# esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber

Alternate power off command syntax is:

# esxcli vm process kill -t [soft,hard,force] -w WorldNumber

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1014165

4. shutdown and restart commands:

# reboot -f
# halt
# shutdown

Thursday, June 19, 2014

客戶「又要馬兒好,又要馬兒不吃草」,PM該如何面對?

作者 / Bryan Yao
「101專案管理啓蒙」可說是我們今年最受歡迎的內訓課程,不少企業HR告訴我,常見的專案管理課幾乎都以PMP證照為主,像101這樣循序漸進帶領大家寫出一套「專案劇本」的課相對很特別。正因為這樣的實務導向,課堂中不少學員都提出了很實際的問題。這些問題還挺值得從事PM工作的你我思考一下,以下就是某位在知名企業的PM提出的小煩惱:
老師在課堂上提到專案金三角(範疇、時間、成本、品質)的概念,任何一項都會與其他項目聯動。但我的專案每次發生變動時,我詢問客戶:成本、品質哪個可以犧牲?得到的答案都是:全部都不能犧牲。這根本是不可能的嘛!我該怎麼辦呢?
首先,這是個專案執行上很常見的問題,但我認為問題的解決之道卻不在專案管理,而偏向溝通方法與心理學。

我們先以「換位思考」的方式站在本案利害關係人(也就是客戶)的角度來想想看。這裡所說的客戶,多半是客戶公司的代表窗口,也就是跟我們一樣的上班族,唯一區別在於彼此服務的對象不同。我們乙方PM的職責是提交產品滿足客戶公司,而甲方代表的責任便是善盡監督之責,確保每一分投資獲得最大的回報。

既然客戶公司花了錢,就期待得到最大的效益,這跟我們去購物是一樣的心態,最好能用少少的錢買到最讚的東西,而這位客戶代表既然被公司授權,首要之務就是確保乙方可以滿足他的上司。所以當我們問他「成本、品質哪個可以犧牲?」時,身為PM我們心裡想的固然是「專案金三角」的邏輯,但對方心裡的OS卻可能是:「什麼!追加成本?犧牲品質?是要我幫你們的利益背書嗎?老闆會宰了我!」,這時他不但不會點頭,反倒會出現兩種反應,一是立即「啟動結界」進入「防禦模式」,要不就是「開啟保險」進入到「戰鬥模式」,不論是哪一種,接下來我們日子都不會好過。

相信各位都有遇到銷售高手的經驗,原本想買支一萬塊的手機,結果不知著了什麼魔,刷了兩萬多的最新旗艦還外加奈米包膜、真皮護套、和高檔耳機,重點是:還很開心!這不算什麼,我聽過有人去買Toyota,最後開了台Lexus回家,一邊被老婆罵,還一邊看著新車傻笑!

銷售高手有點是值得我們PM學習的:面對客戶,他們只做「加法」,不做「減法」。他們總是強調更多的效益所帶來的好處與優點(當然前提是付出成本),而不太強調客戶的犧牲。

銷售高手看到我們對一萬元的手機有興趣,他不會去強調:「先生,這支只能算中階機喔!所以無論在功能、用料、與品質上,都做了一些犧牲,這就是一分錢一分貨的道理,這簡單的邏輯你應該懂的!」聽到這裡我們的評語不會是「真理」而是「真賤」!並開始轉頭看隔壁還有沒有其他店家。

銷售高手當然也希望我們買更高階的手機,但他會這樣說:「先生,你選的這支賣得很好,CP值很高,買了絕不會後悔!」但他會伺機而動,當你在測試相機時說:「你常用手機拍照嗎?你選的那隻是500萬畫素,記錄生活是很夠用的,但如果你喜歡攝影,這隻有千萬畫素雙鏡頭,可做出立體景深效果,還有HDR多重曝光功能,很多專業攝影師都拿這隻當休閒機…而且這支的音響效果、材質設計上都是頂級的,號稱是地球上最強的手機…」非常可怕的魔音穿腦,瞬間一群小朋友又不見了,然後我們會帶著忐忑不安卻又欣喜若狂的情緒回家,我猜這大概就是偷情的快感吧!

有次去南部旅遊,朋友帶我去買蜜餞。有兩家店開在同條街上,一家門庭若市,一家卻乏人問津。我問在地的朋友這兩家差在哪裡?他說其實味道跟價錢都差不多,他也搞不清楚差在哪裡,不過從小他們都是跟A店家買。我這人就喜歡做實驗,因此兩家都買了我最喜歡的脆梅,果然味道價格都難以分辨,唯一我注意到的小差距,是A老闆先舀幾顆到袋子裡,然後看著秤一直追加梅子,直到我要買的量,報了價格後,竟又多舀了兩顆梅子進袋裡。至於B老闆則是手感精準,只舀一勺梅子就很接近我買的量,但超過一些,他便從袋中舀出一兩顆。當看到「屬於我的梅子」被拿回去時,我瞬間明白這兩位老闆的差異了!

每天都在賣蜜餞的人,A老闆的手感會差嗎?我不確定,但我相信她更了解人性。她知道身為客戶的我們都喜歡「加法」,痛恨「減法」。現在回想起來,我覺得我剛講錯了,A店家的脆梅感覺比較好吃!
所以我給這位PM的建議是,不要強調「犧牲」這件事,要先讓客戶覺得,我們有決心做到100分,滿足你所有的要求甚至更多(我們犧牲就好,你不用犧牲)。但因為時間限制(口頭上少強調人力限制或預算限制,因為人力是我們乙方的責任,而預算限制則有怪罪甲方小氣的嫌疑,唯有時間是歸上帝管轄),我們需要你給我們一個「優先順序」,我們先把最重要的事情做好之後,再來處理剩下的工作。一定要給客戶安心感,讓他覺得我們不想規避掉任何工作,只是需要一個工作的優先順序罷了,而且您身為客戶,絕對有這個權力來指導我們先後緩急。

有的PM可能會擔心,萬一優先的事情做完後,客戶跑來要我們完成剩餘的工作,要我們交出那120分怎麼辦?這樣不是增加我們額外的成本嗎?根據我的經驗,這類難搞的專案,通常是時間、預算、品質限制較嚴格的,直到專案完成前,每天都是緊鑼密鼓像打仗一樣地進行,當第一優先的事情完成後,原本第二優先的工作馬上就會遞補成第一,所以總是有「最急迫」的問題要處理。對於最終的交期,客戶可能比你還要在意,所以不太可能deadline前客戶還有閒功夫要你慢慢做些雕花鑲金的工作,就算有空閑時間,客戶窗口多半會跟公司回報提早結案,這樣對他自己的績效也有幫助。

所以不要把問題弄得那麼嚴重,要求客戶對「未來」可能的犧牲當下就做出取捨,甚至去背書畫押。而是儘量把問題變成「眼前」我們該如何決定「先後順序」,如此而已。如果PM能做出這樣的引導,客戶會比較安心,必要時,還可以像銷售高手賣手機一樣,建議客戶投入更多資源以獲得加倍回報。

危機往往就是轉機, 許多資深PM都懂得這個道理,因此反而很歡迎這樣的變更,他們知道這正是爭取更多資源的契機,而且客戶也會獲得更多的價值,是個雙贏。畢竟對專業賽車手來說,有彎道才有超越的機會呀!

http://www.projectup.net/blog/index.php?option=com_content&view=article&id=15139:pm&catid=2:pm&Itemid=19

Tuesday, June 17, 2014

Automatic vertical scroll bar in WPF TextBlock?

Automatic vertical scroll bar in WPF TextBlock?

<TextBox Name="myTextBox"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.CanContentScroll="True">SOME TEXT
</TextBox>

These are attached property of wpf. For more information

http://wpfbugs.blogspot.in/2014/02/wpf-layout-controls-scrollviewer.html

Monday, June 16, 2014

MySQL Import error

ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Note: You can also set this variable by using the --log-bin-trust-function-creators=1 option when starting the server.

cmd> mysql --default-character-set=utf8 -u root -p DB_NAME < 2014-06-16_DB_NAME.sql

After imported, run this query to set it back:
mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Thursday, June 12, 2014

MySQL Query Log

Turn on query log permanently, eidt my.ini:

[mysqld]

log

Turn on query log at runtime:

SET GLOBAL general_log = 'ON';
SET GLOBAL general_log = 'OFF';

Note: use the "FLUSH LOGS" command to flush the logs from memory to the log file.

Wednesday, June 11, 2014

MySQL C# Text Encoding Problem

Solution:

<add key="MyDBConnectionString" value="Server=127.0.0.1;Database=posserver;Uid=root;Pwd=mypassword;Port=3306;CharSet=utf8;"/>

Note: Use lower case value utf8 and not upper case UTF8 as this will fail.
Note: that resultsets still are returned in the character set of the data returned.

http://www.connectionstrings.com/mysql/

Tuesday, June 10, 2014

flush refresh MySQL query log file

mysql> flush logs;