免费邮件短信提醒mail2sms发布,基于Google Appengine
前一段Google Appengine开始支持接受邮件,于是我便有了这个想法,通过gmail的邮件转发功能转到appengine,然后利用Google日历api做短信提醒,因为是通过转发实现的,并不是利用pop3,所以提醒短信在2分钟之内可以收到,短信内容为邮件主题、日期、发件人。
使用条件:
1、支持转发的邮箱gmail和qq邮箱都支持,是免费的。
2、appengine帐户,是免费的,可以自由申请 。
3、Google日历帐户,是免费的, 可以自由申请 。
基本原理:邮箱转发->Appengine->Google日历->短信
安装之后,程序会在你的Google日历中新建一个mail2sms的日历,你的邮件会作为事件显示在其中。
现在我自己测试没发现什么问题,所以发布出来也许有人可以用得着。
详细请访问项目地址:http://donotdot.cn/project/mail2sms
如果你对此项目有什么建议,请直接留言或者发送邮件至ohhhhe+mail2sms@gmail.com,或者gtalk联系ohhhhe@gmail.com
跨平台原型图开发工具Balsamiq Mockups
最近将我的开发环境转移到ubuntu9.10上面,在windows下面一直用axure rp作原型图,不过axrue rp只能在windows下面使用。
于是发现这款 跨平台的原型图开发工具Balsamiq Mockups,Balsamiq Mockups是一款air程序,在大部分平台下都可以使用。
Balsamiq Mockups在功能方面没有axure强大,不过界面和操作更加简单和人性。下面有一张例子。

我们可以看到Balsamiq Mockups设计出来的网页很性感很可爱,不像axure那么死板。

Balsamiq Mockups售价79美元,可以说价格不菲,不过他们向非营利组织、高中教师等提供免费或优惠方案,这里看免费方案。
最后附一下在ubuntu下安装Balsamiq Mockups的教程:
1.下载Adobe Air For Linux的最新版本:
访问http://www.adobe.com/go/EN_US-H-GET-AIR
Adobe会自动识别你的操作系统,你要下载的文件是AdobeAIRInstaller.bin .
点击“立即下载”即可。(若要下载其他操作系统的版本,请点击这里)
2.默认会下载到主文件夹的下载目录
打开终端 输入
cd /下载
chmod +x AdobeAIRInstaller.bin
sudo ./AdobeAIRInstaller.bin
之后会弹出安装界面一路下去即可。
4.以后要安装什么air程序,双击即可。
如何在Google appengine中接收邮件
Google appengine 1.26版本公布后,我们可以在gae中接受邮件了。不过在官方文档中并没有一个范例,下面是一个简单的例子说明如何在appengine中接受并处理邮件。
1、在app.yaml中设置开启接收邮件功能,并定义处理方法。
application: appid
version: 1
runtime: python
api_version: 1
handlers:
- url: /_ah/mail/.+
script: main.py
login: admin
inbound_services:
- mail
说明:所有接受到的邮件都会以post方式向/_ah/mail/方式请求,我们这里使用main.py来处理邮件。
2、处理函数
#!/usr/bin/env python
#coding=utf-8
import logging
from google.appengine.ext import webapp
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.api import mail
#import mail2sms
class MailHandler(InboundMailHandler):
def receive(self, message):
_subject = message.subject
_sender=message.sender
bodies = message.bodies(content_type='text/plain')
allBodies = "";
for body in bodies:
allBodies = allBodies + "\n---------------------------\n" + body[1].decode()
m= mail.EmailMessage(sender="YoungKing ",
subject="reply to "+_subject)
m.to = _sender
m.body =allBodies
m.send()
pass
application = webapp.WSGIApplication([
MailHandler.mapping()
], debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
上面处理方式是向发送方自动发送一个回复邮件,python的语法很容易看懂,就不解释了。
详情参考文档
这里也有一个接受邮件的范例
中国美菱文录是如何骗人的
中国美菱文录事务有限公司http://www.gfwo.cn/这是一个骗人的网站,最近有朋友被他骗了。
讲一下他骗人的技俩。在天涯等论坛上宣传,用诱人的兼职诱导用户来到这个网站。
他的条件貌似合理,要你提供一个139邮箱。
网页上注册139邮箱的链接是http://pop.taolai.cn/139email/email.htm?wsid=137269&sid=000
其实移动为了推广139邮箱,网站推广一个用户就给几块钱。
wsid=137269就是推广网站的id。
也就是借助诱人的兼职薪酬来吸引你,引导你注册139邮箱,然后他赚钱,你注册了139邮箱他就不会管你了,也就可能还会顺便收集一下你的个人隐私,手机号、QQ号等。
也就是说http://www.gfwo.cn/上的 中国美菱文录事务有限公司是骗子。
这类骗人招数很早就有,一般有以下几个特点:
1、诱饵。诱饵以兼职为多,多提供较高薪酬。
2、不用交任何费用。现实中的骗子多要交押金之类,这种骗人招数因为你不用付出任何资金,所以很容易上当。
3、有一些看似合理但不合理的条件,这就是骗子利用网络推广来赚钱的渠道。例如这里的必须注册139邮箱,必须使用某个软件,必须在哪个网站注册等。这就是他赚钱的来源。
这类骗人招数很难分辨,很容易上当,还希望网友们小心。1c745401
wordpress wp-codebox插件冲突问题
wp-codebox是一个非常好的wordpress代码高亮插件,他的很多自定义设置非常人性。
不过我在使用中发现wp-codebox会与我的主题的tabs冲突,导致tabs不能正常使用,而wp-syntax则不会产生此问题。在网上我也看到很多人反映此插件与其他插件或主题产生冲突。
看了下wp-codebox的代码,发现导致这个问题的原因很简单,wordpress已经自带了jquery,而wp-codebox会重新加载一遍jquery,但是重新加载的jquery太靠后,导致之前的jquery插件不能使用。
解决方法很简单:
打开wp-codebox的目录,打开main.php文件,找到这个函数,也就是第一个函数,
function codebox_header() {
global $cb_path;
$cb_path = get_bloginfo('wpurl')."/wp-content/plugins/wp-codebox"; //URL to the plugin directory
$hHead = "\n".""."\n";
$hHead .= "
\n";
$hHead .= " \n";
$hHead .= " \n";
$hHead .= ""."\n";
print($hHead);
}
把这一行删除或注释掉即可。
$hHead .= " \n";
这样就不会再重新加载jquery了。
zblog无缝转移到wordpress
今天将博客迁移到了wordpress上面,原因有三:
1:自己准备往php方向发展。
2:zblog系统修改模板太麻烦。
3:希望通过新系统来提高自己的激情。
博客更换系统最重要的是保持链接不变,避免搜索引擎重新收录的问题导致流量降低的问题。
我现在的所有文章页面链接都与zblog保持一致,tag、分类、分页页面保持一致实在太难了,虽然很重要。
不过能文章链接保持一致,至少对用户体验来说很凑活吧,其他只好靠跳转来解决了。
下面是我转移的方法:
1、下载zblog导出Movable Type格式数据插件,安装之后在配置那里将数据导出。
2、安装好wordpress,在工具-导入-Movable Type 和 TypePad,将数据导入。
3、如果你不在乎原来的链接的话,现在已经可以用了,文章和评论都在。下面修复链接。
3.1、下载你的zblog数据库,到月光那里下载ACCESS数据库转换MYSQL数据库的软件。
3.2、用access打开你的zblog数据库,删除blog_Article表中字段,只保留log_ID、log_Url及log_Title。用上面的软件打开并将blog_Article表导出为sql。
3.3打开wordpress数据库(例如打开phpmyadmin),在wordpress数据库中执行下面命令新建一个表:
CREATE TABLE blog_Article (
log_ID int NOT NULL ,
log_Url varchar (255) NULL,
log_Title varchar (255) NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
3.4、然后执行你在3.3导出的sql。
3.5、执行下面两句sql。
update wp_posts,blog_article set wp_posts.post_name=blog_article.log_Url where wp_posts.post_title=blog_article.log_Title;
update wp_posts,blog_article set wp_posts.post_name=blog_article.log_ID where wp_posts.post_title=blog_article.log_Title and wp_posts.post_name='';
3.6、在wordpress数据库中删除刚才建立的blog_Article表。
4、在wordpress设置-固定链接中设置自定义结构为你在zblog中的链接形式,例如/post/%postname%.htm。至此完成,看看你的博客链接吧!
fedora下django安装问题
在fedora11里安装django时遇到下面的问题
python setup.py install running install error: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or directory)
当然,这并不是django的问题,而是python的问题,如下安装python-devel即可
yum install python-devel
在fedora11下安装google chrome
虽然两者分别不大,不过这里安装的是Chromium,也就是开发项目版,。
Tom ‘Spot’ Callaway, Fedora 项目经理创建了一个 chromnium 的rpm包,你可以用下面的方式安装。
创建一个chromium.repo 文件在 /etc/yum.repos.d目录,可以直接使用下面的命令,不过注意使用你的编辑器,例如gedit替换vim
vim /etc/yum.repos.d/chromium.repo然后在里面写入:
[chromium]name=Chromium Test Packagesbaseurl=http://spot.fedorapeople.org/chromium/F$releasever/enabled=1gpgcheck=0
保存。然后
yum install chromium
即可安装。等待下载安装完毕,可以在你的应用程序中找到他。
谷歌的本地化形象大使–小谷哥哥
最近谷歌的本地化形象不仅在网络上被谷歌大肆推广,就说在北京广州的地铁里也全是用小谷哥哥做代言人的的谷歌平面广告。

小谷哥哥形象
小谷哥哥在校内 http://xiaonei.com/profile.do?id=269474257
小谷哥哥在twitter http://twitter.com/Google_in_China
小谷哥哥在优酷 http://u.youku.com/user_show/id_UNTg0MTQ2NjQ=.html
可以说首先这是谷歌不得已而为之,以前Google黑板报上的视频链接均是指向youtube的,自从youtube在大陆不能访问之后,这个矛盾逐渐突出,别说用户,即使是谷歌自己,都不知道自己的那些产品会在未来会被封。例如谷歌现在各种比赛很多场合喜欢使用的Google docs服务,如果过几天docs被封了,对谷歌来讲,真的是非常尴尬的事情。所以谷歌不得已必须将自己的各种宣传媒介转移到国内来。
对于谷歌来说,google黑板报不能使用自己的blogger服务,因为在国内不能访问。
对于谷歌来说,发布视频不能使用自己的youtube服务,因为在国内不能访问。
对于谷歌来说,在twitter的小谷哥哥帐户能起到多大的作用,twitter在国内不能访问,或者可以和用户交流一下翻墙心得。
对于谷歌来说,他不敢用自己的Google group服务,好在跟天涯的关系还不错。
对于谷歌来说,无论是主动和谐还是被动和谐,都是一件令人伤心的事。
为什么一谈到谷歌,我就觉得有点伤心呢?