Google Reader皮肤Helvetireader

helvetireader

Helvetireader的这个Google Reader皮肤设计看起来比Google Reader原有的皮肤设计还要简洁,和以前的那个Mac风格的Reader主题gReader相比Helvetireader的设计更加精致,不过Helvetireader好像少了那个刷新按钮和List View。Helvetireader可以通过Firefox的插件Greasemonkey来安装userscript,使用Webkit内核的浏览器的也就是Safari和Google Chrome的用户可以通过GreaseKit安装,Comino下也有安装方法,对于不支持Userscript的浏览器可以直接使用这个Css

TypePad的新评论工具Connect

TPC Nick O'Neill-a

改评论页面的时候想起来前几天在webware上看到的Six Apart发布的TypePad评论管理工具connect已经可以支持很多平台了,于是在自己的wordpress和Blzinsider.cn/connect尝试了一下。TypePad.com/connect目前支持的平台包括:TypePad、Movable Type、Wordpress.org、Blogger、Tumblr,还提供了可供用户制订的代码。

TPC Dashboard-thumb-500x391

用户可以通过TypePad.com/connect提供的代码替代原有blog平台的评论代码,这样读者在你blog上发布的评论就通过javascript代码被提交到TypePad.com/connect。TypePad.com/connect可以支持多个blog系统,所有通过TypePad.com/connect代码提交的评论都会还会出现在TypePad的另一个新程序Profiles里面,用户可以通过TypePad.com/connect的settings页面对留言进行管理,包括设置发布、删除、标记Spam,还可以对TypePad.com/connect的样式和各种功能进行一些设置,其中提供的CAPTCHAs和邮件提醒功能我觉得都还是不错的。

其实用这个工具配合appengine做个Blog简直是太舒服了,自己只要弄好一个Post的页面,评论页面交给TypePad.com/connect管理就行了,antiSpam、用户注册、评论管理TypePad.com/connect都做的非常不错。另外,由于TypePad.com/connect不仅支持Typepad的账户,同时还支持Openid,所以你的Blog也就间接支持Openid了。

Google App Engine SDK 1.1.7更新

忽然发现自己xp上的appengine SDK才更新到1.1.5版本...

Google App Engine SDK 1.1.6添加了一些新特性、更新了数据库方法和fetch:

  • 现在可以使用entity的key来进行排序和筛选
  • 现在可以直接使用key来删除entity,而不需要事先获取Model
  • 当你在创建一个Model的时候指定key_name,这个key在使用put()方法之前就可用了
  • 现在可以直接使用key来删除entity,而不需要事先获取Model
  • URLFetch在SDK中会有一个5秒的timeout

修正了一些bug:

今日发布的Google App Engine SDK 1.1.7修正了1.1.6的Issue 877

gist.github的一些插件

logo_gist

gist.github是一个类似pastie的代码存储服务。最近Github的博客上介绍了几个在vim、emaces和textmate中使用gist.github的插件。emacs我不怎么用,而textmate我也没有Mac,单介绍一下vim的这个插件Gist.vim。

首先可以从vim的网站或者gihub repo下载这个vim插件,然后复制到vim的plugin目录里面。启动vim,如果你之前没有设定git的环境变量的话需要首先通过下面命令设置:

git config --global github.user yourname
git config --global github.token your API Token

你可以在https://github.com/account这个页面的Global Git Config连接找到你的设置命令。

gist.vim提供了一些命令可以在vim中提交或者查询你在gist中的文件:

:Gist
post whole text to gist.
:'<,'>Gist
post selected text to gist.
:Gist -p
post whole text to gist with private.
:Gist XXXXX
edit gist XXXXX.
:Gist -l
list gists from mine.
:Gist -la
list gists from all. 

当然如果你在安装了gist.vim运行vim的以后vim提示你缺少git或者curl命令的时候你需要首先安装这两个命令。

sudo apt-get install git
sudo apt-get install curl

Gmail开始支持自定义主题了

logo_beta

半年前就有传闻Google将会在Gmail上实现主题功能,随着下半年Gmail功能的不断增加,Theme选项终于也出现在Settings中。这30款Gmail主题其实类似iGoogle的那种主题,通过调整css和一些背景图片改变Gmail的样式,这些设计也都延续了Google简洁的风格,并不像Globex Designs的Gmail主题给人非常华丽但是很复杂的感觉。

我得承认我一开始从hotmail转到Gmail是因为Gmail的海量存储,现在看来尽管微软也在Live Weaver 3中不断改进用户界面和功能但微软的产品始终给我一个非常小气的感觉。你永远也不可能希望微软会给你一个能在linux的下运行的Live Messeger,而相反Google的很多程序都会给你一个跨平台的承诺,比如Chrome,然后在挂上一个bete的牌子不断改进。最后,Hotmail或者Live space那个顶部的广告是在是太碍眼了,不把这个拿掉怎么改进都白搭......

Everybody Old Time Rock and Roll

一首非常神奇的歌曲...

首先是Bob Seger原版mp3

Bob Seger - Old time rock&rock

留言Spam造成Google错误

很抱歉...
您的查询看起来类似于来自计算机软件的自动请求。为了保护我们的用户,请原谅我们现在暂时不能处理您的请求。
另外,计算机软件的自动请求很可能来自于恶意软件,如果您怀疑您的计算机或网络已受到恶意软件感染,最好运行病毒检查工具或间谍软件删除工具,以确保您的系统或者网络不会受到病毒或其他可疑软件的威胁。
如果您不断收到这条错误消息,请删除您的 Google Cookie 并重新访问 Google,可能就能解决这个问题。有关特定浏览器的说明,请访问您浏览器的在线支持中心。
对由此带来的不便,我们深表歉意;希望可以看到您再次使用 Google。

昨天晚上访问网站的时候出现这个错误,然后换了个IP再次访问就可以正常打开了。开始以为是自己哪里的程序写的不对劲,服务器负载太大Google 禁止访问了,第二天才发现留言里面多了好多spam信息,应该这就是出现错误的原因。因为是无名小站没什么访问,所以评论系统一直就是“裸奔”状态,或许我也应该写段类似验证码的代码来防止spam,不过首先还是在首页上把评论显示出来吧,否则spam来了都不知道。

配置YUI的Rich Text Editor不调用cleanHTML方法

从tinyMCE转到YUI的Rich Text Editor以后好长时间我才发现YUI的这个范例配置的Code Editor会自动调用cleanHTML方法格式化代码,于是好多标签比如script这种标签会直接删除掉,这直接导致我以前配置的swf-mp3-player和prettyprint这两端代码不能使用。

要使YUI的Editor不调用cleanHTML首先需要在配置中把handleSubmit的属性改成false,这样在submit的时候Editor就不会调用cleanHTML了;但点击Code View这个button的时候还是会调用this.cleanHTML()这个方法,直接去掉的话Code View这个button基本上就没用保存文字的功能了,于是查了一下YUI的API,果然有this.getEditorHTML()这个方法,用this.cleanHTML()取代this.cleanHTML()就好了。

Linux下设置Aptana Studio的appengine开发环境

Aptana Studio是一个非常不错的Web程序开发环境支持Php、RoR、Jaxer,自从Aptana收购了pydev以后,在Aptana Studio里开发使用python语言的程序框架就变成了现实,对我来说有一个可视化的开发环境有时候还是很方便的。Aptana Studio配置插件的方法基本和eclipse一样:
  1. 安装Aptana的pydev插件
    菜单里选择:
    Help>Software Update>Find and Install...>Search for new feathures to install>New remote site...输入
    • name:pydev
    • url:http://pydev.sourceforge.net/updates/
  2. 然后finish,不要勾选Pydev Optional Extensions一路next下去,intall all。
  3. 为pydev插件设置python环境变量:
    Windows>Preference...>Pydev>Interpreter - Python
    在Python Interpreters(eg.:python.ext)选卡的New...里面选中你的python文件位置,ubuntu下是/usr/bin/python这个文件,OK。
  4. 新建pydev项目:
    File>New>Other...>Pydev>Pydev Project
    Project type里面选择python 2.5,finish。
  5. 为项目添加google_appengine支持:
    在Pydev Package Explorer里面右键点选中项目,菜单里选择Properties,在External Source Folders里面使用Add source folder添加你google_appengine程序的位置:
    • google_appengine
    • google_appengine/lib/django/
    • google_appengine/lib/webob/
    • google_appengine/lib/yaml/lib/
  6. 配置运行环境:
    菜单里面选择Run>run...>Python Run
    • Project里面选择你的项目
    • Main Module里面选中google_appengine/dev_appserver.py
    • (x) = Arguments的Program arguments里面添加:
      • "${project_loc}/src"
      • --port=9999
  7. 最后Run。
Creative Commons 3.0 BY