Picky 改动记录

先谢国家,再谢 picky,简洁而强大的 Blog powered by GAE。自己做了一点点改动,记录一下,下次升级时候备忘。

  1. main.py - 添加全局变量 template_values = {}. RobotsHandler 生成 robots.txt 的时候没有对 template_values 定义赋值,造成 robots.txt 生成不能。
  2. robot.txt 修改 sitemap.xml 为绝对地址,跟第一个有关.
  3. 删掉了 default 主题 sidebar.html、article.html 两个模板文件里的 Google Ads。
  4. header.html 追加 Google Webmaster Meta 验证。
  5. 换了 Favicon。

Google.cn is leaving

So earlier today we stopped censoring our search services—Google Search, Google News, and Google Images—on Google.cn. Users visiting Google.cn are now being redirected to Google.com.hk, where we are offering uncensored search in simplified Chinese, specifically designed for users in mainland China and delivered via our servers in Hong Kong.

I love Google.

电脑貌似挂了

昨晚上抱着笔记本看电视,突然自动关机,一摸,热得烫手。虽说用个懒人桌撑着本子,散热还是有问题。等机子凉下来再次准备开机时,坏了,不能开机,按电源键直接没反应。

初步判断是主板烧了,当然,这是最坏的结果了。等周末拿去电脑城看看再说吧。

这本子用了整三年,之前是我家最昂贵的家伙什,跟着我没少受苦,希望不至于就这么的挂了吧。

静下心去思考

静下心的去思考程序,调试是最能锻炼学习能力的方法。

细小的地方要注意留心,同时要有大局观,整个函数的运行逻辑,整个项目系统的运行,都很重要。跳出来就会发现其实是自己给自己上套。

Fannt2r New Version

Fannt2r 是一个同步我的 Twitter 到人人的一个 GAE 应用,参考网上教程自己瞎搞出来的。现在是 cron 5分钟一次 LoginRenren、GetTweet、SendStatus,基本满足。早上在路上的时候想到了一个新的实现方式,备忘一下:

  1. 先 GetTweet,然后判断 if synctag in status:
  2. 然后再 LoginRenren、SendStatus。

这样可以 cron 一分钟跑一次,时效性更高,也不会因为过于频繁的 fetch 登录人人造成帐号被冻结。

VSS 自动登录

VSS (Visual SourceSafe)快捷方式后添加一个启动参数 –y 就可以实现自动登录。

"C:\Program Files\VSS\win32\SSEXP.EXE" –yUsername,Password

Home for Happy

过年回家,回家过年。

晚上火车回家,半年多了,想家啊,想爸妈,想小妹,想那帮子兄弟,真的,想你们。

回家要开开心心的,高高兴兴的,忘掉工作,远离网络,好好的陪爸妈说话,跟兄弟们耍乐。

Home for happy!

入手黑莓小记

那天在 Twitter 上看见 @wangguan 年关促销一批黑莓,突发奇想的想入一个玩,于是就入了一个 8700,准确的型号是 BlackBerry 8705g。用了差不多两个星期,随便写两句。

  • 全键盘确实很爽,尤其是写英文的时候。自带的中文输入法有点类似微软拼音,熟悉后准确率在 80% 以上,当然,自带的输入法没有点讯爽快,不过点讯默认切换中英文输入法的快捷键跟 QuickWheel 冲突,暂时放弃。
  • 机子是 4.2 的 ROM,暂时没有刷 4.5,各方面情况都非常稳定,虽然只有 64M 内存,除去系统占用也就30M 左右的空闲内存,但是运行速度很快。
  • 自带的浏览器很方便,各种快捷键,不过不能 番羽土啬,配上 4.2 改键 Opera,爽快。
  • 黑莓的人性化设计真叫人舒服,各种快捷键设计,尤其是英文系统下快捷键更多更爽。
  • 因为是两三年前的机子,再加上 RIM 一直都是重商务轻娱乐,所以 8700 没有摄像头,不能存储卡,但是纯手机应用的话,完全没有问题。
  • 黑莓很容易让人低头沉迷。

GAE urlfetch 登陆人人

其实 Python 中一般都是直接用 urllib.urlopen() 来抓取网页内容或者模拟登陆等操作,但是 GAE 出于安全考虑不可以用 urlopen 操作,取而代之的就是 urlfetch.fetch()。fetch() 函数参数: fetch(url, payload=None, method=GET, headers={}, allow_truncated=False, follow_redirects=True, deadline=None)

def login_renren(self):
    login_url = 'http://passport.renren.com/PLogin.do'
    login_data = urllib.urlencode(
        {
         'domain':'renren.com',
         'email':  renren_username,
         'password': renren_passwd,
         'origURL':'http://home.renren.com/Home.do',
         })
    result = urlfetch.fetch(
        url = login_url,
        payload = login_data,
        method = urlfetch.POST,
        headers = {'Cookie':make_cookie_header(cookie),
                   'Content-Type':'application/x-www-form-urlencoded',
                   'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6' },
        follow_redirects = False)

继续学习 GAE。

Hello World

Hello world from @fannheyward, powered by @projectpicky and GAE.