爱好者的执着

May 9, 2009 at 5:17 pm (misc)

世界上有一群人执迷于对物质结构的发现和创造。这些人中的大部分是平庸的,他们只能欣赏少数具有perspective能力的人的发现和创造,惊叹他们的 才华和造诣。他们生在文艺复兴时期会崇拜达芬奇的绘画,米开朗基罗的雕塑,赞美他们在几何学上的创造和将理论运用在画布上的功力。生在今天,他们会迷上阿 莫西夫的小说,西区柯克的电影和各类概念型的电子产品。
可以说,这群人了解自然结构和运用所了解到的知识进行创造的热情,是整个人类社会进步的动力。也许他们中大部分人和伟大的发现和创造无缘,但是这些人却是 这些发现和创造的最好的见证者,传播者和诠释者。作为科学和艺术的鉴赏力的代表,也正是他们才让大部分的发明和创造被铭记,不致于被无知的冷漠所遗忘。
相比之下那些中庸者,他们将和世界上任何一次发现和创造所带来的喜悦无缘。他们只能每天捧着经院哲理的畅销书,去挖掘怎样享受无知的乐趣。

Permalink Leave a Comment

关于有趣的用户界面观点

March 18, 2009 at 9:33 pm (misc)


x坐标为任务的复杂度,y坐标为难度(wizardiness用得很淫荡)。CLI界面的起点很高,但走势不是很陡。

再看Mac和Windows的曲线。基本上到了一定程度以后,还是需要学会用程序/CLI处理复杂的问题。


其实理想的模型已经被发明出来了,可惜种种原因不能普及。所以,乐意解决复杂问题的童鞋们,还是一步到位吧:P

Permalink Leave a Comment

我们都很费解

March 10, 2009 at 12:13 am (misc)

《一日一囧》让费解这个词家喻户晓。那么多人为这一个南方发音的词汇傻乎乎的乐,本身就是一种让人费解的行为。费解意味着理解不够深刻,不深刻就会产生低俗。和其他无数让人费解的网络文化一样《一日一囧》是典型的低俗文化,因为他让某些人费解了。为什么会产生这么多低俗的东西,作为几千年儒家文化渲染的中原大地,人们为什么会乐忠于在低俗的东西上寻找安慰呢?这要在历史说起。
       很多年前一群洋人来到了古老的东方,看着这片土地上的世相百态,非常的费解。They got confused!于是他们找到了一个非常恰当的词汇来形容这种文化:Confucianism。所谓旁观者清,也许我们其中,从来没有费解过我们为什么总那么费解。结果老外帮我们看清楚了,这不就是一种费解主义的意识形态么?这样老外们知道我们为什么几千年不曾反思一个叫费解子的人的思想,世世代代的跪在他的画像面前被打手板了。因为我们都被费解了。
       知道为什么费解,我们就不费解了。100年前有个日本留学生带回来了形式逻辑,开始了反费解运动。可是有人开始费解了:反费解?拿不就是反祖宗么?这还得了!于是某个给罗素抄过书的学生赶紧搬出来黑格尔和麦克西。紧接着费解就是合理了,费解和不费解也可以相互转化了,你凭什么说我们费解?费解有什么不好么?
       虽然大伙很费解,还是隐约觉得有点那么费解。到底哪里让人费解呢?他们也很费解。我靠,这不就是最大的笑话么?以后听到费解两字你还敢不笑么?怎么?你很费解?你只要跟着笑就行了,管那么多干嘛?
       你还费解吗?

Permalink Leave a Comment

维基百科页面图片地址的计算方法

February 25, 2009 at 11:43 am (misc)

在维基百科中可以使用[[Image:example.jpg]]来插入图片。图片可能存放在Wikimedia-Commons中,也可以是不同的语言的不同的位置。它的地址是:
“http://upload.wikimedia.org/wikipedia/commons/thumb/{{hashpath}}/{{filename}}/{{imagepixel}}-{{filename}}”

这样当我们下载了wikimedia提供的维基数据库dump包之后,就可以用下面的规则来生成图片的原始链接:
1。filename,就是例子中的example.jpg。它可以是多种语言的,也可以包含空格,所以必须转换成标准的URL转义格式,比如空格用“%20”表示。
2.hashpath,hashpath计算方法是:先用filename生成图片名称的md5摘要,取出摘要的第一个字节的两字符hex码,不足两位用0对齐。按照“高位字母/Hex字符”的格式就构造出了hashpath
3。imagepixel可以理解为图片大小。wikipedia上通常使用的是180px的略缩图,我为手持设备上选择了120px。

下面是我写的略缩图URL代码:

import md5
import urllib
#import httplib

downloadBasePath = "http://upload.wikimedia.org/wikipedia/commons/thumb/%s/%s/120px-%s"

def Main():
    file = open('images.txt')
    lines = file.readlines()
    for line in lines[:9]:
	filename = urllib.quote(line.strip())
	newname = ""
	for i in range(0, len(filename)):
	    c = filename[i]
	    replace = False
	    if  ord(c) = 127:
		replace = True

	    if replace == True:
		newname += "%%%02x" % ord(c)
	    else:
		newname += c

	namehash = md5.new(newname).digest()
	firstHexValue = "%02x" % ord(namehash[0])
	hashPath = "%s/%s" % (firstHexValue[0], firstHexValue)
	print downloadBasePath % (hashPath, newname, newname)

if __name__ == '__main__':
    Main()

输入的图片名:
gnap@map-reduce:~/src/pyimagetter$ head images.txt
WilliamGodwin.jpg
Proudhon.jpg
Max stirner.jpg
Kropotkin Nadar.jpg
Bey hakim.jpg
Murray Rothbard.jpg
Bakuninfull.jpg
Woman with cntfai flag.jpg
Members of the Maquis in La Tresorerie.jpg
Uroligheder3.jpg
gnap@map-reduce:~/src/pyimagetter$

输出:
gnap@map-reduce:~/src/pyimagetter$ python imagetter.py

http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/WilliamGodwin.jpg/120px-WilliamGodwin.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Proudhon.jpg/120px-Proudhon.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Max%20stirner.jpg/120px-Max%20stirner.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Kropotkin%20Nadar.jpg/120px-Kropotkin%20Nadar.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Bey%20hakim.jpg/120px-Bey%20hakim.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Murray%20Rothbard.jpg/120px-Murray%20Rothbard.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Bakuninfull.jpg/120px-Bakuninfull.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Woman%20with%20cntfai%20flag.jpg/120px-Woman%20with%20cntfai%20flag.jpg

http://upload.wikimedia.org/wikipedia/commons/thumb/6/65/Members%20of%20the%20Maquis%20in%20La%20Tresorerie.jpg/120px-Members%20of%20the%20Maquis%20in%20La%20Tresorerie.jpg

gnap@map-reduce:~/src/pyimagetter$

Permalink Leave a Comment

酒精导致的脑损伤

February 17, 2009 at 11:33 am (misc)

The main symptom is short-term memory loss, particularly relating to things that happened after the condition appeared. However, some people have difficulty recalling information acquired months or even years before. Other symptoms include:

  • difficulty with taking on board new information or developing new skills
  • lack of insight into their memory loss, where even someone with significant gaps in his or her memory may believe that they are functioning normally
  • apathy or repetitive behaviour
  • confabulation’, where someone fills out the gaps in their memory with elaborate fantasies

Confabulation is not confined to people with Korsakoff’s; it can occur in anyone who loses their memory, though it may take on a more elaborate form in someone who has been used to making up tales to cover up his or her drinking for a number of years.

原文见:http://www.alzscot.org/pages/info/alcohol.htm

酒精对大脑的伤害比想象中要严重得多。比如:广泛的信息获取障碍和新技能的学习;无法自我意识到的记忆断隔;冷漠或者重复某种行为;虚构症:用妄想来填充记忆空白。

我的应酬不太多。本来以为靠酒桌上的抵赖和一些小技巧就足够了。但是今天看了这篇论文后还是吓了一跳。为了脑袋着想,还是戒酒比较安全。

Permalink Leave a Comment

欢迎来到主观的世界

February 12, 2009 at 11:23 pm (misc)

灵感来源是:http://internet.solidot.org/article.pl?sid=09/02/12/0852202

对于个人的Success Story来说,别人愿不愿意相信完全取决于各自的经验和主管的情感。对于什么样的习惯有效,什么样的习惯没有也okay的争议。双方对有效和okay的标准本来就是模糊的。即使统计发现具有某偏好的人群在某方面的成就明显高于没有这种偏好的人群。 也无法区分是这个偏好本身产生了积极的影响,还是作为门槛提高了均值。或许我们应该请有条件的导师在自己的学校设计个双盲对照实验来解决这个分歧。

所以,某些习惯的好处只要自己知道就行了。如果你想让他造福于更多的人,那么别宣传它的好,而要宣传它的Cool。 :

Permalink Leave a Comment

我用Scheme写的长征号运载火箭的代码

February 6, 2009 at 4:15 pm (misc)

))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))) )))))))))))))))))))))))))))))))))))

Permalink Leave a Comment

终于知道辩证法的猫腻了

January 15, 2009 at 7:28 pm (misc)

以前高中时就觉得辩证法是一个听起来非常玄乎的概念。但是以当时的水平没有能力指出问题哪里。今天通过维基百科终于解答了自己的疑惑:

Dialectics is based around three (or four) basic metaphysical concepts:

  1. Everything is transient and finite, existing in the medium of time (this idea is not accepted by all dialecticians).
  2. Everything is made out of opposing forces/opposing sides (contradictions).
  3. Gradual changes lead to turning points, where one force overcomes the other (quantitative change leads to qualitative change).
  4. Change moves in 3D spirals not 2D circles. (Sometimes referred to as “negation of the negation”.

原来,辩证法其实是一种辩论之术,他基于3-4个形而上学观点。我们知道形而上学研究的是哲学的根本问题,凡是划分给形而上学的问题都是留给全人类来思考探索的,并不是真理。这也是他使用语辩论场上的原因,辩论者的目的是战胜对方,而不是追求真理。根本的形而上学观点可以被持任何观点的一方引用,决定性的还是口才。所以辩证法只能用来辩论,不能用来指导我们的求知,学习,更不能用来指导学术研究。

这并非我一个人的想法,辩证法只被欧洲学派的“大陆哲学”所承认,英美的分析哲学家们并不买它的帐。

____________________________________________________________

PS:非常有意思的是,它在中文维基百科的条目上摇身一变,变成了科学了:)

Permalink Leave a Comment

关于核心竞争力

November 12, 2008 at 3:20 pm (misc)

最近和一个做游戏的同学交流了一下。这位同学应聘这个职位做的技术储备,也就是公司为了应付人员流动性预先储备的开发人员。以免重要职位突然空缺,影响游戏的开发进程。

根据同学的透露国内很多公司的开发工具从97年开始就已经在做了。想起现在国产网游的策划虽然依然落后,但是视觉效果上已经越来越逼近顶尖游戏了。我觉得一种可能性是直接买的国外的技术,另一种就是自身开发工具的完善,核心竞争力的逐渐形成。

如果还是在学校里的话,我宁愿去相信地一种情况。但是出来做开发这段时间,越来越觉得核心竞争力是靠时间来逐渐积累起来的。

如果说游戏开发经历了这么长的时间在逐渐成熟的话。那么互联网行业不是更年轻么?年轻的代价就是人员流动性大,人才平均年龄偏小,普遍缺乏经验。这些不正是国内互联网行业的现状么?所谓的程序员30岁规则,我看不过是因为行业太年轻而已。整个行业都年轻,当然留不下大龄程序员。

但是时间总向前走的,行业早晚也会成熟起来。越来越多的公司会更加的注重核心竞争力的形成。那么,在未来的互联网行业中,跳槽还会是职业生涯中一种积极的举动吗?

Permalink Leave a Comment

读孟岩《技术路线的选择重要但不具有决定性》

November 9, 2008 at 3:01 pm (misc)

我觉得孟老师的这篇文章如果从两头向中间看(既先看开头,然后跳到后3三条,最后将前3条当成结论),可以将孟老师的观点提炼如下:

1、所谓“技术阵营”的出现是行业细分的结果。不同阵营的分歧是不同子行业的差异的产物。孟老师所举的Linux阵营,Java和.Net阵营,其应用分处行业的不同领域。所以,技术路线的选择,其实是子行业的选择。

2、孟老师认为成功属于目标明确的人。第一种人以自我实现为目标,第二种人以发挥团队成功为目标。而第三种人其实是“生存者”,成功对他们来说是个无关紧要的概念。

3、孟老师提出个性知识经验组合这个概念,强调这种组合的个性。如果你的组合是独一无二,并且恰巧有长远的应用价值,那么就拥有了核心竞争力。

4、孟老师认为优秀的人要具有一定的分析和归纳的能力,才能够构建成完整的知识体系。而具备了这种能力,不管如哪个行都有机会成为这个行业的佼佼者。那么,连行业的差异都分不清,还在技术阵营层面争论的人,说明知识体系还没有形成显然不具备这种能力。

以上几条总结中,第一条为行业的客观现状,我们将其略去不谈。我们着重看孟老师的主观观点。对于后面3条,具有2-4-3的必要条件关系。孟老师认为,成功先要具备一个目标,其次是实现这个目标的实力,最后就是机遇。

那么问题来了。孟老师认为成功的人其个性知识经验组合要独一无二,但是并非做到独一无二的人都能够成功。换句话说大多数的成功过程是不可复制的,成功经验不存在一个固定的pattern。这样一来,在按部就班的职业生涯规划下,我们离成功的距离是不是越来越远了呢?是不是我们放弃“成功”这种功利的目标,真正体验在认知过程中的乐趣,才更有可能真正的“成功”呢?

另一个问题。每个技术阵营都具备着不同的文化,解决问题的哲学有很大的差异。这些差异不正是代表着一个人的背景和经验么?那么作为孟老师“组合”概念中的重要成员,不正是意味着个阵营的选择会影响个人核心竞争力的形成么?

————————————————————————————————————————————————————————————————————————————————————————————————

我觉得还是让“成功”go to hell吧!最近有感美国大选。很多时候阵营的分裂是生产力变化的结果。往往一个阵营代表新的生产力,一个阵营代表旧的。美国内战北方战胜南方,是资产阶级的胜利,而奥巴马的当选,则是知识阶层的胜利。其实技术阵营也是一样,所谓路线的差异,往往是生产力选择的差异,现行技术和未来技术的差异。作为一个科技geek,我当然要站在先进的生产力和未来这边。而作为没有判断力的人,很显然把他争取过来对他将来的成长是有利的。技术人员要有行业责任感嘛。

Permalink Leave a Comment

Next page »

Follow

Get every new post delivered to your Inbox.