2009年7月 的存档
看完影片,让我觉得,虽然很黄很暴力的部分让我很不爽,但是,除了某些说不清楚的逻辑之外,其余的还算不错。 首先要说的是关于最后小女孩那诡异的眼神的。说实话,那女孩表演的太用劲了,至于笑的那么贼么?网上流行的那个说法是比较靠谱的,至少按照电影的逻辑来说是靠谱的。 小女孩为了自己的出生,回去放火烧了自己父亲小时候的家,就是为了杀她的父亲的妹妹。因为,如果她父亲的妹妹不死的话,她的母亲就不会活下来,她也不会活下来。 这样看起来是说不通的,因为她都没出生,怎么可能跑去放火呢? 这有点必然性,就是这是必然会发生的。为什么呢?问上帝去吧。 我认为,如果真的可以回去改变历史的话,有些东西是必然会发生的,否则没有好的解释了。看《时间机器》,男主人公永远救不回他的未婚妻,因为如果他的未婚妻没死的话,他就不可能有心思去造时间机器了。我认为他应该回去告诉他自己,“如果你不想你还没娶到老婆老婆就死掉的话,结婚后使劲的造时间机器吧。” 按照电影的逻辑,这个是可以解释的通的。对于时空穿梭者来说,根本不讲逻辑,尤其是时间逻辑。试想,SAM为什么之前会去救他的妹妹后来又害死了他妹妹呢?那是因为他具有了他不该有的记忆,这个记忆这个时候出现在年幼的他的脑子里是很诡异的,他说不定哪天因为事故挂掉了,或者发现不了他穿越时空的能力。谁敢说没这种可能性呢,但是就是没有,这些事故必然没有发生。他必然会回来做这些让观众的思维乱七八糟的事情。 这样,也就可以解释那场大火了,小女孩必然会回去放火的,为什么呢?没为什么,这可以去问编剧。 为什么警察局里经常是那连个家伙而没有换人?必然的。 为什么SAM的妹妹会住在同一个地方?必然的。 为什么SAM的妹妹的房东会总是那个女人?必然的。 …… 为什么这部电影被这么多人骂呢?必然的。 其实,像这类电影,解释不通的地方多着呢,只是最后那个镜头太诡异了,她回去放火,难道不怕把自己的老爸烧死了?买糕的,看来编剧必然知道她必然知道她老爸必然不会死……
这篇文章是我翻译过来的。括号中的是原文没有的,因为我觉得原文照翻意境不对,所以加了些。查看原文 正文: 业余者和专家之间的唯一区别,就是对于事业的奉献精神。你以为我说的是天才吗?(只要奉献就是可以了吗?)其实,只要我们愿意花费时间和精力专注做一件事的时候,我们都是天才,或者几乎都是。(不相信我?)至少,那些研究大脑的家伙是这么说的。(撇开这些不谈,)其实最重要的是,(如果你想成为一个专家,)在任何时候开始都不算太晚。 严肃点。很多人认为,就是因为他们没有在年轻的时候开始做,而没有机会成为(他们梦想中的目标,比如)一位音乐家,或者高尔夫球大师,或者是象棋大师。(你认为这些人做不到,)是因为他们缺乏先天的才能吗?这样想的人基本上都错了。根据大脑科学家们的说法,只要一个人不是身体上有残缺(盲人等),那么他们在某一个方面,至少能有世界级的成就,或者至少能成为顶级专家。很显然,天赋,或者基因优势,都不是他们(指成为顶尖大师的人)的必要因素。(这些因素)至少不是像我们普通人经常想象的那样。很显然,一个出众的人(superior performer)很可能所具备的天赋就是专注、奉献和一点点想要变得更好的欲望,而不是天生就有的音乐、数学或者下棋的天赋。在理论上,任何一个人,做一件非固定的、需要进步的事情(getting better),那这个人将会取得越来越多的进步。 或许,那些有“天赋的艺术家”仅仅是花费了很长很长的时间去联系、实践而已。或者,他们做这些事情都是自发的去做的(被逼的话,十年八年也出不了什么成绩吧)。Dr. K. Anders Ericsson,佛罗里达大学的心理学教授,花费了20多年的时间研究天才、神童以及那些很出色的人。Richard Restak 在他自己的书《The New Brain 》中引用Erricsson的话:“对于那些有成就的人(还是 superior performer)来说,他们不是一遍又一遍的重复着做一样的事情,而是通晓自己能力(performance 工作?)的方方面面来取得更大的进步。他们每次练习(或者实践,可以理解为工作)的时候,他们都想着比上一次做的更好。” 所以,问题的关键不是我们花多长时间去做,而是怎么去做。基本上,这些可以归结于: 我们中的很多人只是想做一些我们善于做的事情,而忽略了那些我们需要努力去做的事情。我们就因此而一直处于平庸,业余的状态。 研究表明,如果我们愿意花费更多时间去做一些不那么有趣的事情的话,我们就会变得更好。(we could become good. Great. Potentially brilliant.?)我们需要一种“想要成为大师的冲动”,就像 Restak 所指的那样。那种想成为大师的渴望,让那些潜在的专家们(潜力股)专注于工作(performance)的一些很容易让人忽略的细节上,并且永不知足。只要还有进步的空间,他们就会一直专注在这些枯燥的事情之上。Restak ,引用了被公认是20世纪世界前5的高尔夫球专家Sam Snead的话,说: “我知道,站在练习发球点上折断你的高尔夫球棒,比练习击球落地(chip and ptch)或者在风沙扑面的情况下练习击球要有意思的多。但是,最重要的是,那就是你原以为你的成功付出多少。” 有太多的大脑研究是关于这个话题的,当然,我只是粗略的提到了其中一些有意思的地方(highlights)。研究人员很容易的进行核磁共振和PET扫描让一些新的研究成为可能。我小小的延伸一下,这个世界里有些在下棋,或者小提琴,或者数学,或者编程,或者高尔夫等方面可以做的最(强调最!)好,你可能确实需要一些很特殊的基因(才能达到这种成就)。但是,那些都是最!好的。研究人员表示,无论是什么特别的能力(sauce?),在让那些成为世界第一的人的因素中,只占有小小的1%权重。我们其余的这些普通人–没有那特殊能力的人–仍有可能成为世界级的专家,至少是国家级的。当然前提是我们愿意花费时间,并且采取了正确的方法在执行。 然而对于那些有这种热情的人来说有两个瓶颈要过,第一个是入门瓶颈,第二个是全身心的投入。(不是很懂英文原文的意思,原文是 suck threshold and kick-ass threshold)。你一般都会陷入上图中的三个分类中的一个:专家,业余者,门外汉。门外汉就是那些,还处于不懂的状态的时候,认为不值得再继续的人。他们很快就放弃了。(如果你处于这种状态下,)你认为那件事值你可以做得来吗?你计算过你的得失吗? 但是,最麻烦的–也是我们最有自主权的时候–是那些满足于现状的业余者。“是的,我知道有更好的方式来处理这件事,但是我已经知道如何做了[低效率,不专业(not powerful)],并且我一直这么做下去更容易些。” 换句话说,他们过了入门的瓶颈,但是他们不想学习新的技巧和能力。他们不想继续专研了。但那就意味着他们永远都不可能突破专家这个瓶颈。他们没有机会来更深入的了解他们所做的事情。图中的能力曲线越上升,人的经验也就越多。 (下面这段让人有点摸不着头脑,看不懂可以看英文原文) 我们能让那些想成为专家的人能够更好的坚持下去么?记住,变得更好这件事本身就让你在往好的方向改变。无论你是变得更快乐,更满意,或者更有经验,这都能让你做事情更加熟练。这些,就是我们可以为他人所做的。(此段意思可能是,如果你想帮助他人,但是苦于你不够专业,你可以让他们更快乐等等,让他们对于工作更加顺手) 哦,差点忘了,关于任何时候做都不算太迟这件事……我们中的很多人都与奥林匹克滑冰金牌无缘了。对于我打篮球来说,我上场5分4秒之后,我就觉得我的篮球生涯无望了。但是,请注意,演员Geena Davis在她40岁的时候,离奥运准赛结束不到3年的年龄,才开始练习箭术,但是她差点就进入了美国奥林匹克箭术队。 如果那些研究神经的科学家们是对的话,你可以通过学习(别整天憋在小屋子里)来产生新的脑细胞 — 差不多任何年龄都可以。想一想吧,如果你今天30岁了,如果你明天开始练习弹吉他,你将花费20年的时间弹吉他直到你50岁。那时你就可以弹得非常不错了(kick some serious guitar butt)。假如你今天都已经50岁了,毫无疑问你可以在你70岁的时候弹的一首好吉他。那你还在等什么?
昨晚,不想睡觉,就在电脑上随便逛逛。 以前在看雪论坛(很好的论坛)下载过一堆玩意儿,有教程也有工具。那个时候,不知道自己是太浮躁了还是怎么的,没怎么用心研究。 昨晚就认认真真研究了直到早上4点,事实上我这几天都是这么晚睡的。 我开始看一点破解教程,然后试着破解教程里的几个样例程序。前面几个很简单,后面居然碰到一个让我没法下手的,我就去睡了。 今天早上起来继续,发现,原来这个玩意儿挺简单的。 首先,破解之后发现,程序是需要输入一个8位的序列号,这个序列号跟0×32(50)异或后得到一个新的序列号,然后这个新的8位的序列号两两异或得到4位的,4位的两两异或得到2位数,然后再异或得到一个数放在al寄存器里。暂时把这个数命名为al吧。然后将al与那个新的8位序列号异或之后得到一个最终8位序列号,最后将这个最终的结果与程序里存储的8位标准序列号相比较,相同则破解成功,否则序列号不正确。 当然,破解不是我的目的,写个算法给算出来才过瘾。 以python为准的。首先定义一个8位列表,s[0]…s[7] 存储输入的序列号。然后定义一个程序里原来的 8位标准序列号,o[0]…o[7],然后: s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] ^0×32 得到 n[0] n[1] n[2] n[3] n[4] n[5] n[6] n[7] 两两异或得到(第一个和第二异或,第三个和第四个异或,类推) mid1[0] mid1[1] mid1[2] mid1[3] 再两两异或得到 mid2[0] mid2[1] 再两两异或得到 al 然后 将al 与 n[0]..n[7] 8个异或就得到最终的序列号。 当然这8个要跟 程序里定义好的8个o[0]…o[7]相同,这样就算序列号正确了。 这样看来,就是根据程序里的8个标准的序列号反推就能得到输入的序列号了。那怎么反推呢? 这个问题让我纠结了好久,最后,还是找到了规律。规律最后再说。首先给出自己写的算法,python版的。 1 2 3 4 5 6 7 8 [...]
前一阵子在学校的博士生那里得来一个程序,是关于一个神经网络论文的实验的程序。由于那篇论文发的比较早,而现在我们现在的论文是基于那篇论文的,我们必须要重复他们的一些实验来保证那篇论文的数据的正确性。 程序是用的vc++ 6 的MFC 写的,其实最大的功能就是通过神经网络的一些算法对一些数据进行分析然后分类,也就是模式分类了。这些功能用MFC有点大材小用了,用命令行就可以了。当然这个程序也很有意思,通过MFC的消息映射来读取数据然后输出数据,但是消息映射用的是菜单上的按钮…… 程序太老了,要用vs2008来跑,所以就要进行转换了。转换的问题不是很大,就是不明白MS哪来那么多的规矩,一套一套的,偏偏没事就更新换代。有关MFC的代码不是问题,但是有一点其它的问题。 首先是 include 问题,vs2008 对于 iostream 和 fstream 是不需要.h的后缀的,而且这些都在标准库中,因此需要用到std的命名空间,必须加上 using namespace std;(看情况而定了,有时候只加 std:: 更省事) 然后是 for 语句问题。现在的标准是 for 语句里面申明的变量在循环完之后就没有了,但是在vc6++里面是仍然存在的。 最后的问题就是比较让人纠结的了,执行出现类似如下错误: Error 179 error C2248: std::basic_ios _Elem,_Traits::basic_ios : cannot access private member declared in class std::basic_ios _Elem,_Traits c:\program files\microsoft visual studio 8\vc\include\fstream 802 这个问题在MSDN上有人提出,但是没人给出答案。我查到了CSDN上,发现也有人出现类似错误,贴下他的出错的代码。 1 2 3 4 5 6 7 8 9 10 [...]
