毕业三周年,张江故地重游

“2007年,那是一个春天”…..

07年3月8日,我度秒如年的硕士生涯终于画上了句号,全国人民喜庆妇女节的同时,我通过了毕业答辩,结束了“实习”,告别了上海程序员心中的圣地张江。一转眼,至今已经三年了。

上周末,研究生同宿舍的室友提议聚会庆祝一下,当然义不容辞。虽然天降大雨,雾锁黄浦江。俺跟夫人还是驱车赶往浦东世纪公园同学家中,几年不见,同学变化甚大。当时一心学术,论文写得甚好,读到博士的袁兄现在已经是无锡xx区的副局长,主抓“感知中国”物联网。当时的“春哥”(哎,当时还没有超女呢,现在一说春哥首先想到的是那个纯爷们了)现在已经住上了高档社区,名车豪宅,但是依然激扬文字,观点犀利。

Party自然是很Happy,结束之后,袁兄在上海还要继续酒精考验,不愧是公务员,俺驱车把他送到金桥。突然,妻说起,不如去张江看看吧。金桥离张江非常近,一脚油门,Let’s Go.

第一站是玉兰香苑。这里的一间一室一厅是我跟妻06年“蜗居 …

more ...

程序员的“使用年限”是多少?

这周二去本部给大一的新同学上形势任务课,这形势任务课么,本来就是比较扯,经常会讲一些共产主义啥时候实现啊,一国两制,统一中国啊什么的。让我讲形势任务,我自然不会讲这些东西了,好歹咱也算是个专业人士。给同学们说了一下软件这个行业的一些现象,跟一些道听途说的或者亲眼所见的经历。中间再夹杂一些插科打诨,一个小时很happy得就过去了。

不过课程结束之后,一个小同学跑上来问的问题到着实把我雷了一下,这哥们带着一副大义凌然、苦大仇人,俨然地下党被反动派抓住后的表情说:老师,你告诉我,我们的“使用年限”到底是多少?

这个一听就明白,又是经久不衰的程序员青春饭问题(后面还跟了一些具体收入问题,要精确到个位数,例如:我到底能赚多少钱….)。不过由刚入学几个月的小同学提出来,作为80后典型代表,真是也不得不感叹“物欲横流,世风日下,道德沦丧,人心不古”啊。。。遥想俺们当年上大学那会儿,老师让干嘛干嘛,至于出去到底能赚多少钱,连做梦都没想到过。果然长江后浪推前浪,俺们80后被90后无情的推到沙滩上了。

不过你愤青,俺比你更愤青。青春饭这个问题么。俺的看法如下,你不服拉倒:

第一,你觉得程序员四十岁必然下岗 …

more ...

连载1:从学生到教师

这是我给软件学院院刊写的文章,原文没有名字,只有内容。blog的标题一栏看来是不允许null的,所以自己随便配了个名字。慢慢贴吧。

【序】 时光飞逝,岁月如梭。回首2002年作为学院的第一批转专业学生加入同济大学软件学院,到现在成为学院的教师,已经六年有余了。其间经历了太多值得记忆的事情,也经历了太多的难忘。提笔却不知道该从何写起,还是把这六年生活中的点滴摘录出来,以飨各位,同时自勉。

“蜀道难,难于上青天”——本科前两年的求索

我是2000年从山东高考进同济大学的。当时报志愿是土木工程系,可惜分数不高,没能录取,与此同时却正好赶上2000年同济合并铁道大学,招生人数猛增,原本只有30人的会计系招生数猛增到了160人,因此被我调剂到了会计系这样一个半文半理的专业。所以我大学的前两年敲的不是键盘而是算盘。

在大学之前,我都基本没怎么接触过计算机,进了大学之后,第一门计算机课程《计算机文化》(就是讲WindowsOffice的操作 …

more ...

Microsoft Robotics Studio与LEGO机器人

盖主席(Bill Gates)20年前发表过一篇语录,说:“要让每个家庭的桌子上都有一台PC机,每个PC上都跑的是Windows操作系统”。经过广大无产阶级革命群众二十年的艰苦奋斗之后,现在再回头看,语录的内容虽然没完全实现但是也差不多了。

去年,盖主席在接受《科学美国人》杂志采访的时候,又大海航行靠舵手般创造性高屋建瓴的为革命群众指明了新的路线方针和政策:“二十年后每个家庭都要有一个机器人,每个机器人上也要跑Windows操作系统”。伟大革命群众接到最高指示与最新指示后无不欢欣鼓舞,以饱满的热情投入新的革命事业。

为了响应Chairman的号召,微软党支部迅速成立了Robotics革命委员会,该委员会高举机器人都要“带三个表”的伟大旗帜,以科学机器人观为指导思想,经过将近一年的火红革命战斗历程,终于隆重推出了Microsoft Robotics Studio 1.0。为每个家庭都有一个机器人打下了坚实的基础。

以上纯属娱乐,今天我们要说的,是Robotics Studio与LEGO机器人开发平台。

首先说一下LEGO机器人:


图:LEGO NXT

目前的机器人主要有专用,通用等几类。专用的如流水线控制等等,这种基本是不可能走入寻常百姓家的。可能走进百姓家的就是一些通用机器人,例如可以帮你打扫垃圾什么的。

乐高公司以前是做儿童玩具的,后来开始做机器人,最早的一个版本叫RCX,现在在做的叫NXT …

more ...

工作三个月,第一张罚单

在学校混了这么长时间,已经习惯了别人叫自己老师,却总是感觉最近一段时间在浑浑噩噩。流水帐,就随便想到哪里写到哪里吧。
                                                          <div>

                                                          </div>

                                                          <div>
                                                            总体来说,学校的管理体制就是一个大国企,很多管理体制和行事作风都相对落后,不同部门之间也是各自管自己的一摊,自扫门前雪。相比来说,软件学院要好很多,新兴的学院,没有历史遗留问题,制度也灵活,办学和管理的思路也先进,比传统的学院要高出一大截,很多事情让人舒服。但是软件学院毕竟是一个被领导单位,很多时候要跟着学校的步子走,这也是无奈。
                                                          </div>

                                                          <div>

                                                          </div>

                                                          <div>
                                                            本来4月份就研究生毕业了,在外企或私企工作的同学早就入职了,但是学校却非得按照报到证的流程,7月11号才正式报道,害得我当了三个月的社会氓流。7月11号终于报道了,但是学校7月12号就放暑假了。报道手续只完成了一半。整个报道过程中没有任何人告诉你要干任何事情,都是凭着感觉到了一个部门之后,他们草草对付一下,告诉你干这干那,然后就告诉你可以走了,然后就把你轰出门外,不想多跟你说半句话。办了事情,却不知道为什么要办这件事。知其然不知其所以然。所以偶的报道流程糊里糊涂走了3个月,现在还没有完全走完。发现自己少东西了之后,再道听图说打听打听 …
more ...

侃多核

忽如一夜春风来,在地毯式广告和各大媒体的轰炸之下,PC机和基于PC的Server似乎一夜之间进入了多核时代。谈到双核电脑,四核的服务器也已经飞入了寻常百姓家。
Intel和AMD两大芯片厂商花了巨大的力气来推广多核,不能不说有市场利益在驱动。说为什么要多核,当然可以说出一大堆理由:提高效率,降低功耗,半导体技术发展到极限了,甚至还有一个理由叫什么世界本来就是并行的……这里就不多说了,这篇文章主要想说说我自己觉得多核可能会对程序员带来的影响。
在此之前,想先说说多核跟摩尔定律的关系,摩尔同志最早关于摩尔定律的表述是这样的:the number of transistors on a chip doubles about every two years. 所以,最初的摩尔定律其实跟处理器速度没什么关系,只是说处理器上的transistors晶体管数量会翻番。后来的一些年里由于计算机主频速度不断加快,所以摩尔定律就被演绎处理器“主频速度18个月翻一番”的版本。现在呢?计算机的主频速度又上不去了,尤其是笔记本电脑处理器,我2001年买的本子是1G的处理器,如果摩尔定律应验,那现在笔记本处理器速度至少也要8G了,当然这没有变为现实。就在所有人都在疑问摩尔定律会走多远的时候,多核出现了。支持摩尔定律的同志们高兴了,摩尔定律又可以有新的演绎了:处理器核的数量18月或24个月翻一番。虽然core不是transistor …
more ...

makefile入门

1 makefile入门

Windows CE的构建系统大量使用了Nmake工具和makfile。在大多数微软的软件和驱动开发包中都会包含Nmake工具。因此,这里有必要介绍一下makefile和Nmake工具。

1.1 makefile简介

对于许多Windows下的程序员来说,makefile可能还是个陌生的名词。因为Windows下的许多集成开发环境(例如:Microsoft Visual Studio和Borland C++ Builder等)可以帮助开发人员完成makefile需要完成的功能。通常只需要在集成开发环境中按个按钮,工具就可自动帮助我们编译、链接整个项目。想象如果没有了集成开发环境,那么就需要有另外一种方式来管理对项目的构建。

简单的来说,makefile负责帮助开发人员简化代码的编译、链接等构建工作。对于只包含几个文件的简单的项目,开发人员完全可以通过手动控制编译器、链接器来完成对项目的构建。但是想象一下对于一个拥有几百个、甚至几千个文件的大型项目,如果每次构建都是通过手动完成,那消耗的工作量和复杂程度是不可想象的。在这种情况下,makefile就有了它的用武之地。

makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个自动化脚本一样,其中也可以执行操作系统的命令。

makefile带来的最大的好处是 …

more ...

NDS程序设计(三)

3.1开发环境杂谈

要想给NDS开发程序,最好的选择当然是买任天堂公司提供的开发套件了,任天堂的套件非常好,开发调试一条龙俱全(我没见过)。但是这个东西相当贵不说,它也不是有钱就卖的。还必须跟任天堂搞好关系才可以。所以呢一般的平民百姓想玩是不可能了,除非练好身手加入Konami,Namoco……开发工具的网址是:http://www.warioworld.com

当御林军当不成,就只好当民间高手了。国外有一群高人不甘寂寞,就自己动手丰衣足食,DIY了一套开发环境,这帮人自称Homebrew(为什么这个单词金山词霸里面没有……)这套开发环境叫做devkitPro。我们下面的开发工作,全都是在devkitPro下进行的。

devkitPro是一个为多种游戏机开发程序的开发环境,不只可以为NDS开发程序,还可以为GBA,PSP,NGC和GP32(据传说GP32是韩国人开发的一个掌机……)编写代码。那些游戏机有的是MIPS有的是PowerPC,就不在我们的瞎扯范围之内了。我们就关注NDS。

3.2安装和配置开发环境

devkitPro是sourceforge.net上的一个项目,所以最新的东西都可以从sourceforge上下载,老家在这里:http://sourceforge.net/projects/devkitpro 。但是google一下应该可以找到不少链接 …

more ...

NDS程序设计(二)

一、硬件介绍:

先贴一个网上流传甚广的NDS硬件清单:

主机名任天堂DS[NTR-001(JPN)]

尺寸、重量(机器闭合时)- 长:148.7毫米 宽:84.7毫米 厚:28.9毫米

– 重量:约275克(含电池、触摸笔)

Display采用上下双液晶屏幕同时显示并进行游戏,下方屏幕更可直接使用触摸笔及手指进行操作。

•上方屏幕

– 3英寸(对角线距离)半透反射型TFT彩色液晶

– 带有背光灯

– 分辨率256 X 192像素,点距.24

– 26万色

•下方屏幕

– 3英寸(对角线距离)半透反射型TFT彩色液晶

– 带有背光灯

– 分辨率256 X 192像素,点距.24

– 26万色

– 附带高强度透明模拟触摸屏

主要操作部分- 十字键,A …

more ...

NDS程序设计(一)

NDS程序设计

引子:

对程序员来说,这又是一个吓人和诱人的题目,但是本文基本上还是以小品文为主,想到哪里写到哪里,没有规划。基本属于自娱自乐。

如果有人想通过这个文章学习NDS编程呢,最好具有一些coding的经验,至少要学过C语言,知道一些先编译后链接、循环语句、选择语句什么的。如果一点都没有Coding的经验,还是放弃在NDS上编程吧。当然,进阶的要求就更多了,大概有如下一些:ARM体系结构、C / C++、GNU工具的使用经验。

很早就有个想法,等我的那本书完稿之后要买个掌机玩玩,被这本书折腾了一年,像块石头一样一直压在胸口喘不过气,现在基本上都已经完稿了,也可以兑现对自己的承诺了。

现在流行的掌机有两个:任天堂的NDS(以及后来的NDS Lite)还有索尼的PSP。具体技术细节不说了,大概就是NDS性能弱一些,但是好玩的游戏多(插一句:CPU是ARM)。PSP功能强大(又插一句:CPU是MIPS),但是好玩的游戏没几个。经过反复权衡折腾,最后我选择了买NDSL,上周全套装备配齐,2300大洋。包括NDSL机子,Super Card烧录卡 …

more ...