AttributeError: 'module' object has no attribute 'getaddrinfo'

如果用 Appengine 与 gdata-python client 的话,请不要选择 gdata-python client 的1.2版本,因为至少目前(Appengine 1.1.4)都会遇到

AttributeError: 'module' object has no attribute 'getaddrinfo'

的错误提示,不过使用 gdata-python client 1.1 或是 1.0 是正常的。

Appengine Bulkload 上载中文CSV文档

Appengine Bulkload 支持UTF-8中文CSV上载吧!环境 Appengine SDK 1.1.3

  1. 把 google\appengine\ext\bulkload\__init__.py 拷贝到你的目录,比如 patch\bulkload.py,当然不要忘记在patch目录下面放置 __init__.py 文档哦。
  2. 更改 patch\bulkload.py 内容,只有一处:
    .....
       return (httplib.BAD_REQUEST, ''.join(output))
    -  buffer = StringIO.StringIO(data)
    +  buffer = StringIO.StringIO(data.encode('utf-8'))
       reader = csv.reader(buffer, skipinitialspace=True)
    .....
    
  3. 更改你的 myloader.py
    - from google.appengine.ext import bulkload
    + import patch.bulkload as bulkload
    ....
        bulkload.Loader.__init__(self, 'Person',
    -                          [('name', str),
    +                          [('name', lambda x: unicode(x,'utf-8')), 
                                ('email', datastore_types.Email),
    ....
    

今天终于感到一种耻辱,被狗咬伤

台湾人的狗比大陆人的工资不知道高多少,却还要到处咬人。

Debug is Bad For Work

在Appengine上的LOG记录总是提示

This request used a high amount of CPU,  
and was roughly 2.1 times over the average request CPU limit.
High CPU requests have a small quota, and if you exceed this quota,
your app will be temporarily disabled.

结果去group看了一下, 才发现主要是应为开启了debug, 难怪. 只有修改一下django的 setting.py 让她自动判断运行环境了.

如何才能找到一家适合自己的好公司

在google上搜索了一下, 中文的结果太少了, 好像中国人都不关心这个了? 还是这个根本就不管用...

现在的公司同事都陆陆续续的闪了, 的确这是现在中小公司的人力资源现状, 一个好的公司并不是看人有多少, 而是看有多少人在这里过得开心. 的确商人和企业家有很大的不同.

不过视乎这些都可能不关我什么事, 至少很开心的是因为我明天就要回去领结婚证了!

边缘梦是个高手

边缘梦是个PHP高手,不过他是要收费的~ 他说

<?php
$newContent = preg_replace("!<table[^?>]*>.+?!is", "", $line['post_content']); 
?>

要加 is 才能全文匹配,我觉得他说得对,不过他给别个说PHP要收费的!

ipvsadm命令参考

一般选项

  • -A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。
  • -E --edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
  • -D --delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
  • -C --clear 清除内核虚拟服务器表中的所有记录。
  • -R --restore 恢复虚拟服务器规则
  • -S --save 保存虚拟服务器规则,输出为-R 选项可读的格式
  • -a --add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。也就是在一个虚拟服务器中增加一台新的真实服务器
  • -e --edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录
  • -d --delete-server 删除一条虚拟服务器记录中的某条真实服务器记录
  • -L|-l --list 显示内核虚拟服务器表
  • -Z --zero 虚拟服务表计数器清零(清空当前的连接数量等)
  • --set tcp tcpfin udp 设置连接超时值
  • --start-daemon 启动同步守护进程。他后面可以是master 或backup,用来说明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的VRRP 功能。
  • --stop-daemon 停止同步守护进程
  • -h --help 显示帮助信息

其他的选项:

  • -t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]
  • -u --udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port]
  • -f --fwmark-service fwmark 说明是经过iptables 标记过的服务类型。
  • -s --scheduler scheduler 使用的调度算法,有这样几个选项rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc.
  • -p --persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。
  • -M --netmask netmask persistent granularity mask
  • -r --real-server server-address 真实的服务器[Real-Server:port]
  • -g --gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)
  • -i --ipip 指定LVS 的工作模式为隧道模式
  • -m --masquerading 指定LVS 的工作模式为NAT 模式
  • -w --weight weight 真实服务器的权值
  • --mcast-interface interface 指定组播的同步接口
  • -c --connection 显示LVS 目前的连接 如:ipvsadm -L -c
  • --timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L --timeout
  • --daemon 显示同步守护进程状态
  • --stats 显示统计信息
  • --rate 显示速率信息
  • --sort 对虚拟服务器和真实服务器排序输出
  • --numeric -n 输出IP 地址和端口的数字形式

Fixed Google Webmaster Tools

今天按照google webmaster的说明更新了SEO相关功能,rebots.txtsitemap等;并添加了RSS订阅功能。

Pidgin 2.4.3

pigdin2.4.3发布了,终于修正了至gaim2.0以来长期没有解决的QQ群显示问题。我用slapt-get升级了pidgin,一切都很顺利。附带升级了Opera到9.5.1。
我在想这个blog系统是不是应该先增加一个tag功能?

How to install Apache, PHP and MySQL 5 on Opensolaris

自从前几天安装了opensolaris之后今天才想起来要在上面安装一些应用程序,找了一下发现solaris10是使用pkg来管理软件包,安装了好ApachePHPMySQL之后,很想知道我能不能在opensolaris上成功编译。

http://blogs.sun.com/natarajan/entry/how_to_install_apache_php
这里还有关于学习Solaris很好的地方。

推荐一张2006年的专辑

State of the Art (Special Edition) 的封面

自2004年7月推出的七辑之后,神话终于在今年再度展开音乐活动,推出第八张大碟《State Of The Art》。“State Of The Art”就有最顶级的涵意,代表六位成员都把他们的热潮和努力注入大碟中。这次神话一改以往使用舞曲作为主打歌的传统,以民谣歌曲的抒情曲“Once In A Lifetime”为主打,向大家展示他们的深情温柔的歌声。此曲更被选为SBS电视台指定的“2006年世界杯加油歌”。队中负责主唱和RAP的成员,也会以他们的专长进行大比拼,HyeSung会联同MinWoo和DongWan的主唱“为什么我……”,而ERIC则会与JUNJIN和ANDY合作RAP的曲目“Highway Star”,此曲更邀得IVY跨刀献声。

寻找国外空间

以前 fred.webcan.cn 的空间停止服务,还丢失了几篇章,现在正和 Asprine 在寻找合适的国外虚拟主机空间,Bluehost 1and1Host Monster 等我觉得都不错,就是等着几个朋友一起来租用了。
不用国内空间,就算被墙挡住也情愿,不要过滤,不要什么审核。这样才够 free

Lanuch Opensolaris

今天安装了 Opensolaris,感觉还不错,虽然官方只是推荐学习和开发者使用,但是我想用来做服务器也不错,听说IBM用OS来运行文件服务器,可能就是看中了稳定和开源。
安装出乎想像的简单,我是用的GUI模式,对中文支持也非常棒,特别是她的多语言输入法,非常方便。感觉易用性与ubuntu不相上下。过几天来测试一下WEB服务和数据库服务。

New Theme!

Hello everyone, my new theme coming!
之前的博客可能不会再出现了,直到找到国外的空间为止,可能现在开始就要真的在这个appspot写日志了。欢迎大家多多指教~ 更多实用的功能会在我业余时间开发。 建议大家多实用google的各种服务,比如 project hostbloggerappenginesite等。

虽然天朝会毫无征兆的屏蔽一些Google的服务,但是使用web proxy是可以很放便的爬墙,就算天朝屏蔽了Appengine,我也会使用Proxy继续使用!

I Trust Google More Than Other

人才,二十一世纪最宝贵的是人才!为什么人才总是这么难找,因为“千里马常有,而伯乐不常有”。

所以说,有的企业很难成功,因为无伯乐 。只有害群之马。

越来越发现古文很有趣了。