在学校时学过汇编、C、Pascal、VB、VC、Foxpro(这个东西虽然很烂,但那时用的人很多)。上学时C++还是学得不错,学习了一些面向对象及Windows的事件编程的思想。仿照Turbo Vision做了一个DOS界面库,功能虽然不强,但还可以用。现在已经找不着了。曾经给一个老师学过一个暑假的工作,不过没干什么正事,但了解了模板化的思想。就是把可以做的东西做成模板,不确定的东西做成变量进行控制。毕设是同几个人给老师做了一个考试系统,主要用Foxpro,再加上远程拨号,主要工作是堆代码。

工作后主要使用C进行数据库的开发。学习了Unix,Shell。学会了如何使用C进行嵌入式数据库开发。做过字符界面的菜单生成器,可以保存为配置文件,并生成相应的源程序,采用Unix的cursor库。利用别人的库函数做过AS400文件与Unix的编码转换,完全是通过配置文件实现的,也是自动生成程序。利用Shell做过报表打印程序,及相关的简单应用开发(现在忘了不少了)。学过一点AS400的皮毛,做过一个系统运行的监控程序。后来,在项目开发中使用cursor库最终做成了一个功能比较全的公共函数库,包括菜单、报表和凭证打印、输入界面、全屏编辑器、数据库查询等界面库函数,利用了事件、模板、XML的一些思想。学习过Delphi,做过一个记录本Pad程序,支持文本及列表两种数据表示方法(现在已经找不找了);wallman墙纸切换程序,那时还是运行在98下的,自动换墙纸;最得意的可能是uploader了,一个ftp主页上传软件,以树形结构显示本地与服务器文件的异同,并可以上传比较不同的文件。这些软件已经不再做了,因为对Delphi已经不感兴趣了。做主页的时候用得是PHP,那时翻译过许多的文章,结果有一次,从国外发来一封信说我的翻译有版权问题,因此我生气地回了一封信,从此只翻译没有版权的文章,到最后几乎都是自已来写了。那时对翻译比较感兴趣,就把从计算机世界上的每期的英文时文翻译弄下来,放到我的主页里去,还做了一个单词查询。不过那时用得是51.net,后来因为付费的问题就不做了。翻译过最长的要算是学了Python之后,《Dive Into Python》,不过这项工作我也暂时没有继续下去了,翻译是件很累的工作。学Python很偶然,但一学就没放下过,也编过不少小程序,直到最近才直正做了一个比较大的项目 -- NewEdit。刚开始是参与了drPython的开发,但随着开发的深入感到扩展的方式不够灵知,因此还是独立创建了这个项目,主要采用的技术是Mixin和Plugin。同时还学习了Zope,在国外申请了一个免费的站点,做了我的Zope的主页,完成了一些主页维护的一些开发。并且使用Zope做了一个协作性翻译平台,但没有人用,一直就在那里放着。也学过Java但一直没做过什么东西,所以过一阵子就忘了。如果时间多了,会研究一下.Net,书已经买了,还没看完(时间不够用)。

我比较感兴趣的就是工具性软件,因此对这方面的开发很感兴趣。NewEdit算是一个尝试。以前做的公共函数也都是出于想提高工作效率的目的。在开发过程中对文档也很感兴趣,虽然本人不是特别喜欢写文档。因此学习过Latex,并写过一个在Windows如何使用Latex处理中文的教程。学习过DocBook,并写了一个如何使用DocBook的教程。用过doxygen生成文档,但工作好累,只做了一部分。现在的社会是图形界面为主了,我以前开发的字符界面的东西可能已经没有多少用了,因此也懒得去整理了。为了生成好看的DocBook,不得不研究了xslt和Java的一些工具。国外这些东西每次一学都是一串,学起来好累。

现在我的主要精力是做 NewEdit及其相关的项目,如维护MeteorEasyGuider等。主要的社会性工作就是做好中国Linux论坛的版主工作,并在成立CPUG之后从事 Python 的推广和教学工作。