2010年10月26日 星期二

向自己承認無知!

我看到過的絕大部分文章都是在討論自我論點的正確性,援引各種數據與資料以強化自我的論點,但很少看見有文章在討論未明卻影響決定的資訊,也就是說,針對有哪些正確資訊是我們難以取得的,對於這些缺乏的資訊進行分析與討論,因為資源是有限的,我們限於時間與精力的限制無法全知全能,因此有許多決定必須在資訊不明的迷霧中下決定,而無法等待到蒐集到足夠資訊才下決定,但是我們卻又總是一再的強化已經取得的資訊的重要性,而忽視未取得的資訊的重要性,以致於太少心力花在研究哪些未知的資訊是很重要的,或者說去研究這些未知的資訊對於我們決定的影響力有多大.因此,我希望自己能夠強化對於未知資訊的判斷與分析,而不是僅僅只用自己已然得知的資訊來下決定.

首先,我承認在選舉時難以判斷哪一個候選人能夠有能力把事情做好,在新竹市長選舉時,無論是許明財或是劉俊秀;當然我可以輕易的查到雙方的政見,但是我不知道怎麼判斷哪個人能夠把政見完全的兌現??

在地的行政首長的影響力不可謂不大,像某位八年任期內連路都鋪不平的市長卻能夠滿意度超高甚至該城市還有什麼幸福城市的稱號,他個人對於一個城市的停滯不前應該要負起最大的責任,而身為他執政下的市民,除了投賭爛票以外卻沒有什麼辦法抗議,同時這也讓我思考,對於判斷候選人是否能夠有一個勉力堪用的準繩用以比較雙方對於某個職位的能力呢??思考的結果我發現,我根本沒有辦法有體系的去分析雙方的優劣,只能用個人對於其政見以及政治立場的偏好去判斷,但是其政見以及其政治立場對於要競選的職位來說,根本達不到足夠的辨別力,也就是說我在投票時所作的選擇,跟投硬幣沒什麼兩樣,根本就是一種賭博.

因此,我徹底承認我無法在投票時進行正確度高的選擇!!尤其是針對地方選舉!!

第二,我必須承認我完完全全無法判斷股價未來的高低起伏,即便目前持有股票,我也必須承認,無法判斷該股票未來的走勢,也難以判斷未來的業績,第一季我所估計的毛利與營業利益錯誤程度非常高,而且由於該公司在中國大陸的投資並未公佈每月營收,因此對於其中國子公司的獲利數字我只能挫在等.

我也必須承認,不知道為什麼該公司在半年報公佈前1個月,非常穩定的融資數字莫名其妙增加400張,半年報公佈當天,融資又莫名其妙減少400張,更不了解為什麼現在是第三季季報公佈前,融資又莫名奇妙的增加了200張,如果第三季季報一公佈又莫名其妙減少200張的話,我想也許我就知道是為什麼了.

鑒於無法判斷股價走勢的緣故,目前只能夠投資營運長期都正常而沒有投機炒作機會的無聊企業.而我目前就是這樣做的.

第三,我也必須承認,不知道未來會怎樣,甚至連下幾個小時我都不能夠預測,如果有人以為他能夠掌握自己的命運,我只能說他運氣很好,得到神的祝福,因為在統計學上,無論你連續遇到多少好運或是多少壞運都是可能的,只要樣本數夠大極端值發生的機會就愈高.

因此,我把未來交給神,由祂來掌管,我願意在有限的一生裡努力的生活,但我生命中所有的好運與壞運,順境與逆境都是從他而來的,儘可能單純的接受並感謝,減少外在影響自己所造成的不好的情緒,畢竟人是有限,神才是無限的,不需要為了自己的有限來責怪自己.

第四,我必須承認,我常常不知道我女兒為什麼哭,尿布也換了,奶也餵了,嗝也打了,但是她就是要哭,雖然她哭起來還是很可愛,但我真的不知道他為什麼哭,有時候安撫他一下子就好了,有時候卻要哭上個10分鐘才歇息.或許他長大一點我會比較明白.

據說我小時候也是常常莫名其妙的哭,而且會足足哭上個把小時,也許我現在不哭的原因是因為小時候哭夠了,難道我女兒是遺傳我的淚腺嗎??

第五,我必須勇敢的承認,雖然我信心滿滿的買了預售屋,但眞的不能確定我買的價格是貴還是便宜,因為只知道這個價格現在不算貴,無法確定10年後價格的變動有多大,只是為了老婆孩子的居住環境,不能不在短時間內作出這個重大的決定,而我也不得不承認,針對購屋決定的後果是好或不好我一樣只能交托給神,我想神會像過去一樣繼續的偏愛我.

以上坦承了這麼多我能力所不及的事務,感覺輕鬆了不少,就像是對自己的喃喃自語一般.我不希望自己忽視這些不足的部分而過度自信,也不希望這些不足的部分減少對自己的自信心.

2010年10月8日 星期五

開發列印功能的參考文章

列印網頁控制項的顯示/隱藏


    <style type="text/css" media="print">
        .print_disable
        {
            visibility: hidden;
        }
        p
        {
            color: #ffffff;
            background-color: #000000;
        }
    </style>
    <style type="text/css" media="screen">
        p
        {
            color: #ccffff;
            background-color: background;
        }
    </style>
</head>
<body>
    <input id="Button1" class="print_disable" type="button" value="列印" onclick="fnPrint()" />
    <p>
        使用ASP.NET 來寫網頁時, <br />
通常我們會用 Visible 這個屬性來控制是否要在網頁上顯示 <br />
那這個 Visible 它的做法是在呈現網頁時,把整段語法都拿掉 <br />
也就是說當我們在看網頁原始碼時,這個控制項是不會出現的</p>




自動列印與分頁列印

怎麼樣讓網頁於列印時自動分成適當的頁數呢?
其實有個簡單的指令, 馬上能讓你達成心願。


這個指令是:

<P style='page-break-after:always'></P>


Javascript呼叫IE列印以及預覽列印的方法


Javascript部分:

//列印div包起來的部分並且列印完畢後自動關閉列印網頁

function printScreen(block){

var value = block.innerHTML;

var printPage = window.open("","printPage","");

printPage.document.open();

printPage.document.write("<HTML><head></head><BODY onload='window.print();window.close()'>");

printPage.document.write("<PRE>");

printPage.document.write(value);

printPage.document.write("</PRE>");

printPage.document.close("</BODY></HTML>");

}

Javascript部分:
//預覽div包起來的部分並且列印完畢後自動關閉列印網頁
function previewScreen(block){
var value = block.innerHTML;
var printPage = window.open("","printPage","");
printPage.document.open();
printPage.document.write("<OBJECT classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2' height=0 id=wc name=wc width=0></OBJECT>");
printPage.document.write("<HTML><head></head><BODY onload='javascript:wc.execwb(7,1);window.close()'>");
printPage.document.write("<PRE>");
printPage.document.write(value);
printPage.document.write("</PRE>");
printPage.document.close("</BODY></HTML>");
}

for FireFox : insertRow與insertCell須傳遞參數,指定插入位置


<html>
<head><title>CPM</title></head>
<SCRIPT language = "JavaScript">
function addRow(n){
var Tr = document.getElementById("inputJob").insertRow(n);
var Td = Tr.insertCell(n);
Td.innerHTML = "<input type=text>";
}
</SCRIPT>
<body>
<a href = "javascript:addRow(-1);">新增</a>
<form name = "formJob">
<table id = "inputJob" border = "0">
</table>
</form>
</body>
</html>

for firefox 需參考上面連結修正程式碼
function addRow()
{
var root = document.getElementById("tbody")
var allRows = root.getElementsByTagName('tr');
var allCells = allRows[0].getElementsByTagName('td');
var newRow = root.insertRow();
var newCell0 = newRow.insertCell();
var newCell1 = newRow.insertCell();
var newCell2 = newRow.insertCell();
var newCell3 = newRow.insertCell();
newCell0.innerHTML = allCells[0].innerHTML;
newCell1.innerHTML = allCells[1].innerHTML;
newCell2.innerHTML = allCells[2].innerHTML;
newCell3.innerHTML = allCells[3].innerHTML;


}
function removeRow(r)
{
var root = r.parentNode;
root.deleteRow(r);
}
function addRow()
{
var root = document.getElementById("tbody");
var allRows = root.getElementsByTagName('tr');
var cRow = allRows[0].cloneNode(true)
root.appendChild(cRow);
}
function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr')
if(allRows.length>1)
root.removeChild(r);
else
alert("only one row left, you not need to remove it.");
}