2016-11-26

打开 Codeblocks 中文支持

Code::Blocks缺省文件编码是UTF-8。

从菜单Settings->Compiler and debugger。

打开编译器设定对话框,在Compiler setting tab上,选择Other Option,添加下面的设定
-fexec-charset=GBK -finput-charset=UTF-8

告诉编译器,文件输入字符编码是UTF-8,执行时以GBK编码对待,问题解决。

2016-11-17

大学里绝对精致的利己主义者

大学教育与就业

07年有两条新闻看得我毛骨悚然。先说第一条。这是暑假以后新学年开始的一个报到,说是大学新生一报到,有些学校领导就约见学生家长,提出现在开始就要为学生未来的职业做准备,要对学生进行职业的训练和指导,好像我们北大还有专门的组织,指导学生根据求职的需要来设计自己四年的大学生活,还要让这些学生提前和招工单位的人事部门见面,以便公关。这真的让我大吃一惊,我曾经感慨应试教育之外的教育都进不了中学教育,现在我又看到了新的危机:要求大学生按照就业的需要来设计自己的大学生活,与就业无关的教育是不是也进入不了大学教育呢?

这就使我想起了暑期我在一个全国高校通识教育培训班讲我在大学讲鲁迅的情况。讲完了一位大学老师举手提问题,要我介绍一下在大学里讲鲁迅课,怎样有利于学生求职就业。我当时听了目瞪口呆,不知所措,心里却凉透了。我无意责怪这位青年教师,因为他在上课的时候别人也这么问他:你这个课和就业有没有关系,有关系我来听,没关系我不来了。这就非常可怕。当年蔡元培先生提出警告,说大学不能成为职业培训班。我想北大还不至于,然而北大也有这个趋势,今天的整个的教育是围绕着应试和就业来展开,这是一个非常可怕的现实。

这里涉及一个严重的,我们不能回避的问题:就业和大学教育的关系问题。我曾经多次对80后的大学生讲,我非常同情你们这一代,你们中学碰到应试教育,好不容易考上大学,又面临着毕业以后可能没有工作。这在过去没有过,都集中到你们这里了。我1956年中学毕业考大学,当年大学招生人数比中学毕业人数要多,我们那一代人不存在应试问题。再早几年,我想蔡恒平他们那个时候,可能也不存在毕业后的就业问题。你们恰好碰到了,两个东西都给你们遇上了,这是这一代大学生所必须面临的现实的问题。因此我们不能否认就业问题给我们大学教育提出了许多新的问题,新的挑战。正是这一严峻的现实,出现了很多似是而非的论调,需要在理论上进行澄清。这里我想谈谈对大学教育和就业关系的四点看法。

首先,我认为大学就业难,确实暴露了大学专业课程设置、教学内容比较陈旧,不能适应社会经济科技发展的新要求,造成了大学生知识结构的缺陷和不足。因此大学应该进行教学内容、课程设置上的更新调整。这是大学教育改革必须有的一个内容。第二,我们要具体分析一下,大学生不能适应现代社会发展需要的原因在哪里。在我看来,一个重要方面是精神素质的问题。很多就业单位,对大学生的素质有许多批评,我觉得我们大学生应该听一听这样的批评。他们主要认为现在的大学生,一个是独立自主能力比较差,一个是缺少团队精神,不善于和他人合作,还有知识面太狭窄,独立思考和创新能力不足。这些问题,其实都是精神素质问题。而这种精神素质问题,就是独生子女家庭教育和中小学应试教育的后果。正是因为这样,大学教育就应该补这个课。中学的应试教育造成了你们这些毛病,这些弱点应该在大学里弥补,大学不仅仅使你成为一个有知识有技术有技能的人,更重要的是成为一个健全发展的现代公民。如果不着眼于这一点,只是按职业知识、技能的要求来设计自己的大学生活,那么,你们中的许多人就很有可能在中学成了应试机器,到大学又成了就业机器,这样来度过自己的青春时代,且不说会影响自己一生的长远发展,单就个人生命而言,也太委屈自己了。

第三个问题,我们对就业问题的看法,应该有一个长远的眼光。我们常说未来社会是一个知识社会,信息社会,这个社会有什么特点呢?就是职业转换很快,很少有固定一个职业的人,因为随着社会科学技术知识的发展,不断有一些新的专业、新的课题、新的职业出现。这使得每个人必须不断变换自己的职业、自己的社会角色,这是现代知识、信息社会的一个很大的特点。这和我们那时候不一样,我们那个时代分配到哪里,就永远不动了,一辈子做这个事儿。现在不行,它是不断变换的。你们可以问问蔡恒平这些师兄,他们从北大毕业以后换了多少职业。他们现在的职业所需要的知识、技能,都不是在北大学的,但北大训练了他的基本观念、能力,他们就能不断地变换自己,适应社会发展和自我发展的变化着的需要。这就是说,未来的知识社会、信息社会对人才是有自己的要求的,简单地说,它要求两种能力,一方面,应变能力要强,一方面创新能力要强,这是新的人才观。如果你过早的只顾及某一个职业,某一方面的训练、过分狭窄的训练,就不能适应未来的竞争。未来社会的竞争,是一个素质的竞争,一个学养的竞争,一个创新能力和应变能力的竞争。因此仅仅从就业的角度来考虑,也应该为自己设计一个全面的发展的规划。在我看来,大学里,除了我刚才说到的一些精神层面的问题、要成为现代公民之外,至少应该具备三大能力。一个是终身学习的能力,这里包括中外语言的听说读写能力,还有利用文献、工具书等能力。第二,研究能力,发现问题,提出问题,解决问题的能力,实验、计算的基本方法和能力。第三是思维能力,具有开阔性、广泛性、创造性、批判性和想象力的思维能力。具备了这三大能力,你的适应能力和创新能力就强了,可以不断变化自己的工作和社会角色,这才是未来社会所需要的人才。如果大家放弃这一点,只一味追求眼下的市场需求,把自己的视野、知识面、能力训练弄得非常狭窄,那么即使取得了一时之效,可能找到了一个工作,但是底气不足,在持久竞争中迟早要被淘汰。所以我要提醒在座的诸位,你们已经吃够了应试教育的苦了,在应试教育之下,你们的学养、素质已经非常的狭窄了,如果在大学里再浪费大好时光,再只关注一些眼前的利益,而忽略对自己长远发展的培养,那你是目光短浅,你要抱恨终生。第四个方面,当然,我们也不可否认具体技能培养的问题,但我觉得只要在工作之前进行训练就行了,大家必须建立终身学习,终身进行职业技能培训的理念。具体的培训是可以通过训练班来解决的,不是在大学里来解决的。大学适当开一点这种课我也不反对,但大学主要的,我想还是我刚才所提到的两方面的发展,一个是作为人的现代公民的全面发展,一个是基本能力的培养。否则的话,眼光狭窄地把我们的大学办成一个职业培训班,那可能再度耽误大家,而且可能整个地耽误我们国家民族的发展。这是我去年感到沉痛的第一条新闻。

大学教育究竟要培养什么人才尖子?

第二条新闻也让我吃了一惊。说新生未入学,家长和学生就忙成一团,通过一切途径,找各种关系以求打点、照应。据说很多大学生,还没上大学,就开始打听,大学英语课,是某某老师教的?哪个给分数高?团委和学生会哪一个比较有前途?评奖学金是不是只看成绩还要在学生会混得很好?还没进学校就开始打听这些消息。据说有一个没有正式报到的新生,把学校里主要领导、团委书记、班主任都摸得清清楚楚。这真让我目瞪口呆。公关思维、搞关系思维,已经渗透到大学一年级学生中,这是不能不引起警戒的。

因为背后隐藏着一个更加严重的问题。这个问题和我们北大是有关系的,人们经常说北大是全国的尖子的集中地,北大要培养尖子,要培养精英。我自己并不一般地反对精英,但是就我个人来说,我更重视非精英,更重视普通的学生。正像鲁迅所说,可能有天才,但是没有泥土就没有天才;而且,“天才大半是天赋的;独有这培养天才的泥土,似乎大家都可以做”。但是像北大这样的学校,培养精英是无可厚非的。我们现在需要讨论的是,我们要培养什么样的精英,或者我们每个同学要把自己培养成为什么样的尖子?这个问题是更加重大,也许是更加严峻的。

我现在恰好对这些尖子学生非常担心——当然不是全体——但是相当一部分尖子学生,也包括北大的尖子,让我感到忧虑。在我看来,真正的精英应该有独立自由创造精神,也是上次我在北大中文系演讲时所提出的,要有自我的承担,要有对自己职业的承担,要有对国家、民族、社会、人类的承担。这是我所理解和期待的精英。但是我觉得我们现在的教育,特别是我刚才说的,实用主义、实利主义,虚无主义的教育,正在培养出一批我所概括的“绝对的、精致的利己主义者”,所谓“绝对”,是指一己利益成为他们言行的唯一的绝对的直接驱动力,为他人做事,全部是一种投资。所谓“精致”指什么呢?他们有很高的智商,很高的教养,所做的一切都合理合法无可挑剔,他们惊人地世故、老到、老成,故意做出忠诚姿态,很懂得配合、表演,很懂得利用体制的力量来达成自己的目的。

坦白地说,我接触了很多这样的学生,甚至觉得这都成了一种新的社会典型,是可以作为一种文学的典型来加以概括的。下面就是我的文学概括,并不具体指某一个人。比如说吧,一天我去上课,看到一个学生坐在第一排,他对我点头微笑很有礼貌,然后我开始讲课。在一个老师讲课的时候,他对教学效果是有一些期待的,讲到哪里学生会有什么样的反应,等等。因此,我很快就注意到,这个学生总能够及时地作出反应,点头、微笑,等等,就是说他听懂我的课了,我很高兴,我就注意到这个学生了。下课后他就迫不及待地跑到我的面前来,说“钱老师,今天的课讲得真好啊!”对这样的话,我是有警惕的,我也遇到很多人对我的课大加赞扬,但我总是有些怀疑,他是否真懂了,不过是吹捧而已。但是,这个学生不同,他把我讲得好在哪里,说得头头是道,讲得全在点子上,说明他都听懂了,自然也就放心,不再警惕了。而且老实说,老师讲的东西被学生听懂了,这是多大的快乐!于是我对这个学生有了一个好感。如此一次,两次,三次,我对他的好感与日俱增。到第四次他来了:“钱先生,我要到美国去留学(课程),请你给我写推荐书。”你说我怎么办?欣然同意!但是,写完之后,这个学生不见了,再也不出现了。于是我就明白了,他以前那些点头微笑等等等等,全是投资!这就是鲁迅说的“精神的资本家”,投资收获了我的推荐信,然后就“拜拜”了,因为你对他已经没用了。这是一个绝对的利己主义者,他的一切行为,都从利益出发,而且是精心设计,但是他是高智商、高水平,他所做的一切都合理合法,我能批评他吗?我能发脾气吗?我发脾气显得我小气,一个学生请你帮忙有什么不可以?这个学生有这个水平啊。但是,我确实有上当受骗之感,我有苦难言。这就是今天的北大培养出来的一部分尖子学生。问题是,这样的学生,这样的“人才”,是我们的体制所欢迎的,因为他很能迎合体制的需要,而且他是高效率、高智商,可怕就在这里。那些笨拙的、只会吹牛拍马的人其实体制并不需要,对不对?就这种精致的、高水平的利己主义者,体制才需要。这样的人,正在被我们培养成接班人。我觉得这是最大的、我最担心的问题。我讲这番话的意思,也不是要责备他们,这也不是这些学生本身的问题,是我们的实用主义、实利主义、虚无主义的教育所培养出来的,这是我们弊端重重的中小学教育、大学教育结出的恶果,这是“罂粟花”,美丽而有毒,不能不引起警觉。

我今天讲这番话是希望在座的同学,你们应引以为戒,并且认真思考,自己究竟要追求什么,要把自己塑造成什么样的人才?不要只注意提高自己的智力水平,而忽略了人格的塑造。这样的绝对的,精致的利己主义者,他们的问题的要害,就在于没有信仰,没有超越一己私利的大关怀,大悲悯,责任感和承担意识,就必然将个人的私欲作为唯一的追求,目标。这些人自以为很聪明,却恰恰“聪明反被聪明误”,从个人来说,其实是将自己套在“名缰利索”之中,是自我的庸俗化,而这样的人,一旦掌握了权力,其对国家、民族的损害,是大大超过那些昏官的。而我们的大学教育,我们北大的教育,培养出这样的“尖子人才”,就不仅是失职,那是会对未来国家、民族的发展带来不可预计的危害,从根本上说,是犯罪的。问题是,我们的教育者对此毫无警戒,而我们的评价、选才机制,又恰恰最容易将这样的“有毒的罂粟花”选作接班人。在我看来,这构成了中国大学教育,特别是北大这样的重点大学至今未引起注意的重大危机。我个人,退休以后,在一旁冷眼观察中国的中小学教育,大学教育,北大的教育,最感忧虑的就是这个问题,但我一直没有机会提出来。因此,我要感谢今天的座谈会能让我说出自己郁结已久的焦虑。
作者:钱理群,北京大学资深教授、博士生导师,并任清华大学中文系兼职教授。
原文地址:http://edu.qq.com/a/20150520/041737.htm

2016-11-07

王垠:微软感受

在微软两个月了,也可以说一说自己的感受了。

先说说好的地方吧。在微软,我终于可以不用碰 Go 语言,REST API 之类的垃圾。C# 确实是一个挺不错的语言,虽然我发现一两个需要改进的地方。在微软,我没有遇到过特别自大的人。有些人心里也许还是很自我,但不像 Google 之类公司的人,有那么张扬的表现。微软不提供免费的午餐,而是要求员工付出少许的费用(6块钱以下),这提高了食物的质量,而且避免了浪费。在微软的饭桌上,人们谈论的不是某些牛人有多厉害,要怎么发财,而是谈论生活,音乐,电影,食物…… 这些都是我很欣赏的地方,每一个成熟的公司都应该拥有这样的特征。

不过微软不像人们传说的那么悠闲,在微软其实可以挺累。按理说在这样稳定的大公司,工作时间不应该超过6点(甚至5点),然而我经常看到有人7,8点还在办公室忙乎,甚至有人半夜还在通过 vpn 工作。当然,没有人明确要求我必须待在那里,然而看到那么多人7,8点都还在,包括大小两个 manager,我会担心自己如果每天按时6点下班,会有什么后果。开头我还不好意思走人,后来累得够呛,心想这帮人到底下不下班的啊,才决定豁出去了,6点准时走人,而且坚决不在下班时间和周末看公司 email,这才好了一点。当然,我仍然会疑虑这会有什么后果。

从来没有队友对我轻松的说:“今天星期五呢,你怎么还在这?该回家啦!” 相反,我会在星期五下午5点还收到这样的 email,说:“PM还在等着测试结果呢,我知道你的机器出问题了,你能不能再加把劲,重装下系统,跑这些测试?” 这不是明摆着要吞掉我周末的时间吗?你可能不知道,跑这些测试是要好几个小时甚至一整天的。上次装那个系统,需要绕过各种毛病和脚本 bug,来回折腾,到处问人,花了我好几天时间。心想从此再也不要碰那些安装脚本了,结果还是逃脱不了。所以,我没有感觉自己的休息时间和周末得到了很好的尊重。

这两个月以来,我做出了应有的努力去融入自己的团队,去理解自己所在的项目,掌握自己所需要的工具,自然是手到擒来。然而两个月以来,我还是感觉到公司气氛比较封闭和压抑。有些职位高点的人,仿佛怕别人抢了自己饭碗似的,不想多说,不想合作的样子,所以有些技术细节不容易搞清楚。我发现好些人从来没有接触过 Windows 以外的系统,从来没接触过 Java,从来没在其他公司工作过。我发现自己所做的事情,局限于修补别人遗留下来的 bug,这跟当年在 Coverity 做的事情没有很大区别。我希望被引入到更加重要,有趣,可以发挥自己才能的任务,然而目前我没有看到这个趋势。

微软在招我的时候,努力的压低工资和职称,比我之前的职称还低,还跟我说什么“小公司的职称不算数”。我本来早就不满意之前的职位了,还给我降一级,所以被我一怒之下断然拒绝。结果不得不加了工资,改口说那职称是为了我 performance review 的时候有优势,进去之后会很快给我升职,会让我做有挑战性的事情。我将信将疑,最后心想反正美国也没有什么其他公司想进了,进微软看看也无妨。

到现在我逐渐感觉到,他们似乎确实不知道我的价值,没有考虑过我将来的发展。根据两个月以来我跟各种级别人士的交流和切磋,我在微软的职位应该至少是 Principle Engineer。我是怎么知道的呢?因为我可以清楚的看到 Principle Engineer 们的脑子里有什么,没有什么 :P 因为还不熟悉微软的工具和流程,我可以暂时委屈一下,然而看见我每天干的那些无聊事,我觉得成长的希望比较渺茫。我对职称,薪水和工作内容,都不怎么满意。由于这职称跟我的水平差距实在太离谱,我都不好意思把微软的工作列在我的 Linkedin 上面。

好多年没碰 Windows 了,再拿起来,发现它并没比以前质量好很多,经常要重启才能解决某些问题。内部工具(包括 Visual Studio,Roslyn 静态分析和各种工具性质的 Powershell 脚本)也有挺多莫名其妙的问题,你按说明做了,却不能得到期望的结果,还不给你合理的反馈信息,所以倒腾半天还不知道为什么,没法继续做该做的事。微软有些东西的设计理念确实美好,然而实现的细节里面,就有各种问题。俗话说,细节决定一切。所以你就发现,成天都在反复倒腾,得出的结果却不多。很多时候,工作时间长并不是因为工作太多,而是因为工具不可靠,工作方式比较笨。

在微软工作之后,我似乎理解到了 Unix 和 Mac 的某种优点。Unix 的设计确实是丑,然而它把这种丑给标准化了,做得一丝不苟。我们说要做成那个丑样,那它最后就一定是那个丑样,而不是别的。丑是丑点,但你用的时候不会有出人意料的毛病,所有的毛病都是有文献记载,意料之中的 :P

有些莫名其妙的问题反反复复折腾那么多次,费那么多时间,到后来我发现自己眼睛都花了,头脑都麻木了,都快忘了自己是谁了。这就像一个在工厂拧螺丝钉的工人,而且那些螺丝钉不大可靠,一次还拧不好…… 这不应该是我做的工作。这也许是暂时的,也许是永久的。由于这种情况,目前我并没有在微软久呆的打算。过一天算一天,再做做其它打算吧。
文章来源:王垠BLOG(http://www.yinwang.org/blog-cn/2016/09/10/microsoft2)

原文已被删除。

 



更新:收回前一篇文章

写前一篇文章的时候,头脑热热的。现在想起来,也不知道自己为什么会说出那样的话来,为什么会有那样的想法。最后是真是假,还有一些半成品和猜忌,都一股脑的倒了出来。

今天回到公司,看见 manager 诚恳的眼神,被一群低调而踏实的同事所围绕,听取我对某些工具的抱怨和改进意见,向我表示抱歉并且承认需要改进的地方。我发现,满头的怨气顿时全没了。这是一群多么可爱的同事……

也许,是经历了这么多风雨和奇葩的人际关系之后,很难不猜忌其它人的想法吧,很难以轻松的心情相待,有些事情就憋在心里了。人和人的了解需要时间,才来两个月,都不怎么熟悉,难免因为语言上的差异而产生误会。

实话说在这两个月里面,我是真心的欣赏微软的很多方面。如果要我用两个字来概括这个公司,我能想到的两个字就是:成熟。我深深地感觉到,他们其中一些人会是很好的朋友。

有些事情我也不敢妄加肯定,需要时间来感受和深入的了解,所以这里就不多说了。



在MS拿多少薪水

112k USD左右.

股票期权和bonus另算

这也就是和刚出门的博士的收入水平一个等级啊

这跟本科生起薪差不多啊。。。

一个说本科生一个说phd,不是很懂你们湾区工(hua)资(pang)标准了

他们说的都是对的,除了湾区之外的美帝地区,一般广义的电子电脑行业的工程师(包括软硬件测试前端后端工具等等)甚至可以粗略的扩展到包括机械和航空之类的工程师,只要你是博士,大约在较大公司或者较正经的学校的起始教职,起薪有10k多一点或者说左右吧是个基本的起薪标准。当然这是一个非常非常粗略的常识标准,跟你的学校/专业方向/行业/公司/职位都有很大关系,也有达不到常识标准甚至远远超出常识标准的。

说到湾区的话,10k多一点确实是一般电子行业主要是码农本科的起薪标准,甚至最近年份要在多一点12k-13k,所以在弯曲的博士就要更多的起薪标准了,15k-20k大约吧,仍然具体的和其人的学校/专业方向/公司/职位有很大的关系,有些条件的区别到钱的区别也很大,也有达不到常识标准甚至远远超出常识标准的,但是大体上这些个范围比上面那个宽泛的标准更准确一点。

说实话,对这个人不熟,应该不是什么应届生了,主要可能是跳糟太多太频繁,基本上没有积累任何经验和资历,所以HR把它当作基本上应届给薪水了,西雅图不是弯曲,更重要的是微软也不是当年的微软了,最近几年微软招人早就不是高门槛了,甚至linkedin上到处找人去,当然看招的什么人,基础码农也就那么回事了,高级人才的挖角还是舍得给的。而且也就是昨天的事吧,传出总部大裁员了,一般不会裁掉刚刚招进来的人,不过听说从年初起就冷冻招人了,反正不知道这人到底干嘛的和想嘛呢,大概看到裁员的场面收回自己的中二话了吧。
文章来源:王垠BLOG(http://www.yinwang.org/blog-cn/2016/09/12/withdraw)

原文已被删除。

2016-11-06

这不是我要的集体荣誉感

昨天晚上的班委会到最后成了心理委员发动的针对我的批斗会,有些班级活动(如篮球赛)是因为我带头不去导致的全员热情度不够。似乎所有的问题都是我的错误。

既然你们都这么想,我也懒得辩解,如果有一个理由能让你们堂而皇之的甩干净所有的责任,我就算背这个黑锅,也无所谓。

大学里的活动丰富多彩、异彩纷呈,但是我们分身乏术,不可能参加每一个活动,我们是学生,参加学习活动是核心,其余的社团就应该根据个人兴趣爱好的不同选择参加,拿着所谓的班级荣誉感来绑架每一位班级成员,不去参加活动就不是为班级争光,辅导员安排的活动就比什么事情都重要。还觉得自己是高中的小孩呢?荒唐,幼稚,可笑!

这就是中国集体大于个人的教育观念深深地影响了一代人。他们无法理解为什么资本主义把个人的地位放的如此之高。在他们的脑海里从来都是“因为集体,所以个人”,如果真这么觉得,我也懒得去拯救他们,且看看退伍的那些军人,一切便一目了然。

什么是集体荣誉感?集体荣誉感是每个人自发的形成的。因为我参与到了这个集体中来,我在这个活动中做好自己的本职工作,集体为我提供了便利,为我在其他各方面争取权利,反过来,我也要为集体做些事情,也有同那些对我们集体不友好的人抗争到底。这是一种个人心底油生的感情,而现在却慢慢的僵化,成为绑架集体成员的工具,恶心。

很欣赏周云瑞一句话:不要等到痛了才知道学习,送给无知的你们。

恰是今天,老妈发了一句很是应景的朋友圈,让我很感动,也分享给各位:
每一个强大的人,都咬着牙度过了一段没人帮忙、没人支持、没人嘘寒问暖的日子。过去了,这就是你的成人礼;过不去,求饶了,这就是你的无底洞!

2016-11-01

趣味题目:有问题的里程表

今天写程序的时候发现了一个非常有趣的题目,分享一下。

【题目描述】某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示339,汽车走过1公里之后,该里程表显示350。

【输入】输入一个整数num,表示里程表显示的数值,1 < num < 1000,且一定不含整数4。

【输出】输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。

【样例输入】106

【样例输出】86

以下是我的参考程序:(各位如果有更好地算法期待您告知我)

#include 

int main() {
    int count = 0;
    int n;
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        //分别对个位数字为4,十位数字为4,百位数字为4三种情况进行操作。
        if (i % 10 == 4 || (i / 10) % 10 == 4 || (i / 100) % 10 == 4)
            continue;
        //遇到上述情况里程表+1,但是实际数值(count)不变。
        count++;
    }
    printf("%d\n", count);
    return 0;

}