development

FreeBSD src/ r240000

(最后修改: Development #FreeBSD #SVN #Version Control

Alan L. Cox 今天 commit 了 r240000。我记得刚换 svn 的那会才18到19万 revision 的样子。。。

FreeBSD 的 svn 代码库包括了从 1993 年 6 月 12 日到现在的全部 revision。与之前的 “n"cvs 不同(由于诉讼原因,FreeBSD 在 1994 年以 4.4-Lite 为基础重建了新的 cvs 代码库,也就是 2.x 和后来版本的 ncvs;早期代码库仍然可以在一些光盘出版物上找到),这套代码库包括了 FreeBSD 从一开始到现在的全部修订历史(不过,FreeBSD 2.0 之前的 tag 并未保留)。

参与评论

GNU libtool 和 FreeBSD 10

(最后修改: Development #GNU libtool #FreeBSD #compiler

FreeBSD 开始用 10 以上的版本号有一段时间了。这个变动立刻导致了大量 ports 无法编译,多数情况下是因为开发者采用了较早版本的 libtool 导致的,具体来说,是类似下面的代码:

阅读全文… ( 本文约 198 字,阅读大致需要 1 分钟 )

网址缩短服务

(最后修改: Development

前一段时间帮一个朋友做了一个非常简单的网址缩短服务,已经上线运行了一段时间,这里把当时设计的一些想法分享出来,等有时间我会把代码也发布出来,程序很简单,用 web.py 做的。

阅读全文… ( 本文约 866 字,阅读大致需要 2 分钟 )

源代码有那么重要吗?

(最后修改: Development

很多人在一个新产品发布的时候,往往会非常关心这个产品是否发布了相应的源代码。然而,对开发者来说,这毫无疑问是一种本末倒置的关注。

源代码能告诉我们的事情是,一件事情是"如何"去做的,而不是"为什么"要那样做。这事就有点像填写报税的表格,那个表格会告诉你在第1行到第20行每行填写什么数字,然后从第几行到第几行的数字相加,减去第几行到第几行的数字之后写到第几行。而当你想要知道为什么要这样做的时候,税表会告诉你"详见税法某某条"或"详见某说明",而提供了源代码的产品就不一样了,因为那些说明,往往要么是一些公司的内部机密文档,要么干脆没有。

阅读全文… ( 本文约 682 字,阅读大致需要 2 分钟 )

关于如何扩展复杂且难懂的C代码的一点经验谈

(最后修改: Development

有时,我们会希望扩展一些现有的C代码。这些代码可能经历了相当久的运行考验——它们至少目前工作起来没有问题——然而,它们可能存在各种各样的问题,比如:

  • 缺少注释。
  • 过分使用的goto语句。
  • 变量名不规范。
  • 逻辑复杂难懂。
  • 过分使用表达式赋值(if (foo = bar()) {})
  • 直接返回函数返回值(这是合法的,但会给增加功能带来困难)

要扩展这类代码是一件有挑战的事情。

阅读全文… ( 本文约 705 字,阅读大致需要 2 分钟 )

唐僧,种子,好在多数人的头脑还是正常的……

(最后修改: Development

有时候我会有一些别人难以理解的行为,但是可喜的是,好在多数人的头脑还是正常的,即使不是多数,但是至少还是有一些的。

一篇文章,能够引起如此大的争论,其实也没什么不好。虽然说这篇文章被和另外一篇文章合在一起发表,颇让人有些不爽的感觉,但是正如我跟一位Linux社区的朋友说的那样,没有什么好生气的。

为什么呢?争论并不是一件坏事。

当你看到那些迫不及待地想强迫别人接受他们观点的人所作的人身攻击的时候,用自己的大脑去思考的人,会去相信这些人所说的话吗?

我当然在等待你们的发言,因为你们的所谓论据、观点,不过在证明自己的错误。

我评价过GPL,评价过BSD,但从来没有说过哪怕一个比特的「GPL不好」或者说「BSD好」,我只是给了大家一些事实,帮助大家去理解这些事实,至于达到什么样的结论,那是每个人自己的事情。更不要忘记,那是一年前的事情。我承认我一年前确实心态不够平和,尽管这并不一定意味着我说的是错的。

那位说「自私」的升华的人很可笑,因为无论如何,你的论据不过建立在自私的基础上,这不过是一个政治观点,另外你还范了一个非常可笑的法律错误——任何授权所保护的都只是实现本身,而不是方法。即使你用GPL写了一本教科书,我按照其中的方法去写的东西,仍然可以是任意的授权。

阅读全文… ( 本文约 1509 字,阅读大致需要 4 分钟 )

关于我的一篇文章的讨论

(最后修改: Development

http://www.clinux.org/forum/showthread.php?threadid=4972 上面有一群人讨论了一把我的日记摘抄。很可惜,这些人并不了解历史,也不愿意了解历史。让我们来看看他们都说了些什么,我也来正面地回答一下他们。

如果你写不出来,闭嘴,因为你只是一个弱者,世界不同情弱者。
这话说得不好,这种缺少同情心的人的言论,就算是正确的我也不会因此而欣赏他。

我已经过了那个相信同情可以改变世界的年纪。同情不能改变任何事情,做事要比同情重要的多。

如果我的代码因为授权的原因而没有被一些人使用,他们不得不重新开发一个版本,那么我认为我的代码没有发挥它的价值。
如何确保你的代码不被别人恶意使用?这世界从来不缺少卑劣的想法和卑劣的人。

一个如此充满同情心的人,尚且如此不相信世人,怀疑他们会恶意利用,那么,你如何指责我一个没有同情心的人?

好比说,我做了一瓶老陈醋,以GPL发布,于是,如果哈哈可悲公司想要在他们的产品中加一滴老陈醋,于是……
物质财富和精神财富是不同的,有个经典的例子:你有一个苹果,我有一个苹果,我们交换后彼此仍然只有一个苹果;你有一个idea,我有一个idea,我们交换后双方都有了两个idea……

我有一个苹果,你愿意要我可以给你,只要你不说这是你种的。你把它做成苹果酱,但是并不需要像我一样种苹果。当然,别人也许会跟我说苹果酱很好吃,我也许也会做,但是你不需要公开你的方法。

没有人有义务白白地替别人劳动
听说过"等价交换"这个词吗?获得合理利润是正确的,是好的,是无可厚非的,但是想要获得本不属于自己的暴利就是不对的。的确,没有人有义务白白地替别人劳动,但是也没有人有权利获得不属于他的(这里特指不等价交换中那多出的部分)。

如此充满同情心的人怎么会谈及等价交换?

而不是推广我的什么理念!
你想不想推广什么理念是你的自由,其他人想不想推广他们的理念也是他们的自由,你不想做的不代表别人也没有权利去做。

我的文章没有任何地方提到要剥夺谁的自由。你有权力使用GPL,我有权力使用BSD,但是别用你的GPL脏手碰我的BSD代码。

GPL不过是用了一种不自由取代了另一种不自由
自由与不自由是相对的。

诡辩。

阅读全文… ( 本文约 3382 字,阅读大致需要 7 分钟 )

Beat MSXML's utf-16 cling

(最后修改: Development

Today I got in a rush to implement a XML+XSL -> HTML translation at server side. I looked at MSDN and found that there is a simple implementation which can fit my requirements, the code is the following (for some reasons I have to use ASP and not .net technologies):

阅读全文… ( 本文约 261 字,阅读大致需要 2 分钟 )

令人呕吐的Java DK

(最后修改: Development

一直以为自己能够调试所有的程序,因为我一直以能够不依赖IDE调试,用一组assert,printf就能改掉别人花几个礼拜也没办法track down的东西,然而今天JDK让我折服了,用Java写的程序,如果没有IDE,简直就不具备可调试性!

阅读全文… ( 本文约 984 字,阅读大致需要 2 分钟 )

Statistics of viruses caught by Frontfree Mail System yesterday

(最后修改: Development

Gibe is still the first place, and MyDoom(here, it was called Worm.SCO.A) drastically dropped down.

beastie# bzcat maillog.0.bz2 | grep INFECT | awk ‘{print $8;}’ | sort | uniq -c | sort -rn
181 (Worm.Gibe.F),
86 (Worm.SCO.A),
2 (Worm.Dumaru.Y),
1 (Worm.Sobig.F),

阅读全文… ( 本文约 288 字,阅读大致需要 2 分钟 )