2月28日 梦

以前小时候做过很多梦,大多在醒来以前就忘记了,于是那时候我很得意的留下一句话:”以前做过大多的梦,现在都散了”,想想确实不假,因为在我醒来就散了。

长大以后,发生的事情越来越多,事情也越来越需要自己度量着办,想不到脑力消耗大了以后,对梦的记忆力却回来了,果然人生还是有得有失。

言归正传吧,昨晚做了一个梦。

梦里出现了很多人,我自己,珞珈山的路,公交车,还有一些熟悉但是我忘记名字的人,我还记着一个人,和另一个人,一个人我在梦里见到,一个人在梦里毫无踪影。

我回到武汉,在珞珈山边走了很久的路,似乎在找一个寄宿一宿的地方,有幸的是终于找到了,第二天早上起来,吃过早饭离开住宿的地方,我不知道我要去寻找什么,却知道我该往哪里走。

顺着路弯弯曲曲向前,脑海里逐渐又浮现了一些回想起来的事情,上回在人人看到,虽然我毫无意识,但是潜意识里还是记住了,在梦里,我知道,我去找他了。

在梦里思考很奇怪,但是我确实在想着什么,不过确实全都忘记了,只记得到了他住的地方,外面种着小树,摆着餐桌,屋里挺大,她也在里面。

可能梦里显现出很多我一直没有忘记的事情吧。 可是时间过去了这么久,该淡的总该淡了,不该淡的也该不要脸的淡了,我做错了很多事情,似乎越来越错,然后我终于可以很放心的说,我说的都是错的,我做的都是错的。

综上,在深圳的这段时间里,随着室友一个个离开,一个人的日子竟然给我过出了寂寞的感觉,真是很神奇,每当夜晚里我一个人面对寂寞不堪一击的时候,我是不是该想,这就是你向往的生活吗?

如果不是,告诉我你想什么,我帮你实现它。

2012年2月28日
—————-

谨以此篇文章留念,虽然毫无主题和意义,希望曾经的,现在的,我的朋友过的很好。
因为我过的挺不好的,如果你们过的不好,麻烦悄悄告诉我,知道你们也过的不好我就好多了。(开个玩笑的)

我很小的时候说过,自己从来不会失败,因为我根本不认同失败。可惜长大了,那个不要脸的我也不知道死哪里去了。

如今回想起来,那时候的自己居然比现在的我还要厉害,真是不能忍。

所以我也得装一装,老子从不会放弃,就算输的和头猪一样,想让我放弃努力,真是扯淡。

发表在 未分类 | 留下评论

Everything is Alright

[audio:http://storage.live.com/items/174EF12B785B7835!110?filename=23%20Everything’s%20Alright.mp3.mp3|titles=23_everythingsalright]
发表在 唠叨 | 标签为 | 留下评论

python中的深拷贝与浅拷贝

1. python默认浅拷贝,即引用复制。
2. 注意,跨越数据层与计算层的实例,要注意使用后手动释放。
否则若计算层引用函数未退出,而数据层更新,则旧有的实例不会释放,造成内存泄漏。

3. 下面是使用copy来实现深拷贝的例子

>>> a = {}
>>> a[0] = set()
>>> a[0].add('1')
>>> a[0]
set(['1'])

>>> a[1] = a[0]
>>> a[1]
set(['1'])

>>> a[1].add('2')
>>> a[1]
set(['1', '2'])

>>> a[0]
set(['1', '2'])

>>> import copy
>>> a[2] = copy.deepcopy(a[1])
>>> a[2]
set(['1', '2'])

>>> a[2].add('3')
>>> a[2]
set(['1', '3', '2'])

>>> a[1]
set(['1', '2'])
>>> a[0]
set(['1', '2'])
>>>

发表在 Python, 编程 | 标签为 , | 留下评论

【ZZ】是什么成就了卓越的程序员?

原文:http://blog.jobbole.com/11761/

    这件事仿佛发生在昨天一样令我印象深刻。那是2000年,帕尔加斯博士站在我们的数据结构课教室的前方,讲解着一些y型数据结构的内容,同时把一个SSH 的窗口投影在我们前面的墙上。有人提出了一个问题,随后他用下面的话回答道:“如果你想成为一个真正的计算机科学家,你就得开始用 Vi 。”我感觉他在说这些话的时候还在微微笑着,而事后发现他说的这个观点根本不对。 但是由于年轻并且易受影响,当时的我回到宿舍后立刻了开始了自学如何使用 Vi 。我度过了很长一段艰苦的时间,但是当我开始变得对其熟悉的时候,我意识到我用 Vi 会干的非常快。

继续阅读

发表在 网摘, 网络 | 标签为 , | 留下评论

[推荐] 《To The Moon》

《去月球》其实是一位垂暮老人的一个愿望。
从周末下载开始断断续续的玩,终于在2月14日晚上看到了结局。

之后反而有种坦然的感觉,

很长一段时间以来,我遇到了许多人,许多事,有些事情我知道是错的,却不知道做错的问题在哪里。
也许根本不是什么的答案,而是问题本身就不存在,只不过是我无聊杜撰的罢了。

所有的,都是幻觉,所有的,都不是真正的爱情。
假如你想问爱情是什么,也许《To The Moon》里会有答案。

但是我不是任何答案,我只是我自己,与你们无关。

[audio:http://storage.live.com/items/174EF12B785B7835!109?filename=04%20For%20River%20-%20Piano%20(Sarah%20&%20Tommy's%20Version).mp3|titles=04_For_River]

To The Moon

发表在 唠叨 | 标签为 , | 留下评论

MIT-Scheme 入门

1. MIT-Scheme 是Lisp语言的一类分支,是SICP(计算机程序的构造和解释)的教学语言。

2. 下载地址参考GNU网站,此外注意查阅文档(HTML版),和一个简单的介绍(豆丁)。

3. 晚上折腾了一会,发现Emacs的分支Edwin用的不是很顺手,明天有空把说明书看看。

附上一个牛顿法求平方根Scheme代码:

(define (square x) (* x x))

(define (abs x)
	(if (< x 0) (- x) x))

(define (average x y)
	(/ (+ x y) 2))

(define (improve guess x)
	(average guess (/ x guess)))

(define (good-enought? guess x)
	(< (abs (- (square guess) x)) 0.001))

(define (sqrt-iter guess x)
	(if (good-enough? guess x)
	guess
	(sqrt-iter (improve guess x) x)))

(define (sqrt x))
	(sqrt-iter 1.0 x)

后记: 第二天继续尝试Edwin, RTFM。

这里可以参考RPI的Scheme教学文档

比起生硬的说明文档,这个好看的多,尤其是老师说“I believe some students in previous years have gotten it running on a Mac, but I don't know any details.” 的时候我笑的不行了。

综上,文档里建议结合GNU-Emacs使用Scheme,不过我有些想把他转接到vim上去。

发表在 Lisp, 读书 | 标签为 , , , , | 留下评论

2011年12月30日

孤灯曲径残影石,酒翁踏水一蓑衣;

我自将心葬明月,楼兰夜色几时还。

发表在 无法分类 | 标签为 | 留下评论

C++ 原地归并

起因是之前面百度,被面试官鄙视在了原地归并,后来翻了翻代码,其实不难,可能是当时没有突破思维把。

刚刚hzh又提起原地归并,发现自己都忘的差不多了,坑爹,还是写下来。


void merge(int * v, int n, int pos) // 数组v, 有n个元素,从pos位置开始分割,前后两段分别有序
{
    int fir = 0, sec = pos;
    while (fir < sec && sec < size) {
    while (fir < sec && v[fir] <= v[sec]) fir ++;
    int max_move = 0;

    while (sec < size && v[fir] > v[sec]) sec++, max_move++; // 核心,用来统计这一段元素到底该插到什么地方。
    exchange(&v[fir], sec-fir, sec-fir -max_move) ; // 特殊的放置函数,后面会举个栗子的
    fir += max_move;
    }

}

例如:       1 2 6 7 | 4 5 9 8  n=8 pos = 4
首次循环停止时, fir =  2 , 因为 v[2] = 6 > v[4] = 4,  
随后 sec 和 max_move 加了两次,因为 v[2] = 6 < v[6] = 9

传入 exchange的参数为  (&v[2], 4, 2) 

表示从第三个位置开始(也就是6在的位置),之后的4个元素(包括它),整体循环右移2次,

然后就变成了 1 2 4 5 6 7 9 8,  fir + max_move, 移到它的新位置,后面的特例就不再分析了。

最后这个方法的复杂性就落在了 exchange上,不过如果用链表来实现就很低了,想来当时的面试官是想这样考我的。。

发表在 C, 编程 | 标签为 , | 4条评论

Python开发中的一个小细节


for id in id_list:
    if ooxx(id):
        id_list.remove(id)
        continue

这样的写法是不合适的,因为当remove掉id时,目前的指针会指向下一个元素,而continue会跳过他
所以这样的现象是,一旦remove,就会跳过下一个元素

可以考虑这样实现

for id in id_list:
    if ooxx(id):
        remove_list.append(id)
        continue

...

for id in remove_list:
    id_list.remove(id)
发表在 Python, 编程 | 标签为 | 留下评论

2011年12月8日

34c800864b5fbdf1f5bdf07880580cbc
b651e465c558f19486d04132cc5a9e99
8d52c9ba70a64c76bef1ebb2873df29d
67f8ac0ae1cd830626a3d1cfe119ba4c
e6480f95effef1cf42e0907d24efd2f9
cb6d1732acec16d0a446b3ec3b948238
48c97b6ace6e545426bab8995aa21937
0a
由SMS4算法加密。

发表在 许愿墙 | 留下评论