杜十娘这个名字和歌曲听的很耳熟,但一直不知道那个故事的具体内容。昨天看了一边,故事结局的艺术震撼挺强烈的,于是有感而发,有了这篇妓女与码农的对比。

  妓女 码农
现实 被迫接客。偶尔能碰到自己心仪的男子,绝大多数都是自己不喜欢的男人。 被迫接活。偶尔能碰到自己喜欢的项目,绝大多数都是自己不喜欢的不情愿去做的事情。
理想 找到一个真心相爱的人,拥有爱情,赎身后一起过日子。 找到一个赏识自己才能的企业,任由自己发挥,做自认为真正有价值的事情。不但不干预,还给予各方面的支持。
出路 赎身从良。虽然从良了,依然会被看作是出身低贱,不被尊重,不能被家里的长辈接纳。

自由职业。虽然自由了,但身份变成失业游民,没有固定的经济收入,担着自私的罪名而遭到家人的反对。 

杜十娘有个百宝箱,为了维护爱情的纯洁,隐瞒了实情,由此也造成了极其悲剧的结局。我也有个百宝箱,里面是各种创意和对未来产品的设想,但是很难公开出来。有些创意只是最初的想法,很不完整,需要一边做一边完善;有些看似简单平常,做起来很难,也少有人能意识其价值所在;有的创意对整个行业的发展是有利的,但是目前没有盈利模式,或者三到五年内不能盈利,也就没人投资;有些创意如果真的很好,说出来了别人就会拿去做,做出来就有可能获利,对我来说相当于失去了这个创意。另一方面,在初期保密更能激励自己去亲身实践。但是有人去做总比没人做和没人知道要好,以后我会抽时间发表一些出来。

码农是网上一些人自嘲的说法,并不是每个人都这么惨,只是在某种程度上有点;另外也不是每个人都有杜十娘那样的志向,希望每个人都能找到适合自己的生活。

posted @ 2012-01-08 11:10 Junfeng Liu 阅读(197) 评论(0) 编辑

先来回顾一下2011年:

2011年1月20日Intel推出Sandy Bridge架构的Core-i3和i5。
2011年6月29日AMD推出两款四核的台式机版Fusion芯片,A6-3650和A8-3850。
2011年2月3日谷歌发布了专用于平板电脑的Android 3.0 Honeycomb系统。
2011年10月19日,谷歌和三星联合发布了基于Android 4.0的Galaxy Nexus。
2011年3月21日,微软在中国发布IE9的正式版本。
苹果iPhone 4S于2011年10月4日发布及10月14日上市。
小米手机意外杀出,8月发布10月上市,优点是性价比高,缺点是与三星、苹果、魅族的旗舰手机相比有一定差距,期待小米下一部手机的表现。
魅族MX于2011年12月8日发布,2012年1月1日上市。
诺基亚于2011年10月26日发布Lumia800,颠覆性的外观设计和WindowsPone7系统形成与众不同的风格。
由网易运营的暴雪游戏大作《星际争霸II:自由之翼》于3月29日正式开服,7月12日,魔兽世界最新资料片《大地的裂变》正式开启运营。
2011年7月7日,仙剑奇侠传五正式发售,8月19日发布的真人配音包使可玩性大幅提高,但整体剧情过于平庸。
Doom3在2011年11月22日开源。
天宫一号和神舟八号发射并对接成功。

接下来,2012年值得期待的事件:

  • Windows8及IE10正式版发布。
  • Win8的平板加入到iPad与Android平板的竞争中。
  • 支持USB3.0的设备大量出现。
  • 使用彩色电子纸的触摸屏平板电脑出现。
  • 基于四核ARM芯片的移动设备上市,尤其是Nvidia的Tegra3和三星的Exynos5250。
  • 魅族MX四核版发布及上市。
  • iPad3发布及上市。
  • 下一代iPhone发布,如果支持4G的LTE网络的话,我猜测名字可能叫iPhone 4G或者iPhone 4GS。
  • 暗黑破坏神3和Doom4上市。
  • TD-LTE网络商用化。
  • 十八大的召开。
  • 神舟九号十号载人发射。
  • 美国“好奇”号火星车8月份登陆火星。
  • 北斗卫星导航系统正式运行,精度达到10米。
  • 2012年12月21日——划时代的分界线。

 

posted @ 2012-01-02 22:15 Junfeng Liu 阅读(1426) 评论(1) 编辑

潘正恺 (Kenneth Pan)是System Center Configuration Manager的掌舵人,负责整个产品团队的发展方向,领导整个产品团队进行产品研发,并协助产品的销售和售后支持工作。圣诞前夕,他来到上海,与上海的SCCM研发团队共同工作,抓住这个难得的机会,我们对他进行了一次专访,从访谈过程中,潘正恺为我们展现了SCCM产品十几年来风风雨雨的历史:

 

问:请问您是何时加入微软的?能不能简要介绍一下您在微软的经历? 

潘正恺1992夏天,我还在University of Washington的时候,就以实习生的身份加入微软,当时我的第一个任务就是为当时的SMS 1.0写代码。那时候的SMS还是一个全新的产品,内部代码叫Hermes(即古希腊神话中宙斯和凡世之间传递消息的传令官)。那时候我参与的部分是负责文件压缩解压的功能,以提高不同站点之间传输文件和信息的效率。之后,我逐渐开始接触后台服务端的各种组件。

当我成为正式员工的时候,那时的SMS团队还只有为数不多的人员。直到现在将近200人的规模,这十几年来,我一直在这个团队中工作,从Developer, 到Lead Developer,Developer Manager,到现在的PUM(Product Unit Manager),从这份工作中,我得到了无尽的乐趣和成就感。

 

问:我们知道从1992年开始,Microsoft开始研发SMS 1.0 版本,当时是什么原因促使Microsoft向这个新的领域进军? 

潘正恺其实在一开始这并不是一个全新的产品,在92年的时候,Windows NT 3.1还未正式发布。为了促进Windows 3.1的销量,当时Windows团队的一位项目经理提出一个新的功能,要让Windows NT能管理域中各台机器的硬件资产,例如硬盘,内存等等,这个功能当时是设计为Windows NT核心功能中的一部分。后来Microsoft的高层看到这个功能之后,敏锐地发现这可能是一个新的机会,完全有可能独立出来单独作为一个产品发售。所以就有当时的SMS 1.0。但是这个产品在初期的时候,也是命运多舛,从1.0版本到2.0版本之间,几乎每半年高层就要有一次讨论,来决定这个产品到底作为一个独立产品还是作为NT的核心功能。但当SMS 2.0发布,产品销售收入达到1亿美金之后,这样的讨论就再也没有举行过。

 

问:据我所知,我们在SMS 2003发布的时候,销量有了一个突破性的增长,包括现在的SCCM 2007,销量也非常惊人,那您认为这些成功的背后,其核心优势是什么? 

潘正恺其实销量增长最快的时候,是我们发布SMS 2.0的时候。当时的原因,是由于正遇上了Y2k的危机,很多公司购买了SMS 2.0来解决他们公司内部的Y2K问题,在帮助我们的客户解决千年虫问题方面,SMS 2.0发挥了至关重要的作用,为客户节约了大量的人力物力。而当我们的客户部署了SMS系统之后,他们逐渐发现其实这个软件还有很多非常实用,能解决公司实际问题的功能,这些功能逐渐被客户所接受,应用在企业IT管理中,客户也就此认同SMS这个产品确实能给他们带来价值。

而说到SMS 2003, 当时最大的原因是其良好的补丁管理功能。2003年,正是各种蠕虫病毒横行的时候,企业的网管经常忙得焦头烂额,帮每一台机器打最新的补丁,而当时WSUS(即Window Software Update Services)尚未推出,唯独SMS 2003提供了在企业内部分发,安装 补丁的功能,所以当时的客户们趋之若鹜,纷纷在企业内部部署SMS。

到了SCCM 2007,OSD成为最大的亮点,加上更完善的补丁、软件分发管理功能,使2007成为一款非常全面、完善的系统管理软件。 

 

问:从SMS 推出开始,一直到现在的SCCM 2007,过程中市场占有率的变化情况是怎样的? 

潘正恺在SMS 2.0的阶段,市场上还没有一个占统治地位的产品,大大小小的各类产品群雄纷争,各自有自己的一席之地,到了SMS 2003,基本上就是几家公司占据了主要的市场份额,像Landesk, Altiris 等都是我们的主要竞争对手。经过这两年的发展,目前的市场占用率情况显示,SCCM 2007 + SMS 2003 的市场份额,已经成为这个市场中的No. 1 

 

问:我们知道,目前研发团队正紧锣密鼓地开发下一代的SCCM,请问下一代的产品会带给我们哪些激动人心的特性呢? 

潘正恺下一代产品中,我们将支持全新的面向用户的软件部署分发模式。在以前的版本中,IT管理员都是针对计算机来进行管理,分发软件。而在现在的企业办公环境中,一个员工拥有多台电脑,或在家里办公,以及使用诸如手机这样行动设备来处理邮件的需求已经变得非常普遍,面向用户的软件部署分发模式就此应运而生,以解决企业遇到的这些问题。可以想象,在将来的企业IT管理中,用户为中心的管理方式将逐渐成为主流。 

 

问:SCCM这个产品从一开始的一个小产品,到现在成为微软企业管理软件中的支柱产品,您觉得一路走来,这个产品的成功秘诀是什么? 

潘正恺最重要的原因是:我们永远把客户的需求放在第一位,认真倾听客户的需求,设身处地地站在客户立场上,理解他们的需求,以及为什么他们需要这样的功能。客户至上的宗旨,给我们带来的结果是,在每一个版本推出的时候,都成功地掌握了客户最迫切的需求,从SMS 2.0的Y2K,SMS 2003的补丁管理,到SCCM 2007的OSD,无不如此。 

 

问:那以目前的经济形势形式来看,您觉得对SCCM的市场前景,是好消息还是坏消息? 

潘正恺有好的一面,也有坏的一面。好的一面是,SCCM最大的目标,就是节约客户IT管理成本,在现在这样的经济形式下,可能会促使更多的客户来部署我们的产品,以更好地削减成本。坏的一面是,客户可能会放慢升级新的操作系统的脚步,从而间接地影响升级换代SCCM新版本的需求。所以综合来看,可能影响不会太大,但这要等我们实际的数据出来以后,才能有一个比较确切的结论。 

 

问:我们看到在SCCM 2007的时候,产品名字修改了,从SMS到SCCM,当时是出于怎样的考虑来做这个决定的呢?

潘正恺: 这要从System Center这个品牌说起,当时微软内部负责这块业务的副总裁预期,企业IT管理类的软件,年销售量可以到10亿美金,但当时公司内部没人相信这个预测。当时的IT管理类软件,主要就是SMS和MOM,为了促进销量和建立品牌,所以创立了System Center这个品牌,这个举措也是仿效Office的品牌效应。而一旦SMS归到System Center品牌下,再叫System Center System Management Server 就不是特别合适了,所以才会改成现在的名称。现在回过头来看,这块的年销售量已经到了8亿美金,很接近当时的预测了,也可以看出当时这个品牌的树立,对产品所带来的利益和影响。 

 

问:所以不是因为怕和短信的简称混淆罗?

潘正恺: 不是不是,我们的产品推出比短信的广泛使用还要早不少。主要还是为了品牌战略的关系。 

 

问:您在这个产品已经工作了十几年,这段时间内,最令您激动和最令您沮丧的分别是什么时候? 

潘正恺: 基本上大部分的时间都是非常快乐和富有成就感的,最困难的时候是在SMS 2.0的时候,当时质量控制还没有达到今天的水准,整个团队通宵达旦地工作,经历了几个Service Pack,才把质量提高到令人满意的程度。最高峰的时候,上百个测试人员坐在那里手工测试我们的产品,修改Bug。在这之后,我们就逐渐完善了一系列的流程,认识到了自动化测试的必要性,把自动化测试提到非常重要的位置上。 

 

问:在这么多年的开发过程中,您有没有一些有趣的事情可以和大家分享一下?

潘正恺: 数据有时候很枯燥,有时候又很有趣,让我们看看以下这些数字:

  • 在SMS 1.0发布的时候,我们所有的安装程序,是7张软盘,当时已经是一个非常庞大的软件了。而现在,恐怕一张DVD已经装不下:)
  • 刚刚开始的时候,整个团队就5-6个人,而现在上海和美国两地的团队加起来已经接近200人。 

 

问:我们这个博客主要的来访者都是我们产品在中国市场的客户或者潜在的客户,在采访的最后,您想对他们说些什么? 

潘正恺: 我很高兴能有这样的机会和中国的IT Pro们有这样直接的交流,中国市场对我们的产品来说真的非常重要,从私人角度,作为一个中国人,我也非常希望自己管理的产品能在中国市场蓬勃发展,帮助到中国的企业。

这里有两点想跟各位交流:其一,SCCM这样的产品,安全性真的非常重要,像IE这样的产品,如果有了漏洞,影响还只是一台机器,而如果系统管理软件有了漏洞,入侵者可以对整个企业的机器为所欲为。因此我们投入了大量的时间,精力,资金在安全性方面。希望各位在将来选择产品的过程中,多重视,比较产品和解决方案的安全性问题。

其二:SCCM不仅能节省企业成本,更重要的是,它能帮助企业建立一套良好的IT管理模式,业界的一些最佳实践,都在我们的产品中有良好的体现,这对于改善企业IT管理非常有帮助。 

 

记者:非常感谢Kenneth今天接受我们的采访,希望今后还有更多的机会和Kenneth交流。

 

原文网址:http://blogs.technet.com/b/msdchina/archive/2008/12/29/sccm-kenneth-pan.aspx

posted @ 2011-11-18 16:38 Junfeng Liu 阅读(40) 评论(0) 编辑

根据自己多年的学习和思考,画了一个编译器的结构框架图,转载请注明出处。

目标代码是机器语言或汇编语言,汇编语言可以通过汇编器生成机器码。汇编语言的定义取决于CPU的体系架构,目前主要有三种:x86/x64, ARM, MIPS。

中间代码是虚拟机的机器语言,虚拟机目前主要有四种:CLR, JVM, Parrot, LLVM。CLR用于.Net平台,JVM用于Java语言,这两个是基于栈的虚拟机。Parrot用于脚本语言,比如Perl,Python,Ruby等;LLVM用于C、C++等语言,这两个是基于寄存器的虚拟机。在性能上比较而言,基于寄存器的虚拟机优于基于栈的虚拟机。

现在做编译器主要是做前端,后端有这四种虚拟机和GCC可用,解析器也有很多成熟的算法和工具可用。首要的难点是如何定义编程语言的语法、语义和运行时的内存管理,如何在简单与复杂之间取一个平衡点。

目前在使用的编程语言有很多种,各种语言都有自己的优点和缺点,能不能在一种语言中把大部分优点集合起来,把缺点消除掉?

posted @ 2011-09-02 19:28 Junfeng Liu 阅读(1381) 评论(7) 编辑
摘要: 想出三进制数的对称表示法是从一道数学题开始的: “最少需要多少个砝码可以在一台天平上称出从1千克到40千克之间的任何整数千克的重量?”阅读全文
posted @ 2011-08-26 14:18 Junfeng Liu 阅读(986) 评论(3) 编辑
摘要: 最近用C#做了一个Lua的解释器,发到了CodeProject上面,有源代码,并且在CodeProject这周的Newsletter中位列Most popular new articles。Lua的简单主要是因为动态类型,不需要声明和定义类型;Lua的强大主要是因为支持函数式的编程;高效则是因为语法简单,解释器的实现非常小巧。运行高效,各种解释型语言中Lua的性能最高;编程高效,用很短的代码就能表达相对较多的语义。所以Lua非常适合作为第一门编程语言来学习,建议所有的中学生学习Lua编程语言,最好是学校有这样的课程。Lua和C语言是协同工作的,基础的功能用C来实现,然后在Lua中调用,用Lua阅读全文
posted @ 2011-07-27 15:33 Junfeng Liu 阅读(171) 评论(1) 编辑
摘要: 上次介绍了用Lua做的个绘制二元等式或不等式的图像的软件,今天增加了输出图片的功能,下载地址还是原来的。下面介绍几个使用技巧,这也正是这个软件的有趣之处。1. 求余和周期函数利用求余可以将一个图形变为一系列的图形,举几个例子:对直线的截距求余,y=x+d → (y-x)%d=0,例如:(y-x)%20 == 0对直线的倾角求余,y=tgθx → atan(y/x)%θ=0,例如:abs(atan(y/x)%0.2)<0.005对圆的半径求余,sqrt(x^2+y^2)=r → sqrt(x^2+y^2)%r=0, 例如:abs(sqrt(x^2+y^2)%10)<0.1求余是一个周阅读全文
posted @ 2011-07-17 14:19 Junfeng Liu 阅读(723) 评论(0) 编辑
摘要: 一直在等汉王的E920,彩色电子纸+触摸屏,可惜啊就是不上市,只好买黑白的了。看PDF和漫画一定要9.7寸的屏幕,6寸屏是不能代替纸质书的,9.7寸则可以,于是买了欣博阅G10.功能挺多,主要用到的也就是看书,大部分格式都支持,就是反应速度稍有点慢。阅读全文
posted @ 2011-07-02 11:30 Junfeng Liu 阅读(138) 评论(2) 编辑
摘要: 输入任意的包含x和y两个变量的Lua表达式就可以绘制出对应的图像。Lua支持的运算符如下:算术+ - * / % ^比较== ~= < > <= >=逻辑and or not其中%是求余,^是乘方;需要注意的是相等用==,写=则报语法错误。Lua预定义的数学函数参见Reference Manual的mathlib。软件界面如下:绘图的算法很简单,遍历每一个像素点,如果对应的坐标区域满足表达式给出的条件就给这个像素着色。需要特别说明的是Pixel Split的含义,每个像素点并不是对应一对坐标值,而是对应一个矩形区域,因此对于某些函数需要做细分才能画准确一点。比如输入8表阅读全文
posted @ 2011-06-28 00:04 Junfeng Liu 阅读(1883) 评论(8) 编辑
摘要: 关于内存的使用,栈(stack)和堆(heap)是非常重要的两个概念,网上讲解的资料也比较多,大家也应该知道栈和堆分别的用途是什么,接下来说一下我对栈与堆的本质区别的理解。每个程序在运行时系统都会分配一块叫做栈的连续的内存区域,大小一般为1M或2M,是编译程序时指定的常数。堆则是系统中所有空闲的内存区域,因此是不连续的,而且有可能是虚拟内存。函数的调用和返回是通过栈来实现的,不细说了。程序中用到的变量(对象)所占据的内存空间既可以从栈上分配,也可以从堆中分配,区别如下:1. 内存指针的性质不同栈上面只能分配长度较小、大小固定的数据,变量的内存地址相对于栈指针的偏移量在编译时就可以确定,因而可.阅读全文
posted @ 2011-06-07 19:33 Junfeng Liu 阅读(320) 评论(2) 编辑