在OpenLDAP中增加生日和性别的schema

新建一个schema文件,或者在随便哪个schema文件中添加如下内容

 attributetype  ( 1.3.6.1.4.1.33592.1.3.5 NAME 'gender'
        EQUALITY integerMatch
        ORDERING integerOrderingMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
        SINGLE-VALUE )
 attributetype  ( 1.3.6.1.4.1.33592.1.3.2 NAME 'birthDate'
           EQUALITY generalizedTimeMatch
           ORDERING generalizedTimeOrderingMatch
           SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
           SINGLE-VALUE )

参考:
http://tools.ietf.org/html/draft-gryphon-ldap-schema-vcard4-00

nginx+lua

1,install lua
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar -zxf lua-5.1.4.tar.gz
cd lua-5.1.4
make linux
make install INSTALL_TOP=/usr/local/lua-5.1.4/

vi /etc/profile
export LUA_LIB=/usr/local/lua-5.1.4/lib
export LUA_INC=/usr/local/lua-5.1.4/include
source /etc/profile

2,install nginx with packages

http://www.nginx.org/download/nginx-0.8.55.tar.gz

https://github.com/agentzh/echo-nginx-module

https://github.com/simpl/ngx_devel_kit

https://github.com/chaoslawful/lua-nginx-module

./configure –prefix=/usr/local/nginx-0.8.55 \
–add-module=../ngx_devel_kit/ \
–add-module=../lua-nginx-module/ \
–add-module=../echo-nginx-module/
make
make install

Firefox Extension: alexaLite

春节期间闲着没事,给自己做了一个查看网站AlexaTrafficRank的Firefox扩展。前两天重新整理了一下,起了个名字叫“alexaLite”,然后扔到AMO上了。让我感到既意外又兴奋的是,通过审批的短短几天,就有上百的下载量了。

这是我在AMO上对这个扩展的介绍:

Simple extension to let you get Alexa infomation of a web site, without install any toolbar.

alexaLite的思路其实是抄的goo.gl这个插件。安装完了以后,只要拖一个按钮到地址栏的旁边就OK了。以后每当你想知道当前正在浏览的这个网站的AlexaTrafficRank时,只需要点一下这个按钮就哦了。从此不再需要仅仅为了想知道一个网站的排名而跑到alexa去查,或者安装什么乱七八糟的重量级的工具条了,生活本应该就是如此简单的~right ?

为了避免更换API地址时重写这个扩展(只需修改GAE端),也为了避免因为使用这个小玩意而为网站的排名添砖加瓦,我在GAE上为Alexa的API增加了一层代理 => http://alexa-api.appspot.com/ 。返回的数据格式是JSON的,参数url可以是“URL地址”也可以是“域名”。如:

http://alexa-api.appspot.com/?url=9511.net

http://alexa-api.appspot.com/?url=http://kevin.9511.net/

alexaLite的下载安装的地址在:http://addons.mozilla.org/addon/142502 欢迎使用并拍砖:P

互联网行业注定是弱势群体

李彦宏的博客看到的,看完之后,只有一声叹息。悄悄的转载,呐喊的不要。

互联网,据说是唯一一个在国内市场打败了所有气势汹汹的国际寡头同行的中国产业;互联网,据说是一个曾经完全靠一批有梦想的人用规范的民营资本运作起来如 今正在国进民退的朝阳产业;移动互联网,据说是中国目前真正可以和世界基本同步的新兴战略产业。但是,在中国最高级别的决策会议上,却没有一个人愿意振臂 高呼,或者哪怕是敢于提一两个句子来呐喊。

原文地址:http://mrpad.blog.sohu.com/145352885.html

玛丽和马克思

很久没写点字了,工作乱七八糟,生活杂乱无章,也实在没什么好写的。今夜本来是要早睡,关机前发现昨天开始下载的《玛丽和马克思》已经完成。于是乎,伴着烟盒里仅有的4根将军和半杯浓茶,就这么看完了。

这是一部没有震撼的特效、没有曲折的情节、没有大规模的宣传、制作简陋到极点的独立动画电影。正是这样一部起初看的我有点昏昏欲睡的动画,在豆瓣上拿到了少有的9分(阿凡达也不过才9.1分)。更让人动容的是,这片子改编自一个真实的故事。甚至字母翻译者在片尾都额外加上了一句“谨以虔诚之心翻译本片字幕献给过去现在未来的所有朋友”。

看片子的过程中不止一次的发现其实自己有时候很像Max。正当我在笨拙的试图组织一些文字去表达我现在的心情时,看到了豆瓣上的这篇评论,且与我的感觉如此的想象。摘抄两段,以表我意。

看到他坐在打字机前面认真的敲打的每一个字,那些单调而寂静的场景是多么的熟悉。大部分时间,我就是这样度过,或者说,即使有很多人在身边,我也常常会有一种很安静的感觉,似乎只能听到那些声音的频率而已。我仿佛看到我自己,丑陋,肥胖,懒惰,懦弱,却渴望美好,勇敢与坚强。而同时Max又是那样的可爱, 他会发明属于自己的词confuzzled,他会给市长写信,他的内心深处有着多么可爱而顽皮的一面啊。但是同时,他不断的在数有几根烟头。我一直觉得, 当有一天你觉得生活不再精彩的时候,就会开始计算身边的一切,就如同睡不着数羊一样,这只是一种让自己坚持下去的办法。那些一个人寂寞的夜晚,如果是日久 天长的话,一定会吞没心中的信念。

我想我之所以像Max一样也如此的焦虑与厌烦多半是出于对于自己的失望。我们都曾经因为自己的小智慧而得意洋洋。但当我走过青少年时代,发现自己并没有变得好看,也没有很有钱之后,我并非自愿但是毫无选择的接受了“我并不完美”的这个事实。我无法跟任何一个人很自然的在生活中谈起这些事情,因为这些心底的 痛苦似乎并不适合作为日常交谈的内容。我每天都如此深刻地感受着自己的不完美,却无能为力。我发现原来我可以成为任何样子,却不可能成为我所期待的那样 子。就像Max所说的那样,when i was young, I want to be anybody but myself。似乎如果有一天我真地对自己彻底失望了,我也会开始和Max一样过上单调的生活,因为如果无法成为最完美的样子,其他的一切都并没有什么区 别了。如果我不能像Max一样遇到Mary,我宁愿一个人静静地在某个清晨离开。也许人生不过就是这样。

通过GoogleReader备份博客并恢复到WordPress中

备份的方法很简单,当然就是通过feed订阅喽。下面是导出的方法。

在google reader中将要导出的博客归入一个新建的类别(label),最好为英文,并在“设置”中将此类别设为“公开”。

通过以下URL即可查看该博客的atom格式的种子(feed)输出:

http://www.google.com/reader/public/atom/user/{userid}/label/{labelname}?n=1000

其中{userid},可以在 这个页面 的“在新窗口中预览共享条目页”连接中找到。{labelname}是刚刚那个新建的类别名称。n=1000代表一次性输出1000条。 继续阅读

jython+modjy在GoogleAppEngine上开发的几个小问题

也许是因为比较新或者应用范围有限,网上关于jython+modjy的资料实在少的很。再加上google appengine这个比较特殊的平台,甭说例子了,连点有用的文章都没有。我最近在GAE上用jython+modjy做了个小玩意,折腾了好几天,写这篇文章总结一下开发过程中遇到了几个小问题

1,在每个程序的第一行声明源文件的编码格式

不管是Jython还是Python,如果不做这个声明,不管你是否将文件存为了UTF-8格式或者其他什么格式,源文件将以默认的ASCII编码格式进行处理。这也是一些中文乱码出现的原因,所以,指定编码格式是个好习惯!以下这两种种方式都是正确的:

# coding=utf-8
# -*- coding: latin-1 -*-

更多格式可参考:http://www.python.org/dev/peps/pep-0263/ 继续阅读

Jython+Modjy+GoogleAppEngine

Modjy是一个让Jython应用可以在Java Servlet容器内运行的桥梁,是一个标准的WSGI实现。并且该项目已经被正式纳入到了Jython项目中。

现在Jython和modjy也可以在目前世界上最大的Servlet容器——Google AppEngine上运行了。

之前要使Jython运行在Google AppEngine上,是需要使用Google发布的的一个补丁,但最新的Jython2.5版已经不需要了。 继续阅读

GoogleAppEngine上有意思的玩意和工具

Google的AppEngine真是个挺好玩也挺耐玩的东西,可我除了用它做了个TwitterAPI的代理,其他的也想不出来能在上面玩点啥了。

闲着无聊,就开始翻看code.google.com上的目录,并以“GoogleAppEngine”为关键字搜索。翻了一个多小时,也算找了几个好玩的东西,有些是跑在GAE上的应用程序,有些是GAE的辅助开发工具,还有些……我也不知道能干嘛了,反正都是跟GAE有关。那些多如牛毛的Blog啊Proxy啊framework啊之类的东西实在是没啥新意,就略过不提了…… 继续阅读