Google
 

2007-04-29

居然觉得有点累

  真是难得啊,久违的感觉了。回到家,打开电脑,上几个常去的网站看了看,没什么新鲜的,收了下邮件,也没什么新鲜的,看了几分钟书,不行了,只好趴到床上去。
  从公司的图书馆借了本《深入解析ATL》和《Programming Ruby》中文版,其实照以往的经验,这样的大砖头我一般到期了我都不会看几页,只是觉得或者有必要放在身边,以备不时之需。一直在整GT3K那玩意儿,还是有点麻烦啊,要在TreeView中显示,同时要在具有可读性的显示名字以及具有唯一标识性的URI之间来回转换,没有一个好的设计看来是不行了,代码越写越多了。ATL是个好东西啊,里面提供了一些好用的工具类(比如注册表读写类)、宏(比如宽窄字符转换宏)等,只要包含特定的头文件就可以了。今天基本上完成了早上给自己定的任务,争取明天也能完成自己预定的任务,这样五一就可以玩得更舒坦更轻松。他们不用Boost,实在是一大遗憾啊,有些工作不得已只好自己操刀了。

2007-04-26

小思宇生日快乐

  遥祝小思宇生日快乐,一年复一年,一年何其少。最近昏得连日期都忘了,昨天下午下班后回家,突然想起来,慌忙拿出日历看了看是几号,还好没过,今天早上起床便发了个短信意思一下,嘿嘿。
  界面基本上搞得差不多了,争取在放假前剩下的四天内,把与GT3K交互的部分完成,至少接口都要实现好,估计那些跟用例交互的部分是不会有这么快出来的。今天得到一个VC写的Demo,估计也只是时间问题了,哈哈,小小地开心一下。四天内如果时间有空闲,可以再完善一下那个一体化平台的设计需求,还要研究一下那个单板软件的需求。都是要新学的,也好,平常自己都不忍心逼自己,趁这次机会刚好对嵌入式开发和COM都有新的认识。

2007-04-25

小丫头打电话来了

  在上网的时候,小丫头突然打电话来,出乎意料地。然后两个人聊了大半个小时,照小丫头的说法,都从公司里聊到家里了。还是照原来一样,小丫头在那里抱怨了一通,呵呵。五一要不要去成都呢,犹豫ing……
  写程序总是遇到些奇怪的问题。这两天在研究直接用PSDK写一个能支持在2个TreeView中进行节点拖放的窗口,昨天还一直很奇怪的,只有一个 TreeView能作为拖放的宿,另一个则怎么也不行,但两个TreeView的代码明显是相同的,因为都是从同一个类中的方法啊!今天给窗口加了个拆分 条,可以让鼠标拖动TreeView之间的拆分条来调整两个TreeView的大小,结果稀里糊涂的居然发现两个TreeView都能作为拖放的宿了,真 是奇怪呀,明明我一点都没改动TreeView的代码啊!
  从别人那里要来了一个通过COM接口跟GT3K交互的Demo,这个Demo是在Excel中用VBA写的,不知道如果在VC中用,还有多少困难,看来得学一下COM的知识了,比较麻烦呀!
  另外一边的人打电话来说,要讨论一下单板软件的相关计划等,呵呵,要做嵌入式开发去了,这让我觉得有点兴奋,因为从来没有接触过这方面的东西,只是别人写的代码倒是看过不少,虽然也从来不看代码流程,只是为了PI值发现些很低级的语法错误。
  SharePoint总算第一次被我调得可以显示一点东西出来了,不过还没有研究怎么使用,因为那台老爷机实在太慢了,我无法忍受在这样蜗牛的速度中 进行操作学习。SharePoint的资料是少了点,没办法的时候,只能跟别人交流交流了。而且,才发现目前只要装Windows SharePoint Service 3.0就够用了,不用装Server了,哈哈。
  把输入法的界面改了一下,Comp窗口和Cand窗口合在一起了,就像现在流行的输入法一样,不再是传统界面啦,这有一个好处——可以方便地让它支持 Skin,或者不规格窗口。不过老问题还是存在:Firefox中还是出不来。而且一直想把设置窗口改成用PropertySheet样式,但总是要么不 出来,要么弄死机,郁闷,只好暂时就要原来的了。还有个问题,也是这两天才遇到的,在用UNICODE编译的时候,为什么stprintf总是得到乱码?

2007-04-24

关于C++0x的比较新的消息

  这算不上最新消息,因为从Boost Develop的maillist上看都已经是前天发出来的消息了。上周C++标准委员会在英国Oxford召开了一次会议,主要是为了能在今年秋季时在Kona召开的会议中完成标准的草稿。完成草稿后,就会发布给ISO的成员国以及公众,以便收集各方的意见,这将持续1年时间用于处理各种意见。然后就可以发布正式的标准了,而ISO还会再经过1年时间对这个标准进行批评认可。
  在csdn的blog上还看到过有人兴奋地谈到,这个C++0x说不定是C++07,这样看来,如果以ISO发布的时间点看,应该是C++09了,呵呵。
  之后,照安排,C++标准委员会还会有几次会议:
- July, 2007, Toronto, Canada.
- October, 2007, Kona, Hawaii, US.
- March, 2008, Redmond, Washington, US.
- June/July, 2008, Sophia Antipolis (Nice area), France
- October/November, 2008, San Francisco Bay area, US.

2007-04-23

分了些奇怪的任务给我

  今天开双周例会,结果发现人力不够用了,而我作为最近才加入组的成员,已经肩负重任地看了3个星期的资料了,而且光看资料不说,连个屁都没放出来。于是老大发现这么个人力虽说浪费了也不是很可惜,可惜的是当前那些任务是进度越来越紧张,交付日期可谓近在眼前,让交付件能顺利产生可谓迫在眉睫啊!然后,突然给了我两项任务,我瞬间晕倒。这样下来我真要变成一个复合形人才了,又能做嵌入式软件开发,又能做Windows桌面应用软件开发,还会用SharePoint做Web开发!
  照阿菲那颇具讽刺意味的话说,这下不无聊了撒,不会浪费时间了撒。我于是奋发图强,决定天天晚上加班,因为那些任务我好像似乎一点都不知从何下手。经过大致的跟人讨论、自己看文档,又突然发现,晚上加班也是徒劳的,或者说,其实我真的很自大很高估自己,我压根就是觉得不用晚上加班,那点事情也许也是能搞定的,并且如果真的晚上加班,实际上也没有多少意义。唉!

2007-04-22

鄢哥又过来培训了

  鄢哥这是第三次来我们公司培训了,每年一次啊!记得上次是差不多一年前来的吧,那时候小思宇刚刚搬出去了,鄢哥过来了,公鸡也跟着过来耍一下,我当时还有点懒得走,结果被小妞小玉玉鄙视了。于是约好在万科城的肥牛府吃一顿,一张长条桌,三男三女坐在那里。今年就只有鄢哥一个人了,小思宇她们也都各自有着各自的事情。真是去年今日此门中,人面桃花相映红啊!
  鄢哥其实来了已经一星期了,我早就通知了阿菲,喊她抽空出来吃饭。昨天早上照例8点半醒来,给阿菲发了个短信,这短信还被她后来抱怨了一通,说我太早了。约好傍晚五点半去华强北茂业见面,然后吃饭。我早已睡不下去了,就起来玩电脑,但又没什么特别的兴致。打开Foxmail,翻看起以前从学校BBS上收下来的邮件,里面记录了我在大学四年里的BBS经历。真是令人怀念啊,想当年也算是小有名气的吧。想想当时在学校,是多么的呼风唤雨、叱咤风云啊,看着别人都是菜鸟,可是从学校出来两年,自己成为菜鸟,白白浪费了两年时间不说,之后的路怎么走,可谓是越来越迷茫了!邮件中还保存了很大一部分的聊天记录,依稀可以看到我的感情经历,从afei到ilikeyou,再到最后的lookfor,前两次的小心翼翼,胆怯不前到最后一次的无赖泼皮,死缠烂打。现在看来,我都隐约觉得奇怪我当时居然能说出这么肉麻的话来。也算是我的青春无悔的见证了,哈哈。对于那个家伙,或许我的内心深处真的是怀有感激之情吧,因为她,才使得我后来变得不像以前那样自卑,所以后来虽然几次三番觉得很受伤,但我还是愿意真心诚意地好好待她,而无论结果如何。如果我不说,或许她是永远都不会明白为什么了!
  看邮件看得百感交集,下午看到男妹妹在QQ上,于是顺便叫了一下她。虽然大家都在深圳两年了,但居然从毕业后都一直没见过她人!几个人从不同的起点,到相同的目的地,果然五点半的时候,找到了阿菲和鄢哥,看样子男妹妹得过一会才能到了,就下去麦当劳一人点了杯喝的聊天。一直等到男妹妹过来,居然华强北的路都认不到,呼呼。四个人去吃了顿民间瓦罐煨汤,然后送男妹妹上车。鄢哥跑来我屋里睡,跟同住的同学一起聊天到快3点。睡觉,一直到12点,出去吃了顿中饭,鄢哥就回旅馆去了。

2007-04-18

在VC中调试DLL

  输入法最后的文件后缀虽说一般是ime,但它是个地地道道的dll文件。有过几年地狱般的调试经历,好不容易从MessageBox升级到OutputDebugString,最后终于进化到用IDE里集成的debugger。不过一直以来都是只对完整的可执行文件进行调试跟踪,对dll还没有相关的经验,尽管也写过几个,但那都太简单了,基本不用跟踪就可以正常工作啦。现在的输入法就复杂了,开始没想通怎样可以进行源码级调试,还是退回到OutputDebugString,编译连接一把,在记事本中试一下。后来想想,它应该可以attach相关进程进行调试吧,白天在公司也看到过一个文档,讲的是怎么在VC的IDE里进行相应的设置。其实非常简单,在项目属性里,把调试一页中的命令设为notepad.exe就行了。随便在源代码中打个断点,启动调试,VC会弹出消息框说notepad.exe没有调试信息,不用管,继续,notepad.exe运行后,切换输入法到这个被调试的输入法,如果程序走到断点这里了,就会被断下来了,变量窗口、输出窗口都跟调试exe文件时一模一样,哈哈。有一点需要追加说明一下,这个dll文件一定要放到能被load的地方,像普通的dll的话,放在和exe文件相同的目录就行,输入法就需要先安装一遍,这时ime文件是需要放在系统目录下的,所以方便起见可以直接在项目属性里把最终的输出文件指定到系统目录下就行了。
  另外再说一点和UNICODE相关的事。为了和国际接轨,程序使用UNICODE似乎是最好的方法,我就先在输入法安装程序中做试验,一个百来行的小程序,用UNICODE选项进行编译,结果还真发现了问题,有个字符串在写入注册表时总是写不全,这让我很奇怪。同样的代码改用多字符集编译连接就没有问题。看看代码我已经都尽量用各种字符操作的宏了,最后发现原因,_tcslen在UNICODE的情况下,2个字节只算为1,在写入注册表REG_SZ类型的键值时,需要指定字符串长度,所以其实只指定为实际占用空间的一半了,这种情况就需要特别处理。虽然发现了这个问题,在这么个小程序里还影响不是很大,而且很容易暴露问题,但要是输入法程序是用UNICODE编译的不知道还会有什么问题呢!怪不得极U被炒得这么火!

2007-04-17

LLYF Articles W.I.P #2

  前些天都说要做个LLYF Articles的,要能把指定目录下的网页文件都打包成chm文件。在公司里反正也无所事事,就用MinGW写了个命令行程序,基本可以实现这个功能了,只是有些方面不完善,当然如果用它来扫描Boost的目录,也是可以生成可用性比较高的HtmlHelp Workshop的工程文件了。但是,不知道为什么,用MinGW想写个GUI的程序,就总是有奇怪的问题,连对话框都弹不出来,几乎一样的代码用VC2005编译一把,就可以好好地弹出对话框来,晕倒!不过也随它去了,反正核心功能部分都已经完成了,哈哈。
  今天下午快下班的时候,原来项目部的老大跑过来问我怎么没把计划发给他。我压根没想过这个东西要发给他,于是尽量把责任推到现在的老大的头上去了,其实我确实也写不出什么计划来,硬要我用SharePoint来做,以前没接触过,更不好做估计了,而且也一直没有好用的机器啊!今天把老大旁边那个PIII1G、20GB、256MB的老爷机搬过来,里面还装了个2.4内核的RedHat,呼呼。两个老大在那里扯皮,我在旁边只有偷偷地笑,现在的这个老大简直有点无赖啊!
  下一站小乖,呵呵!学一下用WTL做界面吧。

2007-04-16

中文输入法

  一直以来,基本上是用着加加系列过来的。以前的拼音加加,以及现在的五笔加加。现在拼音输入法市场可谓战火四起啊,原来的拼音加加已经失去了王者之风,蛋糕被微软、搜狗、google、紫光几个分食了。五笔输入都全是些个人的作品,也许真是因为使用五笔的人比用拼音的少太多吧,大厂商怎么都不原意做个好用的五笔呢。不过现在的极点、加加、小鸭都是很好用,又稳定了。
  相对来讲,大概五笔做起来比拼音要简单一点,也可能是因为没有什么创意或技术上的突破吧。五笔是只要能打出字,稳定就行了,命中率什么的基本还不用考虑。而拼音就很大一部分精力可以放在命中率上,微软拼音在这方面就做得很不错,google也是朝这个方面发展,但两家东西都有个很明显的缺陷——响应速度慢。
  要做好一个输入法也不容易呢,Windows定的框架就太复杂了,而且Windows平台上各种各样的软件,要全部兼容谈何容易啊!

2007-04-15

今天去买衣服了

  呆在家里实在有点不甘心,总是想出去,不留在屋里就好。于是跑到华强北去买衣服,夏天快来了,需要准备一下了,从上衣到裤子,还了鞋子,都要买。2点到的华强北,因为没吃早饭和中饭,所以就先去麦当劳吃了4个鸡翅和1包薯条,喝了杯可乐。然后逛到茂业,运动品牌的T恤实在是贵啊,只好去买JSW的,51块钱还能买2件。再去买鞋子,Puma有几个款式的我倒是喜欢,但没有大码的,没办法,最后只好去买了双Nike的比较休闲的。
  买鞋子的时候,xcc和他女朋友也来了,买完鞋子就三个人一起去电脑市场。又去买硬盘了,呵呵,比阿菲买的时候又便宜了一些。然后又去买U盘,一直逛到5点多。我和xcc去梅林吃饭,他女朋友则回去了。说起来,从我生日过后,都没跟xcc一起吃饭了。吃完后,又去他家里坐了一会儿。

Boost::any实现分析

  在看《Conversations》的时候,看到有一章,专门讲到了Boost::any,不禁又勾起我对Boost的敬佩之情。
  打开any.hpp,看到any类的实现非常简单,2个构造函数,1个拷贝构造函数,2个赋值运算符重载,1 个指针类型的成员变量,以及几个辅助函数。可正是这样一个简单的类,实现了极为巧妙极其方便的功能。看看C++对COM中的Variant的封装,把各种 想得到的数据类型都嵌入到union中,同时需要一个附加字段来指定当前实际的数据类型,代码看起来不但臃肿冗余,而且也不好用。
  来看看any的实现代码,首先它是被放在boost名字空间的,其次,any当然不是一个模板类,不然在对不同的数据类型实例化后,不能方便地以统一的类型表示了:

  class any
{
public: // structors

any()
: content(0)
{
}

template<typename ValueType>
any(const ValueType & value)
: content(new holder<ValueType>(value))
{
}

any(const any & other)
: content(other.content ? other.content->clone() : 0)
{
}

~any()
{
delete content;
}

// ……………………
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
private: // representation
template<typename ValueType>
friend ValueType * any_cast(any *);

template<typename ValueType>
friend ValueType * unsafe_any_cast(any *);
#else
public: // representation (public so any_cast can be non-friend)
#endif
placeholder * content;
};
  这是它的构造函数、拷贝构造函数和析构函数,content是一个placeholder的指针。从使用的角度看,any在实例化时,可以用任何类型 的数据来初始化,除了用any以外,其它的数据类型时,都会调用那个模板构造函数,它将生成一个holder对象,把初始数据存放在该对象中,同时把该 holder对象的指针存放在成员变量content中。由此可知,holder类肯定是从placeholder类继承而来的,之后的代码中就可以见证 到这一点。Boost根据编译器是否支持成员模板友员,特地小心地处理了any_cast和unsafe_any_cast两个辅助函数。
      class placeholder
{
public: // structors

virtual ~placeholder()
{
}

public: // queries
virtual const std::type_info & type() const = 0;
virtual placeholder * clone() const = 0;
};

template<typename ValueType>
class holder : public placeholder
{
public: // structors

holder(const ValueType & value)
: held(value)
{
}

public: // queries

virtual const std::type_info & type() const
{
return typeid(ValueType);
}

virtual placeholder * clone() const
{
return new holder(held);
}

public: // representation
ValueType held;
};
  再看placeholder和holder类的实现,原来placeholder只是个接口声明,holder才是个模板类,可以根据不同的数据类型实例化,这样无论实例化后的类型是什么,在any中都可以用placeholder的指针来表示了。
  Any的实现虽然很简单,但对于C++模板新手的我来说,还是很值得学习的!

2007-04-14

源代码高亮的Html化工具

  想起要写些关于Boost源代码的东西,要把代码贴到blog上来,不免想要弄稍微好看点,虽然有个Boost中自带的演示Boost::regex的cpp2html工具,不过觉得太单调了点。上Google搜索了一下,还是能搜索不少来,其中一个放在GNU上的source-highlight引起了我的注意,这是一个由Lorenzo Bettini编写的命令行程序,能支持好多种语言的源代码输入,同时又支持包括Html、XML、LaTeX、DocBook等格式的输出。看到最新版本已经是2.6了,不过作者已经不屑于发布Windows下的可执行文件了,只好去sf.net的GnuWin32工程里找了一个2.1.2版本用用。这个小程序做得挺灵活的,作为输入的源文件规则和作为输出的目标格式都是通过外部的配置文件来说明的,这样如果要添加支持新的语言,只要添加新的配置文件就可以了,不需要修改重新编译程序。这是个很棒的小程序!
  小丫头现在都知道怎么骗我了哦,真让我感动得想哭,突然觉得这种感觉就像《Hunter X Hunter》里奇犽的哥哥说他妈妈哭了,因为奇犽现在都会砍她了,她好感动的。

2007-04-13

asio会合入Boost吗

  今天在各处blog闲逛,发现有谈到asio的,这个在很早前就听说过,Boost想要合入一个网络应用开发库,于是提到了asio。以前这方面只听说过ACE,但想想也知道不可能把ACE合入Boost,一是,ACE太大了,源代码压缩的体积超过现在所有Boost库的合集,再则ACE的实现方式跟Boost的风格截然不同。
  看到asio已经到了可以实用的阶段,我也索性再多看几眼。asio和其它的Boost库一样,只有头文件,而且唯一的依赖就是C++标准库和现有的Boost库。看了看从CVS取出的最新Boost代码,里面已经有asio了,但文档只有用BoostBook格式的,从它的官方网站上看到还是有html格式的,还是比较完整的,像是用doxygen生成的,照我说来,Boost里的众多库帮助文档的风格太不一致了,连表现方式都不一致,有的是html的,有的是BoostBook的,有的是man的,不过虽说不一致,它们的内容还算是详细的,但像asio做的,好像没有其它的了。
  以后要是Boost有个日志库了,那就可以彻底不用ACE了,呵呵。不过还不知道asio什么会被合入进来呢,最近在maillist上也好像没有特别提到这个库啊。

2007-04-12

学习一下设计模式

  今天跟同事谈起我看过的C++方面的书,说到《C++设计新思维》,我说只看过前面7章,后面的几章因为涉及到设计模式了,我又不懂设计模式,就看不下去了。同事说,设计模式一定要懂啊,对写程序很有用,设计好了,再怎么绕也不会出错。想想也算是有点道理吧,回到家,看到沉睡多时的GoF《设计模式》一书,不禁有点感慨,想当年在学校,确实也是精力旺盛,还特地从图书馆借出来复印了整本书,不过当时大概也是水平不够,大部分内容基本上看不懂,根本不能理解作者的意图。后来进了公司,从另一位同事那买了本二手的,书保养得很好,大概他也没怎么看过吧,毕竟要能从头到尾把23种设计模式都玩熟了,对人本身的基础要求就比较高,一般要么是程序设计狂热爱好者,要么是肩负架构设计重任的架构师,其他角色的人,实在提不起多少信心吧,呵呵。
  这次下决心了,在6月底之前,至少要把书完整看完一遍,对23种模式有个大概的了解。
  白天在公司实在无所事事啊,又发呆了一天,虚度光阴啊!把Boost的帮助文档打包成了一个CHM文件,也挺无聊的。我现在对技术方面,只对C++还残留着些许的兴趣,而且主要是泛型编程方面。两大宝藏STL和Boost是必须要研究的东西,所谓不光是技术的宝藏,更是思想的宝藏,呵呵。回家看了看Boost的maillist,有人决心要做一个日志库,这让我觉得有点高兴。我就很需要一个好用的日志库,以前看过ACE里的,觉得很好,不过一来ACE这个库太大了,二来不知道为什么我在和VCL混用的时候,编译就会出错,后来就再也没碰过了。曾经也冒出过“自己写一个”的想法,不过实在不是很实际啊,看了maillist上他们的讨论,要做好一个日志库真的有很多超出预计的困难,就等他们了,嘿嘿。
  另外还有件事,今天才发现,newsgroup上很多人都在学习C++下一个标准中的特性了,现在大概只有gcc 4.x的某些alpha版本能支持一些特性,但人家确实也写出了那样的代码了,tr1的内容赫然列在maillist上。于是又想当一回追星族,翻了几大C++网站,包括Bjarne的网站和C++标准委员会的网站,搜罗了一堆建议、草稿,准备好好研究一下。这样想想,我们国内的技术水平大概永远也赶不上国外吧,那样的大师怎么也不会出在中国大陆吧,唉。

2007-04-11

LLYF Articles W.I.P #1

  突然决定做这个东东,主要功能是用来收集各种零散的文字,比如从网页上看到的有价值的文字片段等。不过让我决心做这东东的,却不是这个原因,而是想通过这玩意,能自动把分散在众多文件夹中的boost帮助文档打包成有序的,至少是能按照物理文件存放的分级打包成chm格式。
  先要写一个能递归查找文件的功能,再按这种目录结构写成HtmlHelp的index文件。还要注意能剔除掉空的文件夹。

2007-04-10

GFW是越来越过分

  所谓道高一尺,魔高一丈。虽然blogspot.com不停地被GFW封掉,但当时还有pkblogs.com和inblogs.net来作转向。可是现在,连它们两个也惨遭毒手了,GFW真是越来越过分了。不过它没有过分到像几年前那样,把google也封掉,所以为了突破GFW的封锁,在 google上搜了一遍,还真找到一些方法。
  这些方法的只限于如何访问blogspot.com,因为实际上,后台blogger.com好像一直没被限制。其实比较好的方法是,自己弄个域名来转向。还有个方法是,用BloggerSpaces的服务。不过有更简单好用的方法。一个是利用 google的translate服务,先翻成繁体中文,再翻成简体中文,损失不是很大,只是要用一个长长的URL,以及对用非中文表示的文字,中间的空格都会被删掉,影响原意,还有个缺点是,当鼠标光标移动到文字上方时,会自己选定一段文字,弹出一个消息框来,比较烦人。再有一个方法,就是改浏览器设置。先把这段代码保存到文件(假设为c:\proxy.pac):

function FindProxyForURL(url,host) {
   if(dnsDomainIs(host, ".blogspot.com")) {
     return "PROXY 72.14.219.190:80";
   }
}
  以Firefox为例,打开Firefox,依次点击Tools->Options->Advanced->Network- > Settings...->选中Automatic proxy configuration URL,在下面填写:file:///C:/proxy.pac。这要,就可以直接用missdeer.blogspot.com来访问啦。如果是IE,也是类似,Tools -> Internet Options -> Connections -> LAN settings -> Use automatic configuration script, 再指向文件,要填成file:///C:\proxy.pac。
  唉,不过这样的方法都只有我自己知道了,真是悲哀啊,只能自娱自乐了。

2007-04-09

这里真的成了写日记的地方了

  用missdeer.blogspot.com这个域名访问不了这里好多天了,然后改成用pkblogs.com,这样坚持了一段时间,终于也不行了,换用inblogs.net,最后也不行了。呵呵,算了,反正本来就没什么人看,就当是写日记的地方好了,自己写了自己看,呵呵。
  小妞要在Excel里计算一个东西,我不知道有没有方便的方法,反正用VBA写个宏是可以的,不过还是花了我一点时间。
  唉,不能太堕落啊。

2007-04-08

我的blog近3年

  早上虽然醒过来了几次,但还是坚持睡到了11点半才起来,这对于我来说,从工作以来是很少见的,而且居然做了个美梦。经常有人说,梦里发生的事和现实中的正好相反,仔细想想,其实好像没什么道理,倒是这样被说了后,有心理暗示罢了。
  也不吃中午饭,又想起前些天在玩TeX,下午就把CSDN上的Blog的内容全用LaTeX做成了PDF格式,虽然很多想要的功能没有找到实现方法,但也已经很有趣很好玩了。现在才知道怎么在CCT的环境下做书签,先要使用hyperref宏包,加几个选项后,只能用dvipdfm来转换,而且开始先得用latex编译一把,再用gbk2uni转换一把,再用latex编译一把,最后用dvipdfm来转换成PDF文件,这样就可以做出中文的书签了。
  再来说csdn上的blog,那是我第2个blog,第1个是放在blogdriver上的,因为当时csdn上好像还没有,而看到有个当时在csdn社区很有点名气的gigix在blogdriver上建了blog,我也就去建了个,写过十几二十来篇的样子吧,开始出现了一次问题,打不开我的页面,跟网站维护人员反映了一下后就弄好了。过了些日子,又打不开了,这次再给他们反馈,他们却没像第一次那样马上弄好,而是拖了好多好多天,也不知道是什么时候弄好的,反正没等它恢复,我决定把blog迁移到csdn上,因为当时对csdn还是很抱有好感的。没想到csdn的blog系统太太太不稳定了,我写了100多篇后,持续了两年,主要是在学校期间使用,工作后,也用了快半年,实在忍受不了了,刚好遇到这个blogger.com被解封。blogger.com上的空间是早就开了的,只是当时只觉得老是打不开,还不知道有GFW这回事,所以一直用csdn的,而这里刚好情形反过来了,当然也是考察了一些其它的BSP的,比如MSN的,Blogsome的,国内的ChinaUnix的,最后还是决定放这里了。所以正式点的说法,这是我的第3个blog,虽然也遇到了再次被GFW,但只要还能通过某些不正当手段访问或发文,我是不会搬了。
  把csdn上的blog内容copy下来,也当是个纪念吧!只是blogdriver好像访问不了了。

2007-04-07

参加原来的测试组活动去了

  转了项目部,还以为今天要去爬梧桐山的,结果提前决定不去了,因为觉得天气不好,所以很快就决定去参加原来的测试组活动。活动内容还是很简单,就是吃饭和K歌。这次活动的地点在南山,中午吃了顿海鲜,下午去海上明珠K歌,这是第二次去那里,第一次是前年十一的时候,跟她们三个,还有另外三个男的,其中一个现在成了小妞的男朋友了。回想当时还真是幼稚,甚至想以后再也不跟她们一起玩了,呵呵。这次从1点半一直K到5点半,乱吼了一气。疯丫头没来,这个家伙不知道昨晚去哪里鬼混了,居然到今天下午1点半的时候还在睡。
  唉,也许以后就不会这样跟他们这样出来活动了吧,最多可能私下里还会跟其中几个人一起玩一下。

2007-04-05

新岗位一点兴趣都没有

  真郁闷,新老大喜欢Web、脚本之类的东西,而我对这些基本一点兴趣都没有,无聊死了。他宁可去申请新的服务器,去装一堆D版的各种服务器软件,然后叫我这样一个不但没有一点经验而且没有一点兴趣的人去搞这玩意儿。组里的其它人大致分成两拨,一拨写Ruby脚本,另一拨做相关的辅助工具,唉,不爽不爽不爽……又无聊了一天啊,而且这边居然都不填工作日志,甚至好像连PBC计划都没有?明天还是带些相关的资料去看看吧,也当是打发一下时间。
  昨天晚上一边看《Hunter X Hunter》,一边把CodeGear Delphi 2007 for Win32装上了,其实这东西我也只是图个新鲜,装上了根本不会去用它,就像当年装Delphi 7/8/2005一样,大概所有用Delphi的次数加起来都不会超过5次吧!
  Google也出了个拼音输入法,不过我觉得一点都不好用。大概是当年拼音加加先入为主的缘故吧,我总觉得,一个输入法,无论是拼音还是五笔,要是连加加系列有的特性它都没完全模仿到的话,它就不是一个好的输入法,我就不会去用它。所以无论它的什么整句输入准确率达到多高,只要不是100%,它连候选窗口弹出的速度都这么慢,它连左右Shift选第二三个候选字的功能都没有,干吗要去用它。所以我至今都只能用着五笔加加的衍生版,所以对于拼音输入法,我只会考虑安装输入习惯像拼音加加那样的紫光或sogou,呼呼。
  唉,我的占有欲太强了,这是不对的。我似乎只喜欢享受那个过程,到快要有结果时,却退却了,不愿意了,然后一个人在黑的夜里独自舔着伤口。

2007-04-03

小丫头被我弄哭了

  有时候不禁要感叹,男人和女人对于同样的事情,平常的事情,怎么会产生那么大的意见分歧。下午的时候,小丫头给我发邮件,说ClearCase的命令不知道怎么用,我看了一下,觉得这些命令望文生意都能猜出大概的作用来,于是很直接地说,我觉得是因为你懒。没想到小丫头火冒三丈,说再也不理我了,还说为了这句话哭了。把我郁闷坏了,咋就为这么句话搞得这么严重呢。以前怎么说她,她都是不会生气的呀,都是懒洋洋或乐呵呵的样子,今天怎么就会哭了。心里必然不好受,坐在那里又觉得度日如年,于是只好出去逛一圈。回来还是郁闷,看看时间,还没过多久啊。于是试探性地又发了封邮件给她,语气自然是很诚恳的。还好看到她的邮件中说话已经略带娇嗔了,才舒了口气。呵呵,我竟然这样把小丫头弄哭了。
  说实话,我当时还真的很怕她真的再也不理我了,我甚至把我能想到的最坏的结果的情景在脑海中都演了一遍,不过好在小丫头的本性是个温柔又随和的人。
  晚上回到家,小丫头还在公司,于是打电话给她,一直打了一个半小时。从大年三十那天以来,我们一直没通过电话,因为在公司里可以用notes,同时在外面可以发短信。聊了很多,小丫头在那里不知道受了多少委屈,唉,可怜的孩子。
  今天终于换了项目部了,不过似乎接下来的事我会做得比较郁闷哦!

2007-04-02

Ebookshelf W.I.P #11

  除了界面不好看之外,功能倒是绝大部分都完成了。先是把virtual listview多选不准确的问题解决了,用了一种很土的方法,遍历每一个记录,看是否被选中。把指定文件的打开方式部分也稍微修改了一下,先主动创建进程,如果不成功,再用ShellExecute指定程序打开或用ShellExecute让Windows来决定用什么打开。还在状态栏里加了个进度条,在导出列表的时候,如果记录比较多,就可能会花比较长的时候,如果中间没有什么提示还真会让人误解,所以这时候用进度条就最合适了。顺便发现了几个小错误。另外还可能会有问题的地方是,在TreeView中填入的文字,在用SQL语句写入Access时,可能会有单引号的问题。这也是个挺让我觉得奇怪的事情,为什么SQL语句中不能用单引号,写两个单引号就没有不会报错了,但写入的就是两个单引号了,这样读出来的时候还要自己在处理一遍,把两个单引号的地方改成一个单引号显示出来。
  其余的顶多是加个Shell右键菜单项吧,这个也可考虑用比较简单的方法实现,给*.*类型的文件加个项,打开的时候因为会把路径传进来,所以就可以处理了。
  另外就是,做个像CyberArticle样子能收集网页上文字的程序,本来这个功能想做在Ebookshelf里的,不过感觉两个东西的功能差别还是比较大的,合在一起感觉比较怪。所以还是单独拿出来好了,关键点是要能至少支持IE6/7和Firefox 1.5/2.0。

2007-04-01

今天疯丫头请客

  在梅林吃了2顿,就像当时我请客那样。中午小肥羊,下午打牌下棋,晚上吃竹筒饭。
  早上9点不到就睡不着了,于是起床玩电脑,把csdn上的blog内容用LaTeX做成PDF格式保存起来。过了11点,出去坐328,居然遇到教授,在梅林街道办下车的时候才11点40,觉得太早了,于是跟教授去逛了一下金帝巧克力吧,教授买了一盒外包装是心形的巧克力。然后2个人慢慢吞吞走过去,到了小肥羊门口还是不见什么人,我和教授说,会不会被人晃点了呢,我们要反晃点。于是我先给疯丫头打电话,说教授被车子擦了一下在医院,要交2千元押金,快点送来。疯丫头半信半疑给教授打电话,教授说在她家楼上,要她去接。这时疯丫头已经一个人跑到小肥羊店里来了。非常不巧的是,悍超这时候也来了,疯丫头便要他一起去找教授,我和教授看着他们2个进去店里,以看他们要出来了,连忙分散躲起来,看到疯丫头在给教授打电话,我便给悍超打,没想到他竟然走过来了,我就被发现了。于是我们3个人上包间里去等教授,教授只一小会儿就也来了,呵呵。要不是悍超,估计疯丫头就真的去找教授去了。
  后来陆陆续续大家都来了,教授和疯丫头出去买饮料。疯丫头打电话给猫猫,说没带零钱,要猫猫去接。猫猫说教授已经去了呀,于是还打电话给教授。我们使劲劝猫猫不要打,人家肯定是在一起,串通好的,可是猫猫这人就是不听,还硬要打,打完教授还要打疯丫头的。过了一会儿,教授满头大汗的样子一个人空手回来了,说是没找到疯丫头。猫猫急了,我们剩下的人就说,快去找吧。于是猫猫真的出去了,一出去我们几个就笑起来,一边吃火锅一边看着疯丫头和一脸无辜的猫猫回来了。呵呵,猫猫也真傻,但为什么不肯听别人的劝告呢。
  吃完火锅,先去了一下梅林那边的一个基督教堂。差点出不来,里面人很多,都很有心得地讨论各自的遭遇和体会,但不好玩,我们又都不信教。然后我们又去了上次去过的茶艺馆找了个大包间3个小时。其它的人都打麻将去了,我则又跟疯丫头一起下五子棋,下得头昏脑胀的。一直到7点才出来,找了家湘菜馆,各人点了个饭,吃了便回来了。
  总之,这样出来玩,还是多开心的。