把网页上放置IM

看看这个首页右上角,点开之后可以用来发送msg给我,我用的是jabber。

能用就好,

1.我的jabber client可以看到当前的交谈对象的一些信息,比如IP之类。

2.这种方式可以在不暴露账号的情况下和访客交谈。

3.暂时还不支持显示在线离线。

4.可以发送离线消息,jabber默认支持的。

5.js代码还不算多。

后台本来想做成支持msn账号的,算了,没时间。

Ajax跨域访问的替代方案

Ajax是不能直接做跨域访问的!

看了一下流行的跨域处理,一个是dojo做的iFrame,无奈我对这个不熟,为避免出什么篓子,就不敢用了,另一个是美妙的flash。

flash的安全性控制集中在两个方面,一个是swf访问站点动态数据,另一个是swf和js的交互。

swf文件要访问不同域下的数据源时,需要该数据源所在的域A用crossdomain.xml的方式声明这种来自域B的swf的访问被允许。具体的控制由flash player实现。

一个crossdomain.xml的例子如:

?xml version=

1.0

?

!DOCTYPE cross-domain-policy

SYSTEM

http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd

cross-domain-policy

allow-access-from domain=

www.pjoke.com

/

allow-access-from domain=

zhengrenchi.blogbus.com

/

allow-access-from domain=

simonzh.spaces.live.com

/

/cross-domain-policy

当然也可以直接domain=

*

,那么来自任意域的swf都可以访问了它了。

同一个页面上的来自A域的swf和来自B域的HTML中的JS交互,首先需要把object 标签中的

AllowScriptAccess属性声明为always,

然后在A域的swf中添加这样的允许语句:

system.security.allowDomain(

www.pjoke.com

);

system.security.allowDomain(

zhengrenchi.blogbus.com

);

system.security.allowDomain(

simonzh.spaces.live.com

);

事实上,保证这两类安全性的完全在于Adobe发布的标准flashplayer,如果出了别的player就难说了。然而相对于ajax这样无法通过统一渠道控制安全的技术,安全性都变成由浏览器来决定了,flash还是相对占优的。

用PHP写后台进程

因为我最后选择了一种

比较不合常规的方法来做Jabber的web client。

其实也不算client,只是接收访客输入,保存到数据库里面,然后用一个Jabber的php client收集这些,转发给其他的客服账号。同时在Jabber上扩展了一点协议,处理客服账号到php client的分发。

这个php的jabber

client是不退出的,由于在web上执行可调试性不好,所以转为php xxxx.php的后台运行。

然而总是在一定时间后挂掉。看了一下原因,是memory exhausted了,16M都用光了,肯定有些地方内存泄漏而无法回收。

于是看代码,我写的都是简单的赋值语句,理论上是可以正常回收的。看看借过来的jabber.php,有地方用了unset,作者应该还算正常。再看看数据库操作,是从wordpress那边借用的代码,改改然后用的。

有这么两行:

if (SAVEQUERIES)

$this-

timer_start();

if (SAVEQUERIES)

$this-

queries[] = array( $query, $this-

timer_stop() );

SAVEQUERIES我是没有定义过的,看上去它被当作true,因为这两句都执行了。

问题应该出在下面那句,是一个不断往数组里面添加新元素的句子。事实上纪录数据库操作顺序和时间对我来说毫无意义,于是把它们都注掉了。再跑跑,一个晚上内存都没增加。

把代码放到公网服务器上的时候,发现ssh的界面一关,php xxxx.php也关掉了,后面加

也没有用。

好好查查,发现比内网代码少了一句:

set_time_limit(0);

难怪,由此可见,关闭终端的效果是跟关闭浏览器的效果是一样的,php程序立刻退出。

这个程序足够稳定之后,拟将它和jabber启动脚本放一起。

关于芒果树,和芒果怎么摘

中午饭后,几个同事谈起前段时间电视报道有个人上芒果树偷芒果,结果掉了下来,摔得昏迷了,12天才醒

我想想,这个偷芒果的人也太没常识了,芒果树是最不能爬的树。

芒果树枝脆而细,非常容易断,而且一断就断,绝不拖泥带水。所以爬芒果树十有八九要掉下来。

芒果树长得高,所以掉下来的十有八九重伤。

芒果那么好吃,那怎么摘呢?

如果马上吃的话,可以摇动,或者用竹竿去拨,因为芒果蒂细而脆,跟枝条一样,因此熟芒果就容易掉下来了。

然而如果是摘去卖的,掉下来接不住的话,果身就容易瘀伤,卖相不好,给人压价。这时候需要改进一下工具了。

用长竹竿,竹竿顶上安装一个直径是芒果果身直径1.5倍左右的铁丝圈,在铁丝圈下方安装一个袋子。摘得时候,放长竹竿,让铁丝圈套住芒果,确定芒果在袋子的接收范围内之后,往蒂部拉一下,芒果进袋。拿下来就好了。

flickr被封了

是个什么样的信号?

1.我连google都能封,flickr算什么?

2.国内好应该出一个满足这类需求的大网站了。当然,你flickr出个.cn也挺好,对不对?

3.Youtube还不被封还不被封!因为国人与Youtube交互内容的不多吧,多是看。

最近足球赛有点繁盛啊

昨晚一边玩CIV IV,一边看A3联赛,结果看到鲁能很猛的0:1-

4:1,然后又很猥琐地4:1-

4:3。

zz不愧是天朝球王,有一套英超功架。

周海滨向前意识很好,不过倒米也挺多。

一边喝葡萄酒一边看球一边玩文明的感觉真好。

高考

9年前的高考,我抽了个好签,在本校考试,我认为一切都是源于我的无为和无畏。

高考前几天,晚上听个收音机,结果被管宿舍的上来教训我,当时有点火气,不过第二天班主任找我谈话,算是向我道歉

潜台词就是你快高考了,你是大爷,我的奖金还指望你呢,别生气,晚上安心睡觉,好么?

班主任是个好男人,我不忍心让他难为,于是平静地去宿管那里拿回我的收音机算了。

高考前三天放假,回家休息。家里的586虽然只装了个DOS,我也好在会玩个英雄无敌二,于是拼命玩了两天,期间我不念书的堂兄过来看了我一眼,很诧异,居然还在玩游戏。高考前一天回到学校,和班里长得还算可以的几个姐姐在教学楼旁边的石榴树边上留念合照。

高考前那天晚上,很鲜见地看到校长,这个校长平时像个隐士,是看不见的。他在这个晚上一个教室一个教室地慰问,算是慰军吧。都快走人了,我才不理你,你又不是靓仔或者靓女。

3+2的最后一年,第一天高考。不过我还是犯了一个传统的毛病,压力一大肠胃就不好,好在有斧头标驱风油。

考场在二楼,监考有个女的,不漂亮。坐我前面是个小混混模样的,看上去有点串。不过我心想,你如果够种也不会来高考了,进来这种地方,还是我的地头

语文和英语我都考得很一般。6xx的分数,只能说是差强人意。数学估计考了满分,化学有个题没猜透要考什么,估计是拿不到满分。

最后一天是物理,一路都很顺,差点以为自己又可以拿满分了,出来才发现错了个弱智的地方,有点失落,不过总体感觉还不错。给自己这次表现打了个85分。

后来回家对我妈说,就物理考得有点不好,所谓强弩之末其势不能穿鲁缟,我的精神能全神贯注撑3天确实很不错了。

放榜是在电视上的,我爷爷奶奶都很早地紧张。不过放榜前,班主任给我通过电话,说已经知道我的成绩是xxx了,他的奖金无碍,而且应该比想象更多。

我很高兴,不过没打算告诉我爷爷奶奶,由他们看电视去。不过一会我妈问起,谁打电话来,我如实说了,然后说不要告诉老人家他们。我妈很不满

说你怎么这样,万一他们一会突然看到,太过激动发生意外怎么办?

事实上,我爷爷奶奶两个人四只眼睛,牢记了我的准考证号几天了,还是没有把屏幕上持续5秒钟往上翻的成绩看下来

一会就打电话过来,说怎么我们没看到有你的准考证号?

大喜的心情是很难描写的,不过我习惯很快就平静下来,没有什么欲望去说什么快意恩仇的话,未来还是未知数。

算了,不写了,人生就是一出戏,总有你当主角的时候,当然,你要更习惯当配角和群众角色。

补记一下六一晚上的星象

傍晚4点多离开深圳,到虎门的时候已经是7点了,车上看到月光很不错,是的,这两年来东莞的空气好了而深圳的空气差了。

在虎门吃过晚饭后回家,到家快9点了,看看星星,3等以下的都很清晰,于是开了Stellarium来看,月亮在东南方升起,月亮上面还有一个大大的木星,真是和谐。行星伴月的情景是最舒心的了,两者都是相位饱满的。

正南方是角宿,也就是处女宫了。

西方的狮子已经徐徐下去,土星也沉向珠江口了。

东北方有个伟大的亮星,织女,未来的银河压在她身下,而牛郎更是在地平下面。

斗柄朝东。。。极星很暗,不过帝星比较光,看到那么明显的帝星还是挺开心的。

当然,第二天报黄菊去世,是啊,现在贵国中央政权太稳固了。