欧阳峰旁白
忽然,想起了张国荣,想起了《东邪西毒》,想起了醉生梦死……
欧阳峰(旁白): 立春之后就到了惊蜇,每年这个时候,有位朋友来看我。但是他今年没有来。没多久,我收到一封白驼山的来信,我大嫂在两年前的秋天,因为一场大病去世了。我知道黄藥师不会再来,可是我还继续等。我在门外坐了两天两夜,看着天空不断的变化,我才发现,虽然我到达這裡很久,却从来没有看清楚这片沙漠。 以前看见山,就想知道山的后面是什麼。我现在已经不想知道了,我是孤星入命的人,从小父母早死,只好跟哥哥相依为命。从小我就懂得保护自己,我知道要想不被人拒绝,最好的办法就是先拒绝别人。因为这个原因,我再也没有回去,其实那边也不错。可惜已经不能回头。我的命书里说过,夫妻宫太阳化忌,婚姻有实无名,想不到是真的。 那天晚上,我突然很想喝酒,就喝了那半坛「醉生梦死」,好象平常一样,我继续做我的买卖。 没有事的时候,我会望向白驼山。我清楚地记得有一个女人在那边等我,其实「醉生梦死」只不过是她和我开的一个玩笑,你越想知道自己是不是忘记的时候反而记得越清楚。 我曾经听人说过,当你不能够再拥有的时候,你唯一可以做的就是令自己不要忘记。 不知道为什麼,我常常会做同一个梦。没多久,我就离开了这个地方。

- 相关文章:
Simple spider with wget
一些临时且定制程度很高的抓取工作,使用系统化的爬虫往往没有使用Shell 效率高,下面是一些思路。
事先用脚本分析出下载连接,存放在一个文件中,然后用split 切割成若干个文件,文件数取决于希望的并发下载进程数量。
使用Wget 进行下载:
nohup cat links.txt.aa |awk '{print "wget \""$0"\" --user-agent=\"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\" -a wget.log -nv "}'| sh & nohup cat links.txt.ab |awk '{print "wget \""$0"\" --user-agent=\"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\" -a wget.log -nv "}'| sh & nohup cat links.txt.ac |awk '{print "wget \""$0"\" --user-agent=\"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6\" -a wget.log -nv "}'| sh & |
模拟了UA,当然模拟Cookies、reference 都没有问题,稍后补上吧。
根据wget.log 统计下载速度:
日志格式:
2012-02-01 17:23:32 URL:http://a.b.com/d.zip [196986/196986] -> "d.zip" [1] 2012-02-01 17:23:45 URL:http://a.b.com/e.zip [49455/49455] -> "e.zip" [1] |
One-liner 脚本:
cat ~/wget.log |grep "2012-02-02 17:..:.."|awk '{a+= substr($4, 2, index($4, "/")-2)}END{print a}' |
- 相关文章:
厌烦Mac Vim 的图标了吗?
看看这个怎么样?
![]()
这是Drew Yeaton 发布的一款图标,我很钟意,分享给大家!
<猛击这里下载Icns 版本>,
如何替换应用图标呢?其实很简单,不用什么第三方工具。
下载icns 文件到本地,用Finder 打开/Applications,找到MacVim,右键点击,在菜单里选择“Get Info”,然后拖动icns 文件到Info 的顶部的图标位置即可。
如果要恢复默认呢?同样打开Get Info,选中图标,然后按Delete 键,就可以咯。
BTW: 这个方法适合任何图标!
- 相关文章:
mysql python in lion 64
下载并安装64位版本的MySQL Server community
修改~/.bash_profy:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ 下载MySQL-Python,http://mysql-python.sourceforge.net/ 解压缩,并用下面的命令安装:sudo ARCHFLAGS='-arch ix86_64' python setup.py build sudo ARCHFLAGS='-arch ix86_64' python setup.py install 测试:$ python >> import MySQLdb查看共享库的格式:
$ file build/temp.macosx-10.7-ix86_64-2.7/_mysql.o build/temp.macosx-10.7-ix86_64-2.7/_mysql.o: Mach-O 64-bit object x86_64- 相关文章:
Sharing
今天安排了一位资深的Linux C/C++ 的同事为大家做了一次分享,主要将程序运行时在系统底层究竟是什么样子,可惜的是我今天没能参加,不知道效果如何。
这里说说我对“培训”的看法,其实我喜欢叫它“分享”,这样可以降低讲授者的压力。每周我们会安排30-60分钟的时间,请一些同事分享最近对某些技术的心得,目的是大家共同提高,共同进步,培养分享的氛围(我曾经做过一次,专门聊分享的重要性)。在经历了一段时间的实践,我们发现一些问题,虽然也有成功案例,但大多分享很难提起大家的兴趣,台上照本宣科,台下昏昏欲睡——WHY?
** 授人以渔 **
分享,要彻底,毫无保留。不要传授结论,要传授方法。比如,我们做一次Case Study,某网络服务挂掉了,我们用1天的时间解决了,然后我们告诉大家,是因为多进程并发时,某个逻辑中产生了死锁,大家要以后要注意。我想这时一半人已经睡了,我如果知道问题是什么,再弱的人Google 一下也知道如何解决了,分享的意义何在?可悲的是,我们大多数的分享都是这类的。其实,大家更希望了解你是如何发现问题的,你思考的过程,他消化后没准还能举一反三,这才是分享的价值所在。
另一方面,分享不一定把某个问题讲清楚,也许给大家留下一些谜题更有价值。比如之前我们曾做过一次二进制文件的布式存储和分析系统的设计分享,那只是个概念草稿,甚至最终也没有实施,过程中我们聊了,如何给这个问题定性,为什么不使用Hadoop,为什么使用一致性哈希算法,架构为什么设计成这样,等等。大家都在认真的听、思考,并提出了很多问题。虽然这次分享没有什么立竿见影的效果,但不久后,我发现大家在各自架构演进中,都有意无意的引入了一些这次分享中的概念,我想那时埋下的种子——发芽了。
最后:分享,收获>付出。
- 相关文章:
公式计算
看到统计系统的代码往往很罗嗦,写了个小函数,可以一定程度上将逻辑集中,将公式抽取到配置文件中。
有兴趣的朋友可以继续阅读有关闭包的内容。
# encoding: utf8 """ Expr module """ import types def calc(formula, *args): """ 使用给定的参数计算公式的值. @formula: 公式,用'#' 作为参数占位符,比如'#+#',表示两个数相加 @*args: 参数列表,参数可以是函数 例子: - 数值参数:calc('#+#', 1, 1),结果为2 - 函数参数:calc('#-#', time.time, time.time),结果为0 """ parts = [] pos = 0 for c in formula: if c is '#': if pos >= len(args): raise Exception('Index out of range. \ The formula need more arguments') part = args[pos] if callable(part): part = part() part = str(float(part)) pos += 1 else: part = c parts.append(part) return eval(''.join(parts)) if __name__ == '__main__': """ Sample unit test """ import time assert 0 == calc('#-#', time.time, time.time) assert 2 == calc('#+#', 1, 1) print 'Cool! All cases passed.' |





