Web Analytics

解决BuildBot构建结果mail无法发送的问题

在“使用BuildBot搭建持续集成环境”一文中我曾经说到:公司使用的mail服务器只支持SSL连接,而BuildBot似乎对SSL连接的支持有些问题,导致构建结果mail无法发送“。BuildBot实际上使用的是Twisted的mail库来发送邮件的,我下载了Twisted的一些mail发送的例子程序,并使用我的公司mail账户配置,但依旧发送失败。看来这个问题与Twisted的实现有关了。 这个问题已经折腾我许久了,难道非得让我去debug Twisted库?还好,今天我想到了另外一种方法:使用stunnel。原理是这样的:通过stunnel将非SSL连接转换为到公司mail服务器的SSL连接,通过stunnel建立的这条转化通道,mail发送的问题就应该可以解决了。想法归想法,实际上能否达到我的目标,还得通过试验验证。 首先我们需要在BuildBot的master服务器上安装stunnel。 ...

May 31, 2011 · 4 min · Tony Bai

使用Make的命令行变量

有了BuildBot搭建的持续集成环境还远未结束,具体的构建脚本还得自己来写。我们用的是Make工具,对应要编写的脚本就是Makefile。 Make是日常代码构建常用的工具,尤其是绝大多数C和C++项目都会将Make作为首选构建工具。平时多数情况大家都是直接敲入make命令便开始了构建过程,很少有人为make传入什么参数的(调试Makefile的情况除外)。但是有些时候自定义的Make命令行变量还是很有用处的,特别是在将Make与持续集成环境集成的时候。 ...

May 19, 2011 · 2 min · Tony Bai

Ubuntu一年使用感受

今天是Ubuntu 11.04版本(Natty Narwhal)发布的正日子!想必全世界的Ubuntu Fans们都会或多或少的兴奋上一阵儿。我接触Ubuntu这个Linux发行版较早,甚至可以追溯到Ubuntu 5.10。不过真正将Ubuntu作为我日常工作学习的第一操作系统还是在去年Ubuntu 10.04LTS版本发布之后。从那时起到现在整整有近一年时间了。这里我也来说说这一年来使用Ubuntu的感受。 ...

April 29, 2011 · 5 min · Tony Bai

升级Thunderbird

自从换装Ubuntu后,就一直使用Thunderbird。很是喜欢Thunderbird超快的搜索速度、按主题组织和展示Mail以及易用的快捷键。不过这两天Thunderbird一直在给我制造麻烦。通过Top查看,我发现我的Thunderbird一直在持续占用20%-30%的CPU,这导致我的本子变得很慢。虽然能看到这个进程,但是并不清楚Thunderbird究竟在做什么。开始怀疑它在后台压缩文件夹,我遂显式对每个mail较多的文件夹进行了一次压缩。压缩后Thunderbird似乎安静了一会儿,不过好景不长,不久那个进程又开始运转起来了。我怀疑这是个Bug,于是有了升级Thunderbird的想法。 翻看了一下Thunderbird的菜单,发现它似乎不支持在线升级更新。我使用的版本是3.0.6,官方最新稳定版本为3.1.9。下载最新安装包后菜发现这个包不过就是一个压缩的文件夹,文件夹里有Thunderbird可执行程序和一切它依赖的资源文件。这样看来Thunderbird的升级实际上就是一个“替换”的过程。 ...

March 21, 2011 · 2 min · Tony Bai

Review Board的几点使用体会

近期产品线研发体系正式将Review Board这款优秀的基于Web的代码评审开源工具引入到开发过程中,作为产品线内各项目组进行代码评审的辅助工具。我对Review Board近两年多的关注总算没有白费,算是有了一个还算不错的结果。不过Review Board的正式使用并不代表一种结束,反而恰恰是一个新的开始。我们下一步要关注的是如何用好Review Board,让它真真正正地为改善产品质量和开发效率出力。 ...

March 4, 2011 · 6 min · Tony Bai

眼神儿太差了

昨天晚饭后,打开本子继续工作,却发现无法连上无线路由器。最初以为路由器忘记打开了,可拿起路由器看了下,不是那么回事儿,路由器工作一切正常。我这才看到发现本子的无线网卡的指示灯不亮了,以前在这台x60本子上还从未出现此类情况,于是开始查找故障原因。 故障查找过程是痛苦的,一次次燃起希望,又一次次被冷水破灭: * 最初怀疑是我误点击了Fn + F5而把无线网卡关了,于是我又无数次的点击Fn + F5,居然一点反应都没有; * 我的T400上有无线网卡的硬件开关,我将x60翻转了几周,也没找到无线开关位置; * Ubuntu上Network Manager面板中,无线网络显示已停用,且菜单项为灰色,无法选择,无法启用; * N次重启机器,无果; * 切换到Win7下,Win7设备管理器显示无线网卡设备正常,驱动正常;反复停用、启用无线,都无法使指示灯亮起; * 重启机器,F1进入BIOS,查看网络设备也是Enabled,遂将BIOS恢复成默认出厂设置; * 再尝试进入Win7,蓝屏,提示修复,修复若干次依旧无法进入Win7,无线指示灯依旧处于熄灭状态; * 继续回到Ubuntu下折腾,卸载Network Manager,更换网络管理软件,用T400下载WCID,并用U盘COPY到x60里安装(家里没有备网线),WCID也没比自带的Network Manager好哪里去,依旧无法找到无线网卡; * 恢复Network Manager; * 用系统->系统管理->系统日志查看器查看系统日志,看到如下错误日志: dhclient: receive_packet failed on wlan0: Network is down wpa_supplicant[824]: Failed to initiate AP scan. NetworkManager: WiFi now disabled by radio killswitch NetworkManager: (wlan0): device state change: 8 -> 2 (reason 0) NetworkManager: (wlan0): deactivating device (reason: 0). NetworkManager: (wlan0): canceled DHCP transaction, dhcp client pid 2816 * 根据网上资料,按如下操作: – sudo -i – echo 1 > /sys/class/rfkill/rfkill0/state – 重启机器 问题依旧。 ...

January 28, 2011 · 3 min · Tony Bai

又遇字节序问题

今天上午处理了一个线上产品的故障。分析来分析去,最后定位问题还是出在字节序转换的环节上。 其实测试组早在产品上线前就曾报告了这个问题,但是对应的开发人员并未对该问题进行深入地分析,而是有些草率地将该问题归结为客户端模拟器的实现不符合标准。因为这位同事比较资深,所以当时我也没有给予足够关注。 ...

January 21, 2011 · 2 min · Tony Bai

使用Libtool创建库文件

除了autoconf和automake,GNU的autotools工具包中还有一种工具,它就是libtool。顾名思义,libtool是一个关于库文件制作、安装和使用的工具,它屏蔽了各个平台在库制作、安装和使用方面的差异,为上层提供了统一的接口。你可以直接使用libtool创建静态或共享库,也可以将libtool与autoconf、automake结合在一起使用。第二种方式显然更具实际意义,也更为简单。 在一个使用autoconf和automake构建的编译环境中添加libtool的支持,只需改动几处即可: 首先,你需要在configure.in(或configure.ac)中添加AC_PROG_LIBTOOL宏(注意:去掉AC_PROC_RANLIB宏)。 其次,修改Makefile.am: 如果是建立库文件,则需将lib_LIBRARIES改为lib_LTLIBRARIES,同时将库的后缀名由.a改为.la,这将告诉automake采用libtool来创建相关库: lib_LIBRARIES = libfoo.a => lib_LTLIBRARIES = libfoo.la libfoo_a_SOURCES = libfoo.c => libfoo_la_sources = libfoo.c ...

December 14, 2010 · 3 min · Tony Bai

在TeX文档中插入源代码

近期有了在TeX文档中插入源代码的需要。TeX的\verbatim可以帮助你保留输入text的原始格式,但用于输入源代码还是显得不够专业。Google了一下发现TeX中支持插入源代码的包也有不少,如LGrind、Listings等。LGrind似乎没有包含在TeX Live的默认安装包中,用apt-get尝试安装LGrind,发现居然要占用近200M的空间,遂放弃之,最后我选择了Listings宏包。 Listings宏包短小而强大,其典型应用方式如下: ...

December 1, 2010 · 3 min · Tony Bai

一个制作朴素幻灯片的TeX模板

自从有了For book的中文TeX模板后,我对TeX的热情便"继续"一发而不可收拾^_^。上周原本计划为内部的一个交流准备一个PPT,但在开始构思之前却突然想到:是否可以使用TeX完成幻灯片制作呢?Google了一下,果然有成熟解决方案-使用BEAMER。 有了TeX基础后,学习使用Beamer构建幻灯片就显得容易了许多,用TeX创建幻灯片文档与编写普通文档差别并不大。TeX制作的幻灯片文档也是由三个部分组成:文档类声明、Preamble区和正文区。 文档类声明中的选项为beamer,表示我们要创建幻灯片文档。 \documentclass{beamer} % 文档类声明 Preamble区甚至可以复用普通TeX文档中的那些设置,这里不再赘述^_^。 ...

November 8, 2010 · 2 min · Tony Bai