2007年2月27日 星期二

升級到WordPress 2.1.1

  果然,最起碼還是要先升級到WordPress 2.0.5後才能升到WordPress 2.1.x,從WordPress 2.0.4直上WordPress 2.1.x是不行的,\xE6 \xB9據我的猜測應該是從WordPress 2.0.4到WordPress 2.0.5之間有database的大幅更動,按部就班地升級應該就沒問題了,起碼目前看來是如此。

2007年2月26日 星期一

為什麼公車一次來三班?


  花了幾天看完這本薄薄的科普書籍,這本書的內容基本上就是生活化的離散數學和機率論,從科學化的角度探討生活中的各種現象,透過作者的講解,很多以前覺得想不透的現象都會變得很容易理解。

  單單說是離散數學和機率論好像把這本書給說窄了,其實幾何、圖形理論、統計、機率、線性代數、密碼學、內疚數學、賽局理論、集合論、邏輯論、回饋理論、Critical Path、數學魔術等領域都有粗淺的涉獵(當然也因為是粗淺的涉獵才讓人看得下去)。提到這麼多領域,好像會讓人覺得很枯燥、嚴肅,但是書本的內容完全不是這樣,也完全不會讓人回憶起以前唸書時代數學帶給人的痛苦,反而是以清晰的方式解說生活現象,實在是非常推薦的一本書。

2007年2月22日 星期四

老當益壯的叔叔

今天白天去逛了金螞蟻阿通伯(說個題外話,我實在不懂為什麼阿通伯這家店能開這麼大,而且存活這麼久)晚上去和朋友吃飯,晚上回到家的時候我媽跟我說了件讓我非常震驚的消息。

  叔叔今年五十八歲了,自我懂事以來他就處在離婚的狀態,和與前妻所生的三個女兒一起長居美國。叔叔前幾年似乎遇到了合適的對象,所以有了第二春,沒想到今天晚上我媽跟我說,叔叔會在七月生個小兒子做我的堂弟!我實在被嚇傻了,我這還沒出生的小堂弟跟我相差24歲也就罷了,他三個同父異母的姐姐都早已年逾三十,我實在無法想像她們的反應會如何,總之我們家族應該又會有一場鬧劇可看,我也該開始籌措紅包錢了。

2007年2月20日 星期二

這是暗示我今年運氣不錯嗎?

  前幾天才看到這篇新聞「真神! 麻將摸到5張五條」,今天我就身歷其境了,只不過新聞裡面的人拿到的是五張五條,而我拿到的是五張五萬。這個Bug能通過軟體公司內部的嚴密測試而到我手上,或許我應該要感到高興吧,畢竟這可不是每個人都有的好運氣。

  PS. 我可不只是拿到五張五萬而已,我還贏了這局呢!

bug1 bug2

2007年2月19日 星期一

又是過年期間的五分埔

我去五分埔的次數並不多,大約只有三、四次,但是每次去好像都是在過年期間去陪KiLo擺攤、閒聊,KiLo說他覺得五分埔的店家看起來都很令人討厭,好像臉上寫著「我走在時代尖端」的樣子,但是五分埔給我的印象並不差,只是每次看到滿街的女裝之後總覺得這裡的實用性對我來說是稍差了一些。

  今天趁著大年初二的空檔又去了一趟五分埔KiLo,我試著幫他叫賣糖葫蘆,但是我這種平常只敢在熟識的朋友面前大放厥辭的傢伙對於這種場面實在有點害羞,試著小聲地招呼了幾位遊客卻完全看不到什麼效果。

  看到五分埔裡這麼熱鬧的人潮會讓我覺得自己孤零零的一個人去逛好像很沒意思,就算和人去逛,五分埔裡面和我相關、讓我有興趣的東西好像也不多,真是矛盾的心情啊。但是和人聊聊天,脫離工程師的世界和思維,體驗一下社會的另外一面也很不錯(尤其我很久沒有看到這個世界上性別不是男性的人類生物了),畢竟這世界上大部分的人都不是整天寫程式、解Bug過活的。去了一趟五分埔,雖然只吃了些小吃和閒聊幾句,但是讓我心情好了不少。

2007年2月18日 星期日

當幸福來敲門 The Pursuit Of Happyness





The Pursuit of Happyness

Originally uploaded by yuankwei.


  看慣了Will Smith以驚險刺激方式演出的人大概會覺得這部片有點無聊而且主題性不夠強,說實話,我也有點這麼覺得。但是喜歡溫馨勵志小品的人應該就會覺得這是部感人肺腑的難得佳作,看Will Smith在片中帶著他現實生活中的親生兒子在街頭流浪,從社會的底層開始掙扎、努力,最後踏出成功的步伐,迎向美好的人生。劇情相當激勵人心,雖然這大概只是現實社會中0.01%人民的寫照,不過起碼給了大家一個夢想的開端。



  另外有件令我有點訝異的事,片中竟然出現了中華民國的國旗呢!

2007年2月17日 星期六

三峽、臺北大學小遊記

  或許我們全家太久沒有一起出去走走了吧,趁著今天大年初一的空檔,我媽硬是拖著我們全家人出去逛逛,呼吸一下新鮮的空氣。其實也沒有跑得太遠,甚至沒有離開整個大台北地區,我們到了離淡水大約一個多小時車程的三峽地帶,因為我媽說我在研究所考試裡有報名臺北大學企管所,所以先帶我來臺北大學瞧瞧,但是我想她其實也不知道到底要瞧什麼。

  臺北大學與其他歷史悠久的學校相較之下是個新學校,地方不小,但是好像有點太新了,還有很大的空間以待發展。校園裡已經蓋好的部分算得上是美輪美奐,但是其他校舍的預定地(比如圖書資訊大樓和科技大樓)卻還是一堆雜草,而且運動設施實在相當匱乏,走了一圈好像只看到兩個籃球架,連田徑場都沒有。或許這是個唸書的好地方,但是如果想要培養學生在各方面均衡發展,路還很長阿。

  離開台北大學之後,我們到了三峽祖師廟。不愧是大年初一,三峽老街和祖師廟滿滿是人,我不知道三峽祖師他老人家在道教裡到底是什麼樣的地位,也不知道廟裡兩側供奉的太陰娘娘和太陽星君各司何職,所以也只是和它們說了幾聲久仰就離開了(其實我們是去廟裡借洗手間的)。三峽老街的豐富程度和淡水老街比起來是差多了,小吃的種類也不如淡水老街來得多,但是我們在三峽老街裡面的某個廟宇中發現竟然有供俸文昌帝君,我爸媽當然強押著我祈禱,希望今年能考個好研究所。不知道文昌帝君對以英文出題的研究所考試熟不熟悉,不然我還是只能靠自己,只恨我的研究所考科沒有國文和古代中國史,不然文昌帝君的加持大概可以功率加倍。

小兄弟 請留步阿!

  不知道我是生得一副天生短命相還是九五至尊的氣派,每次路經承德路的時候,沿路總是有幾位算命師傅打大老遠就以一副憂心忡忡的眼神看著我,有幾位入戲比較深的還會搭配微微搖頭甚至嘆氣,等我走到他們面前的時候,就一定會聽到他們對我大喊「喂~喂~少年仔~羞蛋擠咧啊!」。身為一個學習工程科學的人,我當然也有相當程度的鐵齒,自然每次都是當作沒聽到這幾句瘋話的模樣,大方地從這幾位仙人面前走過去,所以至今也不知道我到底是天煞孤星還是一代將才,或許以後哪次心血來潮我還真的跑去算了也說不定呢。

2007年2月13日 星期二

終於升級到WordPress 2.0.8

  暨上次慘痛的教訓之後,我不敢再從WordPress 2.0.4直奔WordPress 2.1.x,所以這次老實得不得了,先備份了資料庫和2.0.4的source code之後,慢慢地從2.0.4 -> 2.0.5 -> 2.0.6 -> 2.0.7 -> 2.0.8,目前看來都沒什麼大問題,不過還是暫時先測試看看2.0.8的穩定性和功能性正不正常吧,下次再試試看升級到WordPress 2.1.x(因為2.0.8是在2.1.x系列release之後才出現的,所以非常低調,連WordPress官方Blog上都沒有提到,大概只有平常有在注意相關消息而且又不想升級到WordPress 2.1.x的人才會發現吧)。

  基本上每個release的升級步驟都相當制式,備份資料庫和舊source code之後把所有的plugin都暫時關掉,接著查找官方的升級步驟之後記下wordpress/wp-content/底下哪些plugin或是theme有更新,先把這些舊source code砍掉,然後把新版的source code傳上去,接著回到blog的root directory下把除了wp-content/, .htaccess和wp-config.php之外的source code和directory都砍掉(當然,如果有自己曾經修改或是添加過的檔案也要記得留下來),接著把剛剛砍掉的檔案都換上新版的source code,最後執行wordpress/wp-admin/upgrade.php就算是完成升級動作了。

PS. 其實打這篇文章也算是順便測試2.0.8的功能性有沒有問題

[2007'02'17 update]
  不知道是不是我的錯覺,總覺得升級之後Dashboard的操作反應變得很慢,升級後的好處倒是到現在都還沒看到。

2007年2月11日 星期日

笑著想她

  前兩天意外地拿到了一份自由時報,其中的E30版花編副刊有一位叫做朵朵的作者寫了一篇叫做「笑著想他」的小小文章,內容是這樣的:

因為他不在你身邊,所以你非常牽掛。
他平安嗎?他快樂嗎?他有好好地穿衣吃飯嗎?
牽掛裡總是含有濃濃的擔心成份,
而擔心難免讓你跌進深深地憂慮之中。
因此,他過得怎麼樣你不知道,
你過得不好卻成了無法對自己否認的事實。

親愛的,要信任宇宙間有一股美善的能量,
當你對他充滿了祝福,這股能量就能在他身上發生正面的作用。
相反的,若你想起他就只有滿心憂慮,
那麼這分牽掛恐怕也將對他產生負面的影響。
愛是心電感應,祝福是念力,所以,笑著想他,相信他很好。
有了你堅定的愛與祝福,親愛的,他也真的真的會很好。
  優美的意境,雖然這篇文章是作者對女生說話的口吻,但是如果把文中的「他」改成「她」,對我來說實在再貼切不過了。從現在開始,我也必須相信宇宙中真的有那麼一股美善的能量,讓我對她的祝福在她身上發生正面的作用。

2007年2月10日 星期六

甘泉魚麵 - 京饌羊肉燉麵




01-26-07_1239
Originally uploaded by yuankwei.


  在清華大學對面的甘泉魚麵分店,雖然我覺得服務態度非常差,但是麵的品質相當不錯,我甚至在工作的地方認識了一位學長,從大學開始到博士畢業,每個禮拜都要去吃一次才痛快。

  我以前比較喜歡吃的是重口味的經典羊肉片麵,但是每次去店裡的時候總是聽到大家都點京饌羊肉燉麵,所以我之前去的時候也鼓起了勇氣點來試吃看看,盛名之下無虛士,京饌羊肉燉麵果然相當美味,其中的羊肉屍塊大小剛好,軟硬適中,實在好吃!

2007年2月7日 星期三

我織的第一條圍巾

02-08-07_0415 02-08-07_0414

  經過一個多禮拜的努力,我織的第一條圍巾終於正式地完成了,在這期間真的要大大地感謝靜嵐老師的幫忙,讓我從什麼都不會開始,慢慢從下針織法學起,拆線、接線、收線、編流蘇,每個步驟都是一門藝術。雖然過程並不容易,但是完成作品之後的成就感實在無法言喻,我覺得我好像也漸漸喜歡上了編織,只是編織藝術這種東西如果想要以看書、網路教學等方式自修似乎不太容易,以我的情況而言,要去外面上課學習好像也很怪(我無法想像要和一群職業主婦阿姨們一起學習編織的情形,而且如果我有錢、有閒,還是應該先去學吉他吧)。

02-08-07_1927 02-08-07_1924


  這條圍巾總共在編織的過程中,總共用了三顆毛線球,織了一百六十八排,總共四千七百零四針。雖然出來的成品在我這個作者眼中好像處處是漏洞,常常看到有沒織好的地方,也覺得成品有點硬,但是我真的很用心、也盡了全力,對我來說,這是一次很棒的體驗(我想應該也不會是唯一的一次體驗)。

02-08-07_1926 02-08-07_1932
 
02-08-07_1921 02-08-07_1920


2007年2月6日 星期二

[Java] 自訂JTable的cell內容

  這幾天,因為工作的需求必須要修改JTable的cell型態,讓他不只能顯示純文字,而能依照自己想要的方式顯示,因為JTable的架構設計得有點複雜,所以這個問題實在花了我不少時間研究,既然有了點研究結果,那就順便寫下來,這樣以後應該會比較方便。

  根據官方API文件的說法,JTable設計架構裡面的TableCellRenderer就像是個印章一樣,JTable中的每個cell都是依照被設定好的TableCellRenderer呈現內容,如果想要自訂JTable裡面的cell,有幾個不同的方法可以達成同樣的目的。比較常見的作法就是繼承Java API裡面已經設計好的DefaultTableCellRenderer並且override其中的public Component getTableCellRendererComponent( JTable,Object,boolean,boolean,int,int) method或是和我下面示範的作法一樣,直接拿內建的DefaultTableCellRenderer來使用,但是自訂其中的getTableCellRendererComponent()

  其實DefaultTableCellRenderer也就是一個JLabel,當我們把數字丟進JTable的時候,數字會自動被wrapInteger Object,而文字當然還是以String來表示,最後還是會交給DefaultTableCellRenderer這個JLabelsubclass做顯示的動作。進入要自訂getTableCellRendererComponent()的階段之後,必須要藉由parameter list上的Object value這個parameter取得cell的所存放的內容,之後就可以依據這個值做程式邏輯的判斷。

  如果想要自訂cell的顯示方式,可以參考parameter list上的row, col這兩個值來判斷是不是想要的cell,接著呼叫super.getTableCellRendererComponent()取得這個cell的Renderer Component,並且把它castJLabel,藉由JLabel的setForeground()、setBackground()等各項method更改顯示的樣式(使用setBackground()之前必須要先呼叫setOpaque(true))。甚至也可以不要用JLabel顯示,只要先使用java.awt.Component以下可以顯示的subclass自訂自己想要的顯示樣式,然後在return的時候丟回去給上層的架構就好了。

  以下的sample code示範了在JTable中傳入字串和數字,但是顯示出來的字串根據內容的不同有不同的顏色,而數字也是用JSlider的形式表示。

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

public class CellRendererDemo {
public CellRendererDemo() {
JFrame frame = new JFrame("JTable CellRenderer Demo");
JScrollPane scrollPane;

JTable table;
String [] columnNames = {"String value", "Slider value"};
DefaultTableModel tableModel =
new DefaultTableModel(columnNames, 0);

/* pseudo data */
Object data [][] = {
{"One", 1}, {"Two", 2}, {"Three", 3}, {"Four", 4},
{"Five", 5}, {"Six", 6}, {"Seven", 7}, {"Eight", 8},
{"Night", 9}, {"Ten", 10}
};

for(int i = 0 ; i < data.length ; i++) {
tableModel.addRow(data[i]);
}

table = new JTable(tableModel);
scrollPane = new JScrollPane(table);
scrollPane = new JScrollPane(table,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

DefaultTableCellRenderer renderer =
new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(
JTable table,Object value,
boolean isSelected, boolean hasFocus,
int row,int col) {

JLabel label = (JLabel)
super.getTableCellRendererComponent(
table, value, isSelected,
hasFocus, row, col);
label.setForeground(Color.black);

/* return value */
JComponent retComponent = null;

if( value instanceof String && col == 0 ) {
if( row < 5 ) {
label.setForeground(Color.blue);
}else {
label.setForeground(Color.red);
}
retComponent = label;
}else if( value instanceof Integer && col == 1) {
JSlider slider = new JSlider(0, 10);
slider.setValue(
((Integer)value).intValue() );
retComponent = slider;
}

return retComponent;
}
};

/* register the TableCellRenderer */
for(int i=0 ; i < table.getColumnCount() ; i++) {
table.getColumnModel().getColumn(i).
setCellRenderer(renderer);
}

frame.getContentPane().add(scrollPane);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

public static void main(String [] args) {
new CellRendererDemo();
}
}


TableCellRenderer Demo


2007年2月5日 星期一

再一次乘上地鐵 もういちどメトロに乗って

  如果能回到過去看看,你會做出什麼不同的決定呢?再一次乘上地鐵就是這樣的日劇,老套的題材,劇情卻很棒(回到過去的題材在小叮噹和西方電影中不知道出現過多少次了),總共只有四話,每一話只有20分鐘,都是各自獨立的故事。有的故事的主人翁回到數十年前,有的只是回到當天早上,不論他們回朔了多少時光,在過去的光陰裡經歷的事情都讓他們想了很多,也讓觀眾們想了很多,非常有趣。

  這部戲的題材也有被拍成電影版,演員有提真一、岡本綾、常盤貴子等,陣容算是相當堅強,但是似乎只有在日本的特定幾間戲院上映而已,不知道我有沒有機會看到。

博客男女對我的blog內容的分析

博客男女是一個可以幫你分析blog內容男女傾向的service,在網頁中輸入自己blog的網址或是rss就可以讓它自動幫你分析,大家也可以來玩玩看,以下是這個blog的分析結果:
Age of Engineer
12.0%男性傾向,88.0%女性傾向
評點:明淨雅緻的語言讓人為之傾倒,人生的感悟、生活情趣都融合在其中,自有一番細膩的心思在其間。
yodao | 博客男女


  看了之後實在不知道要說什麼好。

2007年2月4日 星期日

頂尖對決 The Prestige





頂尖對決 The Prestige

Originally uploaded by yuankwei.


  今天看了這部前陣子很知名的片,內容非常有趣、精彩,但是並不建議去電影院看,或許租DVD在家裡看感受不到電影院裡的氣氛和音效,可是對於這種充滿了疑惑的電影,如果能夠兩個人邊看邊討論應該會更有趣些。

  片中的兩位主角心機都非常重,不看到最後實在很難猜測兩者的勝敗,兩個人都打著各自的算盤,也背負著各自的痛苦,看完之後換個角度來想,這根本是一部悲劇,為什麼要爭鬥到這種地步呢?

  另一方面,這部片也有很好笑的地方,片中的學者Nikola Tesla本來只是想要發明可以瞬間傳送的機器,卻誤打誤撞地發明了可以製造複製人的機器,就好像本來只是想製造小刀卻不小心做出了核子彈一樣。

2007年2月3日 星期六

2007台北國際書展

  今天去逛了一年一度的台北國際書展。今年書展的內容感覺起來好像沒有過去兩年來得豐富,折扣也不是很誘人,但是我還是買了四本書,分別是我的名字叫做紅時空旅人之妻博士熱愛的算式米奇鰻的首部作品毛球寶兒,還有一本原本也打算要買的丈量世界後來並沒有購入,因為我慫恿與我同行的友人買了下來。

  同一天的下午,米奇鰻隋棠等model各自都有在世貿辦簽書會,但是因為我下午還要趕著去故宮,所以並沒有留下來參加這兩邊的活動。沒有親眼看到隋棠好像有點可惜,不過轉念一想後其實也還好,畢竟我也不可能去買她們的出版品,留下來也只是當個圍觀路人甲;至於米奇鰻...負責幫他辦簽書會的LiveABC工作人員竟然還問我他是誰,這實在相當驚奇,為什麼反而會是我比工作人員還了解呢?面對這樣的詢問,我也只能支支吾吾地告訴他,米奇鰻應該算是個藝術家吧。

  雖然覺得今年書展的內容比不上往年,但我還是逛了不少攤位,可是讓我覺得今年的書展沒那麼精彩的原因是不是因為往年和我一起去的人已經不在我身邊了呢?