什么是 CMake
All problems in computer science can be solved by another level of indirection.
你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作。
Read More
今天无意中看到了我在2011年的软件自由日广州庆祝活动中编写的一份slides。
这份slides简单介绍了黑客文化的兴起、Unix的诞生和与黑客文化的结合、Richard Stallman和他的GNU宣言,以及Linux的诞生和影响。算是对开源运动的历史背景、兴起和发展做了简要的介绍。内容还是挺有意思的,所以也在这里分享一下(我是在翻老本我会说吗)。
Read More
我在年初把博客迁移到了 ruhoh,用了一段时间之后,也开始感觉到各种不满意的地方。
就我个人的感受,ruhoh 有以下几个不足:
- 页面生成速度太慢。到目前为止我的整个站点总共写了100来篇文章,在生成的时候花了将近半分钟的时间。
- 定制性有限。由于作者一开始就把 ruhoh 定位在 language agnostic 的目标,因此在采用的模板语言也选用了最平台无关的 mustache。但 mustache 的语法能力实在有限,只支持简单的逻辑判断。像传参、循环之类的特性都不支持。比如我想实现类似 octopress 这样的 tag 插件,直接用 mustache 是不可能的,只能动 ruhoh 的 ruby 源码,而这样又和作者的设计目标相反了。
- 太小众。用 ruhoh 的人太少,插件相应也少,不像 Jekyll 或 octopress 那样有丰富的扩展。
- 不跨平台。ruhoh 在 Windows 下总会遇到一些奇怪的问题而无法运行。如果我因为特殊原因而需要在 Windows 下写文章的话就会很不方便。
- 更新缓慢。在我写这篇博客之前,ruhoh 的已经半年没有什么重大更新了。我在 4 个月前给作者提交了一个给文章生成 postid 的功能性建议,到现在的标签依然还停留在 next-release
阶段。
- 最致命的一个问题是,是连作者自己都很少用 ruhoh!在一个 issue 页面里,作者跟我们承认他自己平常也很少使用 ruhoh 。可想而知,如果一个产品连开发者自己都不用的话,很难保证这个产品会做得好。
Read More
现在这个bug已经被修复,见
#10205。如果你正在使用最新的bootstrap版本,应该不会再遇到这个问题。
Twitter-Bootstrap有一个名为scrollspy的脚本,顾名思义就是可以帧测页面的滚动,然后自动更新导航条的状态。见下面这个实例(请自动忽略最上面JS Bin的工具条):
JS Bin
Read More