Latest Kernels

2009年1月27日火曜日

Blowing in the Wind

How many roads must a man walk down
Before they call him a man
How many seas must a white dove sail
Before she sleeps in the sand
How many times must the cannonballs fly
Before they are forever banned
The answer, my friend, is blowing in the wind
The answer is blowing in the wind

How many years must a mountain exist
Before it is washed to the sea
How many years can some people exist
Before they're allowed to be free
How many times can a man turn his head
And pretend that he just doesn't see
The answer, my friend, is blowing in the wind
The answer is blowing in the wind

How many times must a man look up
Before he can see the sky
How many years must one man have
Before he can hear people cry
How many deaths will it take till he knows
That too many people have died
The answer, my friend, is blowing in the wind
The answer is blowing in the wind

2009年1月26日月曜日

新年快乐

中国传统的新一年正式开始,又老了一岁,时间真可怕。
越来越觉得有太多的事情需要做,而时间却不是那么够用。
Time... Never enough time.

2009年1月16日金曜日

pgImport:ODBC部分以及开发工作

首先我觉得应该说明一下:pgImport是我为了方便在blog中使用的名字,实际上这个名字作为一个project已经注册在pgFoundry,虽然看起来它一直没有什么进展。在我的blog中pgImport现阶段是指pgAdmin正在开发中的新功能,虽然我的远期(真的非常远)目标是实现一个独立的Import工具,并且把这个名字继承下来,不过目前看来至少还有一年时间才能开始它。

前几天跟pgadmin-hackers邮件组讨论了一下关于import from ODBC,由于我长期使用Windows系列的错觉,以为其他系统几乎不会使用ODBC(尽管存在一个标准化组织iODBC)。所以开始计划直接使用M$ ODBC API来直接实现,还好偶然发现wxWidgets中存在wxODBC类库,默认状态是不包括的(without-odbc),觉得有必要跟大家沟通一下。很庆幸这样做,Dave告诉我,其实在其他系统中也大量使用ODBC,因此最终还是打开了wxUSE_ODBC编译开关,使用wxODBC来实现ODBC导入部分。

昨天斉藤(Hirosi Saito)先生问我能不能为odbclink项目工作,因为最近他非常忙,遗憾的是我也非常忙。虽然老板允许我在上班时间为自由软件工作,但这必须是在我完成公司工作的前提下,因此我首先要为公司工作,然后才有时间来写一些代码。周六以及工作日晚上基本也都投入到这个工作中,感觉有点累,:)
另外,我写代码的速度很慢,因为不论是C++还是wxWidgets,甚至是pgAdmin,我依然非常不熟悉,需要查阅大量文档和花费大量时间去尝试不同代码才能达到目标。

非常希望能得到一些赞助,以便更多的从公司工作中摆脱出来。目前一个用Java开发的大型项目有不少工作需要我去做,虽然我非常不喜欢Java,但是我也不得不做,因为首先我必须要赚一份工资去生活。

2009年1月7日水曜日

Import功能改为wxWizard实现

其实我觉得wxToolbook挺好用的,基于它的编码并不会比wxWizard难于维护。在我看来,写程序不应该存在一种死板的定规,单就界面而言,应该以统一简洁、方便用户、易于编程为基准。如果说某个控件有类似功能,即使不好用或者造成界面上的不统一,我们也要采用它,不见得是好事。同一个project中界面风格应该一致而简洁,这样用户会感到方便快捷,他们应该去顺应整个程序统一的操作习惯,而不是去顺应每个画面,哪怕这种画面只是少数。

2009年1月5日月曜日

wxWidgets复杂控件细节控制的缺乏

自从开始开始编写pgImport功能,试图利用一些比较复杂的控件来实现界面管理。开始想用wxNotebook,结果发现它不能控制各个TAB页的状态,比如disable、hide。调查之后觉得wxToolbook比较适合,却又发现没有相应的XMLHandler,只好自己写一个简单的来用(由wxListbookXmlHandler改写而来,感谢Vaclav Slavik的辛苦劳动)。跟Dave沟通之后,他觉得wxWizard更合适,因为我想用Back和Next按钮来控制界面。昨天调查了一下,发现wxWizard的实现过于简单,而且变量都是private,所以也无法用一个继承类来使它变得更易于控制。可能这些控件很少有人使用的原因吧,所以在功能上还不够强大到支持复杂的控制。