Lisp中的Symbol

Lisp中的Symbol(符号)这个概念在我熟悉的Python,Java,php中并不存在. 以下稍作总结以备忘:

一个Symbol在Lisp程序任意Scope中拥有唯一的字符名,用于在特定Scope中通过该Symbol来找到某个Variable(变量)或Function(函数). 这个概念类似其他语言中的Variable name(变量名)或Function name(函数名)。在python或Java中,变量名或函数名和名称所指的变量或函数同生同死,密不可分. 而Lisp的Symbol显得更为独立.

Symbol(符号) vs Viriable(变量)

  • Lisp程序中,Viriable(变量)的值存储在指向该变量的Symbol(符号)的value cell(值单元)中. 一个Symbol在利用value cell储存变量的同时也可以利用function cell(函数单元)存储Function(函数)或Macros(宏). (就是说一个Symbol可以同时被作为变量和函数的标示使用)

Symbol带来的优势

在其他语言中当你的程序执行完 x= 7 语句后 ...

修复了rss(atom)输出

感谢mrluanma同学提醒。 blog的rss(atom)输出标题,链接不正确问题已经修复。

使用markdown编辑的文章在rss输出时现在也转换成了html且全文输出.

这次修复记录在该issue中.

GNU info简介

前阵子开始学习lisp,找了一圈书籍文档后发现最适合的就藏在emacs神 器里(Help-More Manuals-Introduction to Emacs Lisp). ;-)

这份文档以Textinfo格式编排,info程序或emacs下的info模式是阅读Textinfo文档的标配. 与之前熟悉的man,html,pdf,chm阅读体验相比,info阅读有些门槛,得花点时间熟悉。

相对于man page;Textinfo支持目录,层次化节点关系,节点间的交叉链接,(info比html早两年被创造出来)等结构化文档概念. 这使得它更适合复杂文档或电子书.

info程序有自己的一套快捷键机制。熟悉了这套快捷键机制并在脑中有文档结构概念后,浏览文档会比在浏览器方便得多. 以下是常用的几个:

  • spc(空格):向下滚屏,至末尾后进入下一个文档节点
  • backspace(退格): 和空格相反,向上滚屏,至顶端后进入上一个文档节点
  • l : 回朔浏览历史,等同于浏览器中的回退。
  • n : 进入文档节点数中同级别的下一个节点 (*如果该节点包含子节点,n ...

给两个朋友架设了pylogs服务

这周给两个朋友架设了pylogs博客程序

  • gestorm.info
    在珠海时认识的张慧聪同学.今年刚毕业.人如其名,思维敏捷且视野开阔,常常在我毫不留心的地方看出有意思的问题,为人正直思维独立,写得一手褒贬时事的好杂文,我专门注册了校内帐号只为看他的文章(他的校内地址). 在挨踢之外,慧聪同学兴趣广博得惊人.人物素描;太极拳;小提琴;围棋样样不含糊. 机缘巧合的是慧聪同学在我来到北京后也离开了珠海,目前从事it出版行业。相对于冷冰冰的code,system, 相信博学多才的慧聪同学能获得更好的发展和乐趣.
  • oldpai.com

    梁庆喜老兄是我在珠海结实的第一个朋友.广东人的精明勤奋在庆喜身上体现得淋漓尽致.庆喜兄专注于UNIX SA.不像我经常性的朝三暮四,庆喜的专注既让人敬佩又让人恐惧.短短一年时间,庆喜同学神速的把cmd工作环境,BSD系统管理到SVN,trac,wiki,maillist的部署维护这些SA相关工作掌握得游刃有余 。一开始我还能在老兄前秀点SA三角猫功夫,不出几个月就只有乖乖讨教的份了.庆喜兄原来的blog上(需翻墙)有不少工作中亲身总结的SA工作经验分享.希望他能早日把这些宝贵资料转移到pylogs上 ;-)

由于webfaction主机的高度可玩性和灵活度,在不同用户目录下架设独立服务器很方便.但这种方式花费的内存颇为可观 ...

【单向街·沙龙】胡泳·网络时代的众声喧哗

第二次参加单向街沙龙,今天的主题是由胡泳先生带来的网络时代的众声喧哗,胡泳先生目前在北大任教,之前有译作《数字化生存》,《比特之城-空间.场所.信息高速公路》等,此外还参与过火红一时的CCTV"赢在中国"等一干电视节目的策划和组织。

今天胡先生以《众声喧哗》,《未来是湿的》两本新作为契机分享了他对目前网络社会的看法.他把网络社会中形形色色的活动场所以私人空间公共空间两个概念进行抽象。并举了很多有趣的例子(赢在中国选手轻生留言事件;人大教授与学校的冲突,贵州警察博客流露对工作的真实感受;这阵子被人肉的焦点访谈谷歌淫秽事件小男生)来说明网络中私人空间和公共空间被有意无意的误用对彼此的冲击. 胡先生认为

公域与私域不能看做结构性的东西,而必须视之为一种流和一种过程。在网络时代,我们既要追求生机勃勃的公共生活,又要保证私人领域一定的自主性。共有媒体也许不能一夜之间改变中国政治,但是却能够促进独立于国家的社会力量的发展。

除了围绕网络私人空间和公共空间展开的讨论,胡先生还以不满绿坝的强制安装表达了对网路自由与隐私受到强权侵犯的忧虑.在现场他以公共知识份子的身份号召技术人员与法律专家结合起来维护我们正不断被侵犯的权利.

分享结束后我向胡先生提出了以下问题

虽然目前各种网络社区正不断靠线下真实关系网来增加用户黏度,但随着技术的发展和网络应用表现力的提升,如果杀手应用出现,使得大家能通过网络交流的信息量出现爆炸性的提升,未来有没有可能在私人空间和公共空间之外再构建起一个虚拟空间.使得现在需要靠私人身份在公共空间获取注意才能得到的存在感和心理需要能以完全虚拟的身份被满足,从而解决私域和公域滥用带来的矛盾?

胡先生认可技术发展的趋势 ...

markdown标记语言简介

MARKDOWN是一种轻量级标记语言,语法风格来源于纯文本邮件传统。使用轻量级标记语言配合相应的转换器能让你在纯文本环境下不需要记忆复杂的html标记就能编写出结构丰富(包含各种级别的标题,不同类型的列表,混合链接与图片)的文章. 有一种很有意思的说法:

尝试用轻量级标记写东西,能让你的写作从依赖高级编辑器的可见即所得模式升级成自由的所想即所得模式 ;-)

相对于其他轻量级标记语言Wikitext,reStructuredText,Textile,MarkDown有如下特点:

  • 语法简单.
  • 源文件可读性高,编写容易.
  • 嵌入html直观方便.

她比较适合写blog之类篇幅较短的文章,如果是结构复杂的正式文档,reStructuredTextTextinfo应该是更好的选择。

NLP & NLTK

上周cpug北京聚会时elias 同学分享的NLTK介绍是两个听得最过瘾的topic之一(另一个是harry同学的python并发调度)。

会课回来后 NLP(Natural language processing) 和NLTK一直在脑中萦绕. 是时候开始学点硬货了.

在elias的演示中,一句普通的英文句子通过nltk处理,摘要出的关键部分可以直接构造成SQL语句.  结合语音识别技术和移动应用, web3.0语义网的威力不可估计.

广博的NLP领域中我会以  词性标注  做为出发点面向英语学习应用进行学习。而且得争取让NLP,NLTK在工作中得以体现。

开博了

有了搭建独立blog的想法很久了,,,上周五,终于出手买了域名空间, 今天部署了blog程序。  作为开端,已经超乎我想象的顺利.

域名:   godaddy.com

  • 界面繁琐了些,但支付流程相当迅速.  

空间:   webfaction.com

  • 最初在yangyubo兄处看到推荐,随即搜索了国外评论,真不愧是djangofriendly.com 排名最高的主机商, 可玩度和速度都很令我满意,现在担忧的是600G/m 的流量要怎么用呢?

blog 程序:  http://code.google.com/p/pylogs/

  • 国人作品,希望以后能为这个项目贡献力量。

争取每天都写 一点,, 再平凡的生活也值得记录