2011年12月22日星期四

Change Blog to my own host

Pleaase check my blog from : http://blog.mogling.com

2009年5月13日星期三

一日双证

2009年5月12日,对我来说是个好日子,因为这一天,我获得了两个证书--驾驶证和学位证。


昨天早上我一大早起来,去驾校拿到了我早该拿的驾驶证。然后马不停蹄地赶到闵行,参加毕业典礼。时隔7年,我再一次穿上学位服(虽然颜色不同),有些自豪,有些感慨。但是最强的感受,竟然是感觉自己穿这身衣服像Jedi武士了。(我知道我不可救药了,大家随便拍砖吧。)下次一定要去弄身Jedi武士的衣服穿穿,太帅了!

有意思的是,这两个证一个花了4,000元,3个月,另外一个花了40,000元,3年,时间上10倍,花费上10倍,但他们的含金量是不是有100倍之差,那就不知道了。

不管怎么说,这事儿算是告一段落了。我以后会不会去念个博士回来,也是未知数,可能性不是零。接下去,我该一心一意的去完成人生的几件大事了:)


2009年5月7日星期四

未来5年开发人员需要的10项技能

昨天收到MSDN中文快递上编者推荐了一本书和一篇文章:

对《代码大全》我保持景仰的态度,的确是好书一本。我也对我买到现在才看了几章而感到汗颜。

不过对于后面那篇文章,我一时好奇看了一眼,我觉得这篇文章正如MS的产品宣传一样,就是用来观念殖民的。

我翻译这十项技能如下:

1: One of the “Big Three” (.NET, Java, PHP)
三大时髦语言(.net , java, php)

2: Rich Internet Applications (RIAs) - (Learn about silverlight)
富客户端应用开发(silverlight)

3: Web development
web 开发

4: Web services – (Learn about Web Services in 1 hour)
web 服务

5: Soft skills
软技能

6: One dynamic and/or functional programming language
一门动态言语或者函数变成语言

7: Agile methodologies
敏捷方法

8: Domain knowledge
领域知识

9: Development “hygiene” (Resources here:  Technical Book Club)
不知道什么意思

10: Mobile development (Resources here:  mobile)
移动开发(手持设备,嵌入式等)


如果这篇文章的标题上限定词是:微软技术应用程序开发,那我无话可说,举双手双脚赞成。但是这篇文章标题是Software for students: 10 Skills Developers will need in the next 5 years。

我认为学生就应该打好开发的基础,比如数据结构,操作系统,算法,数据库、程序开发基本概念、程序的架构等基本科目,不应该把过多的精力放在平台相关的应用技术上。

李开复在给中国学生的三封信里面也强调了基础的重要性。Joel同学在自己的blog上花了很大的篇幅告诉读者现在学生正在步入的误区。那些软件大家们对待初学者给出的第一条建议大多是基本功的训练。UCLA,MIT, Stanford这些名校从来不教什么.net。人家教的是算法,程序的构造与解析,操作系统,计算机体系架构等课程。出来的人还不是google,ms随便去。MS还抢得欢。人家可不会什么silverlight。

软件开发就像练武功,内功练好了,那些外家招式学起来是很快的。内功才是真正要花时间的地方。这点无论对于学生,还是我们这些工作了一些年头的中级开发人员来说都一样。

运用基本功解决问题,自上而下分解问题,设计解决方案,设计良好的程序结构,框架和模块,最后转化成程序,除了最后一步,其他的都与具体的程序无关。而前面几步,才是决定你是好的程序员还是差的程序员的关键。

那么如果是有开发经验的人呢?这10条是否适用?

我觉得10条还是太多了,一个人不可能做做web开发,又去做做mobile开发,这样啥都做点结果就是啥都做不好。这10条里面我唯一看中的一点就是8.领域知识。有经验的人都知道,领域知识才是自己升官发财的决定性因素,编程技术重要性要差些。如果还要加一点,敏捷开发可以勉强入选。因为Methodology绝对是个时髦货,在过去十年里面,每几年都会流行一种Methodology,从CMMI到RUP,从RUP到XP,从XP到Agile,每种methodology只能解决很小一个范围内的问题。如Ivan Jacbson所说,最终,你得有自己的Methodology。

还有一个对于任何人都非常重要的技能就是Soft skill。其实这项技能比领域知识还要有用,比如会拍马屁的人,有可能比做了十年,非常了解领域知识的人爬的快。比如察言观色,见风使舵,舌灿莲花等等。好吧,正经点说,就是交流能力,语言能力,管理能力,调配能力等。有了这些能力,我们才能从单一的开发人员变成所谓的复合型人才。

龙珠是个好游戏

最近几天迷上了NDS上最新出的《龙珠改!赛亚人来袭》



这游戏绝对Fans向,游戏的剧情完全参照动画片。我正好前几个月看完了所有的动画片,趁记忆犹新的时候重新打游戏温故一下。虽说这个RPG绝对是无聊的地雷战式的RPG,从游戏性上来说是不怎么样。但是Fans的力量是无穷的,借用现在流行的话说,我对龙珠有大爱,所以再密集的地雷也忍了。

游戏的流程还算比较长,从第二十三届天下第一武道会(和短笛决战的那场)开始一直到决战贝吉塔,是龙珠里面打弗利萨之前一大高潮。声优基本上跟动画里面一样,大招都有特写,每当听到熟悉的“卡埋哈迈哈”,我就激动,心跳加速,肾上腺素狂喷。有点夸张了,但是这种我为游戏狂的感觉真的是久违了。

本作还原动画几乎100%,很多招数一看就能想起动画和漫画里面的场景。比如悟空的メテオコンビネーション,这招就是在23届武道会打短笛时候用的招数。这种Fans向的东西就是要让人不断联想曾经看过,听过的东西。就跟机战一样,每当听到自己喜欢的人物在那里“叽里呱啦”一阵喊,就会觉得精神超级振奋。

Fans向,真是个好东西。

最后,借用某位超高位领导子孙的名言:龙珠是个好游戏。

2009年4月26日星期日

翻出些老东西

今天整理房间时候突然整理出一些小时候做的玩意儿,让人真是怀念阿。
于是拍了点照片,拿出来秀一下。

这是以前打诸葛孔明传时自己做的攻略。
这是封面。借给侄子,结果他的爸爸看到了,在上面写了个长大了当军事家,让我真是汗颜。



攻略的文字部分



自己画的地图。



道具,法术部分。之后开始学习了一些游戏日文,别的不懂,钢的,铁的,木头的之类的形容词倒是都能认得了。

2009年4月15日星期三

从公司跑回家

我最近胖了很多,体重已经快达到90KG的警戒线了。我终于感到有点怕了,于是加强了锻炼。一周至少两天去公司健身房跑步。不过我知道,在“温室”里面的花朵永远长不大的,要出去经历点风雨才会长大。于是我决定从公司跑回家。距离大概是8,9KM左右,我以前也跑过,但是从来没有完整跑下来过。

上个星期五晚上下了班,我一路跑回家,原先给自己定的计划是当中可以休息4次,到跑不动了就停下来走回去。结果让我自己也吃了一惊,除了遇到几个红灯停了3,4次以外,我竟然从头跑到了尾!用时1个小时。

事实上我一直没有感到极点的出现,而且跑的一直很轻松,最后感觉呼吸都要跟走路差不多了。当然可能因为速度也很慢,但是不管怎么样,都打破了以前的记录。

不过之后几天身体就不舒服了,喉咙发炎,身体处于一个悬崖口,我很清楚这种状况,如果不管,肯定第二天就喉咙发炎,然后感冒,咳嗽,去医院看病吃药。还好我算是很清楚自己身体的状况,提早吃药,压了下来。

由此我也感觉到自己的身体素质水平,还是比较差。我有个朋友,有次参加半程马拉松,不小心误拿了全程的报名单,结果也跑下来了。尽管照他的话说,跑完之后那双腿感觉都不是自己的了,但休息了一天就没事儿了。这种身体素质真是让人羡慕。拿我妈的话来说,我看着很胖,可是都是虚胖,没用!稍微累点就生病。我一直反驳她,但是心里知道,事实如此。

接下来,我打算继续这样锻炼,保持这样的频率一段时间。一个月起码两次跑步回家,等到稳定下来,再继续提高速度或增加强度。

2009年4月9日星期四

Google Image Search with Specified Color

Google的图像搜索增加了一个新的功能:指定颜色。

看看下面一幅图,发现搜出来的图有什么特点没?是的,这些图都是绿色的。
注意搜索框右下角的颜色选取图标没?这里就是秘密所在。



这个功能虽然小巧,结合以前就有的filter功能就可以进行例如“红色的蝴蝶 clip art”这样相对精确的搜索了。对经常做PPT的人来说无疑是个非常方便的功能。

Google Image Search with Specified olor

2009年4月1日星期三

code: 用adjacent_find判断序列升序



int main(){

int a[] = {1,2,3,4,5,6,7};
int n = sizeof(a)/sizeof(int);

int* p = adjacent_find( a, a+n, greater());

if( p != a+n )
   cout<<" the " << p-a << " element is out of order " <<endl;
else
    cout<< " the sequence is in a ascending order "<<endl;

}


这段代码很简单,这里用adjacent_find的第二个版本:使用一个predicate来判断相邻的两个数是否是升序,注意,这里允许相邻的两个数字相同。比如{1,2,3,3,4,5,6,7}也被认为是升序。如果不希望这样,可以用greater_equal()这个Predicate。

增加一个新的tag : Code_Snippets

看到肥猫拿到了今年的最具潜力无聊猥琐博客奖,我心痛啊!!


我写了一年的无聊文章,就是为了获得这个奖,最后花落别家,我气的差点吐血!!

不过我决定痛定思痛,再接再励,为了获得联合国教科文组织明年的最具潜力无聊博客奖,我决定从今天起推出一个新的专栏(tag)——Code_Snippets。用来摘录自己看过的写的精彩的代码,当然也会加上我自己写的代码,这样可以大大增加我的博客的无聊值(BoringRank,简称BK)。按我的计算,我这样写一年,明年我的博客的无聊度可以把肥猫的博客甩开2个银河系!

Visual Studio Free E-book!!!

首先声明,这不是愚人节笑话。MS Press终于大方了一记,放出了一些免费的电子书。

其中有

Visual Studio 2008: Programming Microsoft LINQ


 

Introducing Microsoft Silverlight 2, Second Edition



Programming Microsoft ASP.NET 3.5


这三本时髦的重量级参考书。

你可以免费下载部分章节试读,如果觉得喜欢,注册一下就可以获得全部章节。

http://csna01.libredigital.com/?urvs5cn3s8