The C Library

当我们学完C语言之后却发现不能用C语言写点什么东西。这种错觉严重的阻碍了大家在C语言道路上前进的步伐。和Java ,C# 一样C语言也有丰富的类库,而且都是经过了时间的考验。下面贴一些比较常用的开源C Library。

libc
Home Page

GNU C Library is one of the most important components of the GNU Hurd and most modern GNU/Linux distributions. It is used by almost all C programs and provides the most essential program interface.

Libstrfunc
Home Page

Handy library for manipulating strings, string arrays, buffers, CGI forms, configuration files, textual templates, regular expressions, date/time parsing, et cetera. It handles base64, quoted-printable, url_encode, mime-words and other encoded data.

Libcurl
Home Page

‘libcurl’ client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. It also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, and http proxy tunneling, and has bindings for 21 languages.

Libxml2
Home Page

Libxml is the XML C library developed for the Gnome project. The library code is portable and modular; most of the extensions can be compiled out. Libxml implements a number of existing standards related to markup languages, including the XML standard, Namespaces in XML, XML Base, RFC 2396, XPath, XPointer, HTML4, XInclude, SGML Catalogs, and XML Catalogs.

In most cases, libxml tries to implement the specifications in a relatively strict way. To some extent, it provides support for the following specifications, but doesn’t claim to implement them: DOM, FTP client, HTTP client, SAX, and DocBook SGML. Support for W3C XML Schemas is in progress.

netwib
Home Page

Netwib is a network library for administrators and hackers. Its objective is to let programmers easily create network programs. This library provides features for Ethernet, IP, UDP, TCP, ICMP, ARP, and RARP protocols. It supports spoofing, sniffing, client, and server creation. Furthermore, netwib contains high level functions dealing with data handling.

This packages was formerly known as ‘lcrzo.’

Apache Portable Runtime (APR) project
Home Page

The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementations. The primary goal is to provide an API to which software developers may code and be assured of predictable if not identical behaviour regardless of the platform on which their software is built, relieving them of the need to code special-case conditions to work around or take advantage of platform-specific deficiencies or features.

btw: Subversion 就是使用 APR 作为底层库的


摩尔定律

托摩尔定律的福,如今的PC硬件实在是便宜啊!一般主流的PC也就是3-4k。我们这个价格拿到其它产品上去试试:

一个单反相机,最低也要4k+

一个智能手机,也不便宜2-4k+,比较下体积和功能,除了能打电话哪一点强过PC?

所以嘛有钱还是买个PC玩,超级适合宅男!

以上这些也是就是随便感慨一下,别太过认真的去比较。电子产品始终是消费品,就是图一个新鲜劲。过了瘾就完了。PC 可是我吃饭的家伙!


Bruce Lee

Bruce Lee (李振藩) 一直都是我的偶像。曾经认真的追随过他,却也忘记他很久了。现在央视热播的《李小龙传奇》又唤醒了自己。

下面是一段采访 Bruce Lee (李振藩)的视频。让他亲自来介绍他的武学,哲学。


知行合一

近些日子隐约觉得阳明先生的知行合一是我的一盏指路明灯,现在还不能完全开悟。下面节选两段先生的文章,传递给有心之人。

[原文]

来书云:真知即所以为行,不行不足谓之知,此为学者吃紧立教,俾务躬行则可。若真谓行即是知,恐其专求本心,遂遗物理,必有闇而不达之处,抑岂圣门知行并进之成法哉?

知之真切笃实处。既是行,行之明觉精察处。即是知,知行工夫,本不可离。只为后世学者分作两截用功,先却知、行本体,故有合一并进之说,真知即所以为行,不行不足谓之知。云“知茛乃食”等说,可见前已略言之矣。此虽吃紧救弊而发,然知、行之体本来加是。非以己意抑扬其间,姑为是说,以苟一时之效者也。“专求本心,遂遗物理,”此盖先其本心者也:

夫物理不外于吾心,外吾心而求物理,无物理矣。遗物理而求吾心,吾心又何物邪?心之体,性也,性既理也。故有孝亲之心,即有孝之理,无孝亲之心,即无孝之理矣。有忠君之心,即有忠之理,无忠君之心,即无忠之理矣。理岂外于吾心邪?晦庵谓:“人之所以为学者与理而已:心虽主乎一身,而实管乎天下之理:理虽散在万事,而实不外乎一人之心。”是其一分一合之间,而未免已启学者心、理为二之弊。此后世所以有“专求本心,遂遗物理”之患,正由不知心即理耳。夫外心以求物理,是以有訚而不达之处:此告子义外之说,孟子所以谓之不知义也。心一而已,以其全体恻怛而言,谓之仁,以其得宜而言谓之义,以其条理而言谓之理。不可外心以求仁,不可外心以求义,独可外心以求理乎?外心以求理,此知、行之斫以二也。求理于吾心,此圣门知、行合一之教,吾子又何疑乎!(节选自《王阳明全集·传习录》)

[原文]

先生曰:“我辈致知,只是各随分限所及。今日良知见在如此,只随今日所知扩充到底;明日良知又有开悟,便从明日所知扩充到底。如此方是精一功夫。与人论学,亦须随人分限所及。如树有这些萌芽,只把这些水去灌溉。萌芽再长,便又加水。自拱把以至合抱,灌溉之功,皆是随其分限所及。若些小萌芽,有一桶水在,尽要倾上,便漫坏他了。”(节选自《王阳明全集·传习录下·门人黄直录》)

王守仁(1472年-1528年),字伯安,号阳明,浙江余姚人。明代最著名的思想家、哲学家,陆王心学之集大成者,非但精通儒、佛、道,而且能够统军征战,是中国历史上罕见的全能大儒。

因他曾在余姚阳明洞天结庐,自号阳明子,故被学者称为阳明先生,现在一般都称他为王阳明,其学说世称“阳明学”。在中国、日本、朝鲜半岛以及东南亚国家都有重要而深远的影响。


IIS & FastCGI

Blog 自从搬家到 PHP5ISAPI +  IIS + Windows 平台上以来,竟然让服务器宕机多次。查看event log 也没有发现到什么可疑信息。在PHP manual提到以下信息:
If you experience 100% CPU usage after some time, turn off the IIS setting Cache ISAPI Application.

关于这个选项,反复设置可还是出现宕机的情况。看来ISAPI不是那么的可靠。但在IIS上,用什么方式才是PHP的最佳?

FastCGI,Microsoft说这个可以提升PHP在Windows的性能xx倍!稳定性也好!东家这么使劲的鼓吹这玩意,总有一定的道理。实践出真知,先用上再说!

果然,一天下来没再见到Windows宕机。验证的时间是短了点,但是总还是给我带来了欣喜。

参考资料:

配置FastCGI

http://www.pcvc.net/archive/2008/8/26/90.html 中文,简易配置版

http://learn.iis.net/page.aspx/248/configuring-fastcgi-extension-for-iis60/ 官方英文 IIS 6

http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/ 官方英文 IIS 7


Moving to WordPress from Google Blogger

Blogger的稳定性实在人揪心,国内网络时常不能访问。今天从朋友那里借来一块宝地,在上面搭建起了WIMP环境。很久都没有手工搭建,陌生了很多,所以改用Windows上特有的安装方式。setup->next->finish.

安装WordPress以后才发现,原来WordPress提供从多种Blog系统导入的功能,很幸运,Google Blogger也在其中。按照WrodPress上的链接一步步的操作以后,却一直没有成功导入。总是提示: We were not able to gain access to your account. Try starting over.

操起史上最强大的troubleshooting工具->Google,看看别人有没有过相同的遭遇。“90%以上的问题都是别人曾经遇到过的”–在IT领域这话很有道理!发现有人支了不错的一招,传说 wordpress.com 可以导入Google Bloger,于是一种曲线救国的道路就此展开。

先在wordpress.org上注册一个免费帐户,通过此帐户从Google Blogger导入。然后再将wordpress.com的信息搬到自家的server上。这方法够cool。可等我操作的时候又有新的问题出现。在wordpress.com上注册的账户死活访问不了。http://tairan.wordpress.com 链接不上!

看来只能明天到公司里试试了。

Update:

  1. wordpress.org -> wordpress.com 后者是wordpress.org提供的商业blog空间
  2. wordpress.com 和 blogger 差不多,受阻于国内网络原因而不能正常访问。
  3. IIS的确不靠谱,各种权限都试过以后,还是不能把wordpress.xml文件上传。改用apache在内网导入wordpress.xml后切换到IIS中

所看见的并非是事情的全部。

十一回家,因为没买到坐票,只好在动车组上站着,中途见一对母女(女孩大约3-4岁的样子)上车,在火车行驶的过程中,这位母亲到处走动并告诉人家说她手上的车票是有坐的,但是位置被别人占了。很多好心人都劝她去跟别人理论,凭什么有座票却没座位,何况还带个孩子。这位母亲推说不想跟别人吵架,非要等列车员来解决。原本如此简单的事情,让周围的人议论纷纷,有的说这位母亲比较软弱,有的给她打气,最终只见说话不见任何人以任何实际行动来帮忙。
此时,我十分的看不顺这些动嘴皮子的,所以就在心里盘算着该怎么帮忙。心中设想着各种情况出现的可能,把最坏的暴力解决问题的想法都有了。
也许是我想的太多,也属于沉默的大多数。
列车员来了,列车员带着母女两人,来到了座位旁。拿着票说这母女有车票,座位在这。可座上的人却说她也有座票,而且座位也是这里。??? 怎么会出现同一张座位有两张票?列车员拿着票,左看右看,上看下看,许久后,对这母女说,你的票是假票。传说中的假火车票就这样横空出世了。
列车员把母女两人又带到了列车长那里,后面的事情就不知道了。。。。
上面这件事,让我思考了很久。
1. 助人为乐,没有错。该出手时就出手
2. 做事情要考虑周全,因为不是什么性命攸关的事情,所以还是要考虑一下的,千万不能动不动就想到暴力解决问题。暴力只会带来更多的暴力,除非对方就是欠扁!
3. 我们看到的是事情的全部吗?如果不是在列车员几经研究才发现出是假票,难道我们拿着假票理直气壮的去要座?

– 写到这里,不知该怎么继续了,我开始迷惑自己刚开始坚持的观点了。刚刚脑袋里闪现出我们经常看电视遇到的情形,某人做了很多好事,却因为别人看到某人恰巧做的一件不好的事情而产生种种的误会。所以还是要冷静的分析,多沟通。把事情的全部过程弄明白了再发表意见。也许这是我想表达的意思。