Web Analytics

Hello,Sublime Text 2

用惯了Vim后,也会有一种尝试新Editor的冲动,这回Sublime Text 2满足了我的这个需求。据说Sublime Text是目前最火的代码编辑器之一,我周围为数不多的几个比较Geek的同事都已经开始使用Sublime Text 2或用了很长时间了,其官方网站首页的Feature Demo也的确非常地炫。 ...

April 1, 2013 · 6 min · Tony Bai

SVN命令输出结果的语言选择

今天一位网上的朋友在使用reviewboard时遇到了问题,我们在评论中探讨了一下。他的问题目前已经定位,大致是这样的:他在Windows上用svn diff生成的patch文件在提交给reviewboard时出错,但在linux上生成的patch文件是没有问题的。后来他发现这两个patch文件内容稍有区别:Windows上的patch文件中的diff结果包含中文,比如“版本 10”;而在linux下生成的那份patch文件中,“版本 10"变成了"revision 10”。reviewboard拒绝了带中文的那份patch,估计是reviewboard的字符编码设置让其无法识别windows下的那个字符集。 ...

March 15, 2013 · 3 min · Tony Bai

谋划2013

眼看2013年已经过去1/6了,这个谋划显然有些晚了。之所以晚,根本原因还是之前有些很多事情没有想清楚,即便是现在可能依旧比较朦胧。鉴于去年的目标执行情况不甚理想,尤其是工作目标方面,因此今年在谋划策略方面变得更加务实和收敛,期望能说到做到或做的尽可能的多。 ...

March 11, 2013 · 3 min · Tony Bai

也谈C语言的Struct Hack

今天在浏览网友huangz编写的“Redis源码分析”时,看到如下redis中的代码: struct sdshdr { int len; int free; char buf[]; }; 说实话,这类代码我见过很多,但直到这次我才知道这种coding trick的真实英文称谓是:Struct Hack。 到底什么是Struct Hack?其实倒也没有什么明确定义。首先它是一种coding trick;其次一定是与struct相关的;关键是struct中要仅有一个变长的字段,且该字段是struct中最后的一个字段,就像上面 sdshdr中的buf那样。这样的coding trick到底有何作用呢? ...

March 7, 2013 · 4 min · Tony Bai

玩转top

相信很多人和我一样,top是自己日常使用最多的linux资源查看工具。不过仅限于一些简单的日常场景罢了:敲入top命令,看看哪些进程占用 CPU较多,然后对这些CPU占用较多的进程逐一处理一下。显然这样使用top有些大才小用了。 ...

March 2, 2013 · 8 min · Tony Bai

为什么还用C编程?

本文翻译自Dr. Dobb’s杂志主编Andrew Binstock的文章“Why Code in C Anymore?”,以下是翻译正文。 传统的那些选择C而不是C++的理由的说服力已经逐渐地被削弱。还有什么继续使用C的更好的理由么? ...

February 27, 2013 · 4 min · Tony Bai

Go defer的C实现

Go语言中引入了一个新的关键字defer,个人认为这个语法关键字让异常处理也变得得心应手许多,对改善代码的可读性和可维护性大有裨益,是典型的语法棒棒糖^_^。 像下面这种代码(伪代码): void foo() { apply resource1; retv = action1; if not success release resource1 apply resource2; retv = action2; if not success release resource1 release resource2 } 有了defer后,代码就变得优美多了。 void foo_with_defer() { apply resource1; defer (release_resource1) retv = action1; if not success return ...

February 3, 2013 · 6 min · Tony Bai

关于Python Package下的Module import方式

2012年有一个目标我没有达成,那就是深入学习和使用Python语言。这个目标被其他学习任务和工作无情的抢占了,当然最主要的原因还是我重视不够^_^。 近期恰逢有一些Python工程的开发工作要做,就顺便略微深入地学习了一下Python:看了几本Python的英文大部头,比如《Learning Python 4th Edition》、《Python Essential Reference 4th Edition》、《Programming Python 4th Edition》、《Expert Python Programming》以及《The Python standard library by example》,看得我有些要吐了^_^。虽然之前用Python开发过buildc,但自我感觉依旧还是一个Python的绝对beginner,这 次通过这几本书的学习算是对Python有了个较为系统的了解了。 ...

January 24, 2013 · 5 min · Tony Bai

buildc 0.2.2版本发布

随着buildc在项目中的深入使用,开发和测试人员都提出了不少良好意见,让我们有些应接不暇了,这次的版本更新也是为了满足这些意见和建议。 由于忙于应对这些眼前的需求,原本0.3.0的改进计划也被推迟了一些。 buildc 0.2.2版本包含了两个主要修正。 * 增加了–ignore-error命令行选项 ...

January 15, 2013 · 3 min · Tony Bai

buildc 0.2.1版本发布

buildc 0.2.1版本是一个bugfix版本,修正了两个重要问题。 * 修正执行buildc pack –cmode=32-bit时无法创建32位安装包的问题 之前的buildc pack命令在打包安装程序时忽略了–cmode这个选项,这样即便传入32-bit这个参数,打出的安装包中的应用程序依旧是64位编译的。这次修正了这个问题,让buildc真正支持打32位程序的安装包。 ...

December 6, 2012 · 3 min · Tony Bai