刚刚发现 link.exe /dump 其实就是 dumpbin
以前只知道 link.exe /lib 相当于 lib.exe,现在发现 dumpbin 也是可以用 link.exe /dump 来代替的。这样对于我来说,Win32 上安装一套 msvctoolkit2003 + platform sdk 基本就可以满足我的所有需要了。
以前只知道 link.exe /lib 相当于 lib.exe,现在发现 dumpbin 也是可以用 link.exe /dump 来代替的。这样对于我来说,Win32 上安装一套 msvctoolkit2003 + platform sdk 基本就可以满足我的所有需要了。
软件工程里有一个很有趣的“定理”:一个项目的花了 90% 的工期完成了前 90%,但剩下的 10% 要花同样的 90% 的时间才能完成。目前我手头的这个项目似乎就处在这个完成度 90% 的状态下,似乎已经没有什么事情可做了,但离完工好像还是遥遥无期。
在搜狐接触的人多了,总会碰到那么一两个不大合拍的人,其中一个说话的态度好像我欠他钱,另外一个大部分时候还算和善,不过偶尔会发发飙。回想起来其实都是跳槽带来的挑战,以前在亿邮的时候别人和我说话几乎都是恭恭敬敬,现在得时时提醒自己,“心态要端正...冷静,一定要冷静...冲动是魔鬼...”
或者终极心理暗示大法:这也会过去
总之突然圣诞节那天快下班时觉得状态非常不好,或许是周日在 SOGO 血拼满三百返三百太疲倦的缘故,遂等公共汽车的时候去麦当劳买了杯热巧克力喝下。26 日一个朋友在 MSN 上祝我 Merry Xmas,一下子又充满了干劲。在这里向所有看我 blog 的朋友们说,Merry Xmas!Happy New Year!我永远爱你们;虽然从来不群发短信,但我永远是一个 rapport 的家伙,这点是错不了的。
明后天计划做做公钥算法加密解密的benchmark,刚刚发现除了 RSA/DSA 外,ECC(椭圆曲线密码)也是属于公密钥体系(非对称加密)的,似乎有超越 RSA 的势头。
前段时间看到有人介绍新出来一个blog搜索评价网站——有道,紧接着又见有人说不怎么样。既然别人已经帮我尝试了,我就不拨冗拜访了。
今天偶然从别的地方链进去,看见一个什么测blog是男是女的,顺手试了一下。结果没啥问题,不过里面的链接竟然写着“BT的花 blogs(qyb)”,很明显这是被人干预的结果。好消息是这个网站注意到有我们这朵花,坏消息是我qyt被忽略了。
啥叫BT?没T能叫BT吗??太不像话了!做事一点都不认真!!为了表现出我的小鸡肚肠,决定骂骂他,唱衰这个网站。
来 SOHU 很长时间了,今天头一次参加了一个很没有营养的会议。具体内容就不谈了,反正是 13 个人从 9:30 开始呆到 12:10,可以想象会议有多无聊。至少一半的人对会议没有任何贡献,理论上俺也不用说什么话,不过作为新人还是得好好表现,在几个地方适时的阐述了一下我负责的项目对该市场计划会带来什么影响。
现在是进入大企业工作了(哈,SOHU有2000号人呢),SOHU确实很多地方能体现大公司的风范,但问题也很多,最重要的感受就是——要做一件事实在是太难了。
稍微大一点的项目,比如我手头的以及今天开会讨论的,就至少涉及3个业务单元,5个以上的team。别人不是在为你打工,必须一个一个谈过去,随时紧盯着项目跟进。
业务做的好坏,和老板是否重视有极大的关系。并不是说大公司资源多就可以把事情做好的。如果老板不重视,资源放在那里根本拿不到,虽然说我感觉查尔斯已经算是很勤奋的老板,但SOHU那么多业务线,能做好体育、娱乐、博客、搜索、输入法就相当了不起了。小公司们,尽管向搜狐的其他业务去冲击吧,呵呵。比如校友录的确很牛,但投入在“校内”上的资源,远远不及 5Q 和占座,甚至我怀疑不如被收购前的 xiaonei.com。幸好Passport号称是搜狐的第一项目(虽然我们迄今为止只有三个人),老张每周都要做1到2次brief review,进行的还算顺利。
小公司的优势是只有单一的业务,所有的团队都是因为同一个方向而设立。所以根本不必担心配合问题,如果你的团队无法成功,那所有的团队的结果都是失败。
按照长尾理论,未来的趋势应该是小公司,或者说小组织会越来越多...在脑力密集型行业,BigCompany实在不是资源配置的最有效方式。
关于开会,我最近的心得是:首先预计开会的人时数n(比如13个人,3小时会议就是39人时),会议的召集者至少事先准备n/6小时,确保开会的所有人是在同一个状态下坐在一起来讨论问题的。事实上当 n > 10 的时候,就应该考虑是否要缩减开会的人数,以及议程了。
<tags>hub 標簽中心www.tagshub.com 是一个类似于百万格子的创意,不过他不是卖格子而是卖标签(好像是废话),最普通效果的标签,每字五元,这样如果你的标签名字够短,还是很不错的。据说,比其他类似网站的价格公道多了。
更有一点,如果你能在你的 blog 上写一篇关于他的介绍文章或者你的站点 Page Rank 为 5,可以得到一个 88 元的标签。如果你的 Page Rank 为 6,可以得到一个 188 元的标签。
现在标签还不多,如果你的标签名可能跟别人重合,早到早得呀,还等什么呢?
更新:BT的花已经加在TagsHub.com上面了,感谢站长!
前段时间上淘宝买了点东西。由于是第一次做这种C2C的交易,一切都是挺新鲜的。当把支付宝里的钱划给卖家后,淘宝有一个买卖双方互评的机制确实让我长了见识。这个时候好中差三种评价显得非常重要。作为卖家,中评几乎都是不能接受的,这对他的信用记录有很负面的影响,可能直接关系到以后的生意是否兴隆。
淘宝作为一个C2C的网站可以利用自己的平台优势轻易推出这种完成交易必须的步骤,而这个步骤对规范整个虚拟市场向良性方向发展起着至关重要的作用。因为有这个步骤的存在每个商家都会自省自己的实际商品是不是跟介绍的完全一致,都会掂量自己的服务是不是足够优质。
信誉跟口碑保持它们一直完好很难,毁掉它们却非常容易,绝对是需要慢慢积累,需要每时每刻毫不懈怠地重视的,它们就是你能把生意继续做下去的必要条件。在淘宝上,买家可以轻而易举地看到前人的评价记录,有了不良的记录,卖家无法藏着掖着。作为付钱的买家,手上确实握着这把尚方宝剑,可以在交易结束后,根据自己的实际感受选择是不是给卖家来这么一下子,因此卖家也就不得不打叠十二分的精神兢兢业业地做生意。
如今市面上假冒伪劣商品这么多,每个消费者都要擦亮眼睛去分辨鉴别。如果相关监管部门能想办法把淘宝这种机制强制执行到各个卖场级别,让顾客能轻易的给卖场打分而且这个分数能醒目地被别的顾客看到。卖场为了能让新顾客放心为了能让老顾客成为回头客再严把进货关,我想红心鸭蛋、苏丹红这些事情也许会少出一些吧。
其实我写这篇blog的目的并不是想抒发一大堆感慨,而是想秀一下我买的部分东东,“我是国际米兰球迷”徽章,冠军盾和队徽的式样各两枚。嘿嘿~~
学习了 web.py 0.2 的教程。看到现在中文翻译版本是 web.py 0.1 的,翻译了一下,与大家共享。
前晚和昨晚一口气读完了.. 精采绝伦。强烈推荐,去体会一下西班牙文学的魅力吧。
作者对结构、情节、人物的掌控能力,完全是第一流的。类似的感觉我只有读《第22条军规》的时候才有。
值得一提的是这本书翻译也相当好,读的时候完全感觉不到这是翻译作品,呵呵。大前天晚上读斯蒂芬金的《三张牌》里面的第二部,也是好作品,感觉不用变成剧本就可以直接拍电影了,可惜翻译的比较烂。
申明一点,这里的例子都是基于 web.py 0.2 版本的。现在网上的 web.py 中文教程是基于 0.1 的,如果你看到的文章一开始说要安装什么 Cheetah,那肯定不适用现在的情况了。
首先说的是 Python 连 MySQL,以及 UTF-8 字符集的事情。我这里假设你的应用是纯 UTF-8 的,而且使用 MySQL 4.1 以上的版本。
Python for MySQL 的连接扩展在 mysql-python,Debian Sarge 的包里面是 1.2.1c2 版,是不支持 4.1 的 Charset 特性的,最新的 1.2.1_p2 版支持的很好,只不过从这个版本开始必须依赖 Python2.4 了。
当使用 mysql-python connect()的时候有两个重要参数,charset,use_unicode。charset 就是指定连接以后 set names 的字符集;use_unicode 则指定 fetch result 的结果是用 'unicode string' or 'string' 类型 ? 由于最后输出的模板都是按照 string 来解析的,为了能正确运算,必须把这里设置成 0
web.py 类似 Java Servelet,可以在程序出错的时候抛出一大块异常;而且因为直接处理所有的 URL,所以它也内置一个自定义 url not found 的机制。
例子:首先是初始化部分的代码
def mynotfound():
render = web.template.render('templates/') print render._404()
web.webapi.internalerror = web.debugerror
web.webapi.notfound = mynotfound
if __name__ == "__main__":
import os
os.environ['PHP_FCGI_CHILDREN'] = "1" #FastCGI 运行模式
web.config.db_parameters = dict(dbn='mysql', user='webpy', pw='passwordofwebpy', \
host='localhost',port=3306,db='club',charset='utf8',\
use_unicode=0)
web.run(urls, globals())
上面定义了新的 404 处理函数以及用 web.debugerror 代替原来的 500 处理函数,debugerror 可以抛出一个非常漂亮的异常页面。在 __main__ 函数里面设定了 mysql 的连接参数,这里连接到一个叫 club 的数据库
增加一个对所有以 'sample/' 开头的 URL 分发类 samples
urls = (
'/sample', 'sample',
'/sample/(.*)', 'samples',
'/(.*)', 'hello' )
class samples:
GET = web.autodelegate('GET_')
POST = web.autodelegate('POST_')
def show_signup(self, users):
render = web.template.render('templates/sample/')
print render.signup(users)
def GET_signup(self):
users = web.select('user')
self.show_signup(users)
def POST_signup(self):
i = web.input()
web.insert('user',
user_name=i.user_name,
user_email=i.user_email,
user_passport=i.user_passport)
users = web.select('user')
self.show_signup(users)
注意:这里用了 autodelegate ,来把 sample/abc 的 GET 方法转到 GET_abc 方法去处理
运行实例:
访问 http://www.dup2.net/papp/sample/notfound 可以看到我自定义的 _404 输出结果
访问 http://www.dup2.net/papp/sample/signup可以执行我这里访问 MySQL 的例子.
我这里的 email 是设置成 unique key 的,这样可以在这个页面提交表单内容里面把 email 赋值为已经存在的 email,比如 spam@notinput-realemail-here.org,哈,就可以看到一个很帅的异常了..
从 IceBin 那里看到明年忍者神龟就要上映了,呵呵,小时候还是挺喜欢看这个动画片的。不过后来一直对里面的"爱因斯坦"有疑问,应该都是文艺复兴时期的艺术家啊,怎么会包括爱因斯坦?
上网搜索一番,知道了 L 是达芬奇(莱昂纳多..小时候一开始以为 D 是达芬奇,L 是拉菲尔,汗...),R 是拉斐尔,M 是米开朗基罗,以上就是文艺复兴三杰了。
D,Donatello,则是意大利文艺复兴早期最好的雕塑家。Donatello 的代表作包括:青铜像《David》(当然最有名的那个《大卫》是米开朗基罗的大理石像版本),《Abraham and Isaac》,《Gattamelata》(或者称《Equestrian monument of Erasmo da Narni》)等
最新评论