Shell's Home

世博会观感

Jun 17, 2010 - 1 minute read - Comments

昨天看了一下世博,仅浦西馆,发现问题非常多。当然,我没看完世博,很多问题有失偏驳。然而不得不说,整个世博看似热闹,其实差劲。 一,形同虚设的安保 昨天安检速度很快,完全没有传说中的恐怖。但是通过安检后,我检查书包的时候发现一个�事——我把一罐水带了进去。我在想,如果是恐怖分子,带罐液体炸弹会比这个困难么?对于这种形同虚设的安检,对得起等待的观众么?不如直接撤掉。 二,布展内容不精彩 昨天看了铁路馆,人保馆,城市最佳实践区,案例馆,通讯馆,船舶馆,另外打听了一下cisco。其中铁路馆,人保馆,城市最佳实践区基本不排队,但是很无聊,没有什么有意思的展品。以铁路馆为例,从上层走到下层就是一堆展板,上面写着各种宣传资料来忆苦思甜,有几个车站模型,有一个模拟铁路管控的大屏幕——也就这个有点新意。 通讯馆,船舶馆,cisco都有一定的排队,这几个馆也没什么有意思的展品,主要就是放电影。3D电影,360度电影,4D电影,各种先进的电影技术组成了一堆——电影院。我估算了一下,电影院基本就是排队的理由。一次电影大约是10分钟,可容纳100-200人,平均6秒一个人。一天最长的有效布展时间是46800秒,一天也就能接待7800人。浦西大约是50个馆,一个人去一次至少看三个馆,这样算下来浦西的接待游客数极限是13W人。如果考虑时间和场馆的非平均性,安全的接待人数不到10W。外推到全站馆,每日安全接待人数30W上下。 从内容来说,通讯馆是我最失望的一个馆,也许和我从事的行业有关。进门整了个ICT终端,但是完全没体现交互性,从头到尾就是作为第二显示屏来使用的。连最基础的投票的展示都没有做到,等于一个掌上电视。第六感这种超时代的Geek装置没出现就算了,最起码出现了两年以上的VR/AR技术应该有展示吧。也没有。 感觉整个浦西,与其说是一个世界先进技术和理念的展会,不如说是一个大的展板通道和电影院——付费而且需要排长队。作为佐证的,昨天我在世博园浦西区没有见到几个外国人,全是中国人。这不是向世界展示中国的展览,而是中国人自娱自乐,外国人趁机赚钱的狂欢。 三,科技应用不充分 这个问题涵盖整个世博,凸显了中国的特色和现状。照理说,世博是展示国家和城市科技和人文水准,展示自身实力的舞台。但是上海世博连最基本的,已经在中国广泛投入使用的一些技术都没有充分展示,实在是有亏盛名。 首先是公共交通系统。世博的公共交通系统使用电力车,听起来很先进。但是车在哪里,还有多久来一辆,车上还能容纳多少人,一概不知道。杭州早在一年半到两年前已经运作了公交查询系统,在每个站牌上都可以看到下一辆车还有多远,需要多少时间。从理论上说,计算车体重量来推测车上有多少乘客也不是太难的事情。也许有人觉得世博筹办的时候早在4年前,杭州还未运作这个系统。然而根据贝壳的搜索,世博的车上是带RFID系统的,就是信息不对公众开放而已。这简直是恶意的故意。 其次是RFID,沃尔玛已经大规模使用有源RFID进行盘货级管理,也算是已经工程级别应用了。即使考虑成本和人流问题,也可以在幼童或其他需要管控的对象身上戴上RFID设备。允许监护人通过短信精确定位人员位置。这个也没见着。 最后是排队问题。目前排队区前有需要排队多久的告示,这是一个非常人性化的举措,然而还不够现代化。从技术上,自动计数每个排队区的人数,队伍的放行速度,从而精确计算当前排队时间是很简单的事情。将这些数据汇集到中央服务器上,就可以知道每个场馆的热门程度。同理,入园人数的和各个园区门的排队长度也不应当定时统计,实时统计并不是一个无法解决的工程问题。 而地图服务已经是一个很大众化的服务了,对所有的游客提供全地图导航。如果有GPS还可以加入GPS全地图导航,并且以颜色显示场馆的热门程度,技术上有任何难度么?压力根本不是问题,可以使用多个缓存服务器以分钟级密度从主服务器同步数据,从而以冗余集群的方式提供超大规模服务。 以上理念的实施完全没有任何技术上或者工程的难度,然而世博举办方完全没有考虑这些问题。反而是采用了白菜方案,就是一堆名为白菜的志愿者,来填充本应属于机器的问题,这充分凸显了中国的特色和现状。在人力资源太过便宜的中国,使用技术来替代人力,节约成本并为用户提供更好的服务是没有前途的。王道是进一步降低人力资源成本,使用更多的人来替代机器。反正从成本说,每个人都只是颗白菜而已。

C10K的卡通解释

Jun 13, 2010 - 1 minute read - Comments

以前有一帮医生,帮一个城市看病。当然,医生少人多,政府就开始动脑筋,怎么样让医生给更多的人看病。 最开始是医生去病人那里看病的,医生花在路上的时间很长,于是成立了医院。让病人过来,节省医生的时间。当然,病人肯定比医生多的,这是整个文章的假定。为了保持原来的模式,病人到了医院后,会有自己独立的一间屋子,完全模拟在家的感觉。这样会有什么问题呢?问题在于病人独占了医生,在病人抽血,验血的时候,医生无所事事,因此效率很低。 后来转换了一个模式,医生过一段时间就离开当前病人,看看哪个病人那里空着就过去。这样的目地是为了防止一个病人拉住医生不放,将医生的时间平均分配到多个病人头上。这样的动作快多了,但是医院受不了了。原本8个医生,一人一个病房。现在8个医生要在N间屋子里穿梭,万一每个屋子里的病人都是在抽血,那这个N就会无穷大了,现在是屋子不足了。 然后又换了个模式,对不起,现在不是一人一间屋子了,是一堆人一间屋子。每个人只要一个床和一个病例记录,其他的设备可以有限的共享。这样屋子不足的问题得到了部分的缓解。问题是医生又不干了。一方面离开病人再找空病人费事又费精力,另一方面抢设备也是个困扰。医生需要设备的时候会让护士去看看,如果有就拿过来。可是两个医生一起下这个医嘱就会出问题,一个护士看看还有,回去说有,再去拿的时候另一个护士已经拿着最后一个离开了。就算是同一个医生,下这个医嘱的时候,两个执行的护士也会这么打起来。 医院方面动了动脑筋,干脆这样吧。一个病房里只能一个医生负责,多个病房公用的设备看到有就可以预定起来。这样病房里的设备是不会抢起来的,而病房外的设备先到先得,也算公平。医生在病人去抽血等等活动的时候再离开病人,而不是每隔固定的时间。每隔一个很长的时间护士会去巡房,如果医生还在被同一个病人纠缠,护士就会让这个病人强制休息。 不知道有多少人看懂了?下面是答案。 第一种模式叫做服务队列模式。医生是资源池,病人是待处理请求。这个模式的问题是请求过程中往往会有大量IO出现,此时CPU陷入等待,很不合算。 第二种模式叫做多线程。医生是CPU,病房是进程。一个病人新建一个进程,系统将CPU在多个进程间调度。此时的问题是进程对系统资源的消耗比较大。 第三种模式叫做多线程,医生是CPU,病房是进程,床是线程。每个请求新建一个线程,CPU在多个线程间调度。此时系统资源消耗的问题得到一定缓解,问题变成上下文切换和资源锁定造成的浪费。 第四种模式叫做协程。CPU只在必要的时候离开当前请求。什么是必要的时候呢?就是大规模IO之前。IO完成后,CPU会再度调度回来,这样避免了频繁的上下文切换。而在一个CPU的情况下,这样的模式不会造成竞争。(多线程模式就算只有一个CPU一样竞争,因为CPU可能在任何时间离开线程,包括原子操作内部) 沈游侠曾说过,好的构架是让瓶颈只出现的CPU上。当然,从更广义的来说是只让瓶颈出现在最紧张的资源上。显然,如果是服务器,CPU和总线带宽多数是最紧张的资源。

关于富士康,还有话说

Jun 11, 2010 - 1 minute read - Comments

无原则的高额抚恤会不会引诱员工跳楼?我觉得这个是无异议的。家里有困难的人为了家人往往什么都愿意做,大家可以想想看如果将抚恤金提高到1亿,家里有困难的职工们跳不跳? 因此不能无原则的抚恤。道义上看是好事的事情如果不谨慎,往往会酿成灾难。 劳动规定的问题。有个朋友说这要放英法美,怎么样怎么样的,实话说我觉得没什么可比性。要可比首先就要这三国和中国开放人口互通工作流动互通。一个劳动力相对不足的国家,工人利益就容易得到保证。而一个劳动力相对过剩的国家(实际上几乎是世界第一过剩),就没什么工人利益可言。 还是自杀率比较问题。上篇文章的核心观点其实是,如果富士康比周围工厂更加差劲,而且没什么力量阻止人员流动,那么员工就会跳槽,而不会自杀。而如果富士康周围的工厂也一样差劲,那么大家的自杀率应该差不多。 盼头。小猫对上篇文章说了一个悖论,差劲的工厂反而比好的工厂有更低的死亡率。因为差的工厂的工人会希望进入好的工厂,而好的工厂的工人已经无路可去。我在想,我要是去了google就会自杀?(当然,google已经不在中国了)结论当然是否定的。这个区别的潜台词是,制造行业的工人们,你们最好的出路也不能带给你们希望。 托管。郭台铭想把周边设施卖给政府,再租回来。想法不错,职工的生活本来就不应该企业完全包办,组织组织活动就差不多了。全包办下来的大包大揽模式我们干了几十年,最后还是自己给自己推翻了。 罢工。中国的工会是个摆设,这基本已经成为常识了。在这种情况下,工人还能组织起罢工,我在想到底是不是因为日子过不下去了。就是说,尽管从人力供给-生产需求的曲线均衡来说,当前失业率下应该有更低的工资,然而这个工资无法养活一个人。 涨价。中国劳动力大大过剩,似乎是个定论,然而是否真的过剩还得看本田将来的反应。风口浪尖上自然不会顶风作案,然而如果确实有降价空间,在风波过去后本田应该会有动作。如果本田继续风平浪静的生产,说明中国的劳动力并不过剩。 额外一点,20年后,我们会怎样。现在的社会是普通家庭+独生子女结构的混合,最年长的独生子女也不过30多岁。一个普通家庭大约是一个家庭供养两个 老人和两个子女,供养比例2:6。20年后,社会上的主要劳动力都是现在的独生子女,典型的一个家庭要供养四个老人和一个子女,供养比例大约是2:7。供 养比例并没有升高太多,而每个人可以多获得额外的资源。如果从理想情况来说,每个人的日子应该也还不错。当然,这只是从理想情况来说。 额外一点,医学的进步造成贫穷的社会。想想看无劳动力的老人平均寿命从80提高到120的情况。现在退休年龄已经在逐渐延长了,正是在对应这个问题。可是能延长到80么?80岁的老人还准备让他做什么呢? 额外一点,中国的医患关系。无中立的第三方监管,无公信力,造成医患相互不信任才是最可怕的问题。 贝壳前几天去看眼睛,觉得眼镜度数不对,准备重配。医生检查之后,做了一个荧光染色检验,检查是否有干眼症。其他检验(眼压,验光)都是先付款后进行,而且有明显的必要性。这个检验是先做后付款的,因为做的时候还不能让贝壳知道,而且从非专业人员的角度来说看不出必要性。如果从中立角度来说,难免有借机骗 钱的嫌疑。这个检验真的必要么?是不是在借机多收费呢?不过在验光时医师的话打消了贝壳的疑虑,他说,你的眼镜度数配的很准,不用考虑再配了。说这句话的 时候,隔壁就是这家医院开的眼镜店,我相信他是可以从眼镜出售中获得抽成的。这说明两方面问题,一方面医院开和医疗相关的盈利行业,很容易引起”是否必要”的猜测,从而造成医患关系紧张。而另一方面这个医师在我主动想配眼镜的情况下劝我没有必要,想必不会为了区区几块钱故意多做个检查。

关于富士康的几点

May 28, 2010 - 1 minute read - Comments

1.富士康群体自杀的称呼上,请别用第十跳,第十一跳称呼。这样会让人觉得他们生前是个数字,死了还是个数字。每个人都有尊严,都有自己的名字,请用名字称呼每一次自杀。 2.血汗工厂问题上,我不清楚,不发表意见。但是吊诡的是,如果只有富士康是血汗工厂,那么员工大可以辞职,死了挣再多钱也没意义。(不排除无法辞职强制劳动的可能,但是从现有资料中没有发现)如果全深圳都是血汗工厂,别的工厂又没有那么高的自杀率。所以一个推测性的结论是,富士康连续自杀问题和血汗工厂无关。(注意这不是对”富士康是否是血汗工厂”的结论) 3.是否限制最高工作时间?其实富士康应该严格限制的。从单位成本的劳动力价格来说,加班的劳动力价格比正常雇用高。因此通常只有”同一个人能产生较高的劳动生产力”的情况下,才考虑持续的加班。例如,两个程序员比一个程序员平均效率更低,因此软件界更倾向于加班。富士康的生产通常是无差别的,加班又支付加班工资。因此加班实际上是在高价购入劳动力,这是不合算的。如果富士康有意持续加班,我们只能解读为加班工资(通常1.5倍小时工资)比正常工资成本更低,原因未知。 4.企业是否需要对非劳动所致的自杀负责,显然是否定的。假定有个小公司,老板一人,员工一人,每天过来干点活,大家相处的很好。有天这个人非因劳动的原因自杀了(例如和家人吵架,在家里跳楼),老板被人拉住要赔偿,公司要负责?这个太荒谬了。我们现在已经不是国有大工厂时代,让企业负责员工的方方面面显然不可能。 5.企业对于自己场所的管理。无论是生产用的场地,或是无偿(其实是以工作为代价)提供给员工居住的宿舍,都属于企业的场所。对于这些场所,企业有保障在场所内人(包括员工)的生命和财产安全的责任。以富士康的情况来说,就是,富士康是否尽努力的去阻止员工在场所内自杀。如果富士康没有尽力(当然,实情我不知道),就是有责任的。 6.员工心理是否是个劳动问题。这个问题是个非常有争议的话题,因为劳动会极大的改变员工的心理,然而心理又不仅和劳动有关。这个请立法解决。 7.媒体管控问题。虽然我反对通常意义上的媒体管控,但是我赞同在这个问题上的媒体控制。对于富士康的报道显然会加重富士康员工的心理压力,促进他们继续跳楼。具体请查询自杀模仿。

在中国投资合法么

May 24, 2010 - 1 minute read - Comments

无论是法律规定上,还是现行现状,中国都允许私人进行投资。然而我们得反过来问,在中国投资合法么? 首先是一个罪名,叫做非法集资。我引述非法集资的几个特点,大家看一下。一是未经有关部门依法批准,包括没有批准权限的部门批准的集资;有审批权限的部门超越权限批准集资。二是承诺在一定期限内给出资人还本付息。还本付息的形式除以货币形式为主外,也有实物形式和其他形式。三是向社会不特定的对象筹集资金。这里“不特定的对象”是指社会公众,而不是指特定少数人。四是以合法形式掩盖其非法集资的实质。 在这个罪的认定中,二和四是句废话。没有承诺付息,傻子才投资,而投资总归是以合法的面貌出现的。关键是一三两条,未经有关部门审批,和面向社会不特定对象。诚然,投资经过有关部门的认定和批准,出问题的概率会小一些,然而这是计划经济,而不是市场经济。政府针对集资领域,真正应当打击的,是以非法占有为目地,以投资为手段,骗取他人财产的行为——那个叫诈骗。非法集资罪名的存在,使得资本无法自由流动。有多余资本的人想投资到一个被看好的项目上,他们不能绕过有关部门,否则这个项目就满足了“未经批准”和“不特定对象”两个条件。这样,就限制投资只能由少数几个人进行,或者投资到有关部门认定的项目上。 这条法律实际增大了风险投资的风险,或者说抑制了有活力的小公司成长的速度。通常风险投资的运作方式是,向公众(以美国法律为例,一个子基金不超过499人,原因是超过500人持股就要出现在财报上)吸收存款(这帮人的资产往往不是很庞大,但是远远超过普通家庭),然后混合投资在数个到数百个不同的项目和公司上。其中大部分的项目都失败了,但是成功的项目往往会获得数十倍到数百倍的收益。(以Google为例,我记得最夸张的投资回报是1500-3000倍。忘记是在天使阶段还是VC阶段出现的)这样,一个子基金往往会获得稳健的,高额的回报,同时还会催生出各种新兴公司。例如雅虎,例如Google。然而我们反观整个投资过程,发现他正好满足“非特定对象”的特征。那么有关部门不批准,这些小公司怎么办?这无疑是政府在主导投资。 在中国,变通的方法不是没有,一个子基金,由几个人(具体几个也不知道,只能去问有关部门,反正一个人应该是安全的)对一个项目进行投资(因为资本总量的限制)。成功就是成功了,失败就完蛋了。如我上文所说,这提高了风险投资的风险。 第二个是我国关于房地产的一个规定。凡是新房购买五年内出售的,要征收一定的税。这个规定的目地是打击炒作房地产。实际上这个规定推论其理论依据本身就是荒谬的。炒作房地产,是将资本投入到某个对象上,获得该对象的某种权力,并且等待权力价格上涨后售出,从而获得利润——这完全符合投资的特性。炒作房地产非法么?投资非法么?如果不认为投资非法,为何要打击呢?如果说房地产事关民生不能容忍投机,又为什么要通过市场流通和调节呢? 诚然,炒作房地产会榨取社会财富,形成财富聚集效应。但是其本身应当不违法,为什么要打击呢?这点我倒是很认同我党当年接手上海后,对应棉花煤炭炒作的手段。通过大量的运入和抛售,降低价格,导致恶意投资的破产(当然这里排除讨论一些刑法打击的手段)。同样,对应房地产炒作的手段,应当均衡城乡发展,东西平衡。加大房屋建造投入和保证房建设和分配,降低房价。如果这些手段短期无法见效,政府能够做的事情,也应该是,认定房地产建造和投资(主要就是买卖)过程中,是否有联合垄断价格的现象(就是所谓的反托拉斯)。 从上文两个规定和政策来看,我们的执政者头脑中,还是将投机倒把作为一种罪来认定的。这种罪不分投资的大小多少,凡是以资本方式介入,获得超过国家规定的利润,并且未经国家有关部门批准的,都属于犯罪。从政治层面上我们很好理解。我们是社会主义社会,因此不存在着压迫和剥削。而投机倒把正是一种压迫和剥削的方式。然而尴尬的是,我们的经济却是以市场方式运行。以市场方式运行的市场就需要一个再分配机制,将民众手中的资本集中起来,投入生产领域——这正是投资。一个市场方式运行的经济配上一个计划方式运行的投资,各种奇奇怪怪的现象就产生了。正如一个企业家说的那样——赚钱的不让投,让投的不赚钱。游离资本在正常渠道内得不到宣泄,就会以各种奇怪的角度宣泄出来。例如投资股市,投资资源(浙江商人在山西的煤炭投资),投资房地产——并且统统出了问题。 从更深层来说,我们的民众也认为,投资是一种原罪,其表现就是仇富(当然,仇富的原因不仅是投资,还有非法)。很难说政府和民众谁影响了谁,然而这种市场经济和计划投资分离的现状是不能持续的。持续的这种现象一定会催生各种问题,而且按下葫芦起了瓢,问题绵绵无期。

成人的童话

May 23, 2010 - 1 minute read - Comments

听故事不说话。 从前,有家人家有十三个兄弟(兄弟比较多哦),老大老二在大城市打工,老三在小城市打工,老四到老十三在老家种地。大家日子过的还不错。 有天,老大招待所有弟兄到家里做客,老二去了,看看,和自己日子过的差不多,喝杯茶跑了。老三看看,这日子比自己在小城市过的牛,想想也挺动心,不过自己日子也还可以,不想动,喝杯茶也跑了。老四到老十三一看,哇,比我们种地舒服多了。其中老四到老九动了念头,能不能也去城市里打工呢? 于是老四到老九兄弟六个,就跑到城市里打工了,而且大家一窝蜂的跑到了老大老二所在的大城市。本来住两个人的城市这下住了八个人,房租物价立刻上涨,工资却连连下跌,大家怨声载道。 老四脑子比较活,说,现在八个兄弟都堆在老大这里,那是比较麻烦。老三所在的小城市,地方更大,能不能分几个弟兄到老三那里去呢?那里物价比较低,工资却比较高,大家照样做工,东西运出来就好。 想法很有创意,可惜,老三所在的小城市没那么多工厂,也没那么多工作。因为首先,老三所在的小城市运输不便,运不出这么多东西。更麻烦的是,工厂问银行贷款,却贷不到什么钱。 兄弟几个一合计,老大老二说我们也挣了点钱了,干脆,我们出钱,你们去办工厂吧。我们算入股,回头给我们算点利息就好。另外再问老三借点钱开公司搞运输,运输问题也解决了。 但是这个方法也行不通,老四到老九没钱,老大老二有钱,可是借给他们就算私自融资,搞不好要坐牢的。法定做法是老大老二存银行,但是银行借给谁多少钱是政策规定的,老三所在的城市还是贷不到这么多钱。老四没辙,去老三那里自己开工厂的念头就压下了。 老大手里的钱没了去处,老大想想,这点钱放着也不是回事啊。那就干脆买房吧,反正这里这么多兄弟,不怕卖不出去。这一买地,房价就跟着上去了。老三也跟着买了点房。 老四要结婚了,问老大买房,老大按当时房价卖给他,足足翻了三倍。老大很满意,老四很受伤,就到处骂老大。老大也挺火,我好意接待你们,你们跑过来弄的我赚不到钱还东西又贵,我好容易投资个房子你还骂我。所以也开始骂老四。 骂归骂,老大还是得卖房子给老四,老二有房子,用不着。老四也没辙,为了保证耕地面积,政府限制盖新房,老四还是得问老大买房子。所以老四就问银行借钱,买下了老大的房子。银行本来不想借,国家说兄弟六个进城不容易,照顾照顾吧。 一照顾不对了,房价直线上升。国家看看情况不对,准备调控房价。银行不干了,说前面老四没钱你说要照顾照顾,让我借了钱。现在你调控房价,房价一跌,老四就破产跑人了,你让我亏这么多钱不是回事吧。 国家没办法,只能宣布,老大不许买了房高价卖给老五到老九,这叫投机倒把,要收5%的手续费。 现在十三个兄弟里有十二个在抱怨。老大抱怨政府不让卖房,还要加收他手续费。老二抱怨工资低物价高,过去辛辛苦苦赚到的钱现在什么都干不了了。老三过的还是挺舒服。老四抱怨自己赚到的钱全交给房子。老五到老九抱怨自己买不起房子结不起婚。老十到老十三抱怨兄弟们都在打工自己还在种地。 – 无能者无所求,饱食而遨游,泛若不系之舟

专业程序员需要掌握的几种语言

May 20, 2010 - 1 minute read - Comments

受到这篇文章(http://blog.youxu.info/fyi/21-days/)的启发,我突然想起对我所会的和要学的语言做个分类。确定一下专业的程序员到底需要会多少种语言。 1.系统类。只有C一个,必须学,而且需要在几个系统上编程就要学几次。学习系统类语言需要的是对系统结构和运行原理的了解,因此抽离系统的学习语法/抽象库/代码结构是没有任何意义的。 2.面对对象类。C#,Java等,推荐Java。构架方法优美大气,代码容易修改容易阅读,复用性好。然而做事上架梁叠屋,吃个馒头洗三遍手。可以学习构架方法,千万别学做事方法。 3.一门快速的脚本语言。Python, Php, Perl, Bash,各有特色。实际上如果你有空可以统统学一遍,非常有好处。快速脚本语言的特色就是整合其他代码和已经存在的东西,快速的构建出一个可用的程序。 4.一门语法抽象语言。目前只有Lisp和Scheme,推荐Scheme。这两种语言是在人工智能和符号推理的发展过程中产生的,因此对理解“机器是如何思考的”很有帮助。注意这两种语言的本质就是有限图灵机。 5.汇编。汇编语言种类太多,推荐80x86汇编。熟悉汇编语言对了解硬件和系统如何工作很有帮助,并且为查找系统内部(internal)的错误提供了便利。 按照上面的分类,程序员最少要会五种语言,我假定是C/Java/Python/Scheme/Asm80x86。C++不要学,那个是万恶之源。那么下面列举了我推荐的一些书单,可以由浅而深的学习这些语言。 1.入门,《21天学习C语言》《Dive Into Python》《80x86汇编基础教程》等等,这类书的目地是快速的教会是使用语言和语法。完成这个阶段的程序员可以找一些简单的题目做一下,但还不能独立完成普通程序的编写。 2.简单,《Think In Java》《数据结构与算法(Java语言版)》《设计模式》。这个层面基本涉及了数据结构,设计模式和编程方法。完成这个阶段后,可以找几个实际项目玩一玩了。 3.普通,《操作系统:设计和实现》《Unix系统编程》《windows核心编程》《TCP-IP详解》《Effective C》。这个层面涉及了系统运作原理和细节。完成这个阶段就可以写一些系统工具了。 4.阅读,《Python源码剖析》《深入浅出MFC》《Linux内核完全注释》。这个阶段注重阅读和积累各种代码经验。 5.专家,《计算机程序的构造和解释》《计算机程序设计艺术》《MIT算法导论》《数值算法》。通过前面的学习,普通程序编写应当已经不成问题。这个阶段面对的是将实际问题抽象成数学问题后,试图从数学上进行解决的过程。从此以上,就是数学的领域了。

小公司在IT上容易犯的几个错误

May 19, 2010 - 1 minute read - Comments

很多同学现在自己开公司,或者有开公司的计划。公司都是由小做大的,万事开头难。小公司由于成本和规模的限制,IT上很多问题是不得已的。例如没有自己的网管,没有保密规定等等。然而注意以下几个低级错误,从IT从业人员角度来说,这些是绝不应当发生的低级错误。数数看您那里有几个? 第一,无线不设密码,或使用WEP加密,或公开SSID。 这是任何称职网管的第一禁忌。WEP,公开SSID,相当于弱无线网络。通过嗅探方法,别人很容易获得网络上传递的重要数据。不要以为谁会来关心你的数据,除非你有把握把公司里所有资料晒到网上也没问题,否则还是小心为妙,出问题再补救就太晚了。具体看前面有篇《无线网络安全问题》。 第二,使用hub而非交换机。 技术角度不说了,造成的问题和上文一样。这两个问题,只要请一个称职的网管当顾问,帮你进行一次规划就可以避免。惠而不费,何乐不为。 第三,一个隔间只拉一根网线,或者只有一个电源头。 兄弟,后期搞不好隔间会坐满的。就算没有,万一坏了呢?马上找人修理?起码两个隔间三个插座/网口。一个是方便损坏后替换,同时也方便新添电脑。 第四,雇新手当网管,没有公司内服务器。 相信我,找个靠谱的网管偶尔来几次,其他让行政接手,比找个新手当网管便宜又实用。你需要的是不会出问题,和出了问题能处理的人,而不是价格低廉却在发生问题时手足无措的菜鸟。 同样,让每个员工自己发布共享文件,大家互相访问,打印机在需要的时候搬来搬去。这是最没有管理的公司做的事情。一旦员工多于三人,找台电脑做服务器。共享文件,处理打印,跑个论坛什么的,比扁平而混乱的管理强。 第五,成批购买电脑。 对于大公司而言,一次购买上百台电脑只是公司内的一小部分。如果这些电脑出问题,不会引发大的赔偿问题,也不会造成公司停摆。但是如果一个小公司一次购买同型号的电脑,或者从同一个供应商那里进货太多。那么万一出问题,不说固定资产损耗。公司停摆造成的损失也是惊人的。 第六,弱邮件系统。 如果公司邮箱在发送和接收时没有启用SSL或TLS,会导致员工在其他网络中接受邮件时内容泄密。如果使用webmail,也要注意全过程需要有SSL。最好的办法是让网管尝试嗅探攻击一次,如果拿不到内容,邮件供应商就是过关的。另外,即使电子邮件供应商过关,邮件在传递途中也可能泄密。因此对于极密级的东西,rar加密打包后发送,密码另行传递。 第七,过份信任电子邮件效力。 也许有人不知道,“电子邮件无法篡改”只在公司内被认可,拿着企业电子邮箱和其他公司或离职员工打官司是没有效力的。因此,如果需要无法篡改的内容,请用纸。 第八,太短的员工密钥。 如果您的系统很安全,然而员工设定的密码为1,这等于一个最不安全的系统。因此,强调员工密码的安全性,加上密码设定时弱密钥检查是一个很好的方案。 第九,员工自己持有文档。 文档是企业的重要资产,因此整理和保存文档是公司的责任。让行政部的人跟踪每一个应当保存的文档,不要在员工离职后打电话过去要人帮帮忙看看三年前什么什么文档是否还在。 第十,不分机密级别。 小公司对于机密的规定无法太严格。但除非所有人的机密级别一致,否则一旦区分普通员工和经理,起码将文档划分成涉密和非涉密。不要让普通员工接触涉密文档。 第十一,过分神化IT。 有些小公司过于追求现代化,上班用ERP和OA管理,销售用CRM管理,交流沟通走论坛化。何时采用IT系统管理是一个复杂的问题,但是过早追求IT化会对公司发展造成不利影响。实行IT化是有成本的,仅在你需要的地方进行实施。 第十二,有极密的内容,没有极密的渠道。 回想一下,你们公司的报价是怎么传递给一线员工的?服务器密码呢?公司银行账户呢?对于最高机密的内容,没有合适的传递渠道是不行的。QQ,MSN之类的IM工具机会百分百的会导致泄密,对于嗅探和查看记录他们没有任何抵抗力。短信和电话也是不行的,虽然很困难,但是还是可以窃听的。电子邮件在附件中放一个加密的rar文件,并且提前约定密码,是个很好的方案。

无聊的测试

May 11, 2010 - 1 minute read - Comments

现在有很多智商测试,有一类题,上面有一些数字,让你填写下一个是几。然后现在题目越出越变态,其实这种问题根本不是在考察智商,而是在考察常识。不信?我出几个你做做看? 数列-0.2,-4,-18.8,-50,下一个是多少? 答案:-105.4 原因:这是表达式-1 * x^3 + 0.5 * x^2 + 1.7 * x - 1.4在x=1,2,3,4的值,x=5时为答案。 做死你吧?还有更变态的。 数列29879,29917,29927,29959下一个是多少? 答案:29989 原因:这是30000以内的最后几个质数,隔一个取一个。 晕了?这还不是最难的呢。 数列15, 46, 78, 71, 74, 44, 81,下一个是几? 答案:54 原因:这是python的random模块,在seed(100)时产生的1-100随机数序列。随机数本质上是一个大的S盒子,通过K*prev mod N的产生余数序列。要求答案并不需要100,只需要最后一个数和KN。而通过上面的序列可以大致推算出一对正确的KN,任何满足上述算法的答案都是正确的。 够变态了吧。这可不是你智商不足,而是你知识不足。 我们反过来想一下,如果某人,假如Isaac Newton,或者Leonhard Euler,Bernhard Riemann。他们能答出多少?也许第二个有希望――有些变态数学家真的能背出很多的质数。第一个――唔,考虑一下也有戏。第三个就算了吧,他们不是程序员。然而,他们远要比我们聪明。那些不知道三次方程概念,导致没法答第一题的,一定比答出来的笨么?那些不知道质数概念,导致答不出第二题的,真的就比答出来的笨么?那些不知道S盒概念,导致没法答第三题的,就一定比答不出的笨么? 这是一种偏见,你知道的越多,越聪明。

杭州游行程记录

May 5, 2010 - 1 minute read - Comments

早上9点,在上海南站集合上动车,中午10:50就到了杭州城站火车站。上二楼打车,可以免排队坐到出租,到中山北路体育场路的旅馆。离浙报很近,我以前经常路过的。check in休整后,11:40从旅馆出发前往西湖断桥残雪。 根据gmap,本来可以到武林广场东坐Y1到断桥的。不巧,过去的时候Y1正好改线。据说了断桥那里很堵,而且距离只有一公里多点,不算远,就干脆走过去算了。沿着白堤,顶着如织的游人,我们走到孤山路的楼外楼吃午饭。运气很好,六人的大桌预约的不多,我们不到10分钟就等到了座位。点了东坡肉,西湖莼菜汤,西湖醋鱼,响油鳝丝,白灼芥兰,片儿川等菜,大家基本吃饱。人均57左右,还不算太贵。下午14:15分出门,沿着北山路到苏堤接着逛。 我们找了一圈找不到手划的小船,只能上了一条人工划的大船。价钱是120一圈,上岛一小时。我们算算不划算,还是让他划一圈直接回去算了。回到苏堤继续走人,没碰到醉春亭的隐藏Boss大叔,倒是碰到了个拿着喇叭播”霓为衣兮凤为马”的家伙。苏堤都快赶上上海地铁三号线了,什么人都有,人才济济啊。绕过花港观渔,到雷峰塔看夕阳西下。注意5月1号前后杭州地区日落时间是18:30左右,而不是我查的洋泾浜网站给出的5:15,害老子在塔上白等。往前走两公里多,到四眼井那里的青年旅舍,有一家叫”江南驿”的旅舍,饭很赞。开始去的时候还碰到老板说东西卖光怕要没的吃,最后叫号,有个人实在顶不住走了,我们才排到位置。叫了酸菜土豆牛肉,油焖茄子,麻椒鸡等一堆菜,人均才三十出头。菜量不小,东西也不错,不过是自助的。 晚上宾馆还停了一次电,闹的我们兵荒马乱。被迫用笔记本调到最亮作为光源,洗了一次此生难忘的战斗澡。 第二天,我们7点起床吃饭,结果拖到8:40才上了Y5。沿着体育场路,曙光路和杨公堤开过去,一路风景很好。下车,正是昨天吃饭的地方。继续往山里走,就到了满觉陇和翁家山,一路风景很赞。过了翁家山就是下山路,下面是龙井茶园和龙井村,我们觉得没意思就没进去。路过双峰的时候,看到旁边的茶楼是建在沼泽地上的小桥,风景幽雅。不过没进去,还是到的丁家埠吃的农家乐。东西很好吃,吃到翻过来,不过价钱也不便宜,一个人大概要50。 下午比较热,到2点多我们才慢慢出门,坐Y3到岳庙的KFC吃点甜品消暑,出门再坐K7到火车站旁边的上岛咖啡等火车。晚饭在火车站大厦的外婆家吃的晚餐,还是一贯的价格便宜量又足。不过恰逢五一,以前常在那里吃,从没看见那么可怕的火爆场面,排队等座就等了45分钟。上菜倒是很快,东西还是一样的不好不坏。 要点,去健行的记得带遮阳的帽子和一条小毛巾。小毛巾缠在手腕上,可以擦汗降温,不容易中暑。进山前要带一瓶水,自己喝,也可以倒一点在毛巾上散热。住的酒店不好要记得带牙刷,容易中暑记得带风油精。对皮肤很在意的MM千万记得带强力防晒霜,城市里用的那种大路货没用,要用很粘稠的那种,不容易被汗水化开,否则一擦就没了。一定要带一台GPS手机,基本免去没人问走错路的尴尬。