换了blog程序

之前一直在使用xuming.net写的Micolog程序,客观地讲,Micolog是非常不错的一款能够流畅地运行在gae平台上的blog引擎。使用起来很方便,功能也比较全面,难得的是,程序作者在持续地维护这个项目。

后来,看到了Benjamin Golub的blog,非常喜欢这样简洁的风格,无论是代码还是界面,都朴素到了让人觉得简陋的地步,甚至除了一个发布文章的页面外,连所谓的后台都没有,需要设置的项目在程序上传之前就要设置好。当然,目前也没有太多的功能。

Tagged blog

Blogger小技巧

虽然Blogger已经被伟大的墙给挡在外面,仍然有许多人在坚持使用。使用翻墙软件,用代理,只为了阅读blogspot上面的文章。发布方法也有许多,email发布可能是最简单的,用Google docs也可以。不过美中不足的是,这样发布的文章无法使用label功能,希望blogger团队借鉴posterous的email发布功能,提供对label的支持。我自己也使用blogger很长时间,有一些大众化的技巧记录一下:

隐藏头部的导航栏。这可能是中国用户使用最多的技巧,看过许多外国人的blog,他们并不介意有一条导航栏放在页面上面,因为它可以给访问者带来方便。同时,页面上有许多不必要的文字和链接,我觉得都是可以隐藏的。

#navbar, #navbar-iframe,.status-msg-wrap a,#creditos,.feed-links,.home-link,.quickedit{
visibility: hidden;
display: none;
}

把上面的内容加入到css中,可以隐藏头部的导航栏,页面下部的feed链接,快速编辑的扳手图标等。

搜索。我个人认为blogger自带的搜索是最好的,至少比blogger上线的search widget效果要好。用Google提供的搜索,首先必须要保证文章被Google索引。而blogger自身的搜索不存在这个问题。

<form action="/search" method="get">
<input value="Search" name="q" type="text"/>
<input value="Go" type="submit"/>
</form>

这个表单加在任何位置都可以。

email发布。有人提出这样的问题,就是用email发布时候,会带上邮箱本身的广告。你可以使用没用附加广告的邮箱,比如gmail,qqmail。实际上,用任何的邮箱都可以,在文章的末尾加上 #end 即可把后面的内容包括广告过滤掉。这个功能一直存在,可能使用blogger时间较短的用户不知道。

Tagged blogger

最简单的自定义搜索

Google大神推出了Custom Search Element,大大提升了自定义搜索的用户体验,同时降低了使用自定义搜索的难度。使用方法是出奇的简单,只要将几行代码加入到侧边栏即可。

<!-- Google Custom Search Element -->
<div id="cse" style="width:100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1');
google.setOnLoadCallback(function(){
new google.search.CustomSearchControl().draw('cse');
}, true);
</script>

Google提供了ajax搜索的类参考供程序员使用。不过,对于大多数用户来说是没有必要的。如果你觉得搜索框下面的“powered by”很难看,在CSS中加入

table.gsc-branding{
display:none;
}

即可隐藏。

Tagged search, google and ajax

制作QR Code图片

QR码是二维条码的一种,1994年由日本Denso-Wave公司发明。QR来自英文“Quick Response”的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。QR码最常见于日本,并为目前日本最流行的二维空间条码。QR码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。QR码呈正方形,只有黑白两色。在3个角落,印有较小,像“回”字的的正方图案。这3个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。(来源于维基百科

QR Code的制作方法也很简单,网络上有许多在线生成的应用。例如:http://qrcode.kaywa.com。利用Google chart api可以很容易制作出QR Code图片。调用方法:

http://chart.apis.google.com/chart?chs=250x250&cht=qr&chl=content

其中的参数,chs表示图片的大小,chl表示图片包含的信息。

Tagged tool

清理系统垃圾

电脑用得时间长了,会产生一些系统垃圾。必要的清理能够让电脑运行得更快。现在能够清理系统的工具有很多。ccleaner就是其中比较出色的一种。它的主要特点是小巧、快速、安全,当然还有它是免费的。它不但可以清理系统的垃圾文件,还可以清理注册表。

实际上,单纯为了清理系统垃圾文件专门去下载一款软件是不必要的。你可以将下面的内容保存为MS-dos批处理文件,然后直接运行它就可以帮助你打扫系统。

@echo off 
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统垃圾完成!
echo. & pause
Tagged tool

用email备份tweets

如果你使用过loudtwitter,你应该知道这是一个备份tweets到blog或者email的服务。它能将每一天的tweets合并成一篇文章发布到你的blog上,或者你的email。受此启发,我在Google appengine上写了一个用email备份tweets的小程序。我的初衷是弥补loudtwitter的不足,即loudtwitter不能备份以前的tweets。

这个小程序调用了gae的mail和cron接口,所以它也能够定时地工作。在上传程序前,请修改base.py中的twitter user为你自己的twitter帐号,修改main.py中的邮件地址为你的email地址。由于程序很粗糙,所以没有制作管理后台,需要在上传以前修改。上传以后,访问http://yourapp.appspot.com/old开始备份你以前的tweets,目前设定为每5分钟备份一次,一次为20条。地址http://yourapp.appspot.com/new则会备份你以后发布的tweets,目前设定为每天晚上00:00运行,每天一次。

程序下载地址:http://haitai.googlecode.com。下面是我信箱中收到的备份截图。http://twitter.huhaitai.com是我将tweet用email发布到blogger做的blog。需要注意的是,如果你转发到blogger,会有每天50篇文章的限制。

tweets to email

Tagged twitter

5月35日

今天是六月四日。本来这只是一个平凡、平常、平静的日子,如果没有发生在20年前那场风波——或者说屠杀——的话。 如果政府不是刻意回避、隐瞒、屏蔽关于事件的言论、图片、视频,也许还没有这么多人会关心。毕竟20年的时间也算是漫长,漫长得足够冲刷掉广场上淋漓的鲜血和人们脑海中模糊的记忆,也漫长到了可以改正一个巨大的错误,让统治下的人们对他们重新抱有希望。可是,他们采取的是欲盖弥彰的做法,好像害怕的是有人会忘记,于是不停地用各种手段促使人们去追究、回忆、纪念。在互联网上,疯狂的封、删、管,终于让昨日这个更加平凡的日子诞生了一个新词:中国网站维护日。从6月3日到6月5日,网站的运营者无不心惊胆战,恨不得将今天从日历上撕下来。 我们甚至失去了说出这个日期的权利、勇气。我们躲在一个个匿名的ID后面,用“5月35日”这个隐晦的字眼来指代。这个日期是通过把5月份延长,使其包括6月份的头四天而得出的。同时,《5月35日》也是德国作家埃·柯斯特纳1932年写的一部儿童文学作品的名字。它讲述小学生主人公康拉德前往南洋历奇探险的奇幻故事。5月35日是虚构的一天,从这个故事,引申出“什么都有可能发生的一天”的意思。对于我们来说,确实是“什么都有可能发生”。每个公开关注这个日期的人,都有可能被请去喝茶、问话、调查。 他们究竟在害怕什么。布什曾经说过,好的统治者是关在笼子里的。不好的统治者,才把它统治下的人民关进笼子,并且仍然害怕不已。害怕这一天的到来,害怕某一天的到来。
Tagged day

天使

1.女孩子都是天使。一定有诗人这样深情地写道,即使我无法找出具体的出处。不过把女孩子比喻成花朵我却遇见过。在初中的一堂语文课上,人到中年的老师说完以后满脸通红。相对来说,我更倾向于认为她们是天使,毕竟动物比植物的观赏性要高,这也是为什么去动物园比去植物园的人要多的原因。

2.你是我的天使。一定有一个男孩子这样对一个女孩子说过。一般来说,有三种情况下才会说这样的话,一是有企图,二是被迫。我们可以想象,在某个农场的角落,一头公猪凝视着一头母猪那纤细的眼睛,用坚定地声音告诉她,她是他的天使。母猪一定感受到了,她的脸上除了油光,还有另外一种辉煌的光亮显现出来。她似乎觉得自己真的可以变成洁白的天使,甚至能够飞到农场那棵最高的槐树上去。

3.读过《圣经》的人一定知道,天使是服侍神的仆人。当神降临时,如同白色的鸽子栖息在肩上。即使是神,也有没空的时候,这个时候他会派出天使执行他的意志。也就是说,只有当神没有鸽子可放的时候,天使才会露面。
Tagged segment

一周年

今天是汶川大地震一周年。我们可以做的是记住这个时间:2008512下午1428分。
在68712位遇难者身后,在17912位失踪者身后,更多的灾区人平静而有尊严地活着。他们等待政策的眷顾,等待补偿;他们需要一次次接受外界的采访,描述他们的生活、他们的想法;他们更需要重建自己的房子和生活;他们需要坚强给每一个人看。 这过去的365天,我们应该赋予他们什么,其实,我们不能赋予,我们只能怀着对生命的敬畏,远远注目。

他们的坚强,源自于内心对生活的渴望,和追求更好生活的本能。无需歌唱,生命自然绽放。
Tagged day

Hello, world

This is your first post. Edit or delete it, then start blogging!

这是你第一篇文章,你可以编辑或者删除它,然后开始你的博客之旅。

凡是学习过编程语言,或者试图学习的人,都会知道我们一般把打印出 "Hello World" 作为第一个范例程序,这已经成为编程语言学习的传统。这个范例程序最早出现于 1972 年,由贝尔实验室成 员 Brian Kernighan 撰写的内部技术文件《Introduction to the Language B》之中。而后因为 Brian Kernighan 和丹尼斯·里奇写的计算机程序设计教程《C语言程序设计》(The C Programming Language)而广泛流传。

"hello, world" 程序的标准打印内容必须满足“全小写,无惊叹号,逗点后需空一格”,不过流传至今,完全恪守传统的反而罕见。
Tagged blog

猴子

话说吉林一家动物园内已经“掌权”4年的老猴王因为不敌年轻猴子而失去王位,郁闷之下绝食4天后死去,在动物界上演西楚霸王自尽一幕。说老实话,这么有志气的猴子还是第一次听说。故事的情节大概是这样子的:老“霸王”老迈难服众——于是新人出来挑衅,两强相遇勇者胜——于是老猴王抑郁而终——于是新猴王施行“仁政”,一统江湖。故事如果哦发生在人类身上,没有任何出彩之处,难能可贵的是,猴子也这么有人情。一个有志气,一个有胸怀。新闻特别指出:新猴王较老猴王显得仁厚,甚至允许手下与它一起进餐。这一点太难得了,要知道,我们大多数平民是没有资格同领导一起进餐的。

据小道消息,老猴王不允许别的猴子随便评论它,并且把对它有意见的猴子的评论都屏蔽了。甚至有人对老猴子的下场持幸灾乐祸的立场,理由是“这个老猴王,不会做猴,知道要换届了,也不突击提拔一批自己的猴子猴孙,这下郁闷死了吧”。
Tagged story

伪善

每天早上都走过一间报刊亭,一座人行天桥。那天,在报刊亭前停下,买了一份报纸。老板看起来很和善,脸上总是挂着笑容。他说:天天看你这么早从这里经过,工作很辛苦吧。我和他寒暄了几句。在陌生的城市,被陌生人关怀,总是让人容易感动。 我接过找给我的零钱,拿着报纸,走开了。

天桥上总是有一个白发苍苍的老人在乞讨。他的旁边放着一个破旧的饭盒,里面是好心人投进去的零钱。老人的视线总是望向天空,脸上没有悲戚。我停了下来。将买报纸剩下的零钱掏出来。才发现里面夹杂着一枚假币。假的硬币比真的要薄并且边缘粗糙,很容易分辨出来。

我将这枚假币投进了这个乞讨者的容器,低着头走开了。
Tagged story

销售的双重思想

公司组织销售人员培训,由资历比较老的员工讲述。这位员工说道:在客户面前要100%对销售的产品有信心。然后他又说,其实我们公司的产品和其他公司的同类产品相比,并没有什么优势,当然,这些话我们只是关起门来才说。在客户面前我们保持100%的信心,而这个信心并不是装出来的,而是发自内心的。

我忽然就想起了"双重思想"这个词语。我们自己清楚地知道产品的缺陷,而在客户面前我们就能够诚实地忘记这些缺陷,而这些都是水到渠成的,没有刻意的痕迹。我们在故意撒谎的同时忘记自己是在撒谎。这就是"双重思想"的伟大之处。
Tagged story