2012年1月10日

由铁路订票系统联想到的

作为一个互联网初哥这样级别飙升的流量,居然还能让大把的人定到票,可想而知:要么是所谓的高流量网站技术太简单;要么是铁道部信息技术中心太NB。真相到底是什么呢?我个人以为,两边都沾着那么一点。

中国铁路是世界上最复杂的铁路(很可能没有之一),其业务规则也是庞博繁复,如果你以为从书上抄几个加权的最短路径算法就能对付过去,那可是大错特错。比如一个装着某些货物X的车皮Y从A到B,中间的顶点和边都是什么、如何计费,那是由多种因素、甚至临时性突发情况决定的。这样的问题其实用屁股想也知道少不了。

另一方面对于铁路信息系统,若由我个人就自己私下的一些粗略了解给它一个评分,肯定不会是高分;因为它和我对这种系统应该如何设计实现的品味完全不相符合。不过我必须承认,如果如某些跳梁小丑所说,铁道部IT部门“不专业”,那么全国所有的专业IT企业,包括淘宝在内,就IT技术所处理的对象而言不过是小儿科了。

从这个角度看去,也许只有沃尔玛全球物流集团有资格B4铁道部。我想这个例子对我们真正做活儿的开发人员、工程师和程序员是值得细细品味的,尤其是那些自己的任务恰恰是和业务逻辑有关的同学们。如果单纯的把铁道部看作一个乡巴佬,我想最后真正被打脸的只能是那些为“如何构建某类系统”定下标准的国内外大仙。

说到12306肯定是不能让人满意,明显缺乏甚至一般站长都有的经验。但它毕竟还算是承受住了;即便这活儿明天就让那些急不可耐的丁书苗们飞速抢走,我们也可以自己估计下它在铁道部手里会不会因为技术原因始终无法改善甚或最后轰然倒塌。

从这里我们就可以看出大多数高流量网站技术大拿价值几何和成为熟手的速度/成本究竟是多少,在这里存在不存在什么不可或缺的关键技术?以前我们总在听着谁谁怎么怎么NB的传奇;现在一个大家都在骂的、不专业的、毫无经验的家伙在干了。结局究竟是事实证明做大的门槛很高、还是流量神话最终白菜化?让我们拭目以待。

我这篇算技术相关的文章吗?还是应该删掉?扯掉遮羞布直说了吧,我就是想轰大家都去研究点真正深入的计算机科学相关问题,别整天弄些不值钱的工程实践沾沾自喜。

就这个方向从管理到具体技术的任何领域,如果一辈子没机会接触真正复杂的系统、看着它成长并真正深入到它的改造中去,那就是所谓大牛其思考也未必比铁道部一个提起大牛会竖大拇指的小菜更有价值。反过来说,这个方向上水也很浅:任何有机会接触某一类系统的人,无论他是否遵从某一种方式方法,他最后总能成功。

回到上面的“品味”,像铁路系统这样的设计一个(甚至是可视化的)语言来定义规则集是我主观上的正途。(至于高流量网站,其本身没什么技术含量;结合业务本身特点做到成本最小化倒是个工程类的饭后甜点)。

posted @ 2012-01-10 13:14 怪怪 阅读(152) 评论(0) 编辑

2011年11月17日

检讨和一些对C的新看法

我不应该在这个博客里说无关的事情,其实我真正的动机是保证发文章的频率。我对技术以外的事情,除了一些愚蠢的人类的欲望和心里反应还在,其实理智上是早已放弃的。

最近研发工作很不顺利,就越发关注不相干的事情;结果效率就越低。这真是太堕落了。随着年龄的变大,未来精力肯定会衰退,以我的目标而言,在这么耽误时间是绝对要不得的。

即便以这个博客本来可以对其他人的价值而言,我也太浪费了。没得说就不发文章就好了,何必去提那些根本不值得关心的事情。大家来和我交流也不是为了这些垃圾事情。

以后基本上只写我自己技术上的总结。我应该变成一个纯纯粹粹的技术人,最多再加上对技术修炼如何提升自身社会价值的思考。包括自身状态上,抛弃掉无用的东西,轻装上阵。

--------

最近一个实践的小技巧是:几行代码的实现了一个利用C++ lambda的资源管理对象(省得写free/delete的同时,防止异常带来的资源泄漏),比老的方法又少了些繁文缛节;推荐。另一个感受是C/C++还是不够灵活,即便是只看纯C其语言本身的假设也太多。

从这个角度看,原来被灌输的“C不是高级语言”的看法就不那么成立了。它并不像想象中那样贴近机器/系统本身的模型,而只是自动化管理的机制和其它东西较少,多放了一些权罢了。内存分配的方式是一个例子。一个问题是选择限制为两个:函数签名中暴露外部不关心的细节以利用栈(说穿了是已经开好的并由运行时管理的一块内存),或者开在堆里给外部一个指针(抽象的说就是引用了)。

这表面上看起来是个取舍问题:提供机制越多越方便,同时承受代价。但深层次的看事情未必这么简单。我觉得这些语言自动化机制本身是不可定制的,这才是根源所在。比如上面他提到的资源管理的小技巧,它本身是一些语言提供特性的组合,这是一种可配置性;但更根本的,这些语言特性本身却是死的。这个有用加这个、那个有用加那个,一个机制中正面负面还都得照单全收,什么时候才是个头呢?

元编程的概念还应该继续深化,并且如果提供元编程的特性,它应该至少在一些关键性的地方可以自我配置,且它的工作层面应该完全贴合在更底层的硬件/系统模型之上,更好的是只表达底层模型的知识和它们形成的限制与模式。编程应该变成纯粹的新知识表达、已有知识重复利用的过程而尽量减少其它限制。比如现有自动化机制给的,是“已有知识重复利用”;如果这个现有的不是最贴切的,应该可以让程序员自行安排并被其它人利用。

产生这些想法的根源在于,我个人工作中总是存在着选择上的摇摆。A也是鸡肋、B也是鸡肋;两个鸡肋中选择最好的一个,需要的各种考虑其量却是巨大的。相比让用户自己创造(虽然也要花费大量时间),这是完完全全的浪费。

说白了继承我原来的思路,不但面向对象一类的高层次方法论映射到语言具体设计中是毫无必要的、过程抽象的当前这种具体实现也是(当然函数式也跑不了)。这些软件构建方法的甜头归根结蒂在于提供各种模子,在不存在物理限制的领域这太落后了(都这样是reasonable的,但未必仍旧是合理的)。

其实现代软件开发的这种瓶颈,观察C++的话是再明显不过的。从语言设计的所谓“演进”、到STL库的各种设计,复杂性成快速增长;但这种增长却并未很好的切合用户需求。比如我曾考虑结合allocator定制和placement new解决std::vector安放在内存什么地方的问题,可是这个方案也太蹩脚了一些,也还存在种种限制。

真正的程序员(不考虑单纯用现有技术完成需求的开发人员)必须从这种种桎梏中解放出来,软件质量的提高才有指望。看看这些垃圾的软件吧,从操作系统到外壳到应用软件,本来一切都该更好的。更不要提那该死的火星探测器了。

posted @ 2011-11-17 22:05 怪怪 阅读(233) 评论(3) 编辑

2011年10月31日

关于异地高考引发的又一次舆论攻势

很简单。不是应该放弃户籍制度,而是应该让大学们搬走十之七八。这才是真正的教育资源的平等。不但大学应该搬走,政府部门也应该争取在未来20年搬走至少一半;这样企业也会跟着走人。

我个人认为“精英”们不会成功:物理条件目前还不以人的意志为转移。比如我们不得不考虑沉降中的华北平原和大城市基本告罄的各种资源。假设他们成功了,无论是一大步还是一小步,中国社会离他们嘴里的平等就更远了一步;假设他们成功了,他们自己也就离理智更远了一步:因为这成功是掠夺来的、也必将被掠夺走。

若种种限入门槛真的因为某些群体营造的舆论压力而取消了,只能遗憾的说,这是一个短视的决策。而未来为了儿孙福而高举各种正义大旗试图去恢复户籍制度的必然又是现在正嚷嚷着的这些只顾自己的人;区别只是屁股的位置变了。

其实从合法性的角度来看(即便认为没有原住民),难道自己去大城市打拼的人其儿孙过的比留在老家的同辈的儿孙好,不是老移民的权利?大家都明白当年老爹去大城市服务的隐性合同里包含着儿子的福利;老爹死了、老了、没用了,于是合同作废?只有我们承认已有契约,我们才能在未来同样的保护自己的权益。

另外“分低倒上好学校”的说辞真TM恶心人,一副人家的孩子智商低、不学习的样子。难道承受了大城市的精神污染而不可能一天读12个小时书的孩子就活该被高考淘汰?你高考能考XXX,那你得还给那些不能考XXX的同学和你同样的环境;无论是自然的还是人文的、物理的还是精神的。

只因为他们的受害是隐性的,就不应该得到应有的照顾?当然现在这种补贴是一种不公平行为,因为既然只用课堂学习知识、考试作为衡量标准,那么除了补贴的太多,另一种可能性是补贴的根本不够!你从小就泡在大染缸里成长的么?你想过这对人的一生发展有多大影响么?

“既得利益者”的叫法也一样恶劣。某些人已经比大城市和农村同辈获得的多的太多,而他们却还在高声讨要;也许这个群体中一部分人还不好意思否认“得到是用减法求出的”这一基本常识,就玩起了挂羊头卖狗肉或者指东打西的勾当。

比如他们所谓“用事实说话”的一个现象,“大学里农家子弟越来越少”,其根本原因是大多数农民不重视教育;这些农民兄弟忙着挣哪怕一点小钱哪有兴趣出来说话?恰恰是一些人在眼前享受了农民工带来的城市进步之后,因为担心这些红利不能持久,之后又把手伸向无能的城里人。

优胜劣汰是他们的潜台词,可他们却忘记了真正公平的竞争从来不是兔子高喊取消乌龟先跑的特权;人家乌龟还没要求比游泳呢好吗。这正是后继乏力、对自己缺乏信心的表现:看哪些还可以直接拿来而不是接着用双手创造。

任何涉及分配的问题必须讲规矩:对于有限的物理资源比如公厕,从来都是先来后到排队。不能说你比你爹能干就非得马上翻身、比同辈掌握更多话语权就鹊巢鸠占;这是文明的倒退。反而就现状来讲大家都有得有失,没有根本性的不公平存在(只是这现状让包括外地人本地人在内所有人都特别不满意)。

我们不应该牺牲一批人去成全另外一批人。“人人生而平等”是指别人和我们具有一样的权利;而不是说因为我自觉的挨欺负了、或者我自认为胜人一筹,好位置就应该换我占了,别人不配活在这里可以滚蛋。普世价值难道就是狭隘评价标准得出的“强者”逻辑?

且长期看来谁属于优势群体也是在家族间轮转的,唯一的解决办法只有逐步分散社会资源而不是一部分人从另一部分人手里掠夺。如果本地衰退导致我孩子将来考不上大学在本地找不着工作,总体看是好事。其实特别不想说这个,公开说发表这种意见可能伤害感情甚至耽误前途,为此我忍了非常久。

可当前舆论简直就是赤裸裸的法西斯。跟同胞争夺生存空间的同时还想占据道德制高点?这也太贪了点。老规划不适应新形势的错误不应该由任何群体单独承担,这难道不是最基本的道理吗?

-----

就异地高考问题本身,如果我没理解错它指的是在北京读书回去考试所带来的种种问题。别说什么不得以,我的朋友和同学中就有父母纯赤贫在老家把孩子送进大学的。我个人倾向于认为,这些考生的父母已经在孩子的前途和自己的眼前的生活之间做出了再明确的不过的选择。

posted @ 2011-10-31 09:36 怪怪 阅读(210) 评论(0) 编辑

2011年10月29日

拿到了乔布斯传

不是我自己买的,因为用屁股想就知道基调已经定了,实在不想买。翻了100多页,其目的就是看看和我15年前看过的乔布斯传及20年来各种披露有何不同。看到现在让人踏实的是,连段子都没有什么新的。

作者树碑的方式并不是构造虚假的现实,比如Woz还是那个创造Apple的人,比如施乐还是第一个实际作出今天我们所见的这些电脑的人。作者的办法是在承认事实的基础上,尽量给主角涂脂抹粉、同时轻描淡写真正的功臣。

之所以说“踏实”,是因为这也是我事先想象的唯一可行的写作方式。不过其中吹捧还是超过了我的预计,方法也略显幼稚;换一个好莱坞文青写的话这本来是多好的题材啊!而现在却更像一部写给低素质领导人士的成功学指南。

Jobs对苹果当然是举足轻重的。但那些在事实上大概只局限于一个公司前途的人事物(还不是唯一的那一个),在这部传记里被拔高到了一个境界。什么境界呢?这个境界只有iPhone的宣传攻势及其造成的影响才可能比拟。

连100年前就存在的对于字体的安排设计,都成了没有Jobs电脑就不可能用上的东西;连卑劣的个性和不学无术造就的极端无知愚蠢,都成了在这一个过程中不可或缺的重要因素。(“成功”者传记经常这样但这部尤其夸张。)

这本书出现最多的是“完美”二字,不得不让人怀疑这两个字到底还能有多廉价。就我原来提出的观点,Jobs的产品之所以是那样,不如说是其贫乏的想象能力而只能弄成那样,而这正好对了同样缺乏想象能力的底层民众的胃口。

Jobs对电子消费行业有没有影响?公平的说,很大。我向来看不上那些官僚把持的公司再三拖延应有的升级速度。拿电容屏来说,这难道是什么新鲜玩意么?如果没有Jobs这样的搅局者,恐怕他们还舍不得多掏那几美元的成本。

另外就是官僚对科学家和工程师能做出的贡献的忽视和轻蔑,总觉得世界就是资本主导的、节奏都是他们控制得住的。Jobs本质上也是这么块料,但是Jobs相对不会错过好的想法,被他抢走也许反而意味着理想有实现的一天。

但这部传记,终将变成一部笑话。不是作者和主角的笑话,就是我们整个时代大多数人的笑话。未来一个不沉浸在某种气氛中的读者,仅通过这本书中涉及的部分事实就能闻到一股味道,好比书中年轻的Jobs身上总是弥漫的味道。

我不知道这是不是正是作者要达到的效果?

一个有趣的阅读经验是,是Woz知道被Jobs坑了以后的反应。仅仅是对不同的人、包括Woz本人的采访,这个故事就活了:至少我心里立即产生了一种被最亲密的战友玩弄(还不是背叛)的那种委屈和酸楚。可惜这种内容不多。

多余的话不想多说,细腻的人自然会明白我提出上面反问时的脑子里转的什么念头。

虽然说了这么多坏话,但部书也许仍值得大家去看一看:也许你我不是Jobs的教众;那么不为别的,就为趁机知道一些真正的背后英雄的名字。毕竟相比混M$的Cutler、Anders等人,混Apple的他们太缺乏曝光机会了。

新书拿到手不错,有点厚重感、装帧也没什么毛病;印刷也过得去。只是翻过的页立马显得很旧,就好比Apple的产品禁不住深挖掘一样;虽然显然这和Apple无关。可书的质量和Apple的成功却和我们的时代息息相关。

把遗照印在封面上,是个非常不错的策划。这幅照片拍的极有水平,好像那个人盯着你;以至于发负面文章会觉得不舒服。虽然有人说不吉利,我还是把它放旁边供着了:以提醒自己去努力证明充实的人生无需成为他那样的人。

说个真正我感兴趣的:书里提到Alan Kay曾经说过,“严肃认真对待软件的人,应该制造自己专属的硬件。”对这句话我深表赞同,可惜Apple、Jobs和此书的作者完全不了解Alan Kay想的到底是什么。

posted @ 2011-10-29 17:08 怪怪 阅读(377) 评论(2) 编辑

2011年10月6日

媒体啊媒体

怎么一个伟大的电子消费品大师就成了推动IT界发展的创新源泉了?

IT界每一个真正的进步一直都是踏踏实实的工程师文化推动的;其它类型的人物就是再伟大,最多起一个对任何行业都无差别的服务性质的作用。

媒体是我们这个时代最重要的东西,恐怕没有之一;不过它所创造的氛围却总是好坏参半。比如IT界的工作者、学习者很容易被引导到错误的方向。

媒体行业的性质决定了从业者对任何一个其它行业来说都是外行。这可以理解,但我总觉得非常好笑:越把他们耍得团团转、在他们眼里就越杰出。

不过说实话我也很可笑:这种事情与我何干,就不顺眼了发牢骚,唉。

posted @ 2011-10-06 20:20 怪怪 阅读(231) 评论(2) 编辑

2011年9月26日

不要让橄榄枝从我的手中落下

摘要: 《教父》里老头子:“我伸出了友谊之手,但你却往上面吐吐沫”。可人家老头子有实力,而标题这句话的背后的人民...弱势民族苦难多啊。阅读全文

posted @ 2011-09-26 05:08 怪怪 阅读(253) 评论(1) 编辑

2011年9月14日

最近的一些想法和总结

摘要: 最终放弃了做一个python版的简易数据库,而是最终转向了C++实现;没有指针计算做这种事情简直就是隔靴搔痒。当然,两个星期是不可能了,两个月都快有了吧。这个过程中产生了一些想法。首先是关于C和C++的选择,最终是主要用C,局部实现中偶尔用一些C++。这有两方面考虑:首先从外部来讲,C的接口是最通用的二进制接口;其次从内部来讲,这一块实际上没什么和方法论相关的东西,指针和数据布局同时既是最大的抽象,也是最具体的细节。事实上也很难发现mongo的代码因为用了对象而比任何其它类似项目的代码漂亮。这个和mongo作者们的选择形成了一定的反差。就我估计他们作出采用C++的决定恐怕只是“顺理成章”,而没阅读全文

posted @ 2011-09-14 17:45 怪怪 阅读(370) 评论(4) 编辑

2011年9月13日

王绍光:历史的逻辑与知识分子命运的变迁

摘要: 王绍光,现为香港中文大学政治与公共行政系教授,英文学术刊物《The China Review》主编,1990年-2000年执教于美国耶鲁大学政治系。《 南风窗》(以下简称“《南》”):对于五七年反右,有很多种不同的理解:有的学者认为,毛.泽东搞的是“阳谋”,先“引蛇出洞”,后“聚而歼之”,反右早在计划之中;有些学者又有不同意见,他们认为原先只是整风,后来情势发生逆转,才演变为反右的——我想知道,您对五七年反右持什么样的看法。王绍光(以下简称“王”):“阳谋”是毛.泽东后来自己讲的,但是开始就是要“整风”。我一般讲毛.泽东跟别的领导人不一样,他老想改革自己一手创立的制度,1949年之后他有三次大阅读全文

posted @ 2011-09-13 02:15 怪怪 阅读(308) 评论(2) 编辑

2011年8月2日

动车事件中所谓社会精英阶层和媒体的集体狂欢

摘要: 不是说要为铁老大叫好,也不是说不能批评;但就社会负面热点的炸锅这帮子家伙一次比一次水准低下,不像真正的问责和反思,反倒像是抓住了狂欢的机会。多的不说了,这篇文章虽然主观倾向明显(我不认为有特别不对的),我个人也没有能力确认他引用的数据的真实性,但是觉得还是有真正的思考:http://songluzheng.blshe.com/post/7382/703660http://xiaozu.renren.com/xiaozu/229871/334363178(转载备份)http://www.cnblogs.com/guaiguai/articles/2125079.html (有意思的评论摘抄)ht阅读全文

posted @ 2011-08-02 13:35 怪怪 阅读(495) 评论(6) 编辑

2011年6月27日

这个我觉得是苹果的一个严重坏影响

摘要: http://www.cb.com.cn/1634427/20110323/194488.html如果说,在苹果从台式机向笔记本,再向移动设备进化的过程中,有什么始终如一的特性,那就是它所设计的所有产品都遵循同样的理念。在苹果的所有项目中,设计都是画龙点睛,而非锦上添花之笔。这也是苹果首席设计师乔纳森·艾维(Jonathan Ive)成为仅次于史蒂夫·乔布斯(Steve Jobs)的苹果第二知名人物的原因。 但是这其中却有一个问题:所有这些受到迪特·拉姆斯(Dieter Rams)启发的、简洁、优雅、圆润的产品却开始对消费电子世界产生了令人窒息的影响。iPod或许阅读全文

posted @ 2011-06-27 17:13 怪怪 阅读(374) 评论(1) 编辑