All Stories

源代码高亮的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》里奇犽的哥哥说他妈妈哭了,因为奇犽现在都会砍她了,她好感动的。

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上也好像没有特别提到这个库啊。

学习一下设计模式

  今天跟同事谈起我看过的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++标准委员会的网站,搜罗了一堆建议、草稿,准备好好研究一下。这样想想,我们国内的技术水平大概永远也赶不上国外吧,那样的大师怎么也不会出在中国大陆吧,唉。

LLYF Articles W.I.P #1

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

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。  唉,不过这样的方法都只有我自己知道了,真是悲哀啊,只能自娱自乐了。...

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

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

我的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好像访问不了了。

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

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

新岗位一点兴趣都没有

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