Shell's Home

公司的导向

Jul 18, 2013 - 1 minute read - Comments

客户导向 最初级的公司,是基于客户导向的。所谓客户导向,就是“客户要什么我做什么”。 从服务型公司来说,这也没什么错。但是IT界挣钱的主要秘诀是边际成本递减效应。同样开发成本,如果一家公司用,也许要亏本。但是100家公司用,不但价格大幅下降,还能海赚一票。因为从第二家开始,就没有了研发成本,只需要营销就好了。这就是复制的边际成本递减效应。而基于客户导向的公司,很难做到边际成本递减。为了一个客户的需求,不得不委曲求全,在产品里面反复做出修改。 也许很多甲方在这里会不平。“我提要求有什么错?”,“我出钱的!”。是的,从甲方角度,这些都是合理的。甚至从服务的角度,有这些也是好的。然而从产品角度,对各种业务场景(尤其是非预想的业务场景)的适应,会严重冲击核心系统,造成维护困难。明明90%的客户只用10%的功能,但是还是要维护所有功能。而且每次修改一点功能的时候,都要大幅动全身。由此,不能将第二家客户的研发成本压到最低,导致边际成本递减不下去。 在技术导向公司内,最“明星”的职位是项目经理。他需要负责项目的前前后后各种方面,并且直接关系到项目是否成功。公司离开任何一个程序员(甚至包括老板)都可以运转,但是离开项目经理,目前他正在做的项目就无法完成了。话虽如此,大部分项目经理的日子过的也很苦。因为客户并没有什么特别的理由需要选择你。多个项目组竞争的结果就是低价开发和高价维护策略。 大部分的客户导向公司,在开发系统的时候往往会采取低价策略,有的时候甚至会亏本。然而在维护和后续开发的时候,会提出各种加价要求。因为客户一旦采用系统,就很难将原有系统直接切除。因此反过来,客户往往在提出需求的时候,必尽必全,力求毕其功于一役。这反过来加剧了系统共性提取的难度。 大多数老板对客户导向的问题一清二楚,所以很多人都想做产品。然而不是每个人都能成功的做出产品来。东西不够牛,在营销阶段客户就会选择定制性更好一些的公司。最后为了抢客户,从市场导向沦为客户导向,从把握客户变成被客户把握。 市场导向 市场导向的公司比客户导向好一些。他们提出客户中共性的部分,做到最好。由于他们是最好的,因此只做一些小的改动就可以迎合大部分客户。由此,他们可以在市场中尽情的攻城略地,日进斗金。客户导向的公司无论是在成本上还是在口碑上,都无法和市场导向公司相竞争。 能够完成市场导向的核心在于两点。首先是对客户共性的把握。如果不能把握客户中具有共性的部分,就无法开发出通用性的产品。其次是产品的易定制性。无论产品的共性多强,定制还是无法避免的。如果不能将定制隔离在产品主线之外,就又会沦为各个厂家的代工商。 市场导向公司往往会采用“封装层二次开发”的手段来实现上述两点。首先基于客户的共性需求开发出一个基础平台,然后在基础平台上做第二次开发。甚至由于二次开发技术要求低,利润率低,因此往往会被外包出去。 在市场导向公司里,最“明星”的职位是产品经理。由于不能盲从于客户的需求,因此产品经理必须了解客户,从客户的共性入手,提取需求,引导客户合理使用。 然而市场导向和客户导向的边界并不明晰。有的时候产品推出的时候预定是市场导向,封装层基础平台做的有模有样。但是在卖到一半的时候就开始狂改封装层。到最后一次开发量比二次开发还大,产品彻底做成一堆项目。这就滑回了客户导向。 营销导向 营销导向的公司常见于公众领域。他们做的是“谁都会做”的东西。但是通过群体营销手段,将这个东西推广到上千万客户面前。从而取得巨大的效益。营销导向公司的特征是市场预测和营销费用异常的高,有的时候干脆干的就是转手卖营销的勾当。 从技术上说,任何东西要做大都是有技术难度的。因此营销导向公司在做到一定规模前异常的轻松。基本上可以想像成拿现成的系统改一改,招几个人负责运营,然后狂打广告,最后坐地数钱。唯一的难点,就在这个狂打广告上。谁的广告,如何打,如何尽量少花钱多出名。这里有无数讲究。 然而一旦超过一定规模,就会立刻出现瓶颈。同时在线用户数无法增加,系统bug不断,经常崩溃。冯大辉说过一句,技术的作用在短期往往被高估,而在长期往往被低估。其中后半句在这种情况下异常显著。 当然,并不是所有营销导向公司最后都会死在技术上。有些公司有足够的远见,或者运气很好。在问题出现前,就开始策划和解决技术问题。这些公司往往在经历几次阵痛后,转型为了半营销半技术公司。甚至有些公司在主营业务之外,也把他们的技术服务卖给其他公司。 技术导向 技术导向的公司比市场导向更加强一些。他们追求的是“人无我有”。通过完成其他人短期不可模仿的功能,造成市场上没有其他选择的局面。只要你想用类似的东西,就只能找他们。 技术导向的公司必然是以程序员为导向的。也只有基于技术的公司,才可能真正善待程序员。甚至其中一些核心成员经常需要谈到分成或者股权,期权。逻辑很简单,如果某种技术只有一个人可以搞定,老板自然不希望这个人从手里流失出去自己单干。他必须提供和单干差不多的福利(当然,是去除经营的风险后)。 具体提供分成,股权,还是期权,取决于技术的“保质期”。如果技术在短期(半年或者更短)内是不可复制的,但是一定时间后必然可以复制。那么一般是提供分成。如果技术成员需要为公司的长远考虑的,或者技术在长期(一年到三年)是不可复制的,那么一般提供股权期权。三年以上不可复制?这种神人一般都被大公司当宝一样供起来了,你没机会见到的。 产品导向 产品导向是个奇葩的情况,一般很少见。只有对产品理解到一定深度,同时公司大到一定程度时。才能自如的驾驭技术,将一项项技术当作组件一样组合,产生影响世界的东西。在这里,最重要的并不是“拳头技术”,而是已经存在的技术的组合和发挥。 目前最知名的产品导向公司,就是前苹果。

从齐治科技辞职了

Jul 16, 2013 - 1 minute read - Comments

最近贝壳又一次的辞职了。 离职的原因还是很单纯的,主要是管理上跟不上老板思路。既然如此,那就不要勉强为之了。 我很感激现在的公司给我的帮助。毕竟在现在的公司,我的技术得到了长足的进步。同时,也给了我很多把想法变成现实的机会。 目前我的意向是七牛云存储。在此感谢他们给我的机会,希望能在他们那里玩到一些有趣的东西。 谢谢几位朋友给我的机会,我不愿意参与你们的项目并不是不看好你们。一方面,要同时做好下属和朋友是非常困难的。作为老板,不能因为私人的交情而偏颇公司的业务。按孔明的说法,就是“宜付有司论其刑赏”。而作为朋友,必然嘻嘻哈哈吐槽打屁。对着一个“不可因私废公”的人要放松下来,神经要不是一般的粗才行。 另一方面,目前贝壳还没有孩子,而创业是一个全力投入的事情。万一创业到一半变成超级奶爸,事情就比较被动,害人害己。所以我目前更偏好至少第一轮天使投资过之后的公司。有创业的氛围,紧张但是不紧迫。我更喜欢正常的生活。每天都有时间做点自己的事情,有点自己的小娱乐,研究点自己的小技术。可以想像的是,在孩子到一定年岁前,我都很难承担从头创业的巨大风险了。 最后,我也不认为自己有在创业团队中能够hold住大部分东西的能力(这并非出自我的妄自菲薄,而是基于实际评估的结果)。我希望在新的公司,至少做一些特定方面的事情,积累一定经验。 要下海弄潮,先要搞清楚自己的斤两。其中最重要的两条,就是自己是否能承受风险,和自己是否能撑起一片天。既然两者目前都还欠缺。所以,请原谅我难以回报你们的厚爱。

薪水高的人纳税少

Jul 5, 2013 - 1 minute read - Comments

我们不关注税前和税后的工资,让我们来关注老板的付出的和员工到手的差。 中国(至少上海)的税法规定,企业需要先缴纳44%的四金,再缴纳18%的个人四金,然后扣除所得税,才是员工到手部分。所得税是逐级递增的,所以很多非财务出身的老板会以为工资高的人扣除多。 实际上,在50k以下月薪的情况下,四金扣除比所得税更厉害。而四金扣除是有上下限度的,具体在去年平均工资的60%-300%之间。以2012年为例,当员工工资不足2815的时候,扣除是按照2815计算的,因此公司必须付出1143的企业四金——无论其工资多低。而当员工工资高于14076的时候,扣除不会增加,因此无论工资多高,公司只需要付6193的企业四金。 我们以500, 5000, 15000, 25000, 45000为例,分别计算到手比例。 500月薪,到手88,付出1643,比例5%。 5000月薪,到手4082,付出7200,比例56.7%。 15000月薪,到手11228,付出21193,比例53%。 25000月薪,到手18729,付出31193,比例60%。 45000月薪,到手33531,付出51193,比例65.5%。 是的,当员工工资正好在15000不到的时候,到手比例最低。在2800-5000之间的到手比会比较好。在工资更低的情况下,到手比例也会极度的变糟。而在15000往上,到手比情况又会变好,在20000附近和5000左右持平。

使用getmail备份imap邮件数据(例如gmail备份)

Jul 3, 2013 - 1 minute read - Comments

使用getmail备份imap(例如gmail)服务器上数据的方法。 原因 随着7.1的到来,诸位geek最重要的事情就是备份google reader的数据了。很多人都在讨论gmail还要不要用。 废话,当然要。这么好的服务,为什么不用? 只是随着google reader的事,在用gmail的时候也得留个心眼。平时数据勤备份,不要所有的内容都绑定到这个邮箱上,否则有得你哭的。 安装和配置 getmail是一个用于将远程数据取到本地的系统,和fetchmail是一类东西。废话不多说,先装getmail。 sudo aptitude install getmail4 之所以用getmail不用fetchmail,是因为fetchmail我搞不定。而且getmail比较容易备份到指定地点。要是输出能gzip掉就更好了。 建立~/.getmail目录,下面放一个文件,例如gmail [retriever] type = SimpleIMAPSSLRetriever server = imap.gmail.com username = [username] password = [password] mailboxes = ("[Gmail]/所有邮件",) [destination] type = Mboxrd path = ~/shell/gmail.mbox [options] read_all = false delivered_to = false received = false verbose = 2 message_log = ~/.getmail/gmail.log username填你自己的用户名,普通用户不需要@gmail.com,企业用户需要@你的域名。password填密码,两次认证的需要分配一个Application-specific passwords。mailboxes里面不要照网络上的填写[Gmail]/All Mail,那是英文环境用的。 ~/shell/gmail.mbox是目标文件,你需要先touch出来。~/.getmail/gmail.log是log,建议和配置文件同名。 执行 把下面的gmail替换为你的配置文件名,注意不需要写.getmail/的前缀。 getmail -r gmail 系统就会开始备份你的数据。像贝壳的gmail这种数据,量比较大,时间也会比较长。 问题 getmail是python写的,备份数据比较大的时候,内存消耗会很惊人。而且当处理巨量数目的文件时。在启动时会将目录全部下载到本地,然后计算一阵。这个耗时,网络消耗和CPU都比较大。要有点耐性。

解决问题的艺术

Jul 1, 2013 - 1 minute read - Comments

网上有篇经常用的文档,叫做提问的艺术。我这里狗尾续貂一番,恶搞一篇解决问题的艺术。大家看看就好,不要认真。 谁说出问题的?提示是什么?他为什么是个错误? 有太多人,和风车打了半天,才发现他不是巨人。。。 提示在google上有搜到么? 太多和没有都是错。太多的话,说明提示是个万金油,很多情况都会出。你分不清文章中哪篇才是有用的。没有的话——那就没什么好说了。 能够复现么?条件是什么?其他版本也有问题么? 能复现的看数据,不能复现的打log,连log都打不出的在脑子里面模拟代码。 系统的工作机理是什么?每一步进出的数据是什么?数据都对么? 问题越奇葩,原因越傻逼,往往如此。 因为通常情况都被你考虑掉了,所以往往问题出来时,你会抽自己两个耳刮子。 问题往往都出在调用者身上,而不是供应者身上。 因为用的人有责任保证用对,而写的人没这个责任。 RTFM

效率,慈善和歧视

Jun 25, 2013 - 1 minute read - Comments

这个话题的最初,是因为和同事讨论到就业中的禁止歧视条款而起的。我们当时讨论到,很多行业中明文或者潜规则的禁止招收女员工,是否合理?偏向不招收生理残缺的人呢? 市场自然抉择 这个问题的第一直觉和最基础原则,就是市场自然选择机制。自然机制而言,市场会自然选择合适的人,以保持最大的竞争力。企业不愿意招收女员工,或者生理残缺的人,自然是有其理由的。 女员工这个问题,我想让不止一个企业吃过亏了,尤其是略微大一点,还讲那么点规矩的企业。在经济危及来临的时候,女性员工害怕裁员,所以抢先怀孕。按照国家规定,你非但不能裁她,还得保证她的生理和心理健康。一个企业就那么点人,你非但不能裁那个干的不好又没有劳动力的,相反还得裁掉一个正常员工来保证她的岗位。我想是个老板都不说有多呕了。 至于生理残疾,也是很麻烦的。软件这个行业的门槛还比较低一些。普通的办公室文员,你是打算招个看不见的呢?还是听不见的? 所以,老板喜欢高学历的,你不能说这是歧视没有学历吧。那老板喜欢男性(汗。。。),为什么就一定是性别歧视呢? 适任原则 自然,上述言论听起来很刺耳,很冷冰冰。为了保证竞争,难道孕妇,女性,残疾人必然要成为牺牲品么? 其实孕妇和生理残缺,并不一定和生产效率有关。例如生理残缺,我最近就碰到了一回。有个朋友来投简历,自称是听力残疾,有残疾人证明的。我问他是否能够正常进行日常对话。他回答说,在听力辅助设备的支持下没问题。我说,那么就和普通人没有区别。我接受的了方言,接受的了客户,我想我就能接受你。 以前说过的乙肝也是一例。只要员工都做过乙肝接种,我觉得也没道理不接受乙肝患者,尤其是小三阳患者。至于大三阳,还有某些对生理卫生要求比较严格的岗位,例如食品卫生,那就是另一回事了。 同样,我也不介意性别,学历,种族,国籍。我在意的事情只有,你是否能完成工作,你的成本有多少。大家知道某些民族和国籍的员工招进来特别麻烦,这非我力所能及,我就不展开阐述了。 当然,作为软件公司,限制很小。有些地方就不行了。男性澡堂里给人搓澡的,招一女的算怎么回事,是吧? 没有理由的歧视 所以,我反对任何没有理由的歧视。例如女性不适合做计算机?这是什么道理?有多少程序员因为这种莫名其妙的歧视,被迫走上了断背山之路。 同样,要求司机必须是男性的,我觉得这个才是不合理要求。从生理上说,男性司机久坐对健康不利。如果说大货司机,经常要参与装卸货物,一路上风吹日晒,路段还可能不太平。要求必须是男性还有点道理。那普通商务车辆司机必须是男性的理由我实在是想不到了,你不觉得一个美女给你开车比男的更加赏心悦目么? 当然,不同的人对歧视的判断是不同的。我个人并不认为女性不适合做计算机,但是很多老板这么认为。我个人认为女性可以做司机,但是很多老板不这么认为。但是没关系,只要歧视原因和劳动力之间确实是无关的,我相信总有老板会赏识你的。 禁止歧视限制 当然,为了一些我们都想的到的理由,政府也会立法禁止一些有理由的歧视。例如刚刚的不得歧视女性员工和保护怀孕就是一例。如果企业都因为适任而不愿意让员工怀孕,那么谁还去怀孕生子呢?国家将来的人口(尤其是主流族群人口)肯定会锐减,这和国家的利益相违背。 当然,为了做到这点,毫无疑问的,就违背了市场机制。立法保护孕妇权益,就迫使企业歧视女性(尤其是未生育女性,幸好在中国还有计划生育这种东西)。立法不得歧视女性,那又容易和适任原则打架。到最后,还是市场机制和扶助孕妇打架。 类似的打架还出现在欧洲的另一个领域——雇佣。据欧洲的一些朋友说,欧洲的法律相当重视保护雇员权利,重视到了简直歧视雇主的地步。有个欧洲的愤青就写过一篇长文,为什么我让你喝西北风。大意是,如果我多雇两个人,我得保证他们一直有事情做,雇主没事做导致的雇员空闲还是要付薪水。而且还要缴纳高昂的社会保证金,又不能随便裁员。成本核算下来,现阶段每增加一个雇员,利润居然是递减的。多雇两个人,还不如老板解散了公司吃低保呢。 当然,那文章里的数据什么的都不能当真算的,一认真就满地窟窿(哪篇具体研究文章都是这个样子,光一个物价水平核算就够吵半天了)。但是本质问题却说的没错。如果国家不保护雇员,要国家何用?毕竟大部分人都是雇员而非老板。如果国家保护雇员,把老板搞跑了。那国家的经济增长哪里来?税收哪里来? 党员算不算歧视 原文请看这里。我只说一句简单的。人以类聚,物以群分。想想这哥们曾经想(可能现在还是想)加入一群什么人做什么事。再想想他现在想加入你们。。。

用户友好的密码

Jun 13, 2013 - 1 minute read - Comments

用户友好的密码 何谓用户友好的密码?我是指在密码中尽量不给自己找麻烦,又能正常使用。 不包含空白字符。否则你会烦恼有哪个空白字符,有几个的问题。 不包含特殊字符。否则会烦恼怎么输入。 不使用容易混淆的字母。不容易输入错误。 方便手机输入。 尽量少包含大写字母。 只包含容易在手机上输入的符号,或者不输入。 手机上容易输入的符号 在android上,以下符号可以在google输入法中直接输入。 @*+-=/#()'":?!~ 总计15个。估计加上iphone后会更少。如果要用符号,建议从这些里面取,会减少你很多密码输入的烦恼。 容易混淆的字母 Il1 0O 连续的mn 连续的wv 强度规范 我把密码管理规范里面的结论总结一下,略去推导,凑凑数,把密码级别排列成以下几个: 弱密码:不希望别人看到,然而别人看到并没有直接损失的内容。熵应当在20bit以上,五年修改一次。 中密码:不希望别人看到,别人看到会对你产生损失的内容。熵应当在33bit以上,两年修改一次。 强密码:有价内容。熵应当在45bit以上,一年修改一次。同时作为弱本地密码规范, 本地密码:熵应当在58bit以上。 每个级别之间大约差12bit的熵。初始熵强度至少20bit,低于这个水平就很难说这是一个密码了。 强度估计 以最容易使用的密码计算,符号应当最多包含26个字母+10个数字,排除l10这3个。每一位有33种可能,熵大约是5多一点。 弱密码:至少4位。 中密码:至少7位。 强密码:至少9位。 本地密码:至少12位。 更强一些的密码可以用52个大小写字幕+10个数字,排除Il10O这5个。每一位有57种可能,熵大约是5.8。 弱密码:至少4位。 中密码:至少6位。 强密码:至少8位。 本地密码:至少10位。 建议 网络: 弱密码:4位小写字母+数字,5年修改一次。 中密码:7位小写字母+数字,2年修改一次。用于保护大部分内容。 强密码:8位大小写字母+数字,1年修改一次。保护重要内容。 本地: 低:8位大小写字母+数字。 高:10位大小写字母+数字。 注意避开Il1O0,以及其他可能的混淆方式。

nagios配置

Jun 8, 2013 - 1 minute read - Comments

nagios的结构 nagios的结构其实很简单,一个监视系统,一个web展现系统,一个remote服务器,没了。 监视系统是根本,在debian中,需要安装的包是nagios3。在安装这个包之后,会启动一个监视进程,负责检查所有的服务是否OK。不OK就触发事件。 检查的时候,nagios会去调一些“插件”。这些插件其实都在/etc/nagios-plugins/config下面注册过的。每个插件配置都是name!v1!v2…的格式。在注册里面,可以看到这个command_name,对应一个command_line。你很容易看到这就将一个定义转换为了一个命令行。 直接执行这个命令行,你可以看到一个标准输出。nagios就是解析这个标准输出,得到值是否在一个合法的范围内的。所以从原理上说,你可以自己写插件,对任何事情做nagios的监控。 对于某些远程可以获得的信息,目标设备上可以什么都不动,例如ping连通性,或者是端口连通性等。而对于其他信息,例如磁盘空间剩余值,靠远程可能没法获得,就需要在目标设备上装nrpe,Nagios Remote Plugin Executor Server。在debian中,就是nagios-nrpe-server这个包。如果获得本地信息,不需要这个包。 最后,cgi会将本地的信息暴露给web查询,这就构成了完整的nagios体系。在debian中,这是nagios3-cgi这个包。 nagios页面在nginx上的配置 这个过程比较繁琐,因为apache会自动配置,而nginx没有宿主进程,也没有cgi。因此实际上需要运行两个宿主进程。 首先,你需要安装php-fpm宿主进程,这个是nginx搭配php执行的最佳宿主。在nagios中有用到php,所以你需要php执行能力。 其次,安装fcgiwrap这个包。这是cgi执行宿主,以fastcgi协议暴露。这里需要注意。如果你的nginx和nagios的宿主不在同一个设备上(例如像贝壳这样执行了虚拟化的),那么实际上只要在nagios的宿主上执行fcgiwrap即可。php-fpm和nginx可以执行在其他不同设备上,没有关系。只是前者必须有nagios的cgi代码,后两者必须有nagios的网页和php代码。而这三者又都在nagios3-cgi包里面。因此几台机器都需要安装nagios3-cgi包。 最后,配置nginx。 location /nagios3 { index index.html index.htm index.php; } location /nagios3/stylesheets { root /etc; } 第一个映射是nagios的基础目录,在根目录中,我其实配置了nagios3 -> /usr/share/nagios3/htdocs/(debian中的链接位置)。第二个映射是样式表配置,我用系统缺省的。 location ~ ^/nagios3/.*.php$ { include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; } 这个是nagios的php解析代码。我的php-fpm执行在同一台机器上,因此直接如此配置即可。 location /cgi-bin/nagios3 { root /usr/lib; include fastcgi_params; fastcgi_param REMOTE_USER $remote_user; fastcgi_pass dev:port; } 最后是cgi暴露的配置。由于我的nagios宿主并不在web服务器上,因此fastcgi是个远程地址。而且注意REMOTE_USER,传递这个才能让远程认到你的用户basic auth。由于nagios的cgi通过这个工作,因此没有这个会直接导致对方始终认为你是无权限用户。 nagios的简单配置 我们首先认清一点,nagios并不负责管理机器的维护。他的设计目标是“可用性”。因此目标是否可达,服务是否可用,是nagios的关心重点。至于磁盘,负载,只是顺便监控而已。所以你可以看到,nagios并没有直接的插件来监控CPU或者内存。他只有snmp插件可以查询到这些数据。 所以,我们开心一点。最低限度,我们将所有需要监控的设备和服务端口加入列表。当这些设备不可达时,nagios会发出告警(有邮件)。而如果运气好,我们是可以监控到这台机器是否有apt包需要升级,磁盘空间是否够的。作为建议,其实你只需要监控load和磁盘空间利用率就够了。其余的东西一般不大需要。当内存或者CPU发生问题的时候,你的query其实也拿不到返回。相对的,目标端口很快失去响应进而引发告警才是我们的预期。 OK,在这个基础之上,让我们看看有什么可以配置的。 服务器添加 首先,你可以定义一些机器。localhost_nagios2.cfg里面有例子,大致是这个样子。 define host{ use generic-host ; Name

外行逼死内行

Jun 6, 2013 - 1 minute read - Comments

昨天和一个朋友讨论点医学问题,他说,现在医生最怕的就是你这种病人。依从度最差,而且还容易闹出纠纷来。我说哪儿的话啊,我要质疑医生,除非是另一个医生对同一病例做出了不同判断。我自己的话最多问问。毕竟有点医学常识,知道自己的斤两。要糊弄外行还行,和专业医生比是没得比的。他说每天病人那么多,鬼才有空给你慢慢解释呢。 回去想想,外行逼死内行的事情其实不限于医生。做程序员也是如此。现在弄QQ,用wps和office,我已经弄不过老婆了。电脑杀毒也很久没做了,幸好她一直用360。流氓是流氓了点,反正弄不到我头上就行。有的时候她感慨,真不知道你是不是做程序员的,要用的时候什么忙都帮不上。幸好,关于最后这点,在她写论文的时候,我花半个小时帮她写了一套数据和模拟计算程序,证明了自己的清白。 有的时候,一个朋友知道我在做程序员,于是打电话过来,咨询一些问题或者请我帮忙做点事情。当然,他们本身可能出于好意,同时也可以解决他们自己的问题。但是往往这些问题就让我哭笑不得。QQ被盗了怎么寻回啊。有人给他们发消息说网银被盗请赶紧往安全账号里汇款啊。做一个网站要多少时间多少钱啊。别人帮我们做了网站现在这人跑了怎么办啊。我这里有很多数据打算做大数据分析啊。诸如此类。 当然,里面有很多问题其实也是比较靠谱的。网银被盗那个,其实当事人也知道多半假的。但是不找个专家问问就是不安心。可是您不能直接问银行么? 问QQ被盗就不是很靠谱了。QQ被盗肯定是找腾讯啊,我长的很像企鹅还是怎么着?还有什么台式机坏掉的,支付宝可以登录但不能付钱的。谁给你提供服务你找谁,我不是他们的客服。你的问题就算到我这里,我还得找他们的客服。目前为止,网站什么的有问题,找我找对了的,就那么一例。因为那个问题是找不到网站客服。剩下统统是回掉问题,或者回不掉就帮他们打对方客服。 至于做网站的,倒是还对路。虽然我不完全是做网站的,不过网站至少还会做。不过你至少和我说一下,这个网站大概什么目标,要做多少规模。我大概给你估一下要多少人,大概多久,会花多少钱,什么一个章程。你光冲上来和我说,要做个网站,把上家的货卖给下家,大概要多少?我哪里知道啊。更神奇的是,居然还有人能根据他这样子的描述写成了,而且那人应该还是个新手。我大概看了一下,处理和钱有关的问题居然用的是myIASM。想想还是别说了,人家本来就对我不是很满意。罗嗦个一堆,事情还没给办成。 至于大数据分析就更搞笑了。一个学校的后辈跑过来说,我这里数据挺多,打算做大数据分析。我说多少。1000多W条呢。数据大小呢。好几十个G呢。我算了算预计计算时间,16小时。行了,您有空跑我这里讲需求,回去把电脑开着,一天就出来了。 偏偏就这个样子,还是有人当我专家,然后跑过来问各种各样问题。其实了解的越多,心里越有数。自己算哪门子的专家呢?反正首先肯定不是修电脑专家——偏偏还是修电脑的问题最多。其次,要说低成本程序开发,自己也算不上——我写程序的成本可不低。对大多数人来说,我唯一能做的是在特定领域里面帮你解决新手解决不了的问题——这里面大多数问题是外行无法理解,甚至都没听说过的。所以这注定了你找我唯一正确的理由是让我帮你介绍个合适的圈内人。 即便如此,在面对新手的时候,往往也底气不是很足。某朋友曾经show过一行代码,说是公司里设计师教的。我看了,确实也不知道可以这么写。有的时候新手兴冲冲的上来问个问题,顿时我就茫然了。或者皱皱眉头,好大的一坨东西。然后新手不管三七二十一就写。后面多半没了声音。但是也经常有就写成了的。看看实现,问题一大堆。但是能工作,确实能工作。透过时光,仿佛看到10多年前的自己写的代码。罗嗦,冗长,但是却实实在在的在工作,让我兴奋不已,并且把我带进了电脑的世界。 也许这堆新人里,有人可以也坚持个10年,并且成为其他人眼里的专家。然后苦恼于后浪追前浪的问题上吧。

语音能力对比

May 31, 2013 - 1 minute read - Comments

对比了一下google voice和科大讯飞的识别能力。google voice手里没货,用的是youtube上的第三方测试视频。例子也是抄的。 +----------+-------------+----------+ | |google voice |讯飞 | +----------+-------------+----------+ |提醒 |Y |Y | +----------+-------------+----------+ |定时 |Y |N | +----------+-------------+----------+ |播放歌曲 |Y |Y | +----------+-------------+----------+ |关闭无线 |Y |N | +----------+-------------+----------+ |天气 |Y |Y | +----------+-------------+----------+ |静音模式 |Y |N | +----------+-------------+----------+ |搜索地图 |Y |Y | +----------+-------------+----------+ |搜索路径 |Y |Y | +----------+-------------+----------+ |搜索商家 |Y |弱 | +----------+-------------+----------+ |时间搜索 |Y |弱 | +----------+-------------+----------+ |时区查询 |Y |N | +----------+-------------+----------+ |节日查询 |Y |Y | +----------+-------------+----------+