Doubt

HH144

照相这回事,是要告诉其他人,自己眼中的世界是什么样子的,和其他人眼中的世界一样或者不一样,它是作者看待现实的观点和角度。所以它是一种反映现实的活动。同时它又是表现美的,因为符合美学常理,才存在被制造和欣赏的价值,因此它和小说不一样,是一件完全从现实中发掘美的工作。但另一方面,我们生活的地方明明就充满了庸俗罪恶,要从这里挖掘出美的东西,就要遮住眼睛,要捂住耳朵,创造,捏造,掩饰,粉饰。

而众所周知的,我们这里最不缺的就是无所不在的粉饰,坚不可破的皇帝新衣。
有时候两者的界限并不清晰。

pspot: 给你网站上的图片加上评论功能

这是我去年写的一个给图片加上评论功能的东西。欢迎大家使用!

pspot是一段js程序,通过嵌入到你的网页上,使访问者可以对你的网页图片上任意位置发表评论,这些评论被保存在google app engine,如果你没有更多的需求,那么简单的嵌入一个js就可以了。

如果你打算管理你网页上的留言,需要先用google帐号登录,然后嵌入包含有你的ID的js文件。这样你就可以在”我管理的留言”中管理。

另外,你在pspot登录之后发布的留言,可以在”我发布的留言”中管理。

在不同网站上,url地址相同的图片会共享同样的评论。

使用步骤如下:

1、如果你不想管理留言,那么把下面这句代码加在你网页上任何地方。否则请用你的google帐号登录并使用只有你能够管理留言的代码。

<script src=”http://pspot.appspot.com/getcmt.js” type=”text/javascript”></script>

2、给你的图片加上class=”psp”,像这样:

<img class=”psp” src=”yo.jpg” alt=”yo” />

现在点击图片右下角的发表按钮或者双击图片即可发表评论。下面这个图就是个例子。如果你是在feed里看就不要点了,要亲自来到本页面才可以。

c6e

Have fun!

update: 由于GAE已经被墙了,国内基本已无法使用此服务。fuck GFW!

GAE restful interface for javascript

经常遇到需要用js存取数据的时候,比如GM脚本,Opensocial/facebook app,各种工具用途的js插件、游戏,以及纯html+js/flash的网站应用。使用cookie和其他一些本地存储的方式有很大局限,opensocial之类容器网站提供的在线存储不好用,而且功能弱,容量小。如果能方便的用类似SQL的方式存取数据,就舒服多了。OpenResty就是这样一个接口,作者基于html+js+OpenResty+db这种富有创意的架构,实现了他的blog等应用。

我之前弄一个GAE应用的时候,就有用到js跨站到GAE存取数据,由于我对免费午餐确实比较有兴趣,这几天有空,就把它抽出来,包装成了一组通用的接口GAE-DJ。可以用js(or your server)调用RESTful接口进行插入,修改,删除,查询。接口是参考REST/JSON风格,模仿OpenResty的方式实现的。插入一次只能一条记录,查询只能基于一个字段,可以>, <, =, IN,功能还远没有OpenResty那么丰富。接口细节见README

数据操作的权限是用GAE基于google帐户的用户系统控制的,数据读写修改都可以设置为所有人/创建者/model所有者。不过建议尽量减少控制,这样就不需要去GAE登陆了。默认权限是all可读可写,创建者(要先登录再创建)可修改删除,类似blog comment的策略。

另外我还包装了GAE的fetch url api,这样通过GAE作为proxy,js可以变得十分犀利,不但可以抓网页,还可以发POST/PUT/DELETE之类的请求,甚至还可以加额外的header。

至于js客户端,我写了一个gae-dj.js,可以用它来跨站调用这些接口。

数据操作的demo
抓网页的demo
Source on git
Test server on GAE

总是坐过站的人

有这样的一个人,他和你们一样,因为生产、生活和学习的需要,需要乘坐大量的公共汽车。但是他坐公车的时候,总是会莫名其妙的坐过站,并为此感到相当的苦恼。有时候坐到了离目的地一站远的地方,就算直接走过去,也还不算太远。但是有时候误差比较大,他就想再搭个车往回坐,可是又会坐过站,坐来坐去总是不能下到心仪的那一站,于是就更加苦恼。

他有时候想,我要认真听售票员的报站,这样就不会坐过站了,他听得那样仔细,连地上掉块钱都能听见。但是售票员偏偏就忘了报他要去的那一站,于是又坐过了。有时候是甜美的女声在广播中报站,他听到了要去的那一站的名字,当时就感动得泪流满面,下车一看,才发现报的名字其实晚了一站,是司机按错了开关。

有时候他想通过听mp3来计时,到了正确的时间就下车,但是每次听到精确计算的一首歌中精确计算的那一句(通常是《小宇宙》里面“挤向前挤向前把我挤回路边”)的时候,抬头一看,公车刚刚从正确的那一站关门启程,绝尘而去。第二天他决定听到“左手边有个年轻人插队”的时候就提醒自己下车,结果发现那个时候已经坐过了三个站,但是他居然没有烦恼也没有发脾气,因为他就是一个这样的人,即使发脾气也没有用啊。

有一天他决定什么事情都不做,一直盯着窗外,手里拿着GPS,听到“到达目的地”的时候马上就下车。这次终于下对站了!但是他惊奇的发现,自己要去的地方其实在上一站下的话会更近。所以他还是坐过站了。他仍然是一个从来没有在正确的站下过车的人。

那些

那些玩了也不能丢弃的词语,千万次遇见也挥之不去的句子,再随机的堆起来又能怎样呢?
那些说了也记不得意思的话,在大爆炸的宇宙光速奔走相告,有再多的人听到又能怎样呢?
外星人在地球即使能遇到故知,也就像在厕所里互相忘记名字的邂逅,再难得又能怎样呢?
就像打错电话,跟电话有什么相关,就像吃错药,跟药有什么相关?跟药又有什么相关呢?

最近要奥运

电视里说昨天单双号限行宣告北京正式进入”奥运时间”,但我怎么觉得在公车上已经看了一辈子的奥运专题节目了呢?好些网站为了同一个梦想,关闭注册或者是直接关门大吉,搞得跟开xx大似的。看来开大会之前果然觉悟都会大幅提高。由于美国代表团要来我校居住训练,现在操场已经用塑料布包成了粽子,而且这个粽子操场我们已经不能进了,所以之前的跑步计划也只好先暂停避运。宿舍发了什么安全措施通知xx条,比如不准用电饭锅热得快等加热器具,不准打条幅标志,面向美国代表团的窗户禁止开启。我不知道隔壁胖娃的电饭锅原来这么危险,更危险的是我根本不知道美国人住哪个方向,反正寝室只有一个窗户,打开的话也许会有人民警察找上门来。地球太可怕了,我还是回家看片吧。

李大人,所谓胜者为王,败者为寇。……大人为了大显我民神威而办的这场狮王争霸,死伤那么多人在世人面前,其实我们都输了。以小民之见,我们不仅要练武强身,以抗外敌,更重要的是广开民智,智武合一,那才是国富民强之道。区区一个牌子能否改变国运,还请李大人三思。这个牌子就留着给你作记念吧。——《狮王争霸》黄飞鸿