Shell's Home

程序员入门的12个问题

Aug 3, 2008 - 1 minute read - Comments

以下题目是应一个朋友问而写的,适用于刚刚入门有志或者有需要做程序的朋友的题目。题目脱胎于日常编程中常见的一些问题,很多是贝壳实际碰到问题的变形。题目不注重所用语言,每道题目可以用不同语言解决。有意思向计算机方向发展的可以试试用不同语言来解决,看看哪种语言最方便解决这种问题。如果打算增加难度的话,请使用C++来做,并且尽量抽象复用。在这个过程中积累下来的可复用代码会对以后编程有很大帮助。 1.读出文件中的以下格式内容,计算逆矩阵,并按照同样格式输出。 1 2 4.5 3 0 1 9 5 2 数字间以空格分割,行以回车分割。 难点: 输入和输出应当可以选择是键盘输入还是文件输入,输出到屏幕还是输出到文件。 逆矩阵计算中有可能求不出,出现除零。设法避免直接的报错。 评价: 很中规中矩的一个问题,有点竞赛的味道。只要做过程序的人一般不会失手。 2.某个XML,其中记录了一些信息。信息是按照时间-地点-人物的顺序记录的,例子如下: … 现在需要你颠倒一下,变成这样的: … 难点: 看看能想出多少解决问题的方法。 试试尽量减小内存消耗。 评价: 解决问题的方法很多,比较一下这些方法的优劣。 有一年以上程序经验的就可以最终解决,但要解决的比较完善需要两到三年经验。 3.下载google的首页,跟踪二级连接(二级连接,就是首页中连接指向的页面,上面连接指向的页面)。 并计算其中所有页面,显示出的非空白字符的个数。(显示的文字中的非空白字符) 难点: 试试看跟踪js脚本链接。 登陆后的google首页是不一样的,包括提示,语言类型,设法统计登陆后的首页。 如果是多级呢? 评价: 宽度优先和深度优先算法的应用,对集合运算有一定要求。 重点在于获取和处理html页面的方法。 一年以上即可解决,完善程度和技术水平关系不大。 4.运行两个程序,A和B,将A的输出输入到B中。 难点: 需要等待A的输出和B的输入,以及程序的终止条件。 评价: 需要对系统熟悉,知道管道和用法。知道进程间交互的API。 需要研究过系统,程序水平没有要求。 5.遍历某个目录,找出其中的特定图片文件。 难点: 怎么分析图片文件?文件名是比较粗略的方法,更好的是使用文件签名分析。 下次遍历的时候速度怎么提高(假定文件不变化)。 评价: 还是深度和宽度搜索题目,分析文件是难点。 扩展要求对于数据缓存有一定要求。 一年以上即可解决,文件签名分析看个人水平。 6.监视某个目录的变化,将新加入的mp3的相关信息(IDv3)邮件发给我。 难点: 怎么监视目录变化? 怎么提取MP3的内容? 怎么发邮件? 怎么保证不漏内容。 评价: 要对系统熟悉,了解mp3格式或者能够自行寻找库扩展语言。 了解邮件发送协议,或者能使用系统库发送邮件。 两年以上可解决,完善需三年以上水准。 7.写一个程序,可以计算加减乘除,支持括号。 难点: 让你的程序算算1+2*3,看看是多少。正确应当是7,设计不良是9。 看看你的程序,2/6*3得多少,是不是1.0(最好是1)。 让你的程序设法支持乘方和函数。 评价: 对数据结构和算法要求很高。 一年以上可解决,要扩展支持算符和算法,需要三年水准。 8.画一只乌龟,保存为图片。

avast4 collide with ext2ifs

Jul 31, 2008 - 2 minute read - Comments

引用 Affected Product: Avast4 home edition ext2ifs 1.10c ext2ifs 1.11 Description: avast4 home edition is a free anti-virus tools. In 2008-07-30 it update some files, include some file called ‘aswSP.sys’. According infomation in autoruns, it’s avast self protection module. [Here is info from autoruns.] aswSPavast! self protection module ALWIL Software c:windowssystem32driversaswsp.sys [Here is info from update-log] 2008-7-30 7:36:14 file Direct move of file: C:Program FilesAlwil SoftwareAvast4SetupINFAMD64aswSP.sys 2008-7-30 7:36:14 file Installed file:C:Program FilesAlwil SoftwareAvast4SetupINFAMD64aswSP.sys 2008-7-30 7:36:14 file Direct move of file: C:Program FilesAlwil SoftwareAvast4SetupINFaswSP.sys 2008-7-30 7:36:59 system Reboot set by changed resident C:WINDOWSsystem32driversaswSP.sys 2008-7-30 7:36:59 system Driver file copied: C:WINDOWSsystem32driversaswSP.sys If u use ext2ifs in system for share date with linux, it’ll cause system crash with code BAD_POOL_CALLER.

今天25岁

Jul 16, 2008 - 1 minute read - Comments

今天贝壳25岁了。 前两天时间紧,赶快找两个人吃了顿当过25。今天早上起来,就收到了六牙四皂小姐的恭喜。这一刻,我总算了解她收到我一堆废纸当生日礼物时的心情了。路上第二个过来,是老妈的。到公司,兔子姐的第三个来了。然后,贝壳把名字改成了今天25岁。猫小姐的第四个和蛆小姐的第五个也来了。才五个,还有两个是提醒的,好失败。 不过无论如何,还是谢谢上述人,在我不长的人生中,还有你们记得我。

新种病毒出现

Jul 10, 2008 - 1 minute read - Comments

有新种病毒出现,大家当心。 病毒症状如下: 有MSN好友给你传一个网址,如同http://[用户名].imagecroco.info/。(贝壳注:现在已经被Mozilla列为欺诈网址)当浏览后中毒,会继续给好友发送网址。发送网址时用户离线,发消息用户不回复。中毒用户提示已经在另外一个地址上登录。 机理估计如下: 当你访问网站时,会被要求输入用户名或密码。或者被挂上马,等登录时被套出用户名和密码。当你不使用时,服务器会自动使用你的用户名登录,给你的好友发送病毒。如果不修改密码,即使本机清理病毒或者设置名称提醒也未必有用。

贝壳房里的澡堂

Jul 9, 2008 - 1 minute read - Comments

贝壳住的旅馆,屋子的中心是一个浴室。透明玻璃的…… 六牙四皂小姐已经参观过了,评价是很华丽。

是我太无知,还是世界太疯狂

Jul 8, 2008 - 1 minute read - Comments

刚刚在用电脑,突然听到空调咔咔狂响(没错,不是硬盘),然后从里面飞出……一块冰? 我知道沈阳很凉快,不用这么提醒我吧。 是我太无知,还是世界太疯狂?

沈阳记一兼我还活着

Jul 4, 2008 - 1 minute read - Comments

同志们,我还活着。最近项目不断,贝壳来了走走了又来,先是烟台,回上海修养两天再回烟台,然后回上海救火两天,连公司都没回去报销又来烟台,刚刚搞的差不多又来沈阳。下面据说还有上海和烟台,貌似奥运前是没完了。 而且烟台的网络状况急转直下。本来速度快的跟鬼一样,现在报社上网要用代理,每次打开个页面就要点一次密码确认,点记住密码也没用。这种情况下速度根本没意义,宾馆则是慢的跟鬼一样。然后……贝壳就光荣的断网了。 祸不单行,贝壳在7月1日接到了移动的通知,说话费只有14元多,记得充值。贝壳想,哦,也能用上一些时间了。谁知道第二天就断网,这才想起来移动的话费是第二日过的。然后紧急找人充值,却被告知因为欠费无法充值。然后贝壳要和客户联系,要用飞信帮人测东西,要收的通知,移动上网看blog……全部没了。最要命的是,我马上要出差沈阳。 贝壳到了沈阳,打车到位,一点不差,真的是运气。否则喊救命都不知道喊谁了。第二天,找个地方充值,总算把手机开开,谁想到刚开就用到了。我说要去故宫旁边的如家七斗星酒店,结果混蛋司机给我拉到了故宫旁边的如家酒店。下来才发现不是,回头找司机没影了。幸好这个时候,手机已经可以用了。于是我打开Moto A1200r,接入中国移动GPRS网络,使用Google Map手机版,很容易的找到了当前位置。(贝壳注,以上不是广告,当然和周XX的大XX里面那个MXXX和移XXX的XX更不一样……)。走走两分钟就到了,作为手机地图来说,这算是立了头功了。

招行的一些数据

Jun 14, 2008 - 1 minute read - Comments

银行的平均窗口服务效率是每人4.5分钟。 普通窗口队列长度是62人(周五14:20记录),三个窗口,等待时间90分钟。 金卡窗口队列长度是10人(同一时间记录),一个窗口,等待时间45分钟。 普卡/金卡比为6.2:1,即存款在5W以上的人占总人数的13.89%。 存款结算时数据为存款利率86.14,但总资产计算时利率只算了86.13,出现一分误差。 以上。

关于捐款的问题

May 22, 2008 - 1 minute read - Comments

上次贝壳已经给捐款不痛快过一次了,这次还是得继续不痛快。 首先是一条低调的新闻,网易终止与红十字会的合作,据说原因是”过程无法监控”。作为一个慈善机构,过程和结果无法监控,在发达国家(好吧,成熟国家,省得犯了某些人的讳)是不可想像的。网易为什么要提出监控,红十字为什么不给监控,这个就要说到善款的结算过程和意义,以及当前中国非政府组织的现状。 已经上班的朋友可能知道,我国有两种税征收方式,连带征收和查账征收。查账征收中,国家会检查企业的出入账目,计算企业盈利,并从中抽取企业收入的一定比例,这个就是所谓的增值税。如果您不小心亏本了,或者打平,那么是无需纳税的,这个很合理。总不会说亏本继续纳税吧。企业怎么减小增值税呢?主要是购买各种东西,当然是生产过程所需的东西,这些东西会计入成本(因此出差报销需要发票,因为这些发票代表着出差这个东西的成本)。如果企业收集很多发票,做帐做到打平,不就可以节税了么?事实没这么简单的,每个企业都有所谓的总支出,而总支出是无法作假的。因为一般的发票(餐饮,手机等一般人能搞到的发票)在总支出中占的比例不得大于一定的值。换句话说,做300W的生意,如果花45W作为餐饮花费是合法的,如果花100W,那就只能按45W报账。而其他发票可不是一般途径可以搞的到的,毕竟上游厂商也要开增值税发票,从源头的1元成本增值到100元产品,增长的99元里面的税收,不是落入上游就是落入下游,大家商量着来吧。从此意义上说,捐款(尤其是企业捐款)开具发票和财务透明就尤其重要。我举个例子。 例如,你是一个企业老板,做的是把一种东西买进,加工,然后卖出的生意。东西的成本是8元,加工的成本是2元,卖出去是15元,其中渠道和营销需要2元成本(原谅我用这种很白痴的例子),那么每个东西的净盈利就是3元。国家按照34%收税,简单点我们说税收就是1元(其实例子中还是有问题的,渠道成本超标了)。那么你每个东西纯利润就是2元。好,现在,你打算给灾区捐款,捐300(原谅我这种白痴比喻)。那么我们说,理论上你卖100个东西够么?不够!为什么?因为你要交税。你的纯盈利是3,可税交好就变2了,因此你要卖150个才够。 哪里有这种事情,我做好事还要缴税?这不是强盗逻辑么?所以一般企业捐款都要求开具发票,证明这笔钱是捐掉的。这样国家会把这笔钱计算为成本,不会让你交这种税。可如果捐款不给发票,那事情就有趣了。我做好事,还要缴税,而且很重。而且谁能开具这样的捐款发票呢?如果人人能开,那么好,我当场开个NGO,说是慈善,然后把企业盈利全部捐掉。这样我的企业永远打平(甚至可以亏损,享受国家补贴),然后钱还在我自己口袋里面。因此可以接受捐款的慈善机构也不是说开就能让他开的,否则会成为大企业的避税所。一般情况下,一个NGO如果要开,必须要公开账目,而后获得国家认可。公开账目是获得国家认可的必要前提,如果账目不公开,国家不会认可的,否则就会产生偷税。而中国的现状是,即使开慈善组织,账目公开,也很难获得国家认可。大家只能把NGO注册成公司,给工商界开一般营业发票,然后上税。因此大家捐款只能捐给红十字会,而他的账目却是不公开的,因为你没别的选择。 而且账目不公开会产生一个更混帐的后果。如果说前面一个只是不合理,那么这种可能就只能说是混帐加没人性。那就是贪污。我们捐100,NGO提取50%(或者更高)作为运作成本,然后剩下的发给灾民,对外宣称全发了。因为你根本不知道自己捐多少,自己拿的是多少。例如,你自己捐了100,你知道你的朋友捐了500,那么如果这个NGO说总数捐了1000,你怎么知道是不是真的只有1000呢?如果公开账目,你可以核对你的捐款是否在里面。很明显,如果不在,这是有问题的。如果在,而且每个捐款人的款项都在,最后的这个总数一定是正确的。发放也是同样的问题,如果公开发放账目,你可以看你拿到没有。如果有写没有拿,这是有问题的。如果每个上面写的人都确认收到了后面的款项,那总发放数也一定是对的。而后,我们通过总接收和总发放可以算出一个组织的组织运作成本。如果有大量的善款被消耗了,那么我们就可以说这个NGO是有问题的,我们会更换NGO捐款。而造成这种高消耗的最大可能就是贪污。同时,我们也可以计算出NGO的其他问题。例如,一个NGO的工作人员拿2W去买药品,他和药品供应商很熟悉(这个情况很普通吧)。所以让他们给1W的药品,开2W的发票。实际上就是给2W现金,开2W发票,给2W药品。1W给红十字会,1W实体药品自己拿回去分掉。公开账目后可以发现,这种情况下药品价格会比正常价格高一倍。如果说为地方增加产值后,自己贪掉一部分的贪污是某种程度上是可以接受的。如果说尸位素餐,人浮于事的贪污是让人痛恨的。那么拿灾民的带血的钱的贪污就是不可忍受的,伤阴德的。更粗俗的说,生儿子没屁眼。也许,我们的红十字会账目不公开有其他理由。也许,我们的红十字会大量提留是有其他原因。然而,你这个样子,让我怎么相信你? 最后就是关于捐款的数目。有人骂姚明捐的不够多,好,我想最好的方法是这个人站出来。我们计算下姚明同志的总捐款额度和拉到的捐款额度,比上全年除税总收入,再计算下你的总捐款额度和拉到的捐款额度,比上全年除税总收入。如果你高过姚明,我们随便你骂。捐款这种东西,要骂可以,站出来。我不反对攀比,我反对的是说别人捐少了,自己却不多捐。不过估计这些人也有郁闷的理由,据说国家政府机关是摊派捐款,有个银行每人要1000多。这些人估计就是这么郁闷出来的。

关于地震的预报

May 17, 2008 - 1 minute read - Comments

贝壳这几天一直在关注地震的事情,其中经常能听到一个消息,其实地震前已经有了预测,只是因为奥运压了下来。而后贝壳在youtube上找到了一个视频”小动物曾经给予我们的警告!!(四川电视台新闻视频 )“,是关于10号在四川电视台播出的新闻,其中就有大量出现蟾蜍的解释。这个事情让贝壳觉得很惊讶和伤心,莫非上万的人命不及政治任务?不过今天,贝壳在wikipedia上找到了这个事情的全面分析,可见wikipedia也不是全无是处么。 2008年5月10日,四川绵竹市西南镇檀木村(距离震中不到100千米)日前出现了大规模的蟾蜍迁徙,有数十万只蟾蜍在一制药厂附近公路上行走,但当地林业部门解释称,这是蟾蜍正常的迁徙。地震发生后,有网民十分激动,并留言指责“专家还不如蟾蜍”,而有动物学家亦认为,“动物感受地壳变动的能力较人类敏感,因此它们能预知自然灾害也不足为奇。”。但是经过网民搜索,发现蟾蜍大规模迁徙现象曾在2006年4月于重庆、2007年5月于河北唐山、2007年9月于山东临沂、2005年7月于吉林长春、2008年5月于江苏泰州、2007年4月于四川成都等全国大范围地区多次发生并被报道,完全不于地震相关,应属一种自然现象。 OK,上面我们可以看到,有这个报道是不假,可出现现象和发生地震间不正相相关。要是出现一次防震一次,的却非常麻烦。所以这次的事情,可谓事出有因。我们也可以想像一下国家的立场,如果确认有地震,跑不掉躲不开,那为何不报呢?一方面避免了人员财产损失,一方面展现了高科技,一方面还不会给奥运带来麻烦。所以我估计最严重是国家并不确认地震,因此为了奥运而不做可能性的防范。 不过由此我到想到一个关于地震预报上的缺陷。大家知道,我们国家很多事情是领导负责制。好不好,看领导。事情做好了固然领导有很大好处,可出问题领导也会倒大霉,因此很多人不求有功但求无过。唐山地震的反思中就有消息说其实地震前已经有了现象,可是领导对于不确定的东西不敢报,怕负责。毕竟地震这东西谁都说不好,就算我们看到各种景象,可万一不地震怎么办?对于地震这种问题,领导负责制是非常荒谬的。但是如果没有一个制度去平衡,恐怕我们又会陷入另外一个极端。地震局一有情况就报,也是怕负责。那我们会陷入漫天地震预报,就是不见地震的情况下。 对于这种情况,实话说贝壳也没有什么好的想法。不过如果让贝壳做选择的话,贝壳还宁可听到一堆未必发生,也不愿意听不到将要发生。大家可以想想,你是愿意多听几次下雨没碰到呢?还是愿意下雨前完全没预报呢?